매뉴얼 페이지에 따르면 유틸리티의 형식 지정자는 로케일별 날짜 형식을 사용해야 합니다 %x
. date
그러나 동일한 설치 로케일을 지정하고 두 개의 서로 다른 컴퓨터에서 시도하면 각 컴퓨터에서 다른 형식이 나타납니다.
머신 "A"에서:
$ locale -a | grep fr_FR
fr_FR
fr_FR.ISO8859-1
fr_FR.ISO8859-15
fr_FR.UTF-8
$ LC_ALL=fr_FR.UTF-8 date +%x
31.05.2012
머신 "B"에서:
$ locale -a | grep fr_FR
fr_FR.utf8
$ LC_ALL=fr_FR.UTF-8 date +%x
31/05/2012
나는 살펴보았다http://demo.icu-project.org/icu-bin/locexp?d_=en&_=fr_FR, "짧은 날짜" 부분은 기계 "B"가 바로 여기에 있는 것처럼 보입니다. 아니면 제가 뭔가를 오해하고 있는 걸까요? 실제로 로캘이 날짜 형식을 절대적으로 지정하지 않고 이러한 변형이 구현 전반에 걸쳐 발생합니까?
편집: 흠.. 받는 사람은 없습니다... 머신 "A"가 OS X Lion이고 머신 "B"가 Ubuntu 12.04라고 말하면 더 흥미로울 것입니다. 둘 다 올바른 국제화를 가질 것으로 합리적으로 예상할 수 있습니다/흥미롭습니까? 현지화 설정?
답변1
로케일은 구현에 따라 다릅니다. 대부분의 최신 유니스는 xx_YY
및 를 사용 xx_YY.charset
하지만 로케일 이름도 보장되지 않습니다 . 및 로케일 설정을 제외 C
하고는 다른 컴퓨터에서 동일한 결과를 얻을 것이라고 확신할 수 없습니다 POSIX
.
프랑스인으로서 나는 B가 옳고 A가 틀렸다고 말하고 싶습니다. 프랑스에서는 날짜를 점으로 구분하지 않습니다. (다른 프랑스어권 국가에서도 사용될 수 있습니다. 아마도 fr_CH
그럴 것입니다.)