diff options
-rw-r--r-- | i18nlangtag/source/isolang/mslangid.cxx | 46 | ||||
-rw-r--r-- | include/i18nlangtag/mslangid.hxx | 37 |
2 files changed, 54 insertions, 29 deletions
diff --git a/i18nlangtag/source/isolang/mslangid.cxx b/i18nlangtag/source/isolang/mslangid.cxx index d3bcee020a00..4cc448768f3a 100644 --- a/i18nlangtag/source/isolang/mslangid.cxx +++ b/i18nlangtag/source/isolang/mslangid.cxx @@ -81,19 +81,9 @@ LanguageType MsLangId::getRealLanguage( LanguageType nLang ) { LanguageType simplifyLang = simplifySystemLanguages( nLang); if (simplifyLang == LANGUAGE_SYSTEM ) - { - if (nConfiguredSystemLanguage == LANGUAGE_SYSTEM) - nLang = getSystemLanguage(); - else - nLang = nConfiguredSystemLanguage; - } + nLang = getConfiguredSystemLanguage(); else if (simplifyLang == LANGUAGE_HID_HUMAN_INTERFACE_DEVICE) - { - if (nConfiguredSystemUILanguage == LANGUAGE_SYSTEM) - nLang = getSystemUILanguage(); - else - nLang = nConfiguredSystemUILanguage; - } + nLang = getConfiguredSystemUILanguage(); else { /* TODO: would this be useful here? */ @@ -107,6 +97,38 @@ LanguageType MsLangId::getRealLanguage( LanguageType nLang ) // static +LanguageType MsLangId::getConfiguredSystemLanguage() +{ + if (nConfiguredSystemLanguage != LANGUAGE_SYSTEM) + return nConfiguredSystemLanguage; + return getSystemLanguage(); +} + + +// static +LanguageType MsLangId::getConfiguredSystemUILanguage() +{ + if (nConfiguredSystemUILanguage != LANGUAGE_SYSTEM) + return nConfiguredSystemUILanguage; + return getSystemUILanguage(); +} + + +// static +LanguageType MsLangId::getSystemLanguage() +{ + return getPlatformSystemLanguage(); +} + + +// static +LanguageType MsLangId::getSystemUILanguage() +{ + return getPlatformSystemUILanguage(); +} + + +// static LanguageType MsLangId::resolveSystemLanguageByScriptType( LanguageType nLang, sal_Int16 nType ) { if (nLang == LANGUAGE_NONE) diff --git a/include/i18nlangtag/mslangid.hxx b/include/i18nlangtag/mslangid.hxx index 9376458bdf6f..4966fde852f3 100644 --- a/include/i18nlangtag/mslangid.hxx +++ b/include/i18nlangtag/mslangid.hxx @@ -57,14 +57,31 @@ public: return LanguageType((sal_uInt16(nLangID) & ~LANGUAGE_MASK_PRIMARY) >> 10); } + /** Get the configured system language/locale. + If not set yet then getSystemLanguage(). + + Prefer this over getSystemLanguage() unless you exactly know why you + would not. */ + static LanguageType getConfiguredSystemLanguage(); + + /** Get the configured system UI language/locale. + If not set yet then getSystemUILanguage(). + + Prefer this over getSystemUILanguage() unless you exactly know why you + would not. */ + static LanguageType getConfiguredSystemUILanguage(); + + /** Language/locale of category LC_CTYPE (on Unix, else the system language). - Evaluation order: LC_ALL, LC_CTYPE, LANG */ + Evaluation order: LC_ALL, LC_CTYPE, LANG + Note this may return an unknown unsupported locale. */ static LanguageType getSystemLanguage(); /** Language/locale of category LC_MESSAGES (on Unix, else same as - GetSystemLanguage()). - Evaluation order: LANGUAGE, LC_ALL, LC_MESSAGES, LANG */ + getSystemLanguage()). + Evaluation order: LANGUAGE, LC_ALL, LC_MESSAGES, LANG + Note this may return an unknown unsupported locale. */ static LanguageType getSystemUILanguage(); @@ -312,20 +329,6 @@ private: I18NLANGTAG_DLLPRIVATE static inline LanguageType simplifySystemLanguages( LanguageType nLang ); }; - -// static -inline LanguageType MsLangId::getSystemLanguage() -{ - return getPlatformSystemLanguage(); -} - - -// static -inline LanguageType MsLangId::getSystemUILanguage() -{ - return getPlatformSystemUILanguage(); -} - #endif // INCLUDED_I18NLANGTAG_MSLANGID_HXX /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |