Rails 3,设置i18n语言环境不起作用

Seb*_*ien 9 translation ruby-on-rails ruby-on-rails-3

我正在尝试翻译我的申请.我把它放在config/application.rb中:

config.i18n.default_locale = :fr
Run Code Online (Sandbox Code Playgroud)

我创建了active_admin.fr.yml文件:

fr:
  active_admin:
    dashboard: "Tableau de Bord"
    dashboard_welcome:
    welcome: "Bienvenue dans Active Admin. Ceci est la page par défaut."
    call_to_action: "Pour ajouter des sections au tableau de bord, consultez 'app/admin/dashboards.rb'"
    ....
Run Code Online (Sandbox Code Playgroud)

如果我将"fr:"更改为":en"它正在工作.

知道我做错了什么吗?(我重新启动了apache)

谢谢你的帮助.

编辑:

解决方案是使用:

I18n.default_locale = :fr
Run Code Online (Sandbox Code Playgroud)

并不是

config.i18n.default_locale = :fr
Run Code Online (Sandbox Code Playgroud)

jip*_*ily 11

你有没有注释这一行:

config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s] # default one has "my" instead of "config", which is wrong
Run Code Online (Sandbox Code Playgroud)

我更喜欢使用这一行,所以它也递归地包含子文件夹中的文件:

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

Bonne的机会!


Seb*_*ien 5

我的回答是使用

config.i18n.default_locale = :fr 
Run Code Online (Sandbox Code Playgroud)

代替

I18n.default_locale = :fr 
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.


yor*_*rch 5

@Sebastien的回答对我有用,但也有:

config.i18n.locale = :es
Run Code Online (Sandbox Code Playgroud)

我有另一个与此非常类似的应用程序,default_locale设置在那里工作.还没有时间深入研究真正的问题.

UPDATE

发现问题:https://github.com/gregbell/active_admin/issues/434

长时间的讨论仍然没有完全解决(2012年9月),一个解决方法:

config.i18n.default_locale = :es
I18n.locale = config.i18n.locale = config.i18n.default_locale
Run Code Online (Sandbox Code Playgroud)