Open Bug 402357 Opened 15 years ago Updated 9 years ago

Long date format is bad for certain locales on Linux


(Calendar :: General, defect)

Not set


(Not tracked)


(Reporter: rimas, Unassigned)




(Keywords: l12y)

The long date format in Linux, which is currently hardcoded, is unsuitable for certain locales, lt (Lithuanian) being one of them.

For example, for lt, the long format should be "%Y m. %B %e d." instead of "%a %e %b %Y", as it is now.

This format should become localizable somehow, either by introducing an additional translatable string, or by using one of the strings predefined by strftime()...
This workaround is only used if your Linux system doesn't support long date:
thanks, ssitter, however, are you aware of any locales that supply a string for %Ex? 

Here's what I found in the POSIX specification [1], Chapter 7:

    Define the format of the date in alternative era notation, corresponding to the %Ex conversion specification.

From this description, it seems that %Ex is only supposed to be used in territories which use more than one calendar (or probably, just do not use Gregorian calendar).

Grepping through POSIX locale definition files on my Ubuntu system seems to back that idea up:
rq@sugar:/usr/share/i18n/locales $ grep -iR era_d_fmt .
./ar_SA:era_d_fmt       ""
./ja_JP:era_d_fmt       "<U0025><U0045><U0059><U0025><U006d><U6708><U0025><U0064><U65E5>"
./km_KH:%era_d_fmt       "%e<U0020>%b<U0020>%Ey"
./lo_LA:era_d_fmt       "%e<U0020>%b<U0020>%Ey"
./th_TH:era_d_fmt       "%e<U0020>%b<U0020>%Ey"

I was going to file a bug to add %Ex to lt_LT in Gnu's libc implementation, but now I'm not sure that bug would be valid.

You need to log in before you can comment on or make changes to this bug.