diff options
-rw-r--r-- | i18nlangtag/source/isolang/mslangid.cxx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/i18nlangtag/source/isolang/mslangid.cxx b/i18nlangtag/source/isolang/mslangid.cxx index 6e816ee3dde7..8f398e52d241 100644 --- a/i18nlangtag/source/isolang/mslangid.cxx +++ b/i18nlangtag/source/isolang/mslangid.cxx @@ -153,9 +153,17 @@ LanguageType MsLangId::resolveSystemLanguageByScriptType( LanguageType nLang, sa { // Still resolve LANGUAGE_DONTKNOW if resolving is not requested, // but not LANGUAGE_SYSTEM or others. + LanguageType nOrigLang = nLang; if (bResolveSystem || nLang == LANGUAGE_DONTKNOW) nLang = MsLangId::getRealLanguage( nLang); convertLanguageToLocaleImpl( nLang, aLocale); + if (bResolveSystem && aLocale.Language.isEmpty() && simplifySystemLanguages( nOrigLang) == LANGUAGE_SYSTEM) + { + // None found but resolve requested, last resort is "en-US". + aLocale.Language = "en"; + aLocale.Country = "US"; + aLocale.Variant = OUString(); + } } return aLocale; } |