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