2
我正在嘗試開發具有後端和前端雙方的商業解決方案。我剛剛完成了由名稱空間分隔的後端,並意識到我需要爲每一側分隔不同的區域設置。那麼是否有解決方案,如何分別爲前端和後端設置區域設置?感謝建議前端,後端Rails i18n不同語言環境
我正在嘗試開發具有後端和前端雙方的商業解決方案。我剛剛完成了由名稱空間分隔的後端,並意識到我需要爲每一側分隔不同的區域設置。那麼是否有解決方案,如何分別爲前端和後端設置區域設置?感謝建議前端,後端Rails i18n不同語言環境
http://guides.rubyonrails.org/i18n.html#setting-and-passing-a-locale
區域設置既可以設置僞全局到
I18n.locale
(使用Thread.current
等,例如,Time.zone
),或者可以作爲一個選項#translate
和#localize
傳遞。如果沒有區域被傳遞,
I18n.locale
用於:
I18n.locale = :de
I18n.t :foo
I18n.l Time.now
明確地傳遞區域設置:
I18n.t :foo, locale: :de
I18n.l Time.now, locale: :de
的
I18n.locale
默認爲I18n.default_locale
缺省值爲:en
。默認區域可以這樣設置:I18n.default_locale = :de
因此,例如,從現實生活中的(區域的基礎上,接受語言HTTP標頭(https://github.com/iain/http_accept_language)):
class ApplicationController < ActionController::Base
#...
before_filter :set_locale
def set_locale
I18n.locale = http_accept_language.compatible_language_from(I18n.available_locales)
end
end
我不知道如果u理解我的權利。我的問題是我在管理模塊中設置了語言環境,然後我在前端模塊中工作,並且會有無效語言環境的消息,因爲我在前端和後端具有不同的語言環境。我在應用程序控制器中設置了前端的區域設置,並在admin :: application控制器中設置了後端。 – Onda 2015-04-02 21:46:35
文檔指出,您可以在每個請求範圍('I18n.locale')或每個方法調用('I18n.t:foo,區域設置::')的任何位置設置區域設置。您已在不同的控制器中設置不同的區域設置。任何問題? :)我只想說,如果你設置了不正確的語言環境並且看到錯誤 - 那麼你的問題不是你看到錯誤,而是你設置了不正確的語言環境。 –
AlkH
2015-04-03 13:26:57