rails i18n locale特定的配置设置?

时间:2014-03-26 12:57:39

标签: ruby-on-rails ruby internationalization rails-i18n i18n-gem

我目前正在国际化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"?

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

1 个答案:

答案 0 :(得分:1)

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

e.g。

配置/ 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

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