2

我正在嘗試開發具有後端和前端雙方的商業解決方案。我剛剛完成了由名稱空間分隔的後端,並意識到我需要爲每一側分隔不同的區域設置。那麼是否有解決方案,如何分別爲前端和後端設置區域設置?感謝建議前端,後端Rails i18n不同語言環境

回答

1

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 
+0

我不知道如果u理解我的權利。我的問題是我在管理模塊中設置了語言環境,然後我在前端模塊中工作,並且會有無效語言環境的消息,因爲我在前端和後端具有不同的語言環境。我在應用程序控制器中設置了前端的區域設置,並在admin :: application控制器中設置了後端。 – Onda 2015-04-02 21:46:35

+0

文檔指出,您可以在每個請求範圍('I18n.locale')或每個方法調用('I18n.t:foo,區域設置:: ')的任何位置設置區域設置。您已在不同的控制器中設置不同的區域設置。任何問題? :)我只想說,如果你設置了不正確的語言環境並且看到錯誤 - 那麼你的問題不是你看到錯誤,而是你設置了不正確的語言環境。 – AlkH 2015-04-03 13:26:57

相關問題