Blob Blame History Raw
From 848ee355904db1453f343c8257a86635c1dddcac Mon Sep 17 00:00:00 2001
From: Andras Timar <andras.timar@collabora.com>
Date: Wed, 9 Jul 2014 11:44:32 +0200
Subject: [PATCH 002/137] localized GetFullName()

Change-Id: I4f2bffadef3db1bd07432202525734ab9b0cb0de
(cherry picked from commit 33c36fb9fbc69bbc32088532dd21db7153aee09d)
---
 unotools/source/config/useroptions.cxx | 38 ++++++++++++++++++++++++++++------
 1 file changed, 32 insertions(+), 6 deletions(-)

diff --git a/unotools/source/config/useroptions.cxx b/unotools/source/config/useroptions.cxx
index 01ae9e6..1dadaf3 100644
--- a/unotools/source/config/useroptions.cxx
+++ b/unotools/source/config/useroptions.cxx
@@ -19,7 +19,7 @@
 
 
 #include <unotools/useroptions.hxx>
-
+#include <unotools/syslocale.hxx>
 #include <unotools/configmgr.hxx>
 #include <com/sun/star/uno/Any.hxx>
 #include <com/sun/star/uno/Sequence.hxx>
@@ -39,6 +39,7 @@
 #include <com/sun/star/util/ChangesEvent.hpp>
 #include <comphelper/configurationhelper.hxx>
 #include <comphelper/processfactory.hxx>
+#include <i18nlangtag/mslangid.hxx>
 
 using namespace utl;
 using namespace com::sun::star;
@@ -210,11 +211,36 @@ void SvtUserOptions::Impl::SetToken (sal_uInt16 nToken, OUString const& sToken)
 
 OUString SvtUserOptions::Impl::GetFullName () const
 {
-    // TODO international name
-    OUString sFullName = GetToken(USER_OPT_FIRSTNAME).trim();
-    if (!sFullName.isEmpty())
-        sFullName += " ";
-    sFullName += GetToken(USER_OPT_LASTNAME).trim();
+    OUString sFullName;
+    switch (LanguageType const eLang = SvtSysLocale().GetUILanguageTag().getLanguageType())
+    {
+        case LANGUAGE_RUSSIAN:
+            sFullName = GetToken(USER_OPT_FIRSTNAME).trim();
+            if (!sFullName.isEmpty())
+                sFullName += " ";
+            sFullName += GetToken(USER_OPT_FATHERSNAME).trim();
+            if (!sFullName.isEmpty())
+                sFullName += " ";
+            sFullName += GetToken(USER_OPT_LASTNAME).trim();
+            break;
+        default:
+            if (MsLangId::isFamilyNameFirst(eLang))
+            {
+                sFullName = GetToken(USER_OPT_LASTNAME).trim();
+                if (!sFullName.isEmpty())
+                    sFullName += " ";
+                sFullName += GetToken(USER_OPT_FIRSTNAME).trim();
+            }
+            else
+            {
+                sFullName = GetToken(USER_OPT_FIRSTNAME).trim();
+                if (!sFullName.isEmpty())
+                    sFullName += " ";
+                sFullName += GetToken(USER_OPT_LASTNAME).trim();
+            }
+            break;
+    }
+
     return sFullName;
 }
 
-- 
1.9.3