2011-12-13 74 views
6

我翻譯我的積極管理菜單:翻譯缺失activeadmin,Ruby on Rails的

# encoding: utf-8 
ActiveAdmin.register City do 
    menu :parent => "Données géographiques", :label => I18n.t(:cities) 
end 

在我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'" 
     cities: "Villes" 

在我的本地(Debian的6)一切工作正常,但在我生產前(Debian的6),這是writter:

translation missing: fr.cities 

我試圖重新啓動了Apache,清除緩存,重新加載的I18n ......我faile d。

有什麼想法?

回答

5

我找到了解決辦法,你必須寫上你的application.rb中:

config.before_configuration do 
    I18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s] 
    I18n.locale = :fr 
    I18n.default_locale = :fr 
    config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s] 
    config.i18n.locale = :fr 
    # bypasses rails bug with i18n in production\ 
    I18n.reload! 
    config.i18n.reload! 
end 

config.i18n.locale = :fr 
config.i18n.default_locale = :fr 

重新啓動Apache的,這很好!

+0

感謝添加此張貼您的解決方案,我只是碰到了同樣的問題! – brentvatne

+0

前三條線對我來說已經足夠了。 –

8

這爲我工作:

config.after_initialize do 
    I18n.reload! 
end 
2

我找到了解決辦法,在application.rb中

config.before_configuration do # FIX conflict I18n ActiveAdmin 
    I18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s] 
    I18n.locale = I18n.default_locale = config.i18n.default_locale 
    I18n.reload! 
end