在 Rails 应用中,动态添加/覆盖对 i18n yaml 的措辞可以通过以下方法实现:
config/locales
目录下创建一个新的 YAML 文件,例如 dynamic.en.yml
,并添加需要动态添加/覆盖的翻译内容。en:
dynamic:
key1: "Dynamic translation 1"
key2: "Dynamic translation 2"
config/application.rb
文件中添加新创建的 YAML 文件到 config.i18n.load_path
数组中。config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]
I18n.t
方法获取翻译内容。I18n.t('dynamic.key1')
config/initializers/i18n.rb
文件中添加以下代码:I18n.backend.store_translations(:en, {
existing: {
key1: "Overridden translation 1",
key2: "Overridden translation 2"
}
})
这样就可以动态添加/覆盖对 i18n yaml 的措辞了。
领取专属 10元无门槛券
手把手带您无忧上云