[Libreoffice-commits] core.git: shell/source

Eike Rathke erack at redhat.com
Fri Aug 30 05:43:03 PDT 2013


 shell/source/tools/lngconvex/lngconvex.cxx |   45 +++++++----------------------
 1 file changed, 11 insertions(+), 34 deletions(-)

New commits:
commit 7113e2310b2a1eeb9d9e89bf5e7ed3a10f3640dd
Author: Eike Rathke <erack at redhat.com>
Date:   Fri Aug 30 14:41:30 2013 +0200

    eliminated yet another language-country parser
    
    Change-Id: I2aebe058a6d60431b7073aca641910dc365ead09

diff --git a/shell/source/tools/lngconvex/lngconvex.cxx b/shell/source/tools/lngconvex/lngconvex.cxx
index d40f4b8..34cf3c8 100644
--- a/shell/source/tools/lngconvex/lngconvex.cxx
+++ b/shell/source/tools/lngconvex/lngconvex.cxx
@@ -162,43 +162,24 @@ public:
     iso_lang_identifier() {};
 
     iso_lang_identifier(const OString& str) :
-        lang_(str)
-    { init(); }
+        maBcp47(str)
+    { }
 
     iso_lang_identifier(const std::string& str) :
-        lang_(str.c_str())
-    { init(); }
+        maBcp47(str.c_str())
+    { }
 
-    OString language() const
-    { return lang_; }
-
-    OString country() const
-    { return country_; }
+    OUString make_OUString() const
+    { return OStringToOUString( maBcp47, RTL_TEXTENCODING_ASCII_US); }
 
     OString make_OString() const
-    { return lang_ + "-" + country_; }
+    { return maBcp47; }
 
     std::string make_std_string() const
-    {
-        OString tmp(lang_ + "-" + country_);
-        return tmp.getStr();
-    }
-
-private:
-    void init()
-    {
-        sal_Int32 idx = lang_.indexOf('-');
-
-        if (idx > -1)
-        {
-            country_ = lang_.copy(idx + 1);
-            lang_ = lang_.copy(0, idx);
-        }
-    }
+    { return maBcp47.getStr(); }
 
 private:
-    OString lang_;
-    OString country_;
+    OString maBcp47;
 };
 
 /** Convert a OUString to the MS resource
@@ -328,9 +309,7 @@ void add_group_entries(
         OString iso_lang = aConfig.GetKeyName(sal::static_int_cast<sal_uInt16>(i));
         OString key_value_utf8 = aConfig.ReadKey(sal::static_int_cast<sal_uInt16>(i));
         iso_lang_identifier myiso_lang( iso_lang );
-        LanguageType ltype = LanguageTag(
-                OStringToOUString( myiso_lang.language(), RTL_TEXTENCODING_UTF8),
-                OStringToOUString( myiso_lang.country(), RTL_TEXTENCODING_UTF8)).makeFallback().getLanguageType();
+        LanguageType ltype = LanguageTag( myiso_lang.make_OUString()).makeFallback().getLanguageType();
         if(  ( ltype & 0x0200 ) == 0 && map[ ltype ].empty()  )
         {
             Substitutor.set_language(iso_lang_identifier(iso_lang));
@@ -457,9 +436,7 @@ void start_language_section(
 
     std::string lang_section("LANGUAGE ");
 
-    LanguageType ltype = LanguageTag(
-            OStringToOUString( iso_lang.language(), RTL_TEXTENCODING_UTF8),
-            OStringToOUString( iso_lang.country(), RTL_TEXTENCODING_UTF8)).makeFallback().getLanguageType();
+    LanguageType ltype = LanguageTag( iso_lang.make_OUString()).makeFallback().getLanguageType();
 
     char buff[10];
     int primLangID = PRIMARYLANGID(ltype);


More information about the Libreoffice-commits mailing list