i18nlangtag/source/isolang/isolang.cxx | 20 +++++++++++--------- i18nlangtag/source/isolang/mslangid.cxx | 8 ++++++++ 2 files changed, 19 insertions(+), 9 deletions(-)
New commits: commit e57a73cc6bedcb8f176e1804792a7ea1fd88796b Author: Eike Rathke <er...@redhat.com> Date: Thu Aug 29 20:51:45 2013 +0200 convertLanguageToLocale: last resort en-US if resolve requested Change-Id: I8ebdfe34765292f14642ec8c2721621e5638a17a diff --git a/i18nlangtag/source/isolang/mslangid.cxx b/i18nlangtag/source/isolang/mslangid.cxx index 6e816ee..8f398e5 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; } commit 83d6ce0b1eb6229a518d79a1064a75956a0380f1 Author: Eike Rathke <er...@redhat.com> Date: Thu Aug 29 20:09:47 2013 +0200 adapted comments Change-Id: I830947d867d77b8e58b6e4722ceb3b7993292dad diff --git a/i18nlangtag/source/isolang/isolang.cxx b/i18nlangtag/source/isolang/isolang.cxx index b2c9da5..d3ababc 100644 --- a/i18nlangtag/source/isolang/isolang.cxx +++ b/i18nlangtag/source/isolang/isolang.cxx @@ -96,10 +96,12 @@ struct IsoLangOtherEntry // ----------------------------------------------------------------------- // Entries for languages are lower case, for countries upper case, as -// recommended by rfc4646 (obsoletes rfc3066 (obsoletes rfc1766)). -// convertIsoNamesToLanguage() is case insensitive +// recommended by rfc5646 (obsoletes rfc4646 (obsoletes rfc3066 (obsoletes +// rfc1766))). convertIsoNamesToLanguage(), convertLocaleToLanguageImpl() +// and lookupFallbackLocale() are case insensitive. // -// Sort order: Most used first. +// Sort order: Most used first and within one language the default fallback +// locale of that language first. // // The default entry for a LangID <-> ISO mapping has to be first. For // conversion of legacy mappings one LangID can map to multiple ISO codes, and @@ -115,18 +117,18 @@ struct IsoLangOtherEntry // entry matching the language and not having a country is returned, regardless // of whether being sorted before or after other entries of the same language // with some country. To obtain a _locale_ (not language only) in the order -// given, convertLocaleToLanguageWithFallback() must be called. +// given, lookupFallbackLocale() must be called. // If the sequence instead was // LANGUAGE_ENGLISH_US, "en", "US" // LANGUAGE_ENGLISH, "en", "" -// in a convertIsoNamesToLanguage() call "en-US" is still converted to -// LANGUAGE_ENGLISH_US, but "en" is _also_ converted to LANGUAGE_ENGLISH_US -// because no country was passed and it is the first entry to match the -// language, see code. A call with "en-ZZ" (not in table) would still result in -// LANGUAGE_ENGLISH. +// in a convertIsoNamesToLanguage() call "en-US" would still be converted to +// LANGUAGE_ENGLISH_US, but "en" would _also_ be converted to +// LANGUAGE_ENGLISH_US because no country was passed and it is the first entry +// to match the language, see code. A call with "en-ZZ" (not in table) would +// still result in LANGUAGE_ENGLISH. /* erAck: 2007-07-05T20:01+0200 TODO: The entire suite's "primary language * only" usage and locale fall back should be cleaned up and made consistent. I _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits