【问题标题】:Rails does not permit changing localeRails 不允许更改语言环境
【发布时间】:2014-09-01 12:03:34
【问题描述】:

我正在尝试更改我的 rails (4.1.4) 应用程序正在使用的语言环境,但每次我尝试使用诸如

之类的命令在控制台中更改它
I18n.locale = :es
I18n.default_locale = :de

出现 I18n::InvalidLocale 错误。我测试的每个语言环境都是这种情况,包括区域性语言环境,例如 :en-US。即使我为该语言环境设置了 *.yml 文件也是如此。唯一有效的是 :en,这是我的默认设置。

我觉得这应该是一些非常基本的东西,因为我发现的所有资源似乎都跳过了这个给定的,但它对我不起作用,我不知道在哪里寻找问题来源。

【问题讨论】:

    标签: ruby-on-rails localization internationalization rails-i18n rails-console


    【解决方案1】:

    确保您已将 es.yml 和 de.yml 添加到 config/locales 文件夹。

    【讨论】:

      【解决方案2】:

      谢谢!当我查看那个文件时,我意识到除了你给出的答案之外,Rails 还提供了它自己的解决方案,被注释掉了 -

      # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
      config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
      

      所以基本上它需要一个翻译文件,例如 pt-br.yml 并将其添加到有效语言环境列表中。

      【讨论】:

        【解决方案3】:

        您是否在 application.rb 中添加了新的语言环境?

        config.i18n.enforce_available_locales = false
        config.i18n.available_locales = [:en, :es, :de]
        config.i18n.default_locale = :de
        

        您还必须在您的config/locale 文件夹中创建文件en.ymles.ymlde.yml

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-06-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多