如何使用 i18n 定义特定于业务的口语?
How can I define a business specific spoken language with i18n?
我在 Rails 5 应用程序上开发了一个 Ruby,我在其中使用 I18n gem 进行视图翻译。视图中使用的术语非常通用,应该适用于所有企业。
但是对于一个特定的客户,业务需要非常具体的条款。我无法将这些术语作为通用翻译。我可以想象 2 种方法来支持这个:
- 创建特定的 en-customer 语言以与 i18n
一起使用
- 创建一个特定的 .yml 作为 en.yml 的子部分并通过
配置
我怎样才能做到这些?
感谢您的帮助!
对于您创建客户特定区域设置代码的第一个示例,这应该是完全可行的。
如果您配置 I18n 以注册此自定义区域设置,并将该区域设置的回退配置为基本语言:
Rails.application.configure do
config.i18n.available_locales = %i[en es fr en-customer]
config.i18n.default_locale = :en
config.i18n.backend.class.send(:include, I18n::Backend::Fallbacks)
config.i18n.fallbacks.map('en-customer' => 'en')
end
这应该让您为该公司的用户设置首选项以使用自定义区域设置,并且您可以创建一个 yaml
文件来仅覆盖您需要的键。
您也可以在没有后备的情况下执行此操作,但是您必须复制整个语言,然后应用您的更改,随着应用中文本的更改,这可能更难管理,并且如果你错过了一把钥匙。
我在 Rails 5 应用程序上开发了一个 Ruby,我在其中使用 I18n gem 进行视图翻译。视图中使用的术语非常通用,应该适用于所有企业。
但是对于一个特定的客户,业务需要非常具体的条款。我无法将这些术语作为通用翻译。我可以想象 2 种方法来支持这个:
- 创建特定的 en-customer 语言以与 i18n 一起使用
- 创建一个特定的 .yml 作为 en.yml 的子部分并通过 配置
我怎样才能做到这些?
感谢您的帮助!
对于您创建客户特定区域设置代码的第一个示例,这应该是完全可行的。
如果您配置 I18n 以注册此自定义区域设置,并将该区域设置的回退配置为基本语言:
Rails.application.configure do
config.i18n.available_locales = %i[en es fr en-customer]
config.i18n.default_locale = :en
config.i18n.backend.class.send(:include, I18n::Backend::Fallbacks)
config.i18n.fallbacks.map('en-customer' => 'en')
end
这应该让您为该公司的用户设置首选项以使用自定义区域设置,并且您可以创建一个 yaml
文件来仅覆盖您需要的键。
您也可以在没有后备的情况下执行此操作,但是您必须复制整个语言,然后应用您的更改,随着应用中文本的更改,这可能更难管理,并且如果你错过了一把钥匙。