diff options
author | Eike Rathke <erack@redhat.com> | 2017-09-05 15:19:12 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2017-09-05 15:41:01 +0200 |
commit | 93f490887c837c8a81b035d4c404da186a9bc9a2 (patch) | |
tree | bebe18b66aaac9e59b489ce4b8386f5f1346138b | |
parent | 8cca31aaba11f03d746cafeec381968ce1418346 (diff) |
Introduce LanguageTag::getBcp47MS() for writing MS malformed tags, tdf#83190
Change-Id: I1e2815b9ae60681c7cddc416cc05bf4c70dcc48a
-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" |