Rails:初始化器中的转换



我有几个翻译隐藏在一个初始化式中,如下所示:

GROUP_GOVERNANCE_STYLES = [
  [I18n.t("constants.group_governance_styles.collective"), 1],
  [I18n.t("constants.group_governance_styles.electoral_democracy"), 2],
  [I18n.t("constants.group_governance_styles.dictatorship"), 3]
]

在我的脑海里。我有:

en:
  constants:
    group_governance_styles:
      collective: "collective"
      electoral_democracy: "electoral democracy"
      dictatorship: "dictatorship"

不幸的是,当我尝试在视图中呈现这些翻译时,我得到以下错误:

translation missing: en.constants.group_governance_styles.collective
translation missing: en.constants.group_governance_styles.electoral_democracy
translation missing: en.constants.group_governance_styles.dictatorship

我也试过删除作用域,但翻译仍然出现缺失。还有别的办法吗?也许有我不知道的初始化器的默认作用域?

当然,翻译是在初始化器之后加载的。试着把它放到environment.rb

如果你想在其他初始化器文件中使用你的翻译文件,你可以添加一个I18n初始化器。

配置初始化/i18n.rb

# Load application custom translations in order to use them in other initializers
I18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s]

最新更新