diff options
author | Eike Rathke <erack@redhat.com> | 2013-07-10 15:57:25 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2013-07-10 15:59:19 +0200 |
commit | 1e744d5d9de568aeef6794365dc6f2bf84537ddb (patch) | |
tree | ebe07251cc7f5f1d9a8dbbef9e24fd23ba7949a2 /i18nlangtag | |
parent | a9e0c222f504104124485ef4684ce6f79d3dee52 (diff) |
changed getIsoLanguageCountry() to getIsoLanguageScriptCountry()
And don't write ODF *:script if *:language is not written either.
Change-Id: If6d49cc6fbb8d566cc59edf35ed7991d57d941c0
Diffstat (limited to 'i18nlangtag')
-rw-r--r-- | i18nlangtag/source/languagetag/languagetag.cxx | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/i18nlangtag/source/languagetag/languagetag.cxx b/i18nlangtag/source/languagetag/languagetag.cxx index 7d475806b3c9..13e25f8b8197 100644 --- a/i18nlangtag/source/languagetag/languagetag.cxx +++ b/i18nlangtag/source/languagetag/languagetag.cxx @@ -877,17 +877,22 @@ LanguageType LanguageTag::getLanguageType( bool bResolveSystem ) const } -void LanguageTag::getIsoLanguageCountry( OUString& rLanguage, OUString& rCountry ) const +void LanguageTag::getIsoLanguageScriptCountry( OUString& rLanguage, OUString& rScript, OUString& rCountry ) const { - if (!isIsoLocale()) + // Calling isIsoODF() first is a predicate for getLanguage(), getScript() + // and getCountry() to work correctly in this context. + if (isIsoODF()) { - rLanguage = OUString(); - rCountry = OUString(); - return; + rLanguage = getLanguage(); + rScript = getScript(); + rCountry = getCountry(); + } + else + { + rLanguage = (isIsoLanguage( getLanguage()) ? getLanguage() : OUString()); + rScript = (isIsoScript( getScript()) ? getScript() : OUString()); + rCountry = (isIsoCountry( getCountry()) ? getCountry() : OUString()); } - // After isIsoLocale() it's safe to call getLanguage() for ISO code. - rLanguage = getLanguage(); - rCountry = getCountry(); } |