diff options
-rw-r--r-- | i18nlangtag/source/languagetag/languagetag.cxx | 8 | ||||
-rw-r--r-- | include/i18nlangtag/languagetag.hxx | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/i18nlangtag/source/languagetag/languagetag.cxx b/i18nlangtag/source/languagetag/languagetag.cxx index 2da3b95174ed..09b443983d45 100644 --- a/i18nlangtag/source/languagetag/languagetag.cxx +++ b/i18nlangtag/source/languagetag/languagetag.cxx @@ -2359,6 +2359,14 @@ LanguageTag & LanguageTag::makeFallback() } +OUString LanguageTag::getBcp47MS() const +{ + if (getLanguageType() == LANGUAGE_SPANISH_DATED) + return "es-ES_tradnl"; + return getBcp47(); +} + + bool LanguageTag::equals( const LanguageTag & rLanguageTag ) const { // If SYSTEM is not to be resolved or either both are SYSTEM or none, we diff --git a/include/i18nlangtag/languagetag.hxx b/include/i18nlangtag/languagetag.hxx index 20f159f4d171..5088756e4691 100644 --- a/include/i18nlangtag/languagetag.hxx +++ b/include/i18nlangtag/languagetag.hxx @@ -120,6 +120,14 @@ public: */ const OUString & getBcp47( bool bResolveSystem = true ) const; + /** Obtain BCP 47 language tag, but with MS malformed exceptions. + + To be used *only* in OOXML filter context. + For example, es-ES-u-co-trad is stored as es-ES_tradnl which is not a + valid BCP 47 language tag. + */ + OUString getBcp47MS() const; + /** Obtain language tag as Locale. As a convention, language tags that can not be expressed as "pure" |