如何使用 i18n 定义特定于业务的口语?

How can I define a business specific spoken language with i18n?

我在 Rails 5 应用程序上开发了一个 Ruby,我在其中使用 I18n gem 进行视图翻译。视图中使用的术语非常通用,应该适用于所有企业。

但是对于一个特定的客户,业务需要非常具体的条款。我无法将这些术语作为通用翻译。我可以想象 2 种方法来支持这个:

我怎样才能做到这些?

感谢您的帮助!

对于您创建客户特定区域设置代码的第一个示例,这应该是完全可行的。

如果您配置 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 文件来仅覆盖您需要的键。

您也可以在没有后备的情况下执行此操作,但是您必须复制整个语言,然后应用您的更改,随着应用中文本的更改,这可能更难管理,并且如果你错过了一把钥匙。