i18nlangtag/source/languagetag/languagetag.cxx | 13 +++++++++++++ 1 file changed, 13 insertions(+)
New commits: commit 017a2a368cee1f6f5e7c6e18e65cbbc1a54efe47 Author: Eike Rathke <er...@redhat.com> Date: Thu Nov 21 15:57:53 2013 +0100 handleVendorVariant() strip in case some was injected Change-Id: I73c42a99671524e9fb186257a9bc943d514958c2 diff --git a/i18nlangtag/source/languagetag/languagetag.cxx b/i18nlangtag/source/languagetag/languagetag.cxx index 60e8c12..3a15ecc 100644 --- a/i18nlangtag/source/languagetag/languagetag.cxx +++ b/i18nlangtag/source/languagetag/languagetag.cxx @@ -230,6 +230,17 @@ void LiblantagDataRef::setupDataPath() } +/* TODO: we could transform known vendor and browser-specific variants to known + * BCP 47 if available. For now just remove them to not confuse any later + * treatments that check for empty variants. This vendor stuff was never + * supported anyway. */ +static void handleVendorVariant( com::sun::star::lang::Locale & rLocale ) +{ + if (!rLocale.Variant.isEmpty() && rLocale.Language != I18NLANGTAG_QLT) + rLocale.Variant = OUString(); +} + + class LanguageTagImpl { public: @@ -483,6 +494,7 @@ LanguageTag::LanguageTag( const com::sun::star::lang::Locale & rLocale ) mbInitializedLangID( false), mbIsFallback( false) { + handleVendorVariant( maLocale); } @@ -1025,6 +1037,7 @@ LanguageTag & LanguageTag::reset( const com::sun::star::lang::Locale & rLocale ) maLocale = rLocale; mbSystemLocale = rLocale.Language.isEmpty(); mbInitializedLocale = !mbSystemLocale; + handleVendorVariant( maLocale); return *this; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits