From: Ambrose Li <ac...@ad...> - 2006-02-07 18:23:55
|
Hi, On Tue, Feb 07, 2006 at 06:39:05PM +0100, Bjoern Voigt wrote: > I found the following i18n strings in Gaim 2.0.0cvs: [...] > msgid "%B %Y" [...] > msgid "%x %X" [...] > I don't think so, because strftime() already uses locale settings. Fo= r > instance (from "man strftime"): No, these strings should stay translatable, for at least the following reasons: 1. libc will not correct the "%B %Y" ordering and will not insert missing characters. In all CJK locales, "%B %Y" should be translated as "%Y=A6~%m=A4=EB" (i.e., "%Y-year %m-month") (or at least as "%Y=A6~%B" which would not give an optimal result in zh-TW due to an inconsistency in most versions of libc's in Linux). (In Korean, Korean pronunciations of the words =A6~ and =A4=EB would appear in the string instead.) Note that even "%Y %B" would be wrong because you really need the word for "year" after the "%Y". 2. In most CJK locales, the "native" (libc-native is what I mean) translation of %x is often wrong. This is so commonplace that I am actually very worried that our date-writing conventions will be a next victim (after comma placement in large numbers) of the culture-changing effects of ubiquitous buggy software. I am sure some will say gaim is not the place to fix libc bugs. But this bug is too commonplace to be ignored. And the appearance of new, similar bugs in other software means that we can never guarantee bug-free translations in all versions of libc in the future. In short, "strftime already uses locale settings" makes the following faulty/questionable assumptions: - System's locale translations are always correct (often wrong in CJK locales) - Year always follows month (in CJK languages month follows year) - Time always follows date (valid in CJK, but I would tend to believe this to be questionable) Regards, --=20 Ambrose LI Cheuk-Wing <a....@ie...> http://ada.dhs.org/~acli/ |