2014-01-28 3 views
4

time 패키지에서 time.Time 변수를 포맷하면 unexported [] 문자열 조각에 정의 된대로 주와 월에 영어 이름이 사용됩니다.time.Format을 사용할 경우 현지화

다른 언어를 사용하여 문자열을 현지화하는 방법 (Format()을 계속 사용 하시길 바랍니다)?

예 :

fmt.Println(time.Now().Format("Mon 2 January 2006")) 

출력 :

화 2014년 1월 28일

원하는 출력 :

아시고 28 Januari 2014

Playground

답변

3

당신이 값이 소스에 하드 코딩하는 시간 패키지 sourcecode에서 볼 수 있듯이. 그래서 기본적으로 Go는 현재 i18n을 지원하지 않습니다. i18n은 Go 로드맵에 있으며 심지어는 faq에 언급되어 있지만 최근에는 해당 주제에 대한 의견이 없습니다.

// Change LocaleEnUS to the locale you want to use for translation 
    monday.Format(time.Now(), "Mon 2 January 2006", monday.LocaleEnUS) 
+1

나는 그 사건 두려웠 :

한편, 당신은 Monday 패키지를 사용을 시도 할 수 있습니다. 해결 방법 패키지를 알려 주셔서 감사합니다. 시간을 절약 해줍니다! – ANisus