Kaydet (Commit) c9489f68 authored tarafından Eike Rathke's avatar Eike Rathke

added overrides for fallbacks of legacy codes

Change-Id: I62be84904b3f0f4beeda35e78906604090eefa86
üst 36a619e7
...@@ -193,6 +193,29 @@ void TestLanguageTag::testAllTags() ...@@ -193,6 +193,29 @@ void TestLanguageTag::testAllTags()
CPPUNIT_ASSERT( ca_valencia.makeFallback().getBcp47() == "ca-ES-valencia"); CPPUNIT_ASSERT( ca_valencia.makeFallback().getBcp47() == "ca-ES-valencia");
} }
{
OUString s_ca_XV( "ca-XV" );
LanguageTag ca_XV( s_ca_XV, true );
lang::Locale aLocale = ca_XV.getLocale();
CPPUNIT_ASSERT( ca_XV.getBcp47() == s_ca_XV );
CPPUNIT_ASSERT( aLocale.Language == "ca" );
CPPUNIT_ASSERT( aLocale.Country == "XV" );
CPPUNIT_ASSERT( aLocale.Variant == "" );
CPPUNIT_ASSERT( ca_XV.getLanguageType() == LANGUAGE_CATALAN_VALENCIAN );
CPPUNIT_ASSERT( ca_XV.isValidBcp47() == true );
CPPUNIT_ASSERT( ca_XV.isIsoLocale() == true );
CPPUNIT_ASSERT( ca_XV.isIsoODF() == true );
CPPUNIT_ASSERT( ca_XV.getLanguage() == "ca" );
CPPUNIT_ASSERT( ca_XV.getCountry() == "XV" );
CPPUNIT_ASSERT( ca_XV.getScript() == "" );
CPPUNIT_ASSERT( ca_XV.getLanguageAndScript() == "ca" );
::std::vector< OUString > ca_XV_Fallbacks( ca_XV.getFallbackStrings( true));
CPPUNIT_ASSERT( ca_XV_Fallbacks.size() == 2);
CPPUNIT_ASSERT( ca_XV_Fallbacks[0] == "ca-XV");
CPPUNIT_ASSERT( ca_XV_Fallbacks[1] == "ca");
CPPUNIT_ASSERT( ca_XV.makeFallback().getBcp47() == "ca-ES-valencia");
}
{ {
OUString s_de_DE( "de-DE" ); OUString s_de_DE( "de-DE" );
LanguageTag de_DE( s_de_DE, true ); LanguageTag de_DE( s_de_DE, true );
......
...@@ -27,6 +27,8 @@ ...@@ -27,6 +27,8 @@
#include <com/sun/star/lang/Locale.hpp> #include <com/sun/star/lang/Locale.hpp>
#include <vector> #include <vector>
struct IsoLanguageCountryEntry;
/** Methods related to Microsoft language IDs. For details about MS-LANGIDs /** Methods related to Microsoft language IDs. For details about MS-LANGIDs
please see lang.h */ please see lang.h */
class I18NLANGTAG_DLLPUBLIC MsLangId class I18NLANGTAG_DLLPUBLIC MsLangId
...@@ -230,6 +232,11 @@ public: ...@@ -230,6 +232,11 @@ public:
const OString& rLang, const OString& rCountry ); const OString& rLang, const OString& rCountry );
/** Used by lookupFallbackLocale(Locale) */
I18NLANGTAG_DLLPRIVATE static com::sun::star::lang::Locale getLocale(
const IsoLanguageCountryEntry * pEntry );
/** Convert a LanguageType to a Locale. /** Convert a LanguageType to a Locale.
@param bResolveSystem @param bResolveSystem
...@@ -240,7 +247,8 @@ public: ...@@ -240,7 +247,8 @@ public:
I18NLANGTAG_DLLPRIVATE static ::com::sun::star::lang::Locale convertLanguageToLocale( I18NLANGTAG_DLLPRIVATE static ::com::sun::star::lang::Locale convertLanguageToLocale(
LanguageType nLang, bool bResolveSystem ); LanguageType nLang, bool bResolveSystem );
/** Used by convertLanguageToLocale(LanguageType,bool) /** Used by convertLanguageToLocale(LanguageType,bool) and
getLocale(IsoLanguageCountryEntry*)
@return rLocale set to mapped values, unchanged if no mapping was @return rLocale set to mapped values, unchanged if no mapping was
found. E.g. pass empty Locale to obtain empty SYSTEM locale found. E.g. pass empty Locale to obtain empty SYSTEM locale
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment