diff options
-rw-r--r-- | cui/source/options/optgdlg.cxx | 4 | ||||
-rw-r--r-- | i18npool/inc/i18npool/mslangid.hxx | 15 | ||||
-rw-r--r-- | i18npool/source/isolang/mslangid.cxx | 5 | ||||
-rw-r--r-- | svtools/inc/svtools/langtab.hxx | 8 | ||||
-rw-r--r-- | svtools/source/misc/langtab.cxx | 4 | ||||
-rw-r--r-- | svtools/source/misc/langtab.src | 1 |
6 files changed, 28 insertions, 9 deletions
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx index 42a6c216cc1c..0e428e39ab2e 100644 --- a/cui/source/options/optgdlg.cxx +++ b/cui/source/options/optgdlg.cxx @@ -1279,7 +1279,7 @@ OfaLanguagesTabPage::OfaLanguagesTabPage( Window* pParent, const SfxItemSet& rSe String aUILang(aStr); aUILang += String::CreateFromAscii(" - "); - aUILang += pLanguageTable->GetString( Application::GetSettings().GetUILanguage() ); + aUILang += pLanguageTable->GetString( Application::GetSettings().GetUILanguage(), true ); aUserInterfaceLB.InsertEntry(aUILang); aUserInterfaceLB.SetEntryData(0, 0); @@ -1307,7 +1307,7 @@ OfaLanguagesTabPage::OfaLanguagesTabPage( Window* pParent, const SfxItemSet& rSe if (aLang != LANGUAGE_DONTKNOW) { //sal_uInt16 p = aUserInterfaceLB.InsertLanguage(aLang); - String aLangStr( pLanguageTable->GetString( aLang ) ); + String aLangStr( pLanguageTable->GetString( aLang, true ) ); sal_uInt16 p = aUserInterfaceLB.InsertEntry(aLangStr); aUserInterfaceLB.SetEntryData(p, (void*)(i+1)); } diff --git a/i18npool/inc/i18npool/mslangid.hxx b/i18npool/inc/i18npool/mslangid.hxx index 717a5bb52c74..f1da9814cf11 100644 --- a/i18npool/inc/i18npool/mslangid.hxx +++ b/i18npool/inc/i18npool/mslangid.hxx @@ -203,8 +203,19 @@ public: /** Map an obsolete user defined LANGID (see lang.h LANGUAGE_OBSOLETE_USER_...) to the new value defined by MS in the - meantime. */ - static LanguageType getReplacementForObsoleteLanguage( LanguageType nLang ); + meantime. + + Also used to map UI localizations using reserved ISO codes to something + "official" but not identical in order to not pollute documents with + invalid ISO codes. + + @param bUserInterfaceSelection + If TRUE, don't replace such UI-only locale. Only use for + Tools->Options->LanguageSettings->UserInterface listbox. + If FALSE, do replace. + */ + static LanguageType getReplacementForObsoleteLanguage( LanguageType nLang, + bool bUserInterfaceSelection = false ); /** @ATTENTION: these are _ONLY_ to be called by the application's diff --git a/i18npool/source/isolang/mslangid.cxx b/i18npool/source/isolang/mslangid.cxx index 06941b62d10a..e5661dab2d9d 100644 --- a/i18npool/source/isolang/mslangid.cxx +++ b/i18npool/source/isolang/mslangid.cxx @@ -379,7 +379,7 @@ sal_Int16 MsLangId::getScriptType( LanguageType nLang ) // static -LanguageType MsLangId::getReplacementForObsoleteLanguage( LanguageType nLang ) +LanguageType MsLangId::getReplacementForObsoleteLanguage( LanguageType nLang, bool bUserInterfaceSelection ) { switch (nLang) { @@ -433,7 +433,8 @@ LanguageType MsLangId::getReplacementForObsoleteLanguage( LanguageType nLang ) // Do not use ca-XV for document content. /* TODO: remove in case we implement BCP47 language tags. */ case LANGUAGE_USER_CATALAN_VALENCIAN: - nLang = LANGUAGE_CATALAN; + if (!bUserInterfaceSelection) + nLang = LANGUAGE_CATALAN; break; } return nLang; diff --git a/svtools/inc/svtools/langtab.hxx b/svtools/inc/svtools/langtab.hxx index 9b38297433bf..578532271277 100644 --- a/svtools/inc/svtools/langtab.hxx +++ b/svtools/inc/svtools/langtab.hxx @@ -43,7 +43,13 @@ public: SvtLanguageTable(); ~SvtLanguageTable(); - const String& GetString( const LanguageType eType ) const; + /** + @param bUserInterfaceSelection + If TRUE, don't replace an UI-only locale. Only use for + Tools->Options->LanguageSettings->UserInterface listbox. + If FALSE, do replace. + */ + const String& GetString( const LanguageType eType, bool bUserInterfaceSelection = false ) const; LanguageType GetType( const String& rStr ) const; sal_uInt32 GetEntryCount() const; diff --git a/svtools/source/misc/langtab.cxx b/svtools/source/misc/langtab.cxx index 2ce718e54d2b..51e93d485065 100644 --- a/svtools/source/misc/langtab.cxx +++ b/svtools/source/misc/langtab.cxx @@ -136,9 +136,9 @@ SvtLanguageTable::~SvtLanguageTable() //------------------------------------------------------------------------ -const String& SvtLanguageTable::GetString( const LanguageType eType ) const +const String& SvtLanguageTable::GetString( const LanguageType eType, bool bUserInterfaceSelection ) const { - LanguageType eLang = MsLangId::getReplacementForObsoleteLanguage( eType); + LanguageType eLang = MsLangId::getReplacementForObsoleteLanguage( eType, bUserInterfaceSelection); sal_uInt32 nPos = FindIndex( eLang ); if ( RESARRAY_INDEX_NOTFOUND != nPos && nPos < Count() ) diff --git a/svtools/source/misc/langtab.src b/svtools/source/misc/langtab.src index 5d743e30f16c..b82e0f467763 100644 --- a/svtools/source/misc/langtab.src +++ b/svtools/source/misc/langtab.src @@ -79,6 +79,7 @@ StringArray STR_ARR_SVT_LANGUAGE_TABLE < "Bulgarian" ; LANGUAGE_BULGARIAN ; > ; < "Belarusian" ; LANGUAGE_BELARUSIAN ; > ; < "Catalan" ; LANGUAGE_CATALAN ; > ; + < "Catalan (Valencian)" ; LANGUAGE_USER_CATALAN_VALENCIAN ; > ; // UI only! < "Chinese (traditional)" ; LANGUAGE_CHINESE_TRADITIONAL ; > ; < "Chinese (simplified)" ; LANGUAGE_CHINESE_SIMPLIFIED ; > ; < "Chinese (Hong Kong)" ; LANGUAGE_CHINESE_HONGKONG ; > ; |