diff options
author | Eike Rathke <erack@redhat.com> | 2012-11-23 23:06:10 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2012-11-23 23:09:16 +0100 |
commit | af60316514f3ae3d4c475819bf86f2af837171e3 (patch) | |
tree | ccfbd673bd4a53047a04dad6457d09c7eea1566c /svl | |
parent | 37f5b864014e9ad17a561b77ea9f6141650e92ad (diff) |
some i18n wrappers with LanguageTag
Change-Id: I2ceaa3159e8669c2c569fa8559c1e061dcad399d
Diffstat (limited to 'svl')
-rw-r--r-- | svl/inc/svl/ondemand.hxx | 27 | ||||
-rw-r--r-- | svl/inc/svl/zforlist.hxx | 4 | ||||
-rw-r--r-- | svl/source/items/ctypeitm.cxx | 3 | ||||
-rw-r--r-- | svl/source/items/dateitem.cxx | 2 | ||||
-rw-r--r-- | svl/source/items/style.cxx | 2 | ||||
-rw-r--r-- | svl/source/numbers/supservs.cxx | 2 | ||||
-rw-r--r-- | svl/source/numbers/zforfind.cxx | 4 | ||||
-rw-r--r-- | svl/source/numbers/zforlist.cxx | 46 | ||||
-rw-r--r-- | svl/source/numbers/zformat.cxx | 17 | ||||
-rw-r--r-- | svl/source/numbers/zforscan.cxx | 7 |
10 files changed, 58 insertions, 56 deletions
diff --git a/svl/inc/svl/ondemand.hxx b/svl/inc/svl/ondemand.hxx index f724cca95746..70c028f2ef52 100644 --- a/svl/inc/svl/ondemand.hxx +++ b/svl/inc/svl/ondemand.hxx @@ -76,8 +76,7 @@ public: } OnDemandLocaleDataWrapper( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext, - ::com::sun::star::lang::Locale& rLocale, - LanguageType eLang + const LanguageTag& rLanguageTag ) : pEnglish(0) , pAny(0) @@ -85,7 +84,7 @@ public: , bInitialized(false) { pSystem = aSysLocale.GetLocaleDataPtr(); - init( rxContext, rLocale, eLang ); + init( rxContext, rLanguageTag ); } ~OnDemandLocaleDataWrapper() { @@ -99,17 +98,17 @@ public: void init( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext, - ::com::sun::star::lang::Locale& rLocale, - LanguageType eLang + const LanguageTag& rLanguageTag ) { m_xContext = rxContext; - changeLocale( rLocale, eLang ); + changeLocale( rLanguageTag ); bInitialized = true; } - void changeLocale( ::com::sun::star::lang::Locale& rLocale, LanguageType eLang ) + void changeLocale( const LanguageTag& rLanguageTag ) { + LanguageType eLang = rLanguageTag.getLanguageType( false); switch ( eLang ) { case LANGUAGE_SYSTEM : @@ -117,18 +116,18 @@ public: break; case LANGUAGE_ENGLISH_US : if ( !pEnglish ) - pEnglish = new LocaleDataWrapper( m_xContext, rLocale ); + pEnglish = new LocaleDataWrapper( m_xContext, rLanguageTag ); pCurrent = pEnglish; break; default: if ( !pAny ) { - pAny = new LocaleDataWrapper( m_xContext, rLocale ); + pAny = new LocaleDataWrapper( m_xContext, rLanguageTag ); eLastAnyLanguage = eLang; } else if ( eLastAnyLanguage != eLang ) { - pAny->setLocale( rLocale ); + pAny->setLanguageTag( rLanguageTag ); eLastAnyLanguage = eLang; } pCurrent = pAny; @@ -143,12 +142,12 @@ public: { if ( !pAny ) { - pAny = new LocaleDataWrapper( m_xContext, pCurrent->getLocale() ); + pAny = new LocaleDataWrapper( m_xContext, pCurrent->getLanguageTag() ); eLastAnyLanguage = eCurrentLanguage; } else if ( pCurrent != pAny ) { - pAny->setLocale( pCurrent->getLocale() ); + pAny->setLanguageTag( pCurrent->getLanguageTag() ); eLastAnyLanguage = eCurrentLanguage; } return pAny; @@ -198,7 +197,7 @@ public: void init( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext, - ::com::sun::star::lang::Locale& rLocale + const ::com::sun::star::lang::Locale& rLocale ) { m_xContext = rxContext; @@ -211,7 +210,7 @@ public: bInitialized = true; } - void changeLocale( ::com::sun::star::lang::Locale& rLocale ) + void changeLocale( const ::com::sun::star::lang::Locale& rLocale ) { bValid = false; aLocale = rLocale; diff --git a/svl/inc/svl/zforlist.hxx b/svl/inc/svl/zforlist.hxx index 71e6bbabf6ab..175e4040109f 100644 --- a/svl/inc/svl/zforlist.hxx +++ b/svl/inc/svl/zforlist.hxx @@ -795,7 +795,7 @@ public: private: ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xServiceManager; - ::com::sun::star::lang::Locale aLocale; + LanguageTag maLanguageTag; SvNumberFormatTable aFTable; // Table of format keys to format entries typedef std::map<sal_uInt32, sal_uInt32> DefaultFormatKeysMap; DefaultFormatKeysMap aDefaultFormatKeys; // Table of default standard to format keys @@ -965,7 +965,7 @@ public: //! public for the InputScanner and FormatScanner. // return current (!) Locale - inline const ::com::sun::star::lang::Locale& GetLocale() const { return aLocale; } + inline const LanguageTag& GetLanguageTag() const { return maLanguageTag; } // return corresponding Transliteration wrapper inline const ::utl::TransliterationWrapper* GetTransliteration() const diff --git a/svl/source/items/ctypeitm.cxx b/svl/source/items/ctypeitm.cxx index dc15162418df..32944b50e0d4 100644 --- a/svl/source/items/ctypeitm.cxx +++ b/svl/source/items/ctypeitm.cxx @@ -157,8 +157,7 @@ SfxItemPresentation CntContentTypeItem::GetPresentation( if (pIntlWrapper) (const_cast< CntContentTypeItem * >(this))->_aPresentation = INetContentTypes::GetPresentation(GetEnumValue(), - pIntlWrapper-> - getLocale()); + pIntlWrapper->getLanguageTag().getLocale()); } if (!_aPresentation.isEmpty()) { diff --git a/svl/source/items/dateitem.cxx b/svl/source/items/dateitem.cxx index a4fd0d8ea8c2..bbe8e38b249d 100644 --- a/svl/source/items/dateitem.cxx +++ b/svl/source/items/dateitem.cxx @@ -139,7 +139,7 @@ SfxItemPresentation SfxDateTimeItem::GetPresentation DBG_WARNING("SfxDateTimeItem::GetPresentation():" " Using default en_US IntlWrapper"); const IntlWrapper aIntlWrapper( - ::comphelper::getProcessServiceFactory(), LANGUAGE_ENGLISH_US ); + ::comphelper::getProcessServiceFactory(), LanguageTag( LANGUAGE_ENGLISH_US) ); rText = aIntlWrapper.getLocaleData()->getDate(aDateTime); rText.AppendAscii(RTL_CONSTASCII_STRINGPARAM(", ")); rText += aIntlWrapper.getLocaleData()->getTime(aDateTime); diff --git a/svl/source/items/style.cxx b/svl/source/items/style.cxx index 1bc6d17e050c..2eb0b8325cce 100644 --- a/svl/source/items/style.cxx +++ b/svl/source/items/style.cxx @@ -334,7 +334,7 @@ XubString SfxStyleSheetBase::GetDescription( SfxMapUnit eMetric ) const SfxPoolItem* pItem = aIter.FirstItem(); IntlWrapper aIntlWrapper(comphelper::getProcessServiceFactory(), - SvtSysLocale().GetLanguageTag().getLocale()); + SvtSysLocale().GetLanguageTag()); while ( pItem ) { XubString aItemPresentation; diff --git a/svl/source/numbers/supservs.cxx b/svl/source/numbers/supservs.cxx index 1edfbdfb6919..905f2a09b15b 100644 --- a/svl/source/numbers/supservs.cxx +++ b/svl/source/numbers/supservs.cxx @@ -206,7 +206,7 @@ void SvNumberFormatsSupplierServiceObject::implEnsureFormatter() { // get the office's UI locale SvtSysLocale aSysLocale; - Locale aOfficeLocale = aSysLocale.GetLocaleData().getLocale(); + Locale aOfficeLocale = aSysLocale.GetLocaleData().getLanguageTag().getLocale(); // initi with this locale Sequence< Any > aFakedInitProps( 1 ); diff --git a/svl/source/numbers/zforfind.cxx b/svl/source/numbers/zforfind.cxx index 9c2239873582..250b89b30bf4 100644 --- a/svl/source/numbers/zforfind.cxx +++ b/svl/source/numbers/zforfind.cxx @@ -166,7 +166,7 @@ void ImpSvNumberInputScan::TransformInput( String& rStr ) } if ( nPos < nLen ) rStr = pFormatter->GetNatNum()->getNativeNumberString( rStr, - pFormatter->GetLocale(), 0 ); + pFormatter->GetLanguageTag().getLocale(), 0 ); } @@ -1751,7 +1751,7 @@ input for the following reasons: res = false; if ( aOrgCalendar.Len() ) - pCal->loadCalendar( aOrgCalendar, pLoc->getLocale() ); // restore calendar + pCal->loadCalendar( aOrgCalendar, pLoc->getLanguageTag().getLocale() ); // restore calendar #if NF_TEST_CALENDAR { diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx index 608206795f36..a8bc1ca2bf30 100644 --- a/svl/source/numbers/zforlist.cxx +++ b/svl/source/numbers/zforlist.cxx @@ -193,7 +193,8 @@ SvNumberFormatter::SvNumberFormatter( const Reference< XMultiServiceFactory >& xSMgr, LanguageType eLang ) : - xServiceManager( xSMgr ) + xServiceManager( xSMgr ), + maLanguageTag( eLang) { ImpConstruct( eLang ); } @@ -233,10 +234,10 @@ void SvNumberFormatter::ImpConstruct( LanguageType eLang ) eEvalDateFormat = NF_EVALDATEFORMAT_INTL; nDefaultSystemCurrencyFormat = NUMBERFORMAT_ENTRY_NOT_FOUND; - aLocale = LanguageTag( eLang ).getLocale(); - pCharClass = new CharClass( comphelper::getComponentContext(xServiceManager), aLocale ); - xLocaleData.init( comphelper::getComponentContext(xServiceManager), aLocale, eLang ); - xCalendar.init( comphelper::getComponentContext(xServiceManager), aLocale ); + maLanguageTag.reset( eLang ); + pCharClass = new CharClass( comphelper::getComponentContext(xServiceManager), maLanguageTag ); + xLocaleData.init( comphelper::getComponentContext(xServiceManager), maLanguageTag ); + xCalendar.init( comphelper::getComponentContext(xServiceManager), maLanguageTag.getLocale() ); xTransliteration.init( comphelper::getComponentContext(xServiceManager), eLang, ::com::sun::star::i18n::TransliterationModules_IGNORE_CASE ); xNatNum.init( xServiceManager ); @@ -266,10 +267,10 @@ void SvNumberFormatter::ChangeIntl(LanguageType eLnge) { ActLnge = eLnge; - aLocale = LanguageTag( eLnge ).getLocale(); - pCharClass->setLocale( aLocale ); - xLocaleData.changeLocale( aLocale, eLnge ); - xCalendar.changeLocale( aLocale ); + maLanguageTag.reset( eLnge ); + pCharClass->setLanguageTag( maLanguageTag ); + xLocaleData.changeLocale( maLanguageTag ); + xCalendar.changeLocale( maLanguageTag.getLocale() ); xTransliteration.changeLocale( eLnge ); // cached locale data items, initialize BEFORE calling ChangeIntl below @@ -459,7 +460,8 @@ void SvNumberFormatter::ReplaceSystemCL( LanguageType eOldLanguage ) pStdFormat->SetLastInsertKey( sal_uInt16(nLastKey - nCLOffset) ); // append new system additional formats - NumberFormatCodeWrapper aNumberFormatCode( comphelper::getComponentContext(xServiceManager), GetLocale() ); + NumberFormatCodeWrapper aNumberFormatCode( comphelper::getComponentContext(xServiceManager), + GetLanguageTag().getLocale() ); ImpGenerateAdditionalFormats( nCLOffset, aNumberFormatCode, true ); } @@ -781,7 +783,8 @@ bool SvNumberFormatter::Load( SvStream& rStream ) // generate additional i18n standard formats for all used locales LanguageType eOldLanguage = ActLnge; - NumberFormatCodeWrapper aNumberFormatCode( comphelper::getComponentContext(xServiceManager), GetLocale() ); + NumberFormatCodeWrapper aNumberFormatCode( comphelper::getComponentContext(xServiceManager), + GetLanguageTag().getLocale() ); std::vector<sal_uInt16> aList; GetUsedLanguages( aList ); for ( std::vector<sal_uInt16>::const_iterator it(aList.begin()); it != aList.end(); ++it ) @@ -962,9 +965,8 @@ sal_uInt32 SvNumberFormatter::ImpGenerateCL( LanguageType eLnge, bool bNoAdditio { // new CL combination if (LocaleDataWrapper::areChecksEnabled()) { - Locale aLoadedLocale = xLocaleData->getLoadedLocale(); - if ( aLoadedLocale.Language != aLocale.Language || - aLoadedLocale.Country != aLocale.Country ) + const LanguageTag& rLoadedLocale = xLocaleData->getLoadedLanguageTag(); + if ( rLoadedLocale != maLanguageTag ) { OUString aMsg("SvNumerFormatter::ImpGenerateCL: locales don't match:"); LocaleDataWrapper::outputCheckMessage( xLocaleData->appendLocaleInfo( aMsg )); @@ -1963,11 +1965,10 @@ String SvNumberFormatter::GetFormatDecimalSep( sal_uInt32 nFormat ) const aRet = xLocaleData->getNumDecimalSep(); else { - ::com::sun::star::lang::Locale aSaveLocale( xLocaleData->getLocale() ); - ::com::sun::star::lang::Locale aTmpLocale( LanguageTag( pFormat->GetLanguage()).getLocale()); - ((SvNumberFormatter*)this)->xLocaleData.changeLocale(aTmpLocale, pFormat->GetLanguage() ); + LanguageTag aSaveLocale( xLocaleData->getLanguageTag() ); + ((SvNumberFormatter*)this)->xLocaleData.changeLocale( LanguageTag( pFormat->GetLanguage()) ); aRet = xLocaleData->getNumDecimalSep(); - ((SvNumberFormatter*)this)->xLocaleData.changeLocale( aSaveLocale, eSaveLang ); + ((SvNumberFormatter*)this)->xLocaleData.changeLocale( aSaveLocale ); } return aRet; } @@ -2214,7 +2215,8 @@ void SvNumberFormatter::ImpGenerateFormats( sal_uInt32 CLOffset, bool bNoAdditio pFormatScanner->SetConvertMode(false); // switch off for this function } - NumberFormatCodeWrapper aNumberFormatCode( comphelper::getComponentContext(xServiceManager), GetLocale() ); + NumberFormatCodeWrapper aNumberFormatCode( comphelper::getComponentContext(xServiceManager), + GetLanguageTag().getLocale() ); SvNumberformat* pNewFormat = NULL; sal_Int32 nIdx; bool bDefault; @@ -2665,7 +2667,7 @@ void SvNumberFormatter::ImpGenerateAdditionalFormats( sal_uInt32 CLOffset, return ; } sal_uInt32 nPos = CLOffset + pStdFormat->GetLastInsertKey(); - rNumberFormatCode.setLocale( GetLocale() ); + rNumberFormatCode.setLocale( GetLanguageTag().getLocale() ); sal_Int32 j; // All currencies, this time with [$...] which was stripped in @@ -3604,7 +3606,7 @@ void SvNumberFormatter::ImpInitCurrencyTable() LanguageType eSysLang = SvtSysLocale().GetLanguageTag().getLanguageType(); LocaleDataWrapper* pLocaleData = new LocaleDataWrapper( ::comphelper::getProcessComponentContext(), - SvtSysLocale().GetLanguageTag().getLocale() ); + SvtSysLocale().GetLanguageTag() ); // get user configured currency String aConfiguredCurrencyAbbrev; LanguageType eConfiguredCurrencyLanguage = LANGUAGE_SYSTEM; @@ -3632,7 +3634,7 @@ void SvNumberFormatter::ImpInitCurrencyTable() { LanguageType eLang = LanguageTag( pLocales[nLocale]).getLanguageType( false); rInstalledLocales.insert( eLang); - pLocaleData->setLocale( pLocales[nLocale] ); + pLocaleData->setLanguageTag( LanguageTag( pLocales[nLocale]) ); Sequence< Currency2 > aCurrSeq = pLocaleData->getAllCurrencies(); sal_Int32 nCurrencyCount = aCurrSeq.getLength(); Currency2 const * const pCurrencies = aCurrSeq.getConstArray(); diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx index b7facc031d44..3ca66ef17e9b 100644 --- a/svl/source/numbers/zformat.cxx +++ b/svl/source/numbers/zformat.cxx @@ -3341,7 +3341,8 @@ void SvNumberformat::SwitchToOtherCalendar( OUString& rOrgCalendar, if ( rCal.getUniqueID() == rGregorian ) { using namespace ::com::sun::star::i18n; - ::com::sun::star::uno::Sequence< ::rtl::OUString > xCals = rCal.getAllCalendars( rLoc().getLocale() ); + ::com::sun::star::uno::Sequence< ::rtl::OUString > xCals = rCal.getAllCalendars( + rLoc().getLanguageTag().getLocale() ); sal_Int32 nCnt = xCals.getLength(); if ( nCnt > 1 ) { @@ -3354,7 +3355,7 @@ void SvNumberformat::SwitchToOtherCalendar( OUString& rOrgCalendar, rOrgCalendar = rCal.getUniqueID(); fOrgDateTime = rCal.getDateTime(); } - rCal.loadCalendar( xCals[j], rLoc().getLocale() ); + rCal.loadCalendar( xCals[j], rLoc().getLanguageTag().getLocale() ); rCal.setDateTime( fOrgDateTime ); break; // for } @@ -3370,7 +3371,7 @@ void SvNumberformat::SwitchToGregorianCalendar( const OUString& rOrgCalendar, const rtl::OUString &rGregorian = Gregorian::get(); if ( rOrgCalendar.getLength() && rCal.getUniqueID() != rGregorian ) { - rCal.loadCalendar( rGregorian, rLoc().getLocale() ); + rCal.loadCalendar( rGregorian, rLoc().getLanguageTag().getLocale() ); rCal.setDateTime( fOrgDateTime ); } } @@ -3394,7 +3395,7 @@ bool SvNumberformat::ImpFallBackToGregorianCalendar( OUString& rOrgCalendar, dou { rOrgCalendar = ""; } - rCal.loadCalendar( rGregorian, rLoc().getLocale() ); + rCal.loadCalendar( rGregorian, rLoc().getLanguageTag().getLocale() ); rCal.setDateTime( fOrgDateTime ); return true; } @@ -3596,7 +3597,7 @@ bool SvNumberformat::ImpGetDateOutput(double fNumber, aOrgCalendar = rCal.getUniqueID(); fOrgDateTime = rCal.getDateTime(); } - rCal.loadCalendar( rInfo.sStrArray[i], rLoc().getLocale() ); + rCal.loadCalendar( rInfo.sStrArray[i], rLoc().getLanguageTag().getLocale() ); rCal.setDateTime( fOrgDateTime ); ImpFallBackToGregorianCalendar( aOrgCalendar, fOrgDateTime ); break; @@ -3746,7 +3747,7 @@ bool SvNumberformat::ImpGetDateOutput(double fNumber, } if ( aOrgCalendar.getLength() ) { - rCal.loadCalendar( aOrgCalendar, rLoc().getLocale() ); // restore calendar + rCal.loadCalendar( aOrgCalendar, rLoc().getLanguageTag().getLocale() ); // restore calendar } return bRes; } @@ -3889,7 +3890,7 @@ bool SvNumberformat::ImpGetDateTimeOutput(double fNumber, aOrgCalendar = rCal.getUniqueID(); fOrgDateTime = rCal.getDateTime(); } - rCal.loadCalendar( rInfo.sStrArray[i], rLoc().getLocale() ); + rCal.loadCalendar( rInfo.sStrArray[i], rLoc().getLanguageTag().getLocale() ); rCal.setDateTime( fOrgDateTime ); ImpFallBackToGregorianCalendar( aOrgCalendar, fOrgDateTime ); break; @@ -4092,7 +4093,7 @@ bool SvNumberformat::ImpGetDateTimeOutput(double fNumber, } if ( aOrgCalendar.getLength() ) { - rCal.loadCalendar( aOrgCalendar, rLoc().getLocale() ); // restore calendar + rCal.loadCalendar( aOrgCalendar, rLoc().getLanguageTag().getLocale() ); // restore calendar } return bRes; } diff --git a/svl/source/numbers/zforscan.cxx b/svl/source/numbers/zforscan.cxx index e82eaa01547e..0b8812946c58 100644 --- a/svl/source/numbers/zforscan.cxx +++ b/svl/source/numbers/zforscan.cxx @@ -223,9 +223,10 @@ void ImpSvNumberformatScan::SetDependentKeywords() const LocaleDataWrapper* pLocaleData = pFormatter->GetLocaleData(); // #80023# be sure to generate keywords for the loaded Locale, not for the // requested Locale, otherwise number format codes might not match - lang::Locale aLoadedLocale = pLocaleData->getLoadedLocale(); - LanguageType eLang = LanguageTag( aLoadedLocale ).getLanguageType( false); - NumberFormatCodeWrapper aNumberFormatCode( comphelper::getComponentContext(pFormatter->GetServiceManager()), aLoadedLocale ); + const LanguageTag& rLoadedLocale = pLocaleData->getLoadedLanguageTag(); + LanguageType eLang = rLoadedLocale.getLanguageType( false); + NumberFormatCodeWrapper aNumberFormatCode( comphelper::getComponentContext(pFormatter->GetServiceManager()), + rLoadedLocale.getLocale() ); i18n::NumberFormatCode aFormat = aNumberFormatCode.getFormatCode( NF_NUMBER_STANDARD ); sNameStandardFormat = lcl_extractStandardGeneralName( aFormat.Code); |