[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Gettext and UTF-8
Roger Leigh wrote:
> I created a C.po file, and this installed as schroot.mo under
> /usr/share/locale. This po file simply converts the UTF-8 chars to
> the nearest ASCII equivalent e.g. © -> (C). However, when running
> under the C or POSIX locales, bindtextdomain() never even checks for
> the existence of a message catalogue (checked with strace).
>
> Is this correct? If so, is this a gettext or libc bug?
gettext() does no conversion at all when running in the C or POSIX locale.
This is because the POSIX standard specifies the precise output of many
commands in the C locale, and no localization is allowed in this case.
You can get the desired behaviour by using an English locale (such as
en_US.US-ASCII - note: you have to create this locale first, using 'localedef').
You build the message catalog for this locale using the 'msgen' command.
It can contain UTF-8 in both the msgid and the msgstr; the gettext() library
function will take care of converting many common UTF-8 characters to ASCII
when the locale's encoding is ASCII.
Bruno
--
Linux-UTF8: i18n of Linux on all levels
Archive: http://mail.nl.linux.org/linux-utf8/