i18nlangtag/source/isolang/mslangid.cxx | 46 +++++++++++++++++++++++--------- include/i18nlangtag/mslangid.hxx | 37 +++++++++++++------------ 2 files changed, 54 insertions(+), 29 deletions(-)
New commits: commit 20081a8ea052b2f31915bd127c3b282cf5025d59 Author: Eike Rathke <er...@redhat.com> AuthorDate: Mon Oct 18 22:02:52 2021 +0200 Commit: Eike Rathke <er...@redhat.com> CommitDate: Mon Oct 18 23:23:56 2021 +0200 Introduce MsLangId::getConfiguredSystemLanguage() To be used instead of getSystemLanguage() in a subsequent change. For details see commit summary of commit aec5312ffab24236876693d7a8b55843847f2a48 CommitDate: Mon Oct 18 21:14:24 2021 +0200 Related: tdf#145173 Ensure known supported system and default document locale Change-Id: I5bed125e47c2a03fe2e7a4f84988b2e8841143c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123766 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Jenkins 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? */ @@ -106,6 +96,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 ) { 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: */