0

我在 Heroku 上部署了我的应用程序,它是用 Ruby on Rails 编写的。我在 config/application.rb 中进行了以下配置来读取 locales 目录:

# 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]
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]
config.i18n.default_locale = :pt

目录结构如下:

config
    locales
        defaults
            en.yml
            pt.yml
        models
            my_model
                en.yml
                py.yml
            my_model_2
                en.yml
                py.yml
            ...
        views
            my_view_1
                en.yml
                py.yml
            my_view_2
                en.yml
                py.yml
            ...

只有存储在 defaults/pt.yml 的语言环境有效。

在我的开发环境中,所有文件都在工作。

有什么问题?

4

1 回答 1

1

缺少的只是配置中的调用to_s

config.i18n.load_path += 
  Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]

应该:

config.i18n.load_path += 
  Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]
于 2013-02-14T01:53:52.937 回答