【问题标题】:What's the proper way to handle geographic locales in Ruby on Rails?在 Ruby on Rails 中处理地理区域设置的正确方法是什么?
【发布时间】:2012-03-25 10:18:00
【问题描述】:

我很惊讶地看到 Ruby on Rails 的 i18n 不能正确支持 en-GB、en-US、en-AU 等语言环境。环顾四周,任务似乎留给了第三方库和代码。我四处搜寻,找到了rails-i18n-translation-inheritance-helper,但它似乎并不活跃。没有人将他们的 Rails 应用程序本地化,还是我缺少其他解决方案?

【问题讨论】:

    标签: ruby-on-rails localization internationalization


    【解决方案1】:

    您可以使用类似的方式将当前语言环境设置为您想要的任何内容

    I18n.locale = 'en_US'
    

    为避免在类似的语言环境中重复大部分内容,您可以在 i18n 初始化程序中设置适当的后备,如下所示:

    config.i18n.default_locale = 'en'
    config.i18n.fallbacks = {
      'en_US' => 'en',
      'en_GB' => 'en',
      'de_DE' => 'de',
      'de'    => 'en'
    }
    

    现在您只需要创建所有不同的本地化文件,幸运的是,所有内容都是默认 i18n gem 的一部分。

    【讨论】:

    • 啊...我不知道 config.i18n.fallbacks。我试试看。
    • 注意:(1) 一段时间以来,Rails 中的区域回退是自动的(“en-US”到“en”)。 (2) 它应该是带有破折号的“en-US”而不是带有下划线的“en_US”(参见:stackoverflow.com/questions/4904803/…
    猜你喜欢
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 2019-11-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    • 2011-05-06
    • 2015-02-11
    相关资源
    最近更新 更多