[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

locale choices: <null>, C, C.UTF-8, en_US.UTF-8 and availability



Hi,

This post is about Debian packaging.  (Not about user configuration)

As I understand for the locale value:

LANG = <null>, or C
 System can always be set to this way and the system acts 100% POSIX manner.
 No locale data generation is required.
 Non-ASCII characters may not be processed as UTF-8 encoded and
 they are corrupted.

LANG = C.UTF-8 (Not defined in anywhere easily found but available)
 System can always be set this way under Jessie(??) and system acts
 100% POSIX manner for ASCII characters while not corrupting UTF-8 
 character processing.
 No locale data generation seems to be required under Jessie.

LANG = en_US.UTF-8
 System can be set this way if only locale data for en_US is generated
 during installation by the user or locales-all is installed.

One of the package I maintain (ibus) has gettext data pairing
en_US.UTF-8 data with localized text.  Currently, user choice in
localized luggage is translated back to en_US.UTF-8 string and that
English text containing non-ASCII is used for further processing.

Naturally, the upstream code sets the locale to en_US.UTF-8 to get the
English text.  This is problematic if the user chose for initial locale
setup contain only en_GB.UTF-8 without en_US.UTF-8.

Jessie seems to have C.UTF-8 available as default, am I safe to use
C.UTF-8 as always available UTF-8 compatible English system?

I see several ways to fix packaging of ibus:

 * Patch the upstream source with s/en_US.UTF-8/C.UTF-8/g .
 * Add locales-all to package dependency is another solution.
 * (If locales package always set up en_US.UTF-8, I am off the hook.)

I guess some apps may be in the same situation.  How other DDs are
coping with apps which set its internal locale value temporarily to the
default en_US.UTF-8?

Regards,

Osamu


Reply to: