diff options
-rw-r--r-- | comphelper/Library_comphelper.mk | 1 | ||||
-rw-r--r-- | comphelper/source/misc/configuration.cxx | 28 | ||||
-rw-r--r-- | configmgr/source/configurationprovider.cxx | 4 |
3 files changed, 6 insertions, 27 deletions
diff --git a/comphelper/Library_comphelper.mk b/comphelper/Library_comphelper.mk index 648743be2804..0c01ca2ca8b0 100644 --- a/comphelper/Library_comphelper.mk +++ b/comphelper/Library_comphelper.mk @@ -48,6 +48,7 @@ $(eval $(call gb_Library_use_libraries,comphelper,\ sal \ salhelper \ ucbhelper \ + i18nisolang1 \ $(gb_UWINAPI) \ )) diff --git a/comphelper/source/misc/configuration.cxx b/comphelper/source/misc/configuration.cxx index e4bb82d0edb0..7e43bf1b0ea6 100644 --- a/comphelper/source/misc/configuration.cxx +++ b/comphelper/source/misc/configuration.cxx @@ -49,6 +49,7 @@ #include "rtl/instance.hxx" #include "rtl/ustrbuf.hxx" #include "rtl/ustring.hxx" +#include "i18npool/languagetag.hxx" namespace { @@ -62,32 +63,11 @@ struct TheConfigurationWrapper: OUString getDefaultLocale( css::uno::Reference< css::uno::XComponentContext > const & context) { - css::lang::Locale locale( + return LanguageTag( css::uno::Reference< css::lang::XLocalizable >( css::configuration::theDefaultProvider::get(context), css::uno::UNO_QUERY_THROW)-> - getLocale()); - OUStringBuffer buf; - SAL_WARN_IF( - locale.Language.indexOf('-') != -1, "comphelper", - "Locale language \"" << locale.Language << "\" contains \"-\""); - buf.append(locale.Language); - SAL_WARN_IF( - locale.Country.isEmpty() && !locale.Variant.isEmpty(), "comphelper", - "Locale has empty country but non-empty variant \"" << locale.Variant - << '"'); - if (!locale.Country.isEmpty()) { - buf.append('-'); - SAL_WARN_IF( - locale.Country.indexOf('-') != -1, "comphelper", - "Locale language \"" << locale.Country << "\" contains \"-\""); - buf.append(locale.Country); - if (!locale.Variant.isEmpty()) { - buf.append('-'); - buf.append(locale.Variant); - } - } - return buf.makeStringAndClear(); + getLocale()).getBcp47(); } OUString extendLocalizedPath(OUString const & path, OUString const & locale) { @@ -95,7 +75,7 @@ OUString extendLocalizedPath(OUString const & path, OUString const & locale) { buf.append("/['*"); SAL_WARN_IF( locale.match("*"), "comphelper", - "Locale \"" << locale << "\" starts with \"-\""); + "Locale \"" << locale << "\" starts with \"*\""); assert(locale.indexOf('&') == -1); assert(locale.indexOf('"') == -1); assert(locale.indexOf('\'') == -1); diff --git a/configmgr/source/configurationprovider.cxx b/configmgr/source/configurationprovider.cxx index 2f6f075002c2..f4c04a0e7a55 100644 --- a/configmgr/source/configurationprovider.cxx +++ b/configmgr/source/configurationprovider.cxx @@ -337,9 +337,7 @@ void Service::setLocale(css::lang::Locale const & eLocale) css::lang::Locale Service::getLocale() throw (css::uno::RuntimeException) { osl::MutexGuard guard(*lock_); css::lang::Locale loc; - if ( locale_ == "*" ) { /* FIXME-BCP47: WTF is this?!? */ - loc.Language = locale_; - } else if (! locale_.isEmpty()) { + if (! locale_.isEmpty()) { loc = LanguageTag( locale_).getLocale( false); } return loc; |