2

我目前正在对一个 Rails 应用程序进行国际化,并将我的所有翻译都放在 config/locales/ 中。我在 config/application.yml 中有我的常规环境配置设置,例如 API 密钥。我不知道在哪里放置特定于语言环境的配置设置?像默认位置等?

我可以有一个为每种语言嵌套不同部分的配置文件,然后只加载与我当前语言环境相关的部分吗?

就像是

###/config/config.yml    

de:
  DEFAULT_LOCATION:
    location: Berlin
    country: Germany
    country_code: de
  HOST: http://www.germanwebsite.de
pt: 
  DEFAULT_LOCATION:
    location: Lisbon
    country: Portgual
    country_code: pt
  HOST: http://www.portuguesewebsite.pt

然后像

#config/environment.rb or somewhere else? 
APP_CONFIG = YAML.load_file("#{RAILS_ROOT}/config/config.yml")['mylocale']

如何获得“mylocale”?

我感谢任何提示和最佳实践建议!

4

1 回答 1

1

我会将它们放在另一个目录中的单独文件中,并将目录添加到 i18n 加载路径。

例如

配置/localized_config/pt

config:
  default_location:
    location: Lisbon
    ...

然后你可以做I18n.t('config.default_location.location'),它应该根据当前的语言环境获取正确的翻译。

此处介绍了如何添加到 i18n 加载路径:

http://guides.rubyonrails.org/i18n.html#configure-the-i18n-module

通过这种方式,您可以重复使用内置功能,而无需将敏感或不相关的翻译放在主翻译文件中。

于 2014-03-26T13:06:05.457 回答