2017-03-08 51 views
1

我試圖在用戶訪問應用程序的「.de」版本時顯示德語,並試圖在推送到產品之前在測試中對其進行測試。有沒有簡單的方法來做到這一點,而不需要第二個版本(或第n)的登臺服務器?我不希望爲了測試應用程序的每種語言而分階段安裝服務器。Rails - 在測試中測試國際化

回答

0

在您的應用程序中,您正在檢查.de或其他什麼,您可以另外檢查查詢字符串參數。我認爲lang經常使用。這將允許您測試它,而不需要購買更多的域或服務器。

這裏就是我的意思是:

請求:https://your-staging-server.com/some-page?lang=de

before_action :set_locale 

def set_locale 
    #domain logic here.. 
    if params[:lang] 
    I18n.locale = params[:lang] 
    end 
end 

選擇保存到會話,使用戶不必在每次請求指定lang(所以你不要更改應用程序通過這個局面):

def set_locale 
    I18n.locale = params[:lang] || session[:locale] || I18n.default_locale 
    session[:locale] = I18n.locale 
end 

我認爲這是這樣做的最常見的方式。我知道的大多數人對於他們的應用程序的每個語言版本沒有不同的域。