use LC_MESSAGES instead of LC_CTYPE to determine defaultTextLocale
authorMichael Andres <ma@suse.de>
Wed, 23 Jan 2008 10:18:19 +0000 (10:18 +0000)
committerMichael Andres <ma@suse.de>
Wed, 23 Jan 2008 10:18:19 +0000 (10:18 +0000)
package/libzypp.changes
zypp/zypp_detail/ZYppImpl.cc

index cc33be0..8a69cc8 100644 (file)
@@ -1,4 +1,10 @@
 -------------------------------------------------------------------
+Wed Jan 23 11:16:50 CET 2008 - ma@suse.de
+
+- Consider LC_MESSAGES instead of LC_CTYPE to determine the default
+  text locale.
+
+-------------------------------------------------------------------
 Tue Dec 18 12:28:22 CET 2007 - aschnell@suse.de
 
 - fixed password handling in URLs (bug #347273)
index 1623a12..1a75033 100644 (file)
@@ -37,10 +37,27 @@ namespace zypp
   namespace zypp_detail
   { /////////////////////////////////////////////////////////////////
 
+    /** The locale to be used for texts and messages.
+     *
+     * For the encoding to be used the preference is
+     *
+     *    LC_ALL, LC_CTYPE, LANG
+     *
+     * For the language of the messages to be used, the preference is
+     *
+     *    LANGUAGE, LC_ALL, LC_MESSAGES, LANG
+     *
+     * Note that LANGUAGE can contain more than one locale name, it can be
+     * a list of locale names like for example
+     *
+     *    LANGUAGE=ja_JP.UTF-8:de_DE.UTF-8:fr_FR.UTF-8
+
+     * \todo Support dynamic fallbacklists defined by LANGUAGE
+     */
     inline Locale defaultTextLocale()
     {
       Locale ret( "en" );
-      const char * envlist[] = { "LC_ALL", "LC_CTYPE", "LANG", NULL };
+      const char * envlist[] = { "LC_ALL", "LC_MESSAGES", "LANG", NULL };
       for ( const char ** envvar = envlist; *envvar; ++envvar )
         {
          const char * envlang = getenv( *envvar );