2011-12-13 30 views
6

tôi dịch trình đơn của tôi hoạt động quản trị:dịch thiếu activeadmin, Ruby on Rails

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

Trong active_admin.fr.yml tôi:

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" 

Trong địa phương của tôi (debian 6) tất cả mọi thứ hoạt động tốt, nhưng trên tiền sản xuất của tôi (debian 6), đó là người viết:

translation missing: fr.cities 

tôi cố gắng để khởi động lại apache, bộ nhớ cache rõ ràng, reload i18n ... tôi faile d.

Bất kỳ ý tưởng nào?

Trả lời

5

Tôi tìm thấy giải pháp, bạn phải viết rằng trên application.rb của bạn:

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 

Khởi động lại apache và đó là tốt!

+0

Cảm ơn đã gửi bài giải pháp của bạn, tôi chỉ chạy vào cùng một vấn đề! – brentvatne

+0

Ba dòng đầu tiên là đủ cho tôi. –

8

này đã làm việc cho tôi:

config.after_initialize do 
    I18n.reload! 
end 
2

Tôi tìm thấy giải pháp, thêm này trong 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