我在Heroku上部署了我的应用程序,用Ruby on Rails编写。我已经进行了以下配置来读取locales目录,位于config / application.rb:
# 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的语言环境才有效。
在我的开发环境中,所有文件都在运行。
有什么不对?
答案 0 :(得分: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]