2011-08-22 6 views
0

응용 프로그램의 각 사용자는 날짜 및 시간 형식이 다를 수 있습니다. 나는 날짜 형식이 사용자의 언어와 아마도 시간대에 달려 있다는 것을 알고 있습니다.사용자 프로필 설정에 따라 날짜 형식 지정

내가 ApplicationController에서 Date::DATE_FORMATS[:default] = "%m/%d/%Y"과 같은 것을 실행하려고 할 수 있다고 생각합니다. 이 경우 Date.today.to_s는 날짜 형식의 속성을 반환합니다. 스레드로부터 안전할까요?

내가보고하고 또 다른 옵션은 사용자의 프로필에 다른 en_US, en_GB, en_... 같은 키와 저장 로케일 이름으로 config/locales/en.yml에 프로파일을 저장하는 것입니다. 이 경우 I18n.localize를 사용하여 날짜의 서식을 지정해야합니다. 특정 en_US에 키가 없으면 en으로 폴백 할 수 있습니까?

답변

1

Date::DATE_FORMATS 또는 TIME::DATE_FORMATS의 경우 불행히도 사용상의 안전을 위해주의를 기울여야합니다. 그러나 그렇게하기가 어렵지 않아야합니다.

두 번째 질문에 대해서는 로케일 대체물에 관심이 있다고 생각합니다. i18n gem has support for locale fallbacks. 이 기능은 다음에서 쉽게 사용할 수 있습니다.

I18n::Backend::Simple.include(I18n::Backend::Fallbacks) 
관련 문제