]> git.saurik.com Git - wxWidgets.git/commitdiff
applied a patch to ignore the modifiers (things like @euro) in LC_XXX vars
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 7 Nov 2001 15:58:23 +0000 (15:58 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 7 Nov 2001 15:58:23 +0000 (15:58 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/intl.cpp

index 08797387a7b7b565fdc4c36a550692f29ac8af99..9875b2f1684df160026fae941e4a369911abcf53 100644 (file)
@@ -801,7 +801,7 @@ void wxLocale::AddCatalogLookupPathPrefix(const wxString& prefix)
         return wxLANGUAGE_ENGLISH;
     }
 
-    if ( langFull == _T("C") )
+    if ( langFull == _T("C") || langFull == _T("POSIX") )
     {
         // default C locale
         return wxLANGUAGE_ENGLISH;
@@ -809,18 +809,31 @@ void wxLocale::AddCatalogLookupPathPrefix(const wxString& prefix)
 
     // the language string has the following form
     //
-    //      lang[_LANG[.encoding]]
+    //      lang[_LANG][.encoding][@modifier]
     //
-    // where lang is the primary language, LANG is a sublang
+    // (see environ(5) in the Open Unix specification)
+    //
+    // where lang is the primary language, LANG is a sublang/territory,
+    // encoding is the charset to use and modifier "allows the user to select
+    // a specific instance of localization data within a single category"
     //
     // for example, the following strings are valid:
     //      fr
     //      fr_FR
     //      de_DE.iso88591
+    //      de_DE@euro
+    //      de_DE.iso88591@euro
 
     // for now we don't use the encoding, although we probably should (doing
     // translations of the msg catalogs on the fly as required) (TODO)
-    langFull = langFull.BeforeFirst(_T('.'));
+    //
+    // we don't use the modifiers neither but we probably should translate
+    // "euro" into iso885915
+    size_t posEndLang = langFull.find_first_of(_T("@."));
+    if ( posEndLang != wxString::npos )
+    {
+        langFull.Truncate(posEndLang);
+    }
 
     // in addition to the format above, we also can have full language names
     // in LANG env var - for example, SuSE is known to use LANG="german" - so