I18n按照預期在本地運行,但不在heroku上運行。即使瀏覽器設置爲pt-BR,它也總是顯示英文。我們設定的區域設置在之前過濾:Rails I18n在Heroku上無法正常工作
class ApplicationController < ActionController::Base
before_filter :set_locale
private
def set_locale
I18n.set_preferred_locale(env.http_accept_language)
end
end
module I18n
class << self
def set_preferred_locale(http_accept_language)
locale = http_accept_language.preferred_language_from(I18n.available_locales)
if locale.present?
I18n.locale = locale
I18n.default_locale = locale #added based on some stackflow answer about heroku and I18n
end
end
end
end
我已經通過I18n.locale有意見,但翻譯的英語仍然傳來的正確值(PT-BR)的記錄證實。
我也嘗試作爲測試只需直接設置爲「PT-BR」,仍然可以得到相同的結果:
class ApplicationController < ActionController::Base
before_filter :set_locale
private
def set_locale
I18n.locale = 'pt-BR'
end
end
我用國際化與在Heroku上的成功,但我不根據用戶瀏覽器設置設置區域設置,就像我得到你想要的感覺一樣。你能編輯你的問題來分享你用來設置語言環境的代碼嗎? – 2013-02-12 01:35:11
您是否在初始化程序或其他地方設置了'I18n.available_locales = [:en,:'pt-BR「]? – 2013-02-12 22:38:02