【问题标题】:rails i18n locale specific config settings?rails i18n 语言环境特定的配置设置?
【发布时间】:2014-03-26 12:57:39
【问题描述】:

我目前正在对一个 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”?

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

【问题讨论】:

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


    【解决方案1】:

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

    例如

    config/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

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

    【讨论】:

      猜你喜欢
      • 2015-08-05
      • 2012-01-18
      • 2012-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多