2011-07-31 3 views
1

번역본을 다음과 같이 대체하고 싶습니다. 기본 로케일은 : de입니다. 어떻게하면이 최고를 달성 할 수 있을까요? 은 내가 '설정/application.rb'레일 3 i18n 설정된 로케일이 작동하지 않습니다.

config.i18n.default_locale = :en 
config.i18n.locale = :de 

에 시도했지만 I18n.locale는 여전히이 후 엉. 아이디어가 있습니까?

답변

1

환경에 로케일을 설정할 수 없습니다.

환경 구성 파일에 default_locale을 넣어야하고 응용 프로그램 자체에서 로케일을 설정해야합니다. 당신이 다음 행, 행 트리거 후에

I18n.locale = :de

같은 로케일 설정 한 경우 application_controller.rb

before_filter: set_locale 

private 

    def set_locale 
    I18n.locale = params[:locale] if params[:locale] 
    end 
+0

왜 이런 일이 발생합니까 ?? 대답은 유효하지만 문서에서는 'config/application.rb'에서 해당 행을 변경하면 로켈이 변경되어야한다고 말합니다. – acrespo

+1

모든 페이지에 로케일을 설정해야합니까? 위의 코드를 응용 프로그램 컨트롤러에 넣었다고 가정합니까? –

3

예를 들어

, 모든 방문자는 de 로케일을 사용하는 것이 아니라 기본 로케일 en. 로케일을 설정합니다 application_controller로부터 상속

모든 컨트롤러 :

그래서 더 좋은 방법은 application_controller.rb에서 조나단 클락

before_filter: set_locale 

private 


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

답글

입니다.

관련 문제