我目前正在国际化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"?
我感谢任何提示和最佳实践建议!
答案 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
通过这种方式,您可以重复使用内置功能,而无需将敏感或非相关翻译放入主翻译文件中。