diff options
490 files changed, 1993 insertions, 1849 deletions
diff --git a/avmedia/inc/strings.hrc b/avmedia/inc/strings.hrc index 26e6b8fbd478..084bdf5353cf 100644 --- a/avmedia/inc/strings.hrc +++ b/avmedia/inc/strings.hrc @@ -19,7 +19,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define AVMEDIA_STR_OPEN NC_("AVMEDIA_STR_OPEN", "Open") #define AVMEDIA_STR_INSERT NC_("AVMEDIA_STR_INSERT", "Apply") diff --git a/avmedia/source/inc/mediamisc.hxx b/avmedia/source/inc/mediamisc.hxx index 014a73c6c56f..542dbe5f1f74 100644 --- a/avmedia/source/inc/mediamisc.hxx +++ b/avmedia/source/inc/mediamisc.hxx @@ -35,7 +35,7 @@ // Mime types #define AVMEDIA_MIMETYPE_COMMON "application/vnd.sun.star.media" -inline OUString AvmResId(std::string_view aId) +inline OUString AvmResId(TranslateId aId) { return Translate::get(aId, Translate::Create("avmedia")); } diff --git a/basctl/inc/strings.hrc b/basctl/inc/strings.hrc index a5a0a4660b59..63f68ba0fcf9 100644 --- a/basctl/inc/strings.hrc +++ b/basctl/inc/strings.hrc @@ -20,7 +20,7 @@ #ifndef BASCTL_INC_BASIDESH_HRC #define BASCTL_INC_BASIDESH_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define RID_STR_FILTER_ALLFILES NC_("RID_STR_FILTER_ALLFILES", "<All>") #define RID_STR_NOMODULE NC_("RID_STR_NOMODULE", "< No Module >") diff --git a/basctl/source/basicide/iderdll.cxx b/basctl/source/basicide/iderdll.cxx index a6f3abd68edb..022045050e9a 100644 --- a/basctl/source/basicide/iderdll.cxx +++ b/basctl/source/basicide/iderdll.cxx @@ -105,7 +105,7 @@ ExtraData* GetExtraData() return nullptr; } -OUString IDEResId(std::string_view aId) +OUString IDEResId(TranslateId aId) { return Translate::get(aId, SfxApplication::GetModule(SfxToolsModule::Basic)->GetResLocale()); } diff --git a/basctl/source/inc/iderid.hxx b/basctl/source/inc/iderid.hxx index 254d481ad614..83cbc3d0c4aa 100644 --- a/basctl/source/inc/iderid.hxx +++ b/basctl/source/inc/iderid.hxx @@ -20,11 +20,11 @@ #pragma once #include <rtl/ustring.hxx> -#include <string_view> +#include <unotools/resmgr.hxx> namespace basctl { -OUString IDEResId(std::string_view aId); +OUString IDEResId(TranslateId aId); } // namespace basctl diff --git a/basic/inc/basic.hrc b/basic/inc/basic.hrc index 1a063615318e..3208737a2564 100644 --- a/basic/inc/basic.hrc +++ b/basic/inc/basic.hrc @@ -19,9 +19,9 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -std::pair<const char*, ErrCode> const RID_BASIC_START[] = +std::pair<TranslateId, ErrCode> const RID_BASIC_START[] = { { NC_("RID_BASIC_START", "Syntax error."), ERRCODE_BASIC_SYNTAX }, { NC_("RID_BASIC_START", "Return without Gosub."), ERRCODE_BASIC_NO_GOSUB }, @@ -152,7 +152,7 @@ std::pair<const char*, ErrCode> const RID_BASIC_START[] = { NC_("RID_BASIC_START", "Too many DLL application clients."), ERRCODE_BASIC_TOO_MANY_DLL }, { NC_("RID_BASIC_START", "For loop not initialized."), ERRCODE_BASIC_LOOP_NOT_INIT }, { NC_("RID_BASIC_START", "$(ARG1)"), ERRCODE_BASIC_COMPAT }, - { nullptr, ERRCODE_NONE } + { {}, ERRCODE_NONE } }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/basic/inc/strings.hrc b/basic/inc/strings.hrc index ff8e0fc22618..7aeb2831a64a 100644 --- a/basic/inc/strings.hrc +++ b/basic/inc/strings.hrc @@ -19,7 +19,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define STR_BASICKEY_FORMAT_ON NC_("STR_BASICKEY_FORMAT_ON", "On") #define STR_BASICKEY_FORMAT_OFF NC_("STR_BASICKEY_FORMAT_OFF", "Off") diff --git a/basic/source/classes/sb.cxx b/basic/source/classes/sb.cxx index d394c9c8d9a1..e4ee5b508451 100644 --- a/basic/source/classes/sb.cxx +++ b/basic/source/classes/sb.cxx @@ -1543,8 +1543,8 @@ void StarBASIC::MakeErrorText( ErrCode nId, std::u16string_view aMsg ) SolarMutexGuard aSolarGuard; sal_uInt16 nOldID = GetVBErrorCode( nId ); - const char* pErrorMsg = nullptr; - for (std::pair<const char *, ErrCode> const *pItem = RID_BASIC_START; pItem->second; ++pItem) + TranslateId pErrorMsg; + for (std::pair<TranslateId, ErrCode> const *pItem = RID_BASIC_START; pItem->second; ++pItem) { if (nId == pItem->second) { diff --git a/basic/source/sbx/sbxscan.cxx b/basic/source/sbx/sbxscan.cxx index b59f948aa6d8..a632a689a42f 100644 --- a/basic/source/sbx/sbxscan.cxx +++ b/basic/source/sbx/sbxscan.cxx @@ -591,7 +591,7 @@ std::locale BasResLocale() return Translate::Create("sb"); } -OUString BasResId(std::string_view aId) +OUString BasResId(TranslateId aId) { return Translate::get(aId, BasResLocale()); } diff --git a/chart2/inc/chart.hrc b/chart2/inc/chart.hrc index 4620a78be366..a43ce2a78993 100644 --- a/chart2/inc/chart.hrc +++ b/chart2/inc/chart.hrc @@ -9,9 +9,9 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* CHART_TYPE[] = +const TranslateId CHART_TYPE[] = { NC_("tp_ChartType|liststore1", "Bar"), NC_("tp_ChartType|liststore1", "Cylinder"), diff --git a/chart2/inc/strings.hrc b/chart2/inc/strings.hrc index 163b0f44e902..ab6ca48c8376 100644 --- a/chart2/inc/strings.hrc +++ b/chart2/inc/strings.hrc @@ -19,7 +19,7 @@ #ifndef CHART_STRINGS_HRC #define CHART_STRINGS_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define STR_DLG_CHART_WIZARD NC_("STR_DLG_CHART_WIZARD", "Chart Wizard") #define STR_DLG_SMOOTH_LINE_PROPERTIES NC_("STR_DLG_SMOOTH_LINE_PROPERTIES", "Smooth Lines") diff --git a/chart2/source/controller/dialogs/dlg_CreationWizard.cxx b/chart2/source/controller/dialogs/dlg_CreationWizard.cxx index da073c2f9956..e35dfb8a166e 100644 --- a/chart2/source/controller/dialogs/dlg_CreationWizard.cxx +++ b/chart2/source/controller/dialogs/dlg_CreationWizard.cxx @@ -171,7 +171,7 @@ void CreationWizard::setValidPage(BuilderPage* pTabPage) OUString CreationWizard::getStateDisplayName( WizardState nState ) const { - const char* pResId = nullptr; + TranslateId pResId; switch( nState ) { case STATE_CHARTTYPE: diff --git a/chart2/source/controller/dialogs/tp_Scale.cxx b/chart2/source/controller/dialogs/tp_Scale.cxx index db2ba248ee8e..e605b17c9891 100644 --- a/chart2/source/controller/dialogs/tp_Scale.cxx +++ b/chart2/source/controller/dialogs/tp_Scale.cxx @@ -395,7 +395,7 @@ DeactivateRC ScaleTabPage::DeactivatePage(SfxItemSet* pItemSet) nStepFmt = 0; weld::Widget* pControl = nullptr; - const char* pErrStrId = nullptr; + TranslateId pErrStrId; double fDummy; fMax = m_xFmtFldMax->GetFormatter().GetValue(); @@ -583,9 +583,9 @@ void ScaleTabPage::ShowAxisOrigin( bool bShowOrigin ) m_bShowAxisOrigin = true; } -bool ScaleTabPage::ShowWarning(const char* pResIdMessage, weld::Widget* pControl /* = nullptr */) +bool ScaleTabPage::ShowWarning(TranslateId pResIdMessage, weld::Widget* pControl /* = nullptr */) { - if (pResIdMessage == nullptr) + if (!pResIdMessage) return false; std::unique_ptr<weld::MessageDialog> xWarn(Application::CreateMessageDialog(GetFrameWeld(), diff --git a/chart2/source/controller/dialogs/tp_Scale.hxx b/chart2/source/controller/dialogs/tp_Scale.hxx index 101e6df1cede..b90d3ef20211 100644 --- a/chart2/source/controller/dialogs/tp_Scale.hxx +++ b/chart2/source/controller/dialogs/tp_Scale.hxx @@ -19,6 +19,7 @@ #pragma once #include <sfx2/tabdlg.hxx> +#include <unotools/resmgr.hxx> namespace chart { @@ -98,7 +99,7 @@ private: @return false, if nResIdMessage was 0, true otherwise */ - bool ShowWarning(const char* pResIdMessage, weld::Widget* pControl); + bool ShowWarning(TranslateId pResIdMessage, weld::Widget* pControl); void HideAllControls(); }; diff --git a/chart2/source/controller/main/ChartController_Tools.cxx b/chart2/source/controller/main/ChartController_Tools.cxx index 093cbcdaeac8..0515bc84ccb7 100644 --- a/chart2/source/controller/main/ChartController_Tools.cxx +++ b/chart2/source/controller/main/ChartController_Tools.cxx @@ -725,7 +725,7 @@ bool ChartController::executeDispatch_Delete() ObjectIdentifier::getObjectPropertySet( aCID, getModel() )); if( xErrorBarProp.is()) { - const char* pId; + TranslateId pId; if ( aObjectType == OBJECTTYPE_DATA_ERRORS_X ) pId = STR_OBJECT_ERROR_BARS_X; diff --git a/chart2/source/controller/main/DrawCommandDispatch.cxx b/chart2/source/controller/main/DrawCommandDispatch.cxx index 545f600f36a2..1de375c1f281 100644 --- a/chart2/source/controller/main/DrawCommandDispatch.cxx +++ b/chart2/source/controller/main/DrawCommandDispatch.cxx @@ -73,7 +73,7 @@ bool DrawCommandDispatch::isFeatureSupported( const OUString& rCommandURL ) return parseCommandURL( rCommandURL, &nFeatureId, &aBaseCommand, &aCustomShapeType ); } -static ::basegfx::B2DPolyPolygon getPolygon(const char* pResId, const SdrModel& rModel) +static ::basegfx::B2DPolyPolygon getPolygon(TranslateId pResId, const SdrModel& rModel) { ::basegfx::B2DPolyPolygon aReturn; XLineEndListRef pLineEndList = rModel.GetLineEndList(); diff --git a/chart2/source/inc/ResId.hxx b/chart2/source/inc/ResId.hxx index 91dc561e2cb9..48baf852ab04 100644 --- a/chart2/source/inc/ResId.hxx +++ b/chart2/source/inc/ResId.hxx @@ -20,11 +20,11 @@ #include <rtl/ustring.hxx> #include "charttoolsdllapi.hxx" -#include <string_view> +#include <unotools/resmgr.hxx> namespace chart { -OUString OOO_DLLPUBLIC_CHARTTOOLS SchResId(std::string_view aId); +OUString OOO_DLLPUBLIC_CHARTTOOLS SchResId(TranslateId aId); } // namespace chart diff --git a/chart2/source/tools/ResId.cxx b/chart2/source/tools/ResId.cxx index 7a19075a57b3..aaa1d840c95c 100644 --- a/chart2/source/tools/ResId.cxx +++ b/chart2/source/tools/ResId.cxx @@ -18,11 +18,10 @@ */ #include <ResId.hxx> -#include <unotools/resmgr.hxx> namespace chart { - OUString SchResId(std::string_view aId) + OUString SchResId(TranslateId aId) { return Translate::get(aId, Translate::Create("chart")); } diff --git a/connectivity/CppunitTest_connectivity_sharedresources.mk b/connectivity/CppunitTest_connectivity_sharedresources.mk index 9af3f8ca2442..f9f8172c6fce 100644 --- a/connectivity/CppunitTest_connectivity_sharedresources.mk +++ b/connectivity/CppunitTest_connectivity_sharedresources.mk @@ -30,6 +30,7 @@ $(eval $(call gb_CppunitTest_use_libraries,connectivity_sharedresources, \ dbtools \ sal \ test \ + utl \ unotest \ )) diff --git a/connectivity/Library_ado.mk b/connectivity/Library_ado.mk index ca9633eca0bd..4886c5aa6d61 100644 --- a/connectivity/Library_ado.mk +++ b/connectivity/Library_ado.mk @@ -42,6 +42,7 @@ $(eval $(call gb_Library_use_libraries,ado,\ cppuhelper \ sal \ salhelper \ + utl \ dbtools \ comphelper \ )) diff --git a/connectivity/Library_mysql_jdbc.mk b/connectivity/Library_mysql_jdbc.mk index b6916ce784b1..ce4649f88580 100644 --- a/connectivity/Library_mysql_jdbc.mk +++ b/connectivity/Library_mysql_jdbc.mk @@ -29,6 +29,7 @@ $(eval $(call gb_Library_use_libraries,mysql_jdbc,\ cppuhelper \ sal \ salhelper \ + utl \ dbtools \ comphelper \ )) diff --git a/connectivity/Library_odbc.mk b/connectivity/Library_odbc.mk index ae2b131c3649..9ab70270cfc7 100644 --- a/connectivity/Library_odbc.mk +++ b/connectivity/Library_odbc.mk @@ -41,6 +41,7 @@ $(eval $(call gb_Library_use_libraries,odbc,\ dbtools \ sal \ salhelper \ + utl \ )) $(eval $(call gb_Library_add_exception_objects,odbc,\ diff --git a/connectivity/inc/strings.hrc b/connectivity/inc/strings.hrc index ce4177493bd9..47a857bd1226 100644 --- a/connectivity/inc/strings.hrc +++ b/connectivity/inc/strings.hrc @@ -19,7 +19,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) // = common strings #define STR_NO_CONNECTION_GIVEN NC_("STR_NO_CONNECTION_GIVEN", "No connection to the database exists.") diff --git a/connectivity/source/commontools/TConnection.cxx b/connectivity/source/commontools/TConnection.cxx index 134aa5960115..89ab7e9ca11d 100644 --- a/connectivity/source/commontools/TConnection.cxx +++ b/connectivity/source/commontools/TConnection.cxx @@ -75,7 +75,7 @@ Sequence< sal_Int8 > OMetaConnection::getUnoTunnelId() return s_aPropertyNameMap; } -void OMetaConnection::throwGenericSQLException(const char* pErrorResourceId, const Reference< XInterface>& _xContext ) +void OMetaConnection::throwGenericSQLException(TranslateId pErrorResourceId, const Reference< XInterface>& _xContext ) { OUString sErrorMessage; if (pErrorResourceId) diff --git a/connectivity/source/commontools/sqlerror.cxx b/connectivity/source/commontools/sqlerror.cxx index 513a5cf9dc81..383743906520 100644 --- a/connectivity/source/commontools/sqlerror.cxx +++ b/connectivity/source/commontools/sqlerror.cxx @@ -103,7 +103,7 @@ namespace connectivity _rMessage = _rMessage.replaceAt( nIndex, nPlaceholderLen, *rParamValue ); } - const char* lcl_getResourceErrorID(const ErrorCondition _eCondition) + TranslateId lcl_getResourceErrorID(const ErrorCondition _eCondition) { switch (_eCondition) { @@ -126,7 +126,7 @@ namespace connectivity case css::sdb::ErrorCondition::DATA_CANNOT_SELECT_UNFILTERED: return STR_DATA_CANNOT_SELECT_UNFILTERED; } - return nullptr; + return {}; } OUString lcl_getResourceState(const ErrorCondition _eCondition) diff --git a/connectivity/source/drivers/dbase/DIndex.cxx b/connectivity/source/drivers/dbase/DIndex.cxx index d168de39eb77..04f46be9a513 100644 --- a/connectivity/source/drivers/dbase/DIndex.cxx +++ b/connectivity/source/drivers/dbase/DIndex.cxx @@ -461,7 +461,7 @@ void ODbaseIndex::DropImpl() } } -void ODbaseIndex::impl_killFileAndthrowError_throw(const char* pErrorId, const OUString& _sFile) +void ODbaseIndex::impl_killFileAndthrowError_throw(TranslateId pErrorId, const OUString& _sFile) { closeImpl(); if(UCBContentHelper::Exists(_sFile)) diff --git a/connectivity/source/drivers/dbase/DTable.cxx b/connectivity/source/drivers/dbase/DTable.cxx index 5b1ea452f61a..f597ce615b5f 100644 --- a/connectivity/source/drivers/dbase/DTable.cxx +++ b/connectivity/source/drivers/dbase/DTable.cxx @@ -1103,7 +1103,7 @@ bool ODbaseTable::CreateImpl() return true; } -void ODbaseTable::throwInvalidColumnType(const char* pErrorId, const OUString& _sColumnName) +void ODbaseTable::throwInvalidColumnType(TranslateId pErrorId, const OUString& _sColumnName) { try { diff --git a/connectivity/source/drivers/file/FResultSet.cxx b/connectivity/source/drivers/file/FResultSet.cxx index 595ca2be7281..4d29f1de7a84 100644 --- a/connectivity/source/drivers/file/FResultSet.cxx +++ b/connectivity/source/drivers/file/FResultSet.cxx @@ -57,7 +57,7 @@ using namespace com::sun::star::container; namespace { - void lcl_throwError(const char* pErrorId, const css::uno::Reference< css::uno::XInterface>& _xContext) + void lcl_throwError(TranslateId pErrorId, const css::uno::Reference< css::uno::XInterface>& _xContext) { ::connectivity::SharedResources aResources; const OUString sMessage = aResources.getResourceString(pErrorId); diff --git a/connectivity/source/drivers/macab/MacabStatement.cxx b/connectivity/source/drivers/macab/MacabStatement.cxx index 1f317150d249..6c8a02cd7391 100644 --- a/connectivity/source/drivers/macab/MacabStatement.cxx +++ b/connectivity/source/drivers/macab/MacabStatement.cxx @@ -47,7 +47,7 @@ using namespace com::sun::star::util; namespace connectivity::macab { - void impl_throwError(const char* pErrorId) + void impl_throwError(TranslateId pErrorId) { ::connectivity::SharedResources aResources; const OUString sError( aResources.getResourceString(pErrorId) ); diff --git a/connectivity/source/drivers/macab/macabutilities.hxx b/connectivity/source/drivers/macab/macabutilities.hxx index abf65c73d152..cfe46f37f286 100644 --- a/connectivity/source/drivers/macab/macabutilities.hxx +++ b/connectivity/source/drivers/macab/macabutilities.hxx @@ -21,6 +21,7 @@ #include <com/sun/star/util/DateTime.hpp> #include <com/sun/star/sdbc/DataType.hpp> +#include <unotools/resmgr.hxx> #include <time.h> #include <premac.h> @@ -131,7 +132,7 @@ namespace connectivity::macab return dataType; } - void impl_throwError(const char* pErrorId); + void impl_throwError(TranslateId pErrorId); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/inc/TConnection.hxx b/connectivity/source/inc/TConnection.hxx index 0e9c4c22e750..246e968b8a32 100644 --- a/connectivity/source/inc/TConnection.hxx +++ b/connectivity/source/inc/TConnection.hxx @@ -61,7 +61,7 @@ namespace connectivity rtl_TextEncoding getTextEncoding() const { return m_nTextEncoding; } const OUString& getURL() const { return m_sURL; } void setURL(const OUString& _rsUrl) { m_sURL = _rsUrl; } - void throwGenericSQLException(const char* pErrorResourceId, const css::uno::Reference< css::uno::XInterface>& _xContext); + void throwGenericSQLException(TranslateId pErrorResourceId, const css::uno::Reference< css::uno::XInterface>& _xContext); const SharedResources& getResources() const { return m_aResources;} void setConnectionInfo(const css::uno::Sequence< css::beans::PropertyValue >& _aInfo) { m_aConnectionInfo = _aInfo; } diff --git a/connectivity/source/inc/dbase/DIndex.hxx b/connectivity/source/inc/dbase/DIndex.hxx index 3c5374f298e2..12d7574e4b28 100644 --- a/connectivity/source/inc/dbase/DIndex.hxx +++ b/connectivity/source/inc/dbase/DIndex.hxx @@ -81,7 +81,7 @@ namespace connectivity::dbase OUString getCompletePath() const; void closeImpl(); // Closes and kills the index file and throws an error - void impl_killFileAndthrowError_throw(const char* pErrorId, const OUString& _sFile); + void impl_killFileAndthrowError_throw(TranslateId pErrorId, const OUString& _sFile); protected: virtual ~ODbaseIndex() override; public: diff --git a/connectivity/source/inc/dbase/DTable.hxx b/connectivity/source/inc/dbase/DTable.hxx index c41ee9f7e9e1..79048b56d96f 100644 --- a/connectivity/source/inc/dbase/DTable.hxx +++ b/connectivity/source/inc/dbase/DTable.hxx @@ -130,7 +130,7 @@ namespace connectivity::dbase /// @throws css::container::ElementExistException /// @throws css::uno::RuntimeException void renameImpl( const OUString& newName ); - void throwInvalidColumnType(const char* pErrorId, const OUString& _sColumnName); + void throwInvalidColumnType(TranslateId pErrorId, const OUString& _sColumnName); protected: virtual void FileClose() override; diff --git a/connectivity/source/inc/resource/sharedresources.hxx b/connectivity/source/inc/resource/sharedresources.hxx index 8b4f3f98899d..0c439cdf24e3 100644 --- a/connectivity/source/inc/resource/sharedresources.hxx +++ b/connectivity/source/inc/resource/sharedresources.hxx @@ -22,7 +22,7 @@ #include <rtl/ustring.hxx> #include <vector> #include <connectivity/dbtoolsdllapi.hxx> - +#include <unotools/resmgr.hxx> namespace connectivity { @@ -47,7 +47,7 @@ namespace connectivity */ OUString getResourceString( - const char* pResId + TranslateId pResId ) const; /** loads a string from the shared resource file, and replaces @@ -65,7 +65,7 @@ namespace connectivity */ OUString getResourceStringWithSubstitution( - const char* pResId, + TranslateId pResId, const char* _pAsciiPatternToReplace, const OUString& _rStringToSubstitute ) const; @@ -89,7 +89,7 @@ namespace connectivity */ OUString getResourceStringWithSubstitution( - const char* pResId, + TranslateId pResId, const char* _pAsciiPatternToReplace1, const OUString& _rStringToSubstitute1, const char* _pAsciiPatternToReplace2, @@ -119,7 +119,7 @@ namespace connectivity */ OUString getResourceStringWithSubstitution( - const char* pResId, + TranslateId pResId, const char* _pAsciiPatternToReplace1, const OUString& _rStringToSubstitute1, const char* _pAsciiPatternToReplace2, @@ -138,7 +138,7 @@ namespace connectivity @return the string from the resource file, with applied string substitution */ - OUString getResourceStringWithSubstitution( const char* pResId, + OUString getResourceStringWithSubstitution( TranslateId pResId, const std::vector< std::pair<const char* , OUString > >& _rStringToSubstitutes) const; }; diff --git a/connectivity/source/resource/sharedresources.cxx b/connectivity/source/resource/sharedresources.cxx index 3f7062f6be52..b7c204c9f1cc 100644 --- a/connectivity/source/resource/sharedresources.cxx +++ b/connectivity/source/resource/sharedresources.cxx @@ -44,7 +44,7 @@ namespace connectivity static SharedResources_Impl& getInstance(); - OUString getResourceString(const char* pId); + OUString getResourceString(TranslateId pId); private: SharedResources_Impl(); @@ -66,7 +66,7 @@ namespace connectivity { } - OUString SharedResources_Impl::getResourceString(const char* pId) + OUString SharedResources_Impl::getResourceString(TranslateId pId) { return Translate::get(pId, m_aLocale); } @@ -129,13 +129,13 @@ namespace connectivity } - OUString SharedResources::getResourceString(const char* pResId) const + OUString SharedResources::getResourceString(TranslateId pResId) const { return SharedResources_Impl::getInstance().getResourceString(pResId); } - OUString SharedResources::getResourceStringWithSubstitution(const char* pResId, + OUString SharedResources::getResourceStringWithSubstitution(TranslateId pResId, const char* _pAsciiPatternToReplace, const OUString& _rStringToSubstitute ) const { OUString sString( SharedResources_Impl::getInstance().getResourceString(pResId) ); @@ -145,7 +145,7 @@ namespace connectivity } - OUString SharedResources::getResourceStringWithSubstitution(const char* pResId, + OUString SharedResources::getResourceStringWithSubstitution(TranslateId pResId, const char* _pAsciiPatternToReplace1, const OUString& _rStringToSubstitute1, const char* _pAsciiPatternToReplace2, const OUString& _rStringToSubstitute2 ) const { @@ -158,7 +158,7 @@ namespace connectivity } - OUString SharedResources::getResourceStringWithSubstitution(const char* pResId, + OUString SharedResources::getResourceStringWithSubstitution(TranslateId pResId, const char* _pAsciiPatternToReplace1, const OUString& _rStringToSubstitute1, const char* _pAsciiPatternToReplace2, const OUString& _rStringToSubstitute2, const char* _pAsciiPatternToReplace3, const OUString& _rStringToSubstitute3 ) const @@ -173,7 +173,7 @@ namespace connectivity return sString; } - OUString SharedResources::getResourceStringWithSubstitution(const char* pResId, + OUString SharedResources::getResourceStringWithSubstitution(TranslateId pResId, const std::vector< std::pair<const char* , OUString > >& _rStringToSubstitutes) const { OUString sString( SharedResources_Impl::getInstance().getResourceString(pResId) ); diff --git a/cui/inc/numcategories.hrc b/cui/inc/numcategories.hrc index 73d25da4f079..40370cc65811 100644 --- a/cui/inc/numcategories.hrc +++ b/cui/inc/numcategories.hrc @@ -9,9 +9,11 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#include <unotools/resmgr.hxx> -const char* NUM_CATEGORIES[] = +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) + +const TranslateId NUM_CATEGORIES[] = { NC_("numberingformatpage|liststore1", "All"), NC_("numberingformatpage|liststore1", "User-defined"), diff --git a/cui/inc/strings.hrc b/cui/inc/strings.hrc index 2e6b1276739e..83995559a27a 100644 --- a/cui/inc/strings.hrc +++ b/cui/inc/strings.hrc @@ -18,7 +18,7 @@ */ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define RID_SVXSTR_KEY_CONFIG_DIR NC_("RID_SVXSTR_KEY_CONFIG_DIR", "Configuration") #define RID_SVXSTR_KEY_WORK_PATH NC_("RID_SVXSTR_KEY_WORK_PATH", "My Documents") diff --git a/cui/inc/tipoftheday.hrc b/cui/inc/tipoftheday.hrc index d5d5c7f62a8e..b410d8f5f1ca 100644 --- a/cui/inc/tipoftheday.hrc +++ b/cui/inc/tipoftheday.hrc @@ -19,11 +19,12 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #include <rtl/ustring.hxx> #include <config_python.h> #include <tuple> +#include <unotools/resmgr.hxx> /* * std:tuple consists of <text, uri, image> @@ -44,7 +45,7 @@ * images are scaled to 150x150px; const ThumbSize() in tipoftheday.cxx */ -const std::tuple<const char*, OUString, OUString> TIPOFTHEDAY_STRINGARRAY[] = +const std::tuple<TranslateId, OUString, OUString> TIPOFTHEDAY_STRINGARRAY[] = { { NC_("RID_CUI_TIPOFTHEDAY", "%PRODUCTNAME offers a variety of user interface options to make you feel at home"), ".uno:ToolbarModeUI", "toolbarmode.png"}, { NC_("RID_CUI_TIPOFTHEDAY", "Need to allow changes to parts of a read-only document in Writer? Insert frames or sections that can authorize changes."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/swriter/guide/section_edit.html", "tipoftheday_w.png"}, //local help missing diff --git a/cui/inc/toolbarmode.hrc b/cui/inc/toolbarmode.hrc index ab2c9263abd6..d073eaaf996a 100644 --- a/cui/inc/toolbarmode.hrc +++ b/cui/inc/toolbarmode.hrc @@ -9,15 +9,16 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #include <rtl/ustring.hxx> #include <tuple> +#include <unotools/resmgr.hxx> /* Description, ui file name, preview file name */ -const std::tuple<const char*, OUString, OUString> TOOLBARMODES_ARRAY[] = +const std::tuple<TranslateId, OUString, OUString> TOOLBARMODES_ARRAY[] = { { NC_("RID_CUI_TOOLBARMODES", "Standard user interface with menu, toolbar, and collapsed sidebar. Intended for users who are familiar with the classic interface."), "Default", "default.png" }, { NC_("RID_CUI_TOOLBARMODES", "The Tabbed user interface is the most similar to the Ribbons used in Microsoft Office. It organizes functions in tabs and makes the main menu obsolete."), "notebookbar.ui", "notebookbar.png" }, diff --git a/cui/inc/treeopt.hrc b/cui/inc/treeopt.hrc index 64894a91a5da..c7ee66d7e8d0 100644 --- a/cui/inc/treeopt.hrc +++ b/cui/inc/treeopt.hrc @@ -26,9 +26,9 @@ #include <utility> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const std::pair<const char*, sal_uInt16> SID_GENERAL_OPTIONS_RES[] = +const std::pair<TranslateId, sal_uInt16> SID_GENERAL_OPTIONS_RES[] = { { NC_("SID_GENERAL_OPTIONS_RES", "%PRODUCTNAME"), 0 }, { NC_("SID_GENERAL_OPTIONS_RES", "User Data"), RID_SFXPAGE_GENERAL }, @@ -47,7 +47,7 @@ const std::pair<const char*, sal_uInt16> SID_GENERAL_OPTIONS_RES[] = { NC_("SID_GENERAL_OPTIONS_RES", "OpenCL"), RID_SVXPAGE_OPENCL } }; -const std::pair<const char*, sal_uInt16> SID_LANGUAGE_OPTIONS_RES[] = +const std::pair<TranslateId, sal_uInt16> SID_LANGUAGE_OPTIONS_RES[] = { { NC_("SID_LANGUAGE_OPTIONS_RES", "Language Settings"), 0 }, { NC_("SID_LANGUAGE_OPTIONS_RES", "Languages"), OFA_TP_LANGUAGES }, @@ -57,14 +57,14 @@ const std::pair<const char*, sal_uInt16> SID_LANGUAGE_OPTIONS_RES[] = { NC_("SID_LANGUAGE_OPTIONS_RES", "Complex Text Layout"), RID_SVXPAGE_OPTIONS_CTL } }; -const std::pair<const char*, sal_uInt16> SID_INET_DLG_RES[] = +const std::pair<TranslateId, sal_uInt16> SID_INET_DLG_RES[] = { { NC_("SID_INET_DLG_RES", "Internet"), 0 }, { NC_("SID_INET_DLG_RES", "Proxy"), RID_SVXPAGE_INET_PROXY }, { NC_("SID_INET_DLG_RES", "Email"), RID_SVXPAGE_INET_MAIL } }; -const std::pair<const char*, sal_uInt16> SID_SW_EDITOPTIONS_RES[] = +const std::pair<TranslateId, sal_uInt16> SID_SW_EDITOPTIONS_RES[] = { { NC_("SID_SW_EDITOPTIONS_RES", "%PRODUCTNAME Writer"), 0 }, { NC_("SID_SW_EDITOPTIONS_RES", "General"), RID_SW_TP_OPTLOAD_PAGE }, @@ -83,7 +83,7 @@ const std::pair<const char*, sal_uInt16> SID_SW_EDITOPTIONS_RES[] = { NC_("SID_SW_EDITOPTIONS_RES", "Mail Merge Email"), RID_SW_TP_MAILCONFIG } }; -const std::pair<const char*, sal_uInt16> SID_SW_ONLINEOPTIONS_RES[] = +const std::pair<TranslateId, sal_uInt16> SID_SW_ONLINEOPTIONS_RES[] = { { NC_("SID_SW_ONLINEOPTIONS_RES", "%PRODUCTNAME Writer/Web"), 0 }, { NC_("SID_SW_ONLINEOPTIONS_RES", "View"), RID_SW_TP_HTML_CONTENT_OPT }, @@ -94,13 +94,13 @@ const std::pair<const char*, sal_uInt16> SID_SW_ONLINEOPTIONS_RES[] = { NC_("SID_SW_ONLINEOPTIONS_RES", "Background"), RID_SW_TP_BACKGROUND } }; -const std::pair<const char*, sal_uInt16> SID_SM_EDITOPTIONS_RES[] = +const std::pair<TranslateId, sal_uInt16> SID_SM_EDITOPTIONS_RES[] = { { NC_("SID_SM_EDITOPTIONS_RES", "%PRODUCTNAME Math"), 0 }, { NC_("SID_SM_EDITOPTIONS_RES", "Settings"), SID_SM_TP_PRINTOPTIONS }, }; -const std::pair<const char*, sal_uInt16> SID_SC_EDITOPTIONS_RES[] = +const std::pair<TranslateId, sal_uInt16> SID_SC_EDITOPTIONS_RES[] = { { NC_("SID_SC_EDITOPTIONS_RES", "%PRODUCTNAME Calc"), 0 }, { NC_("SID_SC_EDITOPTIONS_RES", "General"), SID_SC_TP_LAYOUT }, @@ -115,7 +115,7 @@ const std::pair<const char*, sal_uInt16> SID_SC_EDITOPTIONS_RES[] = { NC_("SID_SC_EDITOPTIONS_RES", "Print"), RID_SC_TP_PRINT } }; -const std::pair<const char*, sal_uInt16> SID_SD_EDITOPTIONS_RES[] = +const std::pair<TranslateId, sal_uInt16> SID_SD_EDITOPTIONS_RES[] = { { NC_("SID_SD_EDITOPTIONS_RES", "%PRODUCTNAME Impress"), 0 }, { NC_("SID_SD_EDITOPTIONS_RES", "General"), SID_SI_TP_MISC }, @@ -124,7 +124,7 @@ const std::pair<const char*, sal_uInt16> SID_SD_EDITOPTIONS_RES[] = { NC_("SID_SD_EDITOPTIONS_RES", "Print"), SID_SI_TP_PRINT } }; -const std::pair<const char*, sal_uInt16> SID_SD_GRAPHIC_OPTIONS_RES[] = +const std::pair<TranslateId, sal_uInt16> SID_SD_GRAPHIC_OPTIONS_RES[] = { { NC_("SID_SD_GRAPHIC_OPTIONS_RES", "%PRODUCTNAME Draw"), 0 }, { NC_("SID_SD_GRAPHIC_OPTIONS_RES", "General"), SID_SD_TP_MISC }, @@ -133,13 +133,13 @@ const std::pair<const char*, sal_uInt16> SID_SD_GRAPHIC_OPTIONS_RES[] = { NC_("SID_SD_GRAPHIC_OPTIONS_RES", "Print"), SID_SD_TP_PRINT } }; -const std::pair<const char*, sal_uInt16> SID_SCH_EDITOPTIONS_RES[] = +const std::pair<TranslateId, sal_uInt16> SID_SCH_EDITOPTIONS_RES[] = { { NC_("SID_SCH_EDITOPTIONS_RES", "Charts"), 0 }, { NC_("SID_SCH_EDITOPTIONS_RES", "Default Colors"), RID_OPTPAGE_CHART_DEFCOLORS } }; -const std::pair<const char*, sal_uInt16> SID_FILTER_DLG_RES[] = +const std::pair<TranslateId, sal_uInt16> SID_FILTER_DLG_RES[] = { { NC_("SID_FILTER_DLG_RES", "Load/Save"), 0 }, { NC_("SID_FILTER_DLG_RES", "General"), RID_SFXPAGE_SAVE }, @@ -148,7 +148,7 @@ const std::pair<const char*, sal_uInt16> SID_FILTER_DLG_RES[] = { NC_("SID_FILTER_DLG_RES", "HTML Compatibility"), RID_OFAPAGE_HTMLOPT } }; -const std::pair<const char*, sal_uInt16> SID_SB_STARBASEOPTIONS_RES[] = +const std::pair<TranslateId, sal_uInt16> SID_SB_STARBASEOPTIONS_RES[] = { { NC_("SID_SB_STARBASEOPTIONS_RES", "%PRODUCTNAME Base"), 0 }, { NC_("SID_SB_STARBASEOPTIONS_RES", "Connections"), SID_SB_CONNECTIONPOOLING }, diff --git a/cui/inc/twolines.hrc b/cui/inc/twolines.hrc index 609e05e267d6..c0e46d70144e 100644 --- a/cui/inc/twolines.hrc +++ b/cui/inc/twolines.hrc @@ -13,7 +13,7 @@ #include <utility> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define CHRDLG_ENCLOSE_NONE 0 #define CHRDLG_ENCLOSE_ROUND 1 @@ -22,7 +22,7 @@ #define CHRDLG_ENCLOSE_CURVED 4 #define CHRDLG_ENCLOSE_SPECIAL_CHAR 5 -const std::pair<const char*, sal_uInt16> TWOLINE_OPEN[] = +const std::pair<TranslateId, sal_uInt16> TWOLINE_OPEN[] = { { NC_("twolinespage|liststore1", "(None)"), CHRDLG_ENCLOSE_NONE }, { NC_("twolinespage|liststore1", "("), CHRDLG_ENCLOSE_ROUND }, @@ -32,7 +32,7 @@ const std::pair<const char*, sal_uInt16> TWOLINE_OPEN[] = { NC_("twolinespage|liststore1", "Other Characters..."), CHRDLG_ENCLOSE_SPECIAL_CHAR } }; -const std::pair<const char*, sal_uInt16> TWOLINE_CLOSE[] = +const std::pair<TranslateId, sal_uInt16> TWOLINE_CLOSE[] = { { NC_("twolinespage|liststore2", "(None)"), CHRDLG_ENCLOSE_NONE }, { NC_("twolinespage|liststore2", ")"), CHRDLG_ENCLOSE_ROUND }, diff --git a/cui/source/dialogs/about.cxx b/cui/source/dialogs/about.cxx index 12d1927b5ccd..36a7e6e69656 100644 --- a/cui/source/dialogs/about.cxx +++ b/cui/source/dialogs/about.cxx @@ -146,7 +146,7 @@ bool AboutDialog::IsStringValidGitHash(const OUString &hash) { } OUString AboutDialog::GetVersionString() { - OUString sVersion = CuiResId("%ABOUTBOXPRODUCTVERSION%ABOUTBOXPRODUCTVERSIONSUFFIX"); + OUString sVersion = CuiResId(TranslateId(nullptr, "%ABOUTBOXPRODUCTVERSION%ABOUTBOXPRODUCTVERSIONSUFFIX")); #ifdef _WIN64 sVersion += " (x64)"; diff --git a/cui/source/dialogs/cuifmsearch.cxx b/cui/source/dialogs/cuifmsearch.cxx index d6e223dc0d19..18f9cae66536 100644 --- a/cui/source/dialogs/cuifmsearch.cxx +++ b/cui/source/dialogs/cuifmsearch.cxx @@ -192,13 +192,13 @@ void FmSearchDialog::Init(const OUString& strVisibleFields, const OUString& sIni // fill the listboxes // method of field comparison - const char* const aResIds[] = { + const TranslateId aResIds[] = { RID_STR_SEARCH_ANYWHERE, RID_STR_SEARCH_BEGINNING, RID_STR_SEARCH_END, RID_STR_SEARCH_WHOLE }; - for (auto pResId : aResIds) + for (auto const & pResId : aResIds) m_plbPosition->append_text(CuiResId(pResId)); m_plbPosition->set_active(MATCHING_ANYWHERE); @@ -600,7 +600,7 @@ IMPL_LINK(FmSearchDialog, OnSearchProgress, const FmSearchProgress*, pProgress, case FmSearchProgress::State::Error: case FmSearchProgress::State::NothingFound: { - const char* pErrorId = (FmSearchProgress::State::Error == pProgress->aSearchState) + TranslateId pErrorId = (FmSearchProgress::State::Error == pProgress->aSearchState) ? RID_STR_SEARCH_GENERAL_ERROR : RID_STR_SEARCH_NORECORD; std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(m_xDialog.get(), diff --git a/cui/source/factory/cuiresmgr.cxx b/cui/source/factory/cuiresmgr.cxx index fc6f0d5fd24d..2b58e5854f6e 100644 --- a/cui/source/factory/cuiresmgr.cxx +++ b/cui/source/factory/cuiresmgr.cxx @@ -20,6 +20,6 @@ #include <dialmgr.hxx> #include <unotools/resmgr.hxx> -OUString CuiResId(std::string_view aKey) { return Translate::get(aKey, Translate::Create("cui")); } +OUString CuiResId(TranslateId aKey) { return Translate::get(aKey, Translate::Create("cui")); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/inc/border.hxx b/cui/source/inc/border.hxx index 708f79083380..d863650ee52f 100644 --- a/cui/source/inc/border.hxx +++ b/cui/source/inc/border.hxx @@ -27,6 +27,7 @@ #include <svx/colorbox.hxx> #include <svx/frmsel.hxx> #include <svx/flagsdef.hxx> +#include <unotools/resmgr.hxx> #include <set> @@ -169,7 +170,7 @@ private: DECL_LINK(RemoveAdjacentCellBorderHdl_Impl, weld::Toggleable&, void); sal_uInt16 GetPresetImageId(sal_uInt16 nValueSetIdx) const; - const char* GetPresetStringId(sal_uInt16 nValueSetIdx) const; + TranslateId GetPresetStringId(sal_uInt16 nValueSetIdx) const; void FillPresetVS(); void FillShadowVS(); diff --git a/cui/source/inc/dialmgr.hxx b/cui/source/inc/dialmgr.hxx index 003941790603..a26c0b25d32b 100644 --- a/cui/source/inc/dialmgr.hxx +++ b/cui/source/inc/dialmgr.hxx @@ -20,7 +20,8 @@ #pragma once #include <rtl/ustring.hxx> +#include <unotools/resmgr.hxx> -OUString CuiResId(std::string_view aKey); +OUString CuiResId(TranslateId aKey); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/inc/macropg.hxx b/cui/source/inc/macropg.hxx index f6a6e8a17ae2..39e4ef284384 100644 --- a/cui/source/inc/macropg.hxx +++ b/cui/source/inc/macropg.hxx @@ -25,6 +25,7 @@ #include <com/sun/star/util/XModifiable.hpp> #include <com/sun/star/uno/Reference.hxx> #include <rtl/ustring.hxx> +#include <unotools/resmgr.hxx> #include <unordered_map> #include <vector> @@ -34,8 +35,8 @@ typedef std::unordered_map< OUString, std::pair< OUString, OUString > > EventsHa struct EventDisplayName { const char* pAsciiEventName; - const char* pEventResourceID; - EventDisplayName(const char* pAsciiName, const char* pResId) + TranslateId pEventResourceID; + EventDisplayName(const char* pAsciiName, TranslateId pResId) : pAsciiEventName(pAsciiName) , pEventResourceID(pResId) { diff --git a/cui/source/options/optpath.cxx b/cui/source/options/optpath.cxx index 590ff2eb05c5..bdd7db2ca89e 100644 --- a/cui/source/options/optpath.cxx +++ b/cui/source/options/optpath.cxx @@ -245,7 +245,7 @@ void SvxPathTabPage::Reset( const SfxItemSet* ) && !SvtModuleOptions().IsModuleInstalled( SvtModuleOptions::EModule::WRITER ) ) continue; - const char* pId = nullptr; + TranslateId pId; switch (static_cast<SvtPathOptions::Paths>(i)) { diff --git a/cui/source/options/treeopt.cxx b/cui/source/options/treeopt.cxx index 38cbe4952de5..533dc34edea1 100644 --- a/cui/source/options/treeopt.cxx +++ b/cui/source/options/treeopt.cxx @@ -29,6 +29,7 @@ #include <svx/dialogs.hrc> #include <svx/svxids.hrc> +#include <unotools/resmgr.hxx> #include <treeopt.hrc> #include <helpids.h> diff --git a/cui/source/tabpages/border.cxx b/cui/source/tabpages/border.cxx index 435b86ad6b9d..c0adea646e35 100644 --- a/cui/source/tabpages/border.cxx +++ b/cui/source/tabpages/border.cxx @@ -1297,10 +1297,10 @@ sal_uInt16 SvxBorderTabPage::GetPresetImageId( sal_uInt16 nValueSetIdx ) const return ppnImgIds[ nLine ][ nValueSetIdx - 1 ]; } -const char* SvxBorderTabPage::GetPresetStringId( sal_uInt16 nValueSetIdx ) const +TranslateId SvxBorderTabPage::GetPresetStringId( sal_uInt16 nValueSetIdx ) const { // string resource IDs for each image (in order of the IID_PRE_* image IDs) - static const char* pnStrIds[] = + static const TranslateId pnStrIds[] = { RID_SVXSTR_TABLE_PRESET_NONE, RID_SVXSTR_PARA_PRESET_ALL, @@ -1357,7 +1357,7 @@ void SvxBorderTabPage::FillShadowVS() m_xWndShadows->SetColCount( SVX_BORDER_SHADOW_COUNT ); // string resource IDs for each image - static const char* pnStrIds[ SVX_BORDER_SHADOW_COUNT ] = + static const TranslateId pnStrIds[ SVX_BORDER_SHADOW_COUNT ] = { RID_SVXSTR_SHADOW_STYLE_NONE, RID_SVXSTR_SHADOW_STYLE_BOTTOMRIGHT, RID_SVXSTR_SHADOW_STYLE_TOPRIGHT, RID_SVXSTR_SHADOW_STYLE_BOTTOMLEFT, RID_SVXSTR_SHADOW_STYLE_TOPLEFT }; // insert images and help texts diff --git a/dbaccess/inc/core_resource.hxx b/dbaccess/inc/core_resource.hxx index 0e1e80ee3efd..0e70aabefea6 100644 --- a/dbaccess/inc/core_resource.hxx +++ b/dbaccess/inc/core_resource.hxx @@ -22,6 +22,7 @@ #include <rtl/ustring.hxx> #include "dbadllapi.hxx" +#include <unotools/resmgr.hxx> #define DBA_RES( id ) ::dbaccess::ResourceManager::loadString( id ) #define DBA_RES_PARAM( id, ascii, replace ) ::dbaccess::ResourceManager::loadString( id, ascii, replace ) @@ -40,7 +41,7 @@ namespace dbaccess public: /** loads the string with the specified resource id */ - static OUString loadString(const char* pResId); + static OUString loadString(TranslateId pResId); /** loads a string from the resource file, substituting a placeholder with a given string @@ -52,7 +53,7 @@ namespace dbaccess the string which should substitute the placeholder */ static OUString loadString( - const char* pResId, + TranslateId pResId, const char* _pPlaceholderAscii, std::u16string_view _rReplace ); @@ -71,7 +72,7 @@ namespace dbaccess the string which should substitute the second placeholder */ static OUString loadString( - const char* pResId, + TranslateId pResId, const char* _pPlaceholderAscii1, std::u16string_view _rReplace1, const char* _pPlaceholderAscii2, diff --git a/dbaccess/inc/query.hrc b/dbaccess/inc/query.hrc index fe4042517603..e4c034ded11c 100644 --- a/dbaccess/inc/query.hrc +++ b/dbaccess/inc/query.hrc @@ -19,9 +19,9 @@ #ifndef INCLUDED_VCL_INC_PRINTACCESSORYVIEW_HRC #define INCLUDED_VCL_INC_PRINTACCESSORYVIEW_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* RSC_QUERY_OBJECT_TYPE[] = +const TranslateId RSC_QUERY_OBJECT_TYPE[] = { NC_("RSC_QUERY_OBJECT_TYPE", "The table view"), NC_("RSC_QUERY_OBJECT_TYPE", "The query"), diff --git a/dbaccess/inc/strings.hrc b/dbaccess/inc/strings.hrc index 2ccc5a666717..3fe6a7207dac 100644 --- a/dbaccess/inc/strings.hrc +++ b/dbaccess/inc/strings.hrc @@ -19,7 +19,9 @@ #ifndef INCLUDED_DBACCESS_SOURCE_CORE_INC_CORE_RESOURCE_HRC #define INCLUDED_DBACCESS_SOURCE_CORE_INC_CORE_RESOURCE_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#include <unotools/resmgr.hxx> + +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define RID_STR_CONNECTION_INVALID NC_("RID_STR_CONNECTION_INVALID", "No connection could be established.") #define RID_STR_TABLE_IS_FILTERED NC_("RID_STR_TABLE_IS_FILTERED", "The table $name$ already exists. It is not visible because it has been filtered out.") diff --git a/dbaccess/inc/templwin.hrc b/dbaccess/inc/templwin.hrc index 0147a694ff5b..052883d37926 100644 --- a/dbaccess/inc/templwin.hrc +++ b/dbaccess/inc/templwin.hrc @@ -20,8 +20,9 @@ #pragma once #include <utility> +#include <unotools/resmgr.hxx> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define DI_TITLE 1 #define DI_FROM 2 @@ -36,7 +37,7 @@ #define DI_THEME 11 #define DI_SIZE 12 -const std::pair<const char*, int> STRARY_SVT_DOCINFO[] = +const std::pair<TranslateId, int> STRARY_SVT_DOCINFO[] = { { NC_("STRARY_SVT_DOCINFO", "Title") , DI_TITLE }, { NC_("STRARY_SVT_DOCINFO", "By") , DI_FROM }, diff --git a/dbaccess/source/core/dataaccess/datasource.cxx b/dbaccess/source/core/dataaccess/datasource.cxx index 83a45afa3e2d..4f499eccc263 100644 --- a/dbaccess/source/core/dataaccess/datasource.cxx +++ b/dbaccess/source/core/dataaccess/datasource.cxx @@ -676,7 +676,7 @@ Reference< XConnection > ODatabaseSource::buildLowLevelConnection(const OUString sPwd = m_pImpl->m_aPassword; } - const char* pExceptionMessageId = RID_STR_COULDNOTCONNECT_UNSPECIFIED; + TranslateId pExceptionMessageId = RID_STR_COULDNOTCONNECT_UNSPECIFIED; if (xManager.is()) { sal_Int32 nAdditionalArgs(0); diff --git a/dbaccess/source/core/resource/core_resource.cxx b/dbaccess/source/core/resource/core_resource.cxx index cecf7d3b4773..ecf73939eec2 100644 --- a/dbaccess/source/core/resource/core_resource.cxx +++ b/dbaccess/source/core/resource/core_resource.cxx @@ -33,18 +33,18 @@ namespace dbaccess struct theResourceManagerMutex : public rtl::Static< osl::Mutex, theResourceManagerMutex > {}; } - OUString ResourceManager::loadString(const char* pResId) + OUString ResourceManager::loadString(TranslateId pResId) { return Translate::get(pResId, Translate::Create("dba")); } - OUString ResourceManager::loadString(const char* pResId, const char* _pPlaceholderAscii, std::u16string_view _rReplace) + OUString ResourceManager::loadString(TranslateId pResId, const char* _pPlaceholderAscii, std::u16string_view _rReplace) { OUString sString(loadString(pResId)); return sString.replaceFirst( OUString::createFromAscii(_pPlaceholderAscii), _rReplace ); } - OUString ResourceManager::loadString(const char* pResId, const char* _pPlaceholderAscii1, std::u16string_view _rReplace1, + OUString ResourceManager::loadString(TranslateId pResId, const char* _pPlaceholderAscii1, std::u16string_view _rReplace1, const char* _pPlaceholderAscii2, std::u16string_view _rReplace2) { OUString sString(loadString(pResId)); diff --git a/dbaccess/source/ui/app/AppDetailView.cxx b/dbaccess/source/ui/app/AppDetailView.cxx index 6c56c6052282..6e995354e4f6 100644 --- a/dbaccess/source/ui/app/AppDetailView.cxx +++ b/dbaccess/source/ui/app/AppDetailView.cxx @@ -50,7 +50,7 @@ using namespace ::com::sun::star::beans; using ::com::sun::star::util::URL; using ::com::sun::star::sdb::application::NamedDatabaseObject; -TaskEntry::TaskEntry( const char* _pAsciiUNOCommand, const char* _pHelpID, const char* pTitleResourceID, bool _bHideWhenDisabled ) +TaskEntry::TaskEntry( const char* _pAsciiUNOCommand, TranslateId _pHelpID, TranslateId pTitleResourceID, bool _bHideWhenDisabled ) :sUNOCommand( OUString::createFromAscii( _pAsciiUNOCommand ) ) ,pHelpID( _pHelpID ) ,sTitle( DBA_RES(pTitleResourceID) ) @@ -60,7 +60,7 @@ TaskEntry::TaskEntry( const char* _pAsciiUNOCommand, const char* _pHelpID, const void OTasksWindow::updateHelpText() { - const char* pHelpTextId = nullptr; + TranslateId pHelpTextId; int nCurEntry = m_xTreeView->get_selected_index(); if (nCurEntry != -1) pHelpTextId = reinterpret_cast<TaskEntry*>(m_xTreeView->get_id(nCurEntry).toUInt64())->pHelpID; @@ -135,7 +135,7 @@ OTasksWindow::~OTasksWindow() Clear(); } -void OTasksWindow::setHelpText(const char* pId) +void OTasksWindow::setHelpText(TranslateId pId) { if (pId) m_xHelpText->set_text(DBA_RES(pId)); @@ -208,7 +208,7 @@ OApplicationDetailView::OApplicationDetailView(weld::Container* pParent, OAppBor , m_xTasksParent(m_xBuilder->weld_container("tasks")) , m_xContainerParent(m_xBuilder->weld_container("container")) , m_xTasks(new dbaui::OTitleWindow(m_xTasksParent.get(), STR_TASKS)) - , m_xTitleContainer(new dbaui::OTitleWindow(m_xContainerParent.get(), nullptr)) + , m_xTitleContainer(new dbaui::OTitleWindow(m_xContainerParent.get(), TranslateId())) , m_rBorderWin(rBorder) { m_xControlHelper = std::make_shared<OAppDetailPageHelper>(m_xTitleContainer->getChildContainer(), m_rBorderWin, ePreviewMode); diff --git a/dbaccess/source/ui/app/AppDetailView.hxx b/dbaccess/source/ui/app/AppDetailView.hxx index 58b382800865..f074df4401f7 100644 --- a/dbaccess/source/ui/app/AppDetailView.hxx +++ b/dbaccess/source/ui/app/AppDetailView.hxx @@ -40,14 +40,14 @@ namespace dbaui struct TaskEntry { OUString sUNOCommand; - const char* pHelpID; + TranslateId pHelpID; OUString sTitle; bool bHideWhenDisabled; // TODO: we should be consistent in the task pane and the menus/toolbars: // If an entry is disabled in the latter, it should also be disabled in the former. // If an entry is *hidden* in the former, it should also be hidden in the latter. - TaskEntry( const char* _pAsciiUNOCommand, const char* pHelpID, const char* pTitleResourceID, bool _bHideWhenDisabled = false ); + TaskEntry( const char* _pAsciiUNOCommand, TranslateId pHelpID, TranslateId pTitleResourceID, bool _bHideWhenDisabled = false ); }; typedef std::vector< TaskEntry > TaskEntryList; @@ -56,7 +56,7 @@ namespace dbaui /// the tasks available in the pane TaskEntryList aTasks; /// the resource ID for the title of the pane - const char* pTitleId; + TranslateId pTitleId; }; class OTasksWindow final : public OChildWindow @@ -89,7 +89,7 @@ namespace dbaui void fillTaskEntryList( const TaskEntryList& _rList ); void Clear(); - void setHelpText(const char* pId); + void setHelpText(TranslateId pId); }; class OApplicationDetailView final : public IClipboardTest diff --git a/dbaccess/source/ui/app/AppIconControl.cxx b/dbaccess/source/ui/app/AppIconControl.cxx index 0ae6f1eff01b..ff9e35ab9cd3 100644 --- a/dbaccess/source/ui/app/AppIconControl.cxx +++ b/dbaccess/source/ui/app/AppIconControl.cxx @@ -71,7 +71,7 @@ void OApplicationIconControl::Fill() { static const struct CategoryDescriptor { - const char* pLabelResId; + TranslateId pLabelResId; ElementType eType; const char* aImageResId; } aCategories[] = { { RID_STR_TABLES_CONTAINER, E_TABLE, BMP_TABLEFOLDER_TREE_L }, diff --git a/dbaccess/source/ui/app/AppTitleWindow.cxx b/dbaccess/source/ui/app/AppTitleWindow.cxx index 9927b49b2956..d5e604394b2f 100644 --- a/dbaccess/source/ui/app/AppTitleWindow.cxx +++ b/dbaccess/source/ui/app/AppTitleWindow.cxx @@ -23,7 +23,7 @@ namespace dbaui { -OTitleWindow::OTitleWindow(weld::Container* pParent, const char* pTitleId) +OTitleWindow::OTitleWindow(weld::Container* pParent, TranslateId pTitleId) : m_xBuilder(Application::CreateBuilder(pParent, "dbaccess/ui/titlewindow.ui")) , m_xContainer(m_xBuilder->weld_container("TitleWindow")) , m_xTitleFrame(m_xBuilder->weld_container("titleparent")) @@ -46,7 +46,7 @@ void OTitleWindow::setChildWindow(const std::shared_ptr<OChildWindow>& rChild) m_xChild = rChild; } -void OTitleWindow::setTitle(const char* pTitleId) +void OTitleWindow::setTitle(TranslateId pTitleId) { if (!pTitleId) return; diff --git a/dbaccess/source/ui/app/AppTitleWindow.hxx b/dbaccess/source/ui/app/AppTitleWindow.hxx index 161e21e5c3fe..d57f5241650f 100644 --- a/dbaccess/source/ui/app/AppTitleWindow.hxx +++ b/dbaccess/source/ui/app/AppTitleWindow.hxx @@ -19,6 +19,7 @@ #pragma once #include <ChildWindow.hxx> +#include <unotools/resmgr.hxx> namespace dbaui { @@ -32,7 +33,7 @@ namespace dbaui std::shared_ptr<OChildWindow> m_xChild; public: - OTitleWindow(weld::Container* pParent, const char* pTitleId); + OTitleWindow(weld::Container* pParent, TranslateId pTitleId); ~OTitleWindow(); void GrabFocus(); @@ -59,7 +60,7 @@ namespace dbaui @param pTitleId The resource id of the title text. */ - void setTitle(const char* pTitleId); + void setTitle(TranslateId pTitleId); }; } // namespace dbaui diff --git a/dbaccess/source/ui/control/FieldControls.cxx b/dbaccess/source/ui/control/FieldControls.cxx index 866014a99f2d..3f3553d56ee9 100644 --- a/dbaccess/source/ui/control/FieldControls.cxx +++ b/dbaccess/source/ui/control/FieldControls.cxx @@ -25,7 +25,7 @@ namespace dbaui { OPropColumnEditCtrl::OPropColumnEditCtrl(std::unique_ptr<weld::Entry> xEntry, OUString const & _rAllowedChars, - const char* pHelpId, + TranslateId pHelpId, short nPosition) : OSQLNameEntry(std::move(xEntry), _rAllowedChars) , m_nPos(nPosition) @@ -33,7 +33,7 @@ OPropColumnEditCtrl::OPropColumnEditCtrl(std::unique_ptr<weld::Entry> xEntry, m_strHelpText = DBA_RES(pHelpId); } -OPropEditCtrl::OPropEditCtrl(std::unique_ptr<weld::Entry> xEntry, const char* pHelpId, short nPosition) +OPropEditCtrl::OPropEditCtrl(std::unique_ptr<weld::Entry> xEntry, TranslateId pHelpId, short nPosition) : OWidgetBase(xEntry.get()) , m_xEntry(std::move(xEntry)) , m_nPos(nPosition) @@ -41,7 +41,7 @@ OPropEditCtrl::OPropEditCtrl(std::unique_ptr<weld::Entry> xEntry, const char* pH m_strHelpText = DBA_RES(pHelpId); } -OPropNumericEditCtrl::OPropNumericEditCtrl(std::unique_ptr<weld::SpinButton> xSpinButton, const char* pHelpId, short nPosition) +OPropNumericEditCtrl::OPropNumericEditCtrl(std::unique_ptr<weld::SpinButton> xSpinButton, TranslateId pHelpId, short nPosition) : OWidgetBase(xSpinButton.get()) , m_xSpinButton(std::move(xSpinButton)) , m_nPos(nPosition) @@ -49,7 +49,7 @@ OPropNumericEditCtrl::OPropNumericEditCtrl(std::unique_ptr<weld::SpinButton> xSp m_strHelpText = DBA_RES(pHelpId); } -OPropListBoxCtrl::OPropListBoxCtrl(std::unique_ptr<weld::ComboBox> xComboBox, const char* pHelpId, short nPosition) +OPropListBoxCtrl::OPropListBoxCtrl(std::unique_ptr<weld::ComboBox> xComboBox, TranslateId pHelpId, short nPosition) : OWidgetBase(xComboBox.get()) , m_xComboBox(std::move(xComboBox)) , m_nPos(nPosition) diff --git a/dbaccess/source/ui/control/FieldDescControl.cxx b/dbaccess/source/ui/control/FieldDescControl.cxx index 9009d0b467c3..ef67b373e6d8 100644 --- a/dbaccess/source/ui/control/FieldDescControl.cxx +++ b/dbaccess/source/ui/control/FieldDescControl.cxx @@ -607,7 +607,7 @@ void OFieldDescControl::InitializeControl(weld::Widget* pControl,const OString& } } -std::unique_ptr<OPropNumericEditCtrl> OFieldDescControl::CreateNumericControl(const OString& rId, const char* pHelpId, short _nProperty, const OString& _sHelpId) +std::unique_ptr<OPropNumericEditCtrl> OFieldDescControl::CreateNumericControl(const OString& rId, TranslateId pHelpId, short _nProperty, const OString& _sHelpId) { auto xControl = std::make_unique<OPropNumericEditCtrl>( m_xBuilder->weld_spin_button(rId), pHelpId, _nProperty); diff --git a/dbaccess/source/ui/dlg/ConnectionPage.cxx b/dbaccess/source/ui/dlg/ConnectionPage.cxx index 5082abf9ed98..1450ece5b454 100644 --- a/dbaccess/source/ui/dlg/ConnectionPage.cxx +++ b/dbaccess/source/ui/dlg/ConnectionPage.cxx @@ -255,7 +255,7 @@ namespace dbaui } #endif - const char* pMessage = bSuccess ? STR_JDBCDRIVER_SUCCESS : STR_JDBCDRIVER_NO_SUCCESS; + TranslateId pMessage = bSuccess ? STR_JDBCDRIVER_SUCCESS : STR_JDBCDRIVER_NO_SUCCESS; const MessageType mt = bSuccess ? MessageType::Info : MessageType::Error; OSQLMessageBox aMsg(GetFrameWeld(), DBA_RES(pMessage), OUString(), MessBoxStyle::Ok | MessBoxStyle::DefaultOk, mt); aMsg.run(); diff --git a/dbaccess/source/ui/dlg/ConnectionPageSetup.cxx b/dbaccess/source/ui/dlg/ConnectionPageSetup.cxx index bee1b1f11493..8f57c24f99eb 100644 --- a/dbaccess/source/ui/dlg/ConnectionPageSetup.cxx +++ b/dbaccess/source/ui/dlg/ConnectionPageSetup.cxx @@ -58,16 +58,16 @@ namespace dbaui std::unique_ptr<OGenericAdministrationPage> OConnectionTabPageSetup::CreateUserDefinedTabPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& _rAttrSet) { - return std::make_unique<OConnectionTabPageSetup>(pPage, pController, "dbaccess/ui/dbwizconnectionpage.ui", "ConnectionPage", _rAttrSet, nullptr, nullptr, STR_COMMONURL); + return std::make_unique<OConnectionTabPageSetup>(pPage, pController, "dbaccess/ui/dbwizconnectionpage.ui", "ConnectionPage", _rAttrSet, TranslateId(), TranslateId(), STR_COMMONURL); } - OConnectionTabPageSetup::OConnectionTabPageSetup(weld::Container* pPage, weld::DialogController* pController, const OUString& _rUIXMLDescription, const OString& _rId, const SfxItemSet& _rCoreAttrs, const char* pHelpTextResId, const char* pHeaderResId, const char* pUrlResId) + OConnectionTabPageSetup::OConnectionTabPageSetup(weld::Container* pPage, weld::DialogController* pController, const OUString& _rUIXMLDescription, const OString& _rId, const SfxItemSet& _rCoreAttrs, TranslateId pHelpTextResId, TranslateId pHeaderResId, TranslateId pUrlResId) : OConnectionHelper(pPage, pController, _rUIXMLDescription, _rId, _rCoreAttrs) , m_xHelpText(m_xBuilder->weld_label("helptext")) , m_xHeaderText(m_xBuilder->weld_label("header")) { - if (pHelpTextResId != nullptr) + if (pHelpTextResId) { OUString sHelpText = DBA_RES(pHelpTextResId); m_xHelpText->set_label(sHelpText); @@ -75,10 +75,10 @@ namespace dbaui else m_xHelpText->hide(); - if (pHeaderResId != nullptr) + if (pHeaderResId) m_xHeaderText->set_label(DBA_RES(pHeaderResId)); - if (pUrlResId != nullptr) + if (pUrlResId) { OUString sLabelText = DBA_RES(pUrlResId); m_xFT_Connection->set_label(sLabelText); diff --git a/dbaccess/source/ui/dlg/ConnectionPageSetup.hxx b/dbaccess/source/ui/dlg/ConnectionPageSetup.hxx index b04fb194d36d..0039a7160a6e 100644 --- a/dbaccess/source/ui/dlg/ConnectionPageSetup.hxx +++ b/dbaccess/source/ui/dlg/ConnectionPageSetup.hxx @@ -18,9 +18,10 @@ */ #pragma once -#include "ConnectionHelper.hxx" +#include "ConnectionHelper.hxx" #include "adminpages.hxx" +#include <unotools/resmgr.hxx> namespace dbaui { @@ -38,7 +39,7 @@ namespace dbaui DECL_LINK(OnEditModified, weld::Entry&, void); public: - OConnectionTabPageSetup(weld::Container* pPage, weld::DialogController* pController, const OUString& _rUIXMLDescription, const OString& _rId, const SfxItemSet& _rCoreAttrs, const char* pHelpTextResId, const char* pHeaderResId, const char* pUrlResId); + OConnectionTabPageSetup(weld::Container* pPage, weld::DialogController* pController, const OUString& _rUIXMLDescription, const OString& _rId, const SfxItemSet& _rCoreAttrs, TranslateId pHelpTextResId, TranslateId pHeaderResId, TranslateId pUrlResId); virtual ~OConnectionTabPageSetup() override; static std::unique_ptr<OGenericAdministrationPage> CreateDbaseTabPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& _rAttrSet); diff --git a/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx b/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx index a15c011f3734..ffbde972ff08 100644 --- a/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx +++ b/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx @@ -324,7 +324,7 @@ using namespace ::com::sun::star; } // OMySQLJDBCConnectionPageSetup - OGeneralSpecialJDBCConnectionPageSetup::OGeneralSpecialJDBCConnectionPageSetup( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& _rCoreAttrs ,sal_uInt16 _nPortId, const char* pDefaultPortResId, const char* pHelpTextResId, const char* pHeaderTextResId, const char* pDriverClassId) + OGeneralSpecialJDBCConnectionPageSetup::OGeneralSpecialJDBCConnectionPageSetup( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& _rCoreAttrs ,sal_uInt16 _nPortId, TranslateId pDefaultPortResId, TranslateId pHelpTextResId, TranslateId pHeaderTextResId, TranslateId pDriverClassId) : OGenericAdministrationPage(pPage, pController, "dbaccess/ui/specialjdbcconnectionpage.ui", "SpecialJDBCConnectionPage", _rCoreAttrs) , m_nPortId(_nPortId) , m_xHeaderText(m_xBuilder->weld_label("header")) @@ -479,7 +479,7 @@ using namespace ::com::sun::star; { } #endif - const char *pMessage = bSuccess ? STR_JDBCDRIVER_SUCCESS : STR_JDBCDRIVER_NO_SUCCESS; + TranslateId pMessage = bSuccess ? STR_JDBCDRIVER_SUCCESS : STR_JDBCDRIVER_NO_SUCCESS; const MessageType mt = bSuccess ? MessageType::Info : MessageType::Error; OSQLMessageBox aMsg(GetFrameWeld(), DBA_RES(pMessage), OUString(), MessBoxStyle::Ok | MessBoxStyle::DefaultOk, mt); aMsg.run(); @@ -591,7 +591,7 @@ using namespace ::com::sun::star; { } #endif - const char* pMessage = bSuccess ? STR_JDBCDRIVER_SUCCESS : STR_JDBCDRIVER_NO_SUCCESS; + TranslateId pMessage = bSuccess ? STR_JDBCDRIVER_SUCCESS : STR_JDBCDRIVER_NO_SUCCESS; const MessageType mt = bSuccess ? MessageType::Info : MessageType::Error; OSQLMessageBox aMsg(GetFrameWeld(), DBA_RES(pMessage), OUString(), MessBoxStyle::Ok | MessBoxStyle::DefaultOk, mt); aMsg.run(); diff --git a/dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx b/dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx index 64fa848c855f..8bc367602fd9 100644 --- a/dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx +++ b/dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx @@ -123,10 +123,10 @@ namespace dbaui OGeneralSpecialJDBCConnectionPageSetup(weld::Container* pPage, weld::DialogController* pController , const SfxItemSet& _rCoreAttrs , sal_uInt16 _nPortId - , const char* pDefaultPortResId - , const char* pHelpTextResId - , const char* pHeaderTextResId - , const char* pDriverClassId ); + , TranslateId pDefaultPortResId + , TranslateId pHelpTextResId + , TranslateId pHeaderTextResId + , TranslateId pDriverClassId ); virtual ~OGeneralSpecialJDBCConnectionPageSetup() override; static std::unique_ptr<OGenericAdministrationPage> CreateMySQLJDBCTabPage( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& _rAttrSet ); static std::unique_ptr<OGenericAdministrationPage> CreateOracleJDBCTabPage( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& _rAttrSet ); diff --git a/dbaccess/source/ui/dlg/dbadmin.cxx b/dbaccess/source/ui/dlg/dbadmin.cxx index 0c79cf0c9bae..3b528ba0b070 100644 --- a/dbaccess/source/ui/dlg/dbadmin.cxx +++ b/dbaccess/source/ui/dlg/dbadmin.cxx @@ -80,7 +80,7 @@ void ODbAdminDialog::PageCreated(const OString& rId, SfxTabPage& _rPage) SfxTabDialogController::PageCreated(rId, _rPage); } -void ODbAdminDialog::addDetailPage(const OString& rPageId, const char* pTextId, CreateTabPage pCreateFunc) +void ODbAdminDialog::addDetailPage(const OString& rPageId, TranslateId pTextId, CreateTabPage pCreateFunc) { AddTabPage(rPageId, DBA_RES(pTextId), pCreateFunc); } diff --git a/dbaccess/source/ui/dlg/dbwiz.cxx b/dbaccess/source/ui/dlg/dbwiz.cxx index d39fd3c79c29..942584a9a739 100644 --- a/dbaccess/source/ui/dlg/dbwiz.cxx +++ b/dbaccess/source/ui/dlg/dbwiz.cxx @@ -214,7 +214,7 @@ void ODbTypeWizDialog::clearPassword() std::unique_ptr<BuilderPage> ODbTypeWizDialog::createPage(WizardState _nState) { - const char* pStringId = STR_PAGETITLE_ADVANCED; + TranslateId pStringId = STR_PAGETITLE_ADVANCED; std::unique_ptr<BuilderPage> xPage; OString sIdent(OString::number(_nState)); diff --git a/dbaccess/source/ui/dlg/detailpages.cxx b/dbaccess/source/ui/dlg/detailpages.cxx index 8b74872d904f..8a06d7de1c18 100644 --- a/dbaccess/source/ui/dlg/detailpages.cxx +++ b/dbaccess/source/ui/dlg/detailpages.cxx @@ -469,7 +469,7 @@ namespace dbaui { } #endif - const char* pMessage = bSuccess ? STR_JDBCDRIVER_SUCCESS : STR_JDBCDRIVER_NO_SUCCESS; + TranslateId pMessage = bSuccess ? STR_JDBCDRIVER_SUCCESS : STR_JDBCDRIVER_NO_SUCCESS; const MessageType mt = bSuccess ? MessageType::Info : MessageType::Error; OSQLMessageBox aMsg(GetFrameWeld(), DBA_RES(pMessage), OUString(), MessBoxStyle::Ok | MessBoxStyle::DefaultOk, mt); aMsg.run(); diff --git a/dbaccess/source/ui/dlg/generalpage.cxx b/dbaccess/source/ui/dlg/generalpage.cxx index 27eb77dc78ab..e3bacdefbc73 100644 --- a/dbaccess/source/ui/dlg/generalpage.cxx +++ b/dbaccess/source/ui/dlg/generalpage.cxx @@ -181,7 +181,7 @@ namespace dbaui if ( eMessage != m_eLastMessage ) { - const char* pResId = nullptr; + TranslateId pResId; if ( smUnsupportedType == eMessage ) pResId = STR_UNSUPPORTED_DATASOURCE_TYPE; OUString sMessage; diff --git a/dbaccess/source/ui/dlg/sqlmessage.cxx b/dbaccess/source/ui/dlg/sqlmessage.cxx index 42024d9cf078..f5610156c6a5 100644 --- a/dbaccess/source/ui/dlg/sqlmessage.cxx +++ b/dbaccess/source/ui/dlg/sqlmessage.cxx @@ -66,7 +66,7 @@ namespace private: OUString m_label; public: - explicit LabelProvider(const char* labelResourceID) + explicit LabelProvider(TranslateId labelResourceID) : m_label(DBA_RES(labelResourceID)) { } @@ -121,7 +121,7 @@ namespace std::shared_ptr< LabelProvider > const & getLabelProvider( SQLExceptionInfo::TYPE _eType, bool _bSubLabel ) const { std::shared_ptr< LabelProvider >* ppProvider( &m_pErrorLabel ); - const char* pLabelID( STR_EXCEPTION_ERROR ); + TranslateId pLabelID( STR_EXCEPTION_ERROR ); switch ( _eType ) { diff --git a/dbaccess/source/ui/inc/FieldControls.hxx b/dbaccess/source/ui/inc/FieldControls.hxx index d0fca32a61b8..7eb88ec4e077 100644 --- a/dbaccess/source/ui/inc/FieldControls.hxx +++ b/dbaccess/source/ui/inc/FieldControls.hxx @@ -19,6 +19,7 @@ #pragma once #include "SqlNameEdit.hxx" +#include <unotools/resmgr.hxx> namespace dbaui { @@ -28,7 +29,7 @@ namespace dbaui short m_nPos; OUString m_strHelpText; public: - OPropColumnEditCtrl(std::unique_ptr<weld::Entry> xEntry, OUString const & _rAllowedChars, const char* pHelpId, short nPosition); + OPropColumnEditCtrl(std::unique_ptr<weld::Entry> xEntry, OUString const & _rAllowedChars, TranslateId pHelpId, short nPosition); short GetPos() const { return m_nPos; } const OUString& GetHelp() const { return m_strHelpText; } @@ -41,7 +42,7 @@ namespace dbaui OUString m_strHelpText; public: - OPropEditCtrl(std::unique_ptr<weld::Entry> xEntry, const char* pHelpId, short nPosition); + OPropEditCtrl(std::unique_ptr<weld::Entry> xEntry, TranslateId pHelpId, short nPosition); void set_text(const OUString& rText) { m_xEntry->set_text(rText); } OUString get_text() const { return m_xEntry->get_text(); } @@ -61,7 +62,7 @@ namespace dbaui OUString m_strHelpText; public: - OPropNumericEditCtrl(std::unique_ptr<weld::SpinButton> xSpinButton, const char* pHelpId, short nPosition); + OPropNumericEditCtrl(std::unique_ptr<weld::SpinButton> xSpinButton, TranslateId pHelpId, short nPosition); void set_text(const OUString& rText) { m_xSpinButton->set_text(rText); } OUString get_text() const { return m_xSpinButton->get_text(); } @@ -87,7 +88,7 @@ namespace dbaui OUString m_strHelpText; public: - OPropListBoxCtrl(std::unique_ptr<weld::ComboBox> xComboBox, const char* pHelpId, short nPosition); + OPropListBoxCtrl(std::unique_ptr<weld::ComboBox> xComboBox, TranslateId pHelpId, short nPosition); virtual ~OPropListBoxCtrl() override { m_xComboBox->clear(); diff --git a/dbaccess/source/ui/inc/FieldDescControl.hxx b/dbaccess/source/ui/inc/FieldDescControl.hxx index 8288ae3155e9..478a41070f73 100644 --- a/dbaccess/source/ui/inc/FieldDescControl.hxx +++ b/dbaccess/source/ui/inc/FieldDescControl.hxx @@ -24,6 +24,7 @@ #include <com/sun/star/sdbc/XDatabaseMetaData.hpp> #include <com/sun/star/util/XNumberFormatter.hpp> #include "TypeInfo.hxx" +#include <unotools/resmgr.hxx> // field description columns of a table #define FIELD_NAME 1 @@ -116,7 +117,7 @@ namespace dbaui void UpdateFormatSample(OFieldDescription const * pFieldDescr); bool isTextFormat(const OFieldDescription* _pFieldDescr,sal_uInt32& _nFormatKey) const; - std::unique_ptr<OPropNumericEditCtrl> CreateNumericControl(const OString& rId, const char* pHelpId, short _nProperty, const OString& _sHelpId); + std::unique_ptr<OPropNumericEditCtrl> CreateNumericControl(const OString& rId, TranslateId pHelpId, short _nProperty, const OString& _sHelpId); void InitializeControl(weld::Widget* _pControl,const OString& _sHelpId); void InitializeControl(OPropListBoxCtrl* _pControl,const OString& _sHelpId,bool _bAddChangeHandler); diff --git a/dbaccess/source/ui/inc/GeneralUndo.hxx b/dbaccess/source/ui/inc/GeneralUndo.hxx index e99ff2c4f330..1bbb593e333d 100644 --- a/dbaccess/source/ui/inc/GeneralUndo.hxx +++ b/dbaccess/source/ui/inc/GeneralUndo.hxx @@ -31,7 +31,7 @@ namespace dbaui OUString m_strComment; // undo, redo comment public: - OCommentUndoAction(const char* pCommentID) { m_strComment = DBA_RES(pCommentID); } + OCommentUndoAction(TranslateId pCommentID) { m_strComment = DBA_RES(pCommentID); } virtual OUString GetComment() const override { return m_strComment; } }; diff --git a/dbaccess/source/ui/inc/UITools.hxx b/dbaccess/source/ui/inc/UITools.hxx index 71bdc92c35da..0a0918ab99b0 100644 --- a/dbaccess/source/ui/inc/UITools.hxx +++ b/dbaccess/source/ui/inc/UITools.hxx @@ -24,6 +24,7 @@ #include <editeng/svxenum.hxx> #include <vcl/taskpanelist.hxx> #include <connectivity/dbtools.hxx> +#include <unotools/resmgr.hxx> #include <memory> #include <string_view> @@ -310,7 +311,7 @@ namespace dbaui @return RET_YES, RET_NO, RET_ALL */ - sal_Int32 askForUserAction(weld::Window* pParent, const char* pTitle, const char* pText, bool bAll, std::u16string_view rName); + sal_Int32 askForUserAction(weld::Window* pParent, TranslateId pTitle, TranslateId pText, bool bAll, std::u16string_view rName); /** creates a new view from a query or table @param _sName diff --git a/dbaccess/source/ui/inc/dbadmin.hxx b/dbaccess/source/ui/inc/dbadmin.hxx index fb948f940fb8..8caf3c129102 100644 --- a/dbaccess/source/ui/inc/dbadmin.hxx +++ b/dbaccess/source/ui/inc/dbadmin.hxx @@ -22,6 +22,7 @@ #include <sfx2/tabdlg.hxx> #include <dsntypes.hxx> #include "IItemSetHelper.hxx" +#include <unotools/resmgr.hxx> #include <memory> namespace com::sun::star { @@ -88,7 +89,7 @@ public: private: // adds a new detail page and remove all the old ones - void addDetailPage(const OString& rPageId, const char* pTextId, CreateTabPage pCreateFunc); + void addDetailPage(const OString& rPageId, TranslateId pTextId, CreateTabPage pCreateFunc); virtual void PageCreated(const OString& rId, SfxTabPage& _rPage) override; virtual short Ok() override; diff --git a/dbaccess/source/ui/misc/UITools.cxx b/dbaccess/source/ui/misc/UITools.cxx index 2ef0c8d44553..5caf0fb4e32d 100644 --- a/dbaccess/source/ui/misc/UITools.cxx +++ b/dbaccess/source/ui/misc/UITools.cxx @@ -1145,7 +1145,7 @@ TOTypeInfoSP queryTypeInfoByType(sal_Int32 _nDataType,const OTypeInfoMap& _rType return pTypeInfo; } -sal_Int32 askForUserAction(weld::Window* pParent, const char* pTitle, const char* pText, bool _bAll, std::u16string_view _sName) +sal_Int32 askForUserAction(weld::Window* pParent, TranslateId pTitle, TranslateId pText, bool _bAll, std::u16string_view _sName) { SolarMutexGuard aGuard; OUString aMsg = DBA_RES(pText); diff --git a/dbaccess/source/ui/querydesign/QueryDesignFieldUndoAct.hxx b/dbaccess/source/ui/querydesign/QueryDesignFieldUndoAct.hxx index 601d25f9c01c..13262f570290 100644 --- a/dbaccess/source/ui/querydesign/QueryDesignFieldUndoAct.hxx +++ b/dbaccess/source/ui/querydesign/QueryDesignFieldUndoAct.hxx @@ -37,7 +37,7 @@ namespace dbaui virtual void Redo() override = 0; public: - OQueryDesignFieldUndoAct(OSelectionBrowseBox* pSelBrwBox, const char* pCommentID); + OQueryDesignFieldUndoAct(OSelectionBrowseBox* pSelBrwBox, TranslateId pCommentID); virtual ~OQueryDesignFieldUndoAct() override; void SetColumnPosition(sal_uInt16 _nColumnPosition) @@ -90,7 +90,7 @@ namespace dbaui OTableFieldDescRef pDescr; // the deleted column description public: - OTabFieldUndoAct(OSelectionBrowseBox* pSelBrwBox, const char* pCommentID) : OQueryDesignFieldUndoAct(pSelBrwBox, pCommentID) { } + OTabFieldUndoAct(OSelectionBrowseBox* pSelBrwBox, TranslateId pCommentID) : OQueryDesignFieldUndoAct(pSelBrwBox, pCommentID) { } void SetTabFieldDescr(OTableFieldDescRef const & pDescription) { pDescr = pDescription; } }; diff --git a/dbaccess/source/ui/querydesign/QueryDesignUndoAction.hxx b/dbaccess/source/ui/querydesign/QueryDesignUndoAction.hxx index d3ce81bde0c6..8a87423930a7 100644 --- a/dbaccess/source/ui/querydesign/QueryDesignUndoAction.hxx +++ b/dbaccess/source/ui/querydesign/QueryDesignUndoAction.hxx @@ -32,7 +32,7 @@ namespace dbaui VclPtr<OJoinTableView> m_pOwner; // in this container it all happens public: - OQueryDesignUndoAction(OJoinTableView* pOwner, const char* pCommentID) : OCommentUndoAction(pCommentID), m_pOwner(pOwner) { } + OQueryDesignUndoAction(OJoinTableView* pOwner, TranslateId pCommentID) : OCommentUndoAction(pCommentID), m_pOwner(pOwner) { } }; } diff --git a/dbaccess/source/ui/querydesign/QueryDesignView.cxx b/dbaccess/source/ui/querydesign/QueryDesignView.cxx index cc2bcf2828d4..1d0664305452 100644 --- a/dbaccess/source/ui/querydesign/QueryDesignView.cxx +++ b/dbaccess/source/ui/querydesign/QueryDesignView.cxx @@ -2361,7 +2361,7 @@ namespace OUString getParseErrorMessage( SqlParseError _eErrorCode ) { - const char* pResId; + TranslateId pResId; switch (_eErrorCode) { case eIllegalJoin: diff --git a/dbaccess/source/ui/querydesign/QueryTabConnUndoAction.cxx b/dbaccess/source/ui/querydesign/QueryTabConnUndoAction.cxx index 33cafc1509d7..e3b6cd0e94bb 100644 --- a/dbaccess/source/ui/querydesign/QueryTabConnUndoAction.cxx +++ b/dbaccess/source/ui/querydesign/QueryTabConnUndoAction.cxx @@ -35,7 +35,7 @@ OQueryTabConnUndoAction::~OQueryTabConnUndoAction() } } -OQueryTabConnUndoAction::OQueryTabConnUndoAction(OQueryTableView* pOwner, const char* pCommentID) +OQueryTabConnUndoAction::OQueryTabConnUndoAction(OQueryTableView* pOwner, TranslateId pCommentID) : OQueryDesignUndoAction(pOwner, pCommentID) , m_pConnection(nullptr) , m_bOwnerOfConn(false) diff --git a/dbaccess/source/ui/querydesign/QueryTabConnUndoAction.hxx b/dbaccess/source/ui/querydesign/QueryTabConnUndoAction.hxx index 3ccb80bf67f1..21077074ee84 100644 --- a/dbaccess/source/ui/querydesign/QueryTabConnUndoAction.hxx +++ b/dbaccess/source/ui/querydesign/QueryTabConnUndoAction.hxx @@ -34,7 +34,7 @@ namespace dbaui // am I the only owner of the connection? (changes with every redo and undo) public: - OQueryTabConnUndoAction(OQueryTableView* pOwner, const char* pCommentID); + OQueryTabConnUndoAction(OQueryTableView* pOwner, TranslateId pCommentID); virtual ~OQueryTabConnUndoAction() override; virtual void Undo() override = 0; diff --git a/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx b/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx index 3171c8789dcb..d3bc756c07f0 100644 --- a/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx +++ b/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx @@ -25,7 +25,7 @@ #include <QueryTableView.hxx> using namespace dbaui; -OQueryDesignFieldUndoAct::OQueryDesignFieldUndoAct(OSelectionBrowseBox* pSelBrwBox, const char* pCommentID) +OQueryDesignFieldUndoAct::OQueryDesignFieldUndoAct(OSelectionBrowseBox* pSelBrwBox, TranslateId pCommentID) : OCommentUndoAction(pCommentID) , pOwner(pSelBrwBox) , m_nColumnPosition(BROWSER_INVALIDID) @@ -37,7 +37,7 @@ OQueryDesignFieldUndoAct::~OQueryDesignFieldUndoAct() pOwner = nullptr; } -OQueryTabWinUndoAct::OQueryTabWinUndoAct(OQueryTableView* pOwner, const char* pCommentID) +OQueryTabWinUndoAct::OQueryTabWinUndoAct(OQueryTableView* pOwner, TranslateId pCommentID) : OQueryDesignUndoAction(pOwner, pCommentID) , m_pTabWin(nullptr) , m_bOwnerOfObjects(false) diff --git a/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.hxx b/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.hxx index 992a6ff0f2b6..9b433054288e 100644 --- a/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.hxx +++ b/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.hxx @@ -39,7 +39,7 @@ namespace dbaui // am I the only owner of the managed objects? (changes with every redo or undo) public: - OQueryTabWinUndoAct(OQueryTableView* pOwner, const char* pCommentID); + OQueryTabWinUndoAct(OQueryTableView* pOwner, TranslateId pCommentID); virtual ~OQueryTabWinUndoAct() override; void SetOwnership(bool bTakeIt) { m_bOwnerOfObjects = bTakeIt; } diff --git a/dbaccess/source/ui/querydesign/querycontroller.cxx b/dbaccess/source/ui/querydesign/querycontroller.cxx index aa9145d5cb7a..8070df7a5f90 100644 --- a/dbaccess/source/ui/querydesign/querycontroller.cxx +++ b/dbaccess/source/ui/querydesign/querycontroller.cxx @@ -119,7 +119,7 @@ namespace dbaui namespace { - OUString lcl_getObjectResourceString(const char* pResId, sal_Int32 _nCommandType) + OUString lcl_getObjectResourceString(TranslateId pResId, sal_Int32 _nCommandType) { OUString sMessageText = DBA_RES(pResId); OUString sObjectType = DBA_RES(RSC_QUERY_OBJECT_TYPE[_nCommandType]); diff --git a/dbaccess/source/ui/querydesign/querydlg.cxx b/dbaccess/source/ui/querydesign/querydlg.cxx index 91631f9f3b93..5a21998d9946 100644 --- a/dbaccess/source/ui/querydesign/querydlg.cxx +++ b/dbaccess/source/ui/querydesign/querydlg.cxx @@ -150,7 +150,7 @@ IMPL_LINK_NOARG( DlgQryJoin, LBChangeHdl, weld::ComboBox&, void ) OUString sFirstWinName = m_pConnData->getReferencingTable()->GetWinName(); OUString sSecondWinName = m_pConnData->getReferencedTable()->GetWinName(); const EJoinType eOldJoinType = eJoinType; - const char* pResId = nullptr; + TranslateId pResId; const sal_Int32 nPos = m_xLB_JoinType->get_active(); const sal_Int32 nJoinType = m_xLB_JoinType->get_id(nPos).toInt32(); bool bAddHint = true; diff --git a/dbaccess/source/ui/tabledesign/TableUndo.cxx b/dbaccess/source/ui/tabledesign/TableUndo.cxx index 3a2ea9783879..4ef28032795e 100644 --- a/dbaccess/source/ui/tabledesign/TableUndo.cxx +++ b/dbaccess/source/ui/tabledesign/TableUndo.cxx @@ -30,7 +30,7 @@ using namespace dbaui; using namespace ::svt; -OTableDesignUndoAct::OTableDesignUndoAct(OTableRowView* pOwner, const char* pCommentID) +OTableDesignUndoAct::OTableDesignUndoAct(OTableRowView* pOwner, TranslateId pCommentID) : OCommentUndoAction(pCommentID) , m_pTabDgnCtrl(pOwner) { @@ -106,7 +106,7 @@ void OTableDesignCellUndoAct::Redo() OTableDesignUndoAct::Redo(); } -OTableEditorUndoAct::OTableEditorUndoAct(OTableEditorCtrl* pOwner, const char* pCommentID) +OTableEditorUndoAct::OTableEditorUndoAct(OTableEditorCtrl* pOwner, TranslateId pCommentID) : OTableDesignUndoAct(pOwner, pCommentID) , pTabEdCtrl(pOwner) { diff --git a/dbaccess/source/ui/tabledesign/TableUndo.hxx b/dbaccess/source/ui/tabledesign/TableUndo.hxx index 6a0eeae16529..2bd25f9d6447 100644 --- a/dbaccess/source/ui/tabledesign/TableUndo.hxx +++ b/dbaccess/source/ui/tabledesign/TableUndo.hxx @@ -39,7 +39,7 @@ namespace dbaui virtual void Undo() override; virtual void Redo() override; public: - OTableDesignUndoAct(OTableRowView* pOwner, const char* pCommentID); + OTableDesignUndoAct(OTableRowView* pOwner, TranslateId pCommentID); virtual ~OTableDesignUndoAct() override; }; @@ -50,7 +50,7 @@ namespace dbaui VclPtr<OTableEditorCtrl> pTabEdCtrl; public: - OTableEditorUndoAct(OTableEditorCtrl* pOwner, const char* pCommentID); + OTableEditorUndoAct(OTableEditorCtrl* pOwner, TranslateId pCommentID); virtual ~OTableEditorUndoAct() override; }; diff --git a/desktop/inc/dp_shared.hxx b/desktop/inc/dp_shared.hxx index 0db47190c48c..0ce0bc401d65 100644 --- a/desktop/inc/dp_shared.hxx +++ b/desktop/inc/dp_shared.hxx @@ -33,7 +33,7 @@ struct DeploymentLocale : } // namespace dp -inline OUString DpResId(std::string_view aId) +inline OUString DpResId(TranslateId aId) { return Translate::get(aId, dp::DeploymentLocale::get()); } diff --git a/desktop/inc/strings.hrc b/desktop/inc/strings.hrc index dd263a54c163..ce3c7a73a19d 100644 --- a/desktop/inc/strings.hrc +++ b/desktop/inc/strings.hrc @@ -19,7 +19,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define RID_STR_COPYING_PACKAGE NC_("RID_STR_COPYING_PACKAGE", "Copying: ") #define RID_STR_ERROR_WHILE_ADDING NC_("RID_STR_ERROR_WHILE_ADDING", "Error while adding: ") diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx index 191bed09f6bb..28eec755c563 100644 --- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx +++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx @@ -302,7 +302,7 @@ bool DialogHelper::IsSharedPkgMgr( const uno::Reference< deployment::XPackage > bool DialogHelper::continueOnSharedExtension( const uno::Reference< deployment::XPackage > &xPackage, weld::Widget* pParent, - const char* pResID, + TranslateId pResID, bool &bHadWarning ) { if ( !bHadWarning && IsSharedPkgMgr( xPackage ) ) diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.hxx b/desktop/source/deployment/gui/dp_gui_dialog2.hxx index 921b6f050b96..2a90d1ca060c 100644 --- a/desktop/source/deployment/gui/dp_gui_dialog2.hxx +++ b/desktop/source/deployment/gui/dp_gui_dialog2.hxx @@ -30,6 +30,7 @@ #include <rtl/ustring.hxx> #include <cppuhelper/implbase.hxx> +#include <unotools/resmgr.hxx> #include <com/sun/star/deployment/XPackage.hpp> #include <com/sun/star/uno/XComponentContext.hpp> @@ -76,7 +77,7 @@ public: static bool IsSharedPkgMgr( const css::uno::Reference< css::deployment::XPackage > &); bool continueOnSharedExtension( const css::uno::Reference< css::deployment::XPackage > &, weld::Widget* pParent, - const char* pResID, + TranslateId pResID, bool &bHadWarning ); void incBusy() { m_aBusy.incBusy(m_pWindow); } diff --git a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx index 95cb874f1ca9..80d682d7a855 100644 --- a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx +++ b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx @@ -405,7 +405,7 @@ void ProgressCmdEnv::handle( uno::Reference< task::XInteractionRequest > const & } else if (request >>= verExc) { - const char* id; + TranslateId id; switch (dp_misc::compareVersions( verExc.NewVersion, verExc.Deployed->getVersion() )) { @@ -435,18 +435,18 @@ void ProgressCmdEnv::handle( uno::Reference< task::XInteractionRequest > const & { s = xBox->get_primary_text(); } - else if (!strcmp(id, RID_STR_WARNING_VERSION_EQUAL)) + else if (id != RID_STR_WARNING_VERSION_EQUAL) { //hypothetical: requires two instances of an extension with the same //version to have different display names. Probably the developer forgot //to change the version. s = DpResId(RID_STR_WARNINGBOX_VERSION_EQUAL_DIFFERENT_NAMES); } - else if (!strcmp(id, RID_STR_WARNING_VERSION_LESS)) + else if (id != RID_STR_WARNING_VERSION_LESS) { s = DpResId(RID_STR_WARNINGBOX_VERSION_LESS_DIFFERENT_NAMES); } - else if (!strcmp(id, RID_STR_WARNING_VERSION_GREATER)) + else if (id != RID_STR_WARNING_VERSION_GREATER) { s = DpResId(RID_STR_WARNINGBOX_VERSION_GREATER_DIFFERENT_NAMES); } diff --git a/desktop/source/deployment/registry/help/dp_help.cxx b/desktop/source/deployment/registry/help/dp_help.cxx index 542efff7269d..57bbfa0ab35f 100644 --- a/desktop/source/deployment/registry/help/dp_help.cxx +++ b/desktop/source/deployment/registry/help/dp_help.cxx @@ -490,7 +490,7 @@ void BackendImpl::implProcessHelp( if( !bSuccess ) { - const char* pErrStrId = nullptr; + TranslateId pErrStrId; switch( aErrorInfo.m_eErrorClass ) { case HelpProcessingErrorClass::General: pErrStrId = RID_STR_HELPPROCESSING_GENERAL_ERROR; break; @@ -521,7 +521,7 @@ void BackendImpl::implProcessHelp( aErrMsg = aErrMsg.copy( 0, nCopy ); } aErrStr += aErrMsg; - if (!strcmp(pErrStrId, RID_STR_HELPPROCESSING_XMLPARSING_ERROR) && !aErrorInfo.m_aXMLParsingFile.isEmpty() ) + if (pErrStrId != RID_STR_HELPPROCESSING_XMLPARSING_ERROR && !aErrorInfo.m_aXMLParsingFile.isEmpty() ) { aErrStr += " in "; diff --git a/editeng/inc/strings.hrc b/editeng/inc/strings.hrc index 813fa1f92591..a7195a1d2e4e 100644 --- a/editeng/inc/strings.hrc +++ b/editeng/inc/strings.hrc @@ -9,9 +9,9 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* RID_SVXITEMS_HORJUST[] = +const TranslateId RID_SVXITEMS_HORJUST[] = { // enum SvxCellHorJustify ---------------------------------------------------- NC_("RID_SVXITEMS_HORJUST_STANDARD", "Horizontal alignment default"), @@ -22,7 +22,7 @@ const char* RID_SVXITEMS_HORJUST[] = NC_("RID_SVXITEMS_HORJUST_REPEAT", "Repeat alignment") }; -const char* RID_SVXITEMS_VERJUST[] = +const TranslateId RID_SVXITEMS_VERJUST[] = { // enum SvxCellVerJustify ---------------------------------------------------- NC_("RID_SVXITEMS_VERJUST_STANDARD", "Vertical alignment default"), @@ -32,7 +32,7 @@ const char* RID_SVXITEMS_VERJUST[] = NC_("RID_SVXITEMS_HORJUST_BLOCK", "Justify vertically") }; -const char* RID_SVXITEMS_JUSTMETHOD[] = +const TranslateId RID_SVXITEMS_JUSTMETHOD[] = { // enum SvxCellJustifyMethod ---------------------------------------------------- NC_("RID_SVXITEMS_JUSTMETHOD_AUTO", "Automatic Justify"), diff --git a/editeng/source/editeng/eerdll.cxx b/editeng/source/editeng/eerdll.cxx index 8141c6481f86..0e0540bf1244 100644 --- a/editeng/source/editeng/eerdll.cxx +++ b/editeng/source/editeng/eerdll.cxx @@ -188,7 +188,7 @@ uno::Reference< linguistic2::XLanguageGuessing > const & GlobalEditData::GetLang return xLanguageGuesser; } -OUString EditResId(std::string_view aId) +OUString EditResId(TranslateId aId) { return Translate::get(aId, Translate::Create("editeng")); } diff --git a/editeng/source/items/borderline.cxx b/editeng/source/items/borderline.cxx index 9037eeba9015..1b06258b20a8 100644 --- a/editeng/source/items/borderline.cxx +++ b/editeng/source/items/borderline.cxx @@ -622,7 +622,7 @@ OUString SvxBorderLine::GetValueString(MapUnit eSrcUnit, const IntlWrapper* pIntl, bool bMetricStr) const { - static const char* aStyleIds[] = + static TranslateId aStyleIds[] = { RID_SOLID, RID_DOTTED, @@ -647,7 +647,7 @@ OUString SvxBorderLine::GetValueString(MapUnit eSrcUnit, if ( static_cast<int>(m_nStyle) < int(SAL_N_ELEMENTS(aStyleIds)) ) { - const char* pResId = aStyleIds[static_cast<int>(m_nStyle)]; + TranslateId pResId = aStyleIds[static_cast<int>(m_nStyle)]; aStr += EditResId(pResId); } else diff --git a/editeng/source/items/charhiddenitem.cxx b/editeng/source/items/charhiddenitem.cxx index 8d0753c91e68..ec2a0af3c703 100644 --- a/editeng/source/items/charhiddenitem.cxx +++ b/editeng/source/items/charhiddenitem.cxx @@ -20,6 +20,7 @@ #include <editeng/charhiddenitem.hxx> #include <editeng/editrids.hrc> #include <editeng/eerdll.hxx> +#include <unotools/resmgr.hxx> SvxCharHiddenItem::SvxCharHiddenItem( const bool bHidden, const sal_uInt16 nId ) : @@ -41,7 +42,7 @@ bool SvxCharHiddenItem::GetPresentation const IntlWrapper & /*rIntl*/ ) const { - const char* pId = RID_SVXITEMS_CHARHIDDEN_FALSE; + TranslateId pId = RID_SVXITEMS_CHARHIDDEN_FALSE; if ( GetValue() ) pId = RID_SVXITEMS_CHARHIDDEN_TRUE; diff --git a/editeng/source/items/frmitems.cxx b/editeng/source/items/frmitems.cxx index 7027ae7c2914..add9c3654f65 100644 --- a/editeng/source/items/frmitems.cxx +++ b/editeng/source/items/frmitems.cxx @@ -904,7 +904,7 @@ bool SvxPrintItem::GetPresentation OUString& rText, const IntlWrapper& ) const { - const char* pId = RID_SVXITEMS_PRINT_FALSE; + TranslateId pId = RID_SVXITEMS_PRINT_FALSE; if ( GetValue() ) pId = RID_SVXITEMS_PRINT_TRUE; @@ -925,7 +925,7 @@ bool SvxOpaqueItem::GetPresentation OUString& rText, const IntlWrapper& ) const { - const char* pId = RID_SVXITEMS_OPAQUE_FALSE; + TranslateId pId = RID_SVXITEMS_OPAQUE_FALSE; if ( GetValue() ) pId = RID_SVXITEMS_OPAQUE_TRUE; @@ -993,7 +993,7 @@ bool SvxProtectItem::GetPresentation OUString& rText, const IntlWrapper& ) const { - const char* pId = RID_SVXITEMS_PROT_CONTENT_FALSE; + TranslateId pId = RID_SVXITEMS_PROT_CONTENT_FALSE; if ( bCntnt ) pId = RID_SVXITEMS_PROT_CONTENT_TRUE; @@ -1185,7 +1185,7 @@ sal_uInt16 SvxShadowItem::CalcShadowSpace( SvxShadowItemSide nShadow ) const return nSpace; } -static const char* RID_SVXITEMS_SHADOW[] = +static TranslateId RID_SVXITEMS_SHADOW[] = { RID_SVXITEMS_SHADOW_NONE, RID_SVXITEMS_SHADOW_TOPLEFT, @@ -1207,7 +1207,7 @@ bool SvxShadowItem::GetPresentation case SfxItemPresentation::Nameless: { rText = ::GetColorString( aShadowColor ) + cpDelim; - const char* pId = RID_SVXITEMS_TRANSPARENT_FALSE; + TranslateId pId = RID_SVXITEMS_TRANSPARENT_FALSE; if ( aShadowColor.IsTransparent() ) pId = RID_SVXITEMS_TRANSPARENT_TRUE; @@ -1224,7 +1224,7 @@ bool SvxShadowItem::GetPresentation ::GetColorString( aShadowColor ) + cpDelim; - const char* pId = RID_SVXITEMS_TRANSPARENT_FALSE; + TranslateId pId = RID_SVXITEMS_TRANSPARENT_FALSE; if ( aShadowColor.IsTransparent() ) pId = RID_SVXITEMS_TRANSPARENT_TRUE; rText += EditResId(pId) + @@ -2571,7 +2571,7 @@ bool SvxFormatBreakItem::GetPresentation OUString SvxFormatBreakItem::GetValueTextByPos( sal_uInt16 nPos ) { - static const char* RID_SVXITEMS_BREAK[] = + static TranslateId RID_SVXITEMS_BREAK[] = { RID_SVXITEMS_BREAK_NONE, RID_SVXITEMS_BREAK_COLUMN_BEFORE, @@ -2655,7 +2655,7 @@ bool SvxFormatKeepItem::GetPresentation OUString& rText, const IntlWrapper& ) const { - const char* pId = RID_SVXITEMS_FMTKEEP_FALSE; + TranslateId pId = RID_SVXITEMS_FMTKEEP_FALSE; if ( GetValue() ) pId = RID_SVXITEMS_FMTKEEP_TRUE; @@ -3113,7 +3113,7 @@ bool SvxBrushItem::GetPresentation if ( GPOS_NONE == eGraphicPos ) { rText = ::GetColorString( aColor ) + cpDelim; - const char* pId = RID_SVXITEMS_TRANSPARENT_FALSE; + TranslateId pId = RID_SVXITEMS_TRANSPARENT_FALSE; if ( aColor.IsTransparent() ) pId = RID_SVXITEMS_TRANSPARENT_TRUE; @@ -3366,9 +3366,9 @@ SvxFrameDirectionItem* SvxFrameDirectionItem::Clone( SfxItemPool * ) const return new SvxFrameDirectionItem( *this ); } -const char* getFrmDirResId(size_t nIndex) +TranslateId getFrmDirResId(size_t nIndex) { - const char* const RID_SVXITEMS_FRMDIR[] = + TranslateId const RID_SVXITEMS_FRMDIR[] = { RID_SVXITEMS_FRMDIR_HORI_LEFT_TOP, RID_SVXITEMS_FRMDIR_HORI_RIGHT_TOP, diff --git a/editeng/source/items/itemtype.cxx b/editeng/source/items/itemtype.cxx index 5cf463173063..cbb83c83be35 100644 --- a/editeng/source/items/itemtype.cxx +++ b/editeng/source/items/itemtype.cxx @@ -152,7 +152,7 @@ OUString GetColorString( const Color& rCol ) nColor += 1; } - static const char* RID_SVXITEMS_COLORS[] = + static TranslateId RID_SVXITEMS_COLORS[] = { RID_SVXITEMS_COLOR_BLACK, RID_SVXITEMS_COLOR_BLUE, @@ -188,9 +188,9 @@ OUString GetColorString( const Color& rCol ) return sStr; } -const char* GetMetricId( MapUnit eUnit ) +TranslateId GetMetricId( MapUnit eUnit ) { - const char* pId = RID_SVXITEMS_METRIC_MM; + TranslateId pId = RID_SVXITEMS_METRIC_MM; switch ( eUnit ) { diff --git a/editeng/source/items/paraitem.cxx b/editeng/source/items/paraitem.cxx index 9bc05843bd22..4dc508a6939f 100644 --- a/editeng/source/items/paraitem.cxx +++ b/editeng/source/items/paraitem.cxx @@ -435,7 +435,7 @@ sal_uInt16 SvxAdjustItem::GetValueCount() const OUString SvxAdjustItem::GetValueTextByPos( sal_uInt16 nPos ) { - static const char* RID_SVXITEMS_ADJUST[] = + static TranslateId RID_SVXITEMS_ADJUST[] = { RID_SVXITEMS_ADJUST_LEFT, RID_SVXITEMS_ADJUST_RIGHT, @@ -648,7 +648,7 @@ bool SvxHyphenZoneItem::GetPresentation { case SfxItemPresentation::Nameless: { - const char* pId = RID_SVXITEMS_HYPHEN_FALSE; + TranslateId pId = RID_SVXITEMS_HYPHEN_FALSE; if ( bHyphen ) pId = RID_SVXITEMS_HYPHEN_TRUE; @@ -665,7 +665,7 @@ bool SvxHyphenZoneItem::GetPresentation } case SfxItemPresentation::Complete: { - const char* pId = RID_SVXITEMS_HYPHEN_FALSE; + TranslateId pId = RID_SVXITEMS_HYPHEN_FALSE; if ( bHyphen ) pId = RID_SVXITEMS_HYPHEN_TRUE; @@ -1008,7 +1008,7 @@ bool SvxFormatSplitItem::GetPresentation OUString& rText, const IntlWrapper& ) const { - const char* pId = RID_SVXITEMS_FMTSPLIT_FALSE; + TranslateId pId = RID_SVXITEMS_FMTSPLIT_FALSE; if ( GetValue() ) pId = RID_SVXITEMS_FMTSPLIT_TRUE; @@ -1173,7 +1173,7 @@ bool SvxParaVertAlignItem::GetPresentation( MapUnit /*eCoreMetric*/, MapUnit /*ePresMetric*/, OUString &rText, const IntlWrapper& ) const { - const char* pTmp; + TranslateId pTmp; switch( GetValue() ) { case Align::Automatic: pTmp = RID_SVXITEMS_PARAVERTALIGN_AUTO; break; diff --git a/editeng/source/items/textitem.cxx b/editeng/source/items/textitem.cxx index 3fd992617695..433352b4653f 100644 --- a/editeng/source/items/textitem.cxx +++ b/editeng/source/items/textitem.cxx @@ -356,7 +356,7 @@ OUString SvxPostureItem::GetValueTextByPos( sal_uInt16 nPos ) DBG_ASSERT( nPos <= sal_uInt16(ITALIC_NORMAL), "enum overflow!" ); FontItalic eItalic = static_cast<FontItalic>(nPos); - const char* pId = nullptr; + TranslateId pId; switch ( eItalic ) { @@ -483,7 +483,7 @@ bool SvxWeightItem::GetPresentation OUString SvxWeightItem::GetValueTextByPos( sal_uInt16 nPos ) { - static const char* RID_SVXITEMS_WEIGHTS[] = + static TranslateId RID_SVXITEMS_WEIGHTS[] = { RID_SVXITEMS_WEIGHT_DONTKNOW, RID_SVXITEMS_WEIGHT_THIN, @@ -1029,7 +1029,7 @@ SvxUnderlineItem* SvxUnderlineItem::Clone( SfxItemPool * ) const OUString SvxUnderlineItem::GetValueTextByPos( sal_uInt16 nPos ) const { - static const char* RID_SVXITEMS_UL[] = + static TranslateId RID_SVXITEMS_UL[] = { RID_SVXITEMS_UL_NONE, RID_SVXITEMS_UL_SINGLE, @@ -1070,7 +1070,7 @@ SvxOverlineItem* SvxOverlineItem::Clone( SfxItemPool * ) const OUString SvxOverlineItem::GetValueTextByPos( sal_uInt16 nPos ) const { - static const char* RID_SVXITEMS_OL[] = + static TranslateId RID_SVXITEMS_OL[] = { RID_SVXITEMS_OL_NONE, RID_SVXITEMS_OL_SINGLE, @@ -1147,7 +1147,7 @@ bool SvxCrossedOutItem::GetPresentation OUString SvxCrossedOutItem::GetValueTextByPos( sal_uInt16 nPos ) { - static const char* RID_SVXITEMS_STRIKEOUT[] = + static TranslateId RID_SVXITEMS_STRIKEOUT[] = { RID_SVXITEMS_STRIKEOUT_NONE, RID_SVXITEMS_STRIKEOUT_SINGLE, @@ -1216,7 +1216,7 @@ bool SvxShadowedItem::GetPresentation OUString& rText, const IntlWrapper& /*rIntl*/ ) const { - const char* pId = RID_SVXITEMS_SHADOWED_FALSE; + TranslateId pId = RID_SVXITEMS_SHADOWED_FALSE; if ( GetValue() ) pId = RID_SVXITEMS_SHADOWED_TRUE; @@ -1244,7 +1244,7 @@ bool SvxAutoKernItem::GetPresentation OUString& rText, const IntlWrapper& /*rIntl*/ ) const { - const char* pId = RID_SVXITEMS_AUTOKERN_FALSE; + TranslateId pId = RID_SVXITEMS_AUTOKERN_FALSE; if ( GetValue() ) pId = RID_SVXITEMS_AUTOKERN_TRUE; @@ -1273,7 +1273,7 @@ bool SvxWordLineModeItem::GetPresentation OUString& rText, const IntlWrapper& /*rIntl*/ ) const { - const char* pId = RID_SVXITEMS_WORDLINE_FALSE; + TranslateId pId = RID_SVXITEMS_WORDLINE_FALSE; if ( GetValue() ) pId = RID_SVXITEMS_WORDLINE_TRUE; @@ -1301,7 +1301,7 @@ bool SvxContourItem::GetPresentation OUString& rText, const IntlWrapper& /*rIntl*/ ) const { - const char* pId = RID_SVXITEMS_CONTOUR_FALSE; + TranslateId pId = RID_SVXITEMS_CONTOUR_FALSE; if ( GetValue() ) pId = RID_SVXITEMS_CONTOUR_TRUE; @@ -1467,7 +1467,7 @@ bool SvxKerningItem::GetPresentation case SfxItemPresentation::Complete: { rText = EditResId(RID_SVXITEMS_KERNING_COMPLETE); - const char* pId = nullptr; + TranslateId pId; if ( GetValue() > 0 ) pId = RID_SVXITEMS_KERNING_EXPANDED; @@ -1536,7 +1536,7 @@ bool SvxCaseMapItem::GetPresentation OUString SvxCaseMapItem::GetValueTextByPos( sal_uInt16 nPos ) { - static const char* RID_SVXITEMS_CASEMAP[] = + static TranslateId RID_SVXITEMS_CASEMAP[] = { RID_SVXITEMS_CASEMAP_NONE, RID_SVXITEMS_CASEMAP_UPPERCASE, @@ -1658,7 +1658,7 @@ bool SvxEscapementItem::GetPresentation OUString SvxEscapementItem::GetValueTextByPos( sal_uInt16 nPos ) { - static const char* RID_SVXITEMS_ESCAPEMENT[] = + static TranslateId RID_SVXITEMS_ESCAPEMENT[] = { RID_SVXITEMS_ESCAPEMENT_OFF, RID_SVXITEMS_ESCAPEMENT_SUPER, @@ -1875,7 +1875,7 @@ bool SvxBlinkItem::GetPresentation OUString& rText, const IntlWrapper& /*rIntl*/ ) const { - const char* pId = RID_SVXITEMS_BLINK_FALSE; + TranslateId pId = RID_SVXITEMS_BLINK_FALSE; if ( GetValue() ) pId = RID_SVXITEMS_BLINK_TRUE; @@ -1905,7 +1905,7 @@ bool SvxEmphasisMarkItem::GetPresentation const IntlWrapper& /*rIntl*/ ) const { - static const char* RID_SVXITEMS_EMPHASIS[] = + static TranslateId RID_SVXITEMS_EMPHASIS[] = { RID_SVXITEMS_EMPHASIS_NONE_STYLE, RID_SVXITEMS_EMPHASIS_DOT_STYLE, @@ -1917,11 +1917,11 @@ bool SvxEmphasisMarkItem::GetPresentation FontEmphasisMark nVal = GetEmphasisMark(); rText = EditResId(RID_SVXITEMS_EMPHASIS[ static_cast<sal_uInt16>(static_cast<FontEmphasisMark>( nVal & FontEmphasisMark::Style ))]); - const char* pId = ( FontEmphasisMark::PosAbove & nVal ) + TranslateId pId = ( FontEmphasisMark::PosAbove & nVal ) ? RID_SVXITEMS_EMPHASIS_ABOVE_POS : ( FontEmphasisMark::PosBelow & nVal ) ? RID_SVXITEMS_EMPHASIS_BELOW_POS - : nullptr; + : TranslateId(); if( pId ) rText += EditResId( pId ); return true; @@ -2329,7 +2329,7 @@ SvxCharReliefItem* SvxCharReliefItem::Clone( SfxItemPool * ) const return new SvxCharReliefItem( *this ); } -static const char* RID_SVXITEMS_RELIEF[] = +static TranslateId RID_SVXITEMS_RELIEF[] = { RID_SVXITEMS_RELIEF_NONE, RID_SVXITEMS_RELIEF_EMBOSSED, diff --git a/editeng/source/misc/splwrap.cxx b/editeng/source/misc/splwrap.cxx index b51c9c97b613..669546a8e5cb 100644 --- a/editeng/source/misc/splwrap.cxx +++ b/editeng/source/misc/splwrap.cxx @@ -342,7 +342,7 @@ bool SvxSpellWrapper::SpellNext( ) // a BODY_area done, ask for the other BODY_area xWait.reset(); - const char* pResId = bReverse ? RID_SVXSTR_QUERY_BW_CONTINUE : RID_SVXSTR_QUERY_CONTINUE; + TranslateId pResId = bReverse ? RID_SVXSTR_QUERY_BW_CONTINUE : RID_SVXSTR_QUERY_CONTINUE; std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pWin, VclMessageType::Question, VclButtonsType::YesNo, EditResId(pResId))); diff --git a/editeng/source/misc/unolingu.cxx b/editeng/source/misc/unolingu.cxx index b72fae9ebb67..c5f37e74cbb4 100644 --- a/editeng/source/misc/unolingu.cxx +++ b/editeng/source/misc/unolingu.cxx @@ -731,7 +731,7 @@ short SvxDicError(weld::Window *pParent, linguistic::DictionaryError nError) short nRes = 0; if (linguistic::DictionaryError::NONE != nError) { - const char* pRid; + TranslateId pRid; switch (nError) { case linguistic::DictionaryError::FULL : pRid = RID_SVXSTR_DIC_ERR_FULL; break; diff --git a/extensions/inc/command.hrc b/extensions/inc/command.hrc index 8ae09743b154..ca05f1c4e732 100644 --- a/extensions/inc/command.hrc +++ b/extensions/inc/command.hrc @@ -20,11 +20,13 @@ #ifndef INCLUDED_EXTENSIONS_INC_COMMAND_HRC #define INCLUDED_EXTENSIONS_INC_COMMAND_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#include <unotools/resmgr.hxx> + +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) namespace { -const char* RID_RSC_ENUM_COMMAND_TYPE[] = +const TranslateId RID_RSC_ENUM_COMMAND_TYPE[] = { NC_("RID_RSC_ENUM_COMMAND_TYPE", "Table"), NC_("RID_RSC_ENUM_COMMAND_TYPE", "Query"), diff --git a/extensions/inc/showhide.hrc b/extensions/inc/showhide.hrc index 0f7ec42ad346..5f96170a71f9 100644 --- a/extensions/inc/showhide.hrc +++ b/extensions/inc/showhide.hrc @@ -20,11 +20,11 @@ #ifndef INCLUDED_EXTENSIONS_INC_SHOWHIDE_HRC #define INCLUDED_EXTENSIONS_INC_SHOWHIDE_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) namespace { -const char* RID_RSC_ENUM_SHOWHIDE[] = +const TranslateId RID_RSC_ENUM_SHOWHIDE[] = { NC_("RID_RSC_ENUM_SHOWHIDE", "Hide"), NC_("RID_RSC_ENUM_SHOWHIDE", "Show") diff --git a/extensions/inc/stringarrays.hrc b/extensions/inc/stringarrays.hrc index c7053e143bf0..2de092317cac 100644 --- a/extensions/inc/stringarrays.hrc +++ b/extensions/inc/stringarrays.hrc @@ -20,29 +20,29 @@ #ifndef INCLUDED_EXTENSIONS_INC_STRINGARRAYS_HRC #define INCLUDED_EXTENSIONS_INC_STRINGARRAYS_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* RID_RSC_ENUM_VERTICAL_ALIGN[] = +const TranslateId RID_RSC_ENUM_VERTICAL_ALIGN[] = { NC_("RID_RSC_ENUM_VERTICAL_ALIGN", "Top"), NC_("RID_RSC_ENUM_VERTICAL_ALIGN", "Middle"), NC_("RID_RSC_ENUM_VERTICAL_ALIGN", "Bottom") }; -const char* RID_RSC_ENUM_ICONSIZE_TYPE[] = +const TranslateId RID_RSC_ENUM_ICONSIZE_TYPE[] = { NC_("RID_RSC_ENUM_ICONSIZE_TYPE", "Small"), NC_("RID_RSC_ENUM_ICONSIZE_TYPE", "Large") }; -const char* RID_RSC_ENUM_BORDER_TYPE[] = +const TranslateId RID_RSC_ENUM_BORDER_TYPE[] = { NC_("RID_RSC_ENUM_BORDER_TYPE", "Without frame"), NC_("RID_RSC_ENUM_BORDER_TYPE", "3D look"), NC_("RID_RSC_ENUM_BORDER_TYPE", "Flat") }; -const char* RID_RSC_ENUM_LISTSOURCE_TYPE[] = +const TranslateId RID_RSC_ENUM_LISTSOURCE_TYPE[] = { NC_("RID_RSC_ENUM_LISTSOURCE_TYPE", "Valuelist"), NC_("RID_RSC_ENUM_LISTSOURCE_TYPE", "Table"), @@ -52,14 +52,14 @@ const char* RID_RSC_ENUM_LISTSOURCE_TYPE[] = NC_("RID_RSC_ENUM_LISTSOURCE_TYPE", "Tablefields" ) }; -const char* RID_RSC_ENUM_ALIGNMENT[] = +const TranslateId RID_RSC_ENUM_ALIGNMENT[] = { NC_("RID_RSC_ENUM_ALIGNMENT", "Left"), NC_("RID_RSC_ENUM_ALIGNMENT", "Center"), NC_("RID_RSC_ENUM_ALIGNMENT", "Right" ) }; -const char* RID_RSC_ENUM_BUTTONTYPE[] = +const TranslateId RID_RSC_ENUM_BUTTONTYPE[] = { NC_("RID_RSC_ENUM_BUTTONTYPE", "None"), NC_("RID_RSC_ENUM_BUTTONTYPE", "Submit form"), @@ -76,20 +76,20 @@ const char* RID_RSC_ENUM_BUTTONTYPE[] = NC_("RID_RSC_ENUM_BUTTONTYPE", "Refresh form") }; -const char* RID_RSC_ENUM_SUBMIT_METHOD[] = +const TranslateId RID_RSC_ENUM_SUBMIT_METHOD[] = { NC_("RID_RSC_ENUM_SUBMIT_METHOD", "Get"), NC_("RID_RSC_ENUM_SUBMIT_METHOD", "Post" ) }; -const char* RID_RSC_ENUM_SUBMIT_ENCODING[] = +const TranslateId RID_RSC_ENUM_SUBMIT_ENCODING[] = { NC_("RID_RSC_ENUM_SUBMIT_ENCODING", "URL"), NC_("RID_RSC_ENUM_SUBMIT_ENCODING", "Multipart"), NC_("RID_RSC_ENUM_SUBMIT_ENCODING", "Text" ) }; -const char* RID_RSC_ENUM_DATEFORMAT_LIST[] = +const TranslateId RID_RSC_ENUM_DATEFORMAT_LIST[] = { NC_("RID_RSC_ENUM_DATEFORMAT_LIST", "Standard (short)"), NC_("RID_RSC_ENUM_DATEFORMAT_LIST", "Standard (short YY)"), @@ -105,7 +105,7 @@ const char* RID_RSC_ENUM_DATEFORMAT_LIST[] = NC_("RID_RSC_ENUM_DATEFORMAT_LIST", "YYYY-MM-DD" ), }; -const char* RID_RSC_ENUM_TIMEFORMAT_LIST[] = +const TranslateId RID_RSC_ENUM_TIMEFORMAT_LIST[] = { NC_("RID_RSC_ENUM_TIMEFORMAT_LIST", "13:45"), NC_("RID_RSC_ENUM_TIMEFORMAT_LIST", "13:45:00"), @@ -113,28 +113,28 @@ const char* RID_RSC_ENUM_TIMEFORMAT_LIST[] = NC_("RID_RSC_ENUM_TIMEFORMAT_LIST", "01:45:00 PM" ), }; -const char* RID_RSC_ENUM_CHECKED[] = +const TranslateId RID_RSC_ENUM_CHECKED[] = { NC_("RID_RSC_ENUM_CHECKED", "Not Selected"), NC_("RID_RSC_ENUM_CHECKED", "Selected"), NC_("RID_RSC_ENUM_CHECKED", "Not Defined" ) }; -const char* RID_RSC_ENUM_CYCLE[] = +const TranslateId RID_RSC_ENUM_CYCLE[] = { NC_("RID_RSC_ENUM_CYCLE", "All records"), NC_("RID_RSC_ENUM_CYCLE", "Active record"), NC_("RID_RSC_ENUM_CYCLE", "Current page" ) }; -const char* RID_RSC_ENUM_NAVIGATION[] = +const TranslateId RID_RSC_ENUM_NAVIGATION[] = { NC_("RID_RSC_ENUM_NAVIGATION", "No"), NC_("RID_RSC_ENUM_NAVIGATION", "Yes"), NC_("RID_RSC_ENUM_NAVIGATION", "Parent Form") }; -const char* RID_RSC_ENUM_SUBMIT_TARGET[] = +const TranslateId RID_RSC_ENUM_SUBMIT_TARGET[] = { NC_("RID_RSC_ENUM_SUBMIT_TARGET", "_blank"), NC_("RID_RSC_ENUM_SUBMIT_TARGET", "_parent"), @@ -142,7 +142,7 @@ const char* RID_RSC_ENUM_SUBMIT_TARGET[] = NC_("RID_RSC_ENUM_SUBMIT_TARGET", "_top") }; -const char* RID_RSC_ENUM_SELECTION_TYPE[] = +const TranslateId RID_RSC_ENUM_SELECTION_TYPE[] = { NC_("RID_RSC_ENUM_SELECTION_TYPE", "None" ), NC_("RID_RSC_ENUM_SELECTION_TYPE", "Single" ), @@ -150,13 +150,13 @@ const char* RID_RSC_ENUM_SELECTION_TYPE[] = NC_("RID_RSC_ENUM_SELECTION_TYPE", "Range" ) }; -const char* RID_RSC_ENUM_ORIENTATION[] = +const TranslateId RID_RSC_ENUM_ORIENTATION[] = { NC_("RID_RSC_ENUM_ORIENTATION", "Horizontal"), NC_("RID_RSC_ENUM_ORIENTATION", "Vertical") }; -const char* RID_RSC_ENUM_PUSHBUTTONTYPE[] = +const TranslateId RID_RSC_ENUM_PUSHBUTTONTYPE[] = { NC_("RID_RSC_ENUM_PUSHBUTTONTYPE", "Default"), NC_("RID_RSC_ENUM_PUSHBUTTONTYPE", "OK"), @@ -164,26 +164,26 @@ const char* RID_RSC_ENUM_PUSHBUTTONTYPE[] = NC_("RID_RSC_ENUM_PUSHBUTTONTYPE", "Help") }; -const char* RID_RSC_ENUM_CELL_EXCHANGE_TYPE[] = +const TranslateId RID_RSC_ENUM_CELL_EXCHANGE_TYPE[] = { NC_("RID_RSC_ENUM_CELL_EXCHANGE_TYPE", "The selected entry"), NC_("RID_RSC_ENUM_CELL_EXCHANGE_TYPE", "Position of the selected entry") }; -const char* RID_RSC_ENUM_TEXTTYPE[] = +const TranslateId RID_RSC_ENUM_TEXTTYPE[] = { NC_("RID_RSC_ENUM_TEXTTYPE", "Single-line"), NC_("RID_RSC_ENUM_TEXTTYPE", "Multi-line"), NC_("RID_RSC_ENUM_TEXTTYPE", "Multi-line with formatting") }; -const char* RID_RSC_ENUM_LINEEND_FORMAT[] = +const TranslateId RID_RSC_ENUM_LINEEND_FORMAT[] = { NC_("RID_RSC_ENUM_LINEEND_FORMAT", "LF (Unix)"), NC_("RID_RSC_ENUM_LINEEND_FORMAT", "CR+LF (Windows)") }; -const char* RID_RSC_ENUM_SCROLLBARS[] = +const TranslateId RID_RSC_ENUM_SCROLLBARS[] = { NC_("RID_RSC_ENUM_SCROLLBARS", "None"), NC_("RID_RSC_ENUM_SCROLLBARS", "Horizontal"), @@ -191,13 +191,13 @@ const char* RID_RSC_ENUM_SCROLLBARS[] = NC_("RID_RSC_ENUM_SCROLLBARS", "Both") }; -const char* RID_RSC_ENUM_VISUALEFFECT[] = +const TranslateId RID_RSC_ENUM_VISUALEFFECT[] = { NC_("RID_RSC_ENUM_VISUALEFFECT", "3D"), NC_("RID_RSC_ENUM_VISUALEFFECT", "Flat"), }; -const char* RID_RSC_ENUM_IMAGE_POSITION[] = +const TranslateId RID_RSC_ENUM_IMAGE_POSITION[] = { NC_("RID_RSC_ENUM_IMAGE_POSITION", "Left top"), NC_("RID_RSC_ENUM_IMAGE_POSITION", "Left centered"), @@ -214,35 +214,35 @@ const char* RID_RSC_ENUM_IMAGE_POSITION[] = NC_("RID_RSC_ENUM_IMAGE_POSITION", "Centered"), }; -const char* RID_RSC_ENUM_WHITESPACE_HANDLING[] = +const TranslateId RID_RSC_ENUM_WHITESPACE_HANDLING[] = { NC_("RID_RSC_ENUM_WHITESPACE_HANDLING", "Preserve"), NC_("RID_RSC_ENUM_WHITESPACE_HANDLING", "Replace"), NC_("RID_RSC_ENUM_WHITESPACE_HANDLING", "Collapse") }; -const char* RID_RSC_ENUM_SCALE_MODE[] = +const TranslateId RID_RSC_ENUM_SCALE_MODE[] = { NC_("RID_RSC_ENUM_SCALE_MODE", "No"), NC_("RID_RSC_ENUM_SCALE_MODE", "Keep Ratio"), NC_("RID_RSC_ENUM_SCALE_MODE", "Fit to Size") }; -const char* RID_RSC_ENUM_WRITING_MODE[] = +const TranslateId RID_RSC_ENUM_WRITING_MODE[] = { NC_("RID_RSC_ENUM_WRITING_MODE", "Left-to-right"), NC_("RID_RSC_ENUM_WRITING_MODE", "Right-to-left"), NC_("RID_RSC_ENUM_WRITING_MODE", "Use superordinate object settings") }; -const char* RID_RSC_ENUM_WHEEL_BEHAVIOR[] = +const TranslateId RID_RSC_ENUM_WHEEL_BEHAVIOR[] = { NC_("RID_RSC_ENUM_WHEEL_BEHAVIOR", "Never"), NC_("RID_RSC_ENUM_WHEEL_BEHAVIOR", "When focused"), NC_("RID_RSC_ENUM_WHEEL_BEHAVIOR", "Always") }; -const char* RID_RSC_ENUM_TEXT_ANCHOR_TYPE[] = +const TranslateId RID_RSC_ENUM_TEXT_ANCHOR_TYPE[] = { NC_("RID_RSC_ENUM_TEXT_ANCHOR_TYPE", "To Paragraph"), NC_("RID_RSC_ENUM_TEXT_ANCHOR_TYPE", "As Character"), @@ -251,7 +251,7 @@ const char* RID_RSC_ENUM_TEXT_ANCHOR_TYPE[] = NC_("RID_RSC_ENUM_TEXT_ANCHOR_TYPE", "To Character") }; -const char* RID_RSC_ENUM_SHEET_ANCHOR_TYPE[] = +const TranslateId RID_RSC_ENUM_SHEET_ANCHOR_TYPE[] = { NC_("RID_RSC_ENUM_SHEET_ANCHOR_TYPE", "To Page"), NC_("RID_RSC_ENUM_SHEET_ANCHOR_TYPE", "To Cell") diff --git a/extensions/inc/strings.hrc b/extensions/inc/strings.hrc index 63dc3ced1b7d..8d6ed0580256 100644 --- a/extensions/inc/strings.hrc +++ b/extensions/inc/strings.hrc @@ -20,7 +20,9 @@ #ifndef INCLUDED_EXTENSIONS_INC_STRINGS_HRC #define INCLUDED_EXTENSIONS_INC_STRINGS_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#include <unotools/resmgr.hxx> + +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define RID_STR_EDITMASK NC_("RID_STR_EDITMASK", "Edit mask") #define RID_STR_LITERALMASK NC_("RID_STR_LITERALMASK", "Literal mask") diff --git a/extensions/inc/yesno.hrc b/extensions/inc/yesno.hrc index 3992a1e8ab28..32792bb81300 100644 --- a/extensions/inc/yesno.hrc +++ b/extensions/inc/yesno.hrc @@ -20,11 +20,13 @@ #ifndef INCLUDED_EXTENSIONS_INC_YESNO_HRC #define INCLUDED_EXTENSIONS_INC_YESNO_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#include <unotools/resmgr.hxx> + +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) namespace { -const char* RID_RSC_ENUM_YESNO[] = +const TranslateId RID_RSC_ENUM_YESNO[] = { NC_("RID_RSC_ENUM_YESNO", "No" ), NC_("RID_RSC_ENUM_YESNO", "Yes" ) diff --git a/extensions/source/abpilot/abspilot.cxx b/extensions/source/abpilot/abspilot.cxx index fee75664d983..5600e819fb07 100644 --- a/extensions/source/abpilot/abspilot.cxx +++ b/extensions/source/abpilot/abspilot.cxx @@ -119,7 +119,7 @@ namespace abp OUString OAddressBookSourcePilot::getStateDisplayName( WizardState _nState ) const { - const char* pResId = nullptr; + TranslateId pResId; switch ( _nState ) { case STATE_SELECT_ABTYPE: pResId = RID_STR_SELECT_ABTYPE; break; diff --git a/extensions/source/bibliography/bibmod.cxx b/extensions/source/bibliography/bibmod.cxx index 5f32aef3a366..3a6d06672004 100644 --- a/extensions/source/bibliography/bibmod.cxx +++ b/extensions/source/bibliography/bibmod.cxx @@ -54,7 +54,7 @@ void CloseBibModul(HdlBibModul ppBibModul) } } -OUString BibResId(std::string_view aId) +OUString BibResId(TranslateId aId) { return Translate::get(aId, pBibModul->GetResLocale()); } diff --git a/extensions/source/bibliography/bibresid.hxx b/extensions/source/bibliography/bibresid.hxx index 7de3d0c46bfb..6e17e76f2af7 100644 --- a/extensions/source/bibliography/bibresid.hxx +++ b/extensions/source/bibliography/bibresid.hxx @@ -20,8 +20,8 @@ #pragma once #include <rtl/ustring.hxx> -#include <string_view> +#include <unotools/resmgr.hxx> -OUString BibResId(std::string_view aId); +OUString BibResId(TranslateId aId); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/extensions/source/dbpilots/controlwizard.cxx b/extensions/source/dbpilots/controlwizard.cxx index b442aca3fdbe..e8a2dfef1189 100644 --- a/extensions/source/dbpilots/controlwizard.cxx +++ b/extensions/source/dbpilots/controlwizard.cxx @@ -185,7 +185,7 @@ namespace dbp m_xFormDatasource->set_label(sDataSource); m_xFormTable->set_label(sCommand); - const char* pCommandTypeResourceId = nullptr; + TranslateId pCommandTypeResourceId; switch (nCommandType) { case CommandType::TABLE: diff --git a/extensions/source/inc/componentmodule.cxx b/extensions/source/inc/componentmodule.cxx index 69d2234adbdb..e1b29b2ecef6 100644 --- a/extensions/source/inc/componentmodule.cxx +++ b/extensions/source/inc/componentmodule.cxx @@ -23,7 +23,7 @@ namespace compmodule { - OUString ModuleRes(const char* pId) + OUString ModuleRes(TranslateId pId) { return Translate::get(pId, Translate::Create("pcr")); } diff --git a/extensions/source/inc/componentmodule.hxx b/extensions/source/inc/componentmodule.hxx index 80bc71169190..24b5032cd98e 100644 --- a/extensions/source/inc/componentmodule.hxx +++ b/extensions/source/inc/componentmodule.hxx @@ -20,12 +20,13 @@ #pragma once #include <rtl/ustring.hxx> +#include <unotools/resmgr.hxx> namespace compmodule { // specialized ResId, using the resource locale provided by the global module - OUString ModuleRes(const char* pId); + OUString ModuleRes(TranslateId pId); } // namespace compmodule diff --git a/extensions/source/propctrlr/defaultforminspection.cxx b/extensions/source/propctrlr/defaultforminspection.cxx index b3b0c82af496..a2b1d2d26ea1 100644 --- a/extensions/source/propctrlr/defaultforminspection.cxx +++ b/extensions/source/propctrlr/defaultforminspection.cxx @@ -131,7 +131,7 @@ namespace pcr static struct { const char* programmaticName; - const char* uiNameResId; + TranslateId uiNameResId; const char* helpId; } const aCategories[] = { { "General", RID_STR_PROPPAGE_DEFAULT, HID_FM_PROPDLG_TAB_GENERAL }, diff --git a/extensions/source/propctrlr/eventhandler.cxx b/extensions/source/propctrlr/eventhandler.cxx index 74a1ba13a94b..940d7d48f379 100644 --- a/extensions/source/propctrlr/eventhandler.cxx +++ b/extensions/source/propctrlr/eventhandler.cxx @@ -123,7 +123,7 @@ namespace pcr namespace FormComponentType = css::form::FormComponentType; EventDescription::EventDescription( EventId _nId, const char* _pListenerNamespaceAscii, const char* _pListenerClassAsciiName, - const char* _pListenerMethodAsciiName, const char* pDisplayNameResId, const OString& _sHelpId, const OString& _sUniqueBrowseId ) + const char* _pListenerMethodAsciiName, TranslateId pDisplayNameResId, const OString& _sHelpId, const OString& _sUniqueBrowseId ) :sDisplayName(PcrRes( pDisplayNameResId )) ,sListenerMethodName( OUString::createFromAscii( _pListenerMethodAsciiName ) ) ,sHelpId( _sHelpId ) diff --git a/extensions/source/propctrlr/eventhandler.hxx b/extensions/source/propctrlr/eventhandler.hxx index 320875a418fb..1447276a3b62 100644 --- a/extensions/source/propctrlr/eventhandler.hxx +++ b/extensions/source/propctrlr/eventhandler.hxx @@ -28,6 +28,7 @@ #include <com/sun/star/frame/XFrame.hpp> #include <com/sun/star/uno/XComponentContext.hpp> #include <cppuhelper/compbase.hxx> +#include <unotools/resmgr.hxx> #include <unordered_map> @@ -58,7 +59,7 @@ namespace pcr const char* _pListenerNamespaceAscii, const char* _pListenerClassAsciiName, const char* _pListenerMethodAsciiName, - const char* pDisplayNameResId, + TranslateId pDisplayNameResId, const OString& _sHelpId, const OString& _sUniqueBrowseId ); }; diff --git a/extensions/source/propctrlr/formcomponenthandler.cxx b/extensions/source/propctrlr/formcomponenthandler.cxx index 0cf3bc52f171..abbb5d418dc6 100644 --- a/extensions/source/propctrlr/formcomponenthandler.cxx +++ b/extensions/source/propctrlr/formcomponenthandler.cxx @@ -739,7 +739,7 @@ namespace pcr // font style ::FontWeight eWeight = vcl::unohelper::ConvertFontWeight( aFont.Weight ); - const char* pStyleResID = RID_STR_FONTSTYLE_REGULAR; + TranslateId pStyleResID = RID_STR_FONTSTYLE_REGULAR; if ( aFont.Slant == FontSlant_ITALIC ) { if ( eWeight > WEIGHT_NORMAL ) diff --git a/extensions/source/propctrlr/formmetadata.cxx b/extensions/source/propctrlr/formmetadata.cxx index 3fd9e92b3a0f..f9147cb4469a 100644 --- a/extensions/source/propctrlr/formmetadata.cxx +++ b/extensions/source/propctrlr/formmetadata.cxx @@ -410,7 +410,7 @@ namespace pcr OSL_ENSURE( ( ( getPropertyUIFlags( _nId ) & PROP_FLAG_ENUM ) != 0 ) || ( _nId == PROPERTY_ID_TARGET_FRAME ), "OPropertyInfoService::getPropertyEnumRepresentations: this is no enum property!" ); - const char** pStringItemsResId = nullptr; + const TranslateId* pStringItemsResId = nullptr; int nElements = 0; switch ( _nId ) { diff --git a/extensions/source/propctrlr/handlerhelper.cxx b/extensions/source/propctrlr/handlerhelper.cxx index b83773b6f00a..cc9e08561dda 100644 --- a/extensions/source/propctrlr/handlerhelper.cxx +++ b/extensions/source/propctrlr/handlerhelper.cxx @@ -139,7 +139,7 @@ namespace pcr } Reference< XPropertyControl > PropertyHandlerHelper::createListBoxControl( const Reference< XPropertyControlFactory >& _rxControlFactory, - const char** pTransIds, size_t nElements, bool _bReadOnlyControl ) + const TranslateId* pTransIds, size_t nElements, bool _bReadOnlyControl ) { std::vector<OUString> aInitialListEntries; for (size_t i = 0; i < nElements; ++i) diff --git a/extensions/source/propctrlr/handlerhelper.hxx b/extensions/source/propctrlr/handlerhelper.hxx index a53a24a9256f..21c0fd2fe162 100644 --- a/extensions/source/propctrlr/handlerhelper.hxx +++ b/extensions/source/propctrlr/handlerhelper.hxx @@ -25,6 +25,7 @@ #include <com/sun/star/inspection/XPropertyControlFactory.hpp> #include <com/sun/star/beans/PropertyAttribute.hpp> #include <com/sun/star/beans/Optional.hpp> +#include <unotools/resmgr.hxx> #include <vector> @@ -116,7 +117,7 @@ namespace pcr static css::uno::Reference< css::inspection::XPropertyControl > createListBoxControl( const css::uno::Reference< css::inspection::XPropertyControlFactory >& _rxControlFactory, - const char** pTransIds, size_t nElements, + const TranslateId* pTransIds, size_t nElements, bool _bReadOnlyControl ); diff --git a/extensions/source/propctrlr/modulepcr.cxx b/extensions/source/propctrlr/modulepcr.cxx index 67a6e198b27e..da8336e10991 100644 --- a/extensions/source/propctrlr/modulepcr.cxx +++ b/extensions/source/propctrlr/modulepcr.cxx @@ -23,7 +23,7 @@ namespace pcr { -OUString PcrRes(std::string_view aId) { return Translate::get(aId, Translate::Create("pcr")); } +OUString PcrRes(TranslateId aId) { return Translate::get(aId, Translate::Create("pcr")); } } // namespace pcr diff --git a/extensions/source/propctrlr/modulepcr.hxx b/extensions/source/propctrlr/modulepcr.hxx index c8eed78eef32..d0b854893ea2 100644 --- a/extensions/source/propctrlr/modulepcr.hxx +++ b/extensions/source/propctrlr/modulepcr.hxx @@ -20,11 +20,11 @@ #pragma once #include <rtl/ustring.hxx> -#include <string_view> +#include <unotools/resmgr.hxx> namespace pcr { -OUString PcrRes(std::string_view pId); +OUString PcrRes(TranslateId pId); } // namespace pcr /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/extensions/source/scanner/sanedlg.cxx b/extensions/source/scanner/sanedlg.cxx index 87c17e56fe78..e76575cd9bc9 100644 --- a/extensions/source/scanner/sanedlg.cxx +++ b/extensions/source/scanner/sanedlg.cxx @@ -273,7 +273,7 @@ SaneDlg::~SaneDlg() namespace { -OUString SaneResId(std::string_view aID) +OUString SaneResId(TranslateId aID) { return Translate::get(aID, Translate::Create("pcr")); } diff --git a/filter/inc/strings.hrc b/filter/inc/strings.hrc index b1bea27dec47..eecfdb33e2d0 100644 --- a/filter/inc/strings.hrc +++ b/filter/inc/strings.hrc @@ -19,7 +19,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define STR_UNKNOWN_APPLICATION NC_("STR_UNKNOWN_APPLICATION", "Unknown") #define STR_IMPORT_ONLY NC_("STR_IMPORT_ONLY", "import filter") diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx index a1a8978e04ff..0e5a4441907e 100644 --- a/filter/source/pdf/impdialog.cxx +++ b/filter/source/pdf/impdialog.cxx @@ -42,7 +42,7 @@ #include <com/sun/star/beans/XMaterialHolder.hpp> #include <com/sun/star/lang/XServiceInfo.hpp> -static OUString PDFFilterResId(std::string_view aId) +static OUString PDFFilterResId(TranslateId aId) { return Translate::get(aId, Translate::Create("flt")); } diff --git a/filter/source/t602/t602filter.cxx b/filter/source/t602/t602filter.cxx index 8fd52e72fed5..a8df18768b3a 100644 --- a/filter/source/t602/t602filter.cxx +++ b/filter/source/t602/t602filter.cxx @@ -1078,7 +1078,7 @@ sal_Int16 SAL_CALL T602ImportFilterDialog::execute() return css::ui::dialogs::ExecutableDialogResults::CANCEL; } -OUString T602ImportFilterDialog::getResStr(const char* resid) +OUString T602ImportFilterDialog::getResStr(TranslateId resid) { return Translate::get(resid, maResLocale); } diff --git a/filter/source/t602/t602filter.hxx b/filter/source/t602/t602filter.hxx index e9ec3a58e4e3..04376a1f3c26 100644 --- a/filter/source/t602/t602filter.hxx +++ b/filter/source/t602/t602filter.hxx @@ -34,6 +34,7 @@ #include <xmloff/attrlist.hxx> #include <i18nlangtag/languagetag.hxx> #include <rtl/ref.hxx> +#include <unotools/resmgr.hxx> namespace T602ImportFilter { @@ -85,7 +86,7 @@ class T602ImportFilterDialog : public cppu::WeakImplHelper < LanguageTag maLocale; std::locale maResLocale; bool OptionsDlg(); - OUString getResStr(const char* resid); + OUString getResStr(TranslateId resid); virtual ~T602ImportFilterDialog() override; diff --git a/filter/source/xsltdialog/xmlfiltercommon.hxx b/filter/source/xsltdialog/xmlfiltercommon.hxx index c8b8ea7bfa67..0d340fa12e0f 100644 --- a/filter/source/xsltdialog/xmlfiltercommon.hxx +++ b/filter/source/xsltdialog/xmlfiltercommon.hxx @@ -20,6 +20,7 @@ #include <com/sun/star/io/XInputStream.hpp> #include <com/sun/star/io/XOutputStream.hpp> +#include <unotools/resmgr.hxx> #include <string_view> #include <vector> @@ -77,6 +78,6 @@ struct application_info_impl extern std::vector< application_info_impl > const & getApplicationInfos(); extern OUString getApplicationUIName( std::u16string_view rServiceName ); extern const application_info_impl* getApplicationInfo( std::u16string_view rServiceName ); -OUString XsltResId(std::string_view pId); +OUString XsltResId(TranslateId pId); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx index a31eba952173..66e35f186c5d 100644 --- a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx +++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx @@ -58,7 +58,7 @@ using namespace com::sun::star::util; using ::rtl::Uri; -OUString XsltResId(std::string_view aId) +OUString XsltResId(TranslateId aId) { return Translate::get(aId, Translate::Create("flt")); } diff --git a/filter/source/xsltdialog/xmlfiltertabdialog.cxx b/filter/source/xsltdialog/xmlfiltertabdialog.cxx index 306cf0abf23f..ea73c486ae1f 100644 --- a/filter/source/xsltdialog/xmlfiltertabdialog.cxx +++ b/filter/source/xsltdialog/xmlfiltertabdialog.cxx @@ -25,6 +25,7 @@ #include <vcl/svapp.hxx> #include <vcl/weld.hxx> #include <osl/file.hxx> +#include <unotools/resmgr.hxx> #include <strings.hrc> #include "xmlfiltertabdialog.hxx" @@ -69,7 +70,7 @@ bool XMLFilterTabDialog::onOk() mpBasicPage->FillInfo( mpNewInfo.get() ); OString sErrorPage; - const char* pErrorId = nullptr; + TranslateId pErrorId; weld::Widget* pFocusWindow = nullptr; OUString aReplace1; OUString aReplace2; @@ -128,7 +129,7 @@ bool XMLFilterTabDialog::onOk() sal_Int32 nFilter; Sequence< PropertyValue > aValues; - for( nFilter = 0; (nFilter < nCount) && (pErrorId == nullptr); nFilter++, pFilterName++ ) + for( nFilter = 0; (nFilter < nCount) && !pErrorId; nFilter++, pFilterName++ ) { Any aAny( xFilterContainer->getByName( *pFilterName ) ); if( !(aAny >>= aValues) ) @@ -138,7 +139,7 @@ bool XMLFilterTabDialog::onOk() PropertyValue* pValues = aValues.getArray(); sal_Int32 nValue; - for( nValue = 0; (nValue < nValueCount) && (pErrorId == nullptr); nValue++, pValues++ ) + for( nValue = 0; (nValue < nValueCount) && !pErrorId; nValue++, pValues++ ) { if ( pValues->Name == "UIName" ) { diff --git a/forms/inc/strings.hrc b/forms/inc/strings.hrc index c3b7447fbc84..8ff5d91dc8b3 100644 --- a/forms/inc/strings.hrc +++ b/forms/inc/strings.hrc @@ -19,7 +19,9 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#include <unotools/resmgr.hxx> + +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define RID_BASELISTBOX_ERROR_FILLLIST NC_("RID_BASELISTBOX_ERROR_FILLLIST", "The contents of a combo box or list field could not be determined.") #define RID_STR_IMPORT_GRAPHIC NC_("RID_STR_IMPORT_GRAPHIC", "Insert Image" ) diff --git a/forms/source/inc/frm_resource.hxx b/forms/source/inc/frm_resource.hxx index 5766af787f2c..ea629440bbce 100644 --- a/forms/source/inc/frm_resource.hxx +++ b/forms/source/inc/frm_resource.hxx @@ -20,7 +20,7 @@ #pragma once #include <rtl/ustring.hxx> -#include <string_view> +#include <unotools/resmgr.hxx> namespace frm { @@ -32,7 +32,7 @@ namespace frm { /** loads the string with the specified resource id from the FormLayer mo file */ - OUString loadString(std::string_view aResId); + OUString loadString(TranslateId aResId); }; } diff --git a/forms/source/resource/frm_resource.cxx b/forms/source/resource/frm_resource.cxx index 00c6bd5c5b22..ee29836643db 100644 --- a/forms/source/resource/frm_resource.cxx +++ b/forms/source/resource/frm_resource.cxx @@ -18,11 +18,10 @@ */ #include <frm_resource.hxx> -#include <unotools/resmgr.hxx> namespace frm::ResourceManager { - OUString loadString(std::string_view aResId) + OUString loadString(TranslateId aResId) { return Translate::get(aResId, Translate::Create("frm")); } diff --git a/forms/source/runtime/formoperations.cxx b/forms/source/runtime/formoperations.cxx index 4aa12bc91233..fa8e092ab5cb 100644 --- a/forms/source/runtime/formoperations.cxx +++ b/forms/source/runtime/formoperations.cxx @@ -775,7 +775,7 @@ namespace frm default: { - const char* pErrorResourceId = RID_STR_FEATURE_UNKNOWN; + TranslateId pErrorResourceId = RID_STR_FEATURE_UNKNOWN; if ( lcl_requiresArguments( _nFeature ) ) pErrorResourceId = RID_STR_FEATURE_REQUIRES_PARAMETERS; else if ( !lcl_isExecutableFeature( _nFeature ) ) @@ -1733,7 +1733,7 @@ namespace frm template < typename FunctObj > - void FormOperations::impl_doActionInSQLContext_throw( FunctObj f, const char* pErrorResourceId ) const + void FormOperations::impl_doActionInSQLContext_throw( FunctObj f, TranslateId pErrorResourceId ) const { try { diff --git a/forms/source/runtime/formoperations.hxx b/forms/source/runtime/formoperations.hxx index bd092edd2a48..182b0a7e0958 100644 --- a/forms/source/runtime/formoperations.hxx +++ b/forms/source/runtime/formoperations.hxx @@ -35,6 +35,7 @@ #include <cppuhelper/compbase.hxx> #include <connectivity/dbtools.hxx> #include <tools/long.hxx> +#include <unotools/resmgr.hxx> namespace frm { @@ -293,7 +294,7 @@ namespace frm the id of the resources string to use as error message */ template < typename FunctObj > - void impl_doActionInSQLContext_throw( FunctObj f, const char* pErrorResourceId ) const; + void impl_doActionInSQLContext_throw( FunctObj f, TranslateId pErrorResourceId ) const; // functionoid to call appendOrderByColumn class impl_appendOrderByColumn_throw diff --git a/forms/source/solar/control/navtoolbar.cxx b/forms/source/solar/control/navtoolbar.cxx index 475038b8391d..909c5d044502 100644 --- a/forms/source/solar/control/navtoolbar.cxx +++ b/forms/source/solar/control/navtoolbar.cxx @@ -56,7 +56,7 @@ namespace frm || ( _nFeatureId == LID_RECORD_FILLER ); } - OUString getLabelString(const char* pResId) + OUString getLabelString(TranslateId pResId) { OUString sLabel( " " + FRM_RES_STRING(pResId) + " " ); return sLabel; diff --git a/forms/source/xforms/datatypes.cxx b/forms/source/xforms/datatypes.cxx index c4ce2d941bb4..464b1c1adbbf 100644 --- a/forms/source/xforms/datatypes.cxx +++ b/forms/source/xforms/datatypes.cxx @@ -158,14 +158,14 @@ namespace xforms sal_Bool OXSDDataType::validate( const OUString& sValue ) { - return ( _validate( sValue ) == nullptr ); + return bool(_validate( sValue )); } OUString OXSDDataType::explainInvalid( const OUString& sValue ) { // get reason - const char* pReason = _validate( sValue ); + TranslateId pReason = _validate( sValue ); // get resource and return localized string return (!pReason) @@ -174,7 +174,7 @@ namespace xforms _explainInvalid( pReason ) ); } - OUString OXSDDataType::_explainInvalid(const OString& rReason) + OUString OXSDDataType::_explainInvalid(TranslateId rReason) { if ( RID_STR_XFORMS_PATTERN_DOESNT_MATCH == rReason ) { @@ -212,7 +212,7 @@ namespace xforms } } - const char* OXSDDataType::_validate( const OUString& _rValue ) + TranslateId OXSDDataType::_validate( const OUString& _rValue ) { // care for the regular expression if ( !m_sPattern.isEmpty() ) @@ -229,7 +229,7 @@ namespace xforms return RID_STR_XFORMS_PATTERN_DOESNT_MATCH; } - return nullptr; + return {}; } @@ -418,9 +418,9 @@ namespace xforms return bReturn; } - const char* OValueLimitedType_Base::_validate( const OUString& rValue ) + TranslateId OValueLimitedType_Base::_validate( const OUString& rValue ) { - const char* pReason = OXSDDataType::_validate( rValue ); + TranslateId pReason = OXSDDataType::_validate( rValue ); if (!pReason) { @@ -442,7 +442,7 @@ namespace xforms return pReason; } - OUString OValueLimitedType_Base::_explainInvalid(const OString& rReason) + OUString OValueLimitedType_Base::_explainInvalid(TranslateId rReason) { OUStringBuffer sInfo; if (rReason == RID_STR_XFORMS_VALUE_IS_NOT_A) @@ -511,10 +511,10 @@ namespace xforms } - const char* OStringType::_validate( const OUString& rValue ) + TranslateId OStringType::_validate( const OUString& rValue ) { // check regexp, whitespace etc. in parent class - const char* pReason = OStringType_Base::_validate( rValue ); + TranslateId pReason = OStringType_Base::_validate( rValue ); if (!pReason) { @@ -537,7 +537,7 @@ namespace xforms return pReason; } - OUString OStringType::_explainInvalid(const OString& rReason) + OUString OStringType::_explainInvalid(TranslateId rReason) { sal_Int32 nValue = 0; OUStringBuffer sInfo; @@ -556,7 +556,7 @@ namespace xforms if( m_aMinLength >>= nValue ) sInfo.append( nValue ); } - else if (!rReason.isEmpty()) + else if (rReason) { sInfo.append(OStringType_Base::_explainInvalid(rReason)); } @@ -578,19 +578,19 @@ namespace xforms OBooleanType_Base::initializeClone( _rCloneSource ); } - const char* OBooleanType::_validate( const OUString& sValue ) + TranslateId OBooleanType::_validate( const OUString& sValue ) { - const char* pInvalidityReason = OBooleanType_Base::_validate( sValue ); + TranslateId pInvalidityReason = OBooleanType_Base::_validate( sValue ); if ( pInvalidityReason ) return pInvalidityReason; bool bValid = sValue == "0" || sValue == "1" || sValue == "true" || sValue == "false"; - return bValid ? nullptr : RID_STR_XFORMS_INVALID_VALUE; + return bValid ? TranslateId() : RID_STR_XFORMS_INVALID_VALUE; } - OUString OBooleanType::_explainInvalid(const OString& rReason) + OUString OBooleanType::_explainInvalid(TranslateId rReason) { - return rReason.isEmpty() ? OUString() : getName(); + return !rReason ? OUString() : getName(); } ODecimalType::ODecimalType( const OUString& _rName, sal_Int16 _nTypeClass ) @@ -620,9 +620,9 @@ namespace xforms // validate decimals and return code for which facets failed // to be used by: ODecimalType::validate and ODecimalType::explainInvalid - const char* ODecimalType::_validate( const OUString& rValue ) + TranslateId ODecimalType::_validate( const OUString& rValue ) { - const char* pReason = ODecimalType_Base::_validate( rValue ); + TranslateId pReason = ODecimalType_Base::_validate( rValue ); // check digits (if no other cause is available so far) if (!pReason) @@ -653,7 +653,7 @@ namespace xforms return pReason; } - OUString ODecimalType::_explainInvalid(const OString& rReason) + OUString ODecimalType::_explainInvalid(TranslateId rReason) { sal_Int32 nValue = 0; OUStringBuffer sInfo; @@ -712,7 +712,7 @@ namespace xforms DEFAULT_IMPLEMNENT_SUBTYPE( ODateType, DATE ) - const char* ODateType::_validate( const OUString& _rValue ) + TranslateId ODateType::_validate( const OUString& _rValue ) { return ODateType_Base::_validate( _rValue ); } @@ -754,7 +754,7 @@ namespace xforms DEFAULT_IMPLEMNENT_SUBTYPE( OTimeType, TIME ) - const char* OTimeType::_validate( const OUString& _rValue ) + TranslateId OTimeType::_validate( const OUString& _rValue ) { return OTimeType_Base::_validate( _rValue ); } @@ -802,7 +802,7 @@ namespace xforms DEFAULT_IMPLEMNENT_SUBTYPE( ODateTimeType, DATETIME ) - const char* ODateTimeType::_validate( const OUString& _rValue ) + TranslateId ODateTimeType::_validate( const OUString& _rValue ) { return ODateTimeType_Base::_validate( _rValue ); } diff --git a/forms/source/xforms/datatypes.hxx b/forms/source/xforms/datatypes.hxx index 860d1901b553..84ca5cfe9bdd 100644 --- a/forms/source/xforms/datatypes.hxx +++ b/forms/source/xforms/datatypes.hxx @@ -30,6 +30,7 @@ #include <comphelper/proparrhlp.hxx> #include <comphelper/broadcasthelper.hxx> #include <rtl/ref.hxx> +#include <unotools/resmgr.hxx> #include <unicode/regex.h> @@ -117,8 +118,8 @@ namespace xforms virtual void initializeClone( const OXSDDataType& _rCloneSource ); // helper method for validate and explainInvalid - virtual const char* _validate( const OUString& value ); - virtual OUString _explainInvalid( const OString& rReason ); + virtual TranslateId _validate( const OUString& value ); + virtual OUString _explainInvalid( TranslateId rReason ); // helper method for checking properties values which are to be set virtual bool checkPropertySanity( sal_Int32 _nHandle, const css::uno::Any& _rNewValue, OUString& _rErrorMessage ); @@ -176,8 +177,8 @@ namespace xforms // OXSDDataType overridables virtual bool _getValue( const OUString& value, double& fValue ); - virtual const char* _validate( const OUString& value ) override; - virtual OUString _explainInvalid( const OString& rReason ) override; + virtual TranslateId _validate( const OUString& value ) override; + virtual OUString _explainInvalid( TranslateId rReason ) override; // own overridables /** translate a given value into a human-readable string @@ -248,8 +249,8 @@ namespace xforms DECLARE_DEFAULT_CLONING( OBooleanType ) // OXSDDataType overridables - virtual const char* _validate( const OUString& value ) override; - virtual OUString _explainInvalid( const OString& rReason ) override; + virtual TranslateId _validate( const OUString& value ) override; + virtual OUString _explainInvalid( TranslateId rReason ) override; }; class OStringType; @@ -270,8 +271,8 @@ namespace xforms void initializeTypedClone( const OStringType& _rCloneSource ); // OXSDDataType overridables - virtual const char* _validate( const OUString& value ) override; - virtual OUString _explainInvalid( const OString& rReason ) override; + virtual TranslateId _validate( const OUString& value ) override; + virtual OUString _explainInvalid( TranslateId rReason ) override; virtual bool checkPropertySanity( sal_Int32 _nHandle, const css::uno::Any& _rNewValue, OUString& _rErrorMessage ) override; virtual void registerProperties() override; }; @@ -291,8 +292,8 @@ namespace xforms void initializeTypedClone( const ODecimalType& _rCloneSource ); // OXSDDataType overridables - virtual const char* _validate( const OUString& value ) override; - virtual OUString _explainInvalid( const OString& rReason ) override; + virtual TranslateId _validate( const OUString& value ) override; + virtual OUString _explainInvalid( TranslateId rReason ) override; virtual void registerProperties() override; // OValueLimitedType overridables @@ -318,7 +319,7 @@ namespace xforms DECLARE_DEFAULT_CLONING( classname ) \ \ /* OXSDDataType overridables */ \ - virtual const char* _validate( const OUString& value ) override; \ + virtual TranslateId _validate( const OUString& value ) override; \ virtual bool _getValue( const OUString& value, double& fValue ) override; \ \ /* OValueLimitedType overridables */ \ diff --git a/forms/source/xforms/resourcehelper.cxx b/forms/source/xforms/resourcehelper.cxx index 17c168d980ae..011d806f598d 100644 --- a/forms/source/xforms/resourcehelper.cxx +++ b/forms/source/xforms/resourcehelper.cxx @@ -28,25 +28,25 @@ namespace xforms { -OUString getResource(const char* pResourceId) +OUString getResource(TranslateId pResourceId) { return getResource(pResourceId, {}, {}, {}); } -OUString getResource(const char* pResourceId, +OUString getResource(TranslateId pResourceId, std::u16string_view rInfo1) { return getResource(pResourceId, rInfo1, {}, {}); } -OUString getResource(const char* pResourceId, +OUString getResource(TranslateId pResourceId, std::u16string_view rInfo1, std::u16string_view rInfo2) { return getResource(pResourceId, rInfo1, rInfo2, {}); } -OUString getResource(const char* pResourceId, +OUString getResource(TranslateId pResourceId, std::u16string_view rInfo1, std::u16string_view rInfo2, std::u16string_view rInfo3) diff --git a/forms/source/xforms/resourcehelper.hxx b/forms/source/xforms/resourcehelper.hxx index 9f200fdc87c0..1453a7e4ca04 100644 --- a/forms/source/xforms/resourcehelper.hxx +++ b/forms/source/xforms/resourcehelper.hxx @@ -20,20 +20,19 @@ #include <sal/config.h> -#include <string_view> - #include <rtl/ustring.hxx> +#include <unotools/resmgr.hxx> namespace xforms { /// get a resource string for the current language - OUString getResource(const char*); + OUString getResource(TranslateId); // overloaded: get a resource string, and substitute parameters - OUString getResource(const char*, std::u16string_view); - OUString getResource(const char*, std::u16string_view, + OUString getResource(TranslateId, std::u16string_view); + OUString getResource(TranslateId, std::u16string_view, std::u16string_view); - OUString getResource(const char*, std::u16string_view, + OUString getResource(TranslateId, std::u16string_view, std::u16string_view, std::u16string_view); diff --git a/formula/inc/core_resource.hrc b/formula/inc/core_resource.hrc index 01520f582b1b..ba09355ce284 100644 --- a/formula/inc/core_resource.hrc +++ b/formula/inc/core_resource.hrc @@ -22,7 +22,7 @@ #include <formula/compiler.hxx> #include <utility> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) /** These English names are used to store/load ODFF as of ODF v1.2. */ // NAMES CAN ONLY BE CHANGED WHEN PROVIDING BACKWARD AND FORWARD COMPATIBILITY @@ -31,7 +31,7 @@ // If there is a reason for another name for some function then add an // *additional* name to be recognized to sc/source/core/tool/compiler.cxx // ScCompiler::IsOpCode() in the if (mxSymbols->isODFF()) block. -const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF[] = +const std::pair<const char *, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF[] = { { "IF" , SC_OPCODE_IF }, { "IFERROR" , SC_OPCODE_IF_ERROR }, @@ -472,7 +472,7 @@ const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF[] = }; /** These function names are used in the OOXML XLSX import/export. */ -const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML[] = +const std::pair<const char *, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML[] = { { "IF" , SC_OPCODE_IF }, { "IFERROR" , SC_OPCODE_IF_ERROR }, @@ -922,7 +922,7 @@ const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML[] = // If there is a reason for another name for some function then add an // *additional* name to be recognized to sc/source/core/tool/compiler.cxx // ScCompiler::IsOpCode() in the else if (mxSymbols->isPODF()) block. -const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_PODF[] = +const std::pair<const char *, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_PODF[] = { { "IF" , SC_OPCODE_IF }, { "IFERROR" , SC_OPCODE_IF_ERROR }, @@ -1373,7 +1373,7 @@ const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_PODF[] = // If there is a reason for another name for some function then add an // *additional* name to be recognized to sc/source/core/tool/compiler.cxx // ScCompiler::IsOpCode(). -const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_API[] = +const std::pair<const char *, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_API[] = { { "IF" , SC_OPCODE_IF }, { "IFERROR" , SC_OPCODE_IF_ERROR }, @@ -1822,7 +1822,7 @@ const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_API[] = should match the [en-US] names of RID_STRLIST_FUNCTION_NAMES below. */ // As such they are a duplicate, but we can not have two string localizations // at the same time. -const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH[] = +const std::pair<const char *, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH[] = { { "IF" , SC_OPCODE_IF }, { "IFERROR" , SC_OPCODE_IF_ERROR }, @@ -2272,7 +2272,7 @@ const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH[] = change has to be mentioned in the release notes, i.e. https://wiki.documentfoundation.org/ReleaseNotes/... */ -const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES[] = +const std::pair<TranslateId, int> RID_STRLIST_FUNCTION_NAMES[] = { { NC_("RID_STRLIST_FUNCTION_NAMES", "IF") , SC_OPCODE_IF }, { NC_("RID_STRLIST_FUNCTION_NAMES", "IFERROR") , SC_OPCODE_IF_ERROR }, @@ -2711,10 +2711,10 @@ const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES[] = { NC_("RID_STRLIST_FUNCTION_NAMES", "RAND.NV"), SC_OPCODE_RANDOM_NV }, { NC_("RID_STRLIST_FUNCTION_NAMES", "RANDBETWEEN.NV"), SC_OPCODE_RANDBETWEEN_NV }, - { nullptr, -1 } + { {}, -1 } }; -const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_SYMBOLS[] = +const std::pair<const char *, int> RID_STRLIST_FUNCTION_NAMES_SYMBOLS[] = { { "(" , SC_OPCODE_OPEN }, { ")" , SC_OPCODE_CLOSE }, diff --git a/formula/inc/core_resource.hxx b/formula/inc/core_resource.hxx index f8943f603999..f21d8fb25fd5 100644 --- a/formula/inc/core_resource.hxx +++ b/formula/inc/core_resource.hxx @@ -21,8 +21,8 @@ #include <rtl/ustring.hxx> #include <formula/formuladllapi.h> -#include <string_view> +#include <unotools/resmgr.hxx> -FORMULA_DLLPUBLIC OUString ForResId(std::string_view aId); +FORMULA_DLLPUBLIC OUString ForResId(TranslateId aId); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/formula/inc/strings.hrc b/formula/inc/strings.hrc index a54a2f259b95..7bdc7139799a 100644 --- a/formula/inc/strings.hrc +++ b/formula/inc/strings.hrc @@ -19,7 +19,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define STR_OPTIONAL NC_("STR_OPTIONAL", "(optional)") #define STR_REQUIRED NC_("STR_REQUIRED", "(required)") diff --git a/formula/source/core/api/FormulaCompiler.cxx b/formula/source/core/api/FormulaCompiler.cxx index f7174807f0f4..39a62ebdc1e4 100644 --- a/formula/source/core/api/FormulaCompiler.cxx +++ b/formula/source/core/api/FormulaCompiler.cxx @@ -155,7 +155,9 @@ class OpCodeList { public: - OpCodeList(bool bLocalized, const std::pair<const char*, int>* pSymbols, const FormulaCompiler::NonConstOpCodeMapPtr&, + OpCodeList(const std::pair<const char*, int>* pSymbols, const FormulaCompiler::NonConstOpCodeMapPtr&, + FormulaCompiler::SeparatorType = FormulaCompiler::SeparatorType::SEMICOLON_BASE ); + OpCodeList(const std::pair<TranslateId, int>* pSymbols, const FormulaCompiler::NonConstOpCodeMapPtr&, FormulaCompiler::SeparatorType = FormulaCompiler::SeparatorType::SEMICOLON_BASE ); private: @@ -164,15 +166,43 @@ private: private: FormulaCompiler::SeparatorType meSepType; - const std::pair<const char*, int>* mpSymbols; - bool mbLocalized; + const std::pair<const char*, int>* mpSymbols1; + const std::pair<TranslateId, int>* mpSymbols2; }; -OpCodeList::OpCodeList(bool bLocalized, const std::pair<const char*, int>* pSymbols, const FormulaCompiler::NonConstOpCodeMapPtr& xMap, +OpCodeList::OpCodeList(const std::pair<const char*, int>* pSymbols, const FormulaCompiler::NonConstOpCodeMapPtr& xMap, FormulaCompiler::SeparatorType eSepType) : meSepType(eSepType) - , mpSymbols(pSymbols) - , mbLocalized(bLocalized) + , mpSymbols1(pSymbols) + , mpSymbols2(nullptr) +{ + std::unique_ptr<CharClass> xCharClass( xMap->isEnglish() ? nullptr : createCharClassIfNonEnglishUI()); + const CharClass* pCharClass = xCharClass.get(); + if (meSepType == FormulaCompiler::SeparatorType::RESOURCE_BASE) + { + for (sal_uInt16 i = 0; i <= SC_OPCODE_LAST_OPCODE_ID; ++i) + { + putDefaultOpCode( xMap, i, pCharClass); + } + } + else + { + for (sal_uInt16 i = 0; i <= SC_OPCODE_LAST_OPCODE_ID; ++i) + { + OUString aOpStr; + if ( getOpCodeString( aOpStr, i) ) + xMap->putOpCode( aOpStr, OpCode(i), pCharClass); + else + putDefaultOpCode( xMap, i, pCharClass); + } + } +} + +OpCodeList::OpCodeList(const std::pair<TranslateId, int>* pSymbols, const FormulaCompiler::NonConstOpCodeMapPtr& xMap, + FormulaCompiler::SeparatorType eSepType) + : meSepType(eSepType) + , mpSymbols1(nullptr) + , mpSymbols2(pSymbols) { std::unique_ptr<CharClass> xCharClass( xMap->isEnglish() ? nullptr : createCharClassIfNonEnglishUI()); const CharClass* pCharClass = xCharClass.get(); @@ -235,18 +265,37 @@ bool OpCodeList::getOpCodeString( OUString& rStr, sal_uInt16 nOp ) void OpCodeList::putDefaultOpCode( const FormulaCompiler::NonConstOpCodeMapPtr& xMap, sal_uInt16 nOp, const CharClass* pCharClass ) { - const char* pKey = nullptr; - for (const std::pair<const char*, int>* pSymbol = mpSymbols; pSymbol->first; ++pSymbol) + OUString sKey; + if (mpSymbols1) { - if (nOp == pSymbol->second) + const char* pKey = nullptr; + for (const std::pair<const char*, int>* pSymbol = mpSymbols1; pSymbol->first; ++pSymbol) { - pKey = pSymbol->first; - break; + if (nOp == pSymbol->second) + { + pKey = pSymbol->first; + break; + } } + if (!pKey) + return; + sKey = OUString::createFromAscii(pKey); + } + else + { + TranslateId pKey; + for (const std::pair<TranslateId, int>* pSymbol = mpSymbols2; pSymbol->first; ++pSymbol) + { + if (nOp == pSymbol->second) + { + pKey = pSymbol->first; + break; + } + } + if (!pKey) + return; + sKey = ForResId(pKey); } - if (!pKey) - return; - OUString sKey = !mbLocalized ? OUString::createFromAscii(pKey) : ForResId(pKey); xMap->putOpCode(sKey, OpCode(nOp), pCharClass); } @@ -857,8 +906,8 @@ static void lcl_fillNativeSymbols( FormulaCompiler::NonConstOpCodeMapPtr& xMap, aSymbolMap.mxSymbolMap = std::make_shared<FormulaCompiler::OpCodeMap>( SC_OPCODE_LAST_OPCODE_ID + 1, true, FormulaGrammar::GRAM_NATIVE_UI); - OpCodeList aOpCodeListSymbols(false, RID_STRLIST_FUNCTION_NAMES_SYMBOLS, aSymbolMap.mxSymbolMap); - OpCodeList aOpCodeListNative(true, RID_STRLIST_FUNCTION_NAMES, aSymbolMap.mxSymbolMap); + OpCodeList aOpCodeListSymbols(RID_STRLIST_FUNCTION_NAMES_SYMBOLS, aSymbolMap.mxSymbolMap); + OpCodeList aOpCodeListNative(RID_STRLIST_FUNCTION_NAMES, aSymbolMap.mxSymbolMap); // No AddInMap for native core mapping. } @@ -953,7 +1002,7 @@ void FormulaCompiler::loadSymbols(const std::pair<const char*, int>* pSymbols, F // not Core rxMap = std::make_shared<OpCodeMap>( SC_OPCODE_LAST_OPCODE_ID + 1, eGrammar != FormulaGrammar::GRAM_ODFF, eGrammar ); - OpCodeList aOpCodeList(false, pSymbols, rxMap, eSepType); + OpCodeList aOpCodeList(pSymbols, rxMap, eSepType); fillFromAddInMap( rxMap, eGrammar); // Fill from collection for AddIns not already present. diff --git a/formula/source/core/resource/core_resource.cxx b/formula/source/core/resource/core_resource.cxx index 6a0943aba18f..d18432357984 100644 --- a/formula/source/core/resource/core_resource.cxx +++ b/formula/source/core/resource/core_resource.cxx @@ -16,9 +16,8 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include <unotools/resmgr.hxx> #include <core_resource.hxx> -OUString ForResId(std::string_view aId) { return Translate::get(aId, Translate::Create("for")); } +OUString ForResId(TranslateId aId) { return Translate::get(aId, Translate::Create("for")); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/fpicker/inc/fpsofficeResMgr.hxx b/fpicker/inc/fpsofficeResMgr.hxx index 3393f8afa95a..a86a91509c38 100644 --- a/fpicker/inc/fpsofficeResMgr.hxx +++ b/fpicker/inc/fpsofficeResMgr.hxx @@ -10,9 +10,6 @@ #include <unotools/resmgr.hxx> -inline OUString FpsResId(std::string_view aId) -{ - return Translate::get(aId, Translate::Create("fps")); -}; +inline OUString FpsResId(TranslateId aId) { return Translate::get(aId, Translate::Create("fps")); }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/fpicker/inc/strings.hrc b/fpicker/inc/strings.hrc index 6037da706828..042ea35c44ce 100644 --- a/fpicker/inc/strings.hrc +++ b/fpicker/inc/strings.hrc @@ -19,7 +19,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define STR_EXPLORERFILE_OPEN NC_("STR_EXPLORERFILE_OPEN", "Open") #define STR_EXPLORERFILE_SAVE NC_("STR_EXPLORERFILE_SAVE", "Save as") diff --git a/fpicker/source/aqua/resourceprovider.mm b/fpicker/source/aqua/resourceprovider.mm index 4daa24b9ff07..34b0359a231d 100644 --- a/fpicker/source/aqua/resourceprovider.mm +++ b/fpicker/source/aqua/resourceprovider.mm @@ -42,7 +42,7 @@ namespace { struct Entry { sal_Int32 ctrlId; - const char* resId; + TranslateId resId; }; } @@ -71,9 +71,9 @@ Entry const CtrlIdToResIdTable[] = { const sal_Int32 SIZE_TABLE = SAL_N_ELEMENTS( CtrlIdToResIdTable ); -static const char* CtrlIdToResId(sal_Int32 aControlId) +static TranslateId CtrlIdToResId(sal_Int32 aControlId) { - const char *pResId = nullptr; + TranslateId pResId; for ( sal_Int32 i = 0; i < SIZE_TABLE; i++ ) { @@ -94,7 +94,7 @@ namespace CResourceProvider_Impl OUString aResString; // translate the control id to a resource id - const char* pResId = CtrlIdToResId(aId); + TranslateId pResId = CtrlIdToResId(aId); if (pResId) aResString = FpsResId(pResId); diff --git a/fpicker/source/office/iodlg.cxx b/fpicker/source/office/iodlg.cxx index 1f94a58436ae..6d863e1d2f3f 100644 --- a/fpicker/source/office/iodlg.cxx +++ b/fpicker/source/office/iodlg.cxx @@ -378,8 +378,8 @@ SvtFileDialog::SvtFileDialog(weld::Window* pParent, PickerFlags nStyle) AddControls_Impl( ); // adjust the labels to the mode - const char* pResId = STR_EXPLORERFILE_OPEN; - const char* pButtonResId = nullptr; + TranslateId pResId = STR_EXPLORERFILE_OPEN; + TranslateId pButtonResId; if ( nStyle & PickerFlags::SaveAs ) { diff --git a/fpicker/source/win32/resourceprovider.cxx b/fpicker/source/win32/resourceprovider.cxx index 883edf36dff2..ff841b385b26 100644 --- a/fpicker/source/win32/resourceprovider.cxx +++ b/fpicker/source/win32/resourceprovider.cxx @@ -46,7 +46,7 @@ namespace { struct Entry { sal_Int32 ctrlId; - const char* resId; + TranslateId resId; }; } @@ -71,9 +71,9 @@ Entry const CtrlIdToResIdTable[] = { const sal_Int32 SIZE_TABLE = SAL_N_ELEMENTS( CtrlIdToResIdTable ); -static const char* CtrlIdToResId( sal_Int32 aControlId ) +static TranslateId CtrlIdToResId( sal_Int32 aControlId ) { - const char* pResId = nullptr; + TranslateId pResId; for ( sal_Int32 i = 0; i < SIZE_TABLE; i++ ) { @@ -93,7 +93,7 @@ namespace CResourceProvider { OUString aResOUString; // translate the control id to a resource id - const char *pResId = CtrlIdToResId(aId); + TranslateId pResId = CtrlIdToResId(aId); if (pResId) aResOUString = FpsResId(pResId); return aResOUString; diff --git a/framework/inc/classes/fwkresid.hxx b/framework/inc/classes/fwkresid.hxx index 4aacac961019..5023f34a238b 100644 --- a/framework/inc/classes/fwkresid.hxx +++ b/framework/inc/classes/fwkresid.hxx @@ -20,8 +20,8 @@ #pragma once #include <rtl/ustring.hxx> -#include <string_view> +#include <unotools/resmgr.hxx> -OUString FwkResId(std::string_view aId); +OUString FwkResId(TranslateId aId); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/framework/inc/strings.hrc b/framework/inc/strings.hrc index 796517bdc130..18b372915b9b 100644 --- a/framework/inc/strings.hrc +++ b/framework/inc/strings.hrc @@ -19,7 +19,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define STR_MENU_HEADFOOTALL NC_("STR_MENU_HEADFOOTALL", "All" ) #define STR_UPDATEDOC NC_("STR_UPDATEDOC", "~Update" ) diff --git a/framework/source/fwe/classes/fwkresid.cxx b/framework/source/fwe/classes/fwkresid.cxx index 9acac0728885..e9a1d639d386 100644 --- a/framework/source/fwe/classes/fwkresid.cxx +++ b/framework/source/fwe/classes/fwkresid.cxx @@ -18,8 +18,7 @@ */ #include <classes/fwkresid.hxx> -#include <unotools/resmgr.hxx> -OUString FwkResId(std::string_view aId) { return Translate::get(aId, Translate::Create("fwk")); } +OUString FwkResId(TranslateId aId) { return Translate::get(aId, Translate::Create("fwk")); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/framework/source/uielement/controlmenucontroller.cxx b/framework/source/uielement/controlmenucontroller.cxx index 6af67e7a30a9..14c372a55688 100644 --- a/framework/source/uielement/controlmenucontroller.cxx +++ b/framework/source/uielement/controlmenucontroller.cxx @@ -64,7 +64,7 @@ static const char* aCommands[] = ".uno:ConvertToNavigationBar" }; -static const char* aLabels[] = +static TranslateId aLabels[] = { RID_STR_PROPTITLE_EDIT, RID_STR_PROPTITLE_PUSHBUTTON, diff --git a/include/basic/sbdef.hxx b/include/basic/sbdef.hxx index e84a14d5d51d..d864ed8de7b2 100644 --- a/include/basic/sbdef.hxx +++ b/include/basic/sbdef.hxx @@ -24,6 +24,7 @@ #include <rtl/ustring.hxx> #include <basic/basicdllapi.h> #include <o3tl/typed_flags_set.hxx> +#include <unotools/resmgr.hxx> class ErrCode; @@ -69,9 +70,9 @@ enum class PropertyMode Set }; -BASIC_DLLPUBLIC extern std::pair<const char*, ErrCode> const RID_BASIC_START[]; +BASIC_DLLPUBLIC extern std::pair<TranslateId, ErrCode> const RID_BASIC_START[]; BASIC_DLLPUBLIC std::locale BasResLocale(); -OUString BasResId(std::string_view pId); +OUString BasResId(TranslateId pId); #endif diff --git a/include/editeng/editrids.hrc b/include/editeng/editrids.hrc index 1abb476975e0..556ee042aeca 100644 --- a/include/editeng/editrids.hrc +++ b/include/editeng/editrids.hrc @@ -20,7 +20,7 @@ #ifndef INCLUDED_INCLUDE_EDITENG_EDITRIDS_HRC #define INCLUDED_INCLUDE_EDITENG_EDITRIDS_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) // enum SvxBreak ------------------------------------------------------------ #define RID_SVXITEMS_BREAK_NONE NC_("RID_SVXITEMS_BREAK_NONE", "No break") diff --git a/include/editeng/eerdll.hxx b/include/editeng/eerdll.hxx index a3b215f44395..b77d6a0d4703 100644 --- a/include/editeng/eerdll.hxx +++ b/include/editeng/eerdll.hxx @@ -22,6 +22,7 @@ #include <editeng/editengdllapi.h> #include <rtl/ustring.hxx> +#include <unotools/resmgr.hxx> #include <memory> class GlobalEditData; @@ -30,7 +31,7 @@ namespace editeng class SharedVclResources; } -OUString EDITENG_DLLPUBLIC EditResId(std::string_view aId); +OUString EDITENG_DLLPUBLIC EditResId(TranslateId aId); class EditDLL { diff --git a/include/editeng/frmdir.hxx b/include/editeng/frmdir.hxx index ca3cc615b773..ef5275d26a7d 100644 --- a/include/editeng/frmdir.hxx +++ b/include/editeng/frmdir.hxx @@ -21,6 +21,7 @@ #define INCLUDED_EDITENG_FRMDIR_HXX #include <com/sun/star/text/WritingMode2.hpp> +#include <unotools/resmgr.hxx> /** * Defines possible text directions in frames. @@ -54,7 +55,7 @@ enum class SvxFrameDirection Vertical_LR_BT = css::text::WritingMode2::BT_LR, }; -const char* getFrmDirResId(size_t nIndex); +TranslateId getFrmDirResId(size_t nIndex); #endif // INCLUDED_EDITENG_FRMDIR_HXX diff --git a/include/editeng/itemtype.hxx b/include/editeng/itemtype.hxx index 117e477c8621..7f70a7073a45 100644 --- a/include/editeng/itemtype.hxx +++ b/include/editeng/itemtype.hxx @@ -24,6 +24,7 @@ #include <tools/long.hxx> #include <tools/mapunit.hxx> #include <editeng/editengdllapi.h> +#include <unotools/resmgr.hxx> class Color; class IntlWrapper; @@ -33,7 +34,7 @@ inline constexpr OUStringLiteral cpDelim = u", "; EDITENG_DLLPUBLIC OUString GetMetricText( tools::Long nVal, MapUnit eSrcUnit, MapUnit eDestUnit, const IntlWrapper * pIntl ); OUString GetColorString( const Color& rCol ); -EDITENG_DLLPUBLIC const char* GetMetricId(MapUnit eUnit); +EDITENG_DLLPUBLIC TranslateId GetMetricId(MapUnit eUnit); #endif diff --git a/include/fpicker/strings.hrc b/include/fpicker/strings.hrc index d86a5c569e7b..4dd7fb5fa50c 100644 --- a/include/fpicker/strings.hrc +++ b/include/fpicker/strings.hrc @@ -9,7 +9,7 @@ #ifndef INCLUDED_FPICKER_FPICKER_HRC #define INCLUDED_FPICKER_FPICKER_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define STR_SVT_FILEPICKER_AUTO_EXTENSION NC_("STR_SVT_FILEPICKER_AUTO_EXTENSION", "~Automatic file name extension") #define STR_SVT_FILEPICKER_PASSWORD NC_("STR_SVT_FILEPICKER_PASSWORD", "Save with pass~word") diff --git a/include/sfx2/sfxresid.hxx b/include/sfx2/sfxresid.hxx index 62bbc99e92bc..f5cd1aca4cf3 100644 --- a/include/sfx2/sfxresid.hxx +++ b/include/sfx2/sfxresid.hxx @@ -21,9 +21,9 @@ #include <sfx2/dllapi.h> #include <rtl/ustring.hxx> -#include <string_view> +#include <unotools/resmgr.hxx> -SFX2_DLLPUBLIC OUString SfxResId(std::string_view aId); +SFX2_DLLPUBLIC OUString SfxResId(TranslateId aId); #endif diff --git a/include/sfx2/strings.hrc b/include/sfx2/strings.hrc index ce05fa4dce27..3367d368b2fa 100644 --- a/include/sfx2/strings.hrc +++ b/include/sfx2/strings.hrc @@ -20,7 +20,7 @@ #ifndef INCLUDED_SFX2_INC_STRINGS_HRC #define INCLUDED_SFX2_INC_STRINGS_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define STR_TEMPLATE_FILTER NC_("STR_TEMPLATE_FILTER", "Templates") #define STR_SAVEDOC NC_("STR_SAVEDOC", "~Save") diff --git a/include/sfx2/styfitem.hxx b/include/sfx2/styfitem.hxx index dc939342689f..dc2efd88cf85 100644 --- a/include/sfx2/styfitem.hxx +++ b/include/sfx2/styfitem.hxx @@ -23,6 +23,7 @@ #include <sal/config.h> #include <sfx2/dllapi.h> #include <svl/style.hxx> +#include <unotools/resmgr.hxx> #include <vector> struct SFX2_DLLPUBLIC SfxFilterTuple @@ -46,7 +47,7 @@ class SFX2_DLLPUBLIC SfxStyleFamilyItem SfxStyleFilter aFilterList; public: - SfxStyleFamilyItem(SfxStyleFamily nFamily, const OUString &rName, const OUString& rImage, const std::pair<const char*, SfxStyleSearchBits>* pStringArray, const std::locale& rLocale); + SfxStyleFamilyItem(SfxStyleFamily nFamily, const OUString &rName, const OUString& rImage, const std::pair<TranslateId, SfxStyleSearchBits>* pStringArray, const std::locale& rLocale); const OUString& GetText() const { return aText; } SfxStyleFamily GetFamily() const { return nFamily; } diff --git a/include/svl/svl.hrc b/include/svl/svl.hrc index 231d26c0f3b5..f1f60756c301 100644 --- a/include/svl/svl.hrc +++ b/include/svl/svl.hrc @@ -19,7 +19,7 @@ #ifndef INCLUDED_SVL_SVL_HRC #define INCLUDED_SVL_SVL_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) // Internet Media Type Presentations diff --git a/include/svl/svlresid.hxx b/include/svl/svlresid.hxx index 5e6f271ea7a1..5b57aa2c0c52 100644 --- a/include/svl/svlresid.hxx +++ b/include/svl/svlresid.hxx @@ -12,9 +12,9 @@ #include <svl/svldllapi.h> #include <rtl/ustring.hxx> -#include <string_view> +#include <unotools/resmgr.hxx> -SVL_DLLPUBLIC OUString SvlResId(std::string_view aId); +SVL_DLLPUBLIC OUString SvlResId(TranslateId sContextAndId); #endif // INCLUDED_SVL_SVTRESID_HXX diff --git a/include/svtools/ehdl.hxx b/include/svtools/ehdl.hxx index bcfdd93b2442..2324a5107b5c 100644 --- a/include/svtools/ehdl.hxx +++ b/include/svtools/ehdl.hxx @@ -23,7 +23,7 @@ #include <svtools/svtresid.hxx> #include <vcl/errinf.hxx> -typedef std::pair<const char*, ErrCode> ErrMsgCode; +typedef std::pair<TranslateId, ErrCode> ErrMsgCode; SVT_DLLPUBLIC extern const ErrMsgCode RID_ERRHDL[]; SVT_DLLPUBLIC extern const ErrMsgCode RID_ERRCTX[]; diff --git a/include/svtools/strings.hrc b/include/svtools/strings.hrc index 774d701d6e1a..b4393c4ebd7b 100644 --- a/include/svtools/strings.hrc +++ b/include/svtools/strings.hrc @@ -19,7 +19,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) // To translators: tdf#125447 use no mnemonic in this string #define STR_UNDO NC_("STR_UNDO", "Undo: ") diff --git a/include/svtools/svtresid.hxx b/include/svtools/svtresid.hxx index cf2fa976293b..c24ee7d936ae 100644 --- a/include/svtools/svtresid.hxx +++ b/include/svtools/svtresid.hxx @@ -21,9 +21,10 @@ #include <svtools/svtdllapi.h> #include <rtl/ustring.hxx> +#include <unotools/resmgr.hxx> #include <locale> SVT_DLLPUBLIC std::locale SvtResLocale(); -SVT_DLLPUBLIC OUString SvtResId(std::string_view aId); +SVT_DLLPUBLIC OUString SvtResId(TranslateId aId); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/svx/dialmgr.hxx b/include/svx/dialmgr.hxx index ea31de153123..34681a510761 100644 --- a/include/svx/dialmgr.hxx +++ b/include/svx/dialmgr.hxx @@ -21,9 +21,10 @@ #include <rtl/ustring.hxx> #include <svx/svxdllapi.h> +#include <unotools/resmgr.hxx> SVXCORE_DLLPUBLIC std::locale SvxResLocale(); -SVXCORE_DLLPUBLIC OUString SvxResId(std::string_view aId); +SVXCORE_DLLPUBLIC OUString SvxResId(TranslateId aId); #endif diff --git a/include/svx/strings.hrc b/include/svx/strings.hrc index c1bbf42205f8..e18af6a34981 100644 --- a/include/svx/strings.hrc +++ b/include/svx/strings.hrc @@ -20,7 +20,7 @@ #ifndef INCLUDED_SVX_INC_STRINGS_HRC #define INCLUDED_SVX_INC_STRINGS_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define STR_ObjNameSingulNONE NC_("STR_ObjNameSingulNONE", "Drawing object") #define STR_ObjNamePluralNONE NC_("STR_ObjNamePluralNONE", "Drawing objects") diff --git a/include/svx/svddrgmt.hxx b/include/svx/svddrgmt.hxx index 72d8ad3ff154..626467f18465 100644 --- a/include/svx/svddrgmt.hxx +++ b/include/svx/svddrgmt.hxx @@ -157,7 +157,7 @@ protected: void createSdrDragEntries_GlueDrag(); // old call forwarders to the SdrDragView - OUString ImpGetDescriptionStr(const char* pStrCacheID) const; + OUString ImpGetDescriptionStr(TranslateId pStrCacheID) const; SdrHdl* GetDragHdl() const { return getSdrDragView().mpDragHdl; } SdrHdlKind GetDragHdlKind() const { return getSdrDragView().meDragHdl; } SdrDragStat& DragStat() { return getSdrDragView().maDragStat; } diff --git a/include/svx/svdmrkv.hxx b/include/svx/svdmrkv.hxx index 48ebb4917414..bdd1046c097d 100644 --- a/include/svx/svdmrkv.hxx +++ b/include/svx/svdmrkv.hxx @@ -26,7 +26,7 @@ #include <svx/svxdllapi.h> #include <o3tl/typed_flags_set.hxx> #include <basegfx/range/b2drectangle.hxx> - +#include <unotools/resmgr.hxx> class SfxViewShell; @@ -169,7 +169,7 @@ protected: SdrObject* CheckSingleSdrObjectHit(const Point& rPnt, sal_uInt16 nTol, SdrObjList const * pOL, SdrPageView* pPV, SdrSearchOptions nOptions, const SdrLayerIDSet* pMVisLay, SdrObject*& rpRootObj) const; SdrObject* CheckSingleSdrObjectHit(const Point& rPnt, sal_uInt16 nTol, SdrObjList const * pOL, SdrPageView* pPV, SdrSearchOptions nOptions, const SdrLayerIDSet* pMVisLay, SdrObject*& rpRootObj,const SdrMarkList * pMarkList) const; bool ImpIsFrameHandles() const; - OUString ImpGetDescriptionString(const char* pStrCacheID, ImpGetDescriptionOptions nOpt=ImpGetDescriptionOptions::NONE) const; + OUString ImpGetDescriptionString(TranslateId pStrCacheID, ImpGetDescriptionOptions nOpt=ImpGetDescriptionOptions::NONE) const; // Generates a string including degrees symbol, from an angel specification in 1/100deg bool ImpMarkPoint(SdrHdl* pHdl, SdrMark* pMark, bool bUnmark); diff --git a/include/svx/svdobj.hxx b/include/svx/svdobj.hxx index d7ccf830cf44..d10adcd36445 100644 --- a/include/svx/svdobj.hxx +++ b/include/svx/svdobj.hxx @@ -35,6 +35,7 @@ #include <tools/link.hxx> #include <tools/weakbase.h> #include <tools/gen.hxx> +#include <unotools/resmgr.hxx> #include <unordered_set> @@ -910,7 +911,7 @@ protected: tools::Rectangle ImpDragCalcRect(const SdrDragStat& rDrag) const; // for GetDragComment - OUString ImpGetDescriptionStr(const char* pStrCacheID) const; + OUString ImpGetDescriptionStr(TranslateId pStrCacheID) const; void ImpForcePlusData(); diff --git a/include/svx/svdundo.hxx b/include/svx/svdundo.hxx index 24ee5e569e82..cdfd8070f6ac 100644 --- a/include/svx/svdundo.hxx +++ b/include/svx/svdundo.hxx @@ -31,6 +31,7 @@ #include <svx/svdtypes.hxx> #include <svx/svdsob.hxx> #include <svx/svxdllapi.h> +#include <unotools/resmgr.hxx> class SfxItemSet; class SfxPoolItem; @@ -125,9 +126,9 @@ protected: protected: SdrUndoObj(SdrObject& rNewObj); - OUString ImpGetDescriptionStr(const char* pStrCacheID, bool bRepeat = false) const; + OUString ImpGetDescriptionStr(TranslateId pStrCacheID, bool bRepeat = false) const; - [[nodiscard]] static OUString GetDescriptionStringForObject( const SdrObject& _rForObject, const char* pStrCacheID, bool bRepeat = false ); + [[nodiscard]] static OUString GetDescriptionStringForObject( const SdrObject& _rForObject, TranslateId pStrCacheID, bool bRepeat = false ); // #94278# new method for evtl. PageChange at UNDO/REDO void ImpShowPageOfThisObject(); @@ -526,7 +527,7 @@ protected: SdrUndoPage(SdrPage& rNewPg); ~SdrUndoPage(); - static OUString ImpGetDescriptionStr(const char* pStrCacheID); + static OUString ImpGetDescriptionStr(TranslateId pStrCacheID); }; /** diff --git a/include/svx/svxitems.hrc b/include/svx/svxitems.hrc index 3ea7f12581ab..2e5d5cf8b8e2 100644 --- a/include/svx/svxitems.hrc +++ b/include/svx/svxitems.hrc @@ -26,9 +26,9 @@ #include <editeng/editids.hrc> #include <utility> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const std::pair<const char*, sal_uInt16> RID_ATTR_NAMES[] = +const std::pair<TranslateId, sal_uInt16> RID_ATTR_NAMES[] = { { NC_("RID_ATTR_NAMES", "Scale") , SID_ATTR_ZOOM }, { NC_("RID_ATTR_NAMES", "Brush") , SID_ATTR_BRUSH }, diff --git a/include/svx/xit.hxx b/include/svx/xit.hxx index 1333a4ef1066..db8f666197c5 100644 --- a/include/svx/xit.hxx +++ b/include/svx/xit.hxx @@ -23,6 +23,7 @@ #include <svl/stritem.hxx> #include <svx/xtable.hxx> #include <svx/svxdllapi.h> +#include <unotools/resmgr.hxx> /************************************************************************/ @@ -59,7 +60,7 @@ public: Argument pPool2 can be null. If returned string equals NameOrIndex->GetName(), the name was already unique. */ - static OUString CheckNamedItem( const NameOrIndex* pCheckItem, const sal_uInt16 nWhich, const SfxItemPool* pPool1, SvxCompareValueFunc pCompareValueFunc, const char* pPrefixResId, const XPropertyListRef &pDefaults ); + static OUString CheckNamedItem( const NameOrIndex* pCheckItem, const sal_uInt16 nWhich, const SfxItemPool* pPool1, SvxCompareValueFunc pCompareValueFunc, TranslateId pPrefixResId, const XPropertyListRef &pDefaults ); void dumpAsXml(xmlTextWriterPtr pWriter) const override; }; diff --git a/include/unotools/resmgr.hxx b/include/unotools/resmgr.hxx index 0795c3f16704..80e3a23eb57d 100644 --- a/include/unotools/resmgr.hxx +++ b/include/unotools/resmgr.hxx @@ -33,15 +33,15 @@ struct UNOTOOLS_DLLPUBLIC TranslateId const char* mpContext; const char* mpId; - TranslateId() + inline TranslateId() : mpContext(nullptr), mpId(nullptr) {} - TranslateId(const char* pContext, const char* pId) + inline TranslateId(const char* pContext, const char* pId) : mpContext(pContext), mpId(pId) {} - operator bool() const { return mpId != nullptr; } + inline operator bool() const { return mpId != nullptr; } bool operator==(const TranslateId& other) const; - bool operator!=(const TranslateId& other) const { return !operator==(other); } + inline bool operator!=(const TranslateId& other) const { return !operator==(other); } }; struct UNOTOOLS_DLLPUBLIC TranslateNId @@ -50,22 +50,20 @@ struct UNOTOOLS_DLLPUBLIC TranslateNId const char* mpSingular; const char* mpPlural; - TranslateNId() + inline TranslateNId() : mpContext(nullptr), mpSingular(nullptr), mpPlural(nullptr) {} - TranslateNId(const char* pContext, const char* pSingular, const char* pPlural) + inline TranslateNId(const char* pContext, const char* pSingular, const char* pPlural) : mpContext(pContext), mpSingular(pSingular), mpPlural(pPlural) {} - operator bool() const { return mpContext != nullptr; } + inline operator bool() const { return mpContext != nullptr; } bool operator==(const TranslateNId& other) const; - bool operator!=(const TranslateNId& other) const { return !operator==(other); } + inline bool operator!=(const TranslateNId& other) const { return !operator==(other); } }; namespace Translate { UNOTOOLS_DLLPUBLIC std::locale Create(std::string_view aPrefixName, const LanguageTag& rLocale = SvtSysLocale().GetUILanguageTag()); - UNOTOOLS_DLLPUBLIC OUString get(std::string_view aId, const std::locale &loc); - UNOTOOLS_DLLPUBLIC OUString nget(std::string_view aId, int n, const std::locale &loc); UNOTOOLS_DLLPUBLIC OUString get(TranslateId sContextAndId, const std::locale &loc); UNOTOOLS_DLLPUBLIC OUString nget(TranslateNId aContextSingularPlural, int n, const std::locale &loc); UNOTOOLS_DLLPUBLIC void SetReadStringHook( ResHookProc pProc ); diff --git a/oox/inc/ooxresid.hxx b/oox/inc/ooxresid.hxx index d8015dc120ac..473e13407ac3 100644 --- a/oox/inc/ooxresid.hxx +++ b/oox/inc/ooxresid.hxx @@ -11,9 +11,9 @@ #define INCLUDED_OOX_INC_RESID_HXX #include <rtl/ustring.hxx> -#include <string_view> +#include <unotools/resmgr.hxx> -OUString OoxResId(std::string_view aId); +OUString OoxResId(TranslateId aId); #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/oox/inc/strings.hrc b/oox/inc/strings.hrc index 89a6d9a115a6..c9b4f3cf7230 100644 --- a/oox/inc/strings.hrc +++ b/oox/inc/strings.hrc @@ -10,9 +10,9 @@ #ifndef OOX_STRINGS_HRC #define OOX_STRINGS_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define STR_DIAGRAM_TITLE NC_("STR_DIAGRAM_TITLE", "Chart Title") #define STR_DIAGRAM_AXISTITLE NC_("STR_DIAGRAM_AXISTITLE", "Axis Title") #endif -/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
\ No newline at end of file +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/oox/source/helper/ooxresid.cxx b/oox/source/helper/ooxresid.cxx index 6a509ccbca7b..58e0e8cb33e0 100644 --- a/oox/source/helper/ooxresid.cxx +++ b/oox/source/helper/ooxresid.cxx @@ -11,6 +11,6 @@ #include <ooxresid.hxx> #include <unotools/resmgr.hxx> -OUString OoxResId(std::string_view aId) { return Translate::get(aId, Translate::Create("oox")); } +OUString OoxResId(TranslateId aId) { return Translate::get(aId, Translate::Create("oox")); } -/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
\ No newline at end of file +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/reportdesign/inc/UndoActions.hxx b/reportdesign/inc/UndoActions.hxx index 1764f27ffb33..7b1fb2005380 100644 --- a/reportdesign/inc/UndoActions.hxx +++ b/reportdesign/inc/UndoActions.hxx @@ -141,7 +141,7 @@ namespace rptui ::dbaui::IController* m_pController; public: - OCommentUndoAction(SdrModel& rMod, const char* pCommentID); + OCommentUndoAction(SdrModel& rMod, TranslateId pCommentID); virtual ~OCommentUndoAction() override; virtual OUString GetComment() const override { return m_strComment; } @@ -169,7 +169,7 @@ namespace rptui ,Action _eAction ,const css::uno::Reference< css::container::XIndexContainer >& rContainer ,const css::uno::Reference< css::uno::XInterface>& xElem - ,const char* pCommentId); + ,TranslateId pCommentId); virtual ~OUndoContainerAction() override; virtual void Undo() override; @@ -193,7 +193,7 @@ namespace rptui ,::std::function<css::uno::Reference< css::report::XSection >(OReportHelper *)> _pMemberFunction ,const css::uno::Reference< css::report::XReportDefinition >& _xReport ,const css::uno::Reference< css::uno::XInterface>& xElem - ,const char* pCommentId); + ,TranslateId pCommentId); private: virtual void implReInsert( ) override; @@ -212,7 +212,7 @@ namespace rptui ,::std::function<css::uno::Reference< css::report::XSection >(OGroupHelper *)> _pMemberFunction ,const css::uno::Reference< css::report::XGroup >& _xGroup ,const css::uno::Reference< css::uno::XInterface>& xElem - ,const char* pCommentId); + ,TranslateId pCommentId); private: virtual void implReInsert( ) override; diff --git a/reportdesign/inc/core_resource.hxx b/reportdesign/inc/core_resource.hxx index f5d6bfb6e1a7..4c298216d1b9 100644 --- a/reportdesign/inc/core_resource.hxx +++ b/reportdesign/inc/core_resource.hxx @@ -22,9 +22,9 @@ #include "dllapi.h" #include <rtl/ustring.hxx> -#include <string_view> +#include <unotools/resmgr.hxx> -OUString REPORTDESIGN_DLLPUBLIC RptResId(std::string_view pId); +OUString REPORTDESIGN_DLLPUBLIC RptResId(TranslateId pId); #endif // INCLUDED_REPORTDESIGN_SOURCE_CORE_INC_CORE_RESOURCE_HXX diff --git a/reportdesign/inc/stringarray.hrc b/reportdesign/inc/stringarray.hrc index b49f401d0f54..99bdc9a296c5 100644 --- a/reportdesign/inc/stringarray.hrc +++ b/reportdesign/inc/stringarray.hrc @@ -10,72 +10,72 @@ #ifndef INCLUDED_REPORTDESIGN_INC_FNP_HRC #define INCLUDED_REPORTDESIGN_INC_FNP_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* RID_STR_FORCENEWPAGE_CONST[] = +const TranslateId RID_STR_FORCENEWPAGE_CONST[] = { NC_("RID_STR_FORCENEWPAGE_CONST", "None"), NC_("RID_STR_FORCENEWPAGE_CONST", "Before Section"), NC_("RID_STR_FORCENEWPAGE_CONST", "After Section"), NC_("RID_STR_FORCENEWPAGE_CONST", "Before & After Section"), - nullptr + {} }; -const char* RID_STR_GROUPKEEPTOGETHER_CONST[] = +const TranslateId RID_STR_GROUPKEEPTOGETHER_CONST[] = { NC_("RID_STR_GROUPKEEPTOGETHER_CONST", "Per Page"), NC_("RID_STR_GROUPKEEPTOGETHER_CONST", "Per Column"), - nullptr + {} }; -const char* RID_STR_REPORTPRINTOPTION_CONST[] = +const TranslateId RID_STR_REPORTPRINTOPTION_CONST[] = { NC_("RID_STR_REPORTPRINTOPTION_CONST", "All Pages"), NC_("RID_STR_REPORTPRINTOPTION_CONST", "Not With Report Header"), NC_("RID_STR_REPORTPRINTOPTION_CONST", "Not With Report Footer"), NC_("RID_STR_REPORTPRINTOPTION_CONST", "Not With Report Header/Footer"), - nullptr + {} }; -const char* RID_STR_TYPE_CONST[] = +const TranslateId RID_STR_TYPE_CONST[] = { NC_("RID_STR_TYPE_CONST", "Field or Formula"), NC_("RID_STR_TYPE_CONST", "Function"), NC_("RID_STR_TYPE_CONST", "Counter"), NC_("RID_STR_TYPE_CONST", "User defined Function"), - nullptr + {} }; -const char* RID_STR_BOOL[] = +const TranslateId RID_STR_BOOL[] = { NC_("RID_STR_BOOL", "No"), NC_("RID_STR_BOOL", "Yes"), - nullptr + {} }; -const char* RID_STR_KEEPTOGETHER_CONST[] = +const TranslateId RID_STR_KEEPTOGETHER_CONST[] = { NC_("RID_STR_KEEPTOGETHER_CONST", "No"), NC_("RID_STR_KEEPTOGETHER_CONST", "Whole Group"), NC_("RID_STR_KEEPTOGETHER_CONST", "With First Detail"), - nullptr + {} }; -const char* RID_STR_VERTICAL_ALIGN_CONST[] = +const TranslateId RID_STR_VERTICAL_ALIGN_CONST[] = { NC_("RID_STR_VERTICAL_ALIGN_CONST", "Top"), NC_("RID_STR_VERTICAL_ALIGN_CONST", "Middle"), NC_("RID_STR_VERTICAL_ALIGN_CONST", "Bottom"), - nullptr + {} }; -const char* RID_STR_PARAADJUST_CONST[] = +const TranslateId RID_STR_PARAADJUST_CONST[] = { NC_("RID_STR_PARAADJUST_CONST", "Left"), NC_("RID_STR_PARAADJUST_CONST", "Right"), NC_("RID_STR_PARAADJUST_CONST", "Block"), NC_("RID_STR_PARAADJUST_CONST", "Center"), - nullptr + {} }; #endif diff --git a/reportdesign/inc/strings.hrc b/reportdesign/inc/strings.hrc index 87eae041d6e4..0a2ca496a9d5 100644 --- a/reportdesign/inc/strings.hrc +++ b/reportdesign/inc/strings.hrc @@ -20,7 +20,7 @@ #ifndef INCLUDED_REPORTDESIGN_INC_STRINGS_HRC #define INCLUDED_REPORTDESIGN_INC_STRINGS_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define RID_STR_PROPPAGE_DEFAULT NC_("RID_STR_PROPPAGE_DEFAULT", "General") #define RID_STR_PROPPAGE_DATA NC_("RID_STR_PROPPAGE_DATA", "Data") diff --git a/reportdesign/source/core/resource/core_resource.cxx b/reportdesign/source/core/resource/core_resource.cxx index a81ab5e34fae..e11d536dc132 100644 --- a/reportdesign/source/core/resource/core_resource.cxx +++ b/reportdesign/source/core/resource/core_resource.cxx @@ -17,8 +17,7 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #include <core_resource.hxx> -#include <unotools/resmgr.hxx> -OUString RptResId(std::string_view aId) { return Translate::get(aId, Translate::Create("rpt")); } +OUString RptResId(TranslateId aId) { return Translate::get(aId, Translate::Create("rpt")); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/source/core/sdr/ReportUndoFactory.cxx b/reportdesign/source/core/sdr/ReportUndoFactory.cxx index c926c874407e..1c36d836b2e2 100644 --- a/reportdesign/source/core/sdr/ReportUndoFactory.cxx +++ b/reportdesign/source/core/sdr/ReportUndoFactory.cxx @@ -25,7 +25,7 @@ namespace rptui { using namespace ::com::sun::star; -static std::unique_ptr<SdrUndoAction> lcl_createUndo(SdrObject& rObject, Action _eAction, const char* pCommentId) +static std::unique_ptr<SdrUndoAction> lcl_createUndo(SdrObject& rObject, Action _eAction, TranslateId pCommentId) { OObjectBase* pObj = dynamic_cast<OObjectBase*>(&rObject); if ( !pObj ) diff --git a/reportdesign/source/core/sdr/UndoActions.cxx b/reportdesign/source/core/sdr/UndoActions.cxx index 8616ee612d4d..21332691bfb7 100644 --- a/reportdesign/source/core/sdr/UndoActions.cxx +++ b/reportdesign/source/core/sdr/UndoActions.cxx @@ -68,7 +68,7 @@ namespace rptui } -OCommentUndoAction::OCommentUndoAction(SdrModel& _rMod,const char* pCommentID) +OCommentUndoAction::OCommentUndoAction(SdrModel& _rMod, TranslateId pCommentID) :SdrUndoAction(_rMod) { m_pController = static_cast< OReportModel& >( _rMod ).getController(); @@ -91,7 +91,7 @@ OUndoContainerAction::OUndoContainerAction(SdrModel& _rMod ,Action _eAction ,const uno::Reference< container::XIndexContainer >& rContainer ,const Reference< XInterface > & xElem - ,const char* pCommentId) + ,TranslateId pCommentId) :OCommentUndoAction(_rMod, pCommentId) ,m_xElement(xElem) ,m_xContainer(rContainer) @@ -233,7 +233,7 @@ OUndoGroupSectionAction::OUndoGroupSectionAction( SdrModel& _rMod, Action _eAction, ::std::function<uno::Reference<report::XSection>(OGroupHelper*)> _pMemberFunction, const uno::Reference<report::XGroup>& _xGroup, const Reference<XInterface>& xElem, - const char* pCommentId) + TranslateId pCommentId) : OUndoContainerAction(_rMod, _eAction, nullptr, xElem, pCommentId) , m_aGroupHelper(_xGroup) , m_pMemberFunction(std::move(_pMemberFunction)) @@ -277,7 +277,7 @@ OUndoReportSectionAction::OUndoReportSectionAction( SdrModel& _rMod, Action _eAction, ::std::function<uno::Reference<report::XSection>(OReportHelper*)> _pMemberFunction, const uno::Reference<report::XReportDefinition>& _xReport, const Reference<XInterface>& xElem, - const char* pCommentId) + TranslateId pCommentId) : OUndoContainerAction(_rMod, _eAction, nullptr, xElem, pCommentId) , m_aReportHelper(_xReport) , m_pMemberFunction(std::move(_pMemberFunction)) @@ -323,7 +323,7 @@ void OUndoReportSectionAction::implReRemove( ) } ORptUndoPropertyAction::ORptUndoPropertyAction(SdrModel& rNewMod, const PropertyChangeEvent& evt) - :OCommentUndoAction(rNewMod,nullptr) + :OCommentUndoAction(rNewMod,{}) ,m_xObj(evt.Source, UNO_QUERY) ,m_aPropertyName(evt.PropertyName) ,m_aNewValue(evt.NewValue) diff --git a/reportdesign/source/ui/dlg/GroupsSorting.cxx b/reportdesign/source/ui/dlg/GroupsSorting.cxx index 6ac7f357d90e..0957c3039e39 100644 --- a/reportdesign/source/ui/dlg/GroupsSorting.cxx +++ b/reportdesign/source/ui/dlg/GroupsSorting.cxx @@ -938,7 +938,7 @@ IMPL_LINK_NOARG(OGroupsSortingDialog, OnControlFocusGot, LinkParamNone*, void ) IMPL_LINK(OGroupsSortingDialog, OnWidgetFocusGot, weld::Widget&, rControl, void ) { - const std::pair<weld::Widget*, const char*> pControls[] = { + const std::pair<weld::Widget*, TranslateId> pControls[] = { { m_xHeaderLst.get(), STR_RPT_HELP_HEADER }, { m_xFooterLst.get(), STR_RPT_HELP_FOOTER }, { m_xGroupOnLst.get(), STR_RPT_HELP_GROUPON }, @@ -1081,7 +1081,7 @@ void OGroupsSortingDialog::displayGroup(const uno::Reference<report::XGroup>& _x case sdbc::DataType::TIME: case sdbc::DataType::TIMESTAMP: { - const char* aIds[] = { STR_RPT_YEAR, STR_RPT_QUARTER,STR_RPT_MONTH,STR_RPT_WEEK,STR_RPT_DAY,STR_RPT_HOUR,STR_RPT_MINUTE }; + const TranslateId aIds[] = { STR_RPT_YEAR, STR_RPT_QUARTER,STR_RPT_MONTH,STR_RPT_WEEK,STR_RPT_DAY,STR_RPT_HOUR,STR_RPT_MINUTE }; for (size_t i = 0; i < SAL_N_ELEMENTS(aIds); ++i) { m_xGroupOnLst->append(OUString::number(i+2), RptResId(aIds[i])); diff --git a/reportdesign/source/ui/inc/GeometryHandler.hxx b/reportdesign/source/ui/inc/GeometryHandler.hxx index e5852694600d..79fb54433238 100644 --- a/reportdesign/source/ui/inc/GeometryHandler.hxx +++ b/reportdesign/source/ui/inc/GeometryHandler.hxx @@ -33,6 +33,7 @@ #include <com/sun/star/report/XFunctionsSupplier.hpp> #include <com/sun/star/beans/XPropertyChangeListener.hpp> #include <com/sun/star/sdbc/XRowSet.hpp> +#include <unotools/resmgr.hxx> #include <map> #include <memory> #include <string_view> @@ -92,12 +93,12 @@ namespace rptui */ sal_uInt32 impl_getDataFieldType_throw(const OUString& _sDataField = OUString()) const; - css::uno::Any getConstantValue(bool bToControlValue,const char** pResId,const css::uno::Any& _aValue,const OUString& _sConstantName,const OUString & PropertyName ); + css::uno::Any getConstantValue(bool bToControlValue,const TranslateId* pResId,const css::uno::Any& _aValue,const OUString& _sConstantName,const OUString & PropertyName ); css::beans::Property getProperty(const OUString & PropertyName); static void implCreateListLikeControl( const css::uno::Reference< css::inspection::XPropertyControlFactory >& _rxControlFactory ,css::inspection::LineDescriptor & out_Descriptor - ,const char** pResId + ,const TranslateId* pResId ,bool _bReadOnlyControl ,bool _bTrueIfListBoxFalseIfComboBox ); diff --git a/reportdesign/source/ui/inc/ReportController.hxx b/reportdesign/source/ui/inc/ReportController.hxx index 80685623f126..92ab4f3fe712 100644 --- a/reportdesign/source/ui/inc/ReportController.hxx +++ b/reportdesign/source/ui/inc/ReportController.hxx @@ -194,8 +194,8 @@ namespace rptui ,sal_Int32 _nGroupPos ,bool _bShow); - void executeMethodWithUndo(const char* pUndoStrId,const ::std::function<void(ODesignView *)>& _pMemfun); - void alignControlsWithUndo(const char* pUndoStrId, ControlModification _nControlModification, bool _bAlignAtSection = false); + void executeMethodWithUndo(TranslateId pUndoStrId,const ::std::function<void(ODesignView *)>& _pMemfun); + void alignControlsWithUndo(TranslateId pUndoStrId, ControlModification _nControlModification, bool _bAlignAtSection = false); css::uno::Reference< css::frame::XFrame > getXFrame(); @@ -207,7 +207,7 @@ namespace rptui static void shrinkSectionTop(const css::uno::Reference< css::report::XSection >& _xSection); public: - void shrinkSection(const char* pUndoStrId, const css::uno::Reference< css::report::XSection >& _xSection, sal_Int32 _nShrinkId); + void shrinkSection(TranslateId pUndoStrId, const css::uno::Reference< css::report::XSection >& _xSection, sal_Int32 _nShrinkId); /** opens the file open dialog to allow the user to select an image which will be * bound to a newly created image button. @@ -292,7 +292,7 @@ namespace rptui /** set the property at all selected controls. @return <TRUE/> when the selection is not empty */ - bool impl_setPropertyAtControls_throw(const char* pUndoResId + bool impl_setPropertyAtControls_throw(TranslateId pUndoResId ,const OUString& _sProperty ,const css::uno::Any& _aValue ,const css::uno::Sequence< css::beans::PropertyValue >& _aArgs); diff --git a/reportdesign/source/ui/inc/RptUndo.hxx b/reportdesign/source/ui/inc/RptUndo.hxx index 9f0b6c1aa24b..cef45a59d996 100644 --- a/reportdesign/source/ui/inc/RptUndo.hxx +++ b/reportdesign/source/ui/inc/RptUndo.hxx @@ -55,7 +55,7 @@ namespace rptui OSectionUndo( OReportModel& rMod ,sal_uInt16 _nSlot ,Action _eAction - ,const char* pCommentID); + ,TranslateId pCommentID); virtual ~OSectionUndo() override; virtual void Undo() override; @@ -103,7 +103,7 @@ namespace rptui ,::std::function<css::uno::Reference< css::report::XSection >(OGroupHelper *)> _pMemberFunction ,const css::uno::Reference< css::report::XGroup >& _xGroup ,Action _eAction - ,const char* pCommentID); + ,TranslateId pCommentID); virtual OUString GetComment() const override; }; @@ -122,7 +122,7 @@ namespace rptui void implReRemove( ); public: OGroupUndo(OReportModel& rMod - ,const char* pCommentID + ,TranslateId pCommentID ,Action _eAction ,const css::uno::Reference< css::report::XGroup>& _xGroup ,const css::uno::Reference< css::report::XReportDefinition >& _xReportDefinition); diff --git a/reportdesign/source/ui/inc/SectionWindow.hxx b/reportdesign/source/ui/inc/SectionWindow.hxx index a202b0a19315..1e727c2e5f71 100644 --- a/reportdesign/source/ui/inc/SectionWindow.hxx +++ b/reportdesign/source/ui/inc/SectionWindow.hxx @@ -62,7 +62,7 @@ namespace rptui * @return sal_True when title was set otherwise FALSE */ bool setGroupSectionTitle( - const css::uno::Reference<css::report::XGroup>& _xGroup, const char* pResId, + const css::uno::Reference<css::report::XGroup>& _xGroup, TranslateId pResId, const ::std::function<css::uno::Reference<css::report::XSection>(OGroupHelper*)>& _pGetSection, const ::std::function<bool(OGroupHelper*)>& _pIsSectionOn); @@ -76,7 +76,7 @@ namespace rptui * @return sal_True when title was set otherwise FALSE */ bool setReportSectionTitle( - const css::uno::Reference<css::report::XReportDefinition>& _xReport, const char* pResId, + const css::uno::Reference<css::report::XReportDefinition>& _xReport, TranslateId pResId, const ::std::function<css::uno::Reference<css::report::XSection>(OReportHelper*)>& _pGetSection, const ::std::function<bool(OReportHelper*)>& _pIsSectionOn); diff --git a/reportdesign/source/ui/inspection/DataProviderHandler.cxx b/reportdesign/source/ui/inspection/DataProviderHandler.cxx index d9665d6883dc..f4c8abd97497 100644 --- a/reportdesign/source/ui/inspection/DataProviderHandler.cxx +++ b/reportdesign/source/ui/inspection/DataProviderHandler.cxx @@ -468,7 +468,7 @@ bool DataProviderHandler::impl_dialogLinkedFields_nothrow( ::osl::ClearableMutex {"ParentWindow", m_xContext->getValueByName("DialogParentWindow")}, {"Detail", uno::Any(m_xDataProvider)}, {"Master", uno::Any(m_xReportComponent->getSection()->getReportDefinition())}, - {"Explanation", uno::Any(RptResId(RID_STR_EXPLANATION))}, + {"Explanation", uno::Any(RptResId(TranslateId(nullptr, RID_STR_EXPLANATION)))}, {"DetailLabel", uno::Any(RptResId(RID_STR_DETAILLABEL))}, {"MasterLabel", uno::Any(RptResId(RID_STR_MASTERLABEL))}, })); diff --git a/reportdesign/source/ui/inspection/DefaultInspection.cxx b/reportdesign/source/ui/inspection/DefaultInspection.cxx index 4ac4dd3bbc2a..80269f433346 100644 --- a/reportdesign/source/ui/inspection/DefaultInspection.cxx +++ b/reportdesign/source/ui/inspection/DefaultInspection.cxx @@ -160,7 +160,7 @@ namespace rptui const struct { const char* programmaticName; - const char* uiNameResId; + TranslateId uiNameResId; OString helpId; } aCategories[] = { { "General", RID_STR_PROPPAGE_DEFAULT, HID_RPT_PROPDLG_TAB_GENERAL }, diff --git a/reportdesign/source/ui/inspection/GeometryHandler.cxx b/reportdesign/source/ui/inspection/GeometryHandler.cxx index 280e9060e67f..68aa4cabfe37 100644 --- a/reportdesign/source/ui/inspection/GeometryHandler.cxx +++ b/reportdesign/source/ui/inspection/GeometryHandler.cxx @@ -634,13 +634,13 @@ beans::PropertyState SAL_CALL GeometryHandler::getPropertyState(const OUString & void GeometryHandler::implCreateListLikeControl( const uno::Reference< inspection::XPropertyControlFactory >& _rxControlFactory ,inspection::LineDescriptor & out_Descriptor - ,const char** pResId + ,const TranslateId* pResId ,bool _bReadOnlyControl ,bool _bTrueIfListBoxFalseIfComboBox ) { std::vector<OUString> aList; - for (const char** pItem = pResId; *pItem; ++pItem) + for (const TranslateId* pItem = pResId; *pItem; ++pItem) aList.push_back(RptResId(*pItem)); implCreateListLikeControl(_rxControlFactory, out_Descriptor, aList, _bReadOnlyControl, _bTrueIfListBoxFalseIfComboBox); } @@ -724,7 +724,7 @@ inspection::LineDescriptor SAL_CALL GeometryHandler::describePropertyLine(const case PROPERTY_ID_BACKTRANSPARENT: case PROPERTY_ID_CONTROLBACKGROUNDTRANSPARENT: { - const char** pResId = RID_STR_BOOL; + const TranslateId* pResId = RID_STR_BOOL; if ( PROPERTY_ID_KEEPTOGETHER == nId && uno::Reference< report::XGroup>(m_xReportComponent,uno::UNO_QUERY).is()) pResId = RID_STR_KEEPTOGETHER_CONST; implCreateListLikeControl(_xControlFactory,aOut,pResId,false,true); @@ -892,10 +892,10 @@ beans::Property GeometryHandler::getProperty(const OUString & PropertyName) return beans::Property(); return *pFind; } -uno::Any GeometryHandler::getConstantValue(bool _bToControlValue,const char** pResId,const uno::Any& _aValue,const OUString& _sConstantName,const OUString & PropertyName ) +uno::Any GeometryHandler::getConstantValue(bool _bToControlValue,const TranslateId* pResId,const uno::Any& _aValue,const OUString& _sConstantName,const OUString & PropertyName ) { std::vector<OUString> aList; - for (const char** pItem = pResId; *pItem; ++pItem) + for (const TranslateId* pItem = pResId; *pItem; ++pItem) aList.push_back(RptResId(*pItem)); uno::Sequence< OUString > aSeq(aList.size()); for (size_t i = 0; i < aList.size(); ++i) @@ -1037,7 +1037,7 @@ uno::Any SAL_CALL GeometryHandler::convertToPropertyValue(const OUString & Prope sal_uInt32 nFound(RESARRAY_INDEX_NOTFOUND); sal_uInt32 i = 0; - for (const char** pItem = RID_STR_TYPE_CONST; *pItem; ++pItem) + for (const TranslateId* pItem = RID_STR_TYPE_CONST; *pItem; ++pItem) { if (sValue == RptResId(*pItem)) { @@ -1060,7 +1060,7 @@ uno::Any SAL_CALL GeometryHandler::convertToPropertyValue(const OUString & Prope sal_uInt32 nFound(RESARRAY_INDEX_NOTFOUND); sal_uInt32 i = 0; - for (const char** pItem = RID_STR_VERTICAL_ALIGN_CONST; *pItem; ++pItem) + for (const TranslateId* pItem = RID_STR_VERTICAL_ALIGN_CONST; *pItem; ++pItem) { if (sValue == RptResId(*pItem)) { @@ -1080,7 +1080,7 @@ uno::Any SAL_CALL GeometryHandler::convertToPropertyValue(const OUString & Prope sal_uInt32 nFound(RESARRAY_INDEX_NOTFOUND); sal_uInt32 i = 0; - for (const char** pItem = RID_STR_PARAADJUST_CONST; *pItem; ++pItem) + for (const TranslateId* pItem = RID_STR_PARAADJUST_CONST; *pItem; ++pItem) { if (sValue == RptResId(*pItem)) { diff --git a/reportdesign/source/ui/misc/RptUndo.cxx b/reportdesign/source/ui/misc/RptUndo.cxx index c2a07a4d0f92..29d3945bedc3 100644 --- a/reportdesign/source/ui/misc/RptUndo.cxx +++ b/reportdesign/source/ui/misc/RptUndo.cxx @@ -113,7 +113,7 @@ namespace OSectionUndo::OSectionUndo(OReportModel& _rMod ,sal_uInt16 _nSlot ,Action _eAction - ,const char* pCommentID) + ,TranslateId pCommentID) : OCommentUndoAction(_rMod,pCommentID) ,m_eAction(_eAction) ,m_nSlot(_nSlot) @@ -214,7 +214,7 @@ OReportSectionUndo::OReportSectionUndo( OReportModel& _rMod, sal_uInt16 _nSlot, ::std::function<uno::Reference<report::XSection>(OReportHelper*)> _pMemberFunction, const uno::Reference<report::XReportDefinition>& _xReport, Action _eAction) - : OSectionUndo(_rMod, _nSlot, _eAction, nullptr) + : OSectionUndo(_rMod, _nSlot, _eAction, {}) , m_aReportHelper(_xReport) , m_pMemberFunction(std::move(_pMemberFunction)) { @@ -248,7 +248,7 @@ void OReportSectionUndo::implReRemove( ) OGroupSectionUndo::OGroupSectionUndo( OReportModel& _rMod, sal_uInt16 _nSlot, ::std::function<uno::Reference<report::XSection>(OGroupHelper*)> _pMemberFunction, - const uno::Reference<report::XGroup>& _xGroup, Action _eAction, const char* pCommentID) + const uno::Reference<report::XGroup>& _xGroup, Action _eAction, TranslateId pCommentID) : OSectionUndo(_rMod, _nSlot, _eAction, pCommentID) , m_aGroupHelper(_xGroup) , m_pMemberFunction(std::move(_pMemberFunction)) @@ -314,7 +314,7 @@ void OGroupSectionUndo::implReRemove( ) OGroupUndo::OGroupUndo(OReportModel& _rMod - ,const char* pCommentID + ,TranslateId pCommentID ,Action _eAction ,const uno::Reference< report::XGroup>& _xGroup ,const uno::Reference< report::XReportDefinition >& _xReportDefinition) diff --git a/reportdesign/source/ui/report/ReportController.cxx b/reportdesign/source/ui/report/ReportController.cxx index dbc992f33c61..04d331aae68e 100644 --- a/reportdesign/source/ui/report/ReportController.cxx +++ b/reportdesign/source/ui/report/ReportController.cxx @@ -2581,7 +2581,7 @@ void OReportController::Notify(SfxBroadcaster & /* _rBc */, SfxHint const & _rHi }); } -void OReportController::executeMethodWithUndo(const char* pUndoStrId,const ::std::function<void(ODesignView *)>& _pMemfun) +void OReportController::executeMethodWithUndo(TranslateId pUndoStrId,const ::std::function<void(ODesignView *)>& _pMemfun) { const OUString sUndoAction = RptResId(pUndoStrId); UndoContext aUndoContext( getUndoManager(), sUndoAction ); @@ -2589,7 +2589,7 @@ void OReportController::executeMethodWithUndo(const char* pUndoStrId,const ::std InvalidateFeature( SID_UNDO ); } -void OReportController::alignControlsWithUndo(const char* pUndoStrId, ControlModification _nControlModification, bool _bAlignAtSection) +void OReportController::alignControlsWithUndo(TranslateId pUndoStrId, ControlModification _nControlModification, bool _bAlignAtSection) { const OUString sUndoAction = RptResId(pUndoStrId); UndoContext aUndoContext( getUndoManager(), sUndoAction ); @@ -2665,7 +2665,7 @@ void OReportController::shrinkSectionTop(const uno::Reference<report::XSection>& _xSection->setHeight(nNewSectionHeight); } -void OReportController::shrinkSection(const char* pUndoStrId, const uno::Reference<report::XSection>& _xSection, sal_Int32 _nSid) +void OReportController::shrinkSection(TranslateId pUndoStrId, const uno::Reference<report::XSection>& _xSection, sal_Int32 _nSid) { if ( _xSection.is() ) { @@ -2838,7 +2838,7 @@ uno::Reference<frame::XModel> OReportController::executeReport() uno::Reference<frame::XModel> xModel; if ( m_xReportDefinition.is() ) { - const char* pErrorId = RID_ERR_NO_COMMAND; + TranslateId pErrorId = RID_ERR_NO_COMMAND; bool bEnabled = !m_xReportDefinition->getCommand().isEmpty(); if ( bEnabled ) { @@ -2864,7 +2864,7 @@ uno::Reference<frame::XModel> OReportController::executeReport() if ( isEditable() ) { sal_uInt16 nCommand = 0; - if (!strcmp(pErrorId, RID_ERR_NO_COMMAND)) + if (pErrorId != RID_ERR_NO_COMMAND) { if ( !m_bShowProperties ) executeUnChecked(SID_SHOW_PROPERTYBROWSER,uno::Sequence< beans::PropertyValue>()); @@ -4151,7 +4151,7 @@ bool OReportController::isFormatCommandEnabled(sal_uInt16 _nCommand,const uno::R return bRet; } -bool OReportController::impl_setPropertyAtControls_throw(const char* pUndoResId,const OUString& _sProperty,const uno::Any& _aValue,const Sequence< PropertyValue >& _aArgs) +bool OReportController::impl_setPropertyAtControls_throw(TranslateId pUndoResId,const OUString& _sProperty,const uno::Any& _aValue,const Sequence< PropertyValue >& _aArgs) { ::std::vector< uno::Reference< uno::XInterface > > aSelection; uno::Reference< awt::XWindow> xWindow; diff --git a/reportdesign/source/ui/report/SectionWindow.cxx b/reportdesign/source/ui/report/SectionWindow.cxx index 660971395694..60d5235f84bb 100644 --- a/reportdesign/source/ui/report/SectionWindow.cxx +++ b/reportdesign/source/ui/report/SectionWindow.cxx @@ -163,7 +163,7 @@ void OSectionWindow::_propertyChanged(const beans::PropertyChangeEvent& _rEvent) } bool OSectionWindow::setReportSectionTitle( - const uno::Reference<report::XReportDefinition>& _xReport, const char* pResId, + const uno::Reference<report::XReportDefinition>& _xReport, TranslateId pResId, const ::std::function<uno::Reference<report::XSection>(OReportHelper*)>& _pGetSection, const ::std::function<bool(OReportHelper*)>& _pIsSectionOn) { @@ -179,7 +179,7 @@ bool OSectionWindow::setReportSectionTitle( } bool OSectionWindow::setGroupSectionTitle( - const uno::Reference<report::XGroup>& _xGroup, const char* pResId, + const uno::Reference<report::XGroup>& _xGroup, TranslateId pResId, const ::std::function<uno::Reference<report::XSection>(OGroupHelper*)>& _pGetSection, const ::std::function<bool(OGroupHelper*)>& _pIsSectionOn) { diff --git a/reportdesign/source/ui/report/propbrw.cxx b/reportdesign/source/ui/report/propbrw.cxx index afdbe742705a..672350ad230e 100644 --- a/reportdesign/source/ui/report/propbrw.cxx +++ b/reportdesign/source/ui/report/propbrw.cxx @@ -327,7 +327,7 @@ OUString PropBrw::GetHeadlineName( const uno::Sequence< Reference<uno::XInterfac Reference< lang::XServiceInfo > xServiceInfo( xNameCont->getByName("ReportComponent"), UNO_QUERY ); if ( xServiceInfo.is() ) { - const char* pResId; + TranslateId pResId; if ( xServiceInfo->supportsService( SERVICE_FIXEDTEXT ) ) { pResId = RID_STR_PROPTITLE_FIXEDTEXT; diff --git a/sc/inc/compiler.hrc b/sc/inc/compiler.hrc index 8e7b50dafb06..e77dd26ea6a4 100644 --- a/sc/inc/compiler.hrc +++ b/sc/inc/compiler.hrc @@ -19,9 +19,11 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#include <unotools/resmgr.hxx> -const char* RID_FUNCTION_CATEGORIES[] = +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) + +const TranslateId RID_FUNCTION_CATEGORIES[] = { NC_("RID_FUNCTION_CATEGORIES", "Database"), NC_("RID_FUNCTION_CATEGORIES", "Date&Time"), diff --git a/sc/inc/dpobject.hxx b/sc/inc/dpobject.hxx index 6d740769637c..3552f14fb657 100644 --- a/sc/inc/dpobject.hxx +++ b/sc/inc/dpobject.hxx @@ -29,6 +29,7 @@ #include <com/sun/star/sheet/DataPilotFieldOrientation.hpp> #include <o3tl/sorted_vector.hxx> +#include <unotools/resmgr.hxx> #include <memory> #include <vector> @@ -383,7 +384,7 @@ public: ScDPCollection(const ScDPCollection& r); ~ScDPCollection(); - const char* ReloadCache(const ScDPObject* pDPObj, o3tl::sorted_vector<ScDPObject*>& rRefs); + TranslateId ReloadCache(const ScDPObject* pDPObj, o3tl::sorted_vector<ScDPObject*>& rRefs); bool ReloadGroupsInCache(const ScDPObject* pDPObj, o3tl::sorted_vector<ScDPObject*>& rRefs); SC_DLLPUBLIC bool GetReferenceGroups(const ScDPObject& rDPObj, const ScDPDimensionSaveData** pGroups) const; diff --git a/sc/inc/dpshttab.hxx b/sc/inc/dpshttab.hxx index 39406a7c4386..c34482bc2105 100644 --- a/sc/inc/dpshttab.hxx +++ b/sc/inc/dpshttab.hxx @@ -23,6 +23,7 @@ #include "address.hxx" #include "scdllapi.h" #include "queryparam.hxx" +#include <unotools/resmgr.hxx> #include <unordered_set> #include <vector> @@ -70,7 +71,7 @@ public: * @return nullptr if the source range is sane, otherwise an error message ID is * returned. */ - const char* CheckSourceRange() const; + TranslateId CheckSourceRange() const; private: mutable ScRange maSourceRange; diff --git a/sc/inc/globstr.hrc b/sc/inc/globstr.hrc index 4e0eb49d6f63..44776504b47e 100644 --- a/sc/inc/globstr.hrc +++ b/sc/inc/globstr.hrc @@ -20,8 +20,8 @@ #ifndef SC_GLOBSTR_HRC #define SC_GLOBSTR_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) -#define NNC_(Context, StringSingular, StringPlural) reinterpret_cast<char const *>(Context "\004" u8##StringSingular "\004" u8##StringPlural) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) +#define NNC_(Context, StringSingular, StringPlural) TranslateNId(Context, reinterpret_cast<char const *>(u8##StringSingular), reinterpret_cast<char const *>(u8##StringPlural)) /* * This file is reserved for string IDs of permanently loaded resident string diff --git a/sc/inc/pvfundlg.hrc b/sc/inc/pvfundlg.hrc index 9c890035a68c..0f3fe4dd424f 100644 --- a/sc/inc/pvfundlg.hrc +++ b/sc/inc/pvfundlg.hrc @@ -19,9 +19,9 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* SCSTR_DPFUNCLISTBOX[] = +const TranslateId SCSTR_DPFUNCLISTBOX[] = { NC_("SCSTR_DPFUNCLISTBOX", "Sum"), NC_("SCSTR_DPFUNCLISTBOX", "Count"), diff --git a/sc/inc/scerrors.hrc b/sc/inc/scerrors.hrc index 82f23585ff70..b2ee886174ee 100644 --- a/sc/inc/scerrors.hrc +++ b/sc/inc/scerrors.hrc @@ -19,7 +19,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #include <svtools/ehdl.hxx> #include "scerrors.hxx" @@ -103,7 +103,7 @@ const ErrMsgCode RID_ERRHDLSC[] = SCWARN_IMPORT_FILE_ROWCOL }, { NC_("RID_ERRHDLSC", "Not all attributes could be read.") , SCWARN_IMPORT_FEATURES_LOST }, - { nullptr, ERRCODE_NONE } + { {}, ERRCODE_NONE } }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/scfuncs.hrc b/sc/inc/scfuncs.hrc index b8ac0476956c..88d78f2f7c28 100644 --- a/sc/inc/scfuncs.hrc +++ b/sc/inc/scfuncs.hrc @@ -18,7 +18,7 @@ */ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) /* Resource file for the function wizard / autopilot. * @@ -31,7 +31,7 @@ */ // -=*# Resource for function DCOUNT #*=- -const char* SC_OPCODE_DB_COUNT_ARY[] = +const TranslateId SC_OPCODE_DB_COUNT_ARY[] = { NC_("SC_OPCODE_DB_COUNT", "Counts the cells of a data range whose contents match the search criteria."), NC_("SC_OPCODE_DB_COUNT", "Database"), @@ -43,7 +43,7 @@ const char* SC_OPCODE_DB_COUNT_ARY[] = }; // -=*# Resource for function DCOUNTA #*=- -const char* SC_OPCODE_DB_COUNT_2_ARY[] = +const TranslateId SC_OPCODE_DB_COUNT_2_ARY[] = { NC_("SC_OPCODE_DB_COUNT_2", "Counts all non-blank cells of a data range where the content corresponds to the search criteria."), NC_("SC_OPCODE_DB_COUNT_2", "Database"), @@ -55,7 +55,7 @@ const char* SC_OPCODE_DB_COUNT_2_ARY[] = }; // -=*# Resource for function DAVERAGE #*=- -const char* SC_OPCODE_DB_AVERAGE_ARY[] = +const TranslateId SC_OPCODE_DB_AVERAGE_ARY[] = { NC_("SC_OPCODE_DB_AVERAGE", "Returns the average value of all the cells of a data range whose contents match the search criteria."), NC_("SC_OPCODE_DB_AVERAGE", "Database"), @@ -67,7 +67,7 @@ const char* SC_OPCODE_DB_AVERAGE_ARY[] = }; // -=*# Resource for function DGET #*=- -const char* SC_OPCODE_DB_GET_ARY[] = +const TranslateId SC_OPCODE_DB_GET_ARY[] = { NC_("SC_OPCODE_DB_GET", "Defines the contents of the cell of a data range which matches the search criteria."), NC_("SC_OPCODE_DB_GET", "Database"), @@ -79,7 +79,7 @@ const char* SC_OPCODE_DB_GET_ARY[] = }; // -=*# Resource for function DMAX #*=- -const char* SC_OPCODE_DB_MAX_ARY[] = +const TranslateId SC_OPCODE_DB_MAX_ARY[] = { NC_("SC_OPCODE_DB_MAX", "Returns the maximum value from all of the cells of a data range which correspond to the search criteria."), NC_("SC_OPCODE_DB_MAX", "Database"), @@ -91,7 +91,7 @@ const char* SC_OPCODE_DB_MAX_ARY[] = }; // -=*# Resource for function DMIN #*=- -const char* SC_OPCODE_DB_MIN_ARY[] = +const TranslateId SC_OPCODE_DB_MIN_ARY[] = { NC_("SC_OPCODE_DB_MIN", "Returns the minimum of all cells of a data range where the contents correspond to the search criteria."), NC_("SC_OPCODE_DB_MIN", "Database"), @@ -103,7 +103,7 @@ const char* SC_OPCODE_DB_MIN_ARY[] = }; // -=*# Resource for function DPRODUCT #*=- -const char* SC_OPCODE_DB_PRODUCT_ARY[] = +const TranslateId SC_OPCODE_DB_PRODUCT_ARY[] = { NC_("SC_OPCODE_DB_PRODUCT", "Multiplies all cells of a data range where the contents match the search criteria."), NC_("SC_OPCODE_DB_PRODUCT", "Database"), @@ -115,7 +115,7 @@ const char* SC_OPCODE_DB_PRODUCT_ARY[] = }; // -=*# Resource for function DSTDEV #*=- -const char* SC_OPCODE_DB_STD_DEV_ARY[] = +const TranslateId SC_OPCODE_DB_STD_DEV_ARY[] = { NC_("SC_OPCODE_DB_STD_DEV", "Calculates the standard deviation of all cells in a data range whose contents match the search criteria."), NC_("SC_OPCODE_DB_STD_DEV", "Database"), @@ -127,7 +127,7 @@ const char* SC_OPCODE_DB_STD_DEV_ARY[] = }; // -=*# Resource for function DSTDEVP #*=- -const char* SC_OPCODE_DB_STD_DEV_P_ARY[] = +const TranslateId SC_OPCODE_DB_STD_DEV_P_ARY[] = { NC_("SC_OPCODE_DB_STD_DEV_P", "Returns the standard deviation with regards to the population of all cells of a data range matching the search criteria."), NC_("SC_OPCODE_DB_STD_DEV_P", "Database"), @@ -139,7 +139,7 @@ const char* SC_OPCODE_DB_STD_DEV_P_ARY[] = }; // -=*# Resource for function DSUM #*=- -const char* SC_OPCODE_DB_SUM_ARY[] = +const TranslateId SC_OPCODE_DB_SUM_ARY[] = { NC_("SC_OPCODE_DB_SUM", "Adds all the cells of a data range where the contents match the search criteria."), NC_("SC_OPCODE_DB_SUM", "Database"), @@ -151,7 +151,7 @@ const char* SC_OPCODE_DB_SUM_ARY[] = }; // -=*# Resource for function DVAR #*=- -const char* SC_OPCODE_DB_VAR_ARY[] = +const TranslateId SC_OPCODE_DB_VAR_ARY[] = { NC_("SC_OPCODE_DB_VAR", "Determines the variance of all the cells in a data range where the contents match the search criteria."), NC_("SC_OPCODE_DB_VAR", "Database"), @@ -163,7 +163,7 @@ const char* SC_OPCODE_DB_VAR_ARY[] = }; // -=*# Resource for function DVARP #*=- -const char* SC_OPCODE_DB_VAR_P_ARY[] = +const TranslateId SC_OPCODE_DB_VAR_P_ARY[] = { NC_("SC_OPCODE_DB_VAR_P", "Determines variance of a population based on all cells in a data range where contents match the search criteria."), NC_("SC_OPCODE_DB_VAR_P", "Database"), @@ -175,7 +175,7 @@ const char* SC_OPCODE_DB_VAR_P_ARY[] = }; // -=*# Resource for function DATE #*=- -const char* SC_OPCODE_GET_DATE_ARY[] = +const TranslateId SC_OPCODE_GET_DATE_ARY[] = { NC_("SC_OPCODE_GET_DATE", "Provides an internal number for the date given."), NC_("SC_OPCODE_GET_DATE", "Year"), @@ -187,7 +187,7 @@ const char* SC_OPCODE_GET_DATE_ARY[] = }; // -=*# Resource for function DATE_VALUE #*=- -const char* SC_OPCODE_GET_DATE_VALUE_ARY[] = +const TranslateId SC_OPCODE_GET_DATE_VALUE_ARY[] = { NC_("SC_OPCODE_GET_DATE_VALUE", "Returns an internal number for a text having a possible date format."), NC_("SC_OPCODE_GET_DATE_VALUE", "Text"), @@ -195,7 +195,7 @@ const char* SC_OPCODE_GET_DATE_VALUE_ARY[] = }; // -=*# Resource for function DAY #*=- -const char* SC_OPCODE_GET_DAY_ARY[] = +const TranslateId SC_OPCODE_GET_DAY_ARY[] = { NC_("SC_OPCODE_GET_DAY", "Returns the sequential date of the month as an integer (1-31) in relation to the date value."), NC_("SC_OPCODE_GET_DAY", "Number"), @@ -203,7 +203,7 @@ const char* SC_OPCODE_GET_DAY_ARY[] = }; // -=*# Resource for function DAYS360 #*=- -const char* SC_OPCODE_GET_DIFF_DATE_360_ARY[] = +const TranslateId SC_OPCODE_GET_DIFF_DATE_360_ARY[] = { NC_("SC_OPCODE_GET_DIFF_DATE_360", "Calculates the number of days between two dates based on a 360-day year."), NC_("SC_OPCODE_GET_DIFF_DATE_360", "Date 1"), @@ -215,7 +215,7 @@ const char* SC_OPCODE_GET_DIFF_DATE_360_ARY[] = }; // -=*# Resource for function NETWORKDAYS #*=- -const char* SC_OPCODE_NETWORKDAYS_ARY[] = +const TranslateId SC_OPCODE_NETWORKDAYS_ARY[] = { NC_("SC_OPCODE_NETWORKDAYS", "Returns the number of workdays between two dates using arguments to indicate weekenddays and holidays."), NC_("SC_OPCODE_NETWORKDAYS", "Start date"), @@ -229,7 +229,7 @@ const char* SC_OPCODE_NETWORKDAYS_ARY[] = }; // -=*# Resource for function NETWORKDAYS.INTL #*=- -const char* SC_OPCODE_NETWORKDAYS_MS_ARY[] = +const TranslateId SC_OPCODE_NETWORKDAYS_MS_ARY[] = { NC_("SC_OPCODE_NETWORKDAYS_MS", "Returns the number of workdays between two dates using arguments to indicate weekend days and holidays."), NC_("SC_OPCODE_NETWORKDAYS_MS", "Start date"), @@ -243,7 +243,7 @@ const char* SC_OPCODE_NETWORKDAYS_MS_ARY[] = }; // -=*# Resource for function WORKDAY.INTL #*=- -const char* SC_OPCODE_WORKDAY_MS_ARY[] = +const TranslateId SC_OPCODE_WORKDAY_MS_ARY[] = { NC_("SC_OPCODE_WORKDAY_MS", "Returns the serial number of the date before or after a number of workdays using arguments to indicate weekend days and holidays."), NC_("SC_OPCODE_WORKDAY_MS", "Start date"), @@ -257,7 +257,7 @@ const char* SC_OPCODE_WORKDAY_MS_ARY[] = }; // -=*# Resource for function HOUR #*=- -const char* SC_OPCODE_GET_HOUR_ARY[] = +const TranslateId SC_OPCODE_GET_HOUR_ARY[] = { NC_("SC_OPCODE_GET_HOUR", "Determines the sequential number of the hour of the day (0-23) for the time value."), NC_("SC_OPCODE_GET_HOUR", "Number"), @@ -265,7 +265,7 @@ const char* SC_OPCODE_GET_HOUR_ARY[] = }; // -=*# Resource for function MINUTE #*=- -const char* SC_OPCODE_GET_MIN_ARY[] = +const TranslateId SC_OPCODE_GET_MIN_ARY[] = { NC_("SC_OPCODE_GET_MIN", "Determines the sequential number for the minute of the hour (0-59) for the time value."), NC_("SC_OPCODE_GET_MIN", "Number"), @@ -273,7 +273,7 @@ const char* SC_OPCODE_GET_MIN_ARY[] = }; // -=*# Resource for function MONTH #*=- -const char* SC_OPCODE_GET_MONTH_ARY[] = +const TranslateId SC_OPCODE_GET_MONTH_ARY[] = { NC_("SC_OPCODE_GET_MONTH", "Determines the sequential number of a month of the year (1-12) for the date value."), NC_("SC_OPCODE_GET_MONTH", "Number"), @@ -281,13 +281,13 @@ const char* SC_OPCODE_GET_MONTH_ARY[] = }; // -=*# Resource for function NOW #*=- -const char* SC_OPCODE_GET_ACT_TIME_ARY[] = +const TranslateId SC_OPCODE_GET_ACT_TIME_ARY[] = { NC_("SC_OPCODE_GET_ACT_TIME", "Determines the current time of the computer.") }; // -=*# Resource for function SECOND #*=- -const char*SC_OPCODE_GET_SEC_ARY[] = +const TranslateId SC_OPCODE_GET_SEC_ARY[] = { NC_("SC_OPCODE_GET_SEC", "Determines the sequential number of the second of a minute (0-59) for the time value."), NC_("SC_OPCODE_GET_SEC", "Number"), @@ -295,7 +295,7 @@ const char*SC_OPCODE_GET_SEC_ARY[] = }; // -=*# Resource for function TIME #*=- -const char* SC_OPCODE_GET_TIME_ARY[] = +const TranslateId SC_OPCODE_GET_TIME_ARY[] = { NC_("SC_OPCODE_GET_TIME", "Determines a time value from the details for hour, minute and second."), NC_("SC_OPCODE_GET_TIME", "Hour"), @@ -307,7 +307,7 @@ const char* SC_OPCODE_GET_TIME_ARY[] = }; // -=*# Resource for function TIMEVALUE #*=- -const char* SC_OPCODE_GET_TIME_VALUE_ARY[] = +const TranslateId SC_OPCODE_GET_TIME_VALUE_ARY[] = { NC_("SC_OPCODE_GET_TIME_VALUE", "Returns a sequential number for a text shown in a possible time entry format."), NC_("SC_OPCODE_GET_TIME_VALUE", "Text"), @@ -315,13 +315,13 @@ const char* SC_OPCODE_GET_TIME_VALUE_ARY[] = }; // -=*# Resource for function TODAY #*=- -const char* SC_OPCODE_GET_ACT_DATE_ARY[] = +const TranslateId SC_OPCODE_GET_ACT_DATE_ARY[] = { NC_("SC_OPCODE_GET_ACT_DATE", "Determines the current date of the computer.") }; // -=*# Resource for function WEEKDAY #*=- -const char* SC_OPCODE_GET_DAY_OF_WEEK_ARY[] = +const TranslateId SC_OPCODE_GET_DAY_OF_WEEK_ARY[] = { NC_("SC_OPCODE_GET_DAY_OF_WEEK", "Returns the day of the week for the date value as an integer."), NC_("SC_OPCODE_GET_DAY_OF_WEEK", "Number"), @@ -331,7 +331,7 @@ const char* SC_OPCODE_GET_DAY_OF_WEEK_ARY[] = }; // -=*# Resource for function YEAR #*=- -const char* SC_OPCODE_GET_YEAR_ARY[] = +const TranslateId SC_OPCODE_GET_YEAR_ARY[] = { NC_("SC_OPCODE_GET_YEAR", "Returns the year of a date value as an integer."), NC_("SC_OPCODE_GET_YEAR", "Number"), @@ -339,7 +339,7 @@ const char* SC_OPCODE_GET_YEAR_ARY[] = }; // -=*# Resource for function DAYS #*=- -const char* SC_OPCODE_GET_DIFF_DATE_ARY[] = +const TranslateId SC_OPCODE_GET_DIFF_DATE_ARY[] = { NC_("SC_OPCODE_GET_DIFF_DATE", "Calculates the number of days between two dates."), NC_("SC_OPCODE_GET_DIFF_DATE", "Date 2"), @@ -349,7 +349,7 @@ const char* SC_OPCODE_GET_DIFF_DATE_ARY[] = }; // -=*# Resource for function DATEDIF #*=- -const char* SC_OPCODE_GET_DATEDIF_ARY[] = +const TranslateId SC_OPCODE_GET_DATEDIF_ARY[] = { NC_("SC_OPCODE_GET_DATEDIF", "Returns the number of whole days, months or years between 'start date' and 'end date'."), NC_("SC_OPCODE_GET_DATEDIF", "Start date"), @@ -361,7 +361,7 @@ const char* SC_OPCODE_GET_DATEDIF_ARY[] = }; // -=*# Resource for function WEEKNUM #*=- -const char* SC_OPCODE_WEEK_ARY[] = +const TranslateId SC_OPCODE_WEEK_ARY[] = { NC_("SC_OPCODE_WEEK", "Calculates the calendar week corresponding to the given date."), NC_("SC_OPCODE_WEEK", "Number"), @@ -371,14 +371,14 @@ const char* SC_OPCODE_WEEK_ARY[] = }; // -=*# Resource for function ISOWEEKNUM #*=- -const char* SC_OPCODE_ISOWEEKNUM_ARY[] = +const TranslateId SC_OPCODE_ISOWEEKNUM_ARY[] = { NC_("SC_OPCODE_ISOWEEKNUM", "Calculates the ISO 8601 calendar week for the given date."), NC_("SC_OPCODE_ISOWEEKNUM", "Number"), NC_("SC_OPCODE_ISOWEEKNUM", "The internal number of the date.") }; -const char* SC_OPCODE_WEEKNUM_OOO_ARY[] = +const TranslateId SC_OPCODE_WEEKNUM_OOO_ARY[] = { NC_("SC_OPCODE_WEEKNUM_OOO", "Calculates the calendar week corresponding to the given date.\nThis function only provides interoperability with %PRODUCTNAME 5.0 and earlier and OpenOffice.org."), NC_("SC_OPCODE_WEEKNUM_OOO", "Number"), @@ -388,7 +388,7 @@ const char* SC_OPCODE_WEEKNUM_OOO_ARY[] = }; // -=*# Resource for function EASTERSUNDAY #*=- -const char* SC_OPCODE_EASTERSUNDAY_ARY[] = +const TranslateId SC_OPCODE_EASTERSUNDAY_ARY[] = { NC_("SC_OPCODE_EASTERSUNDAY", "Calculates the date of Easter Sunday in a given year."), NC_("SC_OPCODE_EASTERSUNDAY", "Year"), @@ -396,7 +396,7 @@ const char* SC_OPCODE_EASTERSUNDAY_ARY[] = }; // -=*# Resource for function PV #*=- -const char* SC_OPCODE_PV_ARY[] = +const TranslateId SC_OPCODE_PV_ARY[] = { NC_("SC_OPCODE_PV", "Present value. Calculates the present value of an investment."), NC_("SC_OPCODE_PV", "Rate"), @@ -412,7 +412,7 @@ const char* SC_OPCODE_PV_ARY[] = }; // -=*# Resource for function FV #*=- -const char* SC_OPCODE_FV_ARY[] = +const TranslateId SC_OPCODE_FV_ARY[] = { NC_("SC_OPCODE_FV", "Future value. Returns the future value of an investment based on regular payments and a constant interest rate."), NC_("SC_OPCODE_FV", "Rate"), @@ -428,7 +428,7 @@ const char* SC_OPCODE_FV_ARY[] = }; // -=*# Resource for function NPER #*=- -const char* SC_OPCODE_NPER_ARY[] = +const TranslateId SC_OPCODE_NPER_ARY[] = { NC_("SC_OPCODE_NPER", "Payment period. Calculates the number of payment periods for an investment based on regular payments and a constant interest rate."), NC_("SC_OPCODE_NPER", "Rate"), @@ -444,7 +444,7 @@ const char* SC_OPCODE_NPER_ARY[] = }; // -=*# Resource for function PMT #*=- -const char* SC_OPCODE_PMT_ARY[] = +const TranslateId SC_OPCODE_PMT_ARY[] = { NC_("SC_OPCODE_PMT", "Regular payments. Returns the periodic payment of an annuity, based on regular payments and a fixed periodic interest rate."), NC_("SC_OPCODE_PMT", "Rate"), @@ -460,7 +460,7 @@ const char* SC_OPCODE_PMT_ARY[] = }; // -=*# Resource for function RATE #*=- -const char* SC_OPCODE_RATE_ARY[] = +const TranslateId SC_OPCODE_RATE_ARY[] = { NC_("SC_OPCODE_RATE", "Calculates the constant interest rate of an investment with regular payments."), NC_("SC_OPCODE_RATE", "NPER"), @@ -478,7 +478,7 @@ const char* SC_OPCODE_RATE_ARY[] = }; // -=*# Resource for function IPMT #*=- -const char* SC_OPCODE_IPMT_ARY[] = +const TranslateId SC_OPCODE_IPMT_ARY[] = { NC_("SC_OPCODE_IPMT", "Compounded interest. Calculates the interest payment on the principal for an investment with regular payments and a constant interest rate for a given period."), NC_("SC_OPCODE_IPMT", "Rate"), @@ -496,7 +496,7 @@ const char* SC_OPCODE_IPMT_ARY[] = }; // -=*# Resource for function PPMT #*=- -const char* SC_OPCODE_PPMT_ARY[] = +const TranslateId SC_OPCODE_PPMT_ARY[] = { NC_("SC_OPCODE_PPMT", "Repayment. Calculates the repayment amount for a period for an investment whereby the payments are at regular intervals and the interest rate constant."), NC_("SC_OPCODE_PPMT", "Rate"), @@ -514,7 +514,7 @@ const char* SC_OPCODE_PPMT_ARY[] = }; // -=*# Resource for function CUMPRINC #*=- -const char* SC_OPCODE_CUM_PRINC_ARY[] = +const TranslateId SC_OPCODE_CUM_PRINC_ARY[] = { NC_("SC_OPCODE_CUM_PRINC", "Cumulative capital. Calculates the total amount of the repayment share in a period for an investment with constant interest rate."), NC_("SC_OPCODE_CUM_PRINC", "Rate"), @@ -532,7 +532,7 @@ const char* SC_OPCODE_CUM_PRINC_ARY[] = }; // -=*# Resource for function CUMIPMT #*=- -const char* SC_OPCODE_CUM_IPMT_ARY[] = +const TranslateId SC_OPCODE_CUM_IPMT_ARY[] = { NC_("SC_OPCODE_CUM_IPMT", "Cumulative compounded interest. Calculates the total amount of the interest share in a period for an investment with a constant interest rate."), NC_("SC_OPCODE_CUM_IPMT", "Rate"), @@ -550,7 +550,7 @@ const char* SC_OPCODE_CUM_IPMT_ARY[] = }; // -=*# Resource for function SYD #*=- -const char* SC_OPCODE_SYD_ARY[] = +const TranslateId SC_OPCODE_SYD_ARY[] = { NC_("SC_OPCODE_SYD", "Calculates the arithmetically declining value of an asset (depreciation) for a specified period."), NC_("SC_OPCODE_SYD", "Cost"), @@ -564,7 +564,7 @@ const char* SC_OPCODE_SYD_ARY[] = }; // -=*# Resource for function SLN #*=- -const char* SC_OPCODE_SLN_ARY[] = +const TranslateId SC_OPCODE_SLN_ARY[] = { NC_("SC_OPCODE_SLN", "Calculates the linear depreciation per period."), NC_("SC_OPCODE_SLN", "Cost"), @@ -576,7 +576,7 @@ const char* SC_OPCODE_SLN_ARY[] = }; // -=*# Resource for function DDB #*=- -const char* SC_OPCODE_DDB_ARY[] = +const TranslateId SC_OPCODE_DDB_ARY[] = { NC_("SC_OPCODE_DDB", "Calculates the depreciation of an asset for a specific period using the double-declining balance method or declining balance factor."), NC_("SC_OPCODE_DDB", "Cost"), @@ -592,7 +592,7 @@ const char* SC_OPCODE_DDB_ARY[] = }; // -=*# Resource for function DB #*=- -const char* SC_OPCODE_DB_ARY[] = +const TranslateId SC_OPCODE_DB_ARY[] = { NC_("SC_OPCODE_DB", "Returns the real depreciation of an asset for a specified period using the fixed-declining balance method."), NC_("SC_OPCODE_DB", "Cost"), @@ -608,7 +608,7 @@ const char* SC_OPCODE_DB_ARY[] = }; // -=*# Resource for function VDB #*=- -const char* SC_OPCODE_VBD_ARY[] = +const TranslateId SC_OPCODE_VBD_ARY[] = { NC_("SC_OPCODE_VBD", "Variable declining balance. Returns the declining balance depreciation for a particular period."), NC_("SC_OPCODE_VBD", "Cost"), @@ -628,7 +628,7 @@ const char* SC_OPCODE_VBD_ARY[] = }; // -=*# Resource for function EFFECT #*=- -const char* SC_OPCODE_EFFECT_ARY[] = +const TranslateId SC_OPCODE_EFFECT_ARY[] = { NC_("SC_OPCODE_EFFECT", "Calculates the annual net interest rate for a nominal interest rate."), NC_("SC_OPCODE_EFFECT", "NOM"), @@ -638,7 +638,7 @@ const char* SC_OPCODE_EFFECT_ARY[] = }; // -=*# Resource for function NOMINAL #*=- -const char* SC_OPCODE_NOMINAL_ARY[] = +const TranslateId SC_OPCODE_NOMINAL_ARY[] = { NC_("SC_OPCODE_NOMINAL", "Calculates the yearly nominal interest rate as an effective interest rate."), NC_("SC_OPCODE_NOMINAL", "Effective rate"), @@ -648,7 +648,7 @@ const char* SC_OPCODE_NOMINAL_ARY[] = }; // -=*# Resource for function NPV #*=- -const char* SC_OPCODE_NPV_ARY[] = +const TranslateId SC_OPCODE_NPV_ARY[] = { NC_("SC_OPCODE_NPV", "Net present value. Calculates the net present value of an investment based on a series of periodic payments and a discount rate."), NC_("SC_OPCODE_NPV", "Rate"), @@ -658,7 +658,7 @@ const char* SC_OPCODE_NPV_ARY[] = }; // -=*# Resource for function IRR #*=- -const char* SC_OPCODE_IRR_ARY[] = +const TranslateId SC_OPCODE_IRR_ARY[] = { NC_("SC_OPCODE_IRR", "Returns the actuarial rate of interest of an investment excluding costs or profits."), NC_("SC_OPCODE_IRR", "Values"), @@ -668,7 +668,7 @@ const char* SC_OPCODE_IRR_ARY[] = }; // -=*# Resource for function MIRR #*=- -const char* SC_OPCODE_MIRR_ARY[] = +const TranslateId SC_OPCODE_MIRR_ARY[] = { NC_("SC_OPCODE_MIRR", "Returns the modified internal rate of return for a series of investments."), NC_("SC_OPCODE_MIRR", "Values"), @@ -680,7 +680,7 @@ const char* SC_OPCODE_MIRR_ARY[] = }; // -=*# Resource for function ISPMT #*=- -const char* SC_OPCODE_ISPMT_ARY[] = +const TranslateId SC_OPCODE_ISPMT_ARY[] = { NC_("SC_OPCODE_ISPMT", "Returns the amount of interest for constant amortization rates."), NC_("SC_OPCODE_ISPMT", "Rate"), @@ -694,7 +694,7 @@ const char* SC_OPCODE_ISPMT_ARY[] = }; // -=*# Resource for function PDURATION #*=- -const char* SC_OPCODE_PDURATION_ARY[] = +const TranslateId SC_OPCODE_PDURATION_ARY[] = { NC_("SC_OPCODE_PDURATION", "Duration. Calculates the number of periods required by an investment to attain the desired value."), NC_("SC_OPCODE_PDURATION", "Rate"), @@ -706,7 +706,7 @@ const char* SC_OPCODE_PDURATION_ARY[] = }; // -=*# Resource for function RRI #*=- -const char* SC_OPCODE_RRI_ARY[] = +const TranslateId SC_OPCODE_RRI_ARY[] = { NC_("SC_OPCODE_RRI", "Interest. Calculates the interest rate which represents the rate of return from an investment."), NC_("SC_OPCODE_RRI", "Periods"), @@ -718,7 +718,7 @@ const char* SC_OPCODE_RRI_ARY[] = }; // -=*# Resource for function ISREF #*=- -const char* SC_OPCODE_IS_REF_ARY[] = +const TranslateId SC_OPCODE_IS_REF_ARY[] = { NC_("SC_OPCODE_IS_REF", "Returns TRUE if value is a reference."), NC_("SC_OPCODE_IS_REF", "Value"), @@ -726,7 +726,7 @@ const char* SC_OPCODE_IS_REF_ARY[] = }; // -=*# Resource for function ISERR #*=- -const char* SC_OPCODE_IS_ERR_ARY[] = +const TranslateId SC_OPCODE_IS_ERR_ARY[] = { NC_("SC_OPCODE_IS_ERR", "Returns TRUE if the value is an error value not equal to #N/A."), NC_("SC_OPCODE_IS_ERR", "Value"), @@ -734,7 +734,7 @@ const char* SC_OPCODE_IS_ERR_ARY[] = }; // -=*# Resource for function ISERROR #*=- -const char* SC_OPCODE_IS_ERROR_ARY[] = +const TranslateId SC_OPCODE_IS_ERROR_ARY[] = { NC_("SC_OPCODE_IS_ERROR", "Returns TRUE if the value is an error value."), NC_("SC_OPCODE_IS_ERROR", "Value"), @@ -742,7 +742,7 @@ const char* SC_OPCODE_IS_ERROR_ARY[] = }; // -=*# Resource for function ISBLANK #*=- -const char* SC_OPCODE_IS_EMPTY_ARY[] = +const TranslateId SC_OPCODE_IS_EMPTY_ARY[] = { NC_("SC_OPCODE_IS_EMPTY", "Returns TRUE if value refers to an empty cell."), NC_("SC_OPCODE_IS_EMPTY", "Value"), @@ -750,7 +750,7 @@ const char* SC_OPCODE_IS_EMPTY_ARY[] = }; // -=*# Resource for function ISLOGICAL #*=- -const char* SC_OPCODE_IS_LOGICAL_ARY[] = +const TranslateId SC_OPCODE_IS_LOGICAL_ARY[] = { NC_("SC_OPCODE_IS_LOGICAL", "Returns TRUE if the value carries a logical number format."), NC_("SC_OPCODE_IS_LOGICAL", "Value"), @@ -758,7 +758,7 @@ const char* SC_OPCODE_IS_LOGICAL_ARY[] = }; // -=*# Resource for function ISNA #*=- -const char* SC_OPCODE_IS_NV_ARY[] = +const TranslateId SC_OPCODE_IS_NV_ARY[] = { NC_("SC_OPCODE_IS_NV", "Returns TRUE if value equals #N/A."), NC_("SC_OPCODE_IS_NV", "Value"), @@ -766,7 +766,7 @@ const char* SC_OPCODE_IS_NV_ARY[] = }; // -=*# Resource for function ISNONTEXT #*=- -const char* SC_OPCODE_IS_NON_STRING_ARY[] = +const TranslateId SC_OPCODE_IS_NON_STRING_ARY[] = { NC_("SC_OPCODE_IS_NON_STRING", "Returns TRUE if the value is not text."), NC_("SC_OPCODE_IS_NON_STRING", "Value"), @@ -774,7 +774,7 @@ const char* SC_OPCODE_IS_NON_STRING_ARY[] = }; // -=*# Resource for function ISTEXT #*=- -const char* SC_OPCODE_IS_STRING_ARY[] = +const TranslateId SC_OPCODE_IS_STRING_ARY[] = { NC_("SC_OPCODE_IS_STRING", "Returns TRUE if value is text."), NC_("SC_OPCODE_IS_STRING", "Value"), @@ -782,7 +782,7 @@ const char* SC_OPCODE_IS_STRING_ARY[] = }; // -=*# Resource for function ISNUMBER #*=- -const char* SC_OPCODE_IS_VALUE_ARY[] = +const TranslateId SC_OPCODE_IS_VALUE_ARY[] = { NC_("SC_OPCODE_IS_VALUE", "Returns TRUE if value is a number."), NC_("SC_OPCODE_IS_VALUE", "Value"), @@ -790,7 +790,7 @@ const char* SC_OPCODE_IS_VALUE_ARY[] = }; // -=*# Resource for function ISFORMULA #*=- -const char* SC_OPCODE_IS_FORMULA_ARY[] = +const TranslateId SC_OPCODE_IS_FORMULA_ARY[] = { NC_("SC_OPCODE_IS_FORMULA", "Returns TRUE if the cell is a formula cell."), NC_("SC_OPCODE_IS_FORMULA", "Reference"), @@ -798,7 +798,7 @@ const char* SC_OPCODE_IS_FORMULA_ARY[] = }; // -=*# Resource for function FORMULA #*=- -const char* SC_OPCODE_FORMULA_ARY[] = +const TranslateId SC_OPCODE_FORMULA_ARY[] = { NC_("SC_OPCODE_FORMULA", "Returns the formula of a formula cell."), NC_("SC_OPCODE_FORMULA", "Reference"), @@ -806,7 +806,7 @@ const char* SC_OPCODE_FORMULA_ARY[] = }; // -=*# Resource for function N #*=- -const char* SC_OPCODE_N_ARY[] = +const TranslateId SC_OPCODE_N_ARY[] = { NC_("SC_OPCODE_N", "Converts a value to a number."), NC_("SC_OPCODE_N", "Value"), @@ -814,13 +814,13 @@ const char* SC_OPCODE_N_ARY[] = }; // -=*# Resource for function NA #*=- -const char* SC_OPCODE_NO_VALUE_ARY[] = +const TranslateId SC_OPCODE_NO_VALUE_ARY[] = { NC_("SC_OPCODE_NO_VALUE", "Not available. Returns the error value #N/A.") }; // -=*# Resource for function TYPE #*=- -const char* SC_OPCODE_TYPE_ARY[] = +const TranslateId SC_OPCODE_TYPE_ARY[] = { NC_("SC_OPCODE_TYPE", "Returns the data type of a value (1 = number, 2 = text, 4 = Boolean value, 8 = formula, 16 = error value, 64 = array)."), NC_("SC_OPCODE_TYPE", "Value"), @@ -828,7 +828,7 @@ const char* SC_OPCODE_TYPE_ARY[] = }; // -=*# Resource for function CELL #*=- -const char* SC_OPCODE_CELL_ARY[] = +const TranslateId SC_OPCODE_CELL_ARY[] = { NC_("SC_OPCODE_CELL", "Determines information about address, formatting or contents of a cell."), NC_("SC_OPCODE_CELL", "Info type"), @@ -838,19 +838,19 @@ const char* SC_OPCODE_CELL_ARY[] = }; // -=*# Resource for function CURRENT #*=- -const char* SC_OPCODE_CURRENT_ARY[] = +const TranslateId SC_OPCODE_CURRENT_ARY[] = { NC_("SC_OPCODE_CURRENT", "Calculates the current value of the formula at the present location.") }; // -=*# Resource for function FALSE #*=- -const char* SC_OPCODE_FALSE_ARY[] = +const TranslateId SC_OPCODE_FALSE_ARY[] = { NC_("SC_OPCODE_FALSE", "Defines the logical value as FALSE.") }; // -=*# Resource for function NOT #*=- -const char* SC_OPCODE_NOT_ARY[] = +const TranslateId SC_OPCODE_NOT_ARY[] = { NC_("SC_OPCODE_NOT", "Reverses the value of the argument."), NC_("SC_OPCODE_NOT", "Logical value"), @@ -858,13 +858,13 @@ const char* SC_OPCODE_NOT_ARY[] = }; // -=*# Resource for function TRUE #*=- -const char* SC_OPCODE_TRUE_ARY[] = +const TranslateId SC_OPCODE_TRUE_ARY[] = { NC_("SC_OPCODE_TRUE", "Returns the logical value TRUE.") }; // -=*# Resource for function IF #*=- -const char* SC_OPCODE_IF_ARY[] = +const TranslateId SC_OPCODE_IF_ARY[] = { NC_("SC_OPCODE_IF", "Specifies a logical test to be performed."), NC_("SC_OPCODE_IF", "Test"), @@ -876,7 +876,7 @@ const char* SC_OPCODE_IF_ARY[] = }; // -=*# Resource for function IFERROR #*=- -const char* SC_OPCODE_IF_ERROR_ARY[] = +const TranslateId SC_OPCODE_IF_ERROR_ARY[] = { NC_("SC_OPCODE_IF_ERROR", "Returns value if not an error value, else alternative."), NC_("SC_OPCODE_IF_ERROR", "Value"), @@ -886,7 +886,7 @@ const char* SC_OPCODE_IF_ERROR_ARY[] = }; // -=*# Resource for function IFNA #*=- -const char* SC_OPCODE_IF_NA_ARY[] = +const TranslateId SC_OPCODE_IF_NA_ARY[] = { NC_("SC_OPCODE_IF_NA", "Returns value if not a #N/A error, else alternative."), NC_("SC_OPCODE_IF_NA", "Value"), @@ -896,7 +896,7 @@ const char* SC_OPCODE_IF_NA_ARY[] = }; // -=*# Resource for function OR #*=- -const char* SC_OPCODE_OR_ARY[] = +const TranslateId SC_OPCODE_OR_ARY[] = { NC_("SC_OPCODE_OR", "Returns TRUE if an argument is TRUE."), NC_("SC_OPCODE_OR", "Logical value "), @@ -904,7 +904,7 @@ const char* SC_OPCODE_OR_ARY[] = }; // -=*# Resource for function XOR #*=- -const char* SC_OPCODE_XOR_ARY[] = +const TranslateId SC_OPCODE_XOR_ARY[] = { NC_("SC_OPCODE_XOR", "Returns TRUE if an odd number of arguments evaluates to TRUE."), NC_("SC_OPCODE_XOR", "Logical value "), @@ -912,7 +912,7 @@ const char* SC_OPCODE_XOR_ARY[] = }; // -=*# Resource for function AND #*=- -const char* SC_OPCODE_AND_ARY[] = +const TranslateId SC_OPCODE_AND_ARY[] = { NC_("SC_OPCODE_AND", "Returns TRUE if all arguments are TRUE."), NC_("SC_OPCODE_AND", "Logical value "), @@ -920,7 +920,7 @@ const char* SC_OPCODE_AND_ARY[] = }; // -=*# Resource for function ABS #*=- -const char* SC_OPCODE_ABS_ARY[] = +const TranslateId SC_OPCODE_ABS_ARY[] = { NC_("SC_OPCODE_ABS", "Absolute value of a number."), NC_("SC_OPCODE_ABS", "Number"), @@ -928,7 +928,7 @@ const char* SC_OPCODE_ABS_ARY[] = }; // -=*# Resource for function POWER #*=- -const char* SC_OPCODE_POWER_ARY[] = +const TranslateId SC_OPCODE_POWER_ARY[] = { NC_("SC_OPCODE_POWER", "Returns a^b, base a raised to the power of exponent b."), NC_("SC_OPCODE_POWER", "Base"), @@ -938,7 +938,7 @@ const char* SC_OPCODE_POWER_ARY[] = }; // -=*# Resource for function COUNTBLANK #*=- -const char* SC_OPCODE_COUNT_EMPTY_CELLS_ARY[] = +const TranslateId SC_OPCODE_COUNT_EMPTY_CELLS_ARY[] = { NC_("SC_OPCODE_COUNT_EMPTY_CELLS", "Counts the blank cells in a specified range."), NC_("SC_OPCODE_COUNT_EMPTY_CELLS", "Range"), @@ -946,13 +946,13 @@ const char* SC_OPCODE_COUNT_EMPTY_CELLS_ARY[] = }; // -=*# Resource for function PI #*=- -const char* SC_OPCODE_PI_ARY[] = +const TranslateId SC_OPCODE_PI_ARY[] = { NC_("SC_OPCODE_PI", "Returns the value of the number Pi.") }; // -=*# Resource for function SUM #*=- -const char* SC_OPCODE_SUM_ARY[] = +const TranslateId SC_OPCODE_SUM_ARY[] = { NC_("SC_OPCODE_SUM", "Returns the sum of all arguments."), NC_("SC_OPCODE_SUM", "Number "), @@ -960,7 +960,7 @@ const char* SC_OPCODE_SUM_ARY[] = }; // -=*# Resource for function SUMSQ #*=- -const char* SC_OPCODE_SUM_SQ_ARY[] = +const TranslateId SC_OPCODE_SUM_SQ_ARY[] = { NC_("SC_OPCODE_SUM_SQ", "Returns the sum of the squares of the arguments."), NC_("SC_OPCODE_SUM_SQ", "Number "), @@ -968,7 +968,7 @@ const char* SC_OPCODE_SUM_SQ_ARY[] = }; // -=*# Resource for function PRODUCT #*=- -const char* SC_OPCODE_PRODUCT_ARY[] = +const TranslateId SC_OPCODE_PRODUCT_ARY[] = { NC_("SC_OPCODE_PRODUCT", "Multiplies the arguments."), NC_("SC_OPCODE_PRODUCT", "Number "), @@ -976,7 +976,7 @@ const char* SC_OPCODE_PRODUCT_ARY[] = }; // -=*# Resource for function SUMIF #*=- -const char* SC_OPCODE_SUM_IF_ARY[] = +const TranslateId SC_OPCODE_SUM_IF_ARY[] = { NC_("SC_OPCODE_SUM_IF", "Totals the arguments that meet the condition."), NC_("SC_OPCODE_SUM_IF", "Range"), @@ -988,7 +988,7 @@ const char* SC_OPCODE_SUM_IF_ARY[] = }; // -=*# Resource for function AVERAGEIF #*=- -const char* SC_OPCODE_AVERAGE_IF_ARY[] = +const TranslateId SC_OPCODE_AVERAGE_IF_ARY[] = { NC_("SC_OPCODE_AVERAGE_IF", "Averages the arguments that meet the conditions."), NC_("SC_OPCODE_AVERAGE_IF", "Range"), @@ -999,7 +999,7 @@ const char* SC_OPCODE_AVERAGE_IF_ARY[] = NC_("SC_OPCODE_AVERAGE_IF", "The range from which the values are to be averaged.") }; -const char* SC_OPCODE_SUM_IFS_ARY[] = +const TranslateId SC_OPCODE_SUM_IFS_ARY[] = { NC_("SC_OPCODE_SUM_IFS", "Totals the values of cells in a range that meet multiple criteria in multiple ranges."), NC_("SC_OPCODE_SUM_IFS", "Sum range"), @@ -1011,7 +1011,7 @@ const char* SC_OPCODE_SUM_IFS_ARY[] = }; // -=*# Resource for function AVERAGEIFS #*=- -const char* SC_OPCODE_AVERAGE_IFS_ARY[] = +const TranslateId SC_OPCODE_AVERAGE_IFS_ARY[] = { NC_("SC_OPCODE_AVERAGE_IFS", "Averages the value of the cells that meet multiple criteria in multiple ranges."), NC_("SC_OPCODE_AVERAGE_IFS", "Average range"), @@ -1023,7 +1023,7 @@ const char* SC_OPCODE_AVERAGE_IFS_ARY[] = }; // -=*# Resource for function COUNTIFS #*=- -const char* SC_OPCODE_COUNT_IFS_ARY[] = +const TranslateId SC_OPCODE_COUNT_IFS_ARY[] = { NC_("SC_OPCODE_COUNT_IFS", "Counts the cells that meet multiple criteria in multiple ranges."), NC_("SC_OPCODE_COUNT_IFS", "Range "), @@ -1033,7 +1033,7 @@ const char* SC_OPCODE_COUNT_IFS_ARY[] = }; // -=*# Resource for function COUNTIF #*=- -const char* SC_OPCODE_COUNT_IF_ARY[] = +const TranslateId SC_OPCODE_COUNT_IF_ARY[] = { NC_("SC_OPCODE_COUNT_IF", "Counts the arguments which meet the set conditions."), NC_("SC_OPCODE_COUNT_IF", "Range"), @@ -1043,7 +1043,7 @@ const char* SC_OPCODE_COUNT_IF_ARY[] = }; // -=*# Resource for function SQRT #*=- -const char* SC_OPCODE_SQRT_ARY[] = +const TranslateId SC_OPCODE_SQRT_ARY[] = { NC_("SC_OPCODE_SQRT", "Returns the square root of a number."), NC_("SC_OPCODE_SQRT", "Number"), @@ -1051,13 +1051,13 @@ const char* SC_OPCODE_SQRT_ARY[] = }; // -=*# Resource for function RAND #*=- -const char* SC_OPCODE_RANDOM_ARY[] = +const TranslateId SC_OPCODE_RANDOM_ARY[] = { NC_("SC_OPCODE_RANDOM", "Returns a random number between 0 and 1.") }; // -=*# Resource for function ISEVEN #*=- -const char* SC_OPCODE_IS_EVEN_ARY[] = +const TranslateId SC_OPCODE_IS_EVEN_ARY[] = { NC_("SC_OPCODE_IS_EVEN", "Returns TRUE if value is an even integer."), NC_("SC_OPCODE_IS_EVEN", "Value"), @@ -1065,7 +1065,7 @@ const char* SC_OPCODE_IS_EVEN_ARY[] = }; // -=*# Resource for function ISODD #*=- -const char* SC_OPCODE_IS_ODD_ARY[] = +const TranslateId SC_OPCODE_IS_ODD_ARY[] = { NC_("SC_OPCODE_IS_ODD", "Returns TRUE if value is an odd integer."), NC_("SC_OPCODE_IS_ODD", "Value"), @@ -1073,7 +1073,7 @@ const char* SC_OPCODE_IS_ODD_ARY[] = }; // -=*# Resource for function COMBIN #*=- -const char* SC_OPCODE_COMBIN_ARY[] = +const TranslateId SC_OPCODE_COMBIN_ARY[] = { NC_("SC_OPCODE_COMBIN", "Calculates the number of combinations for elements without repetition."), NC_("SC_OPCODE_COMBIN", "Number 1"), @@ -1083,7 +1083,7 @@ const char* SC_OPCODE_COMBIN_ARY[] = }; // -=*# Resource for function COMBINA #*=- -const char* SC_OPCODE_COMBIN_A_ARY[] = +const TranslateId SC_OPCODE_COMBIN_A_ARY[] = { NC_("SC_OPCODE_COMBIN_A", "Calculates the number of combinations of elements including repetition."), NC_("SC_OPCODE_COMBIN_A", "Number 1"), @@ -1093,7 +1093,7 @@ const char* SC_OPCODE_COMBIN_A_ARY[] = }; // -=*# Resource for function ARCCOS #*=- -const char* SC_OPCODE_ARC_COS_ARY[] = +const TranslateId SC_OPCODE_ARC_COS_ARY[] = { NC_("SC_OPCODE_ARC_COS", "Returns the arccosine of a number."), NC_("SC_OPCODE_ARC_COS", "Number"), @@ -1101,7 +1101,7 @@ const char* SC_OPCODE_ARC_COS_ARY[] = }; // -=*# Resource for function ARCSIN #*=- -const char* SC_OPCODE_ARC_SIN_ARY[] = +const TranslateId SC_OPCODE_ARC_SIN_ARY[] = { NC_("SC_OPCODE_ARC_SIN", "Returns the arcsine of a number."), NC_("SC_OPCODE_ARC_SIN", "Number"), @@ -1109,7 +1109,7 @@ const char* SC_OPCODE_ARC_SIN_ARY[] = }; // -=*# Resource for function ARCCOSHYP #*=- -const char* SC_OPCODE_ARC_COS_HYP_ARY[] = +const TranslateId SC_OPCODE_ARC_COS_HYP_ARY[] = { NC_("SC_OPCODE_ARC_COS_HYP", "Returns the inverse hyperbolic cosine of a number."), NC_("SC_OPCODE_ARC_COS_HYP", "Number"), @@ -1117,7 +1117,7 @@ const char* SC_OPCODE_ARC_COS_HYP_ARY[] = }; // -=*# Resource for function ARCSINHYP #*=- -const char* SC_OPCODE_ARC_SIN_HYP_ARY[] = +const TranslateId SC_OPCODE_ARC_SIN_HYP_ARY[] = { NC_("SC_OPCODE_ARC_SIN_HYP", "Returns the inverse hyperbolic sine of a number."), NC_("SC_OPCODE_ARC_SIN_HYP", "Number"), @@ -1125,7 +1125,7 @@ const char* SC_OPCODE_ARC_SIN_HYP_ARY[] = }; // -=*# Resource for function ARCCOT #*=- -const char* SC_OPCODE_ARC_COT_ARY[] = +const TranslateId SC_OPCODE_ARC_COT_ARY[] = { NC_("SC_OPCODE_ARC_COT", "Returns the inverse cotangent of a number."), NC_("SC_OPCODE_ARC_COT", "Number"), @@ -1133,7 +1133,7 @@ const char* SC_OPCODE_ARC_COT_ARY[] = }; // -=*# Resource for function ARCTAN #*=- -const char* SC_OPCODE_ARC_TAN_ARY[] = +const TranslateId SC_OPCODE_ARC_TAN_ARY[] = { NC_("SC_OPCODE_ARC_TAN", "Returns the arctangent of a number."), NC_("SC_OPCODE_ARC_TAN", "Number"), @@ -1141,7 +1141,7 @@ const char* SC_OPCODE_ARC_TAN_ARY[] = }; // -=*# Resource for function ARCCOTHYP #*=- -const char* SC_OPCODE_ARC_COT_HYP_ARY[] = +const TranslateId SC_OPCODE_ARC_COT_HYP_ARY[] = { NC_("SC_OPCODE_ARC_COT_HYP", "Returns the inverse hyperbolic cotangent of a number."), NC_("SC_OPCODE_ARC_COT_HYP", "Number"), @@ -1149,7 +1149,7 @@ const char* SC_OPCODE_ARC_COT_HYP_ARY[] = }; // -=*# Resource for function ARCTANHYP #*=- -const char* SC_OPCODE_ARC_TAN_HYP_ARY[] = +const TranslateId SC_OPCODE_ARC_TAN_HYP_ARY[] = { NC_("SC_OPCODE_ARC_TAN_HYP", "Returns the inverse hyperbolic tangent of a number."), NC_("SC_OPCODE_ARC_TAN_HYP", "Number"), @@ -1157,7 +1157,7 @@ const char* SC_OPCODE_ARC_TAN_HYP_ARY[] = }; // -=*# Resource for function COS #*=- -const char* SC_OPCODE_COS_ARY[] = +const TranslateId SC_OPCODE_COS_ARY[] = { NC_("SC_OPCODE_COS", "Returns the cosine of a number."), NC_("SC_OPCODE_COS", "Number"), @@ -1165,7 +1165,7 @@ const char* SC_OPCODE_COS_ARY[] = }; // -=*# Resource for function SIN #*=- -const char* SC_OPCODE_SIN_ARY[] = +const TranslateId SC_OPCODE_SIN_ARY[] = { NC_("SC_OPCODE_SIN", "Returns the sine of a number."), NC_("SC_OPCODE_SIN", "Number"), @@ -1173,7 +1173,7 @@ const char* SC_OPCODE_SIN_ARY[] = }; // -=*# Resource for function COT #*=- -const char* SC_OPCODE_COT_ARY[] = +const TranslateId SC_OPCODE_COT_ARY[] = { NC_("SC_OPCODE_COT", "Returns the cotangent of a number."), NC_("SC_OPCODE_COT", "Number"), @@ -1181,7 +1181,7 @@ const char* SC_OPCODE_COT_ARY[] = }; // -=*# Resource for function TAN #*=- -const char* SC_OPCODE_TAN_ARY[] = +const TranslateId SC_OPCODE_TAN_ARY[] = { NC_("SC_OPCODE_TAN", "Returns the tangent of a number."), NC_("SC_OPCODE_TAN", "Number"), @@ -1189,7 +1189,7 @@ const char* SC_OPCODE_TAN_ARY[] = }; // -=*# Resource for function COSHYP #*=- -const char* SC_OPCODE_COS_HYP_ARY[] = +const TranslateId SC_OPCODE_COS_HYP_ARY[] = { NC_("SC_OPCODE_COS_HYP", "Returns the hyperbolic cosine of a number."), NC_("SC_OPCODE_COS_HYP", "Number"), @@ -1197,7 +1197,7 @@ const char* SC_OPCODE_COS_HYP_ARY[] = }; // -=*# Resource for function SINHYP #*=- -const char* SC_OPCODE_SIN_HYP_ARY[] = +const TranslateId SC_OPCODE_SIN_HYP_ARY[] = { NC_("SC_OPCODE_SIN_HYP", "Returns the hyperbolic sine of a number."), NC_("SC_OPCODE_SIN_HYP", "Number"), @@ -1205,7 +1205,7 @@ const char* SC_OPCODE_SIN_HYP_ARY[] = }; // -=*# Resource for function COTHYP #*=- -const char* SC_OPCODE_COT_HYP_ARY[] = +const TranslateId SC_OPCODE_COT_HYP_ARY[] = { NC_("SC_OPCODE_COT_HYP", "Returns the hyperbolic cotangent of a number."), NC_("SC_OPCODE_COT_HYP", "Number"), @@ -1213,7 +1213,7 @@ const char* SC_OPCODE_COT_HYP_ARY[] = }; // -=*# Resource for function TANHYP #*=- -const char* SC_OPCODE_TAN_HYP_ARY[] = +const TranslateId SC_OPCODE_TAN_HYP_ARY[] = { NC_("SC_OPCODE_TAN_HYP", "Returns the hyperbolic tangent of a number."), NC_("SC_OPCODE_TAN_HYP", "Number"), @@ -1221,7 +1221,7 @@ const char* SC_OPCODE_TAN_HYP_ARY[] = }; // -=*# Resource for function ARCTAN2 #*=- -const char* SC_OPCODE_ARC_TAN_2_ARY[] = +const TranslateId SC_OPCODE_ARC_TAN_2_ARY[] = { NC_("SC_OPCODE_ARC_TAN_2", "Returns the arctangent for the specified coordinates."), NC_("SC_OPCODE_ARC_TAN_2", "Number X"), @@ -1231,7 +1231,7 @@ const char* SC_OPCODE_ARC_TAN_2_ARY[] = }; // -=*# Resource for function CSC #*=- -const char* SC_OPCODE_COSECANT_ARY[] = +const TranslateId SC_OPCODE_COSECANT_ARY[] = { NC_("SC_OPCODE_COSECANT", "Return the cosecant of an angle. CSC(x)=1/SIN(x)"), NC_("SC_OPCODE_COSECANT", "Angle"), @@ -1239,7 +1239,7 @@ const char* SC_OPCODE_COSECANT_ARY[] = }; // -=*# Resource for function SEC #*=- -const char* SC_OPCODE_SECANT_ARY[] = +const TranslateId SC_OPCODE_SECANT_ARY[] = { NC_("SC_OPCODE_SECANT", "Return the secant of an angle. SEC(x)=1/COS(x)"), NC_("SC_OPCODE_SECANT", "Angle"), @@ -1247,7 +1247,7 @@ const char* SC_OPCODE_SECANT_ARY[] = }; // -=*# Resource for function CSCH #*=- -const char* SC_OPCODE_COSECANT_HYP_ARY[] = +const TranslateId SC_OPCODE_COSECANT_HYP_ARY[] = { NC_("SC_OPCODE_COSECANT_HYP", "Return the hyperbolic cosecant of a hyperbolic angle. CSCH(x)=1/SINH(x)"), NC_("SC_OPCODE_COSECANT_HYP", "Angle"), @@ -1255,7 +1255,7 @@ const char* SC_OPCODE_COSECANT_HYP_ARY[] = }; // -=*# Resource for function SECH #*=- -const char* SC_OPCODE_SECANT_HYP_ARY[] = +const TranslateId SC_OPCODE_SECANT_HYP_ARY[] = { NC_("SC_OPCODE_SECANT_HYP", "Return the hyperbolic secant of a hyperbolic angle. SECH(x)=1/COSH(x)"), NC_("SC_OPCODE_SECANT_HYP", "Angle"), @@ -1263,7 +1263,7 @@ const char* SC_OPCODE_SECANT_HYP_ARY[] = }; // -=*# Resource for function DEG #*=- -const char* SC_OPCODE_DEG_ARY[] = +const TranslateId SC_OPCODE_DEG_ARY[] = { NC_("SC_OPCODE_DEG", "Converts a radian to degrees"), NC_("SC_OPCODE_DEG", "Number"), @@ -1271,7 +1271,7 @@ const char* SC_OPCODE_DEG_ARY[] = }; // -=*# Resource for function RAD #*=- -const char* SC_OPCODE_RAD_ARY[] = +const TranslateId SC_OPCODE_RAD_ARY[] = { NC_("SC_OPCODE_RAD", "Converts degrees to radians"), NC_("SC_OPCODE_RAD", "Number"), @@ -1279,7 +1279,7 @@ const char* SC_OPCODE_RAD_ARY[] = }; // -=*# Resource for function EXP #*=- -const char* SC_OPCODE_EXP_ARY[] = +const TranslateId SC_OPCODE_EXP_ARY[] = { NC_("SC_OPCODE_EXP", "Calculates the exponent for basis e."), NC_("SC_OPCODE_EXP", "Number"), @@ -1287,7 +1287,7 @@ const char* SC_OPCODE_EXP_ARY[] = }; // -=*# Resource for function LOG #*=- -const char* SC_OPCODE_LOG_ARY[] = +const TranslateId SC_OPCODE_LOG_ARY[] = { NC_("SC_OPCODE_LOG", "Calculates the logarithm to any specified base."), NC_("SC_OPCODE_LOG", "Number"), @@ -1297,7 +1297,7 @@ const char* SC_OPCODE_LOG_ARY[] = }; // -=*# Resource for function LN #*=- -const char* SC_OPCODE_LN_ARY[] = +const TranslateId SC_OPCODE_LN_ARY[] = { NC_("SC_OPCODE_LN", "Calculates the natural logarithm of a number."), NC_("SC_OPCODE_LN", "Number"), @@ -1305,7 +1305,7 @@ const char* SC_OPCODE_LN_ARY[] = }; // -=*# Resource for function LOG10 #*=- -const char* SC_OPCODE_LOG10_ARY[] = +const TranslateId SC_OPCODE_LOG10_ARY[] = { NC_("SC_OPCODE_LOG10", "Calculates the base-10 logarithm of a number."), NC_("SC_OPCODE_LOG10", "Number"), @@ -1313,7 +1313,7 @@ const char* SC_OPCODE_LOG10_ARY[] = }; // -=*# Resource for function FACT #*=- -const char* SC_OPCODE_FACT_ARY[] = +const TranslateId SC_OPCODE_FACT_ARY[] = { NC_("SC_OPCODE_FACT", "Calculates the factorial of a number."), NC_("SC_OPCODE_FACT", "Number"), @@ -1321,7 +1321,7 @@ const char* SC_OPCODE_FACT_ARY[] = }; // -=*# Resource for function MOD #*=- -const char* SC_OPCODE_MOD_ARY[] = +const TranslateId SC_OPCODE_MOD_ARY[] = { NC_("SC_OPCODE_MOD", "Calculates the remainder of a division."), NC_("SC_OPCODE_MOD", "Dividend"), @@ -1331,7 +1331,7 @@ const char* SC_OPCODE_MOD_ARY[] = }; // -=*# Resource for function SIGN #*=- -const char* SC_OPCODE_PLUS_MINUS_ARY[] = +const TranslateId SC_OPCODE_PLUS_MINUS_ARY[] = { NC_("SC_OPCODE_PLUS_MINUS", "Returns the algebraic sign of a number."), NC_("SC_OPCODE_PLUS_MINUS", "Number"), @@ -1339,7 +1339,7 @@ const char* SC_OPCODE_PLUS_MINUS_ARY[] = }; // -=*# Resource for function SUBTOTAL #*=- -const char* SC_OPCODE_SUB_TOTAL_ARY[] = +const TranslateId SC_OPCODE_SUB_TOTAL_ARY[] = { NC_("SC_OPCODE_SUB_TOTAL", "Calculates subtotals in a spreadsheet."), NC_("SC_OPCODE_SUB_TOTAL", "Function"), @@ -1349,7 +1349,7 @@ const char* SC_OPCODE_SUB_TOTAL_ARY[] = }; // -=*# Resource for function AGGREGATE #*=- -const char* SC_OPCODE_AGGREGATE_ARY[] = +const TranslateId SC_OPCODE_AGGREGATE_ARY[] = { NC_("SC_OPCODE_AGGREGATE", "Calculates an aggregate in a spreadsheet."), NC_("SC_OPCODE_AGGREGATE", "Function"), @@ -1363,7 +1363,7 @@ const char* SC_OPCODE_AGGREGATE_ARY[] = }; // -=*# Resource for function INT #*=- -const char* SC_OPCODE_INT_ARY[] = +const TranslateId SC_OPCODE_INT_ARY[] = { NC_("SC_OPCODE_INT", "Rounds a number down to the nearest integer."), NC_("SC_OPCODE_INT", "Number"), @@ -1371,7 +1371,7 @@ const char* SC_OPCODE_INT_ARY[] = }; // -=*# Resource for function TRUNC #*=- -const char* SC_OPCODE_TRUNC_ARY[] = +const TranslateId SC_OPCODE_TRUNC_ARY[] = { NC_("SC_OPCODE_TRUNC", "Truncates the decimal places of a number."), NC_("SC_OPCODE_TRUNC", "Number"), @@ -1381,7 +1381,7 @@ const char* SC_OPCODE_TRUNC_ARY[] = }; // -=*# Resource for function ROUND #*=- -const char* SC_OPCODE_ROUND_ARY[] = +const TranslateId SC_OPCODE_ROUND_ARY[] = { NC_("SC_OPCODE_ROUND", "Rounds a number to a predefined accuracy."), NC_("SC_OPCODE_ROUND", "Number"), @@ -1391,7 +1391,7 @@ const char* SC_OPCODE_ROUND_ARY[] = }; // -=*# Resource for function ROUNDUP #*=- -const char* SC_OPCODE_ROUND_UP_ARY[] = +const TranslateId SC_OPCODE_ROUND_UP_ARY[] = { NC_("SC_OPCODE_ROUND_UP", "Rounds a number up to the predefined accuracy."), NC_("SC_OPCODE_ROUND_UP", "Number"), @@ -1401,7 +1401,7 @@ const char* SC_OPCODE_ROUND_UP_ARY[] = }; // -=*# Resource for function ROUNDDOWN #*=- -const char* SC_OPCODE_ROUND_DOWN_ARY[] = +const TranslateId SC_OPCODE_ROUND_DOWN_ARY[] = { NC_("SC_OPCODE_ROUND_DOWN", "Rounds a number down to a predefined accuracy."), NC_("SC_OPCODE_ROUND_DOWN", "Number"), @@ -1411,7 +1411,7 @@ const char* SC_OPCODE_ROUND_DOWN_ARY[] = }; // -=*# Resource for function EVEN #*=- -const char* SC_OPCODE_EVEN_ARY[] = +const TranslateId SC_OPCODE_EVEN_ARY[] = { NC_("SC_OPCODE_EVEN", "Rounds a positive number up and negative number down to the nearest even integer."), NC_("SC_OPCODE_EVEN", "Number"), @@ -1419,7 +1419,7 @@ const char* SC_OPCODE_EVEN_ARY[] = }; // -=*# Resource for function ODD #*=- -const char* SC_OPCODE_ODD_ARY[] = +const TranslateId SC_OPCODE_ODD_ARY[] = { NC_("SC_OPCODE_ODD", "Rounds a positive number up and negative number down to the nearest odd integer."), NC_("SC_OPCODE_ODD", "Number"), @@ -1427,7 +1427,7 @@ const char* SC_OPCODE_ODD_ARY[] = }; // -=*# Resource for function CEILING.XCL #*=- -const char* SC_OPCODE_CEIL_MS_ARY[] = +const TranslateId SC_OPCODE_CEIL_MS_ARY[] = { NC_("SC_OPCODE_CEIL_MS", "Rounds a number away from zero to the nearest multiple of significance.\nThis function exists for interoperability with Microsoft Excel 2007 or older versions."), NC_("SC_OPCODE_CEIL_MS", "Number"), @@ -1437,7 +1437,7 @@ const char* SC_OPCODE_CEIL_MS_ARY[] = }; // -=*# Resource for function CEILING.PRECISE #*=- -const char* SC_OPCODE_CEIL_PRECISE_ARY[] = +const TranslateId SC_OPCODE_CEIL_PRECISE_ARY[] = { NC_("SC_OPCODE_CEIL_PRECISE", "Rounds a number up to the nearest multiple of significance, regardless of sign of significance."), NC_("SC_OPCODE_CEIL_PRECISE", "Number"), @@ -1447,7 +1447,7 @@ const char* SC_OPCODE_CEIL_PRECISE_ARY[] = }; // -=*# Resource for function ISO.CEILING #*=- -const char* SC_OPCODE_CEIL_ISO_ARY[] = +const TranslateId SC_OPCODE_CEIL_ISO_ARY[] = { NC_("SC_OPCODE_CEIL_ISO", "Rounds a number up to the nearest multiple of significance, regardless of sign of significance."), NC_("SC_OPCODE_CEIL_ISO", "Number"), @@ -1457,7 +1457,7 @@ const char* SC_OPCODE_CEIL_ISO_ARY[] = }; // -=*# Resource for function CEILING #*=- -const char* SC_OPCODE_CEIL_ARY[] = +const TranslateId SC_OPCODE_CEIL_ARY[] = { NC_("SC_OPCODE_CEIL", "Rounds a number up to the nearest multiple of significance."), NC_("SC_OPCODE_CEIL", "Number"), @@ -1469,7 +1469,7 @@ const char* SC_OPCODE_CEIL_ARY[] = }; // -=*# Resource for function CEILING.MATH #*=- -const char* SC_OPCODE_CEIL_MATH_ARY[] = +const TranslateId SC_OPCODE_CEIL_MATH_ARY[] = { NC_("SC_OPCODE_CEIL_MATH", "Rounds a number up to the nearest multiple of significance."), NC_("SC_OPCODE_CEIL_MATH", "Number"), @@ -1481,7 +1481,7 @@ const char* SC_OPCODE_CEIL_MATH_ARY[] = }; // -=*# Resource for function FLOOR #*=- -const char* SC_OPCODE_FLOOR_ARY[] = +const TranslateId SC_OPCODE_FLOOR_ARY[] = { NC_("SC_OPCODE_FLOOR", "Rounds number down to the nearest multiple of significance."), NC_("SC_OPCODE_FLOOR", "Number"), @@ -1493,7 +1493,7 @@ const char* SC_OPCODE_FLOOR_ARY[] = }; // -=*# Resource for function FLOOR.XCL #*=- -const char* SC_OPCODE_FLOOR_MS_ARY[] = +const TranslateId SC_OPCODE_FLOOR_MS_ARY[] = { NC_("SC_OPCODE_FLOOR_MS", "Rounds number towards zero to the nearest multiple of absolute value of significance.\nThis function exists for interoperability with Microsoft Excel 2007 or older versions."), NC_("SC_OPCODE_FLOOR_MS", "Number"), @@ -1503,7 +1503,7 @@ const char* SC_OPCODE_FLOOR_MS_ARY[] = }; // -=*# Resource for function FLOOR.MATH #*=- -const char* SC_OPCODE_FLOOR_MATH_ARY[] = +const TranslateId SC_OPCODE_FLOOR_MATH_ARY[] = { NC_("SC_OPCODE_FLOOR_MATH", "Rounds number down to the nearest multiple of significance, regardless of sign of significance."), NC_("SC_OPCODE_FLOOR_MATH", "Number"), @@ -1515,7 +1515,7 @@ const char* SC_OPCODE_FLOOR_MATH_ARY[] = }; // -=*# Resource for function FLOOR.PRECISE #*=- -const char* SC_OPCODE_FLOOR_PRECISE_ARY[] = +const TranslateId SC_OPCODE_FLOOR_PRECISE_ARY[] = { NC_("SC_OPCODE_FLOOR_PRECISE", "Rounds number down (towards -∞) to the nearest multiple of significance."), NC_("SC_OPCODE_FLOOR_PRECISE", "Number"), @@ -1525,7 +1525,7 @@ const char* SC_OPCODE_FLOOR_PRECISE_ARY[] = }; // -=*# Resource for function GCD #*=- -const char* SC_OPCODE_GCD_ARY[] = +const TranslateId SC_OPCODE_GCD_ARY[] = { NC_("SC_OPCODE_GCD", "Greatest Common Divisor"), NC_("SC_OPCODE_GCD", "Integer "), @@ -1533,7 +1533,7 @@ const char* SC_OPCODE_GCD_ARY[] = }; // -=*# Resource for function LCM #*=- -const char* SC_OPCODE_LCM_ARY[] = +const TranslateId SC_OPCODE_LCM_ARY[] = { NC_("SC_OPCODE_LCM", "Lowest common multiple"), NC_("SC_OPCODE_LCM", "Integer "), @@ -1541,7 +1541,7 @@ const char* SC_OPCODE_LCM_ARY[] = }; // -=*# Resource for function TRANSPOSE #*=- -const char* SC_OPCODE_MAT_TRANS_ARY[] = +const TranslateId SC_OPCODE_MAT_TRANS_ARY[] = { NC_("SC_OPCODE_MAT_TRANS", "Array transposition. Exchanges the rows and columns of an array."), NC_("SC_OPCODE_MAT_TRANS", "Array"), @@ -1549,7 +1549,7 @@ const char* SC_OPCODE_MAT_TRANS_ARY[] = }; // -=*# Resource for function MMULT #*=- -const char* SC_OPCODE_MAT_MULT_ARY[] = +const TranslateId SC_OPCODE_MAT_MULT_ARY[] = { NC_("SC_OPCODE_MAT_MULT", "Array multiplication. Returns the product of two arrays."), NC_("SC_OPCODE_MAT_MULT", "Array 1"), @@ -1559,7 +1559,7 @@ const char* SC_OPCODE_MAT_MULT_ARY[] = }; // -=*# Resource for function MDETERM #*=- -const char* SC_OPCODE_MAT_DET_ARY[] = +const TranslateId SC_OPCODE_MAT_DET_ARY[] = { NC_("SC_OPCODE_MAT_DET", "Returns the array determinant."), NC_("SC_OPCODE_MAT_DET", "Array"), @@ -1567,7 +1567,7 @@ const char* SC_OPCODE_MAT_DET_ARY[] = }; // -=*# Resource for function MINVERSE #*=- -const char* SC_OPCODE_MAT_INV_ARY[] = +const TranslateId SC_OPCODE_MAT_INV_ARY[] = { NC_("SC_OPCODE_MAT_INV", "Returns the inverse of an array."), NC_("SC_OPCODE_MAT_INV", "Array"), @@ -1575,7 +1575,7 @@ const char* SC_OPCODE_MAT_INV_ARY[] = }; // -=*# Resource for function MUNIT #*=- -const char* SC_OPCODE_MATRIX_UNIT_ARY[] = +const TranslateId SC_OPCODE_MATRIX_UNIT_ARY[] = { NC_("SC_OPCODE_MATRIX_UNIT", "Returns the unitary square array of a certain size."), NC_("SC_OPCODE_MATRIX_UNIT", "Dimensions"), @@ -1583,7 +1583,7 @@ const char* SC_OPCODE_MATRIX_UNIT_ARY[] = }; // -=*# Resource for function SUMPRODUCT #*=- -const char* SC_OPCODE_SUM_PRODUCT_ARY[] = +const TranslateId SC_OPCODE_SUM_PRODUCT_ARY[] = { NC_("SC_OPCODE_SUM_PRODUCT", "(Inner products) Returns the sum of the products of array arguments."), NC_("SC_OPCODE_SUM_PRODUCT", "Array "), @@ -1591,7 +1591,7 @@ const char* SC_OPCODE_SUM_PRODUCT_ARY[] = }; // -=*# Resource for function SUMX2MY2 #*=- -const char* SC_OPCODE_SUM_X2MY2_ARY[] = +const TranslateId SC_OPCODE_SUM_X2MY2_ARY[] = { NC_("SC_OPCODE_SUM_X2MY2", "Returns the sum of the difference of squares of two arrays."), NC_("SC_OPCODE_SUM_X2MY2", "Array X"), @@ -1601,7 +1601,7 @@ const char* SC_OPCODE_SUM_X2MY2_ARY[] = }; // -=*# Resource for function SUMX2PY2 #*=- -const char* SC_OPCODE_SUM_X2DY2_ARY[] = +const TranslateId SC_OPCODE_SUM_X2DY2_ARY[] = { NC_("SC_OPCODE_SUM_X2DY2", "Returns the total of the square sum of two arrays."), NC_("SC_OPCODE_SUM_X2DY2", "Array X"), @@ -1611,7 +1611,7 @@ const char* SC_OPCODE_SUM_X2DY2_ARY[] = }; // -=*# Resource for function SUMXMY2 #*=- -const char* SC_OPCODE_SUM_XMY2_ARY[] = +const TranslateId SC_OPCODE_SUM_XMY2_ARY[] = { NC_("SC_OPCODE_SUM_XMY2", "Returns the sum of squares of differences of two arrays."), NC_("SC_OPCODE_SUM_XMY2", "Array X"), @@ -1621,7 +1621,7 @@ const char* SC_OPCODE_SUM_XMY2_ARY[] = }; // -=*# Resource for function FREQUENCY #*=- -const char* SC_OPCODE_FREQUENCY_ARY[] = +const TranslateId SC_OPCODE_FREQUENCY_ARY[] = { NC_("SC_OPCODE_FREQUENCY", "Returns a frequency distribution as a vertical array."), NC_("SC_OPCODE_FREQUENCY", "Data"), @@ -1631,7 +1631,7 @@ const char* SC_OPCODE_FREQUENCY_ARY[] = }; // -=*# Resource for function LINEST #*=- -const char* SC_OPCODE_LINEST_ARY[] = +const TranslateId SC_OPCODE_LINEST_ARY[] = { NC_("SC_OPCODE_LINEST", "Calculates parameters of the linear regression as an array."), NC_("SC_OPCODE_LINEST", "Data Y"), @@ -1645,7 +1645,7 @@ const char* SC_OPCODE_LINEST_ARY[] = }; // -=*# Resource for function LOGEST #*=- -const char* SC_OPCODE_LOGEST_ARY[] = +const TranslateId SC_OPCODE_LOGEST_ARY[] = { NC_("SC_OPCODE_LOGEST", "Calculates the parameters of the exponential regression curve as an array."), NC_("SC_OPCODE_LOGEST", "Data Y"), @@ -1659,7 +1659,7 @@ const char* SC_OPCODE_LOGEST_ARY[] = }; // -=*# Resource for function TREND #*=- -const char* SC_OPCODE_TREND_ARY[] = +const TranslateId SC_OPCODE_TREND_ARY[] = { NC_("SC_OPCODE_TREND", "Calculates points along a regression line."), NC_("SC_OPCODE_TREND", "Data Y"), @@ -1673,7 +1673,7 @@ const char* SC_OPCODE_TREND_ARY[] = }; // -=*# Resource for function GROWTH #*=- -const char* SC_OPCODE_GROWTH_ARY[] = +const TranslateId SC_OPCODE_GROWTH_ARY[] = { NC_("SC_OPCODE_GROWTH", "Calculates points on the exponential regression function."), NC_("SC_OPCODE_GROWTH", "Data Y"), @@ -1687,7 +1687,7 @@ const char* SC_OPCODE_GROWTH_ARY[] = }; // -=*# Resource for function COUNT #*=- -const char* SC_OPCODE_COUNT_ARY[] = +const TranslateId SC_OPCODE_COUNT_ARY[] = { NC_("SC_OPCODE_COUNT", "Counts how many numbers are in the list of arguments."), NC_("SC_OPCODE_COUNT", "Value "), @@ -1695,7 +1695,7 @@ const char* SC_OPCODE_COUNT_ARY[] = }; // -=*# Resource for function COUNTA #*=- -const char* SC_OPCODE_COUNT_2_ARY[] = +const TranslateId SC_OPCODE_COUNT_2_ARY[] = { NC_("SC_OPCODE_COUNT_2", "Counts how many values are in the list of arguments."), NC_("SC_OPCODE_COUNT_2", "Value "), @@ -1703,7 +1703,7 @@ const char* SC_OPCODE_COUNT_2_ARY[] = }; // -=*# Resource for function MAX #*=- -const char* SC_OPCODE_MAX_ARY[] = +const TranslateId SC_OPCODE_MAX_ARY[] = { NC_("SC_OPCODE_MAX", "Returns the maximum value in a list of arguments."), NC_("SC_OPCODE_MAX", "Number "), @@ -1711,7 +1711,7 @@ const char* SC_OPCODE_MAX_ARY[] = }; // -=*# Resource for function MAXA #*=- -const char* SC_OPCODE_MAX_A_ARY[] = +const TranslateId SC_OPCODE_MAX_A_ARY[] = { NC_("SC_OPCODE_MAX_A", "Returns the maximum value in a list of arguments. Text is evaluated as Zero."), NC_("SC_OPCODE_MAX_A", "Value "), @@ -1719,7 +1719,7 @@ const char* SC_OPCODE_MAX_A_ARY[] = }; // -=*# Resource for function MIN #*=- -const char* SC_OPCODE_MIN_ARY[] = +const TranslateId SC_OPCODE_MIN_ARY[] = { NC_("SC_OPCODE_MIN", "Returns the minimum value in a list of arguments."), NC_("SC_OPCODE_MIN", "Number "), @@ -1727,7 +1727,7 @@ const char* SC_OPCODE_MIN_ARY[] = }; // -=*# Resource for function MINA #*=- -const char* SC_OPCODE_MIN_A_ARY[] = +const TranslateId SC_OPCODE_MIN_A_ARY[] = { NC_("SC_OPCODE_MIN_A", "Returns the smallest value in a list of arguments. Text is evaluated as zero."), NC_("SC_OPCODE_MIN_A", "Value "), @@ -1735,7 +1735,7 @@ const char* SC_OPCODE_MIN_A_ARY[] = }; // -=*# Resource for function VAR #*=- -const char* SC_OPCODE_VAR_ARY[] = +const TranslateId SC_OPCODE_VAR_ARY[] = { NC_("SC_OPCODE_VAR", "Calculates the variance based on a sample."), NC_("SC_OPCODE_VAR", "Number "), @@ -1743,7 +1743,7 @@ const char* SC_OPCODE_VAR_ARY[] = }; // -=*# Resource for function VAR.S #*=- -const char* SC_OPCODE_VAR_S_ARY[] = +const TranslateId SC_OPCODE_VAR_S_ARY[] = { NC_("SC_OPCODE_VAR_S", "Calculates the variance based on a sample."), NC_("SC_OPCODE_VAR_S", "Number "), @@ -1751,7 +1751,7 @@ const char* SC_OPCODE_VAR_S_ARY[] = }; // -=*# Resource for function VARA #*=- -const char* SC_OPCODE_VAR_A_ARY[] = +const TranslateId SC_OPCODE_VAR_A_ARY[] = { NC_("SC_OPCODE_VAR_A", "Returns the variance based on a sample. Text is evaluated as zero."), NC_("SC_OPCODE_VAR_A", "Value "), @@ -1759,7 +1759,7 @@ const char* SC_OPCODE_VAR_A_ARY[] = }; // -=*# Resource for function VARP #*=- -const char* SC_OPCODE_VAR_P_ARY[] = +const TranslateId SC_OPCODE_VAR_P_ARY[] = { NC_("SC_OPCODE_VAR_P", "Calculates variance based on the entire population."), NC_("SC_OPCODE_VAR_P", "Number "), @@ -1767,7 +1767,7 @@ const char* SC_OPCODE_VAR_P_ARY[] = }; // -=*# Resource for function VAR.P #*=- -const char* SC_OPCODE_VAR_P_MS_ARY[] = +const TranslateId SC_OPCODE_VAR_P_MS_ARY[] = { NC_("SC_OPCODE_VAR_P_MS", "Calculates variance based on the entire population."), NC_("SC_OPCODE_VAR_P_MS", "Number "), @@ -1775,7 +1775,7 @@ const char* SC_OPCODE_VAR_P_MS_ARY[] = }; // -=*# Resource for function VARPA #*=- -const char* SC_OPCODE_VAR_P_A_ARY[] = +const TranslateId SC_OPCODE_VAR_P_A_ARY[] = { NC_("SC_OPCODE_VAR_P_A", "Returns the variance based on the entire population. Text is evaluated as zero."), NC_("SC_OPCODE_VAR_P_A", "Value "), @@ -1783,7 +1783,7 @@ const char* SC_OPCODE_VAR_P_A_ARY[] = }; // -=*# Resource for function STDEV #*=- -const char* SC_OPCODE_ST_DEV_ARY[] = +const TranslateId SC_OPCODE_ST_DEV_ARY[] = { NC_("SC_OPCODE_ST_DEV", "Calculates the standard deviation based on a sample."), NC_("SC_OPCODE_ST_DEV", "Number "), @@ -1791,7 +1791,7 @@ const char* SC_OPCODE_ST_DEV_ARY[] = }; // -=*# Resource for function STDEV.S #*=- -const char* SC_OPCODE_ST_DEV_S_ARY[] = +const TranslateId SC_OPCODE_ST_DEV_S_ARY[] = { NC_("SC_OPCODE_ST_DEV_S", "Calculates the standard deviation based on a sample."), NC_("SC_OPCODE_ST_DEV_S", "Number "), @@ -1799,7 +1799,7 @@ const char* SC_OPCODE_ST_DEV_S_ARY[] = }; // -=*# Resource for function STDEVA #*=- -const char* SC_OPCODE_ST_DEV_A_ARY[] = +const TranslateId SC_OPCODE_ST_DEV_A_ARY[] = { NC_("SC_OPCODE_ST_DEV_A", "Returns the standard deviation based on a sample. Text is evaluated as zero."), NC_("SC_OPCODE_ST_DEV_A", "Value "), @@ -1807,7 +1807,7 @@ const char* SC_OPCODE_ST_DEV_A_ARY[] = }; // -=*# Resource for function STDEVP #*=- -const char* SC_OPCODE_ST_DEV_P_ARY[] = +const TranslateId SC_OPCODE_ST_DEV_P_ARY[] = { NC_("SC_OPCODE_ST_DEV_P", "Calculates the standard deviation based on the entire population."), NC_("SC_OPCODE_ST_DEV_P", "Number "), @@ -1815,7 +1815,7 @@ const char* SC_OPCODE_ST_DEV_P_ARY[] = }; // -=*# Resource for function STDEV.P #*=- -const char* SC_OPCODE_ST_DEV_P_MS_ARY[] = +const TranslateId SC_OPCODE_ST_DEV_P_MS_ARY[] = { NC_("SC_OPCODE_ST_DEV_P_MS", "Calculates the standard deviation based on the entire population."), NC_("SC_OPCODE_ST_DEV_P_MS", "Number "), @@ -1823,7 +1823,7 @@ const char* SC_OPCODE_ST_DEV_P_MS_ARY[] = }; // -=*# Resource for function STDEVPA #*=- -const char* SC_OPCODE_ST_DEV_P_A_ARY[] = +const TranslateId SC_OPCODE_ST_DEV_P_A_ARY[] = { NC_("SC_OPCODE_ST_DEV_P_A", "Returns the standard deviation based on the entire population. Text is evaluated as zero."), NC_("SC_OPCODE_ST_DEV_P_A", "Value "), @@ -1831,7 +1831,7 @@ const char* SC_OPCODE_ST_DEV_P_A_ARY[] = }; // -=*# Resource for function AVERAGE #*=- -const char* SC_OPCODE_AVERAGE_ARY[] = +const TranslateId SC_OPCODE_AVERAGE_ARY[] = { NC_("SC_OPCODE_AVERAGE", "Returns the average of a sample."), NC_("SC_OPCODE_AVERAGE", "Number "), @@ -1839,7 +1839,7 @@ const char* SC_OPCODE_AVERAGE_ARY[] = }; // -=*# Resource for function AVERAGEA #*=- -const char* SC_OPCODE_AVERAGE_A_ARY[] = +const TranslateId SC_OPCODE_AVERAGE_A_ARY[] = { NC_("SC_OPCODE_AVERAGE_A", "Returns the average value for a sample. Text is evaluated as zero."), NC_("SC_OPCODE_AVERAGE_A", "Value "), @@ -1847,7 +1847,7 @@ const char* SC_OPCODE_AVERAGE_A_ARY[] = }; // -=*# Resource for function DEVSQ #*=- -const char* SC_OPCODE_DEV_SQ_ARY[] = +const TranslateId SC_OPCODE_DEV_SQ_ARY[] = { NC_("SC_OPCODE_DEV_SQ", "Returns the sum of squares of deviations from the sample mean value"), NC_("SC_OPCODE_DEV_SQ", "Number "), @@ -1855,7 +1855,7 @@ const char* SC_OPCODE_DEV_SQ_ARY[] = }; // -=*# Resource for function AVEDEV #*=- -const char* SC_OPCODE_AVE_DEV_ARY[] = +const TranslateId SC_OPCODE_AVE_DEV_ARY[] = { NC_("SC_OPCODE_AVE_DEV", "Returns the average of the absolute deviations of a sample from the mean."), NC_("SC_OPCODE_AVE_DEV", "Number "), @@ -1863,7 +1863,7 @@ const char* SC_OPCODE_AVE_DEV_ARY[] = }; // -=*# Resource for function SKEW #*=- -const char* SC_OPCODE_SKEW_ARY[] = +const TranslateId SC_OPCODE_SKEW_ARY[] = { NC_("SC_OPCODE_SKEW", "Returns the skewness of a distribution."), NC_("SC_OPCODE_SKEW", "Number "), @@ -1871,7 +1871,7 @@ const char* SC_OPCODE_SKEW_ARY[] = }; // -=*# Resource for function SKEWP #*=- -const char* SC_OPCODE_SKEWP_ARY[] = +const TranslateId SC_OPCODE_SKEWP_ARY[] = { NC_("SC_OPCODE_SKEWP", "Returns the skewness of a distribution using the population of a random variable."), NC_("SC_OPCODE_SKEWP", "Number "), @@ -1879,7 +1879,7 @@ const char* SC_OPCODE_SKEWP_ARY[] = }; // -=*# Resource for function KURT #*=- -const char* SC_OPCODE_KURT_ARY[] = +const TranslateId SC_OPCODE_KURT_ARY[] = { NC_("SC_OPCODE_KURT", "Returns the kurtosis of a distribution."), NC_("SC_OPCODE_KURT", "Number "), @@ -1887,7 +1887,7 @@ const char* SC_OPCODE_KURT_ARY[] = }; // -=*# Resource for function GEOMEAN #*=- -const char* SC_OPCODE_GEO_MEAN_ARY[] = +const TranslateId SC_OPCODE_GEO_MEAN_ARY[] = { NC_("SC_OPCODE_GEO_MEAN", "Returns the geometric mean of a sample."), NC_("SC_OPCODE_GEO_MEAN", "Number "), @@ -1895,7 +1895,7 @@ const char* SC_OPCODE_GEO_MEAN_ARY[] = }; // -=*# Resource for function HARMEAN #*=- -const char* SC_OPCODE_HAR_MEAN_ARY[] = +const TranslateId SC_OPCODE_HAR_MEAN_ARY[] = { NC_("SC_OPCODE_HAR_MEAN", "Returns the harmonic mean of a sample."), NC_("SC_OPCODE_HAR_MEAN", "Number "), @@ -1903,7 +1903,7 @@ const char* SC_OPCODE_HAR_MEAN_ARY[] = }; // -=*# Resource for function MODE #*=- -const char* SC_OPCODE_MODAL_VALUE_ARY[] = +const TranslateId SC_OPCODE_MODAL_VALUE_ARY[] = { NC_("SC_OPCODE_MODAL_VALUE", "Returns the most common value in a sample."), NC_("SC_OPCODE_MODAL_VALUE", "Number "), @@ -1911,7 +1911,7 @@ const char* SC_OPCODE_MODAL_VALUE_ARY[] = }; // -=*# Resource for function MODE.SNGL #*=- -const char* SC_OPCODE_MODAL_VALUE_MS_ARY[] = +const TranslateId SC_OPCODE_MODAL_VALUE_MS_ARY[] = { NC_("SC_OPCODE_MODAL_VALUE_MS", "Returns the most common value in a sample."), NC_("SC_OPCODE_MODAL_VALUE_MS", "Number "), @@ -1919,7 +1919,7 @@ const char* SC_OPCODE_MODAL_VALUE_MS_ARY[] = }; // -=*# Resource for function MODE.MULT #*=- -const char* SC_OPCODE_MODAL_VALUE_MULTI_ARY[] = +const TranslateId SC_OPCODE_MODAL_VALUE_MULTI_ARY[] = { NC_("SC_OPCODE_MODAL_VALUE_MULTI", "Returns the most common value in a sample."), NC_("SC_OPCODE_MODAL_VALUE_MULTI", "Number "), @@ -1927,7 +1927,7 @@ const char* SC_OPCODE_MODAL_VALUE_MULTI_ARY[] = }; // -=*# Resource for function MEDIAN #*=- -const char* SC_OPCODE_MEDIAN_ARY[] = +const TranslateId SC_OPCODE_MEDIAN_ARY[] = { NC_("SC_OPCODE_MEDIAN", "Returns the median of a given sample."), NC_("SC_OPCODE_MEDIAN", "Number "), @@ -1935,7 +1935,7 @@ const char* SC_OPCODE_MEDIAN_ARY[] = }; // -=*# Resource for function PERCENTILE #*=- -const char* SC_OPCODE_PERCENTILE_ARY[] = +const TranslateId SC_OPCODE_PERCENTILE_ARY[] = { NC_("SC_OPCODE_PERCENTILE", "Returns the alpha percentile of a sample."), NC_("SC_OPCODE_PERCENTILE", "Data"), @@ -1945,7 +1945,7 @@ const char* SC_OPCODE_PERCENTILE_ARY[] = }; // -=*# Resource for function PERCENTILE.EXC #*=- -const char* SC_OPCODE_PERCENTILE_EXC_ARY[] = +const TranslateId SC_OPCODE_PERCENTILE_EXC_ARY[] = { NC_("SC_OPCODE_PERCENTILE_EXC", "Returns the alpha percentile of a sample."), NC_("SC_OPCODE_PERCENTILE_EXC", "Data"), @@ -1955,7 +1955,7 @@ const char* SC_OPCODE_PERCENTILE_EXC_ARY[] = }; // -=*# Resource for function PERCENTILE.INC #*=- -const char* SC_OPCODE_PERCENTILE_INC_ARY[] = +const TranslateId SC_OPCODE_PERCENTILE_INC_ARY[] = { NC_("SC_OPCODE_PERCENTILE_INC", "Returns the alpha percentile of a sample."), NC_("SC_OPCODE_PERCENTILE_INC", "Data"), @@ -1965,7 +1965,7 @@ const char* SC_OPCODE_PERCENTILE_INC_ARY[] = }; // -=*# Resource for function QUARTILE #*=- -const char* SC_OPCODE_QUARTILE_ARY[] = +const TranslateId SC_OPCODE_QUARTILE_ARY[] = { NC_("SC_OPCODE_QUARTILE", "Returns the quartile of a sample."), NC_("SC_OPCODE_QUARTILE", "Data"), @@ -1975,7 +1975,7 @@ const char* SC_OPCODE_QUARTILE_ARY[] = }; // -=*# Resource for function QUARTILE.EXC #*=- -const char* SC_OPCODE_QUARTILE_EXC_ARY[] = +const TranslateId SC_OPCODE_QUARTILE_EXC_ARY[] = { NC_("SC_OPCODE_QUARTILE_EXC", "Returns the quartile of a sample."), NC_("SC_OPCODE_QUARTILE_EXC", "Data"), @@ -1985,7 +1985,7 @@ const char* SC_OPCODE_QUARTILE_EXC_ARY[] = }; // -=*# Resource for function QUARTILE.INC #*=- -const char* SC_OPCODE_QUARTILE_INC_ARY[] = +const TranslateId SC_OPCODE_QUARTILE_INC_ARY[] = { NC_("SC_OPCODE_QUARTILE_INC", "Returns the quartile of a sample."), NC_("SC_OPCODE_QUARTILE_INC", "Data"), @@ -1995,7 +1995,7 @@ const char* SC_OPCODE_QUARTILE_INC_ARY[] = }; // -=*# Resource for function LARGE #*=- -const char* SC_OPCODE_LARGE_ARY[] = +const TranslateId SC_OPCODE_LARGE_ARY[] = { NC_("SC_OPCODE_LARGE", "Returns the k-th largest value of a sample."), NC_("SC_OPCODE_LARGE", "Data"), @@ -2005,7 +2005,7 @@ const char* SC_OPCODE_LARGE_ARY[] = }; // -=*# Resource for function SMALL #*=- -const char* SC_OPCODE_SMALL_ARY[] = +const TranslateId SC_OPCODE_SMALL_ARY[] = { NC_("SC_OPCODE_SMALL", "Returns the k-th smallest value of a sample."), NC_("SC_OPCODE_SMALL", "Data"), @@ -2015,7 +2015,7 @@ const char* SC_OPCODE_SMALL_ARY[] = }; // -=*# Resource for function PERCENTRANK #*=- -const char* SC_OPCODE_PERCENT_RANK_ARY[] = +const TranslateId SC_OPCODE_PERCENT_RANK_ARY[] = { NC_("SC_OPCODE_PERCENT_RANK", "Returns the percentage rank of a value in a sample."), NC_("SC_OPCODE_PERCENT_RANK", "Data"), @@ -2027,7 +2027,7 @@ const char* SC_OPCODE_PERCENT_RANK_ARY[] = }; // -=*# Resource for function PERCENTRANK.EXC #*=- -const char* SC_OPCODE_PERCENT_RANK_EXC_ARY[] = +const TranslateId SC_OPCODE_PERCENT_RANK_EXC_ARY[] = { NC_("SC_OPCODE_PERCENT_RANK_EXC", "Returns the percentage rank (0..1, exclusive) of a value in a sample."), NC_("SC_OPCODE_PERCENT_RANK_EXC", "Data"), @@ -2039,7 +2039,7 @@ const char* SC_OPCODE_PERCENT_RANK_EXC_ARY[] = }; // -=*# Resource for function PERCENTRANK.INC #*=- -const char* SC_OPCODE_PERCENT_RANK_INC_ARY[] = +const TranslateId SC_OPCODE_PERCENT_RANK_INC_ARY[] = { NC_("SC_OPCODE_PERCENT_RANK_INC", "Returns the percentage rank (0..1, inclusive) of a value in a sample."), NC_("SC_OPCODE_PERCENT_RANK_INC", "Data"), @@ -2051,7 +2051,7 @@ const char* SC_OPCODE_PERCENT_RANK_INC_ARY[] = }; // -=*# Resource for function RANK #*=- -const char* SC_OPCODE_RANK_ARY[] = +const TranslateId SC_OPCODE_RANK_ARY[] = { NC_("SC_OPCODE_RANK", "Returns the ranking of a value in a sample."), NC_("SC_OPCODE_RANK", "Value"), @@ -2063,7 +2063,7 @@ const char* SC_OPCODE_RANK_ARY[] = }; // -=*# Resource for function RANK.EQ #*=- -const char* SC_OPCODE_RANK_EQ_ARY[] = +const TranslateId SC_OPCODE_RANK_EQ_ARY[] = { NC_("SC_OPCODE_RANK_EQ", "Returns the ranking of a value in a sample; if more than one value has the same rank, the top rank of that set of values is returned."), NC_("SC_OPCODE_RANK_EQ", "Value"), @@ -2075,7 +2075,7 @@ const char* SC_OPCODE_RANK_EQ_ARY[] = }; // -=*# Resource for function RANK.AVG #*=- -const char* SC_OPCODE_RANK_AVG_ARY[] = +const TranslateId SC_OPCODE_RANK_AVG_ARY[] = { NC_("SC_OPCODE_RANK_AVG", "Returns the ranking of a value in a sample; if more than one value has the same rank, the average rank is returned."), NC_("SC_OPCODE_RANK_AVG", "Value"), @@ -2087,7 +2087,7 @@ const char* SC_OPCODE_RANK_AVG_ARY[] = }; // -=*# Resource for function TRIMMEAN #*=- -const char* SC_OPCODE_TRIM_MEAN_ARY[] = +const TranslateId SC_OPCODE_TRIM_MEAN_ARY[] = { NC_("SC_OPCODE_TRIM_MEAN", "Returns the mean of a sample without including the marginal values."), NC_("SC_OPCODE_TRIM_MEAN", "Data"), @@ -2097,7 +2097,7 @@ const char* SC_OPCODE_TRIM_MEAN_ARY[] = }; // -=*# Resource for function PROB #*=- -const char* SC_OPCODE_PROB_ARY[] = +const TranslateId SC_OPCODE_PROB_ARY[] = { NC_("SC_OPCODE_PROB", "Returns the discrete probability of an interval."), NC_("SC_OPCODE_PROB", "Data"), @@ -2111,7 +2111,7 @@ const char* SC_OPCODE_PROB_ARY[] = }; // -=*# Resource for function B #*=- -const char* SC_OPCODE_B_ARY[] = +const TranslateId SC_OPCODE_B_ARY[] = { NC_("SC_OPCODE_B", "Returns the probability of a trial result using binomial distribution."), NC_("SC_OPCODE_B", "Trials"), @@ -2125,7 +2125,7 @@ const char* SC_OPCODE_B_ARY[] = }; // -=*# Resource for function PHI #*=- -const char* SC_OPCODE_PHI_ARY[] = +const TranslateId SC_OPCODE_PHI_ARY[] = { NC_("SC_OPCODE_PHI", "Values of the distribution function for a standard normal distribution."), NC_("SC_OPCODE_PHI", "Number"), @@ -2133,7 +2133,7 @@ const char* SC_OPCODE_PHI_ARY[] = }; // -=*# Resource for function GAUSS #*=- -const char* SC_OPCODE_GAUSS_ARY[] = +const TranslateId SC_OPCODE_GAUSS_ARY[] = { NC_("SC_OPCODE_GAUSS", "Returns the integral values of the standard normal cumulative distribution."), NC_("SC_OPCODE_GAUSS", "Number"), @@ -2141,7 +2141,7 @@ const char* SC_OPCODE_GAUSS_ARY[] = }; // -=*# Resource for function FISHER #*=- -const char* SC_OPCODE_FISHER_ARY[] = +const TranslateId SC_OPCODE_FISHER_ARY[] = { NC_("SC_OPCODE_FISHER", "Returns the Fisher transformation."), NC_("SC_OPCODE_FISHER", "Number"), @@ -2149,7 +2149,7 @@ const char* SC_OPCODE_FISHER_ARY[] = }; // -=*# Resource for function FISHERINV #*=- -const char* SC_OPCODE_FISHER_INV_ARY[] = +const TranslateId SC_OPCODE_FISHER_INV_ARY[] = { NC_("SC_OPCODE_FISHER_INV", "Returns the inverse of the Fisher transformation."), NC_("SC_OPCODE_FISHER_INV", "Number"), @@ -2157,7 +2157,7 @@ const char* SC_OPCODE_FISHER_INV_ARY[] = }; // -=*# Resource for function BINOMDIST #*=- -const char* SC_OPCODE_BINOM_DIST_ARY[] = +const TranslateId SC_OPCODE_BINOM_DIST_ARY[] = { NC_("SC_OPCODE_BINOM_DIST", "Values of the binomial distribution."), NC_("SC_OPCODE_BINOM_DIST", "X"), @@ -2171,7 +2171,7 @@ const char* SC_OPCODE_BINOM_DIST_ARY[] = }; // -=*# Resource for function BINOM.DIST #*=- -const char* SC_OPCODE_BINOM_DIST_MS_ARY[] = +const TranslateId SC_OPCODE_BINOM_DIST_MS_ARY[] = { NC_("SC_OPCODE_BINOM_DIST_MS", "Values of the binomial distribution."), NC_("SC_OPCODE_BINOM_DIST_MS", "X"), @@ -2185,7 +2185,7 @@ const char* SC_OPCODE_BINOM_DIST_MS_ARY[] = }; // -=*# Resource for function NEGBINOMDIST #*=- -const char* SC_OPCODE_NEG_BINOM_VERT_ARY[] = +const TranslateId SC_OPCODE_NEG_BINOM_VERT_ARY[] = { NC_("SC_OPCODE_NEG_BINOM_VERT", "Values of the negative binomial distribution."), NC_("SC_OPCODE_NEG_BINOM_VERT", "X"), @@ -2197,7 +2197,7 @@ const char* SC_OPCODE_NEG_BINOM_VERT_ARY[] = }; // -=*# Resource for function NEGBINOM.DIST #*=- -const char* SC_OPCODE_NEG_BINOM_DIST_MS_ARY[] = +const TranslateId SC_OPCODE_NEG_BINOM_DIST_MS_ARY[] = { NC_("SC_OPCODE_NEG_BINOM_DIST_MS", "Values of the negative binomial distribution."), NC_("SC_OPCODE_NEG_BINOM_DIST_MS", "X"), @@ -2211,7 +2211,7 @@ const char* SC_OPCODE_NEG_BINOM_DIST_MS_ARY[] = }; // -=*# Resource for function CRITBINOM #*=- -const char* SC_OPCODE_CRIT_BINOM_ARY[] = +const TranslateId SC_OPCODE_CRIT_BINOM_ARY[] = { NC_("SC_OPCODE_CRIT_BINOM", "Returns the smallest value for which the cumulative binomial distribution is greater than or equal to a criterion value."), NC_("SC_OPCODE_CRIT_BINOM", "Trials"), @@ -2223,7 +2223,7 @@ const char* SC_OPCODE_CRIT_BINOM_ARY[] = }; // -=*# Resource for function BINOM.INV #*=- -const char* SC_OPCODE_BINOM_INV_ARY[] = +const TranslateId SC_OPCODE_BINOM_INV_ARY[] = { NC_("SC_OPCODE_BINOM_INV", "Returns the smallest value for which the cumulative binomial distribution is greater than or equal to a criterion value."), NC_("SC_OPCODE_BINOM_INV", "Trials"), @@ -2235,7 +2235,7 @@ const char* SC_OPCODE_BINOM_INV_ARY[] = }; // -=*# Resource for function POISSON #*=- -const char* SC_OPCODE_POISSON_DIST_ARY[] = +const TranslateId SC_OPCODE_POISSON_DIST_ARY[] = { NC_("SC_OPCODE_POISSON_DIST", "Returns the Poisson distribution."), NC_("SC_OPCODE_POISSON_DIST", "Number"), @@ -2247,7 +2247,7 @@ const char* SC_OPCODE_POISSON_DIST_ARY[] = }; // -=*# Resource for function POISSON.DIST #*=- -const char* SC_OPCODE_POISSON_DIST_MS_ARY[] = +const TranslateId SC_OPCODE_POISSON_DIST_MS_ARY[] = { NC_("SC_OPCODE_POISSON_DIST_MS", "Returns the Poisson distribution."), NC_("SC_OPCODE_POISSON_DIST_MS", "Number"), @@ -2259,7 +2259,7 @@ const char* SC_OPCODE_POISSON_DIST_MS_ARY[] = }; // -=*# Resource for function NORMDIST #*=- -const char* SC_OPCODE_NORM_DIST_ARY[] = +const TranslateId SC_OPCODE_NORM_DIST_ARY[] = { NC_("SC_OPCODE_NORM_DIST", "Values of the normal distribution."), NC_("SC_OPCODE_NORM_DIST", "Number"), @@ -2273,7 +2273,7 @@ const char* SC_OPCODE_NORM_DIST_ARY[] = }; // -=*# Resource for function NORM.DIST #*=- -const char* SC_OPCODE_NORM_DIST_MS_ARY[] = +const TranslateId SC_OPCODE_NORM_DIST_MS_ARY[] = { NC_("SC_OPCODE_NORM_DIST_MS", "Values of the normal distribution."), NC_("SC_OPCODE_NORM_DIST_MS", "Number"), @@ -2287,7 +2287,7 @@ const char* SC_OPCODE_NORM_DIST_MS_ARY[] = }; // -=*# Resource for function NORMINV #*=- -const char* SC_OPCODE_NORM_INV_ARY[] = +const TranslateId SC_OPCODE_NORM_INV_ARY[] = { NC_("SC_OPCODE_NORM_INV", "Values of the inverse normal distribution."), NC_("SC_OPCODE_NORM_INV", "Number"), @@ -2299,7 +2299,7 @@ const char* SC_OPCODE_NORM_INV_ARY[] = }; // -=*# Resource for function NORM.INV #*=- -const char* SC_OPCODE_NORM_INV_MS_ARY[] = +const TranslateId SC_OPCODE_NORM_INV_MS_ARY[] = { NC_("SC_OPCODE_NORM_INV_MS", "Values of the inverse normal distribution."), NC_("SC_OPCODE_NORM_INV_MS", "Number"), @@ -2311,7 +2311,7 @@ const char* SC_OPCODE_NORM_INV_MS_ARY[] = }; // -=*# Resource for function NORMSDIST #*=- -const char* SC_OPCODE_STD_NORM_DIST_ARY[] = +const TranslateId SC_OPCODE_STD_NORM_DIST_ARY[] = { NC_("SC_OPCODE_STD_NORM_DIST", "The values of the standard normal cumulative distribution."), NC_("SC_OPCODE_STD_NORM_DIST", "Number"), @@ -2319,7 +2319,7 @@ const char* SC_OPCODE_STD_NORM_DIST_ARY[] = }; // -=*# Resource for function NORM.S.DIST #*=- -const char* SC_OPCODE_STD_NORM_DIST_MS_ARY[] = +const TranslateId SC_OPCODE_STD_NORM_DIST_MS_ARY[] = { NC_("SC_OPCODE_STD_NORM_DIST_MS", "The values of the standard normal distribution."), NC_("SC_OPCODE_STD_NORM_DIST_MS", "Number"), @@ -2329,7 +2329,7 @@ const char* SC_OPCODE_STD_NORM_DIST_MS_ARY[] = }; // -=*# Resource for function NORMSINV #*=- -const char* SC_OPCODE_S_NORM_INV_ARY[] = +const TranslateId SC_OPCODE_S_NORM_INV_ARY[] = { NC_("SC_OPCODE_S_NORM_INV", "Values of the inverse standard normal distribution."), NC_("SC_OPCODE_S_NORM_INV", "Number"), @@ -2337,7 +2337,7 @@ const char* SC_OPCODE_S_NORM_INV_ARY[] = }; // -=*# Resource for function NORM.S.INV #*=- -const char* SC_OPCODE_S_NORM_INV_MS_ARY[] = +const TranslateId SC_OPCODE_S_NORM_INV_MS_ARY[] = { NC_("SC_OPCODE_S_NORM_INV_MS", "Values of the inverse standard normal distribution."), NC_("SC_OPCODE_S_NORM_INV_MS", "Number"), @@ -2345,7 +2345,7 @@ const char* SC_OPCODE_S_NORM_INV_MS_ARY[] = }; // -=*# Resource for function LOGNORMDIST #*=- -const char* SC_OPCODE_LOG_NORM_DIST_ARY[] = +const TranslateId SC_OPCODE_LOG_NORM_DIST_ARY[] = { NC_("SC_OPCODE_LOG_NORM_DIST", "Values of the log normal distribution."), NC_("SC_OPCODE_LOG_NORM_DIST", "Number"), @@ -2359,7 +2359,7 @@ const char* SC_OPCODE_LOG_NORM_DIST_ARY[] = }; // -=*# Resource for function LOGNORM.DIST #*=- -const char* SC_OPCODE_LOG_NORM_DIST_MS_ARY[] = +const TranslateId SC_OPCODE_LOG_NORM_DIST_MS_ARY[] = { NC_("SC_OPCODE_LOG_NORM_DIST_MS", "Values of the log normal distribution."), NC_("SC_OPCODE_LOG_NORM_DIST_MS", "Number"), @@ -2373,7 +2373,7 @@ const char* SC_OPCODE_LOG_NORM_DIST_MS_ARY[] = }; // -=*# Resource for function LOGINV #*=- -const char* SC_OPCODE_LOG_INV_ARY[] = +const TranslateId SC_OPCODE_LOG_INV_ARY[] = { NC_("SC_OPCODE_LOG_INV", "Values of the inverse of the lognormal distribution."), NC_("SC_OPCODE_LOG_INV", "Number"), @@ -2385,7 +2385,7 @@ const char* SC_OPCODE_LOG_INV_ARY[] = }; // -=*# Resource for function LOGNORM.INV #*=- -const char* SC_OPCODE_LOG_INV_MS_ARY[] = +const TranslateId SC_OPCODE_LOG_INV_MS_ARY[] = { NC_("SC_OPCODE_LOG_INV_MS", "Values of the inverse of the lognormal distribution."), NC_("SC_OPCODE_LOG_INV_MS", "Number"), @@ -2397,7 +2397,7 @@ const char* SC_OPCODE_LOG_INV_MS_ARY[] = }; // -=*# Resource for function EXPONDIST #*=- -const char* SC_OPCODE_EXP_DIST_ARY[] = +const TranslateId SC_OPCODE_EXP_DIST_ARY[] = { NC_("SC_OPCODE_EXP_DIST", "Values of the exponential distribution."), NC_("SC_OPCODE_EXP_DIST", "Number"), @@ -2409,7 +2409,7 @@ const char* SC_OPCODE_EXP_DIST_ARY[] = }; // -=*# Resource for function EXPON.DIST #*=- -const char* SC_OPCODE_EXP_DIST_MS_ARY[] = +const TranslateId SC_OPCODE_EXP_DIST_MS_ARY[] = { NC_("SC_OPCODE_EXP_DIST_MS", "Values of the exponential distribution."), NC_("SC_OPCODE_EXP_DIST_MS", "Number"), @@ -2421,7 +2421,7 @@ const char* SC_OPCODE_EXP_DIST_MS_ARY[] = }; // -=*# Resource for function GAMMADIST #*=- -const char* SC_OPCODE_GAMMA_DIST_ARY[] = +const TranslateId SC_OPCODE_GAMMA_DIST_ARY[] = { NC_("SC_OPCODE_GAMMA_DIST", "Returns the value of the probability density function or the cumulative distribution function for the Gamma distribution."), NC_("SC_OPCODE_GAMMA_DIST", "Number"), @@ -2435,7 +2435,7 @@ const char* SC_OPCODE_GAMMA_DIST_ARY[] = }; // -=*# Resource for function GAMMA.DIST #*=- -const char* SC_OPCODE_GAMMA_DIST_MS_ARY[] = +const TranslateId SC_OPCODE_GAMMA_DIST_MS_ARY[] = { NC_("SC_OPCODE_GAMMA_DIST_MS", "Returns the value of the probability density function or the cumulative distribution function for the Gamma distribution."), NC_("SC_OPCODE_GAMMA_DIST_MS", "Number"), @@ -2449,7 +2449,7 @@ const char* SC_OPCODE_GAMMA_DIST_MS_ARY[] = }; // -=*# Resource for function GAMMAINV #*=- -const char* SC_OPCODE_GAMMA_INV_ARY[] = +const TranslateId SC_OPCODE_GAMMA_INV_ARY[] = { NC_("SC_OPCODE_GAMMA_INV", "Values of the inverse gamma distribution."), NC_("SC_OPCODE_GAMMA_INV", "Number"), @@ -2461,7 +2461,7 @@ const char* SC_OPCODE_GAMMA_INV_ARY[] = }; // -=*# Resource for function GAMMA.INV #*=- -const char* SC_OPCODE_GAMMA_INV_MS_ARY[] = +const TranslateId SC_OPCODE_GAMMA_INV_MS_ARY[] = { NC_("SC_OPCODE_GAMMA_INV_MS", "Values of the inverse gamma distribution."), NC_("SC_OPCODE_GAMMA_INV_MS", "Number"), @@ -2473,7 +2473,7 @@ const char* SC_OPCODE_GAMMA_INV_MS_ARY[] = }; // -=*# Resource for function GAMMALN #*=- -const char* SC_OPCODE_GAMMA_LN_ARY[] = +const TranslateId SC_OPCODE_GAMMA_LN_ARY[] = { NC_("SC_OPCODE_GAMMA_LN", "Returns the natural logarithm of the gamma function."), NC_("SC_OPCODE_GAMMA_LN", "Number"), @@ -2481,7 +2481,7 @@ const char* SC_OPCODE_GAMMA_LN_ARY[] = }; // -=*# Resource for function GAMMALN.PRECISE #*=- -const char* SC_OPCODE_GAMMA_LN_MS_ARY[] = +const TranslateId SC_OPCODE_GAMMA_LN_MS_ARY[] = { NC_("SC_OPCODE_GAMMA_LN_MS", "Returns the natural logarithm of the gamma function."), NC_("SC_OPCODE_GAMMA_LN_MS", "Number"), @@ -2490,7 +2490,7 @@ const char* SC_OPCODE_GAMMA_LN_MS_ARY[] = // -=*# Resource for function GAMMA #*=- -const char* SC_OPCODE_GAMMA_ARY[] = +const TranslateId SC_OPCODE_GAMMA_ARY[] = { NC_("SC_OPCODE_GAMMA", "Returns the value of the Gamma function."), NC_("SC_OPCODE_GAMMA", "Number"), @@ -2499,7 +2499,7 @@ const char* SC_OPCODE_GAMMA_ARY[] = // -=*# Resource for function BETADIST #*=- -const char* SC_OPCODE_BETA_DIST_ARY[] = +const TranslateId SC_OPCODE_BETA_DIST_ARY[] = { NC_("SC_OPCODE_BETA_DIST", "Values of the beta distribution."), NC_("SC_OPCODE_BETA_DIST", "Number"), @@ -2517,7 +2517,7 @@ const char* SC_OPCODE_BETA_DIST_ARY[] = }; // -=*# Resource for function BETAINV #*=- -const char* SC_OPCODE_BETA_INV_ARY[] = +const TranslateId SC_OPCODE_BETA_INV_ARY[] = { NC_("SC_OPCODE_BETA_INV", "Values of the inverse beta distribution."), NC_("SC_OPCODE_BETA_INV", "Number"), @@ -2533,7 +2533,7 @@ const char* SC_OPCODE_BETA_INV_ARY[] = }; // -=*# Resource for function BETA.DIST #*=- -const char* SC_OPCODE_BETA_DIST_MS_ARY[] = +const TranslateId SC_OPCODE_BETA_DIST_MS_ARY[] = { NC_("SC_OPCODE_BETA_DIST_MS", "Values of the beta distribution."), NC_("SC_OPCODE_BETA_DIST_MS", "Number"), @@ -2551,7 +2551,7 @@ const char* SC_OPCODE_BETA_DIST_MS_ARY[] = }; // -=*# Resource for function BETA.INV #*=- -const char* SC_OPCODE_BETA_INV_MS_ARY[] = +const TranslateId SC_OPCODE_BETA_INV_MS_ARY[] = { NC_("SC_OPCODE_BETA_INV_MS", "Values of the inverse beta distribution."), NC_("SC_OPCODE_BETA_INV_MS", "Number"), @@ -2567,7 +2567,7 @@ const char* SC_OPCODE_BETA_INV_MS_ARY[] = }; // -=*# Resource for function WEIBULL #*=- -const char* SC_OPCODE_WEIBULL_ARY[] = +const TranslateId SC_OPCODE_WEIBULL_ARY[] = { NC_("SC_OPCODE_WEIBULL", "Returns the values of the Weibull distribution."), NC_("SC_OPCODE_WEIBULL", "Number"), @@ -2581,7 +2581,7 @@ const char* SC_OPCODE_WEIBULL_ARY[] = }; // -=*# Resource for function WEIBULL.DIST #*=- -const char* SC_OPCODE_WEIBULL_MS_ARY[] = +const TranslateId SC_OPCODE_WEIBULL_MS_ARY[] = { NC_("SC_OPCODE_WEIBULL_MS", "Returns the values of the Weibull distribution."), NC_("SC_OPCODE_WEIBULL_MS", "Number"), @@ -2595,7 +2595,7 @@ const char* SC_OPCODE_WEIBULL_MS_ARY[] = }; // -=*# Resource for function HYPGEOMDIST #*=- -const char* SC_OPCODE_HYP_GEOM_DIST_ARY[] = +const TranslateId SC_OPCODE_HYP_GEOM_DIST_ARY[] = { NC_("SC_OPCODE_HYP_GEOM_DIST", "Values of the hypergeometric distribution."), NC_("SC_OPCODE_HYP_GEOM_DIST", "X"), @@ -2611,7 +2611,7 @@ const char* SC_OPCODE_HYP_GEOM_DIST_ARY[] = }; // -=*# Resource for function HYPGEOM.DIST #*=- -const char* SC_OPCODE_HYP_GEOM_DIST_MS_ARY[] = +const TranslateId SC_OPCODE_HYP_GEOM_DIST_MS_ARY[] = { NC_("SC_OPCODE_HYP_GEOM_DIST_MS", "Values of the hypergeometric distribution."), NC_("SC_OPCODE_HYP_GEOM_DIST_MS", "X"), @@ -2627,7 +2627,7 @@ const char* SC_OPCODE_HYP_GEOM_DIST_MS_ARY[] = }; // -=*# Resource for function TDIST #*=- -const char* SC_OPCODE_T_DIST_ARY[] = +const TranslateId SC_OPCODE_T_DIST_ARY[] = { NC_("SC_OPCODE_T_DIST", "Returns the t-distribution."), NC_("SC_OPCODE_T_DIST", "Number"), @@ -2639,7 +2639,7 @@ const char* SC_OPCODE_T_DIST_ARY[] = }; // -=*# Resource for function T.DIST.2T #*=- -const char* SC_OPCODE_T_DIST_2T_ARY[] = +const TranslateId SC_OPCODE_T_DIST_2T_ARY[] = { NC_("SC_OPCODE_T_DIST_2T", "Returns the two-tailed t-distribution."), NC_("SC_OPCODE_T_DIST_2T", "Number"), @@ -2649,7 +2649,7 @@ const char* SC_OPCODE_T_DIST_2T_ARY[] = }; // -=*# Resource for function T.DIST #*=- -const char* SC_OPCODE_T_DIST_MS_ARY[] = +const TranslateId SC_OPCODE_T_DIST_MS_ARY[] = { NC_("SC_OPCODE_T_DIST_MS", "Returns the t-distribution."), NC_("SC_OPCODE_T_DIST_MS", "Number"), @@ -2661,7 +2661,7 @@ const char* SC_OPCODE_T_DIST_MS_ARY[] = }; // -=*# Resource for function T.DIST.RT #*=- -const char* SC_OPCODE_T_DIST_RT_ARY[] = +const TranslateId SC_OPCODE_T_DIST_RT_ARY[] = { NC_("SC_OPCODE_T_DIST_RT", "Returns the right-tailed t-distribution."), NC_("SC_OPCODE_T_DIST_RT", "Number"), @@ -2671,7 +2671,7 @@ const char* SC_OPCODE_T_DIST_RT_ARY[] = }; // -=*# Resource for function TINV #*=- -const char* SC_OPCODE_T_INV_ARY[] = +const TranslateId SC_OPCODE_T_INV_ARY[] = { NC_("SC_OPCODE_T_INV", "Values of the inverse t-distribution."), NC_("SC_OPCODE_T_INV", "Number"), @@ -2681,7 +2681,7 @@ const char* SC_OPCODE_T_INV_ARY[] = }; // -=*# Resource for function T.INV #*=- -const char* SC_OPCODE_T_INV_MS_ARY[] = +const TranslateId SC_OPCODE_T_INV_MS_ARY[] = { NC_("SC_OPCODE_T_INV_MS", "Values of the left-tailed inverse t-distribution."), NC_("SC_OPCODE_T_INV_MS", "Number"), @@ -2691,7 +2691,7 @@ const char* SC_OPCODE_T_INV_MS_ARY[] = }; // -=*# Resource for function T.INV.2T #*=- -const char* SC_OPCODE_T_INV_2T_ARY[] = +const TranslateId SC_OPCODE_T_INV_2T_ARY[] = { NC_("SC_OPCODE_T_INV_2T", "Values of the two-tailed inverse t-distribution."), NC_("SC_OPCODE_T_INV_2T", "Number"), @@ -2701,7 +2701,7 @@ const char* SC_OPCODE_T_INV_2T_ARY[] = }; // -=*# Resource for function FDIST #*=- -const char* SC_OPCODE_F_DIST_ARY[] = +const TranslateId SC_OPCODE_F_DIST_ARY[] = { NC_("SC_OPCODE_F_DIST", "Values of the F probability distribution."), NC_("SC_OPCODE_F_DIST", "Number"), @@ -2713,7 +2713,7 @@ const char* SC_OPCODE_F_DIST_ARY[] = }; // -=*# Resource for function F.DIST #*=- -const char* SC_OPCODE_F_DIST_LT_ARY[] = +const TranslateId SC_OPCODE_F_DIST_LT_ARY[] = { NC_("SC_OPCODE_F_DIST_LT", "Values of the left tail F probability distribution."), NC_("SC_OPCODE_F_DIST_LT", "Number"), @@ -2727,7 +2727,7 @@ const char* SC_OPCODE_F_DIST_LT_ARY[] = }; // -=*# Resource for function F.DIST.RT #*=- -const char* SC_OPCODE_F_DIST_RT_ARY[] = +const TranslateId SC_OPCODE_F_DIST_RT_ARY[] = { NC_("SC_OPCODE_F_DIST_RT", "Values of the right tail F probability distribution."), NC_("SC_OPCODE_F_DIST_RT", "Number"), @@ -2739,7 +2739,7 @@ const char* SC_OPCODE_F_DIST_RT_ARY[] = }; // -=*# Resource for function FINV #*=- -const char* SC_OPCODE_F_INV_ARY[] = +const TranslateId SC_OPCODE_F_INV_ARY[] = { NC_("SC_OPCODE_F_INV", "Values of the inverse F distribution."), NC_("SC_OPCODE_F_INV", "Number"), @@ -2751,7 +2751,7 @@ const char* SC_OPCODE_F_INV_ARY[] = }; // -=*# Resource for function F.INV #*=- -const char* SC_OPCODE_F_INV_LT_ARY[] = +const TranslateId SC_OPCODE_F_INV_LT_ARY[] = { NC_("SC_OPCODE_F_INV_LT", "Values of the inverse left tail F distribution."), NC_("SC_OPCODE_F_INV_LT", "Number"), @@ -2763,7 +2763,7 @@ const char* SC_OPCODE_F_INV_LT_ARY[] = }; // -=*# Resource for function F.INV.RT #*=- -const char* SC_OPCODE_F_INV_RT_ARY[] = +const TranslateId SC_OPCODE_F_INV_RT_ARY[] = { NC_("SC_OPCODE_F_INV_RT", "Values of the inverse right tail F distribution."), NC_("SC_OPCODE_F_INV_RT", "Number"), @@ -2775,7 +2775,7 @@ const char* SC_OPCODE_F_INV_RT_ARY[] = }; // -=*# Resource for function CHIDIST #*=- -const char* SC_OPCODE_CHI_DIST_ARY[] = +const TranslateId SC_OPCODE_CHI_DIST_ARY[] = { NC_("SC_OPCODE_CHI_DIST", "Returns the right-tail probability of the chi-square distribution."), NC_("SC_OPCODE_CHI_DIST", "Number"), @@ -2785,7 +2785,7 @@ const char* SC_OPCODE_CHI_DIST_ARY[] = }; // -=*# Resource for function CHISQ.DIST.RT #*=- -const char* SC_OPCODE_CHI_DIST_MS_ARY[] = +const TranslateId SC_OPCODE_CHI_DIST_MS_ARY[] = { NC_("SC_OPCODE_CHI_DIST_MS", "Returns the right-tail probability of the chi-square distribution."), NC_("SC_OPCODE_CHI_DIST_MS", "Number"), @@ -2796,7 +2796,7 @@ const char* SC_OPCODE_CHI_DIST_MS_ARY[] = // -=*# Resource for function CHISQDIST #*=- -const char* SC_OPCODE_CHISQ_DIST_ARY[] = +const TranslateId SC_OPCODE_CHISQ_DIST_ARY[] = { NC_("SC_OPCODE_CHISQ_DIST", "Returns left-tail probability of the cumulative distribution function or values of the probability density function of the chi-square distribution."), NC_("SC_OPCODE_CHISQ_DIST", "Number"), @@ -2809,7 +2809,7 @@ const char* SC_OPCODE_CHISQ_DIST_ARY[] = // -=*# Resource for function CHISQ.DIST #*=- -const char* SC_OPCODE_CHISQ_DIST_MS_ARY[] = +const TranslateId SC_OPCODE_CHISQ_DIST_MS_ARY[] = { NC_("SC_OPCODE_CHISQ_DIST_MS", "Returns left-tail probability of the cumulative distribution function or values of the probability density function of the chi-square distribution."), NC_("SC_OPCODE_CHISQ_DIST_MS", "Number"), @@ -2822,7 +2822,7 @@ const char* SC_OPCODE_CHISQ_DIST_MS_ARY[] = // -=*# Resource for function CHIINV #*=- -const char* SC_OPCODE_CHI_INV_ARY[] = +const TranslateId SC_OPCODE_CHI_INV_ARY[] = { NC_("SC_OPCODE_CHI_INV", "Values of the inverse of CHIDIST(x; DegreesOfFreedom)."), NC_("SC_OPCODE_CHI_INV", "Number"), @@ -2833,7 +2833,7 @@ const char* SC_OPCODE_CHI_INV_ARY[] = // -=*# Resource for function CHISQ.INV.RT #*=- -const char* SC_OPCODE_CHI_INV_MS_ARY[] = +const TranslateId SC_OPCODE_CHI_INV_MS_ARY[] = { NC_("SC_OPCODE_CHI_INV_MS", "Values of the inverse of CHIDIST(x; DegreesOfFreedom)."), NC_("SC_OPCODE_CHI_INV_MS", "Number"), @@ -2844,7 +2844,7 @@ const char* SC_OPCODE_CHI_INV_MS_ARY[] = // -=*# Resource for function CHISQINV #*=- -const char* SC_OPCODE_CHISQ_INV_ARY[] = +const TranslateId SC_OPCODE_CHISQ_INV_ARY[] = { NC_("SC_OPCODE_CHISQ_INV", "Values of the inverse of CHISQDIST(x;DegreesOfFreedom;TRUE())."), NC_("SC_OPCODE_CHISQ_INV", "Probability"), @@ -2855,7 +2855,7 @@ const char* SC_OPCODE_CHISQ_INV_ARY[] = // -=*# Resource for function CHISQ.INV #*=- -const char* SC_OPCODE_CHISQ_INV_MS_ARY[] = +const TranslateId SC_OPCODE_CHISQ_INV_MS_ARY[] = { NC_("SC_OPCODE_CHISQ_INV_MS", "Values of the inverse of CHISQ.DIST(x;DegreesOfFreedom;TRUE())."), NC_("SC_OPCODE_CHISQ_INV_MS", "Probability"), @@ -2866,7 +2866,7 @@ const char* SC_OPCODE_CHISQ_INV_MS_ARY[] = // -=*# Resource for function STANDARDIZE #*=- -const char* SC_OPCODE_STANDARD_ARY[] = +const TranslateId SC_OPCODE_STANDARD_ARY[] = { NC_("SC_OPCODE_STANDARD", "Converts a random variable to a normalized value."), NC_("SC_OPCODE_STANDARD", "Number"), @@ -2878,7 +2878,7 @@ const char* SC_OPCODE_STANDARD_ARY[] = }; // -=*# Resource for function PERMUT #*=- -const char* SC_OPCODE_PERMUT_ARY[] = +const TranslateId SC_OPCODE_PERMUT_ARY[] = { NC_("SC_OPCODE_PERMUT", "Returns the number of permutations for a given number of elements without repetition."), NC_("SC_OPCODE_PERMUT", "Count 1"), @@ -2888,7 +2888,7 @@ const char* SC_OPCODE_PERMUT_ARY[] = }; // -=*# Resource for function PERMUTATIONA #*=- -const char* SC_OPCODE_PERMUTATION_A_ARY[] = +const TranslateId SC_OPCODE_PERMUTATION_A_ARY[] = { NC_("SC_OPCODE_PERMUTATION_A", "Returns the number of permutations for a given number of objects (repetition allowed)."), NC_("SC_OPCODE_PERMUTATION_A", "Count 1"), @@ -2898,7 +2898,7 @@ const char* SC_OPCODE_PERMUTATION_A_ARY[] = }; // -=*# Resource for function CONFIDENCE #*=- -const char* SC_OPCODE_CONFIDENCE_ARY[] = +const TranslateId SC_OPCODE_CONFIDENCE_ARY[] = { NC_("SC_OPCODE_CONFIDENCE", "Returns a (1-alpha) confidence interval for a normal distribution."), NC_("SC_OPCODE_CONFIDENCE", "Alpha"), @@ -2910,7 +2910,7 @@ const char* SC_OPCODE_CONFIDENCE_ARY[] = }; // -=*# Resource for function CONFIDENCE.NORM #*=- -const char* SC_OPCODE_CONFIDENCE_N_ARY[] = +const TranslateId SC_OPCODE_CONFIDENCE_N_ARY[] = { NC_("SC_OPCODE_CONFIDENCE_N", "Returns a (1-alpha) confidence interval for a normal distribution."), NC_("SC_OPCODE_CONFIDENCE_N", "Alpha"), @@ -2922,7 +2922,7 @@ const char* SC_OPCODE_CONFIDENCE_N_ARY[] = }; // -=*# Resource for function CONFIDENCE.T #*=- -const char* SC_OPCODE_CONFIDENCE_T_ARY[] = +const TranslateId SC_OPCODE_CONFIDENCE_T_ARY[] = { NC_("SC_OPCODE_CONFIDENCE_T", "Returns a (1-alpha) confidence interval for a Student's t distribution."), NC_("SC_OPCODE_CONFIDENCE_T", "Alpha"), @@ -2934,7 +2934,7 @@ const char* SC_OPCODE_CONFIDENCE_T_ARY[] = }; // -=*# Resource for function ZTEST #*=- -const char* SC_OPCODE_Z_TEST_ARY[] = +const TranslateId SC_OPCODE_Z_TEST_ARY[] = { NC_("SC_OPCODE_Z_TEST", "Calculates the probability of observing a z-statistic greater than the one computed based on a sample."), NC_("SC_OPCODE_Z_TEST", "Data"), @@ -2946,7 +2946,7 @@ const char* SC_OPCODE_Z_TEST_ARY[] = }; // -=*# Resource for function Z.TEST #*=- -const char* SC_OPCODE_Z_TEST_MS_ARY[] = +const TranslateId SC_OPCODE_Z_TEST_MS_ARY[] = { NC_("SC_OPCODE_Z_TEST_MS", "Calculates the probability of observing a z-statistic greater than the one computed based on a sample."), NC_("SC_OPCODE_Z_TEST_MS", "Data"), @@ -2958,7 +2958,7 @@ const char* SC_OPCODE_Z_TEST_MS_ARY[] = }; // -=*# Resource for function CHITEST #*=- -const char* SC_OPCODE_CHI_TEST_ARY[] = +const TranslateId SC_OPCODE_CHI_TEST_ARY[] = { NC_("SC_OPCODE_CHI_TEST", "Returns the chi square independence test."), NC_("SC_OPCODE_CHI_TEST", "Data B"), @@ -2968,7 +2968,7 @@ const char* SC_OPCODE_CHI_TEST_ARY[] = }; // -=*# Resource for function CHISQ.TEST #*=- -const char* SC_OPCODE_CHI_TEST_MS_ARY[] = +const TranslateId SC_OPCODE_CHI_TEST_MS_ARY[] = { NC_("SC_OPCODE_CHI_TEST_MS", "Returns the chi square independence test."), NC_("SC_OPCODE_CHI_TEST_MS", "Data B"), @@ -2978,7 +2978,7 @@ const char* SC_OPCODE_CHI_TEST_MS_ARY[] = }; // -=*# Resource for function FTEST #*=- -const char* SC_OPCODE_F_TEST_ARY[] = +const TranslateId SC_OPCODE_F_TEST_ARY[] = { NC_("SC_OPCODE_F_TEST", "Calculates the F test."), NC_("SC_OPCODE_F_TEST", "Data 1"), @@ -2988,7 +2988,7 @@ const char* SC_OPCODE_F_TEST_ARY[] = }; // -=*# Resource for function F.TEST #*=- -const char* SC_OPCODE_F_TEST_MS_ARY[] = +const TranslateId SC_OPCODE_F_TEST_MS_ARY[] = { NC_("SC_OPCODE_F_TEST_MS", "Calculates the F test."), NC_("SC_OPCODE_F_TEST_MS", "Data 1"), @@ -2998,7 +2998,7 @@ const char* SC_OPCODE_F_TEST_MS_ARY[] = }; // -=*# Resource for function TTEST #*=- -const char* SC_OPCODE_T_TEST_ARY[] = +const TranslateId SC_OPCODE_T_TEST_ARY[] = { NC_("SC_OPCODE_T_TEST", "Calculates the T test."), NC_("SC_OPCODE_T_TEST", "Data 1"), @@ -3012,7 +3012,7 @@ const char* SC_OPCODE_T_TEST_ARY[] = }; // -=*# Resource for function T.TEST #*=- -const char* SC_OPCODE_T_TEST_MS_ARY[] = +const TranslateId SC_OPCODE_T_TEST_MS_ARY[] = { NC_("SC_OPCODE_T_TEST_MS", "Calculates the T test."), NC_("SC_OPCODE_T_TEST_MS", "Data 1"), @@ -3026,7 +3026,7 @@ const char* SC_OPCODE_T_TEST_MS_ARY[] = }; // -=*# Resource for function RSQ #*=- -const char* SC_OPCODE_RSQ_ARY[] = +const TranslateId SC_OPCODE_RSQ_ARY[] = { NC_("SC_OPCODE_RSQ", "Returns the square of the Pearson product moment correlation coefficient."), NC_("SC_OPCODE_RSQ", "Data Y"), @@ -3036,7 +3036,7 @@ const char* SC_OPCODE_RSQ_ARY[] = }; // -=*# Resource for function INTERCEPT #*=- -const char* SC_OPCODE_INTERCEPT_ARY[] = +const TranslateId SC_OPCODE_INTERCEPT_ARY[] = { NC_("SC_OPCODE_INTERCEPT", "Returns the intercept of the linear regression line and the Y axis."), NC_("SC_OPCODE_INTERCEPT", "Data Y"), @@ -3046,7 +3046,7 @@ const char* SC_OPCODE_INTERCEPT_ARY[] = }; // -=*# Resource for function SLOPE #*=- -const char* SC_OPCODE_SLOPE_ARY[] = +const TranslateId SC_OPCODE_SLOPE_ARY[] = { NC_("SC_OPCODE_SLOPE", "Returns the slope of the linear regression line."), NC_("SC_OPCODE_SLOPE", "Data Y"), @@ -3056,7 +3056,7 @@ const char* SC_OPCODE_SLOPE_ARY[] = }; // -=*# Resource for function STEYX #*=- -const char* SC_OPCODE_STEYX_ARY[] = +const TranslateId SC_OPCODE_STEYX_ARY[] = { NC_("SC_OPCODE_STEYX", "Returns the standard error of the linear regression."), NC_("SC_OPCODE_STEYX", "Data Y"), @@ -3066,7 +3066,7 @@ const char* SC_OPCODE_STEYX_ARY[] = }; // -=*# Resource for function PEARSON #*=- -const char* SC_OPCODE_PEARSON_ARY[] = +const TranslateId SC_OPCODE_PEARSON_ARY[] = { NC_("SC_OPCODE_PEARSON", "Returns the Pearson product moment correlation coefficient."), NC_("SC_OPCODE_PEARSON", "Data 1"), @@ -3076,7 +3076,7 @@ const char* SC_OPCODE_PEARSON_ARY[] = }; // -=*# Resource for function CORREL #*=- -const char* SC_OPCODE_CORREL_ARY[] = +const TranslateId SC_OPCODE_CORREL_ARY[] = { NC_("SC_OPCODE_CORREL", "Returns the correlation coefficient."), NC_("SC_OPCODE_CORREL", "Data 1"), @@ -3086,7 +3086,7 @@ const char* SC_OPCODE_CORREL_ARY[] = }; // -=*# Resource for function COVAR #*=- -const char* SC_OPCODE_COVAR_ARY[] = +const TranslateId SC_OPCODE_COVAR_ARY[] = { NC_("SC_OPCODE_COVAR", "Calculates the population covariance."), NC_("SC_OPCODE_COVAR", "Data 1"), @@ -3096,7 +3096,7 @@ const char* SC_OPCODE_COVAR_ARY[] = }; // -=*# Resource for function COVARIANCE.P #*=- -const char* SC_OPCODE_COVARIANCE_P_ARY[] = +const TranslateId SC_OPCODE_COVARIANCE_P_ARY[] = { NC_("SC_OPCODE_COVARIANCE_P", "Calculates the population covariance."), NC_("SC_OPCODE_COVARIANCE_P", "Data 1"), @@ -3106,7 +3106,7 @@ const char* SC_OPCODE_COVARIANCE_P_ARY[] = }; // -=*# Resource for function COVARIANCE.S #*=- -const char* SC_OPCODE_COVARIANCE_S_ARY[] = +const TranslateId SC_OPCODE_COVARIANCE_S_ARY[] = { NC_("SC_OPCODE_COVARIANCE_S", "Calculates the sample covariance."), NC_("SC_OPCODE_COVARIANCE_S", "Data 1"), @@ -3116,7 +3116,7 @@ const char* SC_OPCODE_COVARIANCE_S_ARY[] = }; // -=*# Resource for function FORECAST #*=- -const char* SC_OPCODE_FORECAST_ARY[] = +const TranslateId SC_OPCODE_FORECAST_ARY[] = { NC_("SC_OPCODE_FORECAST", "Returns a value along a linear regression"), NC_("SC_OPCODE_FORECAST", "Value"), @@ -3128,7 +3128,7 @@ const char* SC_OPCODE_FORECAST_ARY[] = }; // -=*# Resource for function FORECAST.ETS #*=- -const char* SC_OPCODE_FORECAST_ETS_ADD_ARY[] = +const TranslateId SC_OPCODE_FORECAST_ETS_ADD_ARY[] = { NC_("SC_OPCODE_FORECAST_ETS_ADD", "Calculates future value(s) using additive Exponential Smoothing algorithm."), NC_("SC_OPCODE_FORECAST_ETS_ADD", "Target"), @@ -3146,7 +3146,7 @@ const char* SC_OPCODE_FORECAST_ETS_ADD_ARY[] = }; // -=*# Resource for function FORECAST.ETS.MULT #*=- -const char* SC_OPCODE_FORECAST_ETS_MUL_ARY[] = +const TranslateId SC_OPCODE_FORECAST_ETS_MUL_ARY[] = { NC_("SC_OPCODE_FORECAST_ETS_MUL", "Calculates future value(s) using multiplicative Exponential Smoothing algorithm."), NC_("SC_OPCODE_FORECAST_ETS_MUL", "Target"), @@ -3164,7 +3164,7 @@ const char* SC_OPCODE_FORECAST_ETS_MUL_ARY[] = }; // -=*# Resource for function FORECAST.ETS.CONFINT #*=- -const char* SC_OPCODE_FORECAST_ETS_PIA_ARY[] = +const TranslateId SC_OPCODE_FORECAST_ETS_PIA_ARY[] = { NC_("SC_OPCODE_FORECAST_ETS_PIA", "Returns a prediction interval at the specified target value(s) for additive Exponential Smoothing method"), NC_("SC_OPCODE_FORECAST_ETS_PIA", "Target"), @@ -3184,7 +3184,7 @@ const char* SC_OPCODE_FORECAST_ETS_PIA_ARY[] = }; // -=*# Resource for function FORECAST.ETS.PI.MULT #*=- -const char* SC_OPCODE_FORECAST_ETS_PIM_ARY[] = +const TranslateId SC_OPCODE_FORECAST_ETS_PIM_ARY[] = { NC_("SC_OPCODE_FORECAST_ETS_PIM", "Returns a prediction interval at the specified target value(s) for multiplicative Exponential Smoothing method"), NC_("SC_OPCODE_FORECAST_ETS_PIM", "Target"), @@ -3204,7 +3204,7 @@ const char* SC_OPCODE_FORECAST_ETS_PIM_ARY[] = }; // -=*# Resource for function FORECAST.ETS.SEASONALITY #*=- -const char* SC_OPCODE_FORECAST_ETS_SEA_ARY[] = +const TranslateId SC_OPCODE_FORECAST_ETS_SEA_ARY[] = { NC_("SC_OPCODE_FORECAST_ETS_SEA", "Calculates the number of samples in period (season) using additive Exponential Triple Smoothing algorithm."), NC_("SC_OPCODE_FORECAST_ETS_SEA", "Values"), @@ -3218,7 +3218,7 @@ const char* SC_OPCODE_FORECAST_ETS_SEA_ARY[] = }; // -=*# Resource for function FORECAST.ETS.STAT #*=- -const char* SC_OPCODE_FORECAST_ETS_STA_ARY[] = +const TranslateId SC_OPCODE_FORECAST_ETS_STA_ARY[] = { NC_("SC_OPCODE_FORECAST_ETS_STA", "Returns statistical value(s) using additive Exponential Smoothing algorithm."), NC_("SC_OPCODE_FORECAST_ETS_STA", "Values"), @@ -3236,7 +3236,7 @@ const char* SC_OPCODE_FORECAST_ETS_STA_ARY[] = }; // -=*# Resource for function FORECAST.ETS.STAT.MULT #*=- -const char* SC_OPCODE_FORECAST_ETS_STM_ARY[] = +const TranslateId SC_OPCODE_FORECAST_ETS_STM_ARY[] = { NC_("SC_OPCODE_FORECAST_ETS_STM", "Returns statistical value(s) using multiplicative Exponential Smoothing algorithm."), NC_("SC_OPCODE_FORECAST_ETS_STM", "Values"), @@ -3254,7 +3254,7 @@ const char* SC_OPCODE_FORECAST_ETS_STM_ARY[] = }; // -=*# Resource for function FORECAST.LINEAR #*=- -const char* SC_OPCODE_FORECAST_LIN_ARY[] = +const TranslateId SC_OPCODE_FORECAST_LIN_ARY[] = { NC_("SC_OPCODE_FORECAST_LIN", "Returns a value along a linear regression"), NC_("SC_OPCODE_FORECAST_LIN", "Value"), @@ -3266,7 +3266,7 @@ const char* SC_OPCODE_FORECAST_LIN_ARY[] = }; // -=*# Resource for function ADDRESS #*=- -const char* SC_OPCODE_ADDRESS_ARY[] = +const TranslateId SC_OPCODE_ADDRESS_ARY[] = { NC_("SC_OPCODE_ADDRESS", "Returns the reference to a cell as text."), NC_("SC_OPCODE_ADDRESS", "Row"), @@ -3282,7 +3282,7 @@ const char* SC_OPCODE_ADDRESS_ARY[] = }; // -=*# Resource for function AREAS #*=- -const char* SC_OPCODE_AREAS_ARY[] = +const TranslateId SC_OPCODE_AREAS_ARY[] = { NC_("SC_OPCODE_AREAS", "Returns the number of individual ranges that belong to a (multiple) range."), NC_("SC_OPCODE_AREAS", "Reference"), @@ -3290,7 +3290,7 @@ const char* SC_OPCODE_AREAS_ARY[] = }; // -=*# Resource for function CHOOSE #*=- -const char* SC_OPCODE_CHOOSE_ARY[] = +const TranslateId SC_OPCODE_CHOOSE_ARY[] = { NC_("SC_OPCODE_CHOOSE", "Selects a value from a list of up to 30 value arguments."), NC_("SC_OPCODE_CHOOSE", "Index"), @@ -3300,7 +3300,7 @@ const char* SC_OPCODE_CHOOSE_ARY[] = }; // -=*# Resource for function COLUMNS #*=- -const char* SC_OPCODE_COLUMN_ARY[] = +const TranslateId SC_OPCODE_COLUMN_ARY[] = { NC_("SC_OPCODE_COLUMN", "Returns the internal column number of a reference."), NC_("SC_OPCODE_COLUMN", "Reference"), @@ -3308,7 +3308,7 @@ const char* SC_OPCODE_COLUMN_ARY[] = }; // -=*# Resource for function ROW #*=- -const char* SC_OPCODE_ROW_ARY[] = +const TranslateId SC_OPCODE_ROW_ARY[] = { NC_("SC_OPCODE_ROW", "Defines the internal row number of a reference."), NC_("SC_OPCODE_ROW", "Reference"), @@ -3316,7 +3316,7 @@ const char* SC_OPCODE_ROW_ARY[] = }; // -=*# Resource for function SHEET #*=- -const char* SC_OPCODE_SHEET_ARY[] = +const TranslateId SC_OPCODE_SHEET_ARY[] = { NC_("SC_OPCODE_SHEET", "Returns the internal sheet number of a reference or a string."), NC_("SC_OPCODE_SHEET", "Reference"), @@ -3324,7 +3324,7 @@ const char* SC_OPCODE_SHEET_ARY[] = }; // -=*# Resource for function COLUMNS #*=- -const char* SC_OPCODE_COLUMNS_ARY[] = +const TranslateId SC_OPCODE_COLUMNS_ARY[] = { NC_("SC_OPCODE_COLUMNS", "Returns the number of columns in an array or reference."), NC_("SC_OPCODE_COLUMNS", "Array"), @@ -3332,7 +3332,7 @@ const char* SC_OPCODE_COLUMNS_ARY[] = }; // -=*# Resource for function ROWS #*=- -const char* SC_OPCODE_ROWS_ARY[] = +const TranslateId SC_OPCODE_ROWS_ARY[] = { NC_("SC_OPCODE_ROWS", "Returns the number of rows in a reference or array."), NC_("SC_OPCODE_ROWS", "Array"), @@ -3340,7 +3340,7 @@ const char* SC_OPCODE_ROWS_ARY[] = }; // -=*# Resource for function SHEETS #*=- -const char* SC_OPCODE_SHEETS_ARY[] = +const TranslateId SC_OPCODE_SHEETS_ARY[] = { NC_("SC_OPCODE_SHEETS", "Returns the number of sheets of a given reference. If no parameter has been entered, the total number of sheets in the document is returned."), NC_("SC_OPCODE_SHEETS", "Reference"), @@ -3348,7 +3348,7 @@ const char* SC_OPCODE_SHEETS_ARY[] = }; // -=*# Resource for function HLOOKUP #*=- -const char* SC_OPCODE_H_LOOKUP_ARY[] = +const TranslateId SC_OPCODE_H_LOOKUP_ARY[] = { NC_("SC_OPCODE_H_LOOKUP", "Horizontal search and reference to the cells located below."), NC_("SC_OPCODE_H_LOOKUP", "Search criterion"), @@ -3362,7 +3362,7 @@ const char* SC_OPCODE_H_LOOKUP_ARY[] = }; // -=*# Resource for function VLOOKUP #*=- -const char* SC_OPCODE_V_LOOKUP_ARY[] = +const TranslateId SC_OPCODE_V_LOOKUP_ARY[] = { NC_("SC_OPCODE_V_LOOKUP", "Vertical search and reference to indicated cells."), NC_("SC_OPCODE_V_LOOKUP", "Search criterion"), @@ -3376,7 +3376,7 @@ const char* SC_OPCODE_V_LOOKUP_ARY[] = }; // -=*# Resource for function INDEX #*=- -const char* SC_OPCODE_INDEX_ARY[] = +const TranslateId SC_OPCODE_INDEX_ARY[] = { NC_("SC_OPCODE_INDEX", "Returns a reference to a cell from a defined range."), NC_("SC_OPCODE_INDEX", "Reference"), @@ -3390,7 +3390,7 @@ const char* SC_OPCODE_INDEX_ARY[] = }; // -=*# Resource for function INDIRECT #*=- -const char* SC_OPCODE_INDIRECT_ARY[] = +const TranslateId SC_OPCODE_INDIRECT_ARY[] = { NC_("SC_OPCODE_INDIRECT", "Returns the contents of a cell that is referenced in text form."), NC_("SC_OPCODE_INDIRECT", "Reference"), @@ -3400,7 +3400,7 @@ const char* SC_OPCODE_INDIRECT_ARY[] = }; // -=*# Resource for function LOOKUP #*=- -const char* SC_OPCODE_LOOKUP_ARY[] = +const TranslateId SC_OPCODE_LOOKUP_ARY[] = { NC_("SC_OPCODE_LOOKUP", "Determines a value in a vector by comparison to values in another vector."), NC_("SC_OPCODE_LOOKUP", "Search criterion"), @@ -3412,7 +3412,7 @@ const char* SC_OPCODE_LOOKUP_ARY[] = }; // -=*# Resource for function MATCH #*=- -const char* SC_OPCODE_MATCH_ARY[] = +const TranslateId SC_OPCODE_MATCH_ARY[] = { NC_("SC_OPCODE_MATCH", "Defines a position in an array after comparing values."), NC_("SC_OPCODE_MATCH", "Search criterion"), @@ -3424,7 +3424,7 @@ const char* SC_OPCODE_MATCH_ARY[] = }; // -=*# Resource for function OFFSET #*=- -const char* SC_OPCODE_OFFSET_ARY[] = +const TranslateId SC_OPCODE_OFFSET_ARY[] = { NC_("SC_OPCODE_OFFSET", "Returns a reference which has been moved in relation to the starting point."), NC_("SC_OPCODE_OFFSET", "Reference"), @@ -3440,7 +3440,7 @@ const char* SC_OPCODE_OFFSET_ARY[] = }; // -=*# Resource for function ERRORTYPE #*=- -const char* SC_OPCODE_ERROR_TYPE_ARY[] = +const TranslateId SC_OPCODE_ERROR_TYPE_ARY[] = { NC_("SC_OPCODE_ERROR_TYPE", "Returns a number corresponding to an error type"), NC_("SC_OPCODE_ERROR_TYPE", "Reference"), @@ -3448,7 +3448,7 @@ const char* SC_OPCODE_ERROR_TYPE_ARY[] = }; // -=*# Resource for function ERROR.TYPE #*=- -const char* SC_OPCODE_ERROR_TYPE_ODF_ARY[] = +const TranslateId SC_OPCODE_ERROR_TYPE_ODF_ARY[] = { NC_("SC_OPCODE_ERROR_TYPE_ODF", "Returns a number corresponding to one of the error values or #N/A if no error exists"), NC_("SC_OPCODE_ERROR_TYPE_ODF", "Expression"), @@ -3456,7 +3456,7 @@ const char* SC_OPCODE_ERROR_TYPE_ODF_ARY[] = }; // -=*# Resource for function STYLE #*=- -const char* SC_OPCODE_STYLE_ARY[] = +const TranslateId SC_OPCODE_STYLE_ARY[] = { NC_("SC_OPCODE_STYLE", "Applies a Style to the formula cell."), NC_("SC_OPCODE_STYLE", "Style"), @@ -3468,7 +3468,7 @@ const char* SC_OPCODE_STYLE_ARY[] = }; // -=*# Resource for function DDE #*=- -const char* SC_OPCODE_DDE_ARY[] = +const TranslateId SC_OPCODE_DDE_ARY[] = { NC_("SC_OPCODE_DDE", "Result of a DDE link."), NC_("SC_OPCODE_DDE", "Server"), @@ -3482,7 +3482,7 @@ const char* SC_OPCODE_DDE_ARY[] = }; // -=*# Resource for function HYPERLINK #*=- -const char* SC_OPCODE_HYPERLINK_ARY[] = +const TranslateId SC_OPCODE_HYPERLINK_ARY[] = { NC_("SC_OPCODE_HYPERLINK", "Construct a Hyperlink."), NC_("SC_OPCODE_HYPERLINK", "URL"), @@ -3492,7 +3492,7 @@ const char* SC_OPCODE_HYPERLINK_ARY[] = }; // -=*# Resource for function GETPIVOTDATA #*=- -const char* SC_OPCODE_GET_PIVOT_DATA_ARY[] = +const TranslateId SC_OPCODE_GET_PIVOT_DATA_ARY[] = { NC_("SC_OPCODE_GET_PIVOT_DATA", "Extracts value(s) from a pivot table."), NC_("SC_OPCODE_GET_PIVOT_DATA", "Data field"), @@ -3504,7 +3504,7 @@ const char* SC_OPCODE_GET_PIVOT_DATA_ARY[] = }; // -=*# Resource for function BAHTTEXT #*=- -const char* SC_OPCODE_BAHTTEXT_ARY[] = +const TranslateId SC_OPCODE_BAHTTEXT_ARY[] = { NC_("SC_OPCODE_BAHTTEXT", "Converts a number to text (Baht)."), NC_("SC_OPCODE_BAHTTEXT", "Number"), @@ -3512,7 +3512,7 @@ const char* SC_OPCODE_BAHTTEXT_ARY[] = }; // -=*# Resource for function JIS #*=- -const char* SC_OPCODE_JIS_ARY[] = +const TranslateId SC_OPCODE_JIS_ARY[] = { NC_("SC_OPCODE_JIS", "Converts half-width ASCII and katakana characters to full-width."), NC_("SC_OPCODE_JIS", "Text"), @@ -3520,7 +3520,7 @@ const char* SC_OPCODE_JIS_ARY[] = }; // -=*# Resource for function ASC #*=- -const char* SC_OPCODE_ASC_ARY[] = +const TranslateId SC_OPCODE_ASC_ARY[] = { NC_("SC_OPCODE_ASC", "Converts full-width ASCII and katakana characters to half-width."), NC_("SC_OPCODE_ASC", "Text"), @@ -3528,7 +3528,7 @@ const char* SC_OPCODE_ASC_ARY[] = }; // -=*# Resource for function CODE #*=- -const char* SC_OPCODE_CODE_ARY[] = +const TranslateId SC_OPCODE_CODE_ARY[] = { NC_("SC_OPCODE_CODE", "Returns a numeric code for the first character in a text string."), NC_("SC_OPCODE_CODE", "Text"), @@ -3536,7 +3536,7 @@ const char* SC_OPCODE_CODE_ARY[] = }; // -=*# Resource for function DOLLAR #*=- -const char* SC_OPCODE_CURRENCY_ARY[] = +const TranslateId SC_OPCODE_CURRENCY_ARY[] = { NC_("SC_OPCODE_CURRENCY", "Converts a number to text in currency format."), NC_("SC_OPCODE_CURRENCY", "Value"), @@ -3546,7 +3546,7 @@ const char* SC_OPCODE_CURRENCY_ARY[] = }; // -=*# Resource for function CHAR #*=- -const char* SC_OPCODE_CHAR_ARY[] = +const TranslateId SC_OPCODE_CHAR_ARY[] = { NC_("SC_OPCODE_CHAR", "Converts a code number into a character or letter."), NC_("SC_OPCODE_CHAR", "Number"), @@ -3554,7 +3554,7 @@ const char* SC_OPCODE_CHAR_ARY[] = }; // -=*# Resource for function CLEAN #*=- -const char* SC_OPCODE_CLEAN_ARY[] = +const TranslateId SC_OPCODE_CLEAN_ARY[] = { NC_("SC_OPCODE_CLEAN", "Removes all nonprintable characters from text."), NC_("SC_OPCODE_CLEAN", "Text"), @@ -3562,7 +3562,7 @@ const char* SC_OPCODE_CLEAN_ARY[] = }; // -=*# Resource for function CONCATENATE #*=- -const char* SC_OPCODE_CONCAT_ARY[] = +const TranslateId SC_OPCODE_CONCAT_ARY[] = { NC_("SC_OPCODE_CONCAT", "Combines several text items into one."), NC_("SC_OPCODE_CONCAT", "Text"), @@ -3570,7 +3570,7 @@ const char* SC_OPCODE_CONCAT_ARY[] = }; // -=*# Resource for function CONCAT #*=- -const char* SC_OPCODE_CONCAT_MS_ARY[] = +const TranslateId SC_OPCODE_CONCAT_MS_ARY[] = { NC_("SC_OPCODE_CONCAT_MS", "Combines several text items into one, accepts cell ranges as arguments."), NC_("SC_OPCODE_CONCAT_MS", "Text"), @@ -3578,7 +3578,7 @@ const char* SC_OPCODE_CONCAT_MS_ARY[] = }; // -=*# Resource for function TEXTJOIN #*=- -const char* SC_OPCODE_TEXTJOIN_MS_ARY[] = +const TranslateId SC_OPCODE_TEXTJOIN_MS_ARY[] = { NC_("SC_OPCODE_TEXTJOIN_MS", "Combines several text items into one, accepts cell ranges as arguments. Uses delimiter between items."), NC_("SC_OPCODE_TEXTJOIN_MS", "Delimiter"), @@ -3590,7 +3590,7 @@ const char* SC_OPCODE_TEXTJOIN_MS_ARY[] = }; // -=*# Resource for function IFS #*=- -const char* SC_OPCODE_IFS_MS_ARY[] = +const TranslateId SC_OPCODE_IFS_MS_ARY[] = { NC_("SC_OPCODE_IFS_MS", "Checks 1 or more conditions and returns a value corresponding to the first true condition."), NC_("SC_OPCODE_IFS_MS", "Test"), @@ -3600,7 +3600,7 @@ const char* SC_OPCODE_IFS_MS_ARY[] = }; // -=*# Resource for function SWITCH #*=- -const char* SC_OPCODE_SWITCH_MS_ARY[] = +const TranslateId SC_OPCODE_SWITCH_MS_ARY[] = { NC_("SC_OPCODE_SWITCH_MS", "Compares expression against list of value/result pairs, and returns result for first value that matches the expression. If expression does not match any value, a default result is returned, if it is placed as final item in parameter list without a value."), NC_("SC_OPCODE_SWITCH_MS", "Expression"), @@ -3611,7 +3611,7 @@ const char* SC_OPCODE_SWITCH_MS_ARY[] = NC_("SC_OPCODE_SWITCH_MS", "Value to return when corresponding value argument matches expression.") }; -const char* SC_OPCODE_MINIFS_MS_ARY[] = +const TranslateId SC_OPCODE_MINIFS_MS_ARY[] = { NC_("SC_OPCODE_MINIFS_MS", "Returns the minimum value in a range that meet multiple criteria in multiple ranges."), NC_("SC_OPCODE_MINIFS_MS", "Min range"), @@ -3622,7 +3622,7 @@ const char* SC_OPCODE_MINIFS_MS_ARY[] = NC_("SC_OPCODE_MINIFS_MS", "Criteria 1, criteria 2,... are the criteria to be applied to the ranges given.") }; -const char* SC_OPCODE_MAXIFS_MS_ARY[] = +const TranslateId SC_OPCODE_MAXIFS_MS_ARY[] = { NC_("SC_OPCODE_MAXIFS_MS", "Returns the maximum value in a range that meet multiple criteria in multiple ranges."), NC_("SC_OPCODE_MAXIFS_MS", "Max range"), @@ -3634,7 +3634,7 @@ const char* SC_OPCODE_MAXIFS_MS_ARY[] = }; // -=*# Resource for function EXACT #*=- -const char* SC_OPCODE_EXACT_ARY[] = +const TranslateId SC_OPCODE_EXACT_ARY[] = { NC_("SC_OPCODE_EXACT", "Specifies whether two texts are identical."), NC_("SC_OPCODE_EXACT", "Text 1"), @@ -3644,7 +3644,7 @@ const char* SC_OPCODE_EXACT_ARY[] = }; // -=*# Resource for function FIND #*=- -const char* SC_OPCODE_FIND_ARY[] = +const TranslateId SC_OPCODE_FIND_ARY[] = { NC_("SC_OPCODE_FIND", "Looks for a string of text within another (case sensitive)"), NC_("SC_OPCODE_FIND", "Find text"), @@ -3656,7 +3656,7 @@ const char* SC_OPCODE_FIND_ARY[] = }; // -=*# Resource for function SEARCH #*=- -const char* SC_OPCODE_SEARCH_ARY[] = +const TranslateId SC_OPCODE_SEARCH_ARY[] = { NC_("SC_OPCODE_SEARCH", "Looks for one text value within another (not case-sensitive)."), NC_("SC_OPCODE_SEARCH", "Find text"), @@ -3668,7 +3668,7 @@ const char* SC_OPCODE_SEARCH_ARY[] = }; // -=*# Resource for function TRIM #*=- -const char* SC_OPCODE_TRIM_ARY[] = +const TranslateId SC_OPCODE_TRIM_ARY[] = { NC_("SC_OPCODE_TRIM", "Removes extra spaces from text."), NC_("SC_OPCODE_TRIM", "Text"), @@ -3676,7 +3676,7 @@ const char* SC_OPCODE_TRIM_ARY[] = }; // -=*# Resource for function PROPER #*=- -const char* SC_OPCODE_PROPER_ARY[] = +const TranslateId SC_OPCODE_PROPER_ARY[] = { NC_("SC_OPCODE_PROPER", "Capitalizes the first letter in all words."), NC_("SC_OPCODE_PROPER", "Text"), @@ -3684,7 +3684,7 @@ const char* SC_OPCODE_PROPER_ARY[] = }; // -=*# Resource for function UPPER #*=- -const char* SC_OPCODE_UPPER_ARY[] = +const TranslateId SC_OPCODE_UPPER_ARY[] = { NC_("SC_OPCODE_UPPER", "Converts text to uppercase."), NC_("SC_OPCODE_UPPER", "Text"), @@ -3692,7 +3692,7 @@ const char* SC_OPCODE_UPPER_ARY[] = }; // -=*# Resource for function LOWER #*=- -const char* SC_OPCODE_LOWER_ARY[] = +const TranslateId SC_OPCODE_LOWER_ARY[] = { NC_("SC_OPCODE_LOWER", "Converts text to lowercase."), NC_("SC_OPCODE_LOWER", "Text"), @@ -3700,7 +3700,7 @@ const char* SC_OPCODE_LOWER_ARY[] = }; // -=*# Resource for function VALUE #*=- -const char* SC_OPCODE_VALUE_ARY[] = +const TranslateId SC_OPCODE_VALUE_ARY[] = { NC_("SC_OPCODE_VALUE", "Converts text to a number."), NC_("SC_OPCODE_VALUE", "Text"), @@ -3708,7 +3708,7 @@ const char* SC_OPCODE_VALUE_ARY[] = }; // -=*# Resource for function TEXT #*=- -const char* SC_OPCODE_TEXT_ARY[] = +const TranslateId SC_OPCODE_TEXT_ARY[] = { NC_("SC_OPCODE_TEXT", "Converts a number to text according to a given format."), NC_("SC_OPCODE_TEXT", "Number"), @@ -3718,7 +3718,7 @@ const char* SC_OPCODE_TEXT_ARY[] = }; // -=*# Resource for function T #*=- -const char* SC_OPCODE_T_ARY[] = +const TranslateId SC_OPCODE_T_ARY[] = { NC_("SC_OPCODE_T", "Returns a value if it is text, otherwise an empty string."), NC_("SC_OPCODE_T", "Value"), @@ -3726,7 +3726,7 @@ const char* SC_OPCODE_T_ARY[] = }; // -=*# Resource for function REPLACE #*=- -const char* SC_OPCODE_REPLACE_ARY[] = +const TranslateId SC_OPCODE_REPLACE_ARY[] = { NC_("SC_OPCODE_REPLACE", "Replaces characters within a text string with a different text string."), NC_("SC_OPCODE_REPLACE", "Text"), @@ -3740,7 +3740,7 @@ const char* SC_OPCODE_REPLACE_ARY[] = }; // -=*# Resource for function FIXED #*=- -const char* SC_OPCODE_FIXED_ARY[] = +const TranslateId SC_OPCODE_FIXED_ARY[] = { NC_("SC_OPCODE_FIXED", "Formats a number with a fixed number of places after the decimal point and thousands separator."), NC_("SC_OPCODE_FIXED", "Number"), @@ -3752,7 +3752,7 @@ const char* SC_OPCODE_FIXED_ARY[] = }; // -=*# Resource for function LEN #*=- -const char* SC_OPCODE_LEN_ARY[] = +const TranslateId SC_OPCODE_LEN_ARY[] = { NC_("SC_OPCODE_LEN", "Calculates length of a text string."), NC_("SC_OPCODE_LEN", "Text"), @@ -3760,7 +3760,7 @@ const char* SC_OPCODE_LEN_ARY[] = }; // -=*# Resource for function LEFT #*=- -const char* SC_OPCODE_LEFT_ARY[] = +const TranslateId SC_OPCODE_LEFT_ARY[] = { NC_("SC_OPCODE_LEFT", "Returns the first character or characters of a text."), NC_("SC_OPCODE_LEFT", "Text"), @@ -3770,7 +3770,7 @@ const char* SC_OPCODE_LEFT_ARY[] = }; // -=*# Resource for function RIGHT #*=- -const char* SC_OPCODE_RIGHT_ARY[] = +const TranslateId SC_OPCODE_RIGHT_ARY[] = { NC_("SC_OPCODE_RIGHT", "Returns the last character or characters of a text."), NC_("SC_OPCODE_RIGHT", "Text"), @@ -3780,7 +3780,7 @@ const char* SC_OPCODE_RIGHT_ARY[] = }; // -=*# Resource for function MID #*=- -const char* SC_OPCODE_MID_ARY[] = +const TranslateId SC_OPCODE_MID_ARY[] = { NC_("SC_OPCODE_MID", "Returns a partial text string of a text."), NC_("SC_OPCODE_MID", "Text"), @@ -3792,7 +3792,7 @@ const char* SC_OPCODE_MID_ARY[] = }; // -=*# Resource for function REPT #*=- -const char* SC_OPCODE_REPT_ARY[] = +const TranslateId SC_OPCODE_REPT_ARY[] = { NC_("SC_OPCODE_REPT", "Repeats text a given number of times."), NC_("SC_OPCODE_REPT", "Text"), @@ -3802,7 +3802,7 @@ const char* SC_OPCODE_REPT_ARY[] = }; // -=*# Resource for function SUBSTITUTE #*=- -const char* SC_OPCODE_SUBSTITUTE_ARY[] = +const TranslateId SC_OPCODE_SUBSTITUTE_ARY[] = { NC_("SC_OPCODE_SUBSTITUTE", "Substitutes new text for old text in a string."), NC_("SC_OPCODE_SUBSTITUTE", "Text"), @@ -3816,7 +3816,7 @@ const char* SC_OPCODE_SUBSTITUTE_ARY[] = }; // -=*# Resource for function REGEX #*=- -const char* SC_OPCODE_REGEX_ARY[] = +const TranslateId SC_OPCODE_REGEX_ARY[] = { NC_("SC_OPCODE_REGEX", "Matches and extracts or optionally replaces text using regular expressions."), NC_("SC_OPCODE_REGEX", "Text"), @@ -3830,7 +3830,7 @@ const char* SC_OPCODE_REGEX_ARY[] = }; // -=*# Resource for function BASE #*=- -const char* SC_OPCODE_BASE_ARY[] = +const TranslateId SC_OPCODE_BASE_ARY[] = { NC_("SC_OPCODE_BASE", "Converts a positive integer to text from a number system to the base defined."), NC_("SC_OPCODE_BASE", "Number"), @@ -3842,7 +3842,7 @@ const char* SC_OPCODE_BASE_ARY[] = }; // -=*# Resource for function DECIMAL #*=- -const char* SC_OPCODE_DECIMAL_ARY[] = +const TranslateId SC_OPCODE_DECIMAL_ARY[] = { NC_("SC_OPCODE_DECIMAL", "Converts a text of a specified number system to a positive integer in the base given."), NC_("SC_OPCODE_DECIMAL", "Text"), @@ -3852,7 +3852,7 @@ const char* SC_OPCODE_DECIMAL_ARY[] = }; // -=*# Resource for function CONVERT_OOO #*=- -const char* SC_OPCODE_CONVERT_OOO_ARY[] = +const TranslateId SC_OPCODE_CONVERT_OOO_ARY[] = { NC_("SC_OPCODE_CONVERT_OOO", "Converts a value according to a conversion table in the configuration (main.xcd)."), NC_("SC_OPCODE_CONVERT_OOO", "Value"), @@ -3864,7 +3864,7 @@ const char* SC_OPCODE_CONVERT_OOO_ARY[] = }; // -=*# Resource for function ROMAN #*=- -const char* SC_OPCODE_ROMAN_ARY[] = +const TranslateId SC_OPCODE_ROMAN_ARY[] = { NC_("SC_OPCODE_ROMAN", "Converts a number to a Roman numeral."), NC_("SC_OPCODE_ROMAN", "Number"), @@ -3874,35 +3874,35 @@ const char* SC_OPCODE_ROMAN_ARY[] = }; // -=*# Resource for function ARABIC #*=- -const char* SC_OPCODE_ARABIC_ARY[] = +const TranslateId SC_OPCODE_ARABIC_ARY[] = { NC_("SC_OPCODE_ARABIC", "Calculates the value of a Roman numeral."), NC_("SC_OPCODE_ARABIC", "Text"), NC_("SC_OPCODE_ARABIC", "The text that represents a Roman numeral.") }; -const char* SC_OPCODE_INFO_ARY[] = +const TranslateId SC_OPCODE_INFO_ARY[] = { NC_("SC_OPCODE_INFO", "Returns information about the environment."), NC_("SC_OPCODE_INFO", "Text"), NC_("SC_OPCODE_INFO", "Can be \"osversion\", \"system\", \"release\", \"numfile\", and \"recalc\".") }; -const char* SC_OPCODE_UNICODE_ARY[] = +const TranslateId SC_OPCODE_UNICODE_ARY[] = { NC_("SC_OPCODE_UNICODE", "Returns the numeric code for the first Unicode character in a text string."), NC_("SC_OPCODE_UNICODE", "Text"), NC_("SC_OPCODE_UNICODE", "This is the text for which the code of the first character is to be found.") }; -const char* SC_OPCODE_UNICHAR_ARY[] = +const TranslateId SC_OPCODE_UNICHAR_ARY[] = { NC_("SC_OPCODE_UNICHAR", "Converts a code number into a Unicode character or letter."), NC_("SC_OPCODE_UNICHAR", "Number"), NC_("SC_OPCODE_UNICHAR", "The code value for the character.") }; -const char* SC_OPCODE_EUROCONVERT_ARY[] = +const TranslateId SC_OPCODE_EUROCONVERT_ARY[] = { NC_("SC_OPCODE_EUROCONVERT", "Converts a value from one to another Euro currency."), NC_("SC_OPCODE_EUROCONVERT", "Value"), @@ -3918,7 +3918,7 @@ const char* SC_OPCODE_EUROCONVERT_ARY[] = NC_("SC_OPCODE_EUROCONVERT", "If given and >=3, the intermediate result of a triangular conversion is rounded to that precision. If omitted, the result is not rounded.") }; -const char* SC_OPCODE_NUMBERVALUE_ARY[] = +const TranslateId SC_OPCODE_NUMBERVALUE_ARY[] = { NC_("SC_OPCODE_NUMBERVALUE", "Converts text to a number, in a locale-independent way."), NC_("SC_OPCODE_NUMBERVALUE", "Text"), @@ -3930,7 +3930,7 @@ const char* SC_OPCODE_NUMBERVALUE_ARY[] = }; -const char* SC_OPCODE_BITAND_ARY[] = +const TranslateId SC_OPCODE_BITAND_ARY[] = { NC_("SC_OPCODE_BITAND", "Bitwise \"AND\" of two integers."), NC_("SC_OPCODE_BITAND", "Number1"), @@ -3939,7 +3939,7 @@ const char* SC_OPCODE_BITAND_ARY[] = NC_("SC_OPCODE_BITAND", "Positive integer less than 2^48.") }; -const char* SC_OPCODE_BITOR_ARY[] = +const TranslateId SC_OPCODE_BITOR_ARY[] = { NC_("SC_OPCODE_BITOR", "Bitwise \"OR\" of two integers."), NC_("SC_OPCODE_BITOR", "Number1"), @@ -3948,7 +3948,7 @@ const char* SC_OPCODE_BITOR_ARY[] = NC_("SC_OPCODE_BITOR", "Positive integer less than 2^48.") }; -const char* SC_OPCODE_BITXOR_ARY[] = +const TranslateId SC_OPCODE_BITXOR_ARY[] = { NC_("SC_OPCODE_BITXOR", "Bitwise \"exclusive OR\" of two integers."), NC_("SC_OPCODE_BITXOR", "Number1"), @@ -3957,7 +3957,7 @@ const char* SC_OPCODE_BITXOR_ARY[] = NC_("SC_OPCODE_BITXOR", "Positive integer less than 2^48.") }; -const char* SC_OPCODE_BITRSHIFT_ARY[] = +const TranslateId SC_OPCODE_BITRSHIFT_ARY[] = { NC_("SC_OPCODE_BITRSHIFT", "Bitwise right shift of an integer value."), NC_("SC_OPCODE_BITRSHIFT", "Number"), @@ -3966,7 +3966,7 @@ const char* SC_OPCODE_BITRSHIFT_ARY[] = NC_("SC_OPCODE_BITRSHIFT", "The integer number of bits the value is to be shifted.") }; -const char* SC_OPCODE_BITLSHIFT_ARY[] = +const TranslateId SC_OPCODE_BITLSHIFT_ARY[] = { NC_("SC_OPCODE_BITLSHIFT", "Bitwise left shift of an integer value."), NC_("SC_OPCODE_BITLSHIFT", "Number"), @@ -3975,14 +3975,14 @@ const char* SC_OPCODE_BITLSHIFT_ARY[] = NC_("SC_OPCODE_BITLSHIFT", "The integer number of bits the value is to be shifted.") }; -const char* SC_OPCODE_LENB_ARY[] = +const TranslateId SC_OPCODE_LENB_ARY[] = { NC_("SC_OPCODE_LENB", "Calculates length of a text string, with DBCS"), NC_("SC_OPCODE_LENB", "Text"), NC_("SC_OPCODE_LENB", "The text in which the length is to be determined.") }; -const char* SC_OPCODE_RIGHTB_ARY[] = +const TranslateId SC_OPCODE_RIGHTB_ARY[] = { NC_("SC_OPCODE_RIGHTB", "Returns the last character or characters of a text,with DBCS"), NC_("SC_OPCODE_RIGHTB", "Text"), @@ -3991,7 +3991,7 @@ const char* SC_OPCODE_RIGHTB_ARY[] = NC_("SC_OPCODE_RIGHTB", "The number of characters for the end text.") }; -const char* SC_OPCODE_LEFTB_ARY[] = +const TranslateId SC_OPCODE_LEFTB_ARY[] = { NC_("SC_OPCODE_LEFTB", "Returns the first character or characters of a text,with DBCS"), NC_("SC_OPCODE_LEFTB", "Text"), @@ -4000,7 +4000,7 @@ const char* SC_OPCODE_LEFTB_ARY[] = NC_("SC_OPCODE_LEFTB", "The number of characters for the start text.") }; -const char* SC_OPCODE_MIDB_ARY[] = +const TranslateId SC_OPCODE_MIDB_ARY[] = { NC_("SC_OPCODE_MIDB", "Returns a partial text string of a text, with DBCS"), NC_("SC_OPCODE_MIDB", "Text"), @@ -4011,7 +4011,7 @@ const char* SC_OPCODE_MIDB_ARY[] = NC_("SC_OPCODE_MIDB", "The number of characters for the text.") }; -const char* SC_OPCODE_FILTERXML_ARY[] = +const TranslateId SC_OPCODE_FILTERXML_ARY[] = { NC_("SC_OPCODE_FILTERXML", "Apply an XPath expression to an XML document"), NC_("SC_OPCODE_FILTERXML", "XML Document"), @@ -4020,7 +4020,7 @@ const char* SC_OPCODE_FILTERXML_ARY[] = NC_("SC_OPCODE_FILTERXML", "String containing a valid XPath expression") }; -const char* SC_OPCODE_COLOR_ARY[] = +const TranslateId SC_OPCODE_COLOR_ARY[] = { NC_("SC_OPCODE_COLOR", "Returns an implementation defined value representing a RGBA color"), NC_("SC_OPCODE_COLOR", "Red"), @@ -4033,35 +4033,35 @@ const char* SC_OPCODE_COLOR_ARY[] = NC_("SC_OPCODE_COLOR", "Value of alpha") }; -const char* SC_OPCODE_WEBSERVICE_ARY[] = +const TranslateId SC_OPCODE_WEBSERVICE_ARY[] = { NC_("SC_OPCODE_WEBSERVICE", "Get some web-content from a URI."), NC_("SC_OPCODE_WEBSERVICE", "URI"), NC_("SC_OPCODE_WEBSERVICE", "URI of the webservice") }; -const char* SC_OPCODE_ENCODEURL_ARY[] = +const TranslateId SC_OPCODE_ENCODEURL_ARY[] = { NC_("SC_OPCODE_ENCODEURL", "Return a URL-encoded string."), NC_("SC_OPCODE_ENCODEURL", "Text"), NC_("SC_OPCODE_ENCODEURL", "A string to be URL-encoded") }; -const char* SC_OPCODE_ERF_MS_ARY[] = +const TranslateId SC_OPCODE_ERF_MS_ARY[] = { NC_("SC_OPCODE_ERF_MS", "Returns the error function."), NC_("SC_OPCODE_ERF_MS", "Lower limit"), NC_("SC_OPCODE_ERF_MS", "The lower limit for integration") }; -const char* SC_OPCODE_ERFC_MS_ARY[] = +const TranslateId SC_OPCODE_ERFC_MS_ARY[] = { NC_("SC_OPCODE_ERFC_MS", "Returns the complementary error function."), NC_("SC_OPCODE_ERFC_MS", "Lower limit"), NC_("SC_OPCODE_ERFC_MS", "The lower limit for integration") }; -const char* SC_OPCODE_RAWSUBTRACT_ARY[] = +const TranslateId SC_OPCODE_RAWSUBTRACT_ARY[] = { NC_("SC_OPCODE_RAWSUBTRACT", "Returns the subtraction of numbers. Like a-b-c but without eliminating small roundoff errors."), NC_("SC_OPCODE_RAWSUBTRACT", "Minuend"), @@ -4071,7 +4071,7 @@ const char* SC_OPCODE_RAWSUBTRACT_ARY[] = }; // -=*# Resource for function ROUNDSIG #*=- -const char* SC_OPCODE_ROUNDSIG_ARY[] = +const TranslateId SC_OPCODE_ROUNDSIG_ARY[] = { NC_("SC_OPCODE_ROUNDSIG", "Rounds a number to predefined significant digits."), NC_("SC_OPCODE_ROUNDSIG", "Value"), @@ -4080,7 +4080,7 @@ const char* SC_OPCODE_ROUNDSIG_ARY[] = NC_("SC_OPCODE_ROUNDSIG", "The number of significant digits to which value is to be rounded.") }; -const char* SC_OPCODE_REPLACEB_ARY[] = +const TranslateId SC_OPCODE_REPLACEB_ARY[] = { NC_("SC_OPCODE_REPLACEB", "Replaces characters within a text string with a different text string, with DBCS."), NC_("SC_OPCODE_REPLACEB", "Text"), @@ -4094,7 +4094,7 @@ const char* SC_OPCODE_REPLACEB_ARY[] = }; // -=*# Resource for function FINDB #*=- -const char* SC_OPCODE_FINDB_ARY[] = +const TranslateId SC_OPCODE_FINDB_ARY[] = { NC_("SC_OPCODE_FINDB", "Looks for a string of text within another (case sensitive), using byte positions."), NC_("SC_OPCODE_FINDB", "Find text"), @@ -4106,7 +4106,7 @@ const char* SC_OPCODE_FINDB_ARY[] = }; // -=*# Resource for function SEARCHB #*=- -const char* SC_OPCODE_SEARCHB_ARY[] = +const TranslateId SC_OPCODE_SEARCHB_ARY[] = { NC_("SC_OPCODE_SEARCHB", "Looks for a string of text within another (not case sensitive), using byte positions."), NC_("SC_OPCODE_SEARCHB", "Find text"), @@ -4118,7 +4118,7 @@ const char* SC_OPCODE_SEARCHB_ARY[] = }; // -=*# Resource for function FOURIER #*=- -const char* SC_OPCODE_FOURIER_ARY[] = +const TranslateId SC_OPCODE_FOURIER_ARY[] = { NC_("SC_OPCODE_FOURIER", "Computes the Discrete Fourier Transform (DFT) of an array"), NC_("SC_OPCODE_FOURIER", "Array"), @@ -4134,13 +4134,13 @@ const char* SC_OPCODE_FOURIER_ARY[] = }; // -=*# Resource for function RAND.NV #*=- -const char* SC_OPCODE_RANDOM_NV_ARY[] = +const TranslateId SC_OPCODE_RANDOM_NV_ARY[] = { NC_("SC_OPCODE_RANDOM_NV", "Returns a random number between 0 and 1, non-volatile.") }; // -=*# Resource for function RANDBETWEEN.NV #*=- -const char* SC_OPCODE_RANDBETWEEN_NV_ARY[] = +const TranslateId SC_OPCODE_RANDBETWEEN_NV_ARY[] = { NC_("SC_OPCODE_RANDBETWEEN_NV", "Returns a random integer between the numbers you specify, non-volatile."), NC_("SC_OPCODE_RANDBETWEEN_NV", "Bottom"), diff --git a/sc/inc/scresid.hxx b/sc/inc/scresid.hxx index 017c7a91c5c8..99a392cdb63e 100644 --- a/sc/inc/scresid.hxx +++ b/sc/inc/scresid.hxx @@ -21,8 +21,9 @@ #include <rtl/ustring.hxx> #include "scdllapi.h" +#include <unotools/resmgr.hxx> -OUString SC_DLLPUBLIC ScResId(std::string_view aId); -OUString ScResId(std::string_view aId, int nCardinality); +OUString SC_DLLPUBLIC ScResId(TranslateId aId); +OUString ScResId(TranslateNId aContextSingularPlural, int nCardinality); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/scstyles.hrc b/sc/inc/scstyles.hrc index 3022cc8afa05..2d11b56d713f 100644 --- a/sc/inc/scstyles.hrc +++ b/sc/inc/scstyles.hrc @@ -21,23 +21,23 @@ #include <svl/style.hxx> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const std::pair<const char*, SfxStyleSearchBits> RID_CELLSTYLEFAMILY[] = +const std::pair<TranslateId, SfxStyleSearchBits> RID_CELLSTYLEFAMILY[] = { { NC_("RID_CELLSTYLEFAMILY", "All Styles") , SfxStyleSearchBits::AllVisible }, { NC_("RID_CELLSTYLEFAMILY", "Hidden Styles") , SfxStyleSearchBits::Hidden }, { NC_("RID_CELLSTYLEFAMILY", "Applied Styles") , SfxStyleSearchBits::Used }, { NC_("RID_CELLSTYLEFAMILY", "Custom Styles") , SfxStyleSearchBits::UserDefined }, - { nullptr, SfxStyleSearchBits::Auto } + { {}, SfxStyleSearchBits::Auto } }; -const std::pair<const char*, SfxStyleSearchBits> RID_PAGESTYLEFAMILY[] = +const std::pair<TranslateId, SfxStyleSearchBits> RID_PAGESTYLEFAMILY[] = { { NC_("RID_PAGESTYLEFAMILY", "All Styles") , SfxStyleSearchBits::All }, { NC_("RID_PAGESTYLEFAMILY", "Hidden Styles") , SfxStyleSearchBits::Hidden }, { NC_("RID_PAGESTYLEFAMILY", "Custom Styles") , SfxStyleSearchBits::UserDefined }, - { nullptr, SfxStyleSearchBits::Auto } + { {}, SfxStyleSearchBits::Auto } }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/strings.hrc b/sc/inc/strings.hrc index 2815c9aa6d74..649ffd4d4020 100644 --- a/sc/inc/strings.hrc +++ b/sc/inc/strings.hrc @@ -19,8 +19,8 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) -#define NNC_(Context, StringSingular, StringPlural) reinterpret_cast<char const *>(Context "\004" u8##StringSingular "\004" u8##StringPlural) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) +#define NNC_(Context, StringSingular, StringPlural) TranslateNId(Context, reinterpret_cast<char const *>(u8##StringSingular), reinterpret_cast<char const *>(u8##StringPlural)) // Strings for interface names ------------------------------------------- diff --git a/sc/inc/subtotals.hrc b/sc/inc/subtotals.hrc index 488802d711a2..bbf7884fcbaf 100644 --- a/sc/inc/subtotals.hrc +++ b/sc/inc/subtotals.hrc @@ -19,9 +19,9 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* SCSTR_SUBTOTALS[] = +const TranslateId SCSTR_SUBTOTALS[] = { NC_("subtotalgrppage|liststore1", "Sum"), NC_("subtotalgrppage|liststore1", "Count"), diff --git a/sc/inc/units.hrc b/sc/inc/units.hrc index cf90776bbdaa..426141fab788 100644 --- a/sc/inc/units.hrc +++ b/sc/inc/units.hrc @@ -19,13 +19,13 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #include <tools/fldunit.hxx> #include <utility> -const std::pair<const char*, FieldUnit> SCSTR_UNIT[] = +const std::pair<TranslateId, FieldUnit> SCSTR_UNIT[] = { { NC_("SCSTR_UNIT", "Millimeter") , FieldUnit::MM }, { NC_("SCSTR_UNIT", "Centimeter") , FieldUnit::CM }, diff --git a/sc/qa/unit/ucalc_pivottable.cxx b/sc/qa/unit/ucalc_pivottable.cxx index 62c971de6b22..2100e50d531a 100644 --- a/sc/qa/unit/ucalc_pivottable.cxx +++ b/sc/qa/unit/ucalc_pivottable.cxx @@ -466,8 +466,8 @@ void TestPivottable::testPivotTable() // This time clear the cache to refresh the data from the source range. CPPUNIT_ASSERT_MESSAGE("This datapilot should be based on sheet data.", pDPObj2->IsSheetData()); o3tl::sorted_vector<ScDPObject*> aRefs; - const char* pErrId = pDPs->ReloadCache(pDPObj2, aRefs); - CPPUNIT_ASSERT_EQUAL_MESSAGE("Cache reload failed.", static_cast<const char*>(nullptr), pErrId); + TranslateId pErrId = pDPs->ReloadCache(pDPObj2, aRefs); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Cache reload failed.", false, bool(pErrId)); CPPUNIT_ASSERT_EQUAL_MESSAGE("Reloading a cache shouldn't remove any cache.", static_cast<size_t>(1), pDPs->GetSheetCaches().size()); @@ -1718,7 +1718,7 @@ void TestPivottable::testPivotTableEmptyRows() m_pDoc->SetString(1, 2, 0, "B"); o3tl::sorted_vector<ScDPObject*> aRefs; - const char* pErr = pDPs->ReloadCache(pDPObj, aRefs); + TranslateId pErr = pDPs->ReloadCache(pDPObj, aRefs); CPPUNIT_ASSERT_MESSAGE("Failed to reload cache.", !pErr); CPPUNIT_ASSERT_EQUAL_MESSAGE("There should only be one pivot table linked to this cache.", o3tl::sorted_vector<ScDPObject*>::size_type(1), aRefs.size()); diff --git a/sc/source/core/data/attrib.cxx b/sc/source/core/data/attrib.cxx index 324c2c59c322..6bdee5cafc29 100644 --- a/sc/source/core/data/attrib.cxx +++ b/sc/source/core/data/attrib.cxx @@ -763,7 +763,7 @@ bool ScShrinkToFitCell::GetPresentation(SfxItemPresentation, OUString& rText, const IntlWrapper&) const { - const char* pId = GetValue() ? STR_SHRINKTOFITCELL_ON : STR_SHRINKTOFITCELL_OFF; + TranslateId pId = GetValue() ? STR_SHRINKTOFITCELL_ON : STR_SHRINKTOFITCELL_OFF; rText = ScResId(pId); return true; } @@ -783,7 +783,7 @@ bool ScVerticalStackCell::GetPresentation(SfxItemPresentation, OUString& rText, const IntlWrapper&) const { - const char* pId = GetValue() ? STR_VERTICALSTACKCELL_ON : STR_VERTICALSTACKCELL_OFF; + TranslateId pId = GetValue() ? STR_VERTICALSTACKCELL_ON : STR_VERTICALSTACKCELL_OFF; rText = ScResId(pId); return true; } @@ -803,7 +803,7 @@ bool ScLineBreakCell::GetPresentation(SfxItemPresentation, OUString& rText, const IntlWrapper&) const { - const char* pId = GetValue() ? STR_LINEBREAKCELL_ON : STR_LINEBREAKCELL_OFF; + TranslateId pId = GetValue() ? STR_LINEBREAKCELL_ON : STR_LINEBREAKCELL_OFF; rText = ScResId(pId); return true; } @@ -823,7 +823,7 @@ bool ScHyphenateCell::GetPresentation(SfxItemPresentation, OUString& rText, const IntlWrapper&) const { - const char* pId = GetValue() ? STR_HYPHENATECELL_ON : STR_HYPHENATECELL_OFF; + TranslateId pId = GetValue() ? STR_HYPHENATECELL_ON : STR_HYPHENATECELL_OFF; rText = ScResId(pId); return true; } diff --git a/sc/source/core/data/dpdimsave.cxx b/sc/source/core/data/dpdimsave.cxx index fa9b2ded7d78..ec80ec3d664b 100644 --- a/sc/source/core/data/dpdimsave.cxx +++ b/sc/source/core/data/dpdimsave.cxx @@ -758,7 +758,7 @@ OUString ScDPDimensionSaveData::CreateGroupDimName( namespace { - const char* aDatePartIds[] = + const TranslateId aDatePartIds[] = { STR_DPFIELD_GROUP_BY_SECONDS, STR_DPFIELD_GROUP_BY_MINUTES, diff --git a/sc/source/core/data/dpobject.cxx b/sc/source/core/data/dpobject.cxx index 287ccbcd36f3..ea0929f5a18d 100644 --- a/sc/source/core/data/dpobject.cxx +++ b/sc/source/core/data/dpobject.cxx @@ -3365,7 +3365,7 @@ public: } -const char* ScDPCollection::ReloadCache(const ScDPObject* pDPObj, o3tl::sorted_vector<ScDPObject*>& rRefs) +TranslateId ScDPCollection::ReloadCache(const ScDPObject* pDPObj, o3tl::sorted_vector<ScDPObject*>& rRefs) { if (!pDPObj) return STR_ERR_DATAPILOTSOURCE; @@ -3377,7 +3377,7 @@ const char* ScDPCollection::ReloadCache(const ScDPObject* pDPObj, o3tl::sorted_v if (!pDesc) return STR_ERR_DATAPILOTSOURCE; - const char* pErrId = pDesc->CheckSourceRange(); + TranslateId pErrId = pDesc->CheckSourceRange(); if (pErrId) return pErrId; @@ -3426,7 +3426,7 @@ const char* ScDPCollection::ReloadCache(const ScDPObject* pDPObj, o3tl::sorted_v GetAllTables(pDesc->GetCommandType(), pDesc->aDBName, pDesc->aObject, rRefs); } } - return nullptr; + return {}; } bool ScDPCollection::ReloadGroupsInCache(const ScDPObject* pDPObj, o3tl::sorted_vector<ScDPObject*>& rRefs) diff --git a/sc/source/core/data/dpoutput.cxx b/sc/source/core/data/dpoutput.cxx index ca9b214b5605..ada646b361fc 100644 --- a/sc/source/core/data/dpoutput.cxx +++ b/sc/source/core/data/dpoutput.cxx @@ -284,7 +284,7 @@ void ScDPOutputImpl::OutputBlockFrame ( SCCOL nStartCol, SCROW nStartRow, SCCOL void lcl_SetStyleById(ScDocument* pDoc, SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - const char* pStrId) + TranslateId pStrId) { if ( nCol1 > nCol2 || nRow1 > nRow2 ) { @@ -303,12 +303,12 @@ void lcl_SetStyleById(ScDocument* pDoc, SCTAB nTab, SfxStyleSearchBits::UserDefined ) ); pStyle->SetParent( ScResId(STR_STYLENAME_STANDARD) ); SfxItemSet& rSet = pStyle->GetItemSet(); - if (strcmp(pStrId, STR_PIVOT_STYLENAME_RESULT) == 0 || strcmp(pStrId, STR_PIVOT_STYLENAME_TITLE) == 0){ + if (pStrId == STR_PIVOT_STYLENAME_RESULT || pStrId == STR_PIVOT_STYLENAME_TITLE){ rSet.Put( SvxWeightItem( WEIGHT_BOLD, ATTR_FONT_WEIGHT ) ); rSet.Put( SvxWeightItem( WEIGHT_BOLD, ATTR_CJK_FONT_WEIGHT ) ); rSet.Put( SvxWeightItem( WEIGHT_BOLD, ATTR_CTL_FONT_WEIGHT ) ); } - if (strcmp(pStrId, STR_PIVOT_STYLENAME_CATEGORY) == 0 || strcmp(pStrId, STR_PIVOT_STYLENAME_TITLE) == 0) + if (pStrId == STR_PIVOT_STYLENAME_CATEGORY || pStrId == STR_PIVOT_STYLENAME_TITLE) rSet.Put( SvxHorJustifyItem( SvxCellHorJustify::Left, ATTR_HOR_JUSTIFY ) ); } @@ -1483,7 +1483,7 @@ namespace { OUString lcl_GetDataFieldName( std::u16string_view rSourceName, sal_Int16 eFunc ) { - const char* pStrId = nullptr; + TranslateId pStrId; switch ( eFunc ) { case sheet::GeneralFunction2::SUM: pStrId = STR_FUN_TEXT_SUM; break; diff --git a/sc/source/core/data/dpshttab.cxx b/sc/source/core/data/dpshttab.cxx index c15ba043fffe..36060b282d0c 100644 --- a/sc/source/core/data/dpshttab.cxx +++ b/sc/source/core/data/dpshttab.cxx @@ -283,7 +283,7 @@ const ScDPCache* ScSheetSourceDesc::CreateCache(const ScDPDimensionSaveData* pDi if (!mpDoc) return nullptr; - const char* pErrId = CheckSourceRange(); + TranslateId pErrId = CheckSourceRange(); if (pErrId) { OSL_FAIL( "Error Create Cache" ); @@ -303,7 +303,7 @@ const ScDPCache* ScSheetSourceDesc::CreateCache(const ScDPDimensionSaveData* pDi return rCaches.getCache(GetSourceRange(), pDimData); } -const char* ScSheetSourceDesc::CheckSourceRange() const +TranslateId ScSheetSourceDesc::CheckSourceRange() const { if (!mpDoc) return STR_ERR_DATAPILOTSOURCE; @@ -316,7 +316,7 @@ const char* ScSheetSourceDesc::CheckSourceRange() const if (rSrcRange.aStart.Col() > rSrcRange.aEnd.Col() || rSrcRange.aStart.Row() > rSrcRange.aEnd.Row()) return STR_ERR_DATAPILOTSOURCE; - return nullptr; + return {}; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/core/data/dptabres.cxx b/sc/source/core/data/dptabres.cxx index 46311e3570a8..4c8f38c8e558 100644 --- a/sc/source/core/data/dptabres.cxx +++ b/sc/source/core/data/dptabres.cxx @@ -59,9 +59,9 @@ using ::com::sun::star::uno::Sequence; namespace { -const char* aFuncStrIds[] = // matching enum ScSubTotalFunc +const TranslateId aFuncStrIds[] = // matching enum ScSubTotalFunc { - nullptr, // SUBTOTAL_FUNC_NONE + {}, // SUBTOTAL_FUNC_NONE STR_FUN_TEXT_AVG, // SUBTOTAL_FUNC_AVE STR_FUN_TEXT_COUNT, // SUBTOTAL_FUNC_CNT STR_FUN_TEXT_COUNT, // SUBTOTAL_FUNC_CNT2 @@ -74,7 +74,7 @@ const char* aFuncStrIds[] = // matching enum ScSubTotalFunc STR_FUN_TEXT_VAR, // SUBTOTAL_FUNC_VAR STR_FUN_TEXT_VAR, // SUBTOTAL_FUNC_VARP STR_FUN_TEXT_MEDIAN, // SUBTOTAL_FUNC_MED - nullptr // SUBTOTAL_FUNC_SELECTION_COUNT - not used for pivot table + {} // SUBTOTAL_FUNC_SELECTION_COUNT - not used for pivot table }; bool lcl_SearchMember( const std::vector<std::unique_ptr<ScDPResultMember>>& list, SCROW nOrder, SCROW& rIndex) diff --git a/sc/source/core/data/dputil.cxx b/sc/source/core/data/dputil.cxx index 62d61a733055..07794c6c3a5d 100644 --- a/sc/source/core/data/dputil.cxx +++ b/sc/source/core/data/dputil.cxx @@ -362,8 +362,8 @@ sal_Int32 ScDPUtil::getDatePartValue( namespace { -const char* aFuncStrIds[] = { - nullptr, // SUBTOTAL_FUNC_NONE +const TranslateId aFuncStrIds[] = { + {}, // SUBTOTAL_FUNC_NONE STR_FUN_TEXT_AVG, // SUBTOTAL_FUNC_AVE STR_FUN_TEXT_COUNT, // SUBTOTAL_FUNC_CNT STR_FUN_TEXT_COUNT, // SUBTOTAL_FUNC_CNT2 @@ -376,7 +376,7 @@ const char* aFuncStrIds[] = { STR_FUN_TEXT_VAR, // SUBTOTAL_FUNC_VAR STR_FUN_TEXT_VAR, // SUBTOTAL_FUNC_VARP STR_FUN_TEXT_MEDIAN, // SUBTOTAL_FUNC_MED - nullptr // SUBTOTAL_FUNC_SELECTION_COUNT - not used for pivot table + {} // SUBTOTAL_FUNC_SELECTION_COUNT - not used for pivot table }; } @@ -384,7 +384,7 @@ const char* aFuncStrIds[] = { OUString ScDPUtil::getDisplayedMeasureName(const OUString& rName, ScSubTotalFunc eFunc) { assert(unsigned(eFunc) < SAL_N_ELEMENTS(aFuncStrIds)); - const char* pId = aFuncStrIds[eFunc]; + TranslateId pId = aFuncStrIds[eFunc]; if (!pId) return rName; return ScResId(pId) + // function name diff --git a/sc/source/core/data/funcdesc.cxx b/sc/source/core/data/funcdesc.cxx index 4f3187d078e8..741b785e0869 100644 --- a/sc/source/core/data/funcdesc.cxx +++ b/sc/source/core/data/funcdesc.cxx @@ -49,7 +49,7 @@ struct ScFuncDescCore /* * Pointer to list of strings */ - const char** pResource; + const TranslateId* pResource; /* * Count of list of strings */ diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx index 8c18329ab67b..60f66f6fd97d 100644 --- a/sc/source/core/data/global.cxx +++ b/sc/source/core/data/global.cxx @@ -300,7 +300,7 @@ void ScGlobal::SetUserList( const ScUserList* pNewList ) OUString ScGlobal::GetErrorString(FormulaError nErr) { - const char* pErrNumber; + TranslateId pErrNumber; switch (nErr) { case FormulaError::NoRef: @@ -332,7 +332,7 @@ OUString ScGlobal::GetErrorString(FormulaError nErr) OUString ScGlobal::GetLongErrorString(FormulaError nErr) { - const char* pErrNumber; + TranslateId pErrNumber; switch (nErr) { case FormulaError::NONE: diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx index 48c05bcaa40d..b3af3c17ec73 100644 --- a/sc/source/core/data/table3.cxx +++ b/sc/source/core/data/table3.cxx @@ -1914,7 +1914,7 @@ struct RowEntry } -static const char* lcl_GetSubTotalStrId(int id) +static TranslateId lcl_GetSubTotalStrId(int id) { switch ( id ) { @@ -2072,7 +2072,7 @@ bool ScTable::DoSubTotals( ScSubTotalParam& rParam ) if (aOutString.isEmpty()) aOutString = ScResId( STR_EMPTYDATA ); aOutString += " "; - const char* pStrId = STR_TABLE_ERGEBNIS; + TranslateId pStrId = STR_TABLE_ERGEBNIS; if ( nResCount == 1 ) pStrId = lcl_GetSubTotalStrId(pResFunc[0]); aOutString += ScResId(pStrId); diff --git a/sc/source/core/tool/autoform.cxx b/sc/source/core/tool/autoform.cxx index 9e88957575b4..7430eff33c91 100644 --- a/sc/source/core/tool/autoform.cxx +++ b/sc/source/core/tool/autoform.cxx @@ -563,7 +563,7 @@ void ScAutoFormatData::GetFromItemSet( sal_uInt16 nIndex, const SfxItemSet& rIte rField.SetRotateMode ( rItemSet.Get( ATTR_ROTATE_MODE ) ); } -static const char* RID_SVXSTR_TBLAFMT[] = +const TranslateId RID_SVXSTR_TBLAFMT[] = { RID_SVXSTR_TBLAFMT_3D, RID_SVXSTR_TBLAFMT_BLACK1, diff --git a/sc/source/core/tool/chgtrack.cxx b/sc/source/core/tool/chgtrack.cxx index d68009446dcc..24da3d93cc3a 100644 --- a/sc/source/core/tool/chgtrack.cxx +++ b/sc/source/core/tool/chgtrack.cxx @@ -671,7 +671,7 @@ void ScChangeActionIns::GetDescription( { ScChangeAction::GetDescription( rStr, rDoc, bSplitRange, bWarning ); - const char* pWhatId; + TranslateId pWhatId; switch ( GetType() ) { case SC_CAT_INSERT_COLS : @@ -905,7 +905,7 @@ void ScChangeActionDel::GetDescription( { ScChangeAction::GetDescription( rStr, rDoc, bSplitRange, bWarning ); - const char* pWhatId; + TranslateId pWhatId; switch ( GetType() ) { case SC_CAT_DELETE_COLS : diff --git a/sc/source/filter/excel/xepivot.cxx b/sc/source/filter/excel/xepivot.cxx index 8156b4579499..53a95144b3fc 100644 --- a/sc/source/filter/excel/xepivot.cxx +++ b/sc/source/filter/excel/xepivot.cxx @@ -870,7 +870,7 @@ OUString lclGetDataFieldCaption( std::u16string_view rFieldName, ScGeneralFuncti { OUString aCaption; - const char* pResIdx = nullptr; + TranslateId pResIdx; switch( eFunc ) { case ScGeneralFunction::SUM: pResIdx = STR_FUN_TEXT_SUM; break; diff --git a/sc/source/filter/ftools/fprogressbar.cxx b/sc/source/filter/ftools/fprogressbar.cxx index 89301c14da56..3b84e84924dd 100644 --- a/sc/source/filter/ftools/fprogressbar.cxx +++ b/sc/source/filter/ftools/fprogressbar.cxx @@ -42,7 +42,7 @@ ScfProgressBar::ScfProgressBar( SfxObjectShell* pDocShell, const OUString& rText Init( pDocShell ); } -ScfProgressBar::ScfProgressBar(SfxObjectShell* pDocShell, const char* pResId) +ScfProgressBar::ScfProgressBar(SfxObjectShell* pDocShell, TranslateId pResId) : maText(ScResId(pResId)) { Init( pDocShell ); @@ -200,7 +200,7 @@ ScfSimpleProgressBar::ScfSimpleProgressBar( std::size_t nSize, SfxObjectShell* p Init( nSize ); } -ScfSimpleProgressBar::ScfSimpleProgressBar(std::size_t nSize, SfxObjectShell* pDocShell, const char* pResId) +ScfSimpleProgressBar::ScfSimpleProgressBar(std::size_t nSize, SfxObjectShell* pDocShell, TranslateId pResId) : maProgress(pDocShell, pResId) { Init( nSize ); diff --git a/sc/source/filter/inc/fprogressbar.hxx b/sc/source/filter/inc/fprogressbar.hxx index e5ae8aaf5d6c..71baa3766edf 100644 --- a/sc/source/filter/inc/fprogressbar.hxx +++ b/sc/source/filter/inc/fprogressbar.hxx @@ -23,6 +23,7 @@ #include <memory> #include <rtl/ustring.hxx> #include <progress.hxx> +#include <unotools/resmgr.hxx> class SfxObjectShell; class SvStream; @@ -105,7 +106,7 @@ public: const ScfProgressBar operator=(const ScfProgressBar&) = delete; explicit ScfProgressBar(SfxObjectShell* pDocShell, const OUString& rText); - explicit ScfProgressBar(SfxObjectShell* pDocShell, const char* pResId); + explicit ScfProgressBar(SfxObjectShell* pDocShell, TranslateId pResId); ~ScfProgressBar(); /** Adds a new segment to the progress bar. @@ -186,7 +187,7 @@ class ScfSimpleProgressBar { public: explicit ScfSimpleProgressBar(std::size_t nSize, SfxObjectShell* pDocShell, const OUString& rText); - explicit ScfSimpleProgressBar(std::size_t nSize, SfxObjectShell* pDocShell, const char* pResId); + explicit ScfSimpleProgressBar(std::size_t nSize, SfxObjectShell* pDocShell, TranslateId pResId); /** Set progress bar to the specified position. */ void ProgressAbs( std::size_t nPos ) { maProgress.ProgressAbs( nPos ); } diff --git a/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx b/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx index 9c59007314af..f6871ccffa46 100644 --- a/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx @@ -22,7 +22,7 @@ namespace { struct StatisticCalculation { - const char* aLabelId; + TranslateId aLabelId; const char* aFormula; const char* aResultRangeName; }; @@ -34,10 +34,10 @@ StatisticCalculation const lclBasicStatistics[] = { STRID_CALC_SUM, "=SUM(%RANGE%)", "SUM_RANGE" }, { STRID_CALC_MEAN, "=AVERAGE(%RANGE%)", "MEAN_RANGE" }, { STRID_CALC_VARIANCE, "=VAR(%RANGE%)", "VAR_RANGE" }, - { nullptr, nullptr, nullptr } + { {}, nullptr, nullptr } }; -const char* lclAnovaLabels[] = +const TranslateId lclAnovaLabels[] = { STR_ANOVA_LABEL_SOURCE_OF_VARIATION, STR_ANOVA_LABEL_SS, @@ -46,7 +46,7 @@ const char* lclAnovaLabels[] = STR_ANOVA_LABEL_F, STR_ANOVA_LABEL_P_VALUE, STR_ANOVA_LABEL_F_CRITICAL, - nullptr + {} }; constexpr OUStringLiteral strWildcardRange = u"%RANGE%"; @@ -116,7 +116,7 @@ void ScAnalysisOfVarianceDialog::Close() DoClose( ScAnalysisOfVarianceDialogWrapper::GetChildWindowId() ); } -const char* ScAnalysisOfVarianceDialog::GetUndoNameId() +TranslateId ScAnalysisOfVarianceDialog::GetUndoNameId() { return STR_ANALYSIS_OF_VARIANCE_UNDO_NAME; } @@ -164,7 +164,7 @@ void ScAnalysisOfVarianceDialog::RowColumn(ScRangeList& rRangeList, AddressWalke } else { - const char* pLabelId = (aGroupedBy == BY_COLUMN) ? STR_COLUMN_LABEL_TEMPLATE : STR_ROW_LABEL_TEMPLATE; + TranslateId pLabelId = (aGroupedBy == BY_COLUMN) ? STR_COLUMN_LABEL_TEMPLATE : STR_ROW_LABEL_TEMPLATE; OUString aLabelTemplate(ScResId(pLabelId)); for (size_t i = 0; i < rRangeList.size(); i++) diff --git a/sc/source/ui/StatisticsDialogs/ChiSquareTestDialog.cxx b/sc/source/ui/StatisticsDialogs/ChiSquareTestDialog.cxx index 7fb2d50d7dee..cfcf53699df9 100644 --- a/sc/source/ui/StatisticsDialogs/ChiSquareTestDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/ChiSquareTestDialog.cxx @@ -32,7 +32,7 @@ void ScChiSquareTestDialog::Close() DoClose(ScChiSquareTestDialogWrapper::GetChildWindowId()); } -const char* ScChiSquareTestDialog::GetUndoNameId() +TranslateId ScChiSquareTestDialog::GetUndoNameId() { return STR_CHI_SQUARE_TEST; } diff --git a/sc/source/ui/StatisticsDialogs/CovarianceDialog.cxx b/sc/source/ui/StatisticsDialogs/CovarianceDialog.cxx index 7abff79dc571..b2849d316c37 100644 --- a/sc/source/ui/StatisticsDialogs/CovarianceDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/CovarianceDialog.cxx @@ -21,7 +21,7 @@ ScCovarianceDialog::ScCovarianceDialog( "modules/scalc/ui/covariancedialog.ui", "CovarianceDialog") {} -const char* ScCovarianceDialog::GetUndoNameId() +TranslateId ScCovarianceDialog::GetUndoNameId() { return STR_COVARIANCE_UNDO_NAME; } diff --git a/sc/source/ui/StatisticsDialogs/DescriptiveStatisticsDialog.cxx b/sc/source/ui/StatisticsDialogs/DescriptiveStatisticsDialog.cxx index ca2da6458860..0924278c50d9 100644 --- a/sc/source/ui/StatisticsDialogs/DescriptiveStatisticsDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/DescriptiveStatisticsDialog.cxx @@ -20,7 +20,7 @@ namespace { struct StatisticCalculation { - const char* aCalculationNameId; + TranslateId aCalculationNameId; const char* aFormula; }; @@ -41,7 +41,7 @@ const StatisticCalculation lclCalcDefinitions[] = { STRID_CALC_MAX, "=MAX(%RANGE%)"}, { STRID_CALC_SUM, "=SUM(%RANGE%)"}, { STRID_CALC_COUNT, "=COUNT(%RANGE%)" }, - { nullptr, nullptr } + { {}, nullptr } }; } @@ -63,7 +63,7 @@ void ScDescriptiveStatisticsDialog::Close() DoClose( ScDescriptiveStatisticsDialogWrapper::GetChildWindowId() ); } -const char* ScDescriptiveStatisticsDialog::GetUndoNameId() +TranslateId ScDescriptiveStatisticsDialog::GetUndoNameId() { return STR_DESCRIPTIVE_STATISTICS_UNDO_NAME; } diff --git a/sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx b/sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx index df3aef026b50..1a87f5beb3cd 100644 --- a/sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx @@ -36,7 +36,7 @@ void ScExponentialSmoothingDialog::Close() DoClose( ScExponentialSmoothingDialogWrapper::GetChildWindowId() ); } -const char* ScExponentialSmoothingDialog::GetUndoNameId() +TranslateId ScExponentialSmoothingDialog::GetUndoNameId() { return STR_EXPONENTIAL_SMOOTHING_UNDO_NAME; } diff --git a/sc/source/ui/StatisticsDialogs/FTestDialog.cxx b/sc/source/ui/StatisticsDialogs/FTestDialog.cxx index d7b86bc4869f..76b2bade62db 100644 --- a/sc/source/ui/StatisticsDialogs/FTestDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/FTestDialog.cxx @@ -34,7 +34,7 @@ void ScFTestDialog::Close() DoClose( ScFTestDialogWrapper::GetChildWindowId() ); } -const char* ScFTestDialog::GetUndoNameId() +TranslateId ScFTestDialog::GetUndoNameId() { return STR_FTEST_UNDO_NAME; } diff --git a/sc/source/ui/StatisticsDialogs/FourierAnalysisDialog.cxx b/sc/source/ui/StatisticsDialogs/FourierAnalysisDialog.cxx index 69da12adc126..13e622963f5b 100644 --- a/sc/source/ui/StatisticsDialogs/FourierAnalysisDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/FourierAnalysisDialog.cxx @@ -49,7 +49,7 @@ void ScFourierAnalysisDialog::Close() DoClose(ScFourierAnalysisDialogWrapper::GetChildWindowId()); } -const char* ScFourierAnalysisDialog::GetUndoNameId() { return STR_FOURIER_ANALYSIS; } +TranslateId ScFourierAnalysisDialog::GetUndoNameId() { return STR_FOURIER_ANALYSIS; } ScRange ScFourierAnalysisDialog::ApplyOutput(ScDocShell* pDocShell) { diff --git a/sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx b/sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx index 1b26119f8893..4345b816bb96 100644 --- a/sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx +++ b/sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx @@ -50,7 +50,7 @@ ScMatrixComparisonGenerator::ScMatrixComparisonGenerator( ScMatrixComparisonGenerator::~ScMatrixComparisonGenerator() {} -const char* ScMatrixComparisonGenerator::GetUndoNameId() +TranslateId ScMatrixComparisonGenerator::GetUndoNameId() { return STR_CORRELATION_UNDO_NAME; } diff --git a/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx b/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx index 813378cab952..9d990ed5a406 100644 --- a/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx @@ -37,7 +37,7 @@ void ScMovingAverageDialog::Close() DoClose( ScMovingAverageDialogWrapper::GetChildWindowId() ); } -const char* ScMovingAverageDialog::GetUndoNameId() +TranslateId ScMovingAverageDialog::GetUndoNameId() { return STR_MOVING_AVERAGE_UNDO_NAME; } diff --git a/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx b/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx index 3aa6b93626ee..91b43cbe0433 100644 --- a/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx @@ -250,7 +250,7 @@ void ScRandomNumberGeneratorDialog::SelectGeneratorAndGenerateNumbers() } template<class RNG> -void ScRandomNumberGeneratorDialog::GenerateNumbers(RNG& randomGenerator, const char* pDistributionStringId, std::optional<sal_Int8> aDecimalPlaces) +void ScRandomNumberGeneratorDialog::GenerateNumbers(RNG& randomGenerator, TranslateId pDistributionStringId, std::optional<sal_Int8> aDecimalPlaces) { OUString aUndo = ScResId(STR_UNDO_DISTRIBUTION_TEMPLATE); OUString aDistributionName = ScResId(pDistributionStringId); diff --git a/sc/source/ui/StatisticsDialogs/RegressionDialog.cxx b/sc/source/ui/StatisticsDialogs/RegressionDialog.cxx index 5a4002f97d62..fb4342444e95 100644 --- a/sc/source/ui/StatisticsDialogs/RegressionDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/RegressionDialog.cxx @@ -103,7 +103,7 @@ namespace POWER }; - const char* constRegressionModel[] = + const TranslateId constRegressionModel[] = { STR_LABEL_LINEAR, STR_LABEL_LOGARITHMIC, @@ -167,7 +167,7 @@ void ScRegressionDialog::Close() DoClose(ScRegressionDialogWrapper::GetChildWindowId()); } -const char* ScRegressionDialog::GetUndoNameId() +TranslateId ScRegressionDialog::GetUndoNameId() { return STR_REGRESSION_UNDO_NAME; } @@ -396,7 +396,7 @@ void ScRegressionDialog::WriteRegressionStatistics(AddressWalkerWriter& rOutput, rOutput.writeString(ScResId(STR_LABEL_REGRESSION_STATISTICS)); rOutput.newLine(); - const char* aMeasureNames[] = + const TranslateId aMeasureNames[] = { STR_LABEL_RSQUARED, STRID_CALC_STD_ERROR, diff --git a/sc/source/ui/StatisticsDialogs/TTestDialog.cxx b/sc/source/ui/StatisticsDialogs/TTestDialog.cxx index 9788fc192d4d..864d4ac4f6c2 100644 --- a/sc/source/ui/StatisticsDialogs/TTestDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/TTestDialog.cxx @@ -34,7 +34,7 @@ void ScTTestDialog::Close() DoClose( ScTTestDialogWrapper::GetChildWindowId() ); } -const char* ScTTestDialog::GetUndoNameId() +TranslateId ScTTestDialog::GetUndoNameId() { return STR_TTEST_UNDO_NAME; } diff --git a/sc/source/ui/StatisticsDialogs/ZTestDialog.cxx b/sc/source/ui/StatisticsDialogs/ZTestDialog.cxx index 2421b3ef19f7..a1731fa8f055 100644 --- a/sc/source/ui/StatisticsDialogs/ZTestDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/ZTestDialog.cxx @@ -34,7 +34,7 @@ void ScZTestDialog::Close() DoClose( ScZTestDialogWrapper::GetChildWindowId() ); } -const char* ScZTestDialog::GetUndoNameId() +TranslateId ScZTestDialog::GetUndoNameId() { return STR_ZTEST_UNDO_NAME; } diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx index b3e644fc8620..1dea0d05109e 100644 --- a/sc/source/ui/app/inputhdl.cxx +++ b/sc/source/ui/app/inputhdl.cxx @@ -2375,7 +2375,7 @@ bool ScInputHandler::StartTable( sal_Unicode cTyped, bool bFromCommand, bool bIn // whether it's part of an array or not or whether explicit cell // activation is requested (double-click or F2) or a click in input // line. - bool bShowError = (!bInputActivated || !aTester.GetMessageId() || strcmp(aTester.GetMessageId(), STR_PROTECTIONERR) != 0) && + bool bShowError = (!bInputActivated || !aTester.GetMessageId() || aTester.GetMessageId() != STR_PROTECTIONERR) && !pActiveViewSh->GetViewData().GetDocShell()->IsReadOnly(); if (bShowError) { diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx index 7aa3084fe84e..252e2f21a745 100644 --- a/sc/source/ui/app/inputwin.cxx +++ b/sc/source/ui/app/inputwin.cxx @@ -2438,7 +2438,7 @@ IMPL_LINK_NOARG(ScPosWnd, ModifyHdl, weld::ComboBox&, void) // determine the action that would be taken for the current input ScNameInputType eType = lcl_GetInputType(m_xWidget->get_active_text()); // uses current view - const char* pStrId = nullptr; + TranslateId pStrId; switch ( eType ) { case SC_NAME_INPUT_CELL: @@ -2523,7 +2523,7 @@ void ScPosWnd::DoEnter() ScNameInputType eType = lcl_GetInputType( aText ); if ( eType == SC_NAME_INPUT_BAD_NAME || eType == SC_NAME_INPUT_BAD_SELECTION ) { - const char* pId = (eType == SC_NAME_INPUT_BAD_NAME) ? STR_NAME_ERROR_NAME : STR_NAME_ERROR_SELECTION; + TranslateId pId = (eType == SC_NAME_INPUT_BAD_NAME) ? STR_NAME_ERROR_NAME : STR_NAME_ERROR_SELECTION; pViewSh->ErrorMessage(pId); } else if ( eType == SC_NAME_INPUT_DEFINE ) diff --git a/sc/source/ui/app/scdll.cxx b/sc/source/ui/app/scdll.cxx index 2dbebc32f675..b7f58002f71b 100644 --- a/sc/source/ui/app/scdll.cxx +++ b/sc/source/ui/app/scdll.cxx @@ -86,14 +86,14 @@ #include <filter.hxx> #include <scabstdlg.hxx> -OUString ScResId(std::string_view aId) +OUString ScResId(TranslateId aId) { return Translate::get(aId, SC_MOD()->GetResLocale()); } -OUString ScResId(std::string_view aId, int nCardinality) +OUString ScResId(TranslateNId aContextSingularPlural, int nCardinality) { - return Translate::nget(aId, nCardinality, SC_MOD()->GetResLocale()); + return Translate::nget(aContextSingularPlural, nCardinality, SC_MOD()->GetResLocale()); } void ScDLL::Init() diff --git a/sc/source/ui/condformat/condformathelper.cxx b/sc/source/ui/condformat/condformathelper.cxx index b595b6f8d157..00509b7e2559 100644 --- a/sc/source/ui/condformat/condformathelper.cxx +++ b/sc/source/ui/condformat/condformathelper.cxx @@ -103,7 +103,7 @@ OUString getExpression(sal_Int32 nIndex) OUString getDateString(sal_Int32 nIndex) { - const char* aCondStrs[] = + const TranslateId aCondStrs[] = { STR_COND_TODAY, STR_COND_YESTERDAY, diff --git a/sc/source/ui/dbgui/PivotLayoutDialog.cxx b/sc/source/ui/dbgui/PivotLayoutDialog.cxx index 39357771105d..05a9428eda5e 100644 --- a/sc/source/ui/dbgui/PivotLayoutDialog.cxx +++ b/sc/source/ui/dbgui/PivotLayoutDialog.cxx @@ -441,7 +441,7 @@ void ScPivotLayoutDialog::UpdateSourceRange() return; aSourceSheet.SetSourceRange(aSourceRange); - if (aSourceSheet.CheckSourceRange() != nullptr) + if (aSourceSheet.CheckSourceRange()) { mxSourceEdit->SetRefValid(false); return; diff --git a/sc/source/ui/dbgui/PivotLayoutTreeListData.cxx b/sc/source/ui/dbgui/PivotLayoutTreeListData.cxx index 0e5b5bfd4021..a894a03d14c4 100644 --- a/sc/source/ui/dbgui/PivotLayoutTreeListData.cxx +++ b/sc/source/ui/dbgui/PivotLayoutTreeListData.cxx @@ -25,7 +25,7 @@ namespace OUString lclGetFunctionMaskName(const PivotFunc nFunctionMask) { - const char* pStrId = nullptr; + TranslateId pStrId; switch (nFunctionMask) { case PivotFunc::Sum: pStrId = STR_FUN_TEXT_SUM; break; diff --git a/sc/source/ui/dbgui/consdlg.cxx b/sc/source/ui/dbgui/consdlg.cxx index 3c63a9f14692..a4d02ac792b4 100644 --- a/sc/source/ui/dbgui/consdlg.cxx +++ b/sc/source/ui/dbgui/consdlg.cxx @@ -38,7 +38,7 @@ namespace { - void INFOBOX(weld::Window* pWindow, const char* id) + void INFOBOX(weld::Window* pWindow, TranslateId id) { std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow, VclMessageType::Info, VclButtonsType::Ok, diff --git a/sc/source/ui/dbgui/dpgroupdlg.cxx b/sc/source/ui/dbgui/dpgroupdlg.cxx index 4846a9c48aed..550695cc3199 100644 --- a/sc/source/ui/dbgui/dpgroupdlg.cxx +++ b/sc/source/ui/dbgui/dpgroupdlg.cxx @@ -43,7 +43,7 @@ const sal_Int32 spnDateParts[] = css::sheet::DataPilotFieldGroupBy::YEARS }; -const char* aDatePartResIds[] = +const TranslateId aDatePartResIds[] = { STR_DPFIELD_GROUP_BY_SECONDS, STR_DPFIELD_GROUP_BY_MINUTES, diff --git a/sc/source/ui/dbgui/sfiltdlg.cxx b/sc/source/ui/dbgui/sfiltdlg.cxx index 4f47e4e940a1..030741e3e2bc 100644 --- a/sc/source/ui/dbgui/sfiltdlg.cxx +++ b/sc/source/ui/dbgui/sfiltdlg.cxx @@ -40,7 +40,7 @@ namespace { - void ERRORBOX(weld::Window* pParent, const char* rid) + void ERRORBOX(weld::Window* pParent, TranslateId rid) { std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pParent, VclMessageType::Warning, VclButtonsType::Ok, diff --git a/sc/source/ui/docshell/dbdocfun.cxx b/sc/source/ui/docshell/dbdocfun.cxx index 6c374e1b09a3..b53d5842446c 100644 --- a/sc/source/ui/docshell/dbdocfun.cxx +++ b/sc/source/ui/docshell/dbdocfun.cxx @@ -1640,7 +1640,7 @@ void ScDBDocFunc::RefreshPivotTables(const ScDPObject* pDPObj, bool bApi) return; o3tl::sorted_vector<ScDPObject*> aRefs; - const char* pErrId = pDPs->ReloadCache(pDPObj, aRefs); + TranslateId pErrId = pDPs->ReloadCache(pDPObj, aRefs); if (pErrId) return; diff --git a/sc/source/ui/docshell/dbdocimp.cxx b/sc/source/ui/docshell/dbdocimp.cxx index 2d8f7dce8ddb..42b20f3d2cb5 100644 --- a/sc/source/ui/docshell/dbdocimp.cxx +++ b/sc/source/ui/docshell/dbdocimp.cxx @@ -142,7 +142,7 @@ bool ScDBDocFunc::DoImport( SCTAB nTab, const ScImportParam& rParam, bool bSuccess = false; bool bTruncated = false; // for warning - const char* pErrStringId = nullptr; + TranslateId pErrStringId; OUString aErrorMessage; SCCOL nCol = rParam.nCol1; diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx index 2133ee93bd6e..ac011281dd36 100644 --- a/sc/source/ui/docshell/docfunc.cxx +++ b/sc/source/ui/docshell/docfunc.cxx @@ -5751,7 +5751,7 @@ void ScDocFunc::ConvertFormulaToValue( const ScRange& rRange, bool bInteraction aModificator.SetDocumentModified(); } -void ScDocFunc::EnterListAction(const char* pNameResId) +void ScDocFunc::EnterListAction(TranslateId pNameResId) { OUString aUndo(ScResId(pNameResId)); ViewShellId nViewShellId(-1); diff --git a/sc/source/ui/docshell/docsh5.cxx b/sc/source/ui/docshell/docsh5.cxx index 08ac3b5f0fe0..3afc8c5b4fa5 100644 --- a/sc/source/ui/docshell/docsh5.cxx +++ b/sc/source/ui/docshell/docsh5.cxx @@ -67,7 +67,7 @@ using ::std::vector; // former viewfunc/dbfunc methods -void ScDocShell::ErrorMessage(const char* pGlobStrId) +void ScDocShell::ErrorMessage(TranslateId pGlobStrId) { //! StopMarking at the (active) view? @@ -75,7 +75,7 @@ void ScDocShell::ErrorMessage(const char* pGlobStrId) weld::WaitObject aWaitOff( pParent ); bool bFocus = pParent && pParent->has_focus(); - if (pGlobStrId && strcmp(pGlobStrId, STR_PROTECTIONERR) == 0) + if (pGlobStrId && pGlobStrId == STR_PROTECTIONERR) { if (IsReadOnly()) { diff --git a/sc/source/ui/docshell/editable.cxx b/sc/source/ui/docshell/editable.cxx index 1de616790124..86bbb9f2e004 100644 --- a/sc/source/ui/docshell/editable.cxx +++ b/sc/source/ui/docshell/editable.cxx @@ -149,10 +149,10 @@ void ScEditableTester::TestBlockForAction( } } -const char* ScEditableTester::GetMessageId() const +TranslateId ScEditableTester::GetMessageId() const { if (mbIsEditable) - return nullptr; + return {}; else if (mbOnlyMatrix) return STR_MATRIXFRAGMENTERR; else diff --git a/sc/source/ui/drawfunc/fuconrec.cxx b/sc/source/ui/drawfunc/fuconrec.cxx index 6e9056027009..c112617652b4 100644 --- a/sc/source/ui/drawfunc/fuconrec.cxx +++ b/sc/source/ui/drawfunc/fuconrec.cxx @@ -56,7 +56,7 @@ FuConstRectangle::~FuConstRectangle() namespace { -::basegfx::B2DPolyPolygon getPolygon(const char* pResId, const SdrModel& rModel) +::basegfx::B2DPolyPolygon getPolygon(TranslateId pResId, const SdrModel& rModel) { ::basegfx::B2DPolyPolygon aRetval; XLineEndListRef pLineEndList(rModel.GetLineEndList()); diff --git a/sc/source/ui/inc/AnalysisOfVarianceDialog.hxx b/sc/source/ui/inc/AnalysisOfVarianceDialog.hxx index 675cc422e1e6..35c53e72778f 100644 --- a/sc/source/ui/inc/AnalysisOfVarianceDialog.hxx +++ b/sc/source/ui/inc/AnalysisOfVarianceDialog.hxx @@ -54,7 +54,7 @@ public: virtual void Close() override; protected: - virtual const char* GetUndoNameId() override; + virtual TranslateId GetUndoNameId() override; virtual ScRange ApplyOutput(ScDocShell* pDocShell) override; }; diff --git a/sc/source/ui/inc/ChiSquareTestDialog.hxx b/sc/source/ui/inc/ChiSquareTestDialog.hxx index 584035c8e83c..20e7d696c95f 100644 --- a/sc/source/ui/inc/ChiSquareTestDialog.hxx +++ b/sc/source/ui/inc/ChiSquareTestDialog.hxx @@ -24,7 +24,7 @@ public: virtual void Close() override; protected: - virtual const char* GetUndoNameId() override; + virtual TranslateId GetUndoNameId() override; virtual ScRange ApplyOutput(ScDocShell* pDocShell) override; }; diff --git a/sc/source/ui/inc/CovarianceDialog.hxx b/sc/source/ui/inc/CovarianceDialog.hxx index ae30b34e086b..181bebeac154 100644 --- a/sc/source/ui/inc/CovarianceDialog.hxx +++ b/sc/source/ui/inc/CovarianceDialog.hxx @@ -24,7 +24,7 @@ public: protected: virtual OUString getLabel() override; virtual OUString getTemplate() override; - virtual const char* GetUndoNameId() override; + virtual TranslateId GetUndoNameId() override; }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/inc/DescriptiveStatisticsDialog.hxx b/sc/source/ui/inc/DescriptiveStatisticsDialog.hxx index 9edd1329021e..dd2488450beb 100644 --- a/sc/source/ui/inc/DescriptiveStatisticsDialog.hxx +++ b/sc/source/ui/inc/DescriptiveStatisticsDialog.hxx @@ -24,7 +24,7 @@ public: virtual void Close() override; protected: - virtual const char* GetUndoNameId() override; + virtual TranslateId GetUndoNameId() override; virtual ScRange ApplyOutput(ScDocShell* pDocShell) override; }; diff --git a/sc/source/ui/inc/ExponentialSmoothingDialog.hxx b/sc/source/ui/inc/ExponentialSmoothingDialog.hxx index 0d425fdbc0a2..54b877167805 100644 --- a/sc/source/ui/inc/ExponentialSmoothingDialog.hxx +++ b/sc/source/ui/inc/ExponentialSmoothingDialog.hxx @@ -30,7 +30,7 @@ public: virtual void Close() override; protected: - virtual const char* GetUndoNameId() override; + virtual TranslateId GetUndoNameId() override; virtual ScRange ApplyOutput(ScDocShell* pDocShell) override; }; diff --git a/sc/source/ui/inc/FTestDialog.hxx b/sc/source/ui/inc/FTestDialog.hxx index f1a0467b24d0..efd477ce08bb 100644 --- a/sc/source/ui/inc/FTestDialog.hxx +++ b/sc/source/ui/inc/FTestDialog.hxx @@ -24,7 +24,7 @@ public: virtual void Close() override; protected: - virtual const char* GetUndoNameId() override; + virtual TranslateId GetUndoNameId() override; virtual ScRange ApplyOutput(ScDocShell* pDocShell) override; }; diff --git a/sc/source/ui/inc/FourierAnalysisDialog.hxx b/sc/source/ui/inc/FourierAnalysisDialog.hxx index ab9507e31c49..f839b274e4d8 100644 --- a/sc/source/ui/inc/FourierAnalysisDialog.hxx +++ b/sc/source/ui/inc/FourierAnalysisDialog.hxx @@ -41,7 +41,7 @@ public: virtual void Close() override; protected: - virtual const char* GetUndoNameId() override; + virtual TranslateId GetUndoNameId() override; virtual ScRange ApplyOutput(ScDocShell* pDocShell) override; virtual bool InputRangesValid() override; diff --git a/sc/source/ui/inc/MatrixComparisonGenerator.hxx b/sc/source/ui/inc/MatrixComparisonGenerator.hxx index e68d60772035..058b9611a758 100644 --- a/sc/source/ui/inc/MatrixComparisonGenerator.hxx +++ b/sc/source/ui/inc/MatrixComparisonGenerator.hxx @@ -26,7 +26,7 @@ public: virtual ~ScMatrixComparisonGenerator() override; protected: - virtual const char* GetUndoNameId() override; + virtual TranslateId GetUndoNameId() override; virtual ScRange ApplyOutput(ScDocShell* pDocShell) override; virtual OUString getLabel() = 0; diff --git a/sc/source/ui/inc/MovingAverageDialog.hxx b/sc/source/ui/inc/MovingAverageDialog.hxx index fe03e2631d08..216b67c8b400 100644 --- a/sc/source/ui/inc/MovingAverageDialog.hxx +++ b/sc/source/ui/inc/MovingAverageDialog.hxx @@ -31,7 +31,7 @@ public: virtual void Close() override; protected: - virtual const char* GetUndoNameId() override; + virtual TranslateId GetUndoNameId() override; virtual ScRange ApplyOutput(ScDocShell* pDocShell) override; }; diff --git a/sc/source/ui/inc/RandomNumberGeneratorDialog.hxx b/sc/source/ui/inc/RandomNumberGeneratorDialog.hxx index 40a457732909..0f890fc79936 100644 --- a/sc/source/ui/inc/RandomNumberGeneratorDialog.hxx +++ b/sc/source/ui/inc/RandomNumberGeneratorDialog.hxx @@ -62,7 +62,7 @@ private: template<class RNG> - void GenerateNumbers(RNG& randomGenerator, const char* pDistributionStringId, const std::optional<sal_Int8> aDecimalPlaces); + void GenerateNumbers(RNG& randomGenerator, TranslateId pDistributionStringId, const std::optional<sal_Int8> aDecimalPlaces); void SelectGeneratorAndGenerateNumbers(); diff --git a/sc/source/ui/inc/RegressionDialog.hxx b/sc/source/ui/inc/RegressionDialog.hxx index cab704d96384..59accf265c3b 100644 --- a/sc/source/ui/inc/RegressionDialog.hxx +++ b/sc/source/ui/inc/RegressionDialog.hxx @@ -40,7 +40,7 @@ public: virtual void Close() override; protected: - virtual const char* GetUndoNameId() override; + virtual TranslateId GetUndoNameId() override; virtual ScRange ApplyOutput(ScDocShell* pDocShell) override; virtual bool InputRangesValid() override; diff --git a/sc/source/ui/inc/StatisticsInputOutputDialog.hxx b/sc/source/ui/inc/StatisticsInputOutputDialog.hxx index 6f35e75472ea..2de05951b3ab 100644 --- a/sc/source/ui/inc/StatisticsInputOutputDialog.hxx +++ b/sc/source/ui/inc/StatisticsInputOutputDialog.hxx @@ -37,7 +37,7 @@ protected: void CalculateInputAndWriteToOutput(); virtual ScRange ApplyOutput(ScDocShell* pDocShell) = 0; - virtual const char* GetUndoNameId() = 0; + virtual TranslateId GetUndoNameId() = 0; virtual bool InputRangesValid(); void ValidateDialogInput(); diff --git a/sc/source/ui/inc/StatisticsTwoVariableDialog.hxx b/sc/source/ui/inc/StatisticsTwoVariableDialog.hxx index 8ac10b3c42df..3b1d5e46781f 100644 --- a/sc/source/ui/inc/StatisticsTwoVariableDialog.hxx +++ b/sc/source/ui/inc/StatisticsTwoVariableDialog.hxx @@ -36,7 +36,7 @@ protected: void CalculateInputAndWriteToOutput(); virtual ScRange ApplyOutput(ScDocShell* pDocShell) = 0; - virtual const char* GetUndoNameId() = 0; + virtual TranslateId GetUndoNameId() = 0; virtual bool InputRangesValid(); void ValidateDialogInput(); diff --git a/sc/source/ui/inc/TTestDialog.hxx b/sc/source/ui/inc/TTestDialog.hxx index 1cfa7475c2d1..0ed370dce2d4 100644 --- a/sc/source/ui/inc/TTestDialog.hxx +++ b/sc/source/ui/inc/TTestDialog.hxx @@ -24,7 +24,7 @@ public: virtual void Close() override; protected: - virtual const char* GetUndoNameId() override; + virtual TranslateId GetUndoNameId() override; virtual ScRange ApplyOutput(ScDocShell* pDocShell) override; }; diff --git a/sc/source/ui/inc/ZTestDialog.hxx b/sc/source/ui/inc/ZTestDialog.hxx index c9b62603ca48..2476c38f32a7 100644 --- a/sc/source/ui/inc/ZTestDialog.hxx +++ b/sc/source/ui/inc/ZTestDialog.hxx @@ -24,7 +24,7 @@ public: virtual void Close() override; protected: - virtual const char* GetUndoNameId() override; + virtual TranslateId GetUndoNameId() override; virtual ScRange ApplyOutput(ScDocShell* pDocShell) override; }; diff --git a/sc/source/ui/inc/docfunc.hxx b/sc/source/ui/inc/docfunc.hxx index 43839eb94d21..4a8cad6dc9d6 100644 --- a/sc/source/ui/inc/docfunc.hxx +++ b/sc/source/ui/inc/docfunc.hxx @@ -23,6 +23,7 @@ #include <global.hxx> #include <formula/grammar.hxx> #include <tabbgcolor.hxx> +#include <unotools/resmgr.hxx> #include <memory> #include <vector> @@ -73,7 +74,7 @@ public: void NotifyDrawUndo(std::unique_ptr<SdrUndoAction>); // for grouping multiple operations into one with a new name - void EnterListAction(const char* pNameResId); + void EnterListAction(TranslateId pNameResId); void EndListAction(); bool DetectiveAddPred(const ScAddress& rPos); diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx index 57f172ef2b5e..83cd3a20857e 100644 --- a/sc/source/ui/inc/docsh.hxx +++ b/sc/source/ui/inc/docsh.hxx @@ -259,7 +259,7 @@ public: void DoAutoStyle( const ScRange& rRange, const OUString& rStyle ); static weld::Window* GetActiveDialogParent(); - void ErrorMessage(const char* pGlobStrId); + void ErrorMessage(TranslateId pGlobStrId); bool IsEditable() const; bool AdjustRowHeight( SCROW nStartRow, SCROW nEndRow, SCTAB nTab ); diff --git a/sc/source/ui/inc/editable.hxx b/sc/source/ui/inc/editable.hxx index e03a1235743a..1c229a1b11ef 100644 --- a/sc/source/ui/inc/editable.hxx +++ b/sc/source/ui/inc/editable.hxx @@ -20,6 +20,7 @@ #pragma once #include <address.hxx> +#include <unotools/resmgr.hxx> class ScDocument; class ScViewFunc; @@ -82,7 +83,7 @@ public: bool IsEditable() const { return mbIsEditable; } bool IsFormatEditable() const { return mbIsEditable || mbOnlyMatrix; } - const char* GetMessageId() const; + TranslateId GetMessageId() const; }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/inc/tabview.hxx b/sc/source/ui/inc/tabview.hxx index 93cedfee36ec..0bdc143d3e62 100644 --- a/sc/source/ui/inc/tabview.hxx +++ b/sc/source/ui/inc/tabview.hxx @@ -576,7 +576,7 @@ public: void SplitAtPixel( const Point& rPixel ); void InvalidateSplit(); - void ErrorMessage(const char* pGlobStrId); + void ErrorMessage(TranslateId pGlobStrId); void EnableRefInput(bool bFlag); diff --git a/sc/source/ui/navipi/content.cxx b/sc/source/ui/navipi/content.cxx index d477fef62439..a5d464821f12 100644 --- a/sc/source/ui/navipi/content.cxx +++ b/sc/source/ui/navipi/content.cxx @@ -163,7 +163,7 @@ ScContentTree::~ScContentTree() } } -static const char* SCSTR_CONTENT_ARY[] = +const TranslateId SCSTR_CONTENT_ARY[] = { SCSTR_CONTENT_ROOT, SCSTR_CONTENT_TABLE, diff --git a/sc/source/ui/pagedlg/areasdlg.cxx b/sc/source/ui/pagedlg/areasdlg.cxx index e90f32408fcd..2c52fcdd868d 100644 --- a/sc/source/ui/pagedlg/areasdlg.cxx +++ b/sc/source/ui/pagedlg/areasdlg.cxx @@ -51,7 +51,7 @@ enum { namespace { - void ERRORBOX(weld::Window* pParent, const char* rId) + void ERRORBOX(weld::Window* pParent, TranslateId rId) { std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pParent, VclMessageType::Warning, VclButtonsType::Ok, diff --git a/sc/source/ui/undo/undoblk.cxx b/sc/source/ui/undo/undoblk.cxx index 6706b19adc0b..438cacb4884d 100644 --- a/sc/source/ui/undo/undoblk.cxx +++ b/sc/source/ui/undo/undoblk.cxx @@ -1986,7 +1986,7 @@ ScUndoIndent::~ScUndoIndent() OUString ScUndoIndent::GetComment() const { - const char* pId = bIsIncrement ? STR_UNDO_INC_INDENT : STR_UNDO_DEC_INDENT; + TranslateId pId = bIsIncrement ? STR_UNDO_INC_INDENT : STR_UNDO_DEC_INDENT; return ScResId(pId); } diff --git a/sc/source/ui/undo/undocell.cxx b/sc/source/ui/undo/undocell.cxx index 583e2dd4e832..8323cd824612 100644 --- a/sc/source/ui/undo/undocell.cxx +++ b/sc/source/ui/undo/undocell.cxx @@ -893,7 +893,7 @@ ScUndoDetective::~ScUndoDetective() OUString ScUndoDetective::GetComment() const { - const char* pId = STR_UNDO_DETDELALL; + TranslateId pId = STR_UNDO_DETDELALL; if ( !bIsDelete ) switch ( static_cast<ScDetOpType>(nAction) ) { diff --git a/sc/source/ui/undo/undodat.cxx b/sc/source/ui/undo/undodat.cxx index cd92934d1b6c..5f6578f71ff1 100644 --- a/sc/source/ui/undo/undodat.cxx +++ b/sc/source/ui/undo/undodat.cxx @@ -1419,7 +1419,7 @@ ScUndoDataPilot::ScUndoDataPilot( ScDocShell* pNewDocShell, OUString ScUndoDataPilot::GetComment() const { - const char* pResId; + TranslateId pResId; if (xOldUndoDoc && xNewUndoDoc) pResId = STR_UNDO_PIVOT_MODIFY; else if (xNewUndoDoc) diff --git a/sc/source/ui/undo/undostyl.cxx b/sc/source/ui/undo/undostyl.cxx index 9596edb07a01..f110d0190051 100644 --- a/sc/source/ui/undo/undostyl.cxx +++ b/sc/source/ui/undo/undostyl.cxx @@ -83,7 +83,7 @@ ScUndoModifyStyle::~ScUndoModifyStyle() OUString ScUndoModifyStyle::GetComment() const { - const char* pId = (eFamily == SfxStyleFamily::Para) ? + TranslateId pId = (eFamily == SfxStyleFamily::Para) ? STR_UNDO_EDITCELLSTYLE : STR_UNDO_EDITPAGESTYLE; return ScResId(pId); diff --git a/sc/source/ui/undo/undotab.cxx b/sc/source/ui/undo/undotab.cxx index e0def882cea6..28f8188b34b0 100644 --- a/sc/source/ui/undo/undotab.cxx +++ b/sc/source/ui/undo/undotab.cxx @@ -1138,7 +1138,7 @@ bool ScUndoShowHideTab::CanRepeat(SfxRepeatTarget& rTarget) const OUString ScUndoShowHideTab::GetComment() const { - const char* pId; + TranslateId pId; if (undoTabs.size() > 1) { pId = bShow ? STR_UNDO_SHOWTABS : STR_UNDO_HIDETABS; @@ -1214,7 +1214,7 @@ bool ScUndoDocProtect::CanRepeat(SfxRepeatTarget& /* rTarget */) const OUString ScUndoDocProtect::GetComment() const { - const char* pId = mpProtectSettings->isProtected() ? STR_UNDO_PROTECT_DOC : STR_UNDO_UNPROTECT_DOC; + TranslateId pId = mpProtectSettings->isProtected() ? STR_UNDO_PROTECT_DOC : STR_UNDO_UNPROTECT_DOC; return ScResId(pId); } @@ -1284,7 +1284,7 @@ bool ScUndoTabProtect::CanRepeat(SfxRepeatTarget& /* rTarget */) const OUString ScUndoTabProtect::GetComment() const { - const char* pId = mpProtectSettings->isProtected() ? STR_UNDO_PROTECT_TAB : STR_UNDO_UNPROTECT_TAB; + TranslateId pId = mpProtectSettings->isProtected() ? STR_UNDO_PROTECT_TAB : STR_UNDO_UNPROTECT_TAB; return ScResId(pId); } diff --git a/sc/source/ui/unoobj/styleuno.cxx b/sc/source/ui/unoobj/styleuno.cxx index dfbee4752ae7..98568aa82994 100644 --- a/sc/source/ui/unoobj/styleuno.cxx +++ b/sc/source/ui/unoobj/styleuno.cxx @@ -894,7 +894,7 @@ uno::Any SAL_CALL ScStyleFamilyObj::getPropertyValue( const OUString& sPropertyN } SolarMutexGuard aGuard; - const char* pResId = nullptr; + TranslateId pResId; switch ( eFamily ) { case SfxStyleFamily::Para: diff --git a/sc/source/ui/unoobj/targuno.cxx b/sc/source/ui/unoobj/targuno.cxx index 35e695451ce1..b7ecd021f369 100644 --- a/sc/source/ui/unoobj/targuno.cxx +++ b/sc/source/ui/unoobj/targuno.cxx @@ -43,7 +43,7 @@ using namespace ::com::sun::star; -static const char* aTypeResIds[SC_LINKTARGETTYPE_COUNT] = +const TranslateId aTypeResIds[SC_LINKTARGETTYPE_COUNT] = { SCSTR_CONTENT_TABLE, // SC_LINKTARGETTYPE_SHEET SCSTR_CONTENT_RANGENAME, // SC_LINKTARGETTYPE_RANGENAME diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx index fa0b55d75e66..972fe5675f54 100644 --- a/sc/source/ui/view/cellsh1.cxx +++ b/sc/source/ui/view/cellsh1.cxx @@ -3016,7 +3016,7 @@ void RunPivotLayoutDialog(ScModule* pScMod, void SetupRangeForPivotTableDialog(const ScRange& rRange, ScAddress& rDestPos, ScDocument* pDoc, - const char* pSrcErrorId, + TranslateId pSrcErrorId, std::unique_ptr<ScDPObject>& pNewDPObject) { ScSheetSourceDesc aShtDesc(pDoc); @@ -3035,7 +3035,7 @@ void SetupRangeForPivotTableDialog(const ScRange& rRange, rRange.aStart.Tab() ); } -void ErrorOrRunPivotLayoutDialog(const char* pSrcErrorId, +void ErrorOrRunPivotLayoutDialog(TranslateId pSrcErrorId, ScAddress& rDestPos, ScModule* pScMod, ScTabViewShell* pTabViewShell, @@ -3171,7 +3171,7 @@ void ScCellShell::ExecuteDataPilotDialog() } else { - const char* pSrcErrorId = nullptr; + TranslateId pSrcErrorId; if (pTypeDlg->IsNamedRange()) { diff --git a/sc/source/ui/view/dbfunc3.cxx b/sc/source/ui/view/dbfunc3.cxx index 8258b52d6846..31a922ff0613 100644 --- a/sc/source/ui/view/dbfunc3.cxx +++ b/sc/source/ui/view/dbfunc3.cxx @@ -1395,7 +1395,7 @@ void ScDBFunc::DataPilotInput( const ScAddress& rPos, const OUString& rString ) return; } - const char* pErrorId = nullptr; + TranslateId pErrorId; pDPObj->BuildAllDimensionMembers(); ScDPSaveData aData( *pDPObj->GetSaveData() ); diff --git a/sc/source/ui/view/tabview2.cxx b/sc/source/ui/view/tabview2.cxx index 0ec66ee6eb3c..ecfcd036c750 100644 --- a/sc/source/ui/view/tabview2.cxx +++ b/sc/source/ui/view/tabview2.cxx @@ -1410,7 +1410,7 @@ void ScTabView::MakeDrawLayer() } } -void ScTabView::ErrorMessage(const char* pGlobStrId) +void ScTabView::ErrorMessage(TranslateId pGlobStrId) { if ( SC_MOD()->IsInExecuteDrop() ) { @@ -1424,7 +1424,7 @@ void ScTabView::ErrorMessage(const char* pGlobStrId) weld::WaitObject aWaitOff( pParent ); bool bFocus = pParent && pParent->has_focus(); - if (pGlobStrId && strcmp(pGlobStrId, STR_PROTECTIONERR) == 0) + if (pGlobStrId && pGlobStrId == STR_PROTECTIONERR) { if (aViewData.GetDocShell()->IsReadOnly()) { diff --git a/sc/source/ui/view/tabvwsha.cxx b/sc/source/ui/view/tabvwsha.cxx index 07c915ad7b7f..a3f06eb69e63 100644 --- a/sc/source/ui/view/tabvwsha.cxx +++ b/sc/source/ui/view/tabvwsha.cxx @@ -86,7 +86,7 @@ bool ScTabViewShell::GetFunction( OUString& rFuncStr, FormulaError nErrCode ) return true; } - const char* pGlobStrId = nullptr; + TranslateId pGlobStrId; switch (eFunc) { case SUBTOTAL_FUNC_AVE: pGlobStrId = STR_FUN_TEXT_AVG; break; diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx index 4e5e149c9755..31e36774d187 100644 --- a/sc/source/ui/view/viewfunc.cxx +++ b/sc/source/ui/view/viewfunc.cxx @@ -1773,7 +1773,7 @@ void ScViewFunc::DeleteMulti( bool bRows ) // test if allowed - const char* pErrorId = nullptr; + TranslateId pErrorId; bool bNeedRefresh = false; for (size_t i = 0, n = aSpans.size(); i < n && !pErrorId; ++i) { diff --git a/scaddins/inc/analysis.hrc b/scaddins/inc/analysis.hrc index 0657898ac8b2..e20d7c73f22e 100644 --- a/scaddins/inc/analysis.hrc +++ b/scaddins/inc/analysis.hrc @@ -19,9 +19,11 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#include <unotools/resmgr.hxx> -const char* ANALYSIS_Workday[] = +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) + +const TranslateId ANALYSIS_Workday[] = { NC_("ANALYSIS_Workday", "Returns the serial number of the date before or after a specified number of workdays"), NC_("ANALYSIS_Workday", "Start date"), @@ -32,7 +34,7 @@ const char* ANALYSIS_Workday[] = NC_("ANALYSIS_Workday", "List of date values of days off (vacation, holidays, etc.)") }; -const char* ANALYSIS_Yearfrac[] = +const TranslateId ANALYSIS_Yearfrac[] = { NC_("ANALYSIS_Yearfrac", "Returns the number of years (including fractional part) between two dates"), NC_("ANALYSIS_Yearfrac", "Start date"), @@ -43,7 +45,7 @@ const char* ANALYSIS_Yearfrac[] = NC_("ANALYSIS_Yearfrac", "Basis indicates the day-count convention to use in the calculation") }; -const char* ANALYSIS_Edate[] = +const TranslateId ANALYSIS_Edate[] = { NC_("ANALYSIS_Edate", "Returns the serial number of the date that is a specified number of months before or after the start date"), NC_("ANALYSIS_Edate", "Start date"), @@ -52,7 +54,7 @@ const char* ANALYSIS_Edate[] = NC_("ANALYSIS_Edate", "Number of months before or after the start date") }; -const char* ANALYSIS_Weeknum[] = +const TranslateId ANALYSIS_Weeknum[] = { NC_("ANALYSIS_Weeknum", "Returns the number of the calendar week in which the specified date occurs.\nThis function exists for interoperability with older Microsoft Excel documents, for new documents use WEEKNUM instead."), NC_("ANALYSIS_Weeknum", "Date"), @@ -61,7 +63,7 @@ const char* ANALYSIS_Weeknum[] = NC_("ANALYSIS_Weeknum", "Indicates the first day of the week (1 = Sunday, 2 = Monday)") }; -const char* ANALYSIS_Eomonth[] = +const TranslateId ANALYSIS_Eomonth[] = { NC_("ANALYSIS_Eomonth", "Returns the serial number of the last day of the month that comes a certain number of months before or after the start date"), NC_("ANALYSIS_Eomonth", "Start date"), @@ -70,7 +72,7 @@ const char* ANALYSIS_Eomonth[] = NC_("ANALYSIS_Eomonth", "Number of months before or after the start date") }; -const char* ANALYSIS_Networkdays[] = +const TranslateId ANALYSIS_Networkdays[] = { NC_("ANALYSIS_Networkdays", "Returns the number of workdays between two dates.\nThis function exists for interoperability with older Microsoft Excel documents, for new documents use NETWORKDAYS instead."), NC_("ANALYSIS_Networkdays", "Start date"), @@ -81,28 +83,28 @@ const char* ANALYSIS_Networkdays[] = NC_("ANALYSIS_Networkdays", "List of date values representing days off (vacation, holidays, etc.)") }; -const char* ANALYSIS_Iseven[] = +const TranslateId ANALYSIS_Iseven[] = { NC_("ANALYSIS_Iseven", "Returns the value 'true' if the number is even"), NC_("ANALYSIS_Iseven", "Number"), NC_("ANALYSIS_Iseven", "The number") }; -const char* ANALYSIS_Isodd[] = +const TranslateId ANALYSIS_Isodd[] = { NC_("ANALYSIS_Isodd", "Returns the value 'true' if the number is odd"), NC_("ANALYSIS_Isodd", "Number"), NC_("ANALYSIS_Isodd", "The number") }; -const char* ANALYSIS_Multinomial[] = +const TranslateId ANALYSIS_Multinomial[] = { NC_("ANALYSIS_Multinomial", "Returns the multinomial coefficient of a set of numbers"), NC_("ANALYSIS_Multinomial", "Number"), NC_("ANALYSIS_Multinomial", "Number or list of numbers for which you want the multinomial coefficient") }; -const char* ANALYSIS_Seriessum[] = +const TranslateId ANALYSIS_Seriessum[] = { NC_("ANALYSIS_Seriessum", "Returns the sum of a power series"), NC_("ANALYSIS_Seriessum", "X"), @@ -115,7 +117,7 @@ const char* ANALYSIS_Seriessum[] = NC_("ANALYSIS_Seriessum", "Set of coefficients by which each successive power of the variable x is multiplied") }; -const char* ANALYSIS_Quotient[] = +const TranslateId ANALYSIS_Quotient[] = { NC_("ANALYSIS_Quotient", "Returns the integer portion of a division"), NC_("ANALYSIS_Quotient", "Numerator"), @@ -124,7 +126,7 @@ const char* ANALYSIS_Quotient[] = NC_("ANALYSIS_Quotient", "The divisor") }; -const char* ANALYSIS_Mround[] = +const TranslateId ANALYSIS_Mround[] = { NC_("ANALYSIS_Mround", "Returns a number rounded to a specified multiple"), NC_("ANALYSIS_Mround", "Number"), @@ -133,14 +135,14 @@ const char* ANALYSIS_Mround[] = NC_("ANALYSIS_Mround", "The multiple to which you want to round number") }; -const char* ANALYSIS_Sqrtpi[] = +const TranslateId ANALYSIS_Sqrtpi[] = { NC_("ANALYSIS_Sqrtpi", "Returns the square root of a number which has been multiplied by pi"), NC_("ANALYSIS_Sqrtpi", "Number"), NC_("ANALYSIS_Sqrtpi", "The number by which pi is multiplied") }; -const char* ANALYSIS_Randbetween[] = +const TranslateId ANALYSIS_Randbetween[] = { NC_("ANALYSIS_Randbetween", "Returns a random integer between the numbers you specify"), NC_("ANALYSIS_Randbetween", "Bottom"), @@ -149,21 +151,21 @@ const char* ANALYSIS_Randbetween[] = NC_("ANALYSIS_Randbetween", "The largest integer returned") }; -const char* ANALYSIS_Gcd[] = +const TranslateId ANALYSIS_Gcd[] = { NC_("ANALYSIS_Gcd", "Returns the greatest common divisor.\nThis function exists for interoperability with older Microsoft Excel documents, for new documents use GCD instead."), NC_("ANALYSIS_Gcd", "Number"), NC_("ANALYSIS_Gcd", "Number or list of numbers") }; -const char* ANALYSIS_Lcm[] = +const TranslateId ANALYSIS_Lcm[] = { NC_("ANALYSIS_Lcm", "Returns the least common multiple.\nThis function exists for interoperability with older Microsoft Excel documents, for new documents use LCM instead."), NC_("ANALYSIS_Lcm", "Number"), NC_("ANALYSIS_Lcm", "Number or list of numbers") }; -const char* ANALYSIS_Besseli[] = +const TranslateId ANALYSIS_Besseli[] = { NC_("ANALYSIS_Besseli", "Returns the modified Bessel function In(x)"), NC_("ANALYSIS_Besseli", "X"), @@ -172,7 +174,7 @@ const char* ANALYSIS_Besseli[] = NC_("ANALYSIS_Besseli", "The order of the Bessel function") }; -const char* ANALYSIS_Besselj[] = +const TranslateId ANALYSIS_Besselj[] = { NC_("ANALYSIS_Besselj", "Returns the Bessel function Jn(x)"), NC_("ANALYSIS_Besselj", "X"), @@ -181,7 +183,7 @@ const char* ANALYSIS_Besselj[] = NC_("ANALYSIS_Besselj", "The order of the Bessel function") }; -const char* ANALYSIS_Besselk[] = +const TranslateId ANALYSIS_Besselk[] = { NC_("ANALYSIS_Besselk", "Returns the Bessel function Kn(x)"), NC_("ANALYSIS_Besselk", "X"), @@ -190,7 +192,7 @@ const char* ANALYSIS_Besselk[] = NC_("ANALYSIS_Besselk", "The order of the Bessel function") }; -const char* ANALYSIS_Bessely[] = +const TranslateId ANALYSIS_Bessely[] = { NC_("ANALYSIS_Bessely", "Returns the Bessel function Yn(x)"), NC_("ANALYSIS_Bessely", "X"), @@ -199,7 +201,7 @@ const char* ANALYSIS_Bessely[] = NC_("ANALYSIS_Bessely", "The order of the Bessel function") }; -const char* ANALYSIS_Bin2Oct[] = +const TranslateId ANALYSIS_Bin2Oct[] = { NC_("ANALYSIS_Bin2Oct", "Converts a binary number to an octal number"), NC_("ANALYSIS_Bin2Oct", "Number"), @@ -208,14 +210,14 @@ const char* ANALYSIS_Bin2Oct[] = NC_("ANALYSIS_Bin2Oct", "Number of places used") }; -const char* ANALYSIS_Bin2Dec[] = +const TranslateId ANALYSIS_Bin2Dec[] = { NC_("ANALYSIS_Bin2Dec", "Converts a binary number to a decimal number"), NC_("ANALYSIS_Bin2Dec", "Number"), NC_("ANALYSIS_Bin2Dec", "The binary number to be converted (as text)") }; -const char* ANALYSIS_Bin2Hex[] = +const TranslateId ANALYSIS_Bin2Hex[] = { NC_("ANALYSIS_Bin2Hex", "Converts a binary number to a hexadecimal number"), NC_("ANALYSIS_Bin2Hex", "Number"), @@ -224,7 +226,7 @@ const char* ANALYSIS_Bin2Hex[] = NC_("ANALYSIS_Bin2Hex", "Number of places used.") }; -const char* ANALYSIS_Oct2Bin[] = +const TranslateId ANALYSIS_Oct2Bin[] = { NC_("ANALYSIS_Oct2Bin", "Converts an octal number to a binary number"), NC_("ANALYSIS_Oct2Bin", "Number"), @@ -233,14 +235,14 @@ const char* ANALYSIS_Oct2Bin[] = NC_("ANALYSIS_Oct2Bin", "Number of places used") }; -const char* ANALYSIS_Oct2Dec[] = +const TranslateId ANALYSIS_Oct2Dec[] = { NC_("ANALYSIS_Oct2Dec", "Converts an octal number to a decimal number"), NC_("ANALYSIS_Oct2Dec", "Number"), NC_("ANALYSIS_Oct2Dec", "The octal number to be converted (as text)") }; -const char* ANALYSIS_Oct2Hex[] = +const TranslateId ANALYSIS_Oct2Hex[] = { NC_("ANALYSIS_Oct2Hex", "Converts an octal number to a hexadecimal number"), NC_("ANALYSIS_Oct2Hex", "Number"), @@ -249,7 +251,7 @@ const char* ANALYSIS_Oct2Hex[] = NC_("ANALYSIS_Oct2Hex", "Number of places used") }; -const char* ANALYSIS_Dec2Bin[] = +const TranslateId ANALYSIS_Dec2Bin[] = { NC_("ANALYSIS_Dec2Bin", "Converts a decimal number to a binary number"), NC_("ANALYSIS_Dec2Bin", "Number"), @@ -258,7 +260,7 @@ const char* ANALYSIS_Dec2Bin[] = NC_("ANALYSIS_Dec2Bin", "Number of places used") }; -const char* ANALYSIS_Dec2Hex[] = +const TranslateId ANALYSIS_Dec2Hex[] = { NC_("ANALYSIS_Dec2Hex", "Converts a decimal number to a hexadecimal number"), NC_("ANALYSIS_Dec2Hex", "Number"), @@ -267,7 +269,7 @@ const char* ANALYSIS_Dec2Hex[] = NC_("ANALYSIS_Dec2Hex", "Number of places used") }; -const char* ANALYSIS_Dec2Oct[] = +const TranslateId ANALYSIS_Dec2Oct[] = { NC_("ANALYSIS_Dec2Oct", "Converts a decimal number into an octal number"), NC_("ANALYSIS_Dec2Oct", "Number"), @@ -276,7 +278,7 @@ const char* ANALYSIS_Dec2Oct[] = NC_("ANALYSIS_Dec2Oct", "Number of places used") }; -const char* ANALYSIS_Hex2Bin[] = +const TranslateId ANALYSIS_Hex2Bin[] = { NC_("ANALYSIS_Hex2Bin", "Converts a hexadecimal number to a binary number"), NC_("ANALYSIS_Hex2Bin", "Number"), @@ -285,14 +287,14 @@ const char* ANALYSIS_Hex2Bin[] = NC_("ANALYSIS_Hex2Bin", "Number of places used") }; -const char* ANALYSIS_Hex2Dec[] = +const TranslateId ANALYSIS_Hex2Dec[] = { NC_("ANALYSIS_Hex2Dec", "Converts a hexadecimal number to a decimal number"), NC_("ANALYSIS_Hex2Dec", "Number"), NC_("ANALYSIS_Hex2Dec", "The hexadecimal number to be converted (as text)") }; -const char* ANALYSIS_Hex2Oct[] = +const TranslateId ANALYSIS_Hex2Oct[] = { NC_("ANALYSIS_Hex2Oct", "Converts a hexadecimal number to an octal number"), NC_("ANALYSIS_Hex2Oct", "Number"), @@ -301,7 +303,7 @@ const char* ANALYSIS_Hex2Oct[] = NC_("ANALYSIS_Hex2Oct", "Number of places used") }; -const char* ANALYSIS_Delta[] = +const TranslateId ANALYSIS_Delta[] = { NC_("ANALYSIS_Delta", "Tests whether two values are equal"), NC_("ANALYSIS_Delta", "Number 1"), @@ -310,7 +312,7 @@ const char* ANALYSIS_Delta[] = NC_("ANALYSIS_Delta", "The second number") }; -const char* ANALYSIS_Erf[] = +const TranslateId ANALYSIS_Erf[] = { NC_("ANALYSIS_Erf", "Returns the error function"), NC_("ANALYSIS_Erf", "Lower limit"), @@ -319,14 +321,14 @@ const char* ANALYSIS_Erf[] = NC_("ANALYSIS_Erf", "The upper limit for integration") }; -const char* ANALYSIS_Erfc[] = +const TranslateId ANALYSIS_Erfc[] = { NC_("ANALYSIS_Erfc", "Returns the complementary error function"), NC_("ANALYSIS_Erfc", "Lower limit"), NC_("ANALYSIS_Erfc", "The lower limit for integration") }; -const char* ANALYSIS_Gestep[] = +const TranslateId ANALYSIS_Gestep[] = { NC_("ANALYSIS_Gestep", "Tests whether a number is greater than a threshold value"), NC_("ANALYSIS_Gestep", "Number"), @@ -335,28 +337,28 @@ const char* ANALYSIS_Gestep[] = NC_("ANALYSIS_Gestep", "The threshold value") }; -const char* ANALYSIS_Factdouble[] = +const TranslateId ANALYSIS_Factdouble[] = { NC_("ANALYSIS_Factdouble", "Returns the double factorial of Number"), NC_("ANALYSIS_Factdouble", "Number"), NC_("ANALYSIS_Factdouble", "The number") }; -const char* ANALYSIS_Imabs[] = +const TranslateId ANALYSIS_Imabs[] = { NC_("ANALYSIS_Imabs", "Returns the absolute value (modulus) of a complex number"), NC_("ANALYSIS_Imabs", "Complex number"), NC_("ANALYSIS_Imabs", "The complex number") }; -const char* ANALYSIS_Imaginary[] = +const TranslateId ANALYSIS_Imaginary[] = { NC_("ANALYSIS_Imaginary", "Returns the imaginary coefficient of a complex number"), NC_("ANALYSIS_Imaginary", "Complex number"), NC_("ANALYSIS_Imaginary", "The complex number") }; -const char* ANALYSIS_Impower[] = +const TranslateId ANALYSIS_Impower[] = { NC_("ANALYSIS_Impower", "Returns a complex number raised to a real power"), NC_("ANALYSIS_Impower", "Complex number"), @@ -365,21 +367,21 @@ const char* ANALYSIS_Impower[] = NC_("ANALYSIS_Impower", "Power to which the complex number is raised") }; -const char* ANALYSIS_Imargument[] = +const TranslateId ANALYSIS_Imargument[] = { NC_("ANALYSIS_Imargument", "Returns the argument theta, an angle expressed in radians"), NC_("ANALYSIS_Imargument", "Complex number"), NC_("ANALYSIS_Imargument", "A complex number") }; -const char* ANALYSIS_Imcos[] = +const TranslateId ANALYSIS_Imcos[] = { NC_("ANALYSIS_Imcos", "Returns the cosine of a complex number"), NC_("ANALYSIS_Imcos", "Complex number"), NC_("ANALYSIS_Imcos", "A complex number") }; -const char* ANALYSIS_Imdiv[] = +const TranslateId ANALYSIS_Imdiv[] = { NC_("ANALYSIS_Imdiv", "Returns the quotient of two complex numbers"), NC_("ANALYSIS_Imdiv", "Numerator"), @@ -388,42 +390,42 @@ const char* ANALYSIS_Imdiv[] = NC_("ANALYSIS_Imdiv", "The divisor") }; -const char* ANALYSIS_Imexp[] = +const TranslateId ANALYSIS_Imexp[] = { NC_("ANALYSIS_Imexp", "Returns the algebraic form of the exponential of a complex number"), NC_("ANALYSIS_Imexp", "Complex number"), NC_("ANALYSIS_Imexp", "The complex number") }; -const char* ANALYSIS_Imconjugate[] = +const TranslateId ANALYSIS_Imconjugate[] = { NC_("ANALYSIS_Imconjugate", "Returns the complex conjugate of a complex number"), NC_("ANALYSIS_Imconjugate", "Complex number"), NC_("ANALYSIS_Imconjugate", "The complex number") }; -const char* ANALYSIS_Imln[] = +const TranslateId ANALYSIS_Imln[] = { NC_("ANALYSIS_Imln", "Returns the natural logarithm of a complex number"), NC_("ANALYSIS_Imln", "Complex number"), NC_("ANALYSIS_Imln", "The complex number") }; -const char* ANALYSIS_Imlog10[] = +const TranslateId ANALYSIS_Imlog10[] = { NC_("ANALYSIS_Imlog10", "Returns the base-10 logarithm of a complex number"), NC_("ANALYSIS_Imlog10", "Complex number"), NC_("ANALYSIS_Imlog10", "The complex number") }; -const char* ANALYSIS_Imlog2[] = +const TranslateId ANALYSIS_Imlog2[] = { NC_("ANALYSIS_Imlog2", "Returns the base-2 logarithm of a complex number"), NC_("ANALYSIS_Imlog2", "Complex number"), NC_("ANALYSIS_Imlog2", "The complex number") }; -const char* ANALYSIS_Improduct[] = +const TranslateId ANALYSIS_Improduct[] = { NC_("ANALYSIS_Improduct", "Returns the product of several complex numbers"), NC_("ANALYSIS_Improduct", "Complex number"), @@ -432,21 +434,21 @@ const char* ANALYSIS_Improduct[] = NC_("ANALYSIS_Improduct", "Another complex number") }; -const char* ANALYSIS_Imreal[] = +const TranslateId ANALYSIS_Imreal[] = { NC_("ANALYSIS_Imreal", "Returns the real coefficient of a complex number"), NC_("ANALYSIS_Imreal", "Complex number"), NC_("ANALYSIS_Imreal", "The complex number") }; -const char* ANALYSIS_Imsin[] = +const TranslateId ANALYSIS_Imsin[] = { NC_("ANALYSIS_Imsin", "Returns the sine of a complex number"), NC_("ANALYSIS_Imsin", "Complex number"), NC_("ANALYSIS_Imsin", "The complex number") }; -const char* ANALYSIS_Imsub[] = +const TranslateId ANALYSIS_Imsub[] = { NC_("ANALYSIS_Imsub", "Returns the difference of two complex numbers"), NC_("ANALYSIS_Imsub", "Complex number 1"), @@ -455,77 +457,77 @@ const char* ANALYSIS_Imsub[] = NC_("ANALYSIS_Imsub", "Complex number 2") }; -const char* ANALYSIS_Imsqrt[] = +const TranslateId ANALYSIS_Imsqrt[] = { NC_("ANALYSIS_Imsqrt", "Returns the square root of a complex number"), NC_("ANALYSIS_Imsqrt", "Complex number"), NC_("ANALYSIS_Imsqrt", "The complex number") }; -const char* ANALYSIS_Imsum[] = +const TranslateId ANALYSIS_Imsum[] = { NC_("ANALYSIS_Imsum", "Returns the sum of complex numbers"), NC_("ANALYSIS_Imsum", "Complex number"), NC_("ANALYSIS_Imsum", "The complex number") }; -const char* ANALYSIS_Imtan[] = +const TranslateId ANALYSIS_Imtan[] = { NC_("ANALYSIS_Imtan", "Returns the tangent of a complex number"), NC_("ANALYSIS_Imtan", "Complex number"), NC_("ANALYSIS_Imtan", "A complex number") }; -const char* ANALYSIS_Imsec[] = +const TranslateId ANALYSIS_Imsec[] = { NC_("ANALYSIS_Imsec", "Returns the secant of a complex number"), NC_("ANALYSIS_Imsec", "Complex number"), NC_("ANALYSIS_Imsec", "A complex number") }; -const char* ANALYSIS_Imcsc[] = +const TranslateId ANALYSIS_Imcsc[] = { NC_("ANALYSIS_Imcsc", "Returns the cosecant of a complex number"), NC_("ANALYSIS_Imcsc", "Complex number"), NC_("ANALYSIS_Imcsc", "A complex number") }; -const char* ANALYSIS_Imcot[] = +const TranslateId ANALYSIS_Imcot[] = { NC_("ANALYSIS_Imcot", "Returns the cotangent of a complex number"), NC_("ANALYSIS_Imcot", "Complex number"), NC_("ANALYSIS_Imcot", "A complex number") }; -const char* ANALYSIS_Imsinh[] = +const TranslateId ANALYSIS_Imsinh[] = { NC_("ANALYSIS_Imsinh", "Returns the hyperbolic sine of a complex number"), NC_("ANALYSIS_Imsinh", "Complex number"), NC_("ANALYSIS_Imsinh", "A complex number") }; -const char* ANALYSIS_Imcosh[] = +const TranslateId ANALYSIS_Imcosh[] = { NC_("ANALYSIS_Imcosh", "Returns the hyperbolic cosine of a complex number"), NC_("ANALYSIS_Imcosh", "Complex number"), NC_("ANALYSIS_Imcosh", "A complex number") }; -const char* ANALYSIS_Imsech[] = +const TranslateId ANALYSIS_Imsech[] = { NC_("ANALYSIS_Imsech", "Returns the hyperbolic secant of a complex number"), NC_("ANALYSIS_Imsech", "Complex number"), NC_("ANALYSIS_Imsech", "A complex number") }; -const char* ANALYSIS_Imcsch[] = +const TranslateId ANALYSIS_Imcsch[] = { NC_("ANALYSIS_Imcsch", "Returns the hyperbolic cosecant of a complex number"), NC_("ANALYSIS_Imcsch", "Complex number"), NC_("ANALYSIS_Imcsch", "A complex number") }; -const char* ANALYSIS_Complex[] = +const TranslateId ANALYSIS_Complex[] = { NC_("ANALYSIS_Complex", "Converts real and imaginary coefficients into a complex number"), NC_("ANALYSIS_Complex", "Real num"), @@ -536,7 +538,7 @@ const char* ANALYSIS_Complex[] = NC_("ANALYSIS_Complex", "The suffix") }; -const char* ANALYSIS_Convert[] = +const TranslateId ANALYSIS_Convert[] = { NC_("ANALYSIS_Convert", "Converts a number from one measurement system to another"), NC_("ANALYSIS_Convert", "Number"), @@ -547,7 +549,7 @@ const char* ANALYSIS_Convert[] = NC_("ANALYSIS_Convert", "Unit of measure for the result") }; -const char* ANALYSIS_Amordegrc[] = +const TranslateId ANALYSIS_Amordegrc[] = { NC_("ANALYSIS_Amordegrc", "Returns the prorated linear depreciation of an asset for each accounting period"), NC_("ANALYSIS_Amordegrc", "Cost"), @@ -566,7 +568,7 @@ const char* ANALYSIS_Amordegrc[] = NC_("ANALYSIS_Amordegrc", "The year basis to be used") }; -const char* ANALYSIS_Amorlinc[] = +const TranslateId ANALYSIS_Amorlinc[] = { NC_("ANALYSIS_Amorlinc", "Returns the prorated linear depreciation of an asset for each accounting period"), NC_("ANALYSIS_Amorlinc", "Cost"), @@ -585,7 +587,7 @@ const char* ANALYSIS_Amorlinc[] = NC_("ANALYSIS_Amorlinc", "The year basis to be used") }; -const char* ANALYSIS_Accrint[] = +const TranslateId ANALYSIS_Accrint[] = { NC_("ANALYSIS_Accrint", "Returns the accrued interest for a security that pays periodic interest"), NC_("ANALYSIS_Accrint", "Issue"), @@ -604,7 +606,7 @@ const char* ANALYSIS_Accrint[] = NC_("ANALYSIS_Accrint", "The basis") }; -const char* ANALYSIS_Accrintm[] = +const TranslateId ANALYSIS_Accrintm[] = { NC_("ANALYSIS_Accrintm", "Returns the accrued interest for a security that pays interest at maturity"), NC_("ANALYSIS_Accrintm", "Issue"), @@ -619,7 +621,7 @@ const char* ANALYSIS_Accrintm[] = NC_("ANALYSIS_Accrintm", "The basis") }; -const char* ANALYSIS_Received[] = +const TranslateId ANALYSIS_Received[] = { NC_("ANALYSIS_Received", "Returns the amount paid out at maturity for a fully invested security"), NC_("ANALYSIS_Received", "Settlement"), @@ -634,7 +636,7 @@ const char* ANALYSIS_Received[] = NC_("ANALYSIS_Received", "The basis") }; -const char* ANALYSIS_Disc[] = +const TranslateId ANALYSIS_Disc[] = { NC_("ANALYSIS_Disc", "Returns the discount rate for a security"), NC_("ANALYSIS_Disc", "Settlement"), @@ -649,7 +651,7 @@ const char* ANALYSIS_Disc[] = NC_("ANALYSIS_Disc", "The basis") }; -const char* ANALYSIS_Duration[] = +const TranslateId ANALYSIS_Duration[] = { NC_("ANALYSIS_Duration", "Returns the annual Macaulay duration of a security with periodic interest payments"), NC_("ANALYSIS_Duration", "Settlement"), @@ -666,7 +668,7 @@ const char* ANALYSIS_Duration[] = NC_("ANALYSIS_Duration", "The basis") }; -const char* ANALYSIS_Effect[] = +const TranslateId ANALYSIS_Effect[] = { NC_("ANALYSIS_Effect", "Returns the effective annual interest rate"), NC_("ANALYSIS_Effect", "Nominal rate"), @@ -675,7 +677,7 @@ const char* ANALYSIS_Effect[] = NC_("ANALYSIS_Effect", "The periods") }; -const char* ANALYSIS_Cumprinc[] = +const TranslateId ANALYSIS_Cumprinc[] = { NC_("ANALYSIS_Cumprinc", "Returns the cumulative principal on a loan to be paid between two periods"), NC_("ANALYSIS_Cumprinc", "Rate"), @@ -692,7 +694,7 @@ const char* ANALYSIS_Cumprinc[] = NC_("ANALYSIS_Cumprinc", "The type of maturity") }; -const char* ANALYSIS_Cumipmt[] = +const TranslateId ANALYSIS_Cumipmt[] = { NC_("ANALYSIS_Cumipmt", "Returns the cumulative interest to be paid between two periods"), NC_("ANALYSIS_Cumipmt", "Rate"), @@ -709,7 +711,7 @@ const char* ANALYSIS_Cumipmt[] = NC_("ANALYSIS_Cumipmt", "The type of maturity") }; -const char* ANALYSIS_Price[] = +const TranslateId ANALYSIS_Price[] = { NC_("ANALYSIS_Price", "Returns the price per 100 currency units face value of a security that pays periodic interest"), NC_("ANALYSIS_Price", "Settlement"), @@ -728,7 +730,7 @@ const char* ANALYSIS_Price[] = NC_("ANALYSIS_Price", "The basis") }; -const char* ANALYSIS_Pricedisc[] = +const TranslateId ANALYSIS_Pricedisc[] = { NC_("ANALYSIS_Pricedisc", "Returns the price per 100 currency units face value of a discounted security"), NC_("ANALYSIS_Pricedisc", "Settlement"), @@ -743,7 +745,7 @@ const char* ANALYSIS_Pricedisc[] = NC_("ANALYSIS_Pricedisc", "The basis") }; -const char* ANALYSIS_Pricemat[] = +const TranslateId ANALYSIS_Pricemat[] = { NC_("ANALYSIS_Pricemat", "Returns the price per 100 currency units face value of a security that pays interest at maturity"), NC_("ANALYSIS_Pricemat", "Settlement"), @@ -760,7 +762,7 @@ const char* ANALYSIS_Pricemat[] = NC_("ANALYSIS_Pricemat", "The basis") }; -const char* ANALYSIS_Mduration[] = +const TranslateId ANALYSIS_Mduration[] = { NC_("ANALYSIS_Mduration", "Returns the Macaulay modified duration for a security with an assumed par value of 100 currency units"), NC_("ANALYSIS_Mduration", "Settlement"), @@ -777,7 +779,7 @@ const char* ANALYSIS_Mduration[] = NC_("ANALYSIS_Mduration", "The basis") }; -const char* ANALYSIS_Nominal[] = +const TranslateId ANALYSIS_Nominal[] = { NC_("ANALYSIS_Nominal", "Returns the annual nominal interest rate"), NC_("ANALYSIS_Nominal", "Effective rate"), @@ -786,7 +788,7 @@ const char* ANALYSIS_Nominal[] = NC_("ANALYSIS_Nominal", "The periods") }; -const char* ANALYSIS_Dollarfr[] = +const TranslateId ANALYSIS_Dollarfr[] = { NC_("ANALYSIS_Dollarfr", "Converts a price expressed as a decimal into a price expressed as a fraction"), NC_("ANALYSIS_Dollarfr", "Decimal dollar"), @@ -795,7 +797,7 @@ const char* ANALYSIS_Dollarfr[] = NC_("ANALYSIS_Dollarfr", "The divisor") }; -const char* ANALYSIS_Dollarde[] = +const TranslateId ANALYSIS_Dollarde[] = { NC_("ANALYSIS_Dollarde", "Converts a price expressed as a fraction into a price expressed as a decimal"), NC_("ANALYSIS_Dollarde", "Fractional dollar"), @@ -804,7 +806,7 @@ const char* ANALYSIS_Dollarde[] = NC_("ANALYSIS_Dollarde", "The divisor") }; -const char* ANALYSIS_Yield[] = +const TranslateId ANALYSIS_Yield[] = { NC_("ANALYSIS_Yield", "Returns the yield on a security that pays periodic interest"), NC_("ANALYSIS_Yield", "Settlement"), @@ -823,7 +825,7 @@ const char* ANALYSIS_Yield[] = NC_("ANALYSIS_Yield", "The basis") }; -const char* ANALYSIS_Yielddisc[] = +const TranslateId ANALYSIS_Yielddisc[] = { NC_("ANALYSIS_Yielddisc", "Returns the annual yield for a discounted security"), NC_("ANALYSIS_Yielddisc", "Settlement"), @@ -838,7 +840,7 @@ const char* ANALYSIS_Yielddisc[] = NC_("ANALYSIS_Yielddisc", "The basis") }; -const char* ANALYSIS_Yieldmat[] = +const TranslateId ANALYSIS_Yieldmat[] = { NC_("ANALYSIS_Yieldmat", "Returns the annual yield of a security that pays interest at maturity"), NC_("ANALYSIS_Yieldmat", "Settlement"), @@ -855,7 +857,7 @@ const char* ANALYSIS_Yieldmat[] = NC_("ANALYSIS_Yieldmat", "The basis") }; -const char* ANALYSIS_Tbilleq[] = +const TranslateId ANALYSIS_Tbilleq[] = { NC_("ANALYSIS_Tbilleq", "Returns the bond-equivalent yield for a treasury bill"), NC_("ANALYSIS_Tbilleq", "Settlement"), @@ -866,7 +868,7 @@ const char* ANALYSIS_Tbilleq[] = NC_("ANALYSIS_Tbilleq", "The discount rate") }; -const char* ANALYSIS_Tbillprice[] = +const TranslateId ANALYSIS_Tbillprice[] = { NC_("ANALYSIS_Tbillprice", "Returns the price of 100 currency units face value for a treasury bill"), NC_("ANALYSIS_Tbillprice", "Settlement"), @@ -877,7 +879,7 @@ const char* ANALYSIS_Tbillprice[] = NC_("ANALYSIS_Tbillprice", "The discount rate") }; -const char* ANALYSIS_Tbillyield[] = +const TranslateId ANALYSIS_Tbillyield[] = { NC_("ANALYSIS_Tbillyield", "Returns the yield for a treasury bill"), NC_("ANALYSIS_Tbillyield", "Settlement"), @@ -888,7 +890,7 @@ const char* ANALYSIS_Tbillyield[] = NC_("ANALYSIS_Tbillyield", "The price") }; -const char* ANALYSIS_Oddfprice[] = +const TranslateId ANALYSIS_Oddfprice[] = { NC_("ANALYSIS_Oddfprice", "Returns the price per $100 face value of a security with an odd first period"), NC_("ANALYSIS_Oddfprice", "Settlement"), @@ -911,7 +913,7 @@ const char* ANALYSIS_Oddfprice[] = NC_("ANALYSIS_Oddfprice", "The basis") }; -const char* ANALYSIS_Oddfyield[] = +const TranslateId ANALYSIS_Oddfyield[] = { NC_("ANALYSIS_Oddfyield", "Returns the yield of a security with an odd first period"), NC_("ANALYSIS_Oddfyield", "Settlement"), @@ -934,7 +936,7 @@ const char* ANALYSIS_Oddfyield[] = NC_("ANALYSIS_Oddfyield", "The basis") }; -const char* ANALYSIS_Oddlprice[] = +const TranslateId ANALYSIS_Oddlprice[] = { NC_("ANALYSIS_Oddlprice", "Returns the price per $100 face value of a security with an odd last period"), NC_("ANALYSIS_Oddlprice", "Settlement"), @@ -955,7 +957,7 @@ const char* ANALYSIS_Oddlprice[] = NC_("ANALYSIS_Oddlprice", "The basis") }; -const char* ANALYSIS_Oddlyield[] = +const TranslateId ANALYSIS_Oddlyield[] = { NC_("ANALYSIS_Oddlyield", "Returns the yield of a security with an odd last period"), NC_("ANALYSIS_Oddlyield", "Settlement"), @@ -976,7 +978,7 @@ const char* ANALYSIS_Oddlyield[] = NC_("ANALYSIS_Oddlyield", "The basis") }; -const char* ANALYSIS_Xirr[] = +const TranslateId ANALYSIS_Xirr[] = { NC_("ANALYSIS_Xirr", "Returns the internal rate of return for a non-periodic schedule of payments"), NC_("ANALYSIS_Xirr", "Values"), @@ -987,7 +989,7 @@ const char* ANALYSIS_Xirr[] = NC_("ANALYSIS_Xirr", "The guess") }; -const char* ANALYSIS_Xnpv[] = +const TranslateId ANALYSIS_Xnpv[] = { NC_("ANALYSIS_Xnpv", "Returns the net present value for a non-periodic schedule of payments"), NC_("ANALYSIS_Xnpv", "Rate"), @@ -998,7 +1000,7 @@ const char* ANALYSIS_Xnpv[] = NC_("ANALYSIS_Xnpv", "The dates") }; -const char* ANALYSIS_Intrate[] = +const TranslateId ANALYSIS_Intrate[] = { NC_("ANALYSIS_Intrate", "Returns the interest rate for a fully invested security"), NC_("ANALYSIS_Intrate", "Settlement"), @@ -1013,7 +1015,7 @@ const char* ANALYSIS_Intrate[] = NC_("ANALYSIS_Intrate", "The basis") }; -const char* ANALYSIS_Coupncd[] = +const TranslateId ANALYSIS_Coupncd[] = { NC_("ANALYSIS_Coupncd", "Returns the first coupon date after the settlement date"), NC_("ANALYSIS_Coupncd", "Settlement"), @@ -1026,7 +1028,7 @@ const char* ANALYSIS_Coupncd[] = NC_("ANALYSIS_Coupncd", "The basis") }; -const char* ANALYSIS_Coupdays[] = +const TranslateId ANALYSIS_Coupdays[] = { NC_("ANALYSIS_Coupdays", "Returns the number of days in the coupon period containing the settlement date"), NC_("ANALYSIS_Coupdays", "Settlement"), @@ -1039,7 +1041,7 @@ const char* ANALYSIS_Coupdays[] = NC_("ANALYSIS_Coupdays", "The basis") }; -const char* ANALYSIS_Coupdaysnc[] = +const TranslateId ANALYSIS_Coupdaysnc[] = { NC_("ANALYSIS_Coupdaysnc", "Returns the number of days from the settlement date to the next coupon date"), NC_("ANALYSIS_Coupdaysnc", "Settlement"), @@ -1052,7 +1054,7 @@ const char* ANALYSIS_Coupdaysnc[] = NC_("ANALYSIS_Coupdaysnc", "The basis") }; -const char* ANALYSIS_Coupdaybs[] = +const TranslateId ANALYSIS_Coupdaybs[] = { NC_("ANALYSIS_Coupdaybs", "Returns the number of days from the beginning of the coupon period to the settlement date"), NC_("ANALYSIS_Coupdaybs", "Settlement"), @@ -1065,7 +1067,7 @@ const char* ANALYSIS_Coupdaybs[] = NC_("ANALYSIS_Coupdaybs", "The basis") }; -const char* ANALYSIS_Couppcd[] = +const TranslateId ANALYSIS_Couppcd[] = { NC_("ANALYSIS_Couppcd", "Returns the last coupon date preceding the settlement date"), NC_("ANALYSIS_Couppcd", "Settlement"), @@ -1078,7 +1080,7 @@ const char* ANALYSIS_Couppcd[] = NC_("ANALYSIS_Couppcd", "The basis") }; -const char* ANALYSIS_Coupnum[] = +const TranslateId ANALYSIS_Coupnum[] = { NC_("ANALYSIS_Coupnum", "Returns the number of coupons payable between the settlement and maturity dates"), NC_("ANALYSIS_Coupnum", "Settlement"), @@ -1091,7 +1093,7 @@ const char* ANALYSIS_Coupnum[] = NC_("ANALYSIS_Coupnum", "The basis") }; -const char* ANALYSIS_Fvschedule[] = +const TranslateId ANALYSIS_Fvschedule[] = { NC_("ANALYSIS_Fvschedule", "Returns the future value of the initial principal after a series of compound interest rates are applied"), NC_("ANALYSIS_Fvschedule", "Principal"), diff --git a/scaddins/inc/datefunc.hrc b/scaddins/inc/datefunc.hrc index 8bcb9e0ccfb7..f4a370ae1e44 100644 --- a/scaddins/inc/datefunc.hrc +++ b/scaddins/inc/datefunc.hrc @@ -19,9 +19,11 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#include <unotools/resmgr.hxx> -const char* DATE_FUNCDESC_DiffWeeks[] = +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) + +const TranslateId DATE_FUNCDESC_DiffWeeks[] = { NC_("DATE_FUNCDESC_DiffWeeks", "Calculates the number of weeks in a specific period"), NC_("DATE_FUNCDESC_DiffWeeks", "Start date"), @@ -32,7 +34,7 @@ const char* DATE_FUNCDESC_DiffWeeks[] = NC_("DATE_FUNCDESC_DiffWeeks", "Type of calculation: Type=0 means the time interval, Type=1 means calendar weeks.") }; -const char* DATE_FUNCDESC_DiffMonths[] = +const TranslateId DATE_FUNCDESC_DiffMonths[] = { NC_("DATE_FUNCDESC_DiffMonths", "Determines the number of months in a specific period."), NC_("DATE_FUNCDESC_DiffMonths", "Start date"), @@ -43,7 +45,7 @@ const char* DATE_FUNCDESC_DiffMonths[] = NC_("DATE_FUNCDESC_DiffMonths", "Type of calculation: Type=0 means the time interval, Type=1 means calendar months.") }; -const char* DATE_FUNCDESC_DiffYears[] = +const TranslateId DATE_FUNCDESC_DiffYears[] = { NC_("DATE_FUNCDESC_DiffYears", "Calculates the number of years in a specific period."), NC_("DATE_FUNCDESC_DiffYears", "Start date"), @@ -54,35 +56,35 @@ const char* DATE_FUNCDESC_DiffYears[] = NC_("DATE_FUNCDESC_DiffYears", "Type of calculation: Type=0 means the time interval, Type=1 means calendar years.") }; -const char* DATE_FUNCDESC_IsLeapYear[] = +const TranslateId DATE_FUNCDESC_IsLeapYear[] = { NC_("DATE_FUNCDESC_IsLeapYear", "Returns 1 (TRUE) if the date is a day of a leap year, otherwise 0 (FALSE)."), NC_("DATE_FUNCDESC_IsLeapYear", "Date"), NC_("DATE_FUNCDESC_IsLeapYear", "Any day in the desired year") }; -const char* DATE_FUNCDESC_DaysInMonth[] = +const TranslateId DATE_FUNCDESC_DaysInMonth[] = { NC_("DATE_FUNCDESC_DaysInMonth", "Returns the number of days of the month in which the date entered occurs"), NC_("DATE_FUNCDESC_DaysInMonth", "Date"), NC_("DATE_FUNCDESC_DaysInMonth", "Any day in the desired month") }; -const char* DATE_FUNCDESC_DaysInYear[] = +const TranslateId DATE_FUNCDESC_DaysInYear[] = { NC_("DATE_FUNCDESC_DaysInYear", "Returns the number of days of the year in which the date entered occurs."), NC_("DATE_FUNCDESC_DaysInYear", "Date"), NC_("DATE_FUNCDESC_DaysInYear", "Any day in the desired year") }; -const char* DATE_FUNCDESC_WeeksInYear[] = +const TranslateId DATE_FUNCDESC_WeeksInYear[] = { NC_("DATE_FUNCDESC_WeeksInYear", "Returns the number of weeks of the year in which the date entered occurs"), NC_("DATE_FUNCDESC_WeeksInYear", "Date"), NC_("DATE_FUNCDESC_WeeksInYear", "Any day in the desired year") }; -const char* DATE_FUNCDESC_Rot13[] = +const TranslateId DATE_FUNCDESC_Rot13[] = { NC_("DATE_FUNCDESC_Rot13", "Encrypts or decrypts a text using the ROT13 algorithm"), NC_("DATE_FUNCDESC_Rot13", "Text"), diff --git a/scaddins/inc/pricing.hrc b/scaddins/inc/pricing.hrc index 51e2b7898189..bb99748e6933 100644 --- a/scaddins/inc/pricing.hrc +++ b/scaddins/inc/pricing.hrc @@ -19,10 +19,12 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#include <unotools/resmgr.hxx> + +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) // function and parameter description -const char* PRICING_FUNCDESC_OptBarrier[] = +const TranslateId PRICING_FUNCDESC_OptBarrier[] = { NC_("PRICING_FUNCDESC_OptBarrier", "Pricing of a barrier option"), NC_("PRICING_FUNCDESC_OptBarrier", "Spot"), @@ -53,7 +55,7 @@ const char* PRICING_FUNCDESC_OptBarrier[] = NC_("PRICING_FUNCDESC_OptBarrier", "Optional parameter, if left out then the function simply returns the option price; if set, the function returns price sensitivities (Greeks) to one of the input parameters; possible values are (d)elta, (g)amma, (t)heta, v(e)ga, v(o)lga, v(a)nna, (r)ho, rho(f)") }; -const char* PRICING_FUNCDESC_OptTouch[] = +const TranslateId PRICING_FUNCDESC_OptTouch[] = { NC_("PRICING_FUNCDESC_OptTouch", "Pricing of a touch/no-touch option"), NC_("PRICING_FUNCDESC_OptTouch", "Spot"), @@ -80,7 +82,7 @@ const char* PRICING_FUNCDESC_OptTouch[] = NC_("PRICING_FUNCDESC_OptTouch", "Optional parameter, if left out then the function simply returns the option price; if set, the function returns price sensitivities (Greeks) to one of the input parameters; possible values are (d)elta, (g)amma, (t)heta, v(e)ga, v(o)lga, v(a)nna, (r)ho, rho(f)") }; -const char* PRICING_FUNCDESC_OptProbHit[] = +const TranslateId PRICING_FUNCDESC_OptProbHit[] = { NC_("PRICING_FUNCDESC_OptProbHit", "Probability that an asset hits a barrier assuming it follows dS/S = mu dt + vol dW"), NC_("PRICING_FUNCDESC_OptProbHit", "Spot"), @@ -97,7 +99,7 @@ const char* PRICING_FUNCDESC_OptProbHit[] = NC_("PRICING_FUNCDESC_OptProbHit", "Upper barrier (set to 0 for no upper barrier)") }; -const char* PRICING_FUNCDESC_OptProbInMoney[] = +const TranslateId PRICING_FUNCDESC_OptProbInMoney[] = { NC_("PRICING_FUNCDESC_OptProbInMoney", "Probability that an asset will at maturity end up between two barrier levels, assuming it follows dS/S = mu dt + vol dW (if the last two optional parameters (Strike, PutCall) are specified, the probability of S_T in [Strike, UpperBarrier] for a Call and S_T in [LowerBarrier, Strike] for a Put will be returned)"), NC_("PRICING_FUNCDESC_OptProbInMoney", "Spot"), diff --git a/scaddins/inc/strings.hrc b/scaddins/inc/strings.hrc index 359cab32af1e..ed7122b61056 100644 --- a/scaddins/inc/strings.hrc +++ b/scaddins/inc/strings.hrc @@ -19,7 +19,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) // function names as accessible from cells #define PRICING_FUNCNAME_OptBarrier NC_("PRICING_FUNCNAME_OptBarrier", "OPT_BARRIER") diff --git a/scaddins/source/analysis/analysis.cxx b/scaddins/source/analysis/analysis.cxx index 046580e14f7e..0b96bcc28430 100644 --- a/scaddins/source/analysis/analysis.cxx +++ b/scaddins/source/analysis/analysis.cxx @@ -40,7 +40,7 @@ using namespace ::com::sun::star; using namespace sca::analysis; using namespace std; -OUString AnalysisAddIn::GetFuncDescrStr(const char** pResId, sal_uInt16 nStrIndex) +OUString AnalysisAddIn::GetFuncDescrStr(const TranslateId* pResId, sal_uInt16 nStrIndex) { return AnalysisResId(pResId[nStrIndex - 1]); } @@ -1045,7 +1045,7 @@ double SAL_CALL AnalysisAddIn::getConvert( double f, const OUString& aFU, const RETURN_FINITE( fRet ); } -OUString AnalysisAddIn::AnalysisResId(std::string_view aResId) +OUString AnalysisAddIn::AnalysisResId(TranslateId aResId) { return Translate::get(aResId, aResLocale); } diff --git a/scaddins/source/analysis/analysis.hxx b/scaddins/source/analysis/analysis.hxx index 5a0d31f1b5a2..841979f99b36 100644 --- a/scaddins/source/analysis/analysis.hxx +++ b/scaddins/source/analysis/analysis.hxx @@ -28,6 +28,7 @@ #include <cppuhelper/compbase.hxx> #include <cppuhelper/basemutex.hxx> +#include <unotools/resmgr.hxx> #include "analysishelper.hxx" @@ -56,7 +57,7 @@ private: sca::analysis::ScaAnyConverter aAnyConv; /// @throws css::uno::RuntimeException - OUString GetFuncDescrStr(const char** pResId, sal_uInt16 nStrIndex); + OUString GetFuncDescrStr(const TranslateId* pResId, sal_uInt16 nStrIndex); void InitDefLocales(); inline const css::lang::Locale& GetLocale( sal_uInt32 nInd ); void InitData(); @@ -73,7 +74,7 @@ public: explicit AnalysisAddIn( const css::uno::Reference< css::uno::XComponentContext >& xContext ); - OUString AnalysisResId(std::string_view aId); + OUString AnalysisResId(TranslateId aId); virtual ~AnalysisAddIn() override; diff --git a/scaddins/source/analysis/analysishelper.hxx b/scaddins/source/analysis/analysishelper.hxx index df80714034a3..7e0610493929 100644 --- a/scaddins/source/analysis/analysishelper.hxx +++ b/scaddins/source/analysis/analysishelper.hxx @@ -20,6 +20,7 @@ #include <com/sun/star/uno/Reference.hxx> +#include <unotools/resmgr.hxx> #include <math.h> @@ -188,8 +189,8 @@ enum class FDCategory struct FuncDataBase { const char* pIntName; - const char* pUINameID; // resource ID to UI name - const char** pDescrID; // resource ID to description, parameter names and ~ description + TranslateId pUINameID; // resource ID to UI name + const TranslateId* pDescrID; // resource ID to description, parameter names and ~ description bool bDouble; // name already exist in Calc bool bWithOpt; // first parameter is internal const char** pCompListID; // list of valid names @@ -203,8 +204,8 @@ class FuncData final { private: OUString aIntName; - const char* pUINameID; - const char** pDescrID; // leads also to parameter descriptions! + TranslateId pUINameID; + const TranslateId* pDescrID; // leads also to parameter descriptions! bool bDouble; // flag for names that already exist in Calc bool bWithOpt; // has internal parameter on first position @@ -216,8 +217,8 @@ private: public: FuncData(const FuncDataBase& rBaseData); - inline const char* GetUINameID() const; - inline const char** GetDescrID() const; + inline const TranslateId& GetUINameID() const; + inline const TranslateId* GetDescrID() const; inline bool IsDouble() const; inline const OUString& GetSuffix() const; @@ -593,13 +594,13 @@ inline double GetYearFrac( const css::uno::Reference< css::beans::XPropertySet > } -inline const char* FuncData::GetUINameID() const +inline const TranslateId& FuncData::GetUINameID() const { return pUINameID; } -inline const char** FuncData::GetDescrID() const +inline const TranslateId* FuncData::GetDescrID() const { return pDescrID; } diff --git a/scaddins/source/datefunc/datefunc.cxx b/scaddins/source/datefunc/datefunc.cxx index 0d1cff9e092e..dc015e5ef0bd 100644 --- a/scaddins/source/datefunc/datefunc.cxx +++ b/scaddins/source/datefunc/datefunc.cxx @@ -136,7 +136,7 @@ void ScaDateAddIn::InitData() } } -OUString ScaDateAddIn::GetFuncDescrStr(const char** pResId, sal_uInt16 nStrIndex) +OUString ScaDateAddIn::GetFuncDescrStr(const TranslateId* pResId, sal_uInt16 nStrIndex) { return ScaResId(pResId[nStrIndex - 1]); } @@ -717,7 +717,7 @@ OUString SAL_CALL ScaDateAddIn::getRot13( const OUString& aSrcString ) return aBuffer.makeStringAndClear(); } -OUString ScaDateAddIn::ScaResId(std::string_view aId) +OUString ScaDateAddIn::ScaResId(TranslateId aId) { return Translate::get(aId, aResLocale); } diff --git a/scaddins/source/datefunc/datefunc.hxx b/scaddins/source/datefunc/datefunc.hxx index 74113e814ffe..0dd6b5fa2f1c 100644 --- a/scaddins/source/datefunc/datefunc.hxx +++ b/scaddins/source/datefunc/datefunc.hxx @@ -30,6 +30,7 @@ #include <com/sun/star/sheet/addin/XDateFunctions.hpp> #include <com/sun/star/sheet/addin/XMiscFunctions.hpp> #include <cppuhelper/implbase.hxx> +#include <unotools/resmgr.hxx> namespace com::sun::star::lang { class XMultiServiceFactory; } @@ -46,8 +47,8 @@ enum class ScaCategory struct ScaFuncDataBase { const char* pIntName; // internal name (get***) - const char* pUINameID; // resource ID to UI name - const char** pDescrID; // resource ID to description, parameter names and ~ description + TranslateId pUINameID; // resource ID to UI name + const TranslateId* pDescrID; // resource ID to description, parameter names and ~ description const char** pCompListID; // list of valid names sal_uInt16 nParamCount; // number of named / described parameters ScaCategory eCat; // function category @@ -59,8 +60,8 @@ class ScaFuncData final { private: OUString aIntName; // internal name (get***) - const char* pUINameID; // resource ID to UI name - const char** pDescrID; // leads also to parameter descriptions! + TranslateId pUINameID; // resource ID to UI name + const TranslateId* pDescrID; // leads also to parameter descriptions! sal_uInt16 nParamCount; // num of parameters std::vector<OUString> aCompList; // list of all valid names ScaCategory eCat; // function category @@ -70,8 +71,8 @@ private: public: ScaFuncData(const ScaFuncDataBase& rBaseData); - const char* GetUINameID() const { return pUINameID; } - const char** GetDescrID() const { return pDescrID; } + const TranslateId & GetUINameID() const { return pUINameID; } + const TranslateId* GetDescrID() const { return pDescrID; } ScaCategory GetCategory() const { return eCat; } bool IsDouble() const { return bDouble; } @@ -115,12 +116,12 @@ private: void InitData(); /// @throws css::uno::RuntimeException - OUString GetFuncDescrStr(const char** pResId, sal_uInt16 nStrIndex); + OUString GetFuncDescrStr(const TranslateId* pResId, sal_uInt16 nStrIndex); public: ScaDateAddIn(); - OUString ScaResId(std::string_view aId); + OUString ScaResId(TranslateId aId); // XAddIn virtual OUString SAL_CALL getProgrammaticFuntionName( const OUString& aDisplayName ) override; diff --git a/scaddins/source/pricing/pricing.cxx b/scaddins/source/pricing/pricing.cxx index cc7c713fc7f0..83cacff87fc8 100644 --- a/scaddins/source/pricing/pricing.cxx +++ b/scaddins/source/pricing/pricing.cxx @@ -134,7 +134,7 @@ void ScaPricingAddIn::InitData() pDefLocales.reset(); } -OUString ScaPricingAddIn::GetFuncDescrStr(const char** pResId, sal_uInt16 nStrIndex) +OUString ScaPricingAddIn::GetFuncDescrStr(const TranslateId* pResId, sal_uInt16 nStrIndex) { return ScaResId(pResId[nStrIndex - 1]); } @@ -500,7 +500,7 @@ double SAL_CALL ScaPricingAddIn::getOptProbInMoney( double spot, double vol, RETURN_FINITE( fRet ); } -OUString ScaPricingAddIn::ScaResId(std::string_view aResId) +OUString ScaPricingAddIn::ScaResId(TranslateId aResId) { return Translate::get(aResId, aResLocale); } diff --git a/scaddins/source/pricing/pricing.hxx b/scaddins/source/pricing/pricing.hxx index 42f23dcc81a6..ee362a3b3df3 100644 --- a/scaddins/source/pricing/pricing.hxx +++ b/scaddins/source/pricing/pricing.hxx @@ -35,6 +35,7 @@ #include <com/sun/star/sheet/XCompatibilityNames.hpp> #include <com/sun/star/sheet/addin/XPricingFunctions.hpp> #include <cppuhelper/implbase.hxx> +#include <unotools/resmgr.hxx> namespace com::sun::star::lang { class XMultiServiceFactory; } @@ -56,8 +57,8 @@ enum class ScaCategory struct ScaFuncDataBase { const char* pIntName; // internal name (get***) - const char* pUINameID; // resource ID to UI name - const char** pDescrID; // resource ID to description, parameter names and ~ description + TranslateId pUINameID; // resource ID to UI name + const TranslateId* pDescrID; // resource ID to description, parameter names and ~ description // pCompName was originally meant to be able to load Excel documents that for // some time were stored with localized function names. // This is not relevant to this add-in, so we only supply the same @@ -74,8 +75,8 @@ class ScaFuncData final { private: OUString aIntName; // internal name (get***) - const char* pUINameID; // resource ID to UI name - const char** pDescrID; // leads also to parameter descriptions! + TranslateId pUINameID; // resource ID to UI name + const TranslateId* pDescrID; // leads also to parameter descriptions! sal_uInt16 nParamCount; // num of parameters std::vector<OUString> aCompList; // list of all valid names ScaCategory eCat; // function category @@ -85,8 +86,8 @@ private: public: ScaFuncData(const ScaFuncDataBase& rBaseData); - const char* GetUINameID() const { return pUINameID; } - const char** GetDescrID() const { return pDescrID; } + const TranslateId& GetUINameID() const { return pUINameID; } + const TranslateId* GetDescrID() const { return pDescrID; } ScaCategory GetCategory() const { return eCat; } bool IsDouble() const { return bDouble; } @@ -134,13 +135,13 @@ private: void InitData(); /// @throws css::uno::RuntimeException - OUString GetFuncDescrStr(const char** pResId, sal_uInt16 nStrIndex); + OUString GetFuncDescrStr(const TranslateId* pResId, sal_uInt16 nStrIndex); public: ScaPricingAddIn(); virtual ~ScaPricingAddIn() override; - OUString ScaResId(std::string_view aResId); + OUString ScaResId(TranslateId aResId); // XAddIn virtual OUString SAL_CALL getProgrammaticFuntionName( const OUString& aDisplayName ) override; diff --git a/sccomp/inc/strings.hrc b/sccomp/inc/strings.hrc index 1ffff8a0446a..4fe4932debad 100644 --- a/sccomp/inc/strings.hrc +++ b/sccomp/inc/strings.hrc @@ -19,7 +19,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define RID_SOLVER_COMPONENT NC_("RID_SOLVER_COMPONENT", "%PRODUCTNAME Linear Solver") #define RID_COINMP_SOLVER_COMPONENT NC_("RID_COINMP_SOLVER_COMPONENT", "%PRODUCTNAME CoinMP Linear Solver") diff --git a/sccomp/source/solver/CoinMPSolver.cxx b/sccomp/source/solver/CoinMPSolver.cxx index 35ebf1fd19b2..2dd896e82bb1 100644 --- a/sccomp/source/solver/CoinMPSolver.cxx +++ b/sccomp/source/solver/CoinMPSolver.cxx @@ -25,6 +25,7 @@ #include <com/sun/star/frame/XModel.hpp> #include <com/sun/star/table/CellAddress.hpp> +#include <unotools/resmgr.hxx> #include <rtl/math.hxx> #include <stdexcept> diff --git a/sccomp/source/solver/LpsolveSolver.cxx b/sccomp/source/solver/LpsolveSolver.cxx index e53c685555d8..229c5f0c3dbe 100644 --- a/sccomp/source/solver/LpsolveSolver.cxx +++ b/sccomp/source/solver/LpsolveSolver.cxx @@ -56,6 +56,7 @@ #include <com/sun/star/frame/XModel.hpp> #include <com/sun/star/table/CellAddress.hpp> +#include <unotools/resmgr.hxx> #include <rtl/math.hxx> #include <memory> #include <vector> diff --git a/sccomp/source/solver/SolverComponent.cxx b/sccomp/source/solver/SolverComponent.cxx index 7c92233522d4..e31a84073337 100644 --- a/sccomp/source/solver/SolverComponent.cxx +++ b/sccomp/source/solver/SolverComponent.cxx @@ -41,7 +41,7 @@ constexpr OUStringLiteral STR_LIMITBBDEPTH = u"LimitBBDepth"; // Resources from tools are used for translated strings -OUString SolverComponent::GetResourceString(std::string_view aId) +OUString SolverComponent::GetResourceString(TranslateId aId) { return Translate::get(aId, Translate::Create("scc")); } @@ -140,7 +140,7 @@ OUString SAL_CALL SolverComponent::getStatusDescription() OUString SAL_CALL SolverComponent::getPropertyDescription( const OUString& rPropertyName ) { - const char* pResId = nullptr; + TranslateId pResId; sal_Int32 nHandle = getInfoHelper().getHandleByName( rPropertyName ); switch (nHandle) { diff --git a/sccomp/source/solver/SolverComponent.hxx b/sccomp/source/solver/SolverComponent.hxx index 0c3869bdd4b4..4e10c038a474 100644 --- a/sccomp/source/solver/SolverComponent.hxx +++ b/sccomp/source/solver/SolverComponent.hxx @@ -27,6 +27,7 @@ #include <comphelper/broadcasthelper.hxx> #include <comphelper/propertycontainer.hxx> #include <comphelper/proparrhlp.hxx> +#include <unotools/resmgr.hxx> #include <unordered_map> @@ -82,7 +83,7 @@ protected: css::uno::Sequence< double > maSolution; OUString maStatus; - static OUString GetResourceString(std::string_view aId); + static OUString GetResourceString(TranslateId aId); static css::uno::Reference<css::table::XCell> GetCell( const css::uno::Reference<css::sheet::XSpreadsheetDocument>& xDoc, const css::table::CellAddress& rPos ); diff --git a/sccomp/source/solver/SwarmSolver.cxx b/sccomp/source/solver/SwarmSolver.cxx index 5ebeedfc032c..c0dad8a4471d 100644 --- a/sccomp/source/solver/SwarmSolver.cxx +++ b/sccomp/source/solver/SwarmSolver.cxx @@ -130,7 +130,7 @@ private: std::vector<sheet::SolverConstraint> maNonBoundedConstraints; private: - static OUString getResourceString(std::string_view aId); + static OUString getResourceString(TranslateId aId); uno::Reference<table::XCell> getCell(const table::CellAddress& rPosition); void setValue(const table::CellAddress& rPosition, double fValue); @@ -233,7 +233,7 @@ public: virtual OUString SAL_CALL getPropertyDescription(const OUString& rPropertyName) override { - const char* pResId = ""; + TranslateId pResId; switch (getInfoHelper().getHandleByName(rPropertyName)) { case PROP_NONNEGATIVE: @@ -283,9 +283,9 @@ public: }; } -OUString SwarmSolver::getResourceString(std::string_view aId) +OUString SwarmSolver::getResourceString(TranslateId aId) { - if (aId.empty()) + if (!aId) return OUString(); return Translate::get(aId, Translate::Create("scc")); diff --git a/scripting/Library_dlgprov.mk b/scripting/Library_dlgprov.mk index 02ea01118d0f..9ccdfa5ffa36 100644 --- a/scripting/Library_dlgprov.mk +++ b/scripting/Library_dlgprov.mk @@ -34,6 +34,7 @@ $(eval $(call gb_Library_use_libraries,dlgprov,\ sfx \ tl \ ucbhelper \ + utl \ vbahelper \ vcl \ xmlscript \ diff --git a/sd/inc/DocumentRenderer.hrc b/sd/inc/DocumentRenderer.hrc index 3cdd5b004f55..755fa5a66bbb 100644 --- a/sd/inc/DocumentRenderer.hrc +++ b/sd/inc/DocumentRenderer.hrc @@ -19,9 +19,11 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#include <unotools/resmgr.hxx> -const char* STR_IMPRESS_PRINT_UI_CONTENT_CHOICES[] = +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) + +const TranslateId STR_IMPRESS_PRINT_UI_CONTENT_CHOICES[] = { NC_("STR_IMPRESS_PRINT_UI_CONTENT_CHOICES", "Slides"), NC_("STR_IMPRESS_PRINT_UI_CONTENT_CHOICES", "Handouts"), @@ -29,7 +31,7 @@ const char* STR_IMPRESS_PRINT_UI_CONTENT_CHOICES[] = NC_("STR_IMPRESS_PRINT_UI_CONTENT_CHOICES", "Outline") }; -const char* STR_IMPRESS_PRINT_UI_SLIDESPERPAGE_CHOICES[] = +const TranslateId STR_IMPRESS_PRINT_UI_SLIDESPERPAGE_CHOICES[] = { NC_("STR_IMPRESS_PRINT_UI_SLIDESPERPAGE_CHOICES", "According to layout"), NC_("STR_IMPRESS_PRINT_UI_SLIDESPERPAGE_CHOICES", "1"), @@ -40,20 +42,20 @@ const char* STR_IMPRESS_PRINT_UI_SLIDESPERPAGE_CHOICES[] = NC_("STR_IMPRESS_PRINT_UI_SLIDESPERPAGE_CHOICES", "9") }; -const char* STR_IMPRESS_PRINT_UI_ORDER_CHOICES[] = +const TranslateId STR_IMPRESS_PRINT_UI_ORDER_CHOICES[] = { NC_("STR_IMPRESS_PRINT_UI_ORDER_CHOICES", "Left to right, then down"), NC_("STR_IMPRESS_PRINT_UI_ORDER_CHOICES", "Top to bottom, then right") }; -const char* STR_IMPRESS_PRINT_UI_QUALITY_CHOICES[] = +const TranslateId STR_IMPRESS_PRINT_UI_QUALITY_CHOICES[] = { NC_("STR_IMPRESS_PRINT_UI_QUALITY_CHOICES", "Original colors"), NC_("STR_IMPRESS_PRINT_UI_QUALITY_CHOICES", "Grayscale"), NC_("STR_IMPRESS_PRINT_UI_QUALITY_CHOICES", "Black & white") }; -const char* STR_IMPRESS_PRINT_UI_PAGE_OPTIONS_CHOICES[] = +const TranslateId STR_IMPRESS_PRINT_UI_PAGE_OPTIONS_CHOICES[] = { NC_("STR_IMPRESS_PRINT_UI_PAGE_OPTIONS_CHOICES", "Original size"), NC_("STR_IMPRESS_PRINT_UI_PAGE_OPTIONS_CHOICES", "Fit to printable page"), @@ -61,7 +63,7 @@ const char* STR_IMPRESS_PRINT_UI_PAGE_OPTIONS_CHOICES[] = NC_("STR_IMPRESS_PRINT_UI_PAGE_OPTIONS_CHOICES", "Tile sheet of paper with repeated slides") }; -const char* STR_IMPRESS_PRINT_UI_PAGE_OPTIONS_CHOICES_DRAW[] = +const TranslateId STR_IMPRESS_PRINT_UI_PAGE_OPTIONS_CHOICES_DRAW[] = { NC_("STR_IMPRESS_PRINT_UI_PAGE_OPTIONS_CHOICES_DRAW", "Original size"), NC_("STR_IMPRESS_PRINT_UI_PAGE_OPTIONS_CHOICES_DRAW", "Fit to printable page"), @@ -69,21 +71,21 @@ const char* STR_IMPRESS_PRINT_UI_PAGE_OPTIONS_CHOICES_DRAW[] = NC_("STR_IMPRESS_PRINT_UI_PAGE_OPTIONS_CHOICES_DRAW", "Tile sheet of paper with repeated pages") }; -const char* STR_IMPRESS_PRINT_UI_BROCHURE_INCLUDE_LIST[] = +const TranslateId STR_IMPRESS_PRINT_UI_BROCHURE_INCLUDE_LIST[] = { NC_("STR_IMPRESS_PRINT_UI_BROCHURE_INCLUDE_LIST", "All pages"), NC_("STR_IMPRESS_PRINT_UI_BROCHURE_INCLUDE_LIST", "Front sides / right pages"), NC_("STR_IMPRESS_PRINT_UI_BROCHURE_INCLUDE_LIST", "Back sides / left pages") }; -const char* STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE[] = +const TranslateId STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE[] = { NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "All ~Slides"), NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "S~lides:"), NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "~Selection") }; -const char* STR_DRAW_PRINT_UI_PAGE_RANGE_CHOICE[] = +const TranslateId STR_DRAW_PRINT_UI_PAGE_RANGE_CHOICE[] = { NC_("STR_DRAW_PRINT_UI_PAGE_RANGE_CHOICE", "All ~Pages"), NC_("STR_DRAW_PRINT_UI_PAGE_RANGE_CHOICE", "~Pages:"), diff --git a/sd/inc/errhdl.hrc b/sd/inc/errhdl.hrc index affe12ac4331..ea7d4e7127d7 100644 --- a/sd/inc/errhdl.hrc +++ b/sd/inc/errhdl.hrc @@ -19,7 +19,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #include <svtools/ehdl.hxx> #include <vcl/errcode.hxx> @@ -33,7 +33,7 @@ const ErrMsgCode RID_SD_ERRHDL[] = ERR_FORMAT_FILE_ROWCOL }, { NC_("RID_SD_ERRHDL", "Format error discovered in the file in sub-document $(ARG1) at position $(ARG2)(row,col)."), WARN_FORMAT_FILE_ROWCOL }, - { nullptr, ERRCODE_NONE } + { {}, ERRCODE_NONE } }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/inc/family.hrc b/sd/inc/family.hrc index 28a1d4429b81..dcfd31e17d46 100644 --- a/sd/inc/family.hrc +++ b/sd/inc/family.hrc @@ -21,22 +21,22 @@ #include <svl/style.hxx> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const std::pair<const char*, SfxStyleSearchBits> RID_GRAPHICSTYLEFAMILY[] = +const std::pair<TranslateId, SfxStyleSearchBits> RID_GRAPHICSTYLEFAMILY[] = { { NC_("RID_GRAPHICSTYLEFAMILY", "All Styles") , SfxStyleSearchBits::AllVisible }, { NC_("RID_GRAPHICSTYLEFAMILY", "Hidden Styles") , SfxStyleSearchBits::Hidden }, { NC_("RID_GRAPHICSTYLEFAMILY", "Applied Styles") , SfxStyleSearchBits::Used }, { NC_("RID_GRAPHICSTYLEFAMILY", "Custom Styles") , SfxStyleSearchBits::UserDefined }, - { nullptr, SfxStyleSearchBits::Auto } + { {}, SfxStyleSearchBits::Auto } }; -const std::pair<const char*, SfxStyleSearchBits> RID_PRESENTATIONSTYLEFAMILY[] = +const std::pair<TranslateId, SfxStyleSearchBits> RID_PRESENTATIONSTYLEFAMILY[] = { { NC_("RID_PRESENTATIONSTYLEFAMILY", "All Styles") , SfxStyleSearchBits::AllVisible }, { NC_("RID_PRESENTATIONSTYLEFAMILY", "Hidden Styles") , SfxStyleSearchBits::Hidden }, - { nullptr, SfxStyleSearchBits::Auto } + { {}, SfxStyleSearchBits::Auto } }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/inc/pageformatpanel.hrc b/sd/inc/pageformatpanel.hrc index 3eb2f5763ae2..bf29cc9b4602 100644 --- a/sd/inc/pageformatpanel.hrc +++ b/sd/inc/pageformatpanel.hrc @@ -11,13 +11,13 @@ #include <utility> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) namespace sd { // To translators: this is a listbox labelled by "Margins:", inch units -const std::pair<const char*, int> RID_PAGEFORMATPANEL_MARGINS_INCH[] = +const std::pair<TranslateId, int> RID_PAGEFORMATPANEL_MARGINS_INCH[] = { { NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "None"), 0 }, { NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "Narrow"), 0 }, @@ -32,7 +32,7 @@ const std::pair<const char*, int> RID_PAGEFORMATPANEL_MARGINS_INCH[] = }; // To translators: this is a listbox labelled by "Margins:", cm units -const std::pair<const char*, int> RID_PAGEFORMATPANEL_MARGINS_CM[] = +const std::pair<TranslateId, int> RID_PAGEFORMATPANEL_MARGINS_CM[] = { { NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "None"), 0 }, { NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "Narrow"), 0 }, diff --git a/sd/inc/sdresid.hxx b/sd/inc/sdresid.hxx index 768b9a14998d..2ed8cd42cf20 100644 --- a/sd/inc/sdresid.hxx +++ b/sd/inc/sdresid.hxx @@ -21,8 +21,9 @@ #include <rtl/ustring.hxx> #include "sddllapi.h" +#include <unotools/resmgr.hxx> -SD_DLLPUBLIC OUString SdResId(std::string_view aId); -SD_DLLPUBLIC OUString SdResId(std::string_view aId, int nCardinality); +SD_DLLPUBLIC OUString SdResId(TranslateId aId); +SD_DLLPUBLIC OUString SdResId(TranslateNId aContextSingularPlural, int nCardinality); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/inc/strings.hrc b/sd/inc/strings.hrc index d55bf8824568..e1f9f0706930 100644 --- a/sd/inc/strings.hrc +++ b/sd/inc/strings.hrc @@ -19,8 +19,8 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) -#define NNC_(Context, StringSingular, StringPlural) reinterpret_cast<char const *>(Context "\004" u8##StringSingular "\004" u8##StringPlural) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) +#define NNC_(Context, StringSingular, StringPlural) TranslateNId(Context, reinterpret_cast<char const *>(u8##StringSingular), reinterpret_cast<char const *>(u8##StringPlural)) #define STR_NULL NC_("STR_NULL", "None") #define STR_INSERTPAGE NC_("STR_INSERTPAGE", "Insert Slide") diff --git a/sd/source/core/stlpool.cxx b/sd/source/core/stlpool.cxx index d15aaf632b04..503bb3f184b5 100644 --- a/sd/source/core/stlpool.cxx +++ b/sd/source/core/stlpool.cxx @@ -929,7 +929,7 @@ void SdStyleSheetPool::UpdateStdNames() SfxStyleFamily eFam = pStyle->GetFamily(); bool bHelpKnown = true; - const char* pNameId = nullptr; + TranslateId pNameId; switch( nHelpId ) { case HID_STANDARD_STYLESHEET_NAME: pNameId = STR_STANDARD_STYLESHEET_NAME; break; @@ -989,7 +989,7 @@ void SdStyleSheetPool::UpdateStdNames() OUString aNewName; if (pNameId) { - if (strcmp(pNameId, STR_PSEUDOSHEET_OUTLINE) == 0) + if (pNameId == STR_PSEUDOSHEET_OUTLINE) { aNewName += " " + OUString::number( sal_Int32( nHelpId - HID_PSEUDOSHEET_OUTLINE ) ); } diff --git a/sd/source/filter/grf/sdgrffilter.cxx b/sd/source/filter/grf/sdgrffilter.cxx index ebceaee3b10a..edf39df51513 100644 --- a/sd/source/filter/grf/sdgrffilter.cxx +++ b/sd/source/filter/grf/sdgrffilter.cxx @@ -110,7 +110,7 @@ void SdGRFFilter::HandleGraphicFilterError( ErrCode nFilterError, ErrCode nStrea return; } - const char* pId; + TranslateId pId; if( nFilterError == ERRCODE_GRFILTER_OPENERROR ) pId = STR_IMPORT_GRFILTER_OPENERROR; @@ -123,11 +123,11 @@ void SdGRFFilter::HandleGraphicFilterError( ErrCode nFilterError, ErrCode nStrea else if( nFilterError == ERRCODE_GRFILTER_TOOBIG ) pId = STR_IMPORT_GRFILTER_TOOBIG; else if( nFilterError == ERRCODE_NONE ) - pId = nullptr; + ; else pId = STR_IMPORT_GRFILTER_FILTERERROR; - if (pId && strcmp(pId, STR_IMPORT_GRFILTER_IOERROR) == 0) + if (pId && pId == STR_IMPORT_GRFILTER_IOERROR) ErrorHandler::HandleError( ERRCODE_IO_GENERAL ); else { diff --git a/sd/source/filter/html/htmlex.cxx b/sd/source/filter/html/htmlex.cxx index a0836ce8758b..9f6b80f1f4bf 100644 --- a/sd/source/filter/html/htmlex.cxx +++ b/sd/source/filter/html/htmlex.cxx @@ -3164,7 +3164,6 @@ void EasyFile::close() // This class helps reporting errors during file i/o HtmlErrorContext::HtmlErrorContext() : ErrorContext(nullptr) - , mpResId(nullptr) { } @@ -3182,14 +3181,14 @@ bool HtmlErrorContext::GetString( ErrCode, OUString& rCtxStr ) return true; } -void HtmlErrorContext::SetContext(const char* pResId, const OUString& rURL) +void HtmlErrorContext::SetContext(TranslateId pResId, const OUString& rURL) { mpResId = pResId; maURL1 = rURL; maURL2.clear(); } -void HtmlErrorContext::SetContext(const char* pResId, const OUString& rURL1, const OUString& rURL2 ) +void HtmlErrorContext::SetContext(TranslateId pResId, const OUString& rURL1, const OUString& rURL2 ) { mpResId = pResId; maURL1 = rURL1; diff --git a/sd/source/filter/html/htmlex.hxx b/sd/source/filter/html/htmlex.hxx index aeef943cb8f6..5f6f06e49b27 100644 --- a/sd/source/filter/html/htmlex.hxx +++ b/sd/source/filter/html/htmlex.hxx @@ -24,6 +24,7 @@ #include <tools/color.hxx> #include <tools/solar.h> #include <vcl/errinf.hxx> +#include <unotools/resmgr.hxx> #include "htmlpublishmode.hxx" @@ -63,7 +64,7 @@ class ButtonSet; class HtmlErrorContext : public ErrorContext { private: - const char* mpResId; + TranslateId mpResId; OUString maURL1; OUString maURL2; @@ -72,8 +73,8 @@ public: virtual bool GetString( ErrCode nErrId, OUString& rCtxStr ) override; - void SetContext(const char* pResId, const OUString& rURL); - void SetContext(const char* pResId, const OUString& rURL1, const OUString& rURL2); + void SetContext(TranslateId pResId, const OUString& rURL); + void SetContext(TranslateId pResId, const OUString& rURL1, const OUString& rURL2); }; /// this class exports an Impress Document as a HTML Presentation. diff --git a/sd/source/ui/annotations/annotationmanager.cxx b/sd/source/ui/annotations/annotationmanager.cxx index 6da902023f3c..ca1fe2d84f24 100644 --- a/sd/source/ui/annotations/annotationmanager.cxx +++ b/sd/source/ui/annotations/annotationmanager.cxx @@ -826,7 +826,7 @@ void AnnotationManagerImpl::SelectNextAnnotation(bool bForward) // The question text depends on the search direction. bool bImpress = mpDoc->GetDocumentType() == DocumentType::Impress; - const char* pStringId; + TranslateId pStringId; if(bForward) pStringId = bImpress ? STR_ANNOTATION_WRAP_FORWARD : STR_ANNOTATION_WRAP_FORWARD_DRAW; else diff --git a/sd/source/ui/app/sdmod.cxx b/sd/source/ui/app/sdmod.cxx index 4d99ce7aacf3..73b01b282e32 100644 --- a/sd/source/ui/app/sdmod.cxx +++ b/sd/source/ui/app/sdmod.cxx @@ -80,14 +80,14 @@ SdModule::SdModule(SfxObjectFactory* pFact1, SfxObjectFactory* pFact2 ) mpVirtualRefDevice->SetReferenceDevice ( VirtualDevice::RefDevMode::Dpi600 ); } -OUString SdResId(std::string_view aId) +OUString SdResId(TranslateId aId) { return Translate::get(aId, SD_MOD()->GetResLocale()); } -OUString SdResId(std::string_view aId, int nCardinality) +OUString SdResId(TranslateNId aContextSingularPlural, int nCardinality) { - return Translate::nget(aId, nCardinality, SD_MOD()->GetResLocale()); + return Translate::nget(aContextSingularPlural, nCardinality, SD_MOD()->GetResLocale()); } // Dtor diff --git a/sd/source/ui/controller/displaymodecontroller.cxx b/sd/source/ui/controller/displaymodecontroller.cxx index 8dc1a743897b..4d794d8bcfdc 100644 --- a/sd/source/ui/controller/displaymodecontroller.cxx +++ b/sd/source/ui/controller/displaymodecontroller.cxx @@ -74,7 +74,7 @@ struct snewfoil_value_info { sal_uInt16 mnId; const char* msBmpResId; - const char* mpStrResId; + TranslateId mpStrResId; const char* msUnoCommand; }; @@ -98,7 +98,7 @@ const snewfoil_value_info editmodes[] = BMP_DISPLAYMODE_SLIDE_SORTER, STR_SLIDE_SORTER_MODE, ".uno:DiaMode" }, - {0, "", nullptr, "" } + {0, "", {}, "" } }; const snewfoil_value_info mastermodes[] = @@ -115,7 +115,7 @@ const snewfoil_value_info mastermodes[] = BMP_DISPLAYMODE_HANDOUT_MASTER, STR_HANDOUT_MASTER_MODE, ".uno:HandoutMode" }, - {0, "", nullptr, "" } + {0, "", {}, "" } }; diff --git a/sd/source/ui/controller/slidelayoutcontroller.cxx b/sd/source/ui/controller/slidelayoutcontroller.cxx index 41ab38cad0b1..26c0d5bebcb2 100644 --- a/sd/source/ui/controller/slidelayoutcontroller.cxx +++ b/sd/source/ui/controller/slidelayoutcontroller.cxx @@ -79,7 +79,7 @@ private: struct snewfoil_value_info_layout { const char* msBmpResId; - const char* mpStrResId; + TranslateId mpStrResId; AutoLayout maAutoLayout; }; @@ -88,7 +88,7 @@ struct snewfoil_value_info_layout const snewfoil_value_info_layout notes[] = { {BMP_FOILN_01, STR_AUTOLAYOUT_NOTES, AUTOLAYOUT_NOTES}, - {nullptr, nullptr, AUTOLAYOUT_NONE}, + {nullptr, {}, AUTOLAYOUT_NONE}, }; const snewfoil_value_info_layout handout[] = @@ -99,7 +99,7 @@ const snewfoil_value_info_layout handout[] = {BMP_FOILH_04, STR_AUTOLAYOUT_HANDOUT4, AUTOLAYOUT_HANDOUT4}, {BMP_FOILH_06, STR_AUTOLAYOUT_HANDOUT6, AUTOLAYOUT_HANDOUT6}, {BMP_FOILH_09, STR_AUTOLAYOUT_HANDOUT9, AUTOLAYOUT_HANDOUT9}, - {nullptr, nullptr, AUTOLAYOUT_NONE}, + {nullptr, {}, AUTOLAYOUT_NONE}, }; const snewfoil_value_info_layout standard[] = @@ -116,7 +116,7 @@ const snewfoil_value_info_layout standard[] = {BMP_LAYOUT_HEAD02B, STR_AUTOLAYOUT_CONTENT_OVER_CONTENT, AUTOLAYOUT_TITLE_CONTENT_OVER_CONTENT }, {BMP_LAYOUT_HEAD04, STR_AUTOLAYOUT_4CONTENT, AUTOLAYOUT_TITLE_4CONTENT }, {BMP_LAYOUT_HEAD06, STR_AUTOLAYOUT_6CONTENT, AUTOLAYOUT_TITLE_6CONTENT }, - {nullptr, nullptr, AUTOLAYOUT_NONE} + {nullptr, {}, AUTOLAYOUT_NONE} }; const snewfoil_value_info_layout v_standard[] = @@ -126,7 +126,7 @@ const snewfoil_value_info_layout v_standard[] = {BMP_LAYOUT_VERTICAL01, STR_AL_VERT_TITLE_VERT_OUTLINE, AUTOLAYOUT_VTITLE_VCONTENT }, {BMP_LAYOUT_HEAD02, STR_AL_TITLE_VERT_OUTLINE, AUTOLAYOUT_TITLE_VCONTENT }, {BMP_LAYOUT_HEAD02A, STR_AL_TITLE_VERT_OUTLINE_CLIPART, AUTOLAYOUT_TITLE_2VTEXT }, - {nullptr, nullptr, AUTOLAYOUT_NONE} + {nullptr, {}, AUTOLAYOUT_NONE} }; static void fillLayoutValueSet( ValueSet* pValue, const snewfoil_value_info_layout* pInfo ) diff --git a/sd/source/ui/dlg/PaneChildWindows.cxx b/sd/source/ui/dlg/PaneChildWindows.cxx index a40acd367d6c..7f73e005b4c5 100644 --- a/sd/source/ui/dlg/PaneChildWindows.cxx +++ b/sd/source/ui/dlg/PaneChildWindows.cxx @@ -40,7 +40,7 @@ PaneChildWindow::PaneChildWindow ( sal_uInt16 nId, SfxBindings* pBindings, SfxChildWinInfo* pInfo, - const char* pTitleBarResId) + TranslateId pTitleBarResId) : SfxChildWindow (pParentWindow, nId) { SetWindow( VclPtr<PaneDockingWindow>::Create( diff --git a/sd/source/ui/dlg/tpaction.cxx b/sd/source/ui/dlg/tpaction.cxx index 4cd0cf68af9d..46611d147eb6 100644 --- a/sd/source/ui/dlg/tpaction.cxx +++ b/sd/source/ui/dlg/tpaction.cxx @@ -232,7 +232,7 @@ void SdTPAction::Construct() // fill Action-Listbox for (const presentation::ClickAction & rAction : maCurrentActions) { - const char* pRId = GetClickActionSdResId(rAction); + TranslateId pRId = GetClickActionSdResId(rAction); m_xLbAction->append_text(SdResId(pRId)); } @@ -798,7 +798,7 @@ OUString SdTPAction::GetEditText( bool bFullDocDestination ) return aStr; } -const char* SdTPAction::GetClickActionSdResId( presentation::ClickAction eCA ) +TranslateId SdTPAction::GetClickActionSdResId( presentation::ClickAction eCA ) { switch( eCA ) { @@ -816,7 +816,7 @@ const char* SdTPAction::GetClickActionSdResId( presentation::ClickAction eCA ) case presentation::ClickAction_STOPPRESENTATION: return STR_CLICK_ACTION_STOPPRESENTATION; default: OSL_FAIL( "No StringResource for ClickAction available!" ); } - return nullptr; + return {}; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/func/fuconrec.cxx b/sd/source/ui/func/fuconrec.cxx index 26be546af0c9..b354138af287 100644 --- a/sd/source/ui/func/fuconrec.cxx +++ b/sd/source/ui/func/fuconrec.cxx @@ -648,7 +648,7 @@ void FuConstructRectangle::SetAttributes(SfxItemSet& rAttr, SdrObject* pObj) /** * set line starts and ends for the object to be created */ -static ::basegfx::B2DPolyPolygon getPolygon(const char* pResId, const SdrModel& rModel) +static ::basegfx::B2DPolyPolygon getPolygon(TranslateId pResId, const SdrModel& rModel) { ::basegfx::B2DPolyPolygon aRetval; XLineEndListRef pLineEndList(rModel.GetLineEndList()); diff --git a/sd/source/ui/inc/PaneChildWindows.hxx b/sd/source/ui/inc/PaneChildWindows.hxx index 4d6c8463996d..e323353ee187 100644 --- a/sd/source/ui/inc/PaneChildWindows.hxx +++ b/sd/source/ui/inc/PaneChildWindows.hxx @@ -20,6 +20,7 @@ #pragma once #include <sfx2/childwin.hxx> +#include <unotools/resmgr.hxx> namespace sd { @@ -33,7 +34,7 @@ public: sal_uInt16 nId, SfxBindings* pBindings, SfxChildWinInfo* pInfo, - const char* pTitleBarResId); + TranslateId pTitleBarResId); virtual ~PaneChildWindow() override; }; diff --git a/sd/source/ui/inc/tpaction.hxx b/sd/source/ui/inc/tpaction.hxx index ac0c6fb8b0d0..22c4dd82a779 100644 --- a/sd/source/ui/inc/tpaction.hxx +++ b/sd/source/ui/inc/tpaction.hxx @@ -81,7 +81,7 @@ private: void SetActualClickAction( css::presentation::ClickAction eCA ); void SetEditText( OUString const & rStr ); OUString GetEditText( bool bURL = false ); - static const char* GetClickActionSdResId(css::presentation::ClickAction eCA); + static TranslateId GetClickActionSdResId(css::presentation::ClickAction eCA); public: SdTPAction(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rInAttrs); diff --git a/sd/source/ui/sidebar/LayoutMenu.cxx b/sd/source/ui/sidebar/LayoutMenu.cxx index 0e2e8aae890f..8483616c5e10 100644 --- a/sd/source/ui/sidebar/LayoutMenu.cxx +++ b/sd/source/ui/sidebar/LayoutMenu.cxx @@ -75,7 +75,7 @@ namespace { struct snewfoil_value_info { const char* msBmpResId; - const char* mpStrResId; + TranslateId mpStrResId; WritingMode meWritingMode; AutoLayout maAutoLayout; }; @@ -86,7 +86,7 @@ const snewfoil_value_info notes[] = { {BMP_FOILN_01, STR_AUTOLAYOUT_NOTES, WritingMode_LR_TB, AUTOLAYOUT_NOTES}, - {"", nullptr, WritingMode_LR_TB, AUTOLAYOUT_NONE}, + {"", {}, WritingMode_LR_TB, AUTOLAYOUT_NONE}, }; const snewfoil_value_info handout[] = @@ -103,7 +103,7 @@ const snewfoil_value_info handout[] = AUTOLAYOUT_HANDOUT6}, {BMP_FOILH_09, STR_AUTOLAYOUT_HANDOUT9, WritingMode_LR_TB, AUTOLAYOUT_HANDOUT9}, - {"", nullptr, WritingMode_LR_TB, AUTOLAYOUT_NONE}, + {"", {}, WritingMode_LR_TB, AUTOLAYOUT_NONE}, }; const snewfoil_value_info standard[] = @@ -126,7 +126,7 @@ const snewfoil_value_info standard[] = {BMP_LAYOUT_VERTICAL01, STR_AL_VERT_TITLE_VERT_OUTLINE, WritingMode_TB_RL, AUTOLAYOUT_VTITLE_VCONTENT}, {BMP_LAYOUT_HEAD02, STR_AL_TITLE_VERT_OUTLINE, WritingMode_TB_RL, AUTOLAYOUT_TITLE_VCONTENT}, {BMP_LAYOUT_HEAD02A, STR_AL_TITLE_VERT_OUTLINE_CLIPART, WritingMode_TB_RL, AUTOLAYOUT_TITLE_2VTEXT}, - {"", nullptr, WritingMode_LR_TB, AUTOLAYOUT_NONE} + {"", {}, WritingMode_LR_TB, AUTOLAYOUT_NONE} }; class LayoutValueSet : public ValueSet @@ -538,7 +538,7 @@ void LayoutMenu::Fill() } Clear(); - for (sal_uInt16 i=1; pInfo!=nullptr && pInfo->mpStrResId != nullptr; i++, pInfo++) + for (sal_uInt16 i=1; pInfo!=nullptr && pInfo->mpStrResId; i++, pInfo++) { if ((WritingMode_TB_RL != pInfo->meWritingMode) || bVertical) { diff --git a/sd/source/ui/sidebar/MasterPageContainer.cxx b/sd/source/ui/sidebar/MasterPageContainer.cxx index a37b3b6ddeb0..3db225efba2d 100644 --- a/sd/source/ui/sidebar/MasterPageContainer.cxx +++ b/sd/source/ui/sidebar/MasterPageContainer.cxx @@ -157,7 +157,7 @@ private: Size maSmallPreviewSizePixel; Size maLargePreviewSizePixel; - Image GetPreviewSubstitution(const char* pId, PreviewSize ePreviewSize); + Image GetPreviewSubstitution(TranslateId pId, PreviewSize ePreviewSize); void CleanContainer(); }; @@ -841,14 +841,14 @@ SdDrawDocument* MasterPageContainer::Implementation::GetDocument() } Image MasterPageContainer::Implementation::GetPreviewSubstitution ( - const char* pId, + TranslateId pId, PreviewSize ePreviewSize) { const ::osl::MutexGuard aGuard (maMutex); Image aPreview; - if (strcmp(pId, STR_TASKPANEL_PREPARING_PREVIEW_SUBSTITUTION) == 0) + if (pId == STR_TASKPANEL_PREPARING_PREVIEW_SUBSTITUTION) { Image& rPreview (ePreviewSize==SMALL ? maSmallPreviewBeingCreated @@ -861,7 +861,7 @@ Image MasterPageContainer::Implementation::GetPreviewSubstitution ( } aPreview = rPreview; } - else if (strcmp(pId, STR_TASKPANEL_NOT_AVAILABLE_SUBSTITUTION) == 0) + else if (pId == STR_TASKPANEL_NOT_AVAILABLE_SUBSTITUTION) { Image& rPreview (ePreviewSize==SMALL ? maSmallPreviewNotAvailable diff --git a/sd/source/ui/view/DocumentRenderer.cxx b/sd/source/ui/view/DocumentRenderer.cxx index d0cc984e249b..ed93441139a1 100644 --- a/sd/source/ui/view/DocumentRenderer.cxx +++ b/sd/source/ui/view/DocumentRenderer.cxx @@ -665,7 +665,7 @@ namespace { maProperties.push_back( aVal ); } - static Sequence<OUString> CreateChoice(const char** pResourceId, size_t nCount) + static Sequence<OUString> CreateChoice(const TranslateId* pResourceId, size_t nCount) { Sequence<OUString> aChoices (nCount); for (size_t nIndex=0; nIndex < nCount; ++nIndex) diff --git a/sd/source/ui/view/Outliner.cxx b/sd/source/ui/view/Outliner.cxx index 66e25ad8438a..dd823204ced1 100644 --- a/sd/source/ui/view/Outliner.cxx +++ b/sd/source/ui/view/Outliner.cxx @@ -1439,7 +1439,7 @@ bool SdOutliner::ShowWrapAroundDialog() // The question text depends on the search direction. bool bImpress = mpDrawDocument && mpDrawDocument->GetDocumentType() == DocumentType::Impress; - const char* pStringId; + TranslateId pStringId; if (mbDirectionIsForward) pStringId = bImpress ? STR_SAR_WRAP_FORWARD : STR_SAR_WRAP_FORWARD_DRAW; else diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx index b370a0d551bb..7a1c81c89bf7 100644 --- a/sd/source/ui/view/drviews2.cxx +++ b/sd/source/ui/view/drviews2.cxx @@ -2349,7 +2349,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) case SID_SHOW_NEXT_LEVEL: { - const char* const STR_PRESOBJ_MPOUTLINE_ARY[] + const TranslateId STR_PRESOBJ_MPOUTLINE_ARY[] { STR_PRESOBJ_MPOUTLINE, STR_PRESOBJ_MPOUTLLAYER2, diff --git a/sd/source/ui/view/viewoverlaymanager.cxx b/sd/source/ui/view/viewoverlaymanager.cxx index d1db1e73a194..935d88555120 100644 --- a/sd/source/ui/view/viewoverlaymanager.cxx +++ b/sd/source/ui/view/viewoverlaymanager.cxx @@ -62,7 +62,7 @@ class ImageButtonHdl; } const sal_uInt16 gButtonSlots[] = { SID_INSERT_TABLE, SID_INSERT_DIAGRAM, SID_INSERT_GRAPHIC, SID_INSERT_AVMEDIA }; -static const char* gButtonToolTips[] = { STR_INSERT_TABLE, STR_INSERT_CHART, STR_INSERT_PICTURE, STR_INSERT_MOVIE }; +const TranslateId gButtonToolTips[] = { STR_INSERT_TABLE, STR_INSERT_CHART, STR_INSERT_PICTURE, STR_INSERT_MOVIE }; const std::u16string_view aSmallPlaceHolders[] = { diff --git a/sfx2/inc/dinfdlg.hrc b/sfx2/inc/dinfdlg.hrc index a99ead5b6b91..5b838ce56652 100644 --- a/sfx2/inc/dinfdlg.hrc +++ b/sfx2/inc/dinfdlg.hrc @@ -20,9 +20,9 @@ #ifndef INCLUDED_SFX2_INC_DINFDLG_HRC #define INCLUDED_SFX2_INC_DINFDLG_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* SFX_CB_PROPERTY_STRINGARRAY[] = +const TranslateId SFX_CB_PROPERTY_STRINGARRAY[] = { NC_("SFX_CB_PROPERTY_STRINGARRAY", "Checked by"), NC_("SFX_CB_PROPERTY_STRINGARRAY", "Client"), @@ -64,7 +64,7 @@ const char* SFX_CB_PROPERTY_STRINGARRAY[] = #define CUSTOM_TYPE_DURATION 5 #define CUSTOM_TYPE_DATETIME 6 -const std::pair<const char*, int> SFX_LB_PROPERTY_STRINGARRAY[] = +const std::pair<TranslateId, int> SFX_LB_PROPERTY_STRINGARRAY[] = { { NC_("SFX_CB_PROPERTY_STRINGARRAY", "Text") , CUSTOM_TYPE_TEXT }, { NC_("SFX_CB_PROPERTY_STRINGARRAY", "DateTime") , CUSTOM_TYPE_DATETIME }, diff --git a/sfx2/inc/doctempl.hrc b/sfx2/inc/doctempl.hrc index 46773035e9b7..ef2310d860de 100644 --- a/sfx2/inc/doctempl.hrc +++ b/sfx2/inc/doctempl.hrc @@ -20,9 +20,9 @@ #ifndef INCLUDED_SFX2_INC_DOCTEMPL_HRC #define INCLUDED_SFX2_INC_DOCTEMPL_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* TEMPLATE_LONG_NAMES_ARY[] = +const TranslateId TEMPLATE_LONG_NAMES_ARY[] = { NC_("TEMPLATE_LONG_NAMES_ARY", "My Templates"), NC_("TEMPLATE_LONG_NAMES_ARY", "Styles"), diff --git a/sfx2/source/appl/opengrf.cxx b/sfx2/source/appl/opengrf.cxx index 59bf0e13c261..325c50422479 100644 --- a/sfx2/source/appl/opengrf.cxx +++ b/sfx2/source/appl/opengrf.cxx @@ -46,7 +46,7 @@ using namespace ::com::sun::star::ui::dialogs; using namespace ::com::sun::star::uno; using namespace ::cppu; -static const char* SvxOpenGrfErr2ResId( ErrCode err ) +static TranslateId SvxOpenGrfErr2ResId( ErrCode err ) { if (err == ERRCODE_GRFILTER_OPENERROR) return RID_SVXSTR_GRFILTER_OPENERROR; diff --git a/sfx2/source/bastyp/sfxresid.cxx b/sfx2/source/bastyp/sfxresid.cxx index 2c60a31fe6e8..1bc6d68bbee4 100644 --- a/sfx2/source/bastyp/sfxresid.cxx +++ b/sfx2/source/bastyp/sfxresid.cxx @@ -18,8 +18,7 @@ */ #include <sfx2/sfxresid.hxx> -#include <unotools/resmgr.hxx> -OUString SfxResId(std::string_view aId) { return Translate::get(aId, Translate::Create("sfx")); } +OUString SfxResId(TranslateId aId) { return Translate::get(aId, Translate::Create("sfx")); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/source/control/msgpool.cxx b/sfx2/source/control/msgpool.cxx index be4ebdaa67f9..f7a94203e6b7 100644 --- a/sfx2/source/control/msgpool.cxx +++ b/sfx2/source/control/msgpool.cxx @@ -51,7 +51,7 @@ SfxSlotPool::~SfxSlotPool() namespace { - const char* getGidResId(SfxGroupId nId) + TranslateId getGidResId(SfxGroupId nId) { if (nId == SfxGroupId::Intern) return STR_GID_INTERN; @@ -105,7 +105,7 @@ namespace return STR_GID_DRAWING; else if (nId == SfxGroupId::Controls) return STR_GID_CONTROLS; - return nullptr; + return {}; } } @@ -193,7 +193,7 @@ OUString SfxSlotPool::SeekGroup( sal_uInt16 nNo ) } } - const char* pResId = getGidResId(_vGroups[_nCurGroup]); + TranslateId pResId = getGidResId(_vGroups[_nCurGroup]); if (!pResId) { OSL_FAIL( "GroupId-Name not defined in SFX!" ); diff --git a/sfx2/source/devtools/DevToolsStrings.hrc b/sfx2/source/devtools/DevToolsStrings.hrc index 764ae78712a0..4c3f3e9ceb33 100644 --- a/sfx2/source/devtools/DevToolsStrings.hrc +++ b/sfx2/source/devtools/DevToolsStrings.hrc @@ -9,7 +9,8 @@ */ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) + +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define STR_TEXT_PORTION NC_("STR_TEXT_PORTION", "Text Portion %1") #define STR_PARAGRAPH NC_("STR_PARAGRAPH", "Paragraph %1") diff --git a/sfx2/source/dialog/styfitem.cxx b/sfx2/source/dialog/styfitem.cxx index 5ae3017260eb..489c4d2df5e5 100644 --- a/sfx2/source/dialog/styfitem.cxx +++ b/sfx2/source/dialog/styfitem.cxx @@ -22,12 +22,12 @@ SfxStyleFamilyItem::SfxStyleFamilyItem( SfxStyleFamily nFamily_, const OUString& rName, const OUString& rImage, - const std::pair<const char*, SfxStyleSearchBits>* pStringArray, const std::locale& rResLocale) + const std::pair<TranslateId, SfxStyleSearchBits>* pStringArray, const std::locale& rResLocale) : nFamily(nFamily_) , aText(rName) , aImage(rImage) { - for (const std::pair<const char*, SfxStyleSearchBits>* pItem = pStringArray; pItem->first; + for (const std::pair<TranslateId, SfxStyleSearchBits>* pItem = pStringArray; pItem->first; ++pItem) aFilterList.emplace_back(Translate::get(pItem->first, rResLocale), pItem->second); } diff --git a/sfx2/source/doc/doctempl.cxx b/sfx2/source/doc/doctempl.cxx index b4de76f63a38..bc2a2b34570c 100644 --- a/sfx2/source/doc/doctempl.cxx +++ b/sfx2/source/doc/doctempl.cxx @@ -494,7 +494,7 @@ OUString SfxDocumentTemplates::ConvertResourceString(const OUString& rString) u"" STR_TEMPLATE_NAME30_DEF }; - const char* STR_TEMPLATE_NAME[] = + TranslateId STR_TEMPLATE_NAME[] = { STR_TEMPLATE_NAME1, STR_TEMPLATE_NAME2, diff --git a/sfx2/source/doc/doctemplates.cxx b/sfx2/source/doc/doctemplates.cxx index a35ce5269782..f381b8b7bcf1 100644 --- a/sfx2/source/doc/doctemplates.cxx +++ b/sfx2/source/doc/doctemplates.cxx @@ -2740,7 +2740,7 @@ OUString DocTemplLocaleHelper::GetStandardGroupString() std::vector<OUString> DocTemplLocaleHelper::GetBuiltInGroupNames() { std::vector<OUString> aGroups; - for(auto aGroupName : TEMPLATE_LONG_NAMES_ARY) + for(auto const & aGroupName : TEMPLATE_LONG_NAMES_ARY) aGroups.push_back(SfxResId(aGroupName)); return aGroups; } diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx index 75b77ef2cd2e..e7c9001e5b49 100644 --- a/sfx2/source/doc/objstor.cxx +++ b/sfx2/source/doc/objstor.cxx @@ -3026,7 +3026,7 @@ HiddenInformation SfxObjectShell::GetHiddenInformationState( HiddenInformation n sal_Int16 SfxObjectShell::QueryHiddenInformation(HiddenWarningFact eFact, weld::Window* pParent) { sal_Int16 nRet = RET_YES; - const char* pResId = nullptr; + TranslateId pResId; SvtSecurityOptions::EOption eOption = SvtSecurityOptions::EOption(); switch ( eFact ) diff --git a/shell/inc/spsupp/spsuppStrings.hrc b/shell/inc/spsupp/spsuppStrings.hrc index dc96fbb89459..a6ad2933c5fa 100644 --- a/shell/inc/spsupp/spsuppStrings.hrc +++ b/shell/inc/spsupp/spsuppStrings.hrc @@ -10,7 +10,7 @@ #ifndef INCLUDED_SHELL_INC_SPSUPP_STRINGS_HRC #define INCLUDED_SHELL_INC_SPSUPP_STRINGS_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define RID_STR_SP_VIEW_OR_EDIT_TITLE NC_("RID_STR_SP_VIEW_OR_EDIT_TITLE", "Open Document") #define RID_STR_SP_VIEW_OR_EDIT_MESSAGE NC_("RID_STR_SP_VIEW_OR_EDIT_MESSAGE", "You are opening document\n\n %DOCNAME\n\nDo you want to open it to view or to edit?") diff --git a/shell/source/win32/spsupp/spsuppHelper.cxx b/shell/source/win32/spsupp/spsuppHelper.cxx index 3f6c9f787961..595128ca7479 100644 --- a/shell/source/win32/spsupp/spsuppHelper.cxx +++ b/shell/source/win32/spsupp/spsuppHelper.cxx @@ -43,7 +43,7 @@ const OUString& GetSofficeExe() return s_sPath; } -OUString GetString(const char* pResId) +OUString GetString(TranslateId pResId) { static const std::locale s_pLocale = [] { // Initialize soffice bootstrap: see getIniFileName_Impl for reference diff --git a/solenv/bin/install-gdb-printers b/solenv/bin/install-gdb-printers index aae4020a4532..3eae4d9efe2b 100755 --- a/solenv/bin/install-gdb-printers +++ b/solenv/bin/install-gdb-printers @@ -124,7 +124,7 @@ if [[ ${DESTDIR}${pythondir} != ${GDBDIR} ]]; then fi if [[ -n "${MERGELIBS}" ]]; then - make_autoload merged program libmergedlo."$DYLIB" merge svl tl basegfx vcl + make_autoload merged program libmergedlo."$DYLIB" merge svl tl basegfx vcl utl make_autoload cppu program libuno_cppu."$DYLIB".3 make_autoload sal program libuno_sal."$DYLIB".3 make_autoload sw program libswlo."$DYLIB" @@ -135,6 +135,7 @@ else make_autoload svl program libsvllo."$DYLIB" make_autoload sw program libswlo."$DYLIB" make_autoload tl program libtllo."$DYLIB" + make_autoload utl program libutllo."$DYLIB" make_autoload vcl program libvcllo."$DYLIB" fi make_autoload writerfilter program libwriterfilterlo."$DYLIB" diff --git a/solenv/gdb/libreoffice/utl.py b/solenv/gdb/libreoffice/utl.py new file mode 100644 index 000000000000..0e6de6ff94ed --- /dev/null +++ b/solenv/gdb/libreoffice/utl.py @@ -0,0 +1,39 @@ +# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +import gdb + +from libreoffice.util import printing + +class TranslateIdPrinter(object): + '''Prints a TranslateId.''' + + def __init__(self, typename, value): + self.typename = typename + self.value = value + + def to_string(self): + return self.value['mpContext'].format_string(format='s') + " " + self.value['mpId'].format_string(format='s') + +printer = None + +def build_pretty_printers(): + global printer + + printer = printing.Printer('libreoffice/utl') + + # various types + printer.add('TranslateId', TranslateIdPrinter) + +def register_pretty_printers(obj): + printing.register_pretty_printer(printer, obj) + +build_pretty_printers() + +# vim:set shiftwidth=4 softtabstop=4 expandtab: diff --git a/starmath/inc/ElementsDockingWindow.hxx b/starmath/inc/ElementsDockingWindow.hxx index 249af40b1461..9f8849da4b82 100644 --- a/starmath/inc/ElementsDockingWindow.hxx +++ b/starmath/inc/ElementsDockingWindow.hxx @@ -22,6 +22,7 @@ #include <sfx2/dockwin.hxx> #include <vcl/customweld.hxx> #include <vcl/weld.hxx> +#include <unotools/resmgr.hxx> #include "parse.hxx" #include "AccessibleSmElementsControl.hxx" @@ -56,7 +57,7 @@ public: bool isSeparator() const override { return true; } }; -typedef std::pair<const char*, const char*> SmElementDescr; +typedef std::pair<const char*, TranslateId> SmElementDescr; class SmElementsControl : public weld::CustomWidgetController { @@ -74,7 +75,7 @@ class SmElementsControl : public weld::CustomWidgetController static const SmElementDescr m_a5FormatsList[]; static const SmElementDescr m_a5OthersList[]; static const SmElementDescr m_a5ExamplesList[]; - static const std::tuple<const char*, const SmElementDescr*, size_t> m_a5Categories[]; + static const std::tuple<TranslateId, const SmElementDescr*, size_t> m_a5Categories[]; static const size_t m_a5CategoriesSize; // SmParser 6 elements @@ -96,7 +97,7 @@ class SmElementsControl : public weld::CustomWidgetController SmDocShell* mpDocShell; SmFormat maFormat; - OString msCurrentSetId; + TranslateId msCurrentSetId; sal_uInt16 m_nCurrentElement; sal_uInt16 m_nCurrentRolloverElement; sal_uInt16 m_nCurrentOffset; @@ -133,8 +134,8 @@ public: static const auto& categories() { return m_a5Categories; } static size_t categoriesSize() { return m_a5CategoriesSize; } - const OString& elementSetId() const { return msCurrentSetId; } - void setElementSetId(const char* pSetId); + const TranslateId& elementSetId() const { return msCurrentSetId; } + void setElementSetId(TranslateId pSetId); void setVerticalMode(bool bVertical); diff --git a/starmath/inc/parsebase.hxx b/starmath/inc/parsebase.hxx index c8507db1dbbb..d655e7615096 100644 --- a/starmath/inc/parsebase.hxx +++ b/starmath/inc/parsebase.hxx @@ -24,6 +24,7 @@ #pragma once #include <unotools/charclass.hxx> +#include <unotools/resmgr.hxx> #include "node.hxx" @@ -83,7 +84,7 @@ public: namespace starmathdatabase { // Must be in sync with SmParseError list -extern const char* SmParseErrorDesc[16]; +extern const TranslateId SmParseErrorDesc[16]; OUString getParseErrorDesc(SmParseError err); } diff --git a/starmath/inc/smmod.hrc b/starmath/inc/smmod.hrc index d581961ce2b4..69c7affb7acd 100644 --- a/starmath/inc/smmod.hrc +++ b/starmath/inc/smmod.hrc @@ -9,15 +9,15 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* RID_UI_SYMBOLSET_NAMES[] = +const TranslateId RID_UI_SYMBOLSET_NAMES[] = { NC_("RID_UI_SYMBOLSET_NAMES", "Greek"), NC_("RID_UI_SYMBOLSET_NAMES", "Special") }; -const char* RID_UI_SYMBOL_NAMES[] = +const TranslateId RID_UI_SYMBOL_NAMES[] = { NC_("RID_UI_SYMBOL_NAMES", "alpha"), NC_("RID_UI_SYMBOL_NAMES", "ALPHA"), diff --git a/starmath/inc/smmod.hxx b/starmath/inc/smmod.hxx index ca1fbb7c93e2..b968f9092124 100644 --- a/starmath/inc/smmod.hxx +++ b/starmath/inc/smmod.hxx @@ -46,7 +46,7 @@ class SvtSysLocale; class VirtualDevice; -OUString SmResId(std::string_view aId); +OUString SmResId(TranslateId aId); class SmLocalizedSymbolData { diff --git a/starmath/inc/strings.hrc b/starmath/inc/strings.hrc index 85451b612aa3..963b182c211c 100644 --- a/starmath/inc/strings.hrc +++ b/starmath/inc/strings.hrc @@ -26,7 +26,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) // clang-format off #define RID_PLUSX_HELP NC_("RID_PLUSX_HELP", "+ Sign" ) diff --git a/starmath/source/AccessibleSmElementsControl.cxx b/starmath/source/AccessibleSmElementsControl.cxx index 922c8097fd6a..1017d8468686 100644 --- a/starmath/source/AccessibleSmElementsControl.cxx +++ b/starmath/source/AccessibleSmElementsControl.cxx @@ -235,8 +235,8 @@ OUString AccessibleSmElementsControl::getAccessibleName() { SolarMutexGuard aGuard; OUString aName; - if (m_pControl) - aName = SmResId(m_pControl->elementSetId().getStr()); + if (m_pControl && m_pControl->elementSetId()) + aName = SmResId(m_pControl->elementSetId()); return aName; } diff --git a/starmath/source/ElementsDockingWindow.cxx b/starmath/source/ElementsDockingWindow.cxx index cd03a7f7d338..278b2287b40b 100644 --- a/starmath/source/ElementsDockingWindow.cxx +++ b/starmath/source/ElementsDockingWindow.cxx @@ -56,7 +56,7 @@ const SmElementDescr SmElementsControl::m_a5UnaryBinaryOperatorsList[] = { {RID_PLUSX, RID_PLUSX_HELP}, {RID_MINUSX, RID_MINUSX_HELP}, {RID_PLUSMINUSX, RID_PLUSMINUSX_HELP}, {RID_MINUSPLUSX, RID_MINUSPLUSX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_XPLUSY, RID_XPLUSY_HELP}, {RID_XMINUSY, RID_XMINUSY_HELP}, {RID_XCDOTY, RID_XCDOTY_HELP}, {RID_XTIMESY, RID_XTIMESY_HELP}, {RID_XSYMTIMESY, RID_XSYMTIMESY_HELP}, {RID_XOVERY, RID_XOVERY_HELP}, @@ -66,7 +66,7 @@ const SmElementDescr SmElementsControl::m_a5UnaryBinaryOperatorsList[] = {RID_XODOTY, RID_XODOTY_HELP}, {RID_XOTIMESY, RID_XOTIMESY_HELP}, {RID_XODIVIDEY, RID_XODIVIDEY_HELP}, {RID_XCIRCY, RID_XCIRCY_HELP}, {RID_XWIDESLASHY, RID_XWIDESLASHY_HELP}, {RID_XWIDEBSLASHY, RID_XWIDEBSLASHY_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_NEGX, RID_NEGX_HELP}, {RID_XANDY, RID_XANDY_HELP}, {RID_XORY, RID_XORY_HELP} }; @@ -76,15 +76,15 @@ const SmElementDescr SmElementsControl::m_a5RelationsList[] = {RID_XLEY, RID_XLEY_HELP}, {RID_XLESLANTY, RID_XLESLANTY_HELP}, {RID_XGTY, RID_XGTY_HELP}, {RID_XGEY, RID_XGEY_HELP}, {RID_XGESLANTY, RID_XGESLANTY_HELP}, {RID_XLLY, RID_XLLY_HELP}, {RID_XGGY, RID_XGGY_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_XAPPROXY, RID_XAPPROXY_HELP}, {RID_XSIMY, RID_XSIMY_HELP}, {RID_XSIMEQY, RID_XSIMEQY_HELP}, {RID_XEQUIVY, RID_XEQUIVY_HELP}, {RID_XPROPY, RID_XPROPY_HELP}, {RID_XPARALLELY, RID_XPARALLELY_HELP}, {RID_XORTHOY, RID_XORTHOY_HELP}, {RID_XDIVIDESY, RID_XDIVIDESY_HELP}, {RID_XNDIVIDESY, RID_XNDIVIDESY_HELP}, {RID_XTOWARDY, RID_XTOWARDY_HELP}, {RID_XTRANSLY, RID_XTRANSLY_HELP}, {RID_XTRANSRY, RID_XTRANSRY_HELP}, {RID_XDEFY, RID_XDEFY_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_DLARROW, RID_DLARROW_HELP}, {RID_DLRARROW, RID_DLRARROW_HELP}, {RID_DRARROW, RID_DRARROW_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_XPRECEDESY, RID_XPRECEDESY_HELP}, {RID_XSUCCEEDSY, RID_XSUCCEEDSY_HELP}, {RID_XPRECEDESEQUALY, RID_XPRECEDESEQUALY_HELP}, {RID_XSUCCEEDSEQUALY, RID_XSUCCEEDSEQUALY_HELP}, {RID_XPRECEDESEQUIVY, RID_XPRECEDESEQUIVY_HELP}, {RID_XSUCCEEDSEQUIVY, RID_XSUCCEEDSEQUIVY_HELP}, @@ -94,14 +94,14 @@ const SmElementDescr SmElementsControl::m_a5RelationsList[] = const SmElementDescr SmElementsControl::m_a5SetOperationsList[] = { {RID_XINY, RID_XINY_HELP}, {RID_XNOTINY, RID_XNOTINY_HELP}, {RID_XOWNSY, RID_XOWNSY_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_XINTERSECTIONY, RID_XINTERSECTIONY_HELP}, {RID_XUNIONY, RID_XUNIONY_HELP}, {RID_XSETMINUSY, RID_XSETMINUSY_HELP}, {RID_XSETQUOTIENTY, RID_XSETQUOTIENTY_HELP}, {RID_XSUBSETY, RID_XSUBSETY_HELP}, {RID_XSUBSETEQY, RID_XSUBSETEQY_HELP}, {RID_XSUPSETY, RID_XSUPSETY_HELP}, {RID_XSUPSETEQY, RID_XSUPSETEQY_HELP}, {RID_XNSUBSETY, RID_XNSUBSETY_HELP}, {RID_XNSUBSETEQY, RID_XNSUBSETEQY_HELP}, {RID_XNSUPSETY, RID_XNSUPSETY_HELP}, {RID_XNSUPSETEQY, RID_XNSUPSETEQY_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_EMPTYSET, RID_EMPTYSET_HELP}, {RID_ALEPH, RID_ALEPH_HELP}, {RID_SETN, RID_SETN_HELP}, {RID_SETZ, RID_SETZ_HELP}, {RID_SETQ, RID_SETQ_HELP}, {RID_SETR, RID_SETR_HELP}, {RID_SETC, RID_SETC_HELP} }; @@ -111,15 +111,15 @@ const SmElementDescr SmElementsControl::m_a5FunctionsList[] = {RID_ABSX, RID_ABSX_HELP}, {RID_FACTX, RID_FACTX_HELP}, {RID_SQRTX, RID_SQRTX_HELP}, {RID_NROOTXY, RID_NROOTXY_HELP}, {RID_RSUPX, RID_RSUPX_HELP}, {RID_EX, RID_EX_HELP}, {RID_LNX, RID_LNX_HELP}, {RID_EXPX, RID_EXPX_HELP}, {RID_LOGX, RID_LOGX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_SINX, RID_SINX_HELP}, {RID_COSX, RID_COSX_HELP}, {RID_TANX, RID_TANX_HELP}, {RID_COTX, RID_COTX_HELP}, {RID_SINHX, RID_SINHX_HELP}, {RID_COSHX, RID_COSHX_HELP}, {RID_TANHX, RID_TANHX_HELP}, {RID_COTHX, RID_COTHX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_ARCSINX, RID_ARCSINX_HELP}, {RID_ARCCOSX, RID_ARCCOSX_HELP}, {RID_ARCTANX, RID_ARCTANX_HELP}, {RID_ARCCOTX, RID_ARCCOTX_HELP}, {RID_ARSINHX, RID_ARSINHX_HELP}, {RID_ARCOSHX, RID_ARCOSHX_HELP}, {RID_ARTANHX, RID_ARTANHX_HELP}, {RID_ARCOTHX, RID_ARCOTHX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_FUNCX, RID_FUNCX_HELP} }; @@ -127,40 +127,40 @@ const SmElementDescr SmElementsControl::m_a5OperatorsList[] = { {RID_LIMX, RID_LIMX_HELP}, {RID_LIM_FROMX, RID_LIM_FROMX_HELP}, {RID_LIM_TOX, RID_LIM_TOX_HELP}, {RID_LIM_FROMTOX, RID_LIM_FROMTOX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_LIMINFX, RID_LIMINFX_HELP}, {RID_LIMINF_FROMX, RID_LIMINF_FROMX_HELP}, {RID_LIMINF_TOX, RID_LIMINF_TOX_HELP}, {RID_LIMINF_FROMTOX, RID_LIMINF_FROMTOX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_LIMSUPX, RID_LIMSUPX_HELP}, {RID_LIMSUP_FROMX, RID_LIMSUP_FROMX_HELP}, {RID_LIMSUP_TOX, RID_LIMSUP_TOX_HELP}, {RID_LIMSUP_FROMTOX, RID_LIMSUP_FROMTOX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_SUMX, RID_SUMX_HELP}, {RID_SUM_FROMX, RID_SUM_FROMX_HELP}, {RID_SUM_TOX, RID_SUM_TOX_HELP}, {RID_SUM_FROMTOX, RID_SUM_FROMTOX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_PRODX, RID_PRODX_HELP}, {RID_PROD_FROMX, RID_PROD_FROMX_HELP}, {RID_PROD_TOX, RID_PROD_TOX_HELP}, {RID_PROD_FROMTOX, RID_PROD_FROMTOX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_COPRODX, RID_COPRODX_HELP}, {RID_COPROD_FROMX, RID_COPROD_FROMX_HELP}, {RID_COPROD_TOX, RID_COPROD_TOX_HELP}, {RID_COPROD_FROMTOX, RID_COPROD_FROMTOX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_INTX, RID_INTX_HELP}, {RID_INT_FROMX, RID_INT_FROMX_HELP}, {RID_INT_TOX, RID_INT_TOX_HELP}, {RID_INT_FROMTOX, RID_INT_FROMTOX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_IINTX, RID_IINTX_HELP}, {RID_IINT_FROMX, RID_IINT_FROMX_HELP}, {RID_IINT_TOX, RID_IINT_TOX_HELP}, {RID_IINT_FROMTOX, RID_IINT_FROMTOX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_IIINTX, RID_IIINTX_HELP}, {RID_IIINT_FROMX, RID_IIINT_FROMX_HELP}, {RID_IIINT_TOX, RID_IIINT_TOX_HELP}, {RID_IIINT_FROMTOX, RID_IIINT_FROMTOX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_LINTX, RID_LINTX_HELP}, {RID_LINT_FROMX, RID_LINT_FROMX_HELP}, {RID_LINT_TOX, RID_LINT_TOX_HELP}, {RID_LINT_FROMTOX, RID_LINT_FROMTOX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_LLINTX, RID_LLINTX_HELP}, {RID_LLINT_FROMX, RID_LLINT_FROMX_HELP}, {RID_LLINT_TOX, RID_LLINT_TOX_HELP}, {RID_LLINT_FROMTOX, RID_LLINT_FROMTOX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_LLLINTX, RID_LLLINTX_HELP}, {RID_LLLINT_FROMX, RID_LLLINT_FROMX_HELP}, {RID_LLLINT_TOX, RID_LLLINT_TOX_HELP}, {RID_LLLINT_FROMTOX, RID_LLLINT_FROMTOX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_OPERX, RID_OPERX_HELP}, {RID_OPER_FROMX, RID_OPER_FROMX_HELP}, {RID_OPER_TOX, RID_OPER_TOX_HELP}, {RID_OPER_FROMTOX, RID_OPER_FROMTOX_HELP} }; @@ -172,14 +172,14 @@ const SmElementDescr SmElementsControl::m_a5AttributesList[] = {RID_DDDOTX, RID_DDDOTX_HELP}, {RID_BARX, RID_BARX_HELP}, {RID_VECX, RID_VECX_HELP}, {RID_HARPOONX, RID_HARPOONX_HELP}, {RID_TILDEX, RID_TILDEX_HELP}, {RID_HATX, RID_HATX_HELP}, {RID_CHECKX, RID_CHECKX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_WIDEVECX, RID_WIDEVECX_HELP}, {RID_WIDEHARPOONX, RID_WIDEHARPOONX_HELP}, {RID_WIDETILDEX, RID_WIDETILDEX_HELP}, {RID_WIDEHATX, RID_WIDEHATX_HELP}, {RID_OVERLINEX, RID_OVERLINEX_HELP}, {RID_UNDERLINEX, RID_UNDERLINEX_HELP}, {RID_OVERSTRIKEX, RID_OVERSTRIKEX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_PHANTOMX, RID_PHANTOMX_HELP}, {RID_BOLDX, RID_BOLDX_HELP}, {RID_ITALX, RID_ITALX_HELP}, {RID_SIZEXY, RID_SIZEXY_HELP}, {RID_FONTXY, RID_FONTXY_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_COLORX_BLACK, RID_COLORX_BLACK_HELP}, {RID_COLORX_BLUE, RID_COLORX_BLUE_HELP}, {RID_COLORX_GREEN, RID_COLORX_GREEN_HELP}, {RID_COLORX_RED, RID_COLORX_RED_HELP}, {RID_COLORX_AQUA, RID_COLORX_AQUA_HELP}, {RID_COLORX_FUCHSIA, RID_COLORX_FUCHSIA_HELP}, @@ -189,7 +189,7 @@ const SmElementDescr SmElementsControl::m_a5AttributesList[] = {RID_COLORX_PURPLE, RID_COLORX_PURPLE_HELP}, {RID_COLORX_SILVER, RID_COLORX_SILVER_HELP}, {RID_COLORX_TEAL, RID_COLORX_TEAL_HELP},{RID_COLORX_RGB, RID_COLORX_RGB_HELP}, {RID_COLORX_HEX, RID_COLORX_HEX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_COLORX_CORAL, RID_COLORX_CORAL_HELP}, {RID_COLORX_MIDNIGHT, RID_COLORX_MIDNIGHT_HELP}, {RID_COLORX_CRIMSON, RID_COLORX_CRIMSON_HELP}, {RID_COLORX_VIOLET, RID_COLORX_VIOLET_HELP}, {RID_COLORX_ORANGE, RID_COLORX_ORANGE_HELP}, {RID_COLORX_ORANGERED, RID_COLORX_ORANGERED_HELP}, @@ -201,21 +201,21 @@ const SmElementDescr SmElementsControl::m_a5AttributesList[] = const SmElementDescr SmElementsControl::m_a5BracketsList[] = { {RID_LRGROUPX, RID_LRGROUPX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_LRPARENTX, RID_LRPARENTX_HELP}, {RID_LRBRACKETX, RID_LRBRACKETX_HELP}, {RID_LRDBRACKETX, RID_LRDBRACKETX_HELP}, {RID_LRBRACEX, RID_LRBRACEX_HELP}, {RID_LRANGLEX, RID_LRANGLEX_HELP}, {RID_LMRANGLEXY, RID_LMRANGLEXY_HELP}, {RID_LRCEILX, RID_LRCEILX_HELP}, {RID_LRFLOORX, RID_LRFLOORX_HELP}, {RID_LRLINEX, RID_LRLINEX_HELP}, {RID_LRDLINEX, RID_LRDLINEX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_SLRPARENTX, RID_SLRPARENTX_HELP}, {RID_SLRBRACKETX, RID_SLRBRACKETX_HELP}, {RID_SLRDBRACKETX, RID_SLRDBRACKETX_HELP}, {RID_SLRBRACEX, RID_SLRBRACEX_HELP}, {RID_SLRANGLEX, RID_SLRANGLEX_HELP}, {RID_SLMRANGLEXY, RID_SLMRANGLEXY_HELP}, {RID_SLRCEILX, RID_SLRCEILX_HELP}, {RID_SLRFLOORX, RID_SLRFLOORX_HELP}, {RID_SLRLINEX, RID_SLRLINEX_HELP}, {RID_SLRDLINEX, RID_SLRDLINEX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_XOVERBRACEY, RID_XOVERBRACEY_HELP}, {RID_XUNDERBRACEY, RID_XUNDERBRACEY_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_EVALX, RID_EVALUATEX_HELP}, {RID_EVAL_FROMX, RID_EVALUATE_FROMX_HELP}, {RID_EVAL_TOX, RID_EVALUATE_TOX_HELP}, {RID_EVAL_FROMTOX, RID_EVALUATE_FROMTOX_HELP}, }; @@ -224,11 +224,11 @@ const SmElementDescr SmElementsControl::m_a5FormatsList[] = { {RID_RSUPX, RID_RSUPX_HELP}, {RID_RSUBX, RID_RSUBX_HELP}, {RID_LSUPX, RID_LSUPX_HELP}, {RID_LSUBX, RID_LSUBX_HELP}, {RID_CSUPX, RID_CSUPX_HELP}, {RID_CSUBX, RID_CSUBX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_NEWLINE, RID_NEWLINE_HELP}, {RID_SBLANK, RID_SBLANK_HELP}, {RID_BLANK, RID_BLANK_HELP}, {RID_NOSPACE, RID_NOSPACE_HELP}, {RID_ALIGNLX, RID_ALIGNLX_HELP}, {RID_ALIGNCX, RID_ALIGNCX_HELP}, {RID_ALIGNRX, RID_ALIGNRX_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_BINOMXY, RID_BINOMXY_HELP}, {RID_STACK, RID_STACK_HELP}, {RID_MATRIX, RID_MATRIX_HELP}, }; @@ -240,10 +240,10 @@ const SmElementDescr SmElementsControl::m_a5OthersList[] = {RID_HBAR, RID_HBAR_HELP}, {RID_LAMBDABAR, RID_LAMBDABAR_HELP}, {RID_RE, RID_RE_HELP}, {RID_IM, RID_IM_HELP}, {RID_WP, RID_WP_HELP}, {RID_LAPLACE, RID_LAPLACE_HELP}, {RID_FOURIER, RID_FOURIER_HELP}, {RID_BACKEPSILON, RID_BACKEPSILON_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_LEFTARROW, RID_LEFTARROW_HELP}, {RID_RIGHTARROW, RID_RIGHTARROW_HELP}, {RID_UPARROW, RID_UPARROW_HELP}, {RID_DOWNARROW, RID_DOWNARROW_HELP}, - {nullptr, nullptr}, + {nullptr, {}}, {RID_DOTSLOW, RID_DOTSLOW_HELP}, {RID_DOTSAXIS, RID_DOTSAXIS_HELP}, {RID_DOTSVERT, RID_DOTSVERT_HELP}, {RID_DOTSUP, RID_DOTSUP_HELP}, {RID_DOTSDOWN, RID_DOTSDOWN_HELP} }; @@ -265,7 +265,7 @@ const SmElementDescr SmElementsControl::m_a5ExamplesList[] = }; #define AS_PAIR(a) a, SAL_N_ELEMENTS(a) -const std::tuple<const char*, const SmElementDescr*, size_t> SmElementsControl::m_a5Categories[] = +const std::tuple<TranslateId, const SmElementDescr*, size_t> SmElementsControl::m_a5Categories[] = { {RID_CATEGORY_UNARY_BINARY_OPERATORS, AS_PAIR(m_a5UnaryBinaryOperatorsList)}, {RID_CATEGORY_RELATIONS, AS_PAIR(m_a5RelationsList)}, @@ -875,7 +875,7 @@ void SmElementsControl::addElement(const OUString& aElementVisual, const OUStrin rDevice.Pop(); } -void SmElementsControl::setElementSetId(const char* pSetId) +void SmElementsControl::setElementSetId(TranslateId pSetId) { if (msCurrentSetId == pSetId) return; @@ -889,7 +889,7 @@ void SmElementsControl::addElements(const SmElementDescr aElementsArray[], sal_u for (sal_uInt16 i = 0; i < aElementsArraySize ; i++) { const char* pElement = aElementsArray[i].first; - const char* pElementHelp = aElementsArray[i].second; + TranslateId pElementHelp = aElementsArray[i].second; if (!pElement) { maElementList.push_back(std::make_unique<SmElementSeparator>()); } else { @@ -1270,7 +1270,7 @@ IMPL_LINK( SmElementsDockingWindow, ElementSelectedHandle, weld::ComboBox&, rLis { for (size_t i = 0; i < SmElementsControl::categoriesSize(); ++i) { - const char *pCurrentCategory = std::get<0>(SmElementsControl::categories()[i]); + TranslateId pCurrentCategory = std::get<0>(SmElementsControl::categories()[i]); OUString aCurrentCategoryString = SmResId(pCurrentCategory); if (aCurrentCategoryString == rList.get_active_text()) { diff --git a/starmath/source/parsebase.cxx b/starmath/source/parsebase.cxx index 2e6d92694db5..31c1e40c9c5a 100644 --- a/starmath/source/parsebase.cxx +++ b/starmath/source/parsebase.cxx @@ -21,7 +21,7 @@ #include <strings.hrc> #include <smmod.hxx> -const char* starmathdatabase::SmParseErrorDesc[] = { +const TranslateId starmathdatabase::SmParseErrorDesc[] = { // clang-format off RID_ERR_NONE, RID_ERR_UNEXPECTEDCHARACTER, diff --git a/starmath/source/smmod.cxx b/starmath/source/smmod.cxx index 776a25657088..2365e877e992 100644 --- a/starmath/source/smmod.cxx +++ b/starmath/source/smmod.cxx @@ -23,7 +23,6 @@ #include <svl/whiter.hxx> #include <sfx2/viewsh.hxx> #include <svx/svxids.hrc> -#include <unotools/resmgr.hxx> #include <vcl/virdev.hxx> #include <unotools/syslocale.hxx> #include <smmod.hxx> @@ -39,7 +38,7 @@ #define ShellClass_SmModule #include <smslots.hxx> -OUString SmResId(std::string_view aId) +OUString SmResId(TranslateId aId) { return Translate::get(aId, SM_MOD()->GetResLocale()); } @@ -50,7 +49,7 @@ OUString SmLocalizedSymbolData::GetUiSymbolName( const OUString &rExportName ) for (size_t i = 0; i < SAL_N_ELEMENTS(RID_UI_SYMBOL_NAMES); ++i) { - if (rExportName.equalsAscii(strchr(RID_UI_SYMBOL_NAMES[i], '\004') + 1)) + if (rExportName.equalsAscii(RID_UI_SYMBOL_NAMES[i].mpId)) { aRes = SmResId(RID_UI_SYMBOL_NAMES[i]); break; @@ -68,7 +67,7 @@ OUString SmLocalizedSymbolData::GetExportSymbolName( std::u16string_view rUiName { if (rUiName == SmResId(RID_UI_SYMBOL_NAMES[i])) { - const char *pKey = strchr(RID_UI_SYMBOL_NAMES[i], '\004') + 1; + const char *pKey = RID_UI_SYMBOL_NAMES[i].mpId; aRes = OUString(pKey, strlen(pKey), RTL_TEXTENCODING_UTF8); break; } @@ -83,7 +82,7 @@ OUString SmLocalizedSymbolData::GetUiSymbolSetName( const OUString &rExportName for (size_t i = 0; i < SAL_N_ELEMENTS(RID_UI_SYMBOLSET_NAMES); ++i) { - if (rExportName.equalsAscii(strchr(RID_UI_SYMBOLSET_NAMES[i], '\004') + 1)) + if (rExportName.equalsAscii(RID_UI_SYMBOLSET_NAMES[i].mpId)) { aRes = SmResId(RID_UI_SYMBOLSET_NAMES[i]); break; @@ -101,7 +100,7 @@ OUString SmLocalizedSymbolData::GetExportSymbolSetName( std::u16string_view rUiN { if (rUiName == SmResId(RID_UI_SYMBOLSET_NAMES[i])) { - const char *pKey = strchr(RID_UI_SYMBOLSET_NAMES[i], '\004') + 1; + const char *pKey = RID_UI_SYMBOLSET_NAMES[i].mpId; aRes = OUString(pKey, strlen(pKey), RTL_TEXTENCODING_UTF8); break; } diff --git a/starmath/source/uiobject.cxx b/starmath/source/uiobject.cxx index 5d7519816e52..e39de3cc6bbe 100644 --- a/starmath/source/uiobject.cxx +++ b/starmath/source/uiobject.cxx @@ -65,7 +65,7 @@ StringMap ElementSelectorUIObject::get_state() if (pElement) aMap["CurrentEntry"] = pElement->getText(); - aMap["CurrentSelection"] = OUString::fromUtf8(mpElementsSelector->msCurrentSetId); + aMap["CurrentSelection"] = OUString::fromUtf8(mpElementsSelector->msCurrentSetId.mpId); return aMap; } diff --git a/svl/source/misc/getstringresource.cxx b/svl/source/misc/getstringresource.cxx index 241600895d10..6b066c24da4a 100644 --- a/svl/source/misc/getstringresource.cxx +++ b/svl/source/misc/getstringresource.cxx @@ -23,6 +23,9 @@ #include <svl/svlresid.hxx> #include <unotools/resmgr.hxx> -OUString SvlResId(std::string_view id) { return Translate::get(id, Translate::Create("svl")); } +OUString SvlResId(TranslateId sContextAndId) +{ + return Translate::get(sContextAndId, Translate::Create("svl")); +} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svtools/inc/borderline.hrc b/svtools/inc/borderline.hrc index 05bb3c78f729..84ab7cc98fda 100644 --- a/svtools/inc/borderline.hrc +++ b/svtools/inc/borderline.hrc @@ -10,9 +10,9 @@ #include <editeng/borderline.hxx> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const std::pair<const char*, SvxBorderLineStyle> RID_SVXSTR_BORDERLINE[] = +const std::pair<TranslateId, SvxBorderLineStyle> RID_SVXSTR_BORDERLINE[] = { { NC_("RID_SVXSTR_BORDERLINE", "None"), SvxBorderLineStyle::NONE }, { NC_("RID_SVXSTR_BORDERLINE", "Solid"), SvxBorderLineStyle::SOLID }, diff --git a/svtools/inc/errtxt.hrc b/svtools/inc/errtxt.hrc index 009badd70b54..a5dce85f3092 100644 --- a/svtools/inc/errtxt.hrc +++ b/svtools/inc/errtxt.hrc @@ -22,7 +22,7 @@ #include <svtools/sfxecode.hxx> #include <svtools/soerr.hxx> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) const ErrMsgCode RID_ERRCTX[] = { @@ -41,10 +41,10 @@ const ErrMsgCode RID_ERRCTX[] = { NC_("RID_ERRCTX", "$(ERR) expanding entry") , ErrCode(ERRCTX_SFX_CREATEOBJSH) }, { NC_("RID_ERRCTX", "$(ERR) loading BASIC of document $(ARG1)") , ErrCode(ERRCTX_SFX_LOADBASIC) }, { NC_("RID_ERRCTX", "$(ERR) searching for an address"), ErrCode(ERRCTX_SFX_SEARCHADDRESS) }, - { nullptr, ERRCODE_NONE } + { {}, ERRCODE_NONE } }; -const std::pair<const char*, ErrCodeClass> RID_ERRHDL_CLASS[] = +const std::pair<TranslateId, ErrCodeClass> RID_ERRHDL_CLASS[] = { { NC_("RID_ERRHDL", "Abort") , ErrCodeClass::Abort }, { NC_("RID_ERRHDL", "Nonexistent object") , ErrCodeClass::NotExists }, @@ -65,7 +65,7 @@ const std::pair<const char*, ErrCodeClass> RID_ERRHDL_CLASS[] = { NC_("RID_ERRHDL", "Inadmissible value or data type") , ErrCodeClass::Sbx }, { NC_("RID_ERRHDL", "BASIC runtime error") , ErrCodeClass::Runtime }, { NC_("RID_ERRHDL", "BASIC syntax error") , ErrCodeClass::Compiler }, - { nullptr, ErrCodeClass::NONE } + { {}, ErrCodeClass::NONE } }; const ErrMsgCode RID_ERRHDL[] = @@ -132,7 +132,7 @@ const ErrMsgCode RID_ERRHDL[] = { NC_("RID_ERRHDL", "The password of a shared spreadsheet cannot be set or changed.\nDeactivate sharing mode first."), ERRCODE_SFX_SHARED_NOPASSWORDCHANGE }, { NC_("RID_ERRHDL", "File format error found at $(ARG1)(row,col)."), ERRCODE_SFX_FORMAT_ROWCOL }, { NC_("RID_ERRHDL", "The filter for this file format is disabled in configuration. Please contact your systems administrator."), ERRCODE_IO_FILTERDISABLED }, - { nullptr, ERRCODE_NONE } + { {}, ERRCODE_NONE } }; const ErrMsgCode RID_SO_ERROR_HANDLER[] = @@ -145,13 +145,13 @@ const ErrMsgCode RID_SO_ERROR_HANDLER[] = ERRCODE_SO_NOVERBS }, { NC_("RID_ERRHDL", "Object does not support this action."), ERRCODE_SO_NOTIMPL }, - { nullptr, ERRCODE_NONE } + { {}, ERRCODE_NONE } }; const ErrMsgCode RID_SO_ERRCTX[] = { { NC_("RID_ERRHDL", "$(ERR) activating object") , ErrCode(ERRCTX_SO_DOVERB) }, - { nullptr, ERRCODE_NONE } + { {}, ERRCODE_NONE } }; diff --git a/svtools/inc/langtab.hrc b/svtools/inc/langtab.hrc index e66375e115ac..d44b38294f5a 100644 --- a/svtools/inc/langtab.hrc +++ b/svtools/inc/langtab.hrc @@ -21,9 +21,9 @@ #include <i18nlangtag/lang.h> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const std::pair<const char*, LanguageType> STR_ARR_SVT_LANGUAGE_TABLE[] = +const std::pair<TranslateId, LanguageType> STR_ARR_SVT_LANGUAGE_TABLE[] = { { NC_("STR_ARR_SVT_LANGUAGE_TABLE", "[None]") , LANGUAGE_NONE }, { NC_("STR_ARR_SVT_LANGUAGE_TABLE", "Unknown") , LANGUAGE_DONTKNOW }, diff --git a/svtools/source/dialogs/insdlg.cxx b/svtools/source/dialogs/insdlg.cxx index 91a9822c3248..adaa1b905275 100644 --- a/svtools/source/dialogs/insdlg.cxx +++ b/svtools/source/dialogs/insdlg.cxx @@ -200,7 +200,7 @@ OUString SvPasteObjectHelper::GetSotFormatUIName( SotClipboardFormatId nId ) struct SotResourcePair { SotClipboardFormatId mnSotId; - const char* mpResId; + TranslateId mpResId; }; static const SotResourcePair aSotResourcePairs[] = @@ -276,7 +276,7 @@ OUString SvPasteObjectHelper::GetSotFormatUIName( SotClipboardFormatId nId ) { SotClipboardFormatId::PNG, STR_FORMAT_ID_PNG_BITMAP }, }; - const char* pResId = nullptr; + TranslateId pResId; sal_uInt32 const nCount = SAL_N_ELEMENTS( aSotResourcePairs ); for (sal_uInt32 i = 0; ( i < nCount ) && !pResId; ++i) diff --git a/svtools/source/dialogs/prnsetup.cxx b/svtools/source/dialogs/prnsetup.cxx index 054a7b0f077d..fd7fca5ba098 100644 --- a/svtools/source/dialogs/prnsetup.cxx +++ b/svtools/source/dialogs/prnsetup.cxx @@ -134,7 +134,7 @@ static OUString ImplPrnDlgAddString(const OUString& rStr, std::u16string_view rA } -static OUString ImplPrnDlgAddResString(const OUString& rStr, const char* pResId) +static OUString ImplPrnDlgAddResString(const OUString& rStr, TranslateId pResId) { return ImplPrnDlgAddString(rStr, SvtResId(pResId)); } diff --git a/svtools/source/misc/ehdl.cxx b/svtools/source/misc/ehdl.cxx index 1dcfbc9909d6..dab1544eeffd 100644 --- a/svtools/source/misc/ehdl.cxx +++ b/svtools/source/misc/ehdl.cxx @@ -193,7 +193,7 @@ void SfxErrorHandler::GetClassString(ErrCodeClass lClassId, OUString &rStr) */ { - for (const std::pair<const char*, ErrCodeClass>* pItem = RID_ERRHDL_CLASS; pItem->first; ++pItem) + for (const std::pair<TranslateId, ErrCodeClass>* pItem = RID_ERRHDL_CLASS; pItem->first; ++pItem) { if (pItem->second == lClassId) { diff --git a/svtools/source/misc/imagemgr.cxx b/svtools/source/misc/imagemgr.cxx index ff7fe554d869..58cba39f574f 100644 --- a/svtools/source/misc/imagemgr.cxx +++ b/svtools/source/misc/imagemgr.cxx @@ -50,7 +50,7 @@ struct SvtExtensionResIdMapping_Impl { const char* _pExt; bool _bExt; - const char* pStrId; + TranslateId pStrId; SvImageId _nImgId; }; @@ -91,7 +91,7 @@ SvtExtensionResIdMapping_Impl const ExtensionMap_Impl[] = { "jpg", true, STR_DESCRIPTION_GRAPHIC_DOC, SvImageId::JPG }, { "lha", true, STR_DESCRIPTION_ARCHIVFILE, SvImageId::NONE }, #ifdef _WIN32 - { "lnk", false, nullptr, SvImageId::NONE }, + { "lnk", false, {}, SvImageId::NONE }, #endif { "log", true, STR_DESCRIPTION_LOGFILE, SvImageId::NONE }, { "lst", true, STR_DESCRIPTION_LOGFILE, SvImageId::NONE }, @@ -118,20 +118,20 @@ SvtExtensionResIdMapping_Impl const ExtensionMap_Impl[] = { "png", true, STR_DESCRIPTION_GRAPHIC_DOC, SvImageId::PNG }, { "rar", true, STR_DESCRIPTION_ARCHIVFILE, SvImageId::NONE }, { "rtf", false, STR_DESCRIPTION_WORD_DOC, SvImageId::Writer }, - { "sbl", false, nullptr, SvImageId::NONE }, - { "sch", false, nullptr, SvImageId::NONE }, - { "sda", false, STR_DESCRIPTION_SDRAW_DOC, SvImageId::Draw }, + { "sbl", false, {}, SvImageId::NONE }, + { "sch", false, {}, SvImageId::NONE }, + { "sda", false, { nullptr, STR_DESCRIPTION_SDRAW_DOC}, SvImageId::Draw }, { "sdb", false, STR_DESCRIPTION_SDATABASE_DOC, SvImageId::Database }, - { "sdc", false, STR_DESCRIPTION_SCALC_DOC, SvImageId::Calc }, - { "sdd", false, STR_DESCRIPTION_SIMPRESS_DOC, SvImageId::Impress }, - { "sdp", false, STR_DESCRIPTION_SIMPRESS_DOC, SvImageId::NONE }, - { "sds", false, STR_DESCRIPTION_SCHART_DOC, SvImageId::NONE }, - { "sdw", false, STR_DESCRIPTION_SWRITER_DOC, SvImageId::Writer }, - { "sga", false, nullptr, SvImageId::NONE }, + { "sdc", false, { nullptr, STR_DESCRIPTION_SCALC_DOC}, SvImageId::Calc }, + { "sdd", false, { nullptr, STR_DESCRIPTION_SIMPRESS_DOC}, SvImageId::Impress }, + { "sdp", false, { nullptr, STR_DESCRIPTION_SIMPRESS_DOC}, SvImageId::NONE }, + { "sds", false, { nullptr, STR_DESCRIPTION_SCHART_DOC}, SvImageId::NONE }, + { "sdw", false, { nullptr, STR_DESCRIPTION_SWRITER_DOC}, SvImageId::Writer }, + { "sga", false, {}, SvImageId::NONE }, { "sgl", false, STR_DESCRIPTION_GLOBALDOC, SvImageId::GlobalDoc }, { "shtml", false, STR_DESCRIPTION_HTMLFILE, SvImageId::HTML }, { "sim", false, STR_DESCRIPTION_SIMAGE_DOC, SvImageId::SIM }, - { "smf", false, STR_DESCRIPTION_SMATH_DOC, SvImageId::Math }, + { "smf", false, { nullptr, STR_DESCRIPTION_SMATH_DOC}, SvImageId::Math }, { "src", true, STR_DESCRIPTION_SOURCEFILE, SvImageId::NONE }, { "svh", false, STR_DESCRIPTION_HELP_DOC, SvImageId::NONE }, { "svm", true, STR_DESCRIPTION_GRAPHIC_DOC, SvImageId::SVM }, @@ -168,7 +168,7 @@ SvtExtensionResIdMapping_Impl const ExtensionMap_Impl[] = { "pps", false, STR_DESCRIPTION_POWERPOINT_SHOW, SvImageId::Impress }, { "pptx", false, STR_DESCRIPTION_POWERPOINT, SvImageId::Impress }, { "oxt", false, STR_DESCRIPTION_EXTENSION, SvImageId::Extension }, - { nullptr, false, nullptr, SvImageId::NONE } + { nullptr, false, {}, SvImageId::NONE } }; namespace { @@ -431,9 +431,9 @@ static SvImageId GetImageId_Impl( return nImage; } -static const char* GetDescriptionId_Impl( const OUString& rExtension, bool& rbShowExt ) +static TranslateId GetDescriptionId_Impl( const OUString& rExtension, bool& rbShowExt ) { - const char* pId = nullptr; + TranslateId pId; sal_Int32 nIndex = GetIndexOfExtension_Impl( rExtension ); if ( nIndex != NO_INDEX ) { @@ -446,7 +446,7 @@ static const char* GetDescriptionId_Impl( const OUString& rExtension, bool& rbSh static OUString GetDescriptionByFactory_Impl( const OUString& rFactory ) { - const char* pResId = nullptr; + TranslateId pResId; if ( rFactory.startsWithIgnoreAsciiCase( "swriter" ) ) pResId = STR_DESCRIPTION_FACTORY_WRITER; else if ( rFactory.startsWithIgnoreAsciiCase( "scalc" ) ) @@ -471,9 +471,9 @@ static OUString GetDescriptionByFactory_Impl( const OUString& rFactory ) return OUString(); } -static const char* GetFolderDescriptionId_Impl( const OUString& rURL ) +static TranslateId GetFolderDescriptionId_Impl( const OUString& rURL ) { - const char* pRet = STR_DESCRIPTION_FOLDER; + TranslateId pRet = STR_DESCRIPTION_FOLDER; try { ::ucbhelper::Content aCnt( rURL, css::uno::Reference< css::ucb::XCommandEnvironment >(), comphelper::getProcessComponentContext() ); @@ -742,7 +742,7 @@ OUString SvFileInformationManager::GetDescription_Impl( const INetURLObject& rOb { OUString sExtension(rObject.getExtension()); OUString sDescription, sURL( rObject.GetMainURL( INetURLObject::DecodeMechanism::NONE ) ); - const char* pResId = nullptr; + TranslateId pResId; bool bShowExt = false, bOnlyFile = false; bool bFolder = bDetectFolder && CONTENT_HELPER::IsFolder( sURL ); if ( !bFolder ) @@ -866,7 +866,7 @@ OUString SvFileInformationManager::GetFileDescription( const INetURLObject& rObj OUString SvFileInformationManager::GetFolderDescription( const svtools::VolumeInfo& rInfo ) { - const char* pResId = STR_DESCRIPTION_FOLDER; + TranslateId pResId = STR_DESCRIPTION_FOLDER; if ( rInfo.m_bIsRemote ) pResId = STR_DESCRIPTION_REMOTE_VOLUME; else if ( rInfo.m_bIsFloppy ) diff --git a/svtools/source/misc/svtresid.cxx b/svtools/source/misc/svtresid.cxx index e6dd8d45677f..5d886a01bfee 100644 --- a/svtools/source/misc/svtresid.cxx +++ b/svtools/source/misc/svtresid.cxx @@ -17,11 +17,10 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include <unotools/resmgr.hxx> #include <svtools/svtresid.hxx> std::locale SvtResLocale() { return Translate::Create("svt"); } -OUString SvtResId(std::string_view aId) { return Translate::get(aId, SvtResLocale()); } +OUString SvtResId(TranslateId aId) { return Translate::get(aId, SvtResLocale()); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svx/inc/DescriptionGenerator.hxx b/svx/inc/DescriptionGenerator.hxx index daf169f9b478..8b3ac3f5cac2 100644 --- a/svx/inc/DescriptionGenerator.hxx +++ b/svx/inc/DescriptionGenerator.hxx @@ -21,6 +21,7 @@ #include <com/sun/star/uno/Reference.hxx> #include <rtl/ustrbuf.hxx> +#include <unotools/resmgr.hxx> namespace com::sun::star::beans { @@ -75,7 +76,7 @@ public: shape that is made more specific by later calls to <member>addProperty</member>. */ - void Initialize(const char* pResourceId); + void Initialize(TranslateId pResourceId); /** Returns the description string and then resets it. Usually called as last method before destroying the object. diff --git a/svx/inc/fieldunit.hrc b/svx/inc/fieldunit.hrc index f16238550efe..28c160c7fcf0 100644 --- a/svx/inc/fieldunit.hrc +++ b/svx/inc/fieldunit.hrc @@ -23,9 +23,9 @@ #include <tools/fldunit.hxx> #include <utility> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const std::pair<const char*, FieldUnit> RID_SVXSTR_FIELDUNIT_TABLE[] = +const std::pair<TranslateId, FieldUnit> RID_SVXSTR_FIELDUNIT_TABLE[] = { { NC_("RID_SVXSTR_FIELDUNIT_TABLE", "Millimeter") , FieldUnit::MM }, { NC_("RID_SVXSTR_FIELDUNIT_TABLE", "Centimeter") , FieldUnit::CM }, diff --git a/svx/inc/fmstring.hrc b/svx/inc/fmstring.hrc index 7a78d0ae2623..08f78b7f2cc3 100644 --- a/svx/inc/fmstring.hrc +++ b/svx/inc/fmstring.hrc @@ -20,9 +20,9 @@ #ifndef INCLUDED_SVX_INC_FMSTRING_HRC #define INCLUDED_SVX_INC_FMSTRING_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* RID_RSC_SQL_INTERNATIONAL[] = +const TranslateId RID_RSC_SQL_INTERNATIONAL[] = { NC_("RID_RSC_SQL_INTERNATIONAL", "LIKE"), NC_("RID_RSC_SQL_INTERNATIONAL", "NOT"), diff --git a/svx/inc/formnavi.hrc b/svx/inc/formnavi.hrc index f105cca63292..3326bc69517c 100644 --- a/svx/inc/formnavi.hrc +++ b/svx/inc/formnavi.hrc @@ -20,9 +20,9 @@ #ifndef INCLUDED_SVX_INC_FRMSEL_HRC #define INCLUDED_SVX_INC_FRMSEL_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* RID_SVXSW_CONVERTMENU[] = +const TranslateId RID_SVXSW_CONVERTMENU[] = { NC_("RID_SVXSW_CONVERTMENU|ConvertToEdit", "~Text Box"), NC_("RID_SVXSW_CONVERTMENU|ConvertToButton", "~Button"), diff --git a/svx/inc/frmsel.hrc b/svx/inc/frmsel.hrc index 893d84de2faa..147d4fa9cb08 100644 --- a/svx/inc/frmsel.hrc +++ b/svx/inc/frmsel.hrc @@ -23,9 +23,9 @@ #include <utility> #include <sal/types.h> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -std::pair<const char*, sal_uInt16> RID_SVXSTR_FRMSEL_TEXTS[] = +std::pair<TranslateId, sal_uInt16> RID_SVXSTR_FRMSEL_TEXTS[] = { { NC_("RID_SVXSTR_FRMSEL_TEXTS", "Border setting") , 0 }, { NC_("RID_SVXSTR_FRMSEL_TEXTS", "Left border line") , 1 }, @@ -38,7 +38,7 @@ std::pair<const char*, sal_uInt16> RID_SVXSTR_FRMSEL_TEXTS[] = { NC_("RID_SVXSTR_FRMSEL_TEXTS", "Diagonal border line from bottom left to top right") , 8 }, }; -std::pair<const char*, sal_uInt16> RID_SVXSTR_FRMSEL_DESCRIPTIONS[] = +std::pair<TranslateId, sal_uInt16> RID_SVXSTR_FRMSEL_DESCRIPTIONS[] = { { NC_("RID_SVXSTR_FRMSEL_DESCRIPTIONS", "Border setting") , 0 }, { NC_("RID_SVXSTR_FRMSEL_DESCRIPTIONS", "Left border line") , 1 }, diff --git a/svx/inc/inspectorvalues.hrc b/svx/inc/inspectorvalues.hrc index 863b13b899e8..0c09dc4a060d 100644 --- a/svx/inc/inspectorvalues.hrc +++ b/svx/inc/inspectorvalues.hrc @@ -9,8 +9,8 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) -#define NNC_(Context, StringSingular, StringPlural) reinterpret_cast<char const *>(Context "\004" u8##StringSingular "\004" u8##StringPlural) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) +#define NNC_(Context, StringSingular, StringPlural) TranslateNId(Context, reinterpret_cast<char const *>(u8##StringSingular), reinterpret_cast<char const *>(u8##StringPlural)) /*-------------------------------------------------------------------- Description: API names for Paragraph, Character diff --git a/svx/inc/numberingtype.hrc b/svx/inc/numberingtype.hrc index 7181aeb385e9..404a7534e00b 100644 --- a/svx/inc/numberingtype.hrc +++ b/svx/inc/numberingtype.hrc @@ -22,9 +22,9 @@ #include <utility> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const std::pair<const char*, int> RID_SVXSTRARY_NUMBERINGTYPE[] = +const std::pair<TranslateId, int> RID_SVXSTRARY_NUMBERINGTYPE[] = { { /* SVX_NUM_NUMBER_NONE */ NC_("RID_SVXSTRARY_NUMBERINGTYPE", "None") , 5 }, { /* SVX_NUM_CHAR_SPECIAL */ NC_("RID_SVXSTRARY_NUMBERINGTYPE", "Bullet") , 6 }, diff --git a/svx/inc/rotationstrings.hrc b/svx/inc/rotationstrings.hrc index 229f2bee53c5..bb9a81c6b68b 100644 --- a/svx/inc/rotationstrings.hrc +++ b/svx/inc/rotationstrings.hrc @@ -10,9 +10,9 @@ #ifndef INCLUDED_SVX_INC_ROTATIONSTRINGS_HRC #define INCLUDED_SVX_INC_ROTATIONSTRINGS_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* RID_SVXITEMS_ROTATE_MODE[] = +const TranslateId RID_SVXITEMS_ROTATE_MODE[] = { // enum SvxRotateMode ---------------------------------------------------- NC_("RID_SVXITEMS_ROTATE_MODE_STANDARD", "Rotation only within cell"), diff --git a/svx/inc/samecontent.hrc b/svx/inc/samecontent.hrc index b4a6bc8d667d..99ff7a37c040 100644 --- a/svx/inc/samecontent.hrc +++ b/svx/inc/samecontent.hrc @@ -11,9 +11,9 @@ #include <utility> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const std::pair<const char*, int> RID_SVXSTRARY_SAMECONTENT[] = +const std::pair<TranslateId, int> RID_SVXSTRARY_SAMECONTENT[] = { { NC_("RID_SVXSTRARY_SAMECONTENT", "All Pages"), 0 }, { NC_("RID_SVXSTRARY_SAMECONTENT", "First Page"), 1 }, diff --git a/svx/inc/spacing.hrc b/svx/inc/spacing.hrc index 8c9ba6da29a2..280e534b4896 100644 --- a/svx/inc/spacing.hrc +++ b/svx/inc/spacing.hrc @@ -9,11 +9,11 @@ #ifndef INCLUDED_SVX_INC_SPACING_HRC #define INCLUDED_SVX_INC_SPACING_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) struct measurement { - const char* key; + TranslateId key; int twips; int human; }; @@ -29,7 +29,7 @@ const measurement RID_SVXSTRARY_SPACING_INCH[] = { NC_("RID_SVXSTRARY_SPACING_INCH", "Medium Large (1/2″)"), 720, 0 }, { NC_("RID_SVXSTRARY_SPACING_INCH", "Large (3/4″)"), 1077, 0 }, { NC_("RID_SVXSTRARY_SPACING_INCH", "Extra Large (1″)"), 1440, 0 }, - { nullptr, 0, 0 } + { {}, 0, 0 } }; // To translators: this is a listbox labelled by "Spacing:", cm units @@ -50,7 +50,7 @@ const measurement RID_SVXSTRARY_SPACING_CM[] = { NC_("RID_SVXSTRARY_SPACING_CM", "Large (%1)"), 1077, 190 }, // Extra Large (2.54 cm) { NC_("RID_SVXSTRARY_SPACING_CM", "Extra Large (%1)"), 1440, 254 }, - { nullptr, 0, 0 } + { {}, 0, 0 } }; // To translators: this is a listbox labelled by "Margins:", inch units @@ -64,7 +64,7 @@ const measurement RID_SVXSTRARY_MARGINS_INCH[] = { NC_("RID_SVXSTRARY_MARGINS_INCH", "Medium Large (1/2″)"), 720, 0 }, { NC_("RID_SVXSTRARY_MARGINS_INCH", "Large (3/4″)"), 1077, 0 }, { NC_("RID_SVXSTRARY_MARGINS_INCH", "Extra Large (1″)"), 1440, 0 }, - { nullptr, 0, 0 } + { {}, 0, 0 } }; // To translators: this is a listbox labelled by "Margins:", cm units @@ -85,7 +85,7 @@ const measurement RID_SVXSTRARY_MARGINS_CM[] = { NC_("RID_SVXSTRARY_MARGINS_CM", "Large (%1)"), 1077, 190 }, // Extra Large (2.54 cm) { NC_("RID_SVXSTRARY_MARGINS_CM", "Extra Large (%1)"), 1440, 254 }, - { nullptr, 0, 0 } + { {}, 0, 0 } }; #endif diff --git a/svx/inc/svxerr.hrc b/svx/inc/svxerr.hrc index 9691386c94e7..40066df41531 100644 --- a/svx/inc/svxerr.hrc +++ b/svx/inc/svxerr.hrc @@ -20,7 +20,7 @@ #ifndef INCLUDED_SVX_INC_SVXERR_HRC #define INCLUDED_SVX_INC_SVXERR_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #include <svx/svxerr.hxx> #include <editeng/editerr.hxx> @@ -40,7 +40,7 @@ const ErrMsgCode RID_SVXERRCTX[] = ErrCode(ERRCTX_SVX_BACKGROUND) }, { NC_("RID_SVXERRCTX", "$(ERR) loading the graphics.") , ErrCode(ERRCTX_SVX_IMPORT_GRAPHIC) }, - { nullptr, ERRCODE_NONE } + { {}, ERRCODE_NONE } }; // Error-Code ------------------------------------------------------------ @@ -70,7 +70,7 @@ const ErrMsgCode RID_SVXERRCODE[] = ERRCODE_SVX_READ_FILTER_PPOINT }, { NC_("RID_SVXERRCODE", "Password protection is not supported when documents are saved in a Microsoft Office format.\nDo you want to save the document without password protection?"), ERRCODE_SVX_EXPORT_FILTER_CRYPT }, - { nullptr, ERRCODE_NONE } + { {}, ERRCODE_NONE } }; #endif diff --git a/svx/inc/swframeposstrings.hrc b/svx/inc/swframeposstrings.hrc index 1d3da664b208..b89608350e32 100644 --- a/svx/inc/swframeposstrings.hrc +++ b/svx/inc/swframeposstrings.hrc @@ -20,10 +20,10 @@ #ifndef INCLUDED_SVX_INC_SWFRAMEPOSSTRINGS_HRC #define INCLUDED_SVX_INC_SWFRAMEPOSSTRINGS_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) //the following string have to match the (enum values) positions in svx/swframeposstrings.hxx! -const char* RID_SVXSW_FRAMEPOSITIONS[] = +const TranslateId RID_SVXSW_FRAMEPOSITIONS[] = { NC_("RID_SVXSW_FRAMEPOSITIONS", "Left"), NC_("RID_SVXSW_FRAMEPOSITIONS", "Right"), diff --git a/svx/inc/tabwin.hrc b/svx/inc/tabwin.hrc index 8ab1888038da..dd609a5bcb58 100644 --- a/svx/inc/tabwin.hrc +++ b/svx/inc/tabwin.hrc @@ -20,9 +20,9 @@ #ifndef INCLUDED_SVX_INC_TABWIN_HRC #define INCLUDED_SVX_INC_TABWIN_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* RID_RSC_TABWIN_PREFIX[] = +const TranslateId RID_RSC_TABWIN_PREFIX[] = { NC_("RID_RSC_TABWIN_PREFIX", "Table"), NC_("RID_RSC_TABWIN_PREFIX", "Query"), diff --git a/svx/inc/txenctab.hrc b/svx/inc/txenctab.hrc index e7171fbd1097..e140015a7eb3 100644 --- a/svx/inc/txenctab.hrc +++ b/svx/inc/txenctab.hrc @@ -23,11 +23,11 @@ #include <rtl/textenc.h> #include <utility> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) // Encodings for which no conversion exist yet are commented out. -const std::pair<const char*, rtl_TextEncoding> RID_SVXSTR_TEXTENCODING_TABLE[] = +const std::pair<TranslateId, rtl_TextEncoding> RID_SVXSTR_TEXTENCODING_TABLE[] = { { NC_("RID_SVXSTR_TEXTENCODING_TABLE", "Western Europe (Windows-1252/WinLatin 1)") , RTL_TEXTENCODING_MS_1252 }, { NC_("RID_SVXSTR_TEXTENCODING_TABLE", "Western Europe (Apple Macintosh)") , RTL_TEXTENCODING_APPLE_ROMAN }, diff --git a/svx/source/accessibility/DescriptionGenerator.cxx b/svx/source/accessibility/DescriptionGenerator.cxx index 2a473ed40563..430f22c98c01 100644 --- a/svx/source/accessibility/DescriptionGenerator.cxx +++ b/svx/source/accessibility/DescriptionGenerator.cxx @@ -44,7 +44,7 @@ DescriptionGenerator::DescriptionGenerator(const uno::Reference<drawing::XShape> DescriptionGenerator::~DescriptionGenerator() {} -void DescriptionGenerator::Initialize(const char* pResourceId) +void DescriptionGenerator::Initialize(TranslateId pResourceId) { // Get the string from the resource for the specified id. OUString sPrefix; diff --git a/svx/source/accessibility/ShapeTypeHandler.cxx b/svx/source/accessibility/ShapeTypeHandler.cxx index 368c2f698ee9..1a485b503772 100644 --- a/svx/source/accessibility/ShapeTypeHandler.cxx +++ b/svx/source/accessibility/ShapeTypeHandler.cxx @@ -191,7 +191,7 @@ tools::Long ShapeTypeHandler::GetSlotId (const uno::Reference<drawing::XShape>& /// get the accessible base name for an object OUString ShapeTypeHandler::CreateAccessibleBaseName (const uno::Reference<drawing::XShape>& rxShape) { - const char* pResourceId; + TranslateId pResourceId; OUString sName; switch (ShapeTypeHandler::Instance().GetTypeId (rxShape)) @@ -276,7 +276,7 @@ OUString ShapeTypeHandler::CreateAccessibleBaseName (const uno::Reference<drawin pResourceId = STR_ObjNameSingulFONTWORK; else { - pResourceId = nullptr; + pResourceId = {}; sName = pCustomShape->GetCustomShapeName(); } } @@ -286,7 +286,7 @@ OUString ShapeTypeHandler::CreateAccessibleBaseName (const uno::Reference<drawin pResourceId = STR_ObjNameSingulTEXT; break; default: - pResourceId = nullptr; + pResourceId = {}; sName = "UnknownAccessibleShape"; if (rxShape.is()) sName += ": " + rxShape->getShapeType(); diff --git a/svx/source/accessibility/svxrectctaccessiblecontext.cxx b/svx/source/accessibility/svxrectctaccessiblecontext.cxx index cd8c9af53988..bca421c29a51 100644 --- a/svx/source/accessibility/svxrectctaccessiblecontext.cxx +++ b/svx/source/accessibility/svxrectctaccessiblecontext.cxx @@ -52,8 +52,8 @@ namespace { struct ChildIndexToPointData { - const char* pResIdName; - const char* pResIdDescr; + TranslateId pResIdName; + TranslateId pResIdDescr; RectPoint ePoint; }; } diff --git a/svx/source/dialog/dialmgr.cxx b/svx/source/dialog/dialmgr.cxx index 1281324eaad9..9fdd50ddab08 100644 --- a/svx/source/dialog/dialmgr.cxx +++ b/svx/source/dialog/dialmgr.cxx @@ -17,11 +17,10 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include <unotools/resmgr.hxx> #include <svx/dialmgr.hxx> std::locale SvxResLocale() { return Translate::Create("svx"); } -OUString SvxResId(std::string_view aId) { return Translate::get(aId, SvxResLocale()); } +OUString SvxResId(TranslateId aId) { return Translate::get(aId, SvxResLocale()); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svx/source/dialog/docrecovery.cxx b/svx/source/dialog/docrecovery.cxx index 1eab1accf726..1c86f078042f 100644 --- a/svx/source/dialog/docrecovery.cxx +++ b/svx/source/dialog/docrecovery.cxx @@ -622,7 +622,7 @@ void SaveProgressDialog::end() m_xDialog->response(DLG_RET_OK); } -static short impl_askUserForWizardCancel(weld::Widget* pParent, const char* pRes) +static short impl_askUserForWizardCancel(weld::Widget* pParent, TranslateId pRes) { std::unique_ptr<weld::MessageDialog> xQuery(Application::CreateMessageDialog(pParent, VclMessageType::Question, VclButtonsType::YesNo, SvxResId(pRes))); diff --git a/svx/source/dialog/page.hrc b/svx/source/dialog/page.hrc index ec845957e31f..c5e9a75b1cc6 100644 --- a/svx/source/dialog/page.hrc +++ b/svx/source/dialog/page.hrc @@ -23,9 +23,9 @@ #include <i18nutil/paper.hxx> #include <utility> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const std::pair<const char*, int> RID_SVXSTRARY_PAPERSIZE_STD[] = +const std::pair<TranslateId, int> RID_SVXSTRARY_PAPERSIZE_STD[] = { { NC_("RID_SVXSTRARY_PAPERSIZE_STD", "A6") , PAPER_A6 }, { NC_("RID_SVXSTRARY_PAPERSIZE_STD", "A5") , PAPER_A5 }, @@ -59,7 +59,7 @@ const std::pair<const char*, int> RID_SVXSTRARY_PAPERSIZE_STD[] = { NC_("RID_SVXSTRARY_PAPERSIZE_STD", "Japanese Postcard") , PAPER_POSTCARD_JP} }; -const std::pair<const char*, int> RID_SVXSTRARY_PAPERSIZE_DRAW[] = +const std::pair<TranslateId, int> RID_SVXSTRARY_PAPERSIZE_DRAW[] = { { NC_("RID_SVXSTRARY_PAPERSIZE_DRAW", "A6") , PAPER_A6 }, { NC_("RID_SVXSTRARY_PAPERSIZE_DRAW", "A5") , PAPER_A5 }, diff --git a/svx/source/dialog/papersizelistbox.cxx b/svx/source/dialog/papersizelistbox.cxx index f746a023c38d..fc0211a8bad4 100644 --- a/svx/source/dialog/papersizelistbox.cxx +++ b/svx/source/dialog/papersizelistbox.cxx @@ -29,7 +29,7 @@ SvxPaperSizeListBox::SvxPaperSizeListBox(std::unique_ptr<weld::ComboBox> pContro void SvxPaperSizeListBox::FillPaperSizeEntries( PaperSizeApp eApp ) { - const std::pair<const char*, int>* pPaperAry = eApp == PaperSizeApp::Std ? + const std::pair<TranslateId, int>* pPaperAry = eApp == PaperSizeApp::Std ? RID_SVXSTRARY_PAPERSIZE_STD : RID_SVXSTRARY_PAPERSIZE_DRAW; sal_uInt32 nCnt = eApp == PaperSizeApp::Std ? SAL_N_ELEMENTS(RID_SVXSTRARY_PAPERSIZE_STD) : SAL_N_ELEMENTS(RID_SVXSTRARY_PAPERSIZE_DRAW); diff --git a/svx/source/dialog/svxbmpnumvalueset.cxx b/svx/source/dialog/svxbmpnumvalueset.cxx index 5698c99ba090..9736b5703317 100644 --- a/svx/source/dialog/svxbmpnumvalueset.cxx +++ b/svx/source/dialog/svxbmpnumvalueset.cxx @@ -95,7 +95,7 @@ static void lcl_PaintLevel(OutputDevice* pVDev, sal_Int16 nNumberingType, } } -static const char* RID_SVXSTR_BULLET_DESCRIPTIONS[] = + const TranslateId RID_SVXSTR_BULLET_DESCRIPTIONS[] = { RID_SVXSTR_BULLET_DESCRIPTION_0, RID_SVXSTR_BULLET_DESCRIPTION_1, @@ -107,7 +107,7 @@ static const char* RID_SVXSTR_BULLET_DESCRIPTIONS[] = RID_SVXSTR_BULLET_DESCRIPTION_7 }; -static const char* RID_SVXSTR_SINGLENUM_DESCRIPTIONS[] = +const TranslateId RID_SVXSTR_SINGLENUM_DESCRIPTIONS[] = { RID_SVXSTR_SINGLENUM_DESCRIPTION_0, RID_SVXSTR_SINGLENUM_DESCRIPTION_1, @@ -119,7 +119,7 @@ static const char* RID_SVXSTR_SINGLENUM_DESCRIPTIONS[] = RID_SVXSTR_SINGLENUM_DESCRIPTION_7 }; -static const char* RID_SVXSTR_OUTLINENUM_DESCRIPTIONS[] = +const TranslateId RID_SVXSTR_OUTLINENUM_DESCRIPTIONS[] = { RID_SVXSTR_OUTLINENUM_DESCRIPTION_0, RID_SVXSTR_OUTLINENUM_DESCRIPTION_1, diff --git a/svx/source/dialog/svxruler.cxx b/svx/source/dialog/svxruler.cxx index e6b57aac5fb7..43000ea7279c 100644 --- a/svx/source/dialog/svxruler.cxx +++ b/svx/source/dialog/svxruler.cxx @@ -3280,7 +3280,7 @@ void SvxRuler::TabMenuSelect(const OString& rIdent) } } -static const char* RID_SVXSTR_RULER_TAB[] = +const TranslateId RID_SVXSTR_RULER_TAB[] = { RID_SVXSTR_RULER_TAB_LEFT, RID_SVXSTR_RULER_TAB_RIGHT, diff --git a/svx/source/fmcomp/fmgridcl.cxx b/svx/source/fmcomp/fmgridcl.cxx index 0e1a6a87389a..a3bcd5816214 100644 --- a/svx/source/fmcomp/fmgridcl.cxx +++ b/svx/source/fmcomp/fmgridcl.cxx @@ -410,7 +410,7 @@ IMPL_LINK_NOARG( FmGridHeader, OnAsyncExecuteDrop, void*, void ) // Create Column based on type, default textfield std::vector<OString> aPossibleTypes; std::vector<OUString> aImgResId; - std::vector<const char*> aStrResId; + std::vector<TranslateId> aStrResId; switch (nDataType) { @@ -512,7 +512,7 @@ IMPL_LINK_NOARG( FmGridHeader, OnAsyncExecuteDrop, void*, void ) int nMenuPos = 0; std::vector<OString>::const_iterator iter; - std::vector<const char*>::const_iterator striter; + std::vector<TranslateId>::const_iterator striter; std::vector<OUString>::const_iterator imgiter; for (iter = aPossibleTypes.begin(), imgiter = aImgResId.begin(), striter = aStrResId.begin(); iter != aPossibleTypes.end(); ++iter, ++striter, ++imgiter) diff --git a/svx/source/form/datanavi.cxx b/svx/source/form/datanavi.cxx index b400918b4bc8..93ecd07b9d60 100644 --- a/svx/source/form/datanavi.cxx +++ b/svx/source/form/datanavi.cxx @@ -413,7 +413,7 @@ namespace svxform std::unique_ptr<ItemNode> pNode; Reference< css::xml::dom::XNode > xParentNode; Reference< XPropertySet > xNewBinding; - const char* pResId = nullptr; + TranslateId pResId; bool bIsElement = true; if ( DGTInstance == m_eGroup ) { @@ -583,7 +583,7 @@ namespace svxform AddDataItemDialog aDlg(m_pNaviWin->GetFrameWeld(), pNode, m_xUIHelper); DataItemType eType = DITElement; - const char* pResId = RID_STR_DATANAV_EDIT_ELEMENT; + TranslateId pResId = RID_STR_DATANAV_EDIT_ELEMENT; if ( pNode && pNode->m_xNode.is() ) { try @@ -871,7 +871,7 @@ namespace svxform DBG_ASSERT( pNode->m_xNode.is(), "XFormsPage::RemoveEntry(): no XNode" ); css::xml::dom::NodeType eChildType = pNode->m_xNode->getNodeType(); bool bIsElement = ( eChildType == css::xml::dom::NodeType_ELEMENT_NODE ); - const char* pResId = bIsElement ? RID_STR_QRY_REMOVE_ELEMENT : RID_STR_QRY_REMOVE_ATTRIBUTE; + TranslateId pResId = bIsElement ? RID_STR_QRY_REMOVE_ELEMENT : RID_STR_QRY_REMOVE_ATTRIBUTE; OUString sVar = bIsElement ? OUString(ELEMENTNAME) : OUString(ATTRIBUTENAME); std::unique_ptr<weld::MessageDialog> xQBox(Application::CreateMessageDialog(m_pNaviWin->GetFrameWeld(), VclMessageType::Question, VclButtonsType::YesNo, @@ -906,7 +906,7 @@ namespace svxform { DBG_ASSERT( pNode->m_xPropSet.is(), "XFormsPage::RemoveEntry(): no propset" ); bool bSubmission = ( DGTSubmission == m_eGroup ); - const char* pResId = bSubmission ? RID_STR_QRY_REMOVE_SUBMISSION : RID_STR_QRY_REMOVE_BINDING; + TranslateId pResId = bSubmission ? RID_STR_QRY_REMOVE_SUBMISSION : RID_STR_QRY_REMOVE_BINDING; OUString sProperty = bSubmission ? OUString(PN_SUBMISSION_ID) : OUString(PN_BINDING_ID); OUString sSearch = bSubmission ? OUString(SUBMISSIONNAME) : OUString(BINDINGNAME); OUString sName; @@ -1221,8 +1221,8 @@ namespace svxform if ( DGTInstance != m_eGroup ) return; - const char* pResId1 = RID_STR_DATANAV_EDIT_ELEMENT; - const char* pResId2 = RID_STR_DATANAV_REMOVE_ELEMENT; + TranslateId pResId1 = RID_STR_DATANAV_EDIT_ELEMENT; + TranslateId pResId2 = RID_STR_DATANAV_REMOVE_ELEMENT; if (bEntry) { ItemNode* pNode = reinterpret_cast<ItemNode*>(m_xItemList->get_id(*xEntry).toInt64()); diff --git a/svx/source/form/fmPropBrw.cxx b/svx/source/form/fmPropBrw.cxx index 8f793c4ce7f8..1f083fa49f88 100644 --- a/svx/source/form/fmPropBrw.cxx +++ b/svx/source/form/fmPropBrw.cxx @@ -92,7 +92,7 @@ FmPropBrwMgr::FmPropBrwMgr( vcl::Window* _pParent, sal_uInt16 _nId, static OUString GetUIHeadlineName(sal_Int16 nClassId, const Any& aUnoObj) { - const char* pClassNameResourceId = nullptr; + TranslateId pClassNameResourceId; switch ( nClassId ) { diff --git a/svx/source/form/formcontrolfactory.cxx b/svx/source/form/formcontrolfactory.cxx index 009bafb85b5d..e98da0466786 100644 --- a/svx/source/form/formcontrolfactory.cxx +++ b/svx/source/form/formcontrolfactory.cxx @@ -456,7 +456,7 @@ namespace svxform OUString sInitialLabel; OSL_VERIFY( _rxControlModel->getPropertyValue( FM_PROP_NAME ) >>= sInitialLabel ); - const char* pTitleResId = nullptr; + TranslateId pTitleResId; switch ( nClassId ) { case FormComponentType::COMMANDBUTTON: pTitleResId = RID_STR_PROPTITLE_PUSHBUTTON; break; @@ -630,7 +630,7 @@ namespace svxform OUString FormControlFactory::getDefaultName( sal_Int16 _nClassId, const Reference< XServiceInfo >& _rxObject ) { - const char* pResId(nullptr); + TranslateId pResId; switch ( _nClassId ) { diff --git a/svx/source/gallery2/gallery1.cxx b/svx/source/gallery2/gallery1.cxx index b6b5b00d9a0f..ceb8a0fea7b4 100644 --- a/svx/source/gallery2/gallery1.cxx +++ b/svx/source/gallery2/gallery1.cxx @@ -63,7 +63,7 @@ const std::pair<sal_uInt16, const char*> aUnlocalized[] = { GALLERY_THEME_FONTWORK_VERTICAL, RID_GALLERYSTR_THEME_FONTWORK_VERTICAL } }; -const std::pair<sal_uInt16, const char*> aLocalized[] = +const std::pair<sal_uInt16, TranslateId> aLocalized[] = { { RID_GALLERY_THEME_3D, RID_GALLERYSTR_THEME_3D }, { RID_GALLERY_THEME_ANIMATIONS, RID_GALLERYSTR_THEME_ANIMATIONS }, diff --git a/svx/source/items/algitem.cxx b/svx/source/items/algitem.cxx index d432963f4b3d..470096993f47 100644 --- a/svx/source/items/algitem.cxx +++ b/svx/source/items/algitem.cxx @@ -110,7 +110,8 @@ bool SvxOrientationItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/ OUString SvxOrientationItem::GetValueText( SvxCellOrientation nVal ) { - return SvxResId(RID_SVXITEMS_ORI_STANDARD + static_cast<int>(nVal)); + OString id = OString::Concat(RID_SVXITEMS_ORI_STANDARD.mpId) + OString::number(static_cast<int>(nVal)); + return SvxResId(TranslateId(RID_SVXITEMS_ORI_STANDARD.mpContext, id.getStr())); } SvxOrientationItem* SvxOrientationItem::Clone( SfxItemPool* ) const diff --git a/svx/source/items/pageitem.cxx b/svx/source/items/pageitem.cxx index db45b3e9fe62..ad600c68fc0e 100644 --- a/svx/source/items/pageitem.cxx +++ b/svx/source/items/pageitem.cxx @@ -87,7 +87,7 @@ static OUString GetUsageText( const SvxPageUsage eU ) } } -static const char* RID_SVXITEMS_PAGE_NUMS[] = +const TranslateId RID_SVXITEMS_PAGE_NUMS[] = { RID_SVXITEMS_PAGE_NUM_CHR_UPPER, RID_SVXITEMS_PAGE_NUM_CHR_LOWER, diff --git a/svx/source/sidebar/nbdtmg.cxx b/svx/source/sidebar/nbdtmg.cxx index fbbc3b3da03a..f53ebb677a0a 100644 --- a/svx/source/sidebar/nbdtmg.cxx +++ b/svx/source/sidebar/nbdtmg.cxx @@ -263,7 +263,8 @@ void BulletsTypeMgr::Init() pActualBullets[i] = new BulletsSettings; pActualBullets[i]->cBulletChar = aDefaultBulletTypes[i]; pActualBullets[i]->aFont = rActBulletFont; - pActualBullets[i]->sDescription = SvxResId( RID_SVXSTR_BULLET_DESCRIPTION_0 + i ); + OString id = OString::Concat(RID_SVXSTR_BULLET_DESCRIPTION_0.mpId) + OString::number(i); + pActualBullets[i]->sDescription = SvxResId( TranslateId(RID_SVXSTR_BULLET_DESCRIPTION_0.mpContext, id.getStr()) ); } } sal_uInt16 BulletsTypeMgr::GetNBOIndexForNumRule(SvxNumRule& aNum,sal_uInt16 mLevel,sal_uInt16 nFromIndex) @@ -380,7 +381,7 @@ NumberingTypeMgr::~NumberingTypeMgr() { } -static const char* RID_SVXSTR_SINGLENUM_DESCRIPTIONS[] = +const TranslateId RID_SVXSTR_SINGLENUM_DESCRIPTIONS[] = { RID_SVXSTR_SINGLENUM_DESCRIPTION_0, RID_SVXSTR_SINGLENUM_DESCRIPTION_1, @@ -588,7 +589,8 @@ void OutlineTypeMgr::Init() { pOutlineSettingsArrs[ nItem ] = new OutlineSettings_Impl; OutlineSettings_Impl* pItemArr = pOutlineSettingsArrs[ nItem ]; - pItemArr->sDescription = SvxResId( RID_SVXSTR_OUTLINENUM_DESCRIPTION_0 + nItem ); + OString id = OString::Concat(RID_SVXSTR_OUTLINENUM_DESCRIPTION_0.mpId) + OString::number(nItem); + pItemArr->sDescription = SvxResId( TranslateId(RID_SVXSTR_OUTLINENUM_DESCRIPTION_0.mpContext, id.getStr()) ); pItemArr->pNumSettingsArr = new NumSettingsArr_Impl; Reference<XIndexAccess> xLevel = aOutlineAccess.getConstArray()[nItem]; for(sal_Int32 nLevel = 0; nLevel < xLevel->getCount() && nLevel < 5; nLevel++) diff --git a/svx/source/stbctrls/modctrl.cxx b/svx/source/stbctrls/modctrl.cxx index fa91f98588cf..2d3fc7a5d133 100644 --- a/svx/source/stbctrls/modctrl.cxx +++ b/svx/source/stbctrls/modctrl.cxx @@ -90,7 +90,7 @@ void SvxModifyControl::StateChangedAtStatusBarControl( sal_uInt16, SfxItemState _repaint(); - const char* pResId = modified ? RID_SVXSTR_DOC_MODIFIED_YES : RID_SVXSTR_DOC_MODIFIED_NO; + TranslateId pResId = modified ? RID_SVXSTR_DOC_MODIFIED_YES : RID_SVXSTR_DOC_MODIFIED_NO; GetStatusBar().SetQuickHelpText(GetId(), SvxResId(pResId)); if ( start ) diff --git a/svx/source/stbctrls/xmlsecctrl.cxx b/svx/source/stbctrls/xmlsecctrl.cxx index b79afa7eeaff..e85868cda947 100644 --- a/svx/source/stbctrls/xmlsecctrl.cxx +++ b/svx/source/stbctrls/xmlsecctrl.cxx @@ -84,7 +84,7 @@ void XmlSecStatusBarControl::StateChangedAtStatusBarControl( sal_uInt16, SfxItem GetStatusBar().SetItemText( GetId(), "" ); // necessary ? - const char* pResId = RID_SVXSTR_XMLSEC_NO_SIG; + TranslateId pResId = RID_SVXSTR_XMLSEC_NO_SIG; if ( mpImpl->mnState == SignatureState::OK ) pResId = RID_SVXSTR_XMLSEC_SIG_OK; else if ( mpImpl->mnState == SignatureState::BROKEN ) diff --git a/svx/source/svdraw/ActionDescriptionProvider.cxx b/svx/source/svdraw/ActionDescriptionProvider.cxx index a471f3e85763..0dc5e895c755 100644 --- a/svx/source/svdraw/ActionDescriptionProvider.cxx +++ b/svx/source/svdraw/ActionDescriptionProvider.cxx @@ -25,7 +25,7 @@ OUString ActionDescriptionProvider::createDescription( ActionType eActionType , std::u16string_view rObjectName ) { - const char* pResID = nullptr; + TranslateId pResID; switch( eActionType ) { case ActionType::Insert: diff --git a/svx/source/svdraw/svdattr.cxx b/svx/source/svdraw/svdattr.cxx index 411294962d45..982e6d7e8c18 100644 --- a/svx/source/svdraw/svdattr.cxx +++ b/svx/source/svdraw/svdattr.cxx @@ -403,7 +403,7 @@ bool SdrItemPool::GetPresentation( OUString SdrItemPool::GetItemName(sal_uInt16 nWhich) { - const char* pResId = SIP_UNKNOWN_ATTR; + TranslateId pResId = SIP_UNKNOWN_ATTR; switch (nWhich) { @@ -938,7 +938,7 @@ sal_uInt16 SdrCaptionTypeItem::GetValueCount() const { return 4; } OUString SdrCaptionTypeItem::GetValueTextByPos(sal_uInt16 nPos) { - static const char* ITEMVALCAPTIONTYPES[] = + static TranslateId ITEMVALCAPTIONTYPES[] = { STR_ItemValCAPTIONTYPE1, STR_ItemValCAPTIONTYPE2, @@ -966,7 +966,7 @@ sal_uInt16 SdrCaptionEscDirItem::GetValueCount() const { return 3; } OUString SdrCaptionEscDirItem::GetValueTextByPos(sal_uInt16 nPos) { - static const char* ITEMVALCAPTIONTYPES[] = + static TranslateId ITEMVALCAPTIONTYPES[] = { STR_ItemValCAPTIONESCHORI, STR_ItemValCAPTIONESCVERT, @@ -1010,7 +1010,7 @@ sal_uInt16 SdrTextFitToSizeTypeItem::GetValueCount() const { return 4; } OUString SdrTextFitToSizeTypeItem::GetValueTextByPos(sal_uInt16 nPos) { - static const char* ITEMVALFITTISIZETYPES[] = + static TranslateId ITEMVALFITTISIZETYPES[] = { STR_ItemValFITTOSIZENONE, STR_ItemValFITTOSIZEPROP, @@ -1072,7 +1072,7 @@ sal_uInt16 SdrTextVertAdjustItem::GetValueCount() const { return 5; } OUString SdrTextVertAdjustItem::GetValueTextByPos(sal_uInt16 nPos) { - static const char* ITEMVALTEXTVADJTYPES[] = + static TranslateId ITEMVALTEXTVADJTYPES[] = { STR_ItemValTEXTVADJTOP, STR_ItemValTEXTVADJCENTER, @@ -1131,7 +1131,7 @@ sal_uInt16 SdrTextHorzAdjustItem::GetValueCount() const { return 5; } OUString SdrTextHorzAdjustItem::GetValueTextByPos(sal_uInt16 nPos) { - static const char* ITEMVALTEXTHADJTYPES[] = + static TranslateId ITEMVALTEXTHADJTYPES[] = { STR_ItemValTEXTHADJLEFT, STR_ItemValTEXTHADJCENTER, @@ -1183,7 +1183,7 @@ sal_uInt16 SdrTextAniKindItem::GetValueCount() const { return 5; } OUString SdrTextAniKindItem::GetValueTextByPos(sal_uInt16 nPos) { - static const char* ITEMVALTEXTANITYPES[] = + static TranslateId ITEMVALTEXTANITYPES[] = { STR_ItemValTEXTANI_NONE, STR_ItemValTEXTANI_BLINK, @@ -1234,7 +1234,7 @@ sal_uInt16 SdrTextAniDirectionItem::GetValueCount() const { return 4; } OUString SdrTextAniDirectionItem::GetValueTextByPos(sal_uInt16 nPos) { - static const char* ITEMVALTEXTANITYPES[] = + static TranslateId ITEMVALTEXTANITYPES[] = { STR_ItemValTEXTANI_LEFT, STR_ItemValTEXTANI_UP, @@ -1387,7 +1387,7 @@ sal_uInt16 SdrEdgeKindItem::GetValueCount() const { return 4; } OUString SdrEdgeKindItem::GetValueTextByPos(sal_uInt16 nPos) { - static const char* ITEMVALEDGES[] = + static TranslateId ITEMVALEDGES[] = { STR_ItemValEDGE_ORTHOLINES, STR_ItemValEDGE_THREELINES, @@ -1555,7 +1555,7 @@ sal_uInt16 SdrMeasureKindItem::GetValueCount() const { return 2; } OUString SdrMeasureKindItem::GetValueTextByPos(sal_uInt16 nPos) { - static const char* ITEMVALMEASURETYPES[] = + static TranslateId ITEMVALMEASURETYPES[] = { STR_ItemValMEASURE_STD, STR_ItemValMEASURE_RADIUS @@ -1603,7 +1603,7 @@ sal_uInt16 SdrMeasureTextHPosItem::GetValueCount() const { return 4; } OUString SdrMeasureTextHPosItem::GetValueTextByPos(sal_uInt16 nPos) { - static const char* ITEMVALMEASURETEXTTYPES[] = + static TranslateId ITEMVALMEASURETEXTTYPES[] = { STR_ItemValMEASURE_TEXTHAUTO, STR_ItemValMEASURE_TEXTLEFTOUTSIDE, @@ -1652,7 +1652,7 @@ sal_uInt16 SdrMeasureTextVPosItem::GetValueCount() const { return 5; } OUString SdrMeasureTextVPosItem::GetValueTextByPos(sal_uInt16 nPos) { - static const char* ITEMVALMEASURETEXTTYPES[] = + static TranslateId ITEMVALMEASURETEXTTYPES[] = { STR_ItemValMEASURE_TEXTVAUTO, STR_ItemValMEASURE_ABOVE, @@ -1741,7 +1741,7 @@ sal_uInt16 SdrCircKindItem::GetValueCount() const { return 4; } OUString SdrCircKindItem::GetValueTextByPos(sal_uInt16 nPos) { - static const char* ITEMVALCIRCTYPES[] = + static TranslateId ITEMVALCIRCTYPES[] = { STR_ItemValCIRC_FULL, STR_ItemValCIRC_SECT, diff --git a/svx/source/svdraw/svddrgmt.cxx b/svx/source/svdraw/svddrgmt.cxx index b0ec9365712d..36ec07b795f3 100644 --- a/svx/source/svdraw/svddrgmt.cxx +++ b/svx/source/svdraw/svddrgmt.cxx @@ -552,7 +552,7 @@ void SdrDragMethod::createSdrDragEntries_GlueDrag() } } -OUString SdrDragMethod::ImpGetDescriptionStr(const char* pStrCacheID) const +OUString SdrDragMethod::ImpGetDescriptionStr(TranslateId pStrCacheID) const { ImpGetDescriptionOptions nOpt=ImpGetDescriptionOptions::NONE; if (IsDraggingPoints()) { diff --git a/svx/source/svdraw/svdedtv2.cxx b/svx/source/svdraw/svdedtv2.cxx index 5d29b1b3dc4f..d8ba459c4d2e 100644 --- a/svx/source/svdraw/svdedtv2.cxx +++ b/svx/source/svdraw/svdedtv2.cxx @@ -2000,7 +2000,7 @@ void SdrEditView::ImpConvertTo(bool bPath, bool bLineToArea) bool bMrkChg = false; const size_t nMarkCount=GetMarkedObjectCount(); - const char* pDscrID = nullptr; + TranslateId pDscrID; if(bLineToArea) { if(nMarkCount == 1) diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx index 495a0bd64c74..41778c8af6cf 100644 --- a/svx/source/svdraw/svdmrkv.cxx +++ b/svx/source/svdraw/svdmrkv.cxx @@ -2593,7 +2593,7 @@ const tools::Rectangle& SdrMarkView::GetMarkedObjRect() const } -OUString SdrMarkView::ImpGetDescriptionString(const char* pStrCacheID, ImpGetDescriptionOptions nOpt) const +OUString SdrMarkView::ImpGetDescriptionString(TranslateId pStrCacheID, ImpGetDescriptionOptions nOpt) const { OUString sStr = SvxResId(pStrCacheID); const sal_Int32 nPos = sStr.indexOf("%1"); diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx index 15b9cc6dcfcf..b6c39ed1d762 100644 --- a/svx/source/svdraw/svdobj.cxx +++ b/svx/source/svdraw/svdobj.cxx @@ -1097,7 +1097,7 @@ OUString SdrObject::TakeObjNamePlural() const return SvxResId(STR_ObjNamePluralNONE); } -OUString SdrObject::ImpGetDescriptionStr(const char* pStrCacheID) const +OUString SdrObject::ImpGetDescriptionStr(TranslateId pStrCacheID) const { OUString aStr = SvxResId(pStrCacheID); sal_Int32 nPos = aStr.indexOf("%1"); diff --git a/svx/source/svdraw/svdocirc.cxx b/svx/source/svdraw/svdocirc.cxx index 6739e6082a57..9254c2bcefef 100644 --- a/svx/source/svdraw/svdocirc.cxx +++ b/svx/source/svdraw/svdocirc.cxx @@ -319,7 +319,7 @@ void SdrCircObj::RecalcXPoly() OUString SdrCircObj::TakeObjNameSingul() const { - const char* pID=STR_ObjNameSingulCIRC; + TranslateId pID=STR_ObjNameSingulCIRC; if (maRect.GetWidth() == maRect.GetHeight() && maGeo.nShearAngle==0_deg100) { switch (meCircleKind) { @@ -348,7 +348,7 @@ OUString SdrCircObj::TakeObjNameSingul() const OUString SdrCircObj::TakeObjNamePlural() const { - const char* pID=STR_ObjNamePluralCIRC; + TranslateId pID=STR_ObjNamePluralCIRC; if (maRect.GetWidth() == maRect.GetHeight() && maGeo.nShearAngle==0_deg100) { switch (meCircleKind) { diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx index 5ec2219cbef3..3de8f5fa7f5f 100644 --- a/svx/source/svdraw/svdograf.cxx +++ b/svx/source/svdraw/svdograf.cxx @@ -645,7 +645,7 @@ OUString SdrGrafObj::TakeObjNameSingul() const { case GraphicType::Bitmap: { - const char* pId = ( ( mpGraphicObject->IsTransparent() || GetObjectItem( SDRATTR_GRAFTRANSPARENCE ).GetValue() ) ? + TranslateId pId = ( ( mpGraphicObject->IsTransparent() || GetObjectItem( SDRATTR_GRAFTRANSPARENCE ).GetValue() ) ? ( IsLinkedGraphic() ? STR_ObjNameSingulGRAFBMPTRANSLNK : STR_ObjNameSingulGRAFBMPTRANS ) : ( IsLinkedGraphic() ? STR_ObjNameSingulGRAFBMPLNK : STR_ObjNameSingulGRAFBMP ) ); @@ -720,7 +720,7 @@ OUString SdrGrafObj::TakeObjNamePlural() const { case GraphicType::Bitmap: { - const char* pId = ( ( mpGraphicObject->IsTransparent() || GetObjectItem( SDRATTR_GRAFTRANSPARENCE ).GetValue() ) ? + TranslateId pId = ( ( mpGraphicObject->IsTransparent() || GetObjectItem( SDRATTR_GRAFTRANSPARENCE ).GetValue() ) ? ( IsLinkedGraphic() ? STR_ObjNamePluralGRAFBMPTRANSLNK : STR_ObjNamePluralGRAFBMPTRANS ) : ( IsLinkedGraphic() ? STR_ObjNamePluralGRAFBMPLNK : STR_ObjNamePluralGRAFBMP ) ); diff --git a/svx/source/svdraw/svdopath.cxx b/svx/source/svdraw/svdopath.cxx index 7f2b4f1fb77c..1c36760ae929 100644 --- a/svx/source/svdraw/svdopath.cxx +++ b/svx/source/svdraw/svdopath.cxx @@ -1836,7 +1836,7 @@ OUString SdrPathObj::TakeObjNameSingul() const if(OBJ_LINE == meKind) { - const char* pId(STR_ObjNameSingulLINE); + TranslateId pId(STR_ObjNameSingulLINE); if(lcl_ImpIsLine(GetPathPoly())) { @@ -1872,7 +1872,7 @@ OUString SdrPathObj::TakeObjNameSingul() const else if(OBJ_PLIN == meKind || OBJ_POLY == meKind) { const bool bClosed(OBJ_POLY == meKind); - const char* pId(nullptr); + TranslateId pId; if(mpDAC && mpDAC->IsCreating()) { diff --git a/svx/source/svdraw/svdorect.cxx b/svx/source/svdraw/svdorect.cxx index 7221a3c71b76..cd91f6f06c31 100644 --- a/svx/source/svdraw/svdorect.cxx +++ b/svx/source/svdraw/svdorect.cxx @@ -209,7 +209,7 @@ OUString SdrRectObj::TakeObjNameSingul() const } bool bRounded = GetEckenradius() != 0; // rounded down - const char* pResId = bRounded ? STR_ObjNameSingulRECTRND : STR_ObjNameSingulRECT; + TranslateId pResId = bRounded ? STR_ObjNameSingulRECTRND : STR_ObjNameSingulRECT; if (maGeo.nShearAngle) { pResId = bRounded ? STR_ObjNameSingulPARALRND : STR_ObjNameSingulPARAL; // parallelogram or, maybe, rhombus @@ -235,7 +235,7 @@ OUString SdrRectObj::TakeObjNamePlural() const } bool bRounded = GetEckenradius() != 0; // rounded down - const char* pResId = bRounded ? STR_ObjNamePluralRECTRND : STR_ObjNamePluralRECT; + TranslateId pResId = bRounded ? STR_ObjNamePluralRECTRND : STR_ObjNamePluralRECT; if (maGeo.nShearAngle) { pResId = bRounded ? STR_ObjNamePluralPARALRND : STR_ObjNamePluralPARAL; // parallelogram or rhombus diff --git a/svx/source/svdraw/svdundo.cxx b/svx/source/svdraw/svdundo.cxx index 2e81d8acd91f..2fac21a7fa22 100644 --- a/svx/source/svdraw/svdundo.cxx +++ b/svx/source/svdraw/svdundo.cxx @@ -195,7 +195,7 @@ SdrUndoObj::SdrUndoObj(SdrObject& rNewObj) { } -OUString SdrUndoObj::GetDescriptionStringForObject( const SdrObject& _rForObject, const char* pStrCacheID, bool bRepeat ) +OUString SdrUndoObj::GetDescriptionStringForObject( const SdrObject& _rForObject, TranslateId pStrCacheID, bool bRepeat ) { const OUString rStr {SvxResId(pStrCacheID)}; @@ -209,7 +209,7 @@ OUString SdrUndoObj::GetDescriptionStringForObject( const SdrObject& _rForObject return rStr.replaceAt(nPos, 2, _rForObject.TakeObjNameSingul()); } -OUString SdrUndoObj::ImpGetDescriptionStr(const char* pStrCacheID, bool bRepeat) const +OUString SdrUndoObj::ImpGetDescriptionStr(TranslateId pStrCacheID, bool bRepeat) const { if ( pObj ) return GetDescriptionStringForObject( *pObj, pStrCacheID, bRepeat ); @@ -1330,7 +1330,7 @@ void SdrUndoPage::ImpMovePage(sal_uInt16 nOldNum, sal_uInt16 nNewNum) } } -OUString SdrUndoPage::ImpGetDescriptionStr(const char* pStrCacheID) +OUString SdrUndoPage::ImpGetDescriptionStr(TranslateId pStrCacheID) { return SvxResId(pStrCacheID); } diff --git a/svx/source/tbxctrls/extrusioncontrols.cxx b/svx/source/tbxctrls/extrusioncontrols.cxx index 6e040da5b1dd..bed16752433f 100644 --- a/svx/source/tbxctrls/extrusioncontrols.cxx +++ b/svx/source/tbxctrls/extrusioncontrols.cxx @@ -99,7 +99,7 @@ const std::u16string_view aDirectionBmps[] = u"" RID_SVXBMP_DIRECTION_DIRECTION_SE }; -static const char* aDirectionStrs[] = +static TranslateId aDirectionStrs[] = { RID_SVXSTR_DIRECTION_NW, RID_SVXSTR_DIRECTION_N, @@ -382,7 +382,7 @@ void ExtrusionDepthWindow::implFillStrings( FieldUnit eUnit ) { meUnit = eUnit; - const char* aDepths[] = + const TranslateId aDepths[] = { RID_SVXSTR_DEPTH_0, RID_SVXSTR_DEPTH_1, @@ -391,7 +391,7 @@ void ExtrusionDepthWindow::implFillStrings( FieldUnit eUnit ) RID_SVXSTR_DEPTH_4 }; - const char* aDepthsInch[] = + const TranslateId aDepthsInch[] = { RID_SVXSTR_DEPTH_0_INCH, RID_SVXSTR_DEPTH_1_INCH, @@ -402,7 +402,7 @@ void ExtrusionDepthWindow::implFillStrings( FieldUnit eUnit ) assert(SAL_N_ELEMENTS(aDepths) == SAL_N_ELEMENTS(aDepthsInch)); - const char** pResource = IsMetric(eUnit) ? aDepths : aDepthsInch; + const TranslateId* pResource = IsMetric(eUnit) ? aDepths : aDepthsInch; mxDepth0->set_label(SvxResId(pResource[0])); mxDepth1->set_label(SvxResId(pResource[1])); diff --git a/svx/source/tbxctrls/lboxctrl.cxx b/svx/source/tbxctrls/lboxctrl.cxx index 9c31edf4e7a3..7adb99ecaaa2 100644 --- a/svx/source/tbxctrls/lboxctrl.cxx +++ b/svx/source/tbxctrls/lboxctrl.cxx @@ -99,7 +99,7 @@ SvxPopupWindowListBox::SvxPopupWindowListBox(SvxUndoRedoControl* pControl, weld: void SvxUndoRedoControl::SetInfo( sal_Int32 nCount ) { - const char* pId; + TranslateId pId; if (nCount == 1) pId = getCommandURL() == ".uno:Undo" ? RID_SVXSTR_NUM_UNDO_ACTION : RID_SVXSTR_NUM_REDO_ACTION; else diff --git a/svx/source/toolbars/extrusionbar.cxx b/svx/source/toolbars/extrusionbar.cxx index 51fecface297..90af6561d6ff 100644 --- a/svx/source/toolbars/extrusionbar.cxx +++ b/svx/source/toolbars/extrusionbar.cxx @@ -454,7 +454,7 @@ static void impl_execute( SfxRequest const & rReq, SdrCustomShapeGeometryItem& r void ExtrusionBar::execute( SdrView* pSdrView, SfxRequest const & rReq, SfxBindings& rBindings ) { sal_uInt16 nSID = rReq.GetSlot(); - const char* pStrResId = nullptr; + TranslateId pStrResId; const bool bUndo = pSdrView && pSdrView->IsUndoEnabled(); diff --git a/svx/source/toolbars/fontworkbar.cxx b/svx/source/toolbars/fontworkbar.cxx index 0f27578eab18..7ec966ab4f09 100644 --- a/svx/source/toolbars/fontworkbar.cxx +++ b/svx/source/toolbars/fontworkbar.cxx @@ -409,7 +409,7 @@ static void GetGeometryForCustomShape( SdrCustomShapeGeometryItem& rGeometryItem void FontworkBar::execute( SdrView& rSdrView, SfxRequest const & rReq, SfxBindings& rBindings ) { - const char* pStrResId = nullptr; + TranslateId pStrResId; sal_uInt16 nSID = rReq.GetSlot(); switch( nSID ) diff --git a/svx/source/unodraw/unoprov.cxx b/svx/source/unodraw/unoprov.cxx index 9cc61bcea7ae..a421268cdd4a 100644 --- a/svx/source/unodraw/unoprov.cxx +++ b/svx/source/unodraw/unoprov.cxx @@ -1118,7 +1118,7 @@ static const char* RID_SVXSTR_BMP_DEF[] = RID_SVXSTR_BMP92_DEF }; -static const char* RID_SVXSTR_BMP[] = +const TranslateId RID_SVXSTR_BMP[] = { RID_SVXSTR_BMP0, RID_SVXSTR_BMP1, @@ -1251,7 +1251,7 @@ static const char* RID_SVXSTR_DASH_DEF[] = }; -static const char* RID_SVXSTR_DASH[] = +const TranslateId RID_SVXSTR_DASH[] = { RID_SVXSTR_DASH0, RID_SVXSTR_DASH1, @@ -1322,7 +1322,7 @@ static const char* RID_SVXSTR_LEND_DEF[] = RID_SVXSTR_LEND31_DEF }; -static const char* RID_SVXSTR_LEND[] = +const TranslateId RID_SVXSTR_LEND[] = { RID_SVXSTR_LEND0, RID_SVXSTR_LEND1, @@ -1447,7 +1447,7 @@ static const char* RID_SVXSTR_GRDT_DEF[] = RID_SVXSTR_GRDT84_DEF }; -static const char* RID_SVXSTR_GRDT[] = +const TranslateId RID_SVXSTR_GRDT[] = { RID_SVXSTR_GRDT0, RID_SVXSTR_GRDT1, @@ -1556,7 +1556,7 @@ static const char* RID_SVXSTR_HATCHS_DEF[] = RID_SVXSTR_HATCH15_DEF }; -static const char* RID_SVXSTR_HATCHS[] = +const TranslateId RID_SVXSTR_HATCHS[] = { RID_SVXSTR_HATCH0, RID_SVXSTR_HATCH1, @@ -1581,12 +1581,12 @@ static const char* RID_SVXSTR_TRASNGR_DEF[] = RID_SVXSTR_TRASNGR0_DEF }; -static const char* RID_SVXSTR_TRASNGR[] = +const TranslateId RID_SVXSTR_TRASNGR[] = { RID_SVXSTR_TRASNGR0 }; -static bool SvxUnoGetResourceRanges( const sal_uInt16 nWhich, const char**& pApiResIds, const char**& pIntResIds, int& nCount ) noexcept +static bool SvxUnoGetResourceRanges( const sal_uInt16 nWhich, const char**& pApiResIds, const TranslateId*& pIntResIds, int& nCount ) noexcept { switch( nWhich ) { @@ -1633,7 +1633,7 @@ static bool SvxUnoGetResourceRanges( const sal_uInt16 nWhich, const char**& pApi } /// @throws std::exception -static bool SvxUnoConvertResourceString(const char **pSourceResIds, const char** pDestResIds, int nCount, OUString& rString, bool bToApi) +static bool SvxUnoConvertResourceStringToApi(const TranslateId* pSourceResIds, const char** pDestResIds, int nCount, OUString& rString) { // first, calculate the search string length without an optional number after the name sal_Int32 nLength = rString.getLength(); @@ -1663,39 +1663,67 @@ static bool SvxUnoConvertResourceString(const char **pSourceResIds, const char** for (int i = 0; i < nCount; ++i) { - if (bToApi) + const OUString & aCompare = SvxResId(pSourceResIds[i]); + if( aShortString == aCompare ) { - const OUString & aCompare = SvxResId(pSourceResIds[i]); - if( aShortString == aCompare ) - { - rString = rString.replaceAt( 0, aShortString.getLength(), OUString::createFromAscii(pDestResIds[i]) ); - return true; - } - else if( rString == aCompare ) - { - rString = OUString::createFromAscii(pDestResIds[i]); - return true; - } + rString = rString.replaceAt( 0, aShortString.getLength(), OUString::createFromAscii(pDestResIds[i]) ); + return true; } - else + else if( rString == aCompare ) { - auto pCompare = pSourceResIds[i]; - if( aShortString.equalsAscii(pCompare) ) - { - rString = rString.replaceAt( 0, aShortString.getLength(), SvxResId(pDestResIds[i]) ); - return true; - } - else if( rString.equalsAscii(pCompare) ) - { - rString = SvxResId(pDestResIds[i]); - return true; - } + rString = OUString::createFromAscii(pDestResIds[i]); + return true; } } return false; } +static bool SvxUnoConvertResourceStringFromApi(const char** pSourceResIds, const TranslateId* pDestResIds, int nCount, OUString& rString) +{ + // first, calculate the search string length without an optional number after the name + sal_Int32 nLength = rString.getLength(); + while( nLength > 0 ) + { + const sal_Unicode nChar = rString[ nLength - 1 ]; + if( (nChar < '0') || (nChar > '9') ) + break; + + nLength--; + } + + // if we cut off a number, also cut of some spaces + if( nLength != rString.getLength() ) + { + while( nLength > 0 ) + { + const sal_Unicode nChar = rString[ nLength - 1 ]; + if( nChar != ' ' ) + break; + + nLength--; + } + } + + const OUString aShortString( rString.copy( 0, nLength ) ); + + for (int i = 0; i < nCount; ++i) + { + auto pCompare = pSourceResIds[i]; + if( aShortString.equalsAscii(pCompare) ) + { + rString = rString.replaceAt( 0, aShortString.getLength(), SvxResId(pDestResIds[i]) ); + return true; + } + else if( rString.equalsAscii(pCompare) ) + { + rString = SvxResId(pDestResIds[i]); + return true; + } + } + + return false; +} // #i122649# Some comments on the below arrays: // - They need to have the same order and count of items @@ -1812,7 +1840,7 @@ static const char* SvxUnoColorNameDefResId[] = RID_SVXSTR_COLOR_LIBRE_YELLOW_ACCENT_DEF }; -static const char* SvxUnoColorNameResId[] = +const TranslateId SvxUnoColorNameResId[] = { RID_SVXSTR_COLOR_BLUEGREY, RID_SVXSTR_COLOR_BLACK, @@ -1917,7 +1945,7 @@ static const char* SvxUnoColorNameResId[] = }; /// @throws std::exception -static bool SvxUnoConvertResourceStringBuiltIn(const char** pSourceResIds, const char** pDestResIds, int nCount, OUString& rString, bool bToApi) +static bool SvxUnoConvertResourceStringBuiltInToApi(const TranslateId* pSourceResIds, const char** pDestResIds, int nCount, OUString& rString) { //We replace e.g. "Gray 10%" with the translation of Gray, but we shouldn't //replace "Red Hat 1" with the translation of Red :-) @@ -1933,24 +1961,39 @@ static bool SvxUnoConvertResourceStringBuiltIn(const char** pSourceResIds, const for(int i = 0; i < nCount; ++i ) { - if (bToApi) + OUString aStrDefName = SvxResId(pSourceResIds[i]); + if( sStr == aStrDefName ) { - OUString aStrDefName = SvxResId(pSourceResIds[i]); - if( sStr == aStrDefName ) - { - OUString aReplace = OUString::createFromAscii(pDestResIds[i]); - rString = rString.replaceAt( 0, aStrDefName.getLength(), aReplace ); - return true; - } + OUString aReplace = OUString::createFromAscii(pDestResIds[i]); + rString = rString.replaceAt( 0, aStrDefName.getLength(), aReplace ); + return true; } - else + } + + return false; +} + +static bool SvxUnoConvertResourceStringBuiltInFromApi(const char** pSourceResIds, const TranslateId* pDestResIds, int nCount, OUString& rString) +{ + //We replace e.g. "Gray 10%" with the translation of Gray, but we shouldn't + //replace "Red Hat 1" with the translation of Red :-) + sal_Int32 nLength = rString.getLength(); + while( nLength > 0 ) + { + const sal_Unicode nChar = rString[nLength-1]; + if (nChar != '%' && (nChar < '0' || nChar > '9')) + break; + nLength--; + } + OUString sStr = rString.copy(0, nLength).trim(); + + for(int i = 0; i < nCount; ++i ) + { + if( sStr.equalsAscii(pSourceResIds[i]) ) { - if( sStr.equalsAscii(pSourceResIds[i]) ) - { - OUString aReplace = SvxResId(pDestResIds[i]); - rString = rString.replaceAt( 0, strlen(pSourceResIds[i]), aReplace ); - return true; - } + OUString aReplace = SvxResId(pDestResIds[i]); + rString = rString.replaceAt( 0, strlen(pSourceResIds[i]), aReplace ); + return true; } } @@ -1966,7 +2009,7 @@ OUString SvxUnogetApiNameForItem(const sal_uInt16 nWhich, const OUString& rInter if( nWhich == sal_uInt16(XATTR_LINECOLOR) ) { - if (SvxUnoConvertResourceStringBuiltIn(SvxUnoColorNameResId, SvxUnoColorNameDefResId, SAL_N_ELEMENTS(SvxUnoColorNameResId), aNew, true)) + if (SvxUnoConvertResourceStringBuiltInToApi(SvxUnoColorNameResId, SvxUnoColorNameDefResId, SAL_N_ELEMENTS(SvxUnoColorNameResId), aNew)) { return aNew; } @@ -1974,12 +2017,12 @@ OUString SvxUnogetApiNameForItem(const sal_uInt16 nWhich, const OUString& rInter else { const char** pApiResIds; - const char** pIntResIds; + const TranslateId* pIntResIds; int nCount; if( SvxUnoGetResourceRanges(nWhich, pApiResIds, pIntResIds, nCount)) { - if (SvxUnoConvertResourceString(pIntResIds, pApiResIds, nCount, aNew, true)) + if (SvxUnoConvertResourceStringToApi(pIntResIds, pApiResIds, nCount, aNew)) { return aNew; } @@ -1999,7 +2042,7 @@ OUString SvxUnogetInternalNameForItem(const sal_uInt16 nWhich, const OUString& r if( nWhich == sal_uInt16(XATTR_LINECOLOR) ) { - if (SvxUnoConvertResourceStringBuiltIn(SvxUnoColorNameDefResId, SvxUnoColorNameResId, SAL_N_ELEMENTS(SvxUnoColorNameResId), aNew, false)) + if (SvxUnoConvertResourceStringBuiltInFromApi(SvxUnoColorNameDefResId, SvxUnoColorNameResId, SAL_N_ELEMENTS(SvxUnoColorNameResId), aNew)) { return aNew; } @@ -2007,12 +2050,12 @@ OUString SvxUnogetInternalNameForItem(const sal_uInt16 nWhich, const OUString& r else { const char** pApiResIds; - const char** pIntResIds; + const TranslateId* pIntResIds; int nCount; if (SvxUnoGetResourceRanges(nWhich, pApiResIds, pIntResIds, nCount)) { - if (SvxUnoConvertResourceString(pApiResIds, pIntResIds, nCount, aNew, false)) + if (SvxUnoConvertResourceStringFromApi(pApiResIds, pIntResIds, nCount, aNew)) { return aNew; } diff --git a/svx/source/xoutdev/xattr.cxx b/svx/source/xoutdev/xattr.cxx index 3057a8406038..fe9c280a62b2 100644 --- a/svx/source/xoutdev/xattr.cxx +++ b/svx/source/xoutdev/xattr.cxx @@ -125,7 +125,7 @@ NameOrIndex* NameOrIndex::Clone(SfxItemPool* /*pPool*/) const Argument pPool2 can be null. If returned string equals NameOrIndex->GetName(), the name was already unique. */ -OUString NameOrIndex::CheckNamedItem( const NameOrIndex* pCheckItem, const sal_uInt16 nWhich, const SfxItemPool* pPool1, SvxCompareValueFunc pCompareValueFunc, const char* pPrefixResId, const XPropertyListRef &pDefaults ) +OUString NameOrIndex::CheckNamedItem( const NameOrIndex* pCheckItem, const sal_uInt16 nWhich, const SfxItemPool* pPool1, SvxCompareValueFunc pCompareValueFunc, TranslateId pPrefixResId, const XPropertyListRef &pDefaults ) { bool bForceNew = false; @@ -354,7 +354,7 @@ bool XLineStyleItem::GetPresentation { rText.clear(); - const char* pId = nullptr; + TranslateId pId; switch( GetValue() ) { @@ -1756,7 +1756,7 @@ bool XFillStyleItem::GetPresentation { rText.clear(); - const char* pId = nullptr; + TranslateId pId; switch( GetValue() ) { diff --git a/svx/source/xoutdev/xattr2.cxx b/svx/source/xoutdev/xattr2.cxx index f64230ef8134..30517283c748 100644 --- a/svx/source/xoutdev/xattr2.cxx +++ b/svx/source/xoutdev/xattr2.cxx @@ -101,7 +101,7 @@ bool XLineJointItem::GetPresentation( SfxItemPresentation /*ePres*/, MapUnit /*e { rText.clear(); - const char* pId = nullptr; + TranslateId pId; switch( GetValue() ) { @@ -256,7 +256,7 @@ XLineCapItem* XLineCapItem::Clone(SfxItemPool* /*pPool*/) const bool XLineCapItem::GetPresentation( SfxItemPresentation /*ePres*/, MapUnit /*eCoreUnit*/, MapUnit /*ePresUnit*/, OUString& rText, const IntlWrapper&) const { - const char* pId; + TranslateId pId; switch( GetValue() ) { diff --git a/svx/source/xoutdev/xattrbmp.cxx b/svx/source/xoutdev/xattrbmp.cxx index b0f3e7ee49c3..97f0468f3ace 100644 --- a/svx/source/xoutdev/xattrbmp.cxx +++ b/svx/source/xoutdev/xattrbmp.cxx @@ -35,6 +35,7 @@ #include <com/sun/star/beans/PropertyValue.hpp> #include <vcl/BitmapTools.hxx> #include <vcl/GraphicLoader.hxx> +#include <unotools/resmgr.hxx> #include <libxml/xmlwriter.h> diff --git a/sw/inc/AccessibilityCheckStrings.hrc b/sw/inc/AccessibilityCheckStrings.hrc index 97e8c2120cad..2c098e50edc8 100644 --- a/sw/inc/AccessibilityCheckStrings.hrc +++ b/sw/inc/AccessibilityCheckStrings.hrc @@ -11,7 +11,7 @@ #ifndef INCLUDED_SW_INC_ACCESSIBILITY_CHECK_STRINGS_HRC #define INCLUDED_SW_INC_ACCESSIBILITY_CHECK_STRINGS_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define STR_NO_ALT NC_("STR_NO_ALT", "No alt text for graphic '%OBJECT_NAME%'") #define STR_TABLE_MERGE_SPLIT NC_("STR_TABLE_MERGE_SPLIT", "Table '%OBJECT_NAME%' contains merges or splits") diff --git a/sw/inc/app.hrc b/sw/inc/app.hrc index 9b195c02e60d..c5b32d444b9d 100644 --- a/sw/inc/app.hrc +++ b/sw/inc/app.hrc @@ -20,11 +20,11 @@ #ifndef INCLUDED_SW_INC_APP_HRC #define INCLUDED_SW_INC_APP_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #include <svl/style.hxx> -const std::pair<const char*, SfxStyleSearchBits> RID_PARAGRAPHSTYLEFAMILY[] = +const std::pair<TranslateId, SfxStyleSearchBits> RID_PARAGRAPHSTYLEFAMILY[] = { { NC_("RID_PARAGRAPHSTYLEFAMILY", "All Styles") , SfxStyleSearchBits::AllVisible }, { NC_("RID_PARAGRAPHSTYLEFAMILY", "Hidden Styles") , SfxStyleSearchBits::Hidden }, @@ -38,52 +38,52 @@ const std::pair<const char*, SfxStyleSearchBits> RID_PARAGRAPHSTYLEFAMILY[] = { NC_("RID_PARAGRAPHSTYLEFAMILY", "Special Styles") , SfxStyleSearchBits::SwExtra }, { NC_("RID_PARAGRAPHSTYLEFAMILY", "HTML Styles") , SfxStyleSearchBits::SwHtml }, { NC_("RID_PARAGRAPHSTYLEFAMILY", "Conditional Styles") , SfxStyleSearchBits::SwCondColl }, - { nullptr, SfxStyleSearchBits::Auto } + { {}, SfxStyleSearchBits::Auto } }; -const std::pair<const char*, SfxStyleSearchBits> RID_CHARACTERSTYLEFAMILY[] = +const std::pair<TranslateId, SfxStyleSearchBits> RID_CHARACTERSTYLEFAMILY[] = { { NC_("RID_CHARACTERSTYLEFAMILY", "All Styles") , SfxStyleSearchBits::AllVisible }, { NC_("RID_CHARACTERSTYLEFAMILY", "Hidden Styles") , SfxStyleSearchBits::Hidden }, { NC_("RID_CHARACTERSTYLEFAMILY", "Applied Styles") , SfxStyleSearchBits::Used }, { NC_("RID_CHARACTERSTYLEFAMILY", "Custom Styles") , SfxStyleSearchBits::UserDefined }, - { nullptr, SfxStyleSearchBits::Auto } + { {}, SfxStyleSearchBits::Auto } }; -const std::pair<const char*, SfxStyleSearchBits> RID_FRAMESTYLEFAMILY[] = +const std::pair<TranslateId, SfxStyleSearchBits> RID_FRAMESTYLEFAMILY[] = { { NC_("RID_FRAMESTYLEFAMILY", "All Styles") , SfxStyleSearchBits::AllVisible }, { NC_("RID_FRAMESTYLEFAMILY", "Hidden Styles") , SfxStyleSearchBits::Hidden }, { NC_("RID_FRAMESTYLEFAMILY", "Applied Styles") , SfxStyleSearchBits::Used }, { NC_("RID_FRAMESTYLEFAMILY", "Custom Styles") , SfxStyleSearchBits::UserDefined }, - { nullptr, SfxStyleSearchBits::Auto } + { {}, SfxStyleSearchBits::Auto } }; -const std::pair<const char*, SfxStyleSearchBits> RID_PAGESTYLEFAMILY[] = +const std::pair<TranslateId, SfxStyleSearchBits> RID_PAGESTYLEFAMILY[] = { { NC_("RID_PAGESTYLEFAMILY", "All Styles") , SfxStyleSearchBits::AllVisible }, { NC_("RID_PAGESTYLEFAMILY", "Hidden Styles") , SfxStyleSearchBits::Hidden }, { NC_("RID_PAGESTYLEFAMILY", "Applied Styles") , SfxStyleSearchBits::Used }, { NC_("RID_PAGESTYLEFAMILY", "Custom Styles") , SfxStyleSearchBits::UserDefined }, - { nullptr, SfxStyleSearchBits::Auto } + { {}, SfxStyleSearchBits::Auto } }; -const std::pair<const char*, SfxStyleSearchBits> RID_LISTSTYLEFAMILY[] = +const std::pair<TranslateId, SfxStyleSearchBits> RID_LISTSTYLEFAMILY[] = { { NC_("RID_LISTSTYLEFAMILY", "All Styles") , SfxStyleSearchBits::AllVisible }, { NC_("RID_LISTSTYLEFAMILY", "Hidden Styles") , SfxStyleSearchBits::Hidden }, { NC_("RID_LISTSTYLEFAMILY", "Applied Styles") , SfxStyleSearchBits::Used }, { NC_("RID_LISTSTYLEFAMILY", "Custom Styles") , SfxStyleSearchBits::UserDefined }, - { nullptr, SfxStyleSearchBits::Auto } + { {}, SfxStyleSearchBits::Auto } }; -const std::pair<const char*, SfxStyleSearchBits> RID_TABLESTYLEFAMILY[] = +const std::pair<TranslateId, SfxStyleSearchBits> RID_TABLESTYLEFAMILY[] = { { NC_("RID_TABLESTYLEFAMILY", "All Styles") , SfxStyleSearchBits::AllVisible }, { NC_("RID_TABLESTYLEFAMILY", "Hidden Styles") , SfxStyleSearchBits::Hidden }, { NC_("RID_TABLESTYLEFAMILY", "Applied Styles") , SfxStyleSearchBits::Used }, { NC_("RID_TABLESTYLEFAMILY", "Custom Styles") , SfxStyleSearchBits::UserDefined }, - { nullptr, SfxStyleSearchBits::Auto } + { {}, SfxStyleSearchBits::Auto } }; #endif diff --git a/sw/inc/cnttab.hrc b/sw/inc/cnttab.hrc index f0823fd24997..ccb469092899 100644 --- a/sw/inc/cnttab.hrc +++ b/sw/inc/cnttab.hrc @@ -22,9 +22,9 @@ #include "tox.hxx" -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const std::pair<const char*, SwTOOElements> RES_SRCTYPES[] = +const std::pair<TranslateId, SwTOOElements> RES_SRCTYPES[] = { { NC_("RES_SRCTYPES", "%PRODUCTNAME Math"), SwTOOElements::Math}, { NC_("RES_SRCTYPES", "%PRODUCTNAME Chart"), SwTOOElements::Chart}, diff --git a/sw/inc/dbui.hrc b/sw/inc/dbui.hrc index 778f229ed4f3..4abc1148755d 100644 --- a/sw/inc/dbui.hrc +++ b/sw/inc/dbui.hrc @@ -21,8 +21,10 @@ #define INCLUDED_SW_INC_DBUI_HRC #include <utility> +#include <unotools/resmgr.hxx> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) + +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) // Elements ----------------------------------------------------------------- #define MM_PART_TITLE 0 @@ -40,7 +42,7 @@ #define MM_PART_E_MAIL 12 #define MM_PART_GENDER 13 -const std::pair<const char*, int> SA_ADDRESS_HEADER[] = +const std::pair<TranslateId, int> SA_ADDRESS_HEADER[] = { { NC_("SA_ADDRESS_HEADER", "Title") , MM_PART_TITLE }, { NC_("SA_ADDRESS_HEADER", "First Name") , MM_PART_FIRSTNAME }, diff --git a/sw/inc/error.hrc b/sw/inc/error.hrc index b2d55025ca25..c6db37c65fea 100644 --- a/sw/inc/error.hrc +++ b/sw/inc/error.hrc @@ -25,7 +25,7 @@ #include "swerror.h" -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define ERR_CODE( class, err ) ErrCode(ErrCodeArea::Sw, class, err.GetCode()) #define WARN_CODE( class, err ) ErrCode(ErrCodeArea::Sw, class, err.GetCode()) @@ -58,7 +58,7 @@ const ErrMsgCode RID_SW_ERRHDL[] = { NC_("RID_SW_ERRHDL", "This HTML document contains Basic macros.\nThey were not saved with the current export settings."), WARN_SWG_HTML_NO_MACROS }, { NC_("RID_SW_ERRHDL", "Error in writing sub-document $(ARG1)."), WARN_WRITE_ERROR_FILE }, { NC_("RID_SW_ERRHDL", "Format error discovered in the file in sub-document $(ARG1) at $(ARG2)(row,col)."), WARN_FORMAT_FILE_ROWCOL }, - { nullptr, ERRCODE_NONE } + { {}, ERRCODE_NONE } }; #endif diff --git a/sw/inc/flddinf.hrc b/sw/inc/flddinf.hrc index c9b1f3f6ac43..bc9dfcc69f57 100644 --- a/sw/inc/flddinf.hrc +++ b/sw/inc/flddinf.hrc @@ -20,9 +20,9 @@ #ifndef INCLUDED_SW_INC_FLDDINF_HRC #define INCLUDED_SW_INC_FLDDINF_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* FLD_SELECT[] = +const TranslateId FLD_SELECT[] = { NC_("flddocinfopage|liststore1", "Author"), NC_("flddocinfopage|liststore1", "Time"), diff --git a/sw/inc/fldref.hrc b/sw/inc/fldref.hrc index 9dca24fa88c1..ad519bcbbf2d 100644 --- a/sw/inc/fldref.hrc +++ b/sw/inc/fldref.hrc @@ -20,9 +20,9 @@ #ifndef INCLUDED_SW_INC_FLDREF_HRC #define INCLUDED_SW_INC_FLDREF_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* FLD_REF_PAGE_TYPES[] = +const TranslateId FLD_REF_PAGE_TYPES[] = { NC_("fldrefpage|liststore1", "Bookmarks"), NC_("fldrefpage|liststore1", "Footnotes"), diff --git a/sw/inc/inspectorproperties.hrc b/sw/inc/inspectorproperties.hrc index 0def6ab41780..03c2cc8c60b4 100644 --- a/sw/inc/inspectorproperties.hrc +++ b/sw/inc/inspectorproperties.hrc @@ -19,8 +19,8 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) -#define NNC_(Context, StringSingular, StringPlural) reinterpret_cast<char const *>(Context "\004" u8##StringSingular "\004" u8##StringPlural) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) +#define NNC_(Context, StringSingular, StringPlural) TranslateNId(Context, reinterpret_cast<char const *>(u8##StringSingular), reinterpret_cast<char const *>(u8##StringPlural)) /*-------------------------------------------------------------------- Description: API names for Paragraph, Character diff --git a/sw/inc/mdiexp.hxx b/sw/inc/mdiexp.hxx index dea2b4361825..4706810617fe 100644 --- a/sw/inc/mdiexp.hxx +++ b/sw/inc/mdiexp.hxx @@ -23,6 +23,7 @@ #include <tools/long.hxx> #include "tblenum.hxx" #include "swdllapi.h" +#include <unotools/resmgr.hxx> class SwRect; class Size; @@ -39,7 +40,7 @@ extern void PageNumNotify(SwViewShell const * pVwSh); enum FlyMode { FLY_DRAG_START, FLY_DRAG, FLY_DRAG_END }; extern void FrameNotify( SwViewShell* pVwSh, FlyMode eMode = FLY_DRAG ); -SW_DLLPUBLIC void StartProgress(const char* pMessId, tools::Long nStartVal, tools::Long nEndVal, SwDocShell *pDocSh = nullptr); +SW_DLLPUBLIC void StartProgress(TranslateId pMessId, tools::Long nStartVal, tools::Long nEndVal, SwDocShell *pDocSh = nullptr); SW_DLLPUBLIC void EndProgress ( SwDocShell const *pDocSh ); SW_DLLPUBLIC void SetProgressState ( tools::Long nPosition, SwDocShell const *pDocShell ); void RescheduleProgress( SwDocShell const *pDocShell ); diff --git a/sw/inc/mmaddressblockpage.hrc b/sw/inc/mmaddressblockpage.hrc index ba026a890411..a1b914c6eea4 100644 --- a/sw/inc/mmaddressblockpage.hrc +++ b/sw/inc/mmaddressblockpage.hrc @@ -20,16 +20,16 @@ #ifndef INCLUDED_SW_INC_MMADDRESSBLOCK_HRC #define INCLUDED_SW_INC_MMADDRESSBLOCK_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* RA_SALUTATION[] = +const TranslateId RA_SALUTATION[] = { NC_("RA_SALUTATION", "Dear"), NC_("RA_SALUTATION", "Hello"), NC_("RA_SALUTATION", "Hi") }; -const char* RA_PUNCTUATION[] = +const TranslateId RA_PUNCTUATION[] = { NC_("RA_PUNCTUATION", ","), NC_("RA_PUNCTUATION", ":"), diff --git a/sw/inc/optload.hrc b/sw/inc/optload.hrc index 201fbff5986c..a86d7ac57246 100644 --- a/sw/inc/optload.hrc +++ b/sw/inc/optload.hrc @@ -23,9 +23,9 @@ #include <tools/fldunit.hxx> #include <utility> -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const std::pair<const char*, FieldUnit> STR_ARR_METRIC[] = +const std::pair<TranslateId, FieldUnit> STR_ARR_METRIC[] = { { NC_("STR_ARR_METRIC", "Millimeter") , FieldUnit::MM }, { NC_("STR_ARR_METRIC", "Centimeter") , FieldUnit::CM }, diff --git a/sw/inc/outline.hrc b/sw/inc/outline.hrc index c3202a39e404..65c180cac3e0 100644 --- a/sw/inc/outline.hrc +++ b/sw/inc/outline.hrc @@ -20,9 +20,9 @@ #ifndef INCLUDED_SW_INC_OUTLINE_HRC #define INCLUDED_SW_INC_OUTLINE_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* OUTLINE_STYLE[] = +const TranslateId OUTLINE_STYLE[] = { NC_("numberingnamedialog|liststore1", "Untitled 1"), NC_("numberingnamedialog|liststore1", "Untitled 2"), diff --git a/sw/inc/pageformatpanel.hrc b/sw/inc/pageformatpanel.hrc index 97ccdee9e844..34296c7615e6 100644 --- a/sw/inc/pageformatpanel.hrc +++ b/sw/inc/pageformatpanel.hrc @@ -10,7 +10,7 @@ #ifndef INCLUDED_SW_INC_PAGEFORMATPANEL_HRC #define INCLUDED_SW_INC_PAGEFORMATPANEL_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #include <utility> @@ -18,7 +18,7 @@ namespace sw { // To translators: this is a listbox labelled by "Margins:", inch units -const std::pair<const char*, int> RID_PAGEFORMATPANEL_MARGINS_INCH[] = +const std::pair<TranslateId, int> RID_PAGEFORMATPANEL_MARGINS_INCH[] = { { NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "None"), 0 }, { NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "Narrow"), 0 }, @@ -34,7 +34,7 @@ const std::pair<const char*, int> RID_PAGEFORMATPANEL_MARGINS_INCH[] = }; // To translators: this is a listbox labelled by "Margins:", cm units -const std::pair<const char*, int> RID_PAGEFORMATPANEL_MARGINS_CM[] = +const std::pair<TranslateId, int> RID_PAGEFORMATPANEL_MARGINS_CM[] = { { NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "None"), 0 }, { NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "Narrow"), 0 }, diff --git a/sw/inc/strings.hrc b/sw/inc/strings.hrc index a7981f2c9929..4d374a5591f5 100644 --- a/sw/inc/strings.hrc +++ b/sw/inc/strings.hrc @@ -20,8 +20,8 @@ #ifndef INCLUDED_SW_INC_STRINGS_HRC #define INCLUDED_SW_INC_STRINGS_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) -#define NNC_(Context, StringSingular, StringPlural) reinterpret_cast<char const *>(Context "\004" u8##StringSingular "\004" u8##StringPlural) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) +#define NNC_(Context, StringSingular, StringPlural) TranslateNId(Context, reinterpret_cast<char const *>(u8##StringSingular), reinterpret_cast<char const *>(u8##StringPlural)) // Dialog buttons #define STR_STANDARD_LABEL NC_("STR_STANDARD_LABEL", "Reset to ~Parent") diff --git a/sw/inc/swtypes.hxx b/sw/inc/swtypes.hxx index dd15ce03bb88..81ad502b82be 100644 --- a/sw/inc/swtypes.hxx +++ b/sw/inc/swtypes.hxx @@ -28,6 +28,7 @@ #include <i18nlangtag/lang.h> #include <vcl/outdev.hxx> #include <svx/flagsdef.hxx> +#include <unotools/resmgr.hxx> namespace com::sun::star { namespace linguistic2{ @@ -109,8 +110,8 @@ constexpr short lOutlineMinTextDistance = 216; // 0.15 inch = 0.38 cm #define INIT_SEQ_FLDTYPES 5 // defined in sw/source/uibase/app/swmodule.cxx -SW_DLLPUBLIC OUString SwResId(std::string_view aId); -OUString SwResId(std::string_view aId, int nCardinality); +SW_DLLPUBLIC OUString SwResId(TranslateId aId); +OUString SwResId(TranslateNId aContextSingularPlural, int nCardinality); css::uno::Reference< css::linguistic2::XSpellChecker1 > GetSpellChecker(); css::uno::Reference< css::linguistic2::XHyphenator > GetHyphenator(); diff --git a/sw/inc/utlui.hrc b/sw/inc/utlui.hrc index 5bf81226392d..a14e1452bc38 100644 --- a/sw/inc/utlui.hrc +++ b/sw/inc/utlui.hrc @@ -20,9 +20,9 @@ #ifndef INCLUDED_SW_INC_UTLUI_HRC #define INCLUDED_SW_INC_UTLUI_HRC -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const char* RID_SHELLRES_AUTOFMTSTRS[] = +const TranslateId RID_SHELLRES_AUTOFMTSTRS[] = { NC_("RID_SHELLRES_AUTOFMTSTRS", "Remove empty paragraphs"), NC_("RID_SHELLRES_AUTOFMTSTRS", "Use replacement table"), diff --git a/sw/source/core/access/acccontext.cxx b/sw/source/core/access/acccontext.cxx index dde550ef2b9e..ecfcc65b60bc 100644 --- a/sw/source/core/access/acccontext.cxx +++ b/sw/source/core/access/acccontext.cxx @@ -1434,7 +1434,7 @@ bool SwAccessibleContext::Select( SwPaM *pPaM, SdrObject *pObj, return bRet; } -OUString SwAccessibleContext::GetResource(const char* pResId, +OUString SwAccessibleContext::GetResource(TranslateId pResId, const OUString *pArg1, const OUString *pArg2) { diff --git a/sw/source/core/access/acccontext.hxx b/sw/source/core/access/acccontext.hxx index a77cf6cb74b6..999f57374afc 100644 --- a/sw/source/core/access/acccontext.hxx +++ b/sw/source/core/access/acccontext.hxx @@ -26,6 +26,7 @@ #include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp> #include <com/sun/star/lang/XServiceInfo.hpp> #include <cppuhelper/implbase.hxx> +#include <unotools/resmgr.hxx> #include <memory> #include <mutex> @@ -353,7 +354,7 @@ public: virtual bool SetSelectedState(bool bSeleted); bool IsSeletedInDoc() const { return m_isSelectedInDoc; } - static OUString GetResource(const char* pResId, + static OUString GetResource(TranslateId pResId, const OUString *pArg1 = nullptr, const OUString *pArg2 = nullptr); }; diff --git a/sw/source/core/access/accfootnote.cxx b/sw/source/core/access/accfootnote.cxx index 43d8a2b6e10c..6fb7ebca864c 100644 --- a/sw/source/core/access/accfootnote.cxx +++ b/sw/source/core/access/accfootnote.cxx @@ -46,7 +46,7 @@ SwAccessibleFootnote::SwAccessibleFootnote( bIsEndnote ? AccessibleRole::END_NOTE : AccessibleRole::FOOTNOTE, pFootnoteFrame ) { - const char* pResId = bIsEndnote ? STR_ACCESS_ENDNOTE_NAME + TranslateId pResId = bIsEndnote ? STR_ACCESS_ENDNOTE_NAME : STR_ACCESS_FOOTNOTE_NAME; OUString sArg; @@ -71,7 +71,7 @@ OUString SAL_CALL SwAccessibleFootnote::getAccessibleDescription() ThrowIfDisposed(); - const char* pResId = AccessibleRole::END_NOTE == GetRole() + TranslateId pResId = AccessibleRole::END_NOTE == GetRole() ? STR_ACCESS_ENDNOTE_DESC : STR_ACCESS_FOOTNOTE_DESC ; diff --git a/sw/source/core/access/accheaderfooter.cxx b/sw/source/core/access/accheaderfooter.cxx index bf1f8bf6d2ad..d07b2c80255e 100644 --- a/sw/source/core/access/accheaderfooter.cxx +++ b/sw/source/core/access/accheaderfooter.cxx @@ -62,7 +62,7 @@ OUString SAL_CALL SwAccessibleHeaderFooter::getAccessibleDescription() ThrowIfDisposed(); - const char* pResId = AccessibleRole::HEADER == GetRole() + TranslateId pResId = AccessibleRole::HEADER == GetRole() ? STR_ACCESS_HEADER_DESC : STR_ACCESS_FOOTER_DESC ; diff --git a/sw/source/core/doc/DocumentStylePoolManager.cxx b/sw/source/core/doc/DocumentStylePoolManager.cxx index 9238622db126..c69df3adc003 100644 --- a/sw/source/core/doc/DocumentStylePoolManager.cxx +++ b/sw/source/core/doc/DocumentStylePoolManager.cxx @@ -280,7 +280,7 @@ namespace } } -static const char* STR_POOLCOLL_TEXT_ARY[] = +const TranslateId STR_POOLCOLL_TEXT_ARY[] = { // Category Text STR_POOLCOLL_STANDARD, @@ -306,7 +306,7 @@ static const char* STR_POOLCOLL_TEXT_ARY[] = STR_POOLCOLL_HEADLINE10 }; -static const char* STR_POOLCOLL_LISTS_ARY[] +const TranslateId STR_POOLCOLL_LISTS_ARY[] { // Category Lists STR_POOLCOLL_NUMBER_BULLET_BASE, @@ -356,7 +356,7 @@ static const char* STR_POOLCOLL_LISTS_ARY[] }; // Special Areas -static const char* STR_POOLCOLL_EXTRA_ARY[] +const TranslateId STR_POOLCOLL_EXTRA_ARY[] { // Subcategory Header STR_POOLCOLL_HEADERFOOTER, @@ -385,7 +385,7 @@ static const char* STR_POOLCOLL_EXTRA_ARY[] STR_POOLCOLL_LABEL_DRAWING }; -static const char* STR_POOLCOLL_REGISTER_ARY[] = +const TranslateId STR_POOLCOLL_REGISTER_ARY[] = { // Category Directories STR_POOLCOLL_REGISTER_BASE, @@ -435,7 +435,7 @@ static const char* STR_POOLCOLL_REGISTER_ARY[] = STR_POOLCOLL_TOX_USER10 }; -static const char* STR_POOLCOLL_DOC_ARY[] = +const TranslateId STR_POOLCOLL_DOC_ARY[] = { // Category Chapter/Document STR_POOLCOLL_DOC_TITLE, @@ -443,7 +443,7 @@ static const char* STR_POOLCOLL_DOC_ARY[] = STR_POOLCOLL_DOC_APPENDIX }; -static const char* STR_POOLCOLL_HTML_ARY[] = +const TranslateId STR_POOLCOLL_HTML_ARY[] = { // Category HTML-Templates STR_POOLCOLL_HTML_BLOCKQUOTE, @@ -453,7 +453,7 @@ static const char* STR_POOLCOLL_HTML_ARY[] = STR_POOLCOLL_HTML_DT }; -static const char* STR_POOLCHR_ARY[] = +const TranslateId STR_POOLCHR_ARY[] = { STR_POOLCHR_FOOTNOTE, STR_POOLCHR_PAGENO, @@ -474,7 +474,7 @@ static const char* STR_POOLCHR_ARY[] = STR_POOLCHR_VERT_NUM }; -static const char* STR_POOLCHR_HTML_ARY[] = +const TranslateId STR_POOLCHR_HTML_ARY[] = { STR_POOLCHR_HTML_EMPHASIS, STR_POOLCHR_HTML_CITATION, @@ -487,7 +487,7 @@ static const char* STR_POOLCHR_HTML_ARY[] = STR_POOLCHR_HTML_TELETYPE }; -static const char* STR_POOLFRM_ARY[] = +const TranslateId STR_POOLFRM_ARY[] = { STR_POOLFRM_FRAME, STR_POOLFRM_GRAPHIC, @@ -498,7 +498,7 @@ static const char* STR_POOLFRM_ARY[] = STR_POOLFRM_LABEL }; -static const char* STR_POOLPAGE_ARY[] = +const TranslateId STR_POOLPAGE_ARY[] = { // Page styles STR_POOLPAGE_STANDARD, @@ -513,7 +513,7 @@ static const char* STR_POOLPAGE_ARY[] = STR_POOLPAGE_LANDSCAPE }; -static const char* STR_POOLNUMRULE_NUM_ARY[] = +const TranslateId STR_POOLNUMRULE_NUM_ARY[] = { // Numbering styles STR_POOLNUMRULE_NOLIST, @@ -532,7 +532,7 @@ static const char* STR_POOLNUMRULE_NUM_ARY[] = // XXX MUST match the entries of TableStyleProgNameTable in // sw/source/core/doc/SwStyleNameMapper.cxx and MUST match the order of // RES_POOL_TABLESTYLE_TYPE in sw/inc/poolfmt.hxx -static const char* STR_TABSTYLE_ARY[] = +const TranslateId STR_TABSTYLE_ARY[] = { // XXX MUST be in order, Writer first, then Svx old, then Svx new // 1 Writer resource string @@ -610,7 +610,7 @@ SwTextFormatColl* DocumentStylePoolManager::GetTextCollFromPool( sal_uInt16 nId, } // Didn't find it until here -> create anew - const char* pResId = nullptr; + TranslateId pResId; if (RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END) { static_assert(SAL_N_ELEMENTS(STR_POOLCOLL_TEXT_ARY) == RES_POOLCOLL_TEXT_END - RES_POOLCOLL_TEXT_BEGIN, "### unexpected size!"); @@ -1437,7 +1437,7 @@ SwFormat* DocumentStylePoolManager::GetFormatFromPool( sal_uInt16 nId ) SwFormatsBase* pArray[ 2 ]; sal_uInt16 nArrCnt = 1; - const char* pRCId = nullptr; + TranslateId pRCId; WhichRangesContainer const* pWhichRange; switch( nId & (COLL_GET_RANGE_BITS + POOLGRP_NOCOLLID) ) @@ -2574,7 +2574,7 @@ DocumentStylePoolManager::~DocumentStylePoolManager() } static std::vector<OUString> -lcl_NewUINameArray(const char** pIds, const size_t nLen, const size_t nSvxIds = 0) +lcl_NewUINameArray(const TranslateId* pIds, const size_t nLen, const size_t nSvxIds = 0) { assert(nSvxIds <= nLen); const size_t nWriterIds = nLen - nSvxIds; diff --git a/sw/source/core/doc/doclay.cxx b/sw/source/core/doc/doclay.cxx index a566ee51e112..091fc3bc743f 100644 --- a/sw/source/core/doc/doclay.cxx +++ b/sw/source/core/doc/doclay.cxx @@ -1326,7 +1326,7 @@ namespace } } -static OUString lcl_GetUniqueFlyName(const SwDoc& rDoc, const char* pDefStrId, sal_uInt16 eType) +static OUString lcl_GetUniqueFlyName(const SwDoc& rDoc, TranslateId pDefStrId, sal_uInt16 eType) { assert(eType >= RES_FMT_BEGIN && eType < RES_FMT_END); if (rDoc.IsInMailMerge()) @@ -1388,7 +1388,7 @@ OUString SwDoc::GetUniqueShapeName() const OUString SwDoc::GetUniqueDrawObjectName() const { - return lcl_GetUniqueFlyName(*this, "DrawObject", RES_DRAWFRMFMT); + return lcl_GetUniqueFlyName(*this, TranslateId(nullptr, "DrawObject"), RES_DRAWFRMFMT); } const SwFlyFrameFormat* SwDoc::FindFlyByName( const OUString& rName, SwNodeType nNdTyp ) const @@ -1422,7 +1422,7 @@ void SwDoc::SetFlyName( SwFlyFrameFormat& rFormat, const OUString& rName ) OUString sName( rName ); if( sName.isEmpty() || FindFlyByName( sName ) ) { - const char* pTyp = STR_FRAME_DEFNAME; + TranslateId pTyp = STR_FRAME_DEFNAME; const SwNodeIndex* pIdx = rFormat.GetContent().GetContentIdx(); if( pIdx && pIdx->GetNode().GetNodes().IsDocNodes() ) { diff --git a/sw/source/core/doc/docredln.cxx b/sw/source/core/doc/docredln.cxx index 72dff3406e96..27fbb81534f5 100644 --- a/sw/source/core/doc/docredln.cxx +++ b/sw/source/core/doc/docredln.cxx @@ -966,7 +966,7 @@ void SwRedlineData::SetExtraData( const SwRedlineExtraData* pData ) m_pExtraData = nullptr; } -static const char* STR_REDLINE_ARY[] = +const TranslateId STR_REDLINE_ARY[] = { STR_UNDO_REDLINE_INSERT, STR_UNDO_REDLINE_DELETE, diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx index d95314b19961..40556d557612 100644 --- a/sw/source/core/doc/notxtfrm.cxx +++ b/sw/source/core/doc/notxtfrm.cxx @@ -1306,7 +1306,7 @@ void SwNoTextFrame::PaintPicture( vcl::RenderContext* pOut, const SwRect &rGrfAr } else { - const char* pResId = nullptr; + TranslateId pResId; if( GraphicType::NONE == rGrfObj.GetType() ) pResId = STR_COMCORE_READERROR; diff --git a/sw/source/core/fields/reffld.cxx b/sw/source/core/fields/reffld.cxx index 2340c1313d0f..330e5871c3ac 100644 --- a/sw/source/core/fields/reffld.cxx +++ b/sw/source/core/fields/reffld.cxx @@ -1038,7 +1038,7 @@ void SwGetRefField::ConvertProgrammaticToUIName() return; sal_uInt16 nPoolId = SwStyleNameMapper::GetPoolIdFromProgName( rPar1, SwGetPoolIdFromName::TxtColl ); - const char* pResId = nullptr; + TranslateId pResId; switch( nPoolId ) { case RES_POOLCOLL_LABEL_ABB: diff --git a/sw/source/core/frmedt/feshview.cxx b/sw/source/core/frmedt/feshview.cxx index ab185b70d893..cf9832887d33 100644 --- a/sw/source/core/frmedt/feshview.cxx +++ b/sw/source/core/frmedt/feshview.cxx @@ -110,7 +110,7 @@ using namespace com::sun::star; namespace { -::basegfx::B2DPolyPolygon getPolygon(const char* pResId, const SdrModel& rModel) +::basegfx::B2DPolyPolygon getPolygon(TranslateId pResId, const SdrModel& rModel) { ::basegfx::B2DPolyPolygon aRetval; XLineEndListRef pLineEndList(rModel.GetLineEndList()); diff --git a/sw/source/core/layout/pagedesc.cxx b/sw/source/core/layout/pagedesc.cxx index 036f20da411c..120b43f10963 100644 --- a/sw/source/core/layout/pagedesc.cxx +++ b/sw/source/core/layout/pagedesc.cxx @@ -558,7 +558,7 @@ void SwPageDesc::RemoveStashedFormat(bool bHeader, bool bLeft, bool bFirst) } // Page styles -static const char* STR_POOLPAGE[] = +const TranslateId STR_POOLPAGE[] = { STR_POOLPAGE_STANDARD, STR_POOLPAGE_FIRST, diff --git a/sw/source/core/tox/tox.cxx b/sw/source/core/tox/tox.cxx index d789f91f171b..f24cfdaab814 100644 --- a/sw/source/core/tox/tox.cxx +++ b/sw/source/core/tox/tox.cxx @@ -226,7 +226,7 @@ SwTOXType::SwTOXType(const SwTOXType& rCopy) pRegisteredIn->Add(this); } -static const char* STR_POOLCOLL_TOX_ARY[] = +const TranslateId STR_POOLCOLL_TOX_ARY[] = { // Subcategory Index-Directories STR_POOLCOLL_TOX_IDXH, @@ -236,7 +236,7 @@ static const char* STR_POOLCOLL_TOX_ARY[] = STR_POOLCOLL_TOX_IDXBREAK }; -static const char* STR_POOLCOLL_TOX_CNTNT_ARY[] = +const TranslateId STR_POOLCOLL_TOX_CNTNT_ARY[] = { // Subcategory Tables of Contents STR_POOLCOLL_TOX_CNTNTH, @@ -247,7 +247,7 @@ static const char* STR_POOLCOLL_TOX_CNTNT_ARY[] = STR_POOLCOLL_TOX_CNTNT5 }; -static const char* STR_POOLCOLL_TOX_CNTNT_EXTRA_ARY[] = +const TranslateId STR_POOLCOLL_TOX_CNTNT_EXTRA_ARY[] = { // Subcategory Table of Contents more Levels 5 - 10 STR_POOLCOLL_TOX_CNTNT6, @@ -257,7 +257,7 @@ static const char* STR_POOLCOLL_TOX_CNTNT_EXTRA_ARY[] = STR_POOLCOLL_TOX_CNTNT10 }; -static const char* STR_POOLCOLL_TOX_USER_ARY[] = +const TranslateId STR_POOLCOLL_TOX_USER_ARY[] = { // Subcategory User-Directories: STR_POOLCOLL_TOX_USERH, @@ -268,7 +268,7 @@ static const char* STR_POOLCOLL_TOX_USER_ARY[] = STR_POOLCOLL_TOX_USER5 }; -static const char* STR_POOLCOLL_TOX_USER_EXTRA_ARY[] = +const TranslateId STR_POOLCOLL_TOX_USER_EXTRA_ARY[] = { // Subcategory User-Directories more Levels 5 - 10 STR_POOLCOLL_TOX_USER6, @@ -278,35 +278,35 @@ static const char* STR_POOLCOLL_TOX_USER_EXTRA_ARY[] = STR_POOLCOLL_TOX_USER10 }; -static const char* STR_POOLCOLL_TOX_ILLUS_ARY[] = +const TranslateId STR_POOLCOLL_TOX_ILLUS_ARY[] = { // Illustrations Index STR_POOLCOLL_TOX_ILLUSH, STR_POOLCOLL_TOX_ILLUS1 }; -static const char* STR_POOLCOLL_TOX_OBJECT_ARY[] = +const TranslateId STR_POOLCOLL_TOX_OBJECT_ARY[] = { // Object Index STR_POOLCOLL_TOX_OBJECTH, STR_POOLCOLL_TOX_OBJECT1 }; -static const char* STR_POOLCOLL_TOX_TABLES_ARY[] = +const TranslateId STR_POOLCOLL_TOX_TABLES_ARY[] = { // Tables Index STR_POOLCOLL_TOX_TABLESH, STR_POOLCOLL_TOX_TABLES1 }; -static const char* STR_POOLCOLL_TOX_AUTHORITIES_ARY[] = +const TranslateId STR_POOLCOLL_TOX_AUTHORITIES_ARY[] = { // Index of Authorities STR_POOLCOLL_TOX_AUTHORITIESH, STR_POOLCOLL_TOX_AUTHORITIES1 }; -static const char* STR_POOLCOLL_TOX_CITATION_ARY[] = +const TranslateId STR_POOLCOLL_TOX_CITATION_ARY[] = { STR_POOLCOLL_TOX_CITATION }; @@ -325,7 +325,7 @@ SwForm::SwForm( TOXTypes eTyp ) // #i21237# // Keyword has 3 levels + headings+ separator // Indexes of tables, object illustrations and authorities consist of a heading and one level - const char** pPoolId; + const TranslateId* pPoolId; switch( m_eType ) { case TOX_INDEX: pPoolId = STR_POOLCOLL_TOX_ARY; break; diff --git a/sw/source/core/tox/txmsrt.cxx b/sw/source/core/tox/txmsrt.cxx index a67906d0e4ad..ebe5e18a7952 100644 --- a/sw/source/core/tox/txmsrt.cxx +++ b/sw/source/core/tox/txmsrt.cxx @@ -594,7 +594,7 @@ TextAndReading SwTOXPara::GetText_Impl(SwRootFrame const*const pLayout) const return TextAndReading(pFly->GetName(), OUString()); OSL_ENSURE( false, "Graphic/object without name" ); - const char* pId = SwTOXElement::Ole == eType + TranslateId pId = SwTOXElement::Ole == eType ? STR_OBJECT_DEFNAME : SwTOXElement::Graphic == eType ? STR_GRAPHIC_DEFNAME diff --git a/sw/source/core/undo/undobj.cxx b/sw/source/core/undo/undobj.cxx index 02d2a5327c38..a9566b770ae8 100644 --- a/sw/source/core/undo/undobj.cxx +++ b/sw/source/core/undo/undobj.cxx @@ -271,7 +271,7 @@ void SwUndo::RepeatImpl( ::sw::RepeatContext & ) OUString GetUndoComment(SwUndoId eId) { - const char *pId = nullptr; + TranslateId pId; switch (eId) { case SwUndoId::EMPTY: diff --git a/sw/source/core/unocore/unosett.cxx b/sw/source/core/unocore/unosett.cxx index 91cdb37a8c53..50aa72b76894 100644 --- a/sw/source/core/unocore/unosett.cxx +++ b/sw/source/core/unocore/unosett.cxx @@ -1226,7 +1226,7 @@ sal_Bool SwXNumberingRules::hasElements() return true; } -static const char* STR_POOLCOLL_HEADLINE_ARY[] +const TranslateId STR_POOLCOLL_HEADLINE_ARY[] { STR_POOLCOLL_HEADLINE1, STR_POOLCOLL_HEADLINE2, diff --git a/sw/source/core/unocore/unostyle.cxx b/sw/source/core/unocore/unostyle.cxx index 3012637bbe4c..f2f3f3e43b13 100644 --- a/sw/source/core/unocore/unostyle.cxx +++ b/sw/source/core/unocore/unostyle.cxx @@ -136,11 +136,11 @@ class SwStyleProperties_Impl; uno::Reference<beans::XPropertySetInfo> m_xPSInfo; SwGetPoolIdFromName m_aPoolId; OUString m_sName; - const char* m_pResId; + TranslateId m_pResId; GetCountOrName_t m_fGetCountOrName; CreateStyle_t m_fCreateStyle; TranslateIndex_t m_fTranslateIndex; - StyleFamilyEntry(SfxStyleFamily eFamily, sal_uInt16 nPropMapType, SwGetPoolIdFromName aPoolId, OUString const& sName, const char* pResId, GetCountOrName_t const & fGetCountOrName, CreateStyle_t const & fCreateStyle, TranslateIndex_t const & fTranslateIndex) + StyleFamilyEntry(SfxStyleFamily eFamily, sal_uInt16 nPropMapType, SwGetPoolIdFromName aPoolId, OUString const& sName, TranslateId pResId, GetCountOrName_t const & fGetCountOrName, CreateStyle_t const & fCreateStyle, TranslateIndex_t const & fTranslateIndex) : m_eFamily(eFamily) , m_nPropMapType(nPropMapType) , m_xPSInfo(aSwMapProvider.GetPropertySet(nPropMapType)->getPropertySetInfo()) @@ -1546,7 +1546,7 @@ public: }; }; - const char* STR_POOLPAGE_ARY[] = + const TranslateId STR_POOLPAGE_ARY[] = { // Page styles STR_POOLPAGE_STANDARD, diff --git a/sw/source/ui/fldui/flddok.cxx b/sw/source/ui/fldui/flddok.cxx index e7d5ad8a3930..9fcc33c77ac9 100644 --- a/sw/source/ui/fldui/flddok.cxx +++ b/sw/source/ui/fldui/flddok.cxx @@ -426,7 +426,7 @@ IMPL_LINK_NOARG(SwFieldDokPage, SubTypeHdl, weld::TreeView&, void) const SwFieldTypesEnum nTypeId = static_cast<SwFieldTypesEnum>(m_xSelectionLB->get_id(nPos).toUInt32()); FillFormatLB(nTypeId); - const char* pTextRes = nullptr; + TranslateId pTextRes; switch (nTypeId) { case SwFieldTypesEnum::Chapter: diff --git a/sw/source/ui/fldui/fldfunc.cxx b/sw/source/ui/fldui/fldfunc.cxx index 9e61530b172a..9679691a6323 100644 --- a/sw/source/ui/fldui/fldfunc.cxx +++ b/sw/source/ui/fldui/fldfunc.cxx @@ -174,7 +174,7 @@ void SwFieldFuncPage::Reset(const SfxItemSet* ) } } -static const char* FMT_MARK_ARY[] = +const TranslateId FMT_MARK_ARY[] = { FMT_MARK_TEXT, FMT_MARK_TABLE, diff --git a/sw/source/ui/fldui/fldref.cxx b/sw/source/ui/fldui/fldref.cxx index 21dcb0ca39fd..94f3397046fc 100644 --- a/sw/source/ui/fldui/fldref.cxx +++ b/sw/source/ui/fldui/fldref.cxx @@ -747,7 +747,7 @@ enum FMT_REF_IDX } -static const char* FMT_REF_ARY[] = +const TranslateId FMT_REF_ARY[] = { FMT_REF_PAGE, FMT_REF_CHAPTER, diff --git a/sw/source/ui/index/cnttab.cxx b/sw/source/ui/index/cnttab.cxx index 0477ab25600f..397e062d7da5 100644 --- a/sw/source/ui/index/cnttab.cxx +++ b/sw/source/ui/index/cnttab.cxx @@ -1727,7 +1727,7 @@ IMPL_LINK_NOARG(SwTOXButton, FocusInHdl, weld::Widget&, void) namespace { - const char* STR_AUTH_FIELD_ARY[] = + const TranslateId STR_AUTH_FIELD_ARY[] = { STR_AUTH_FIELD_IDENTIFIER, STR_AUTH_FIELD_AUTHORITY_TYPE, @@ -2521,13 +2521,13 @@ void SwTOXEntryTabPage::SetWrtShell(SwWrtShell& rSh) RES_POOLCHR_IDX_MAIN_ENTRY, OUString())); } -static const char* STR_TOKEN_ARY[] = + const TranslateId STR_TOKEN_ARY[] = { STR_TOKEN_ENTRY_NO, STR_TOKEN_ENTRY, //mapped from original STR_TOKEN_ENTRY_TEXT, STR_TOKEN_ENTRY, STR_TOKEN_TAB_STOP, - nullptr, + {}, STR_TOKEN_PAGE_NUMS, STR_TOKEN_CHAPTER_INFO, STR_TOKEN_LINK_START, @@ -2535,7 +2535,7 @@ static const char* STR_TOKEN_ARY[] = STR_TOKEN_AUTHORITY }; -static const char* STR_TOKEN_HELP_ARY[] = + const TranslateId STR_TOKEN_HELP_ARY[] = { STR_TOKEN_HELP_ENTRY_NO, STR_TOKEN_HELP_ENTRY, // mapped from original STR_TOKEN_HELP_ENTRY_TEXT, @@ -2569,11 +2569,11 @@ SwTokenWindow::SwTokenWindow(std::unique_ptr<weld::Container> xParent) for (sal_uInt32 i = 0; i < TOKEN_END; ++i) { - const char* pTextId = STR_TOKEN_ARY[i]; + TranslateId pTextId = STR_TOKEN_ARY[i]; if (pTextId) m_aButtonTexts[i] = SwResId(pTextId); - const char* pHelpId = STR_TOKEN_HELP_ARY[i]; + TranslateId pHelpId = STR_TOKEN_HELP_ARY[i]; m_aButtonHelpTexts[i] = SwResId(pHelpId); } diff --git a/sw/source/ui/index/swuiidxmrk.cxx b/sw/source/ui/index/swuiidxmrk.cxx index 291ff0572e6c..d090a1cf2028 100644 --- a/sw/source/ui/index/swuiidxmrk.cxx +++ b/sw/source/ui/index/swuiidxmrk.cxx @@ -1526,7 +1526,7 @@ void SwAuthorMarkPane::Activate() namespace { - const char* STR_AUTH_FIELD_ARY[] = + const TranslateId STR_AUTH_FIELD_ARY[] = { STR_AUTH_FIELD_IDENTIFIER, STR_AUTH_FIELD_AUTHORITY_TYPE, diff --git a/sw/source/uibase/app/docsh2.cxx b/sw/source/uibase/app/docsh2.cxx index 8e297f06298f..c581f56b50e7 100644 --- a/sw/source/uibase/app/docsh2.cxx +++ b/sw/source/uibase/app/docsh2.cxx @@ -972,7 +972,7 @@ void SwDocShell::Execute(SfxRequest& rReq) uno::Reference < XFilePicker3 > xFP = aDlgHelper.GetFilePicker(); std::shared_ptr<const SfxFilter> pFlt; - const char* pStrId; + TranslateId pStrId; if( bCreateHtml ) { diff --git a/sw/source/uibase/app/mainwn.cxx b/sw/source/uibase/app/mainwn.cxx index dbb6da6e405e..7c21797f8e3d 100644 --- a/sw/source/uibase/app/mainwn.cxx +++ b/sw/source/uibase/app/mainwn.cxx @@ -49,7 +49,7 @@ static SwProgress *lcl_SwFindProgress( SwDocShell const *pDocShell ) return nullptr; } -void StartProgress( const char* pMessResId, tools::Long nStartValue, tools::Long nEndValue, +void StartProgress( TranslateId pMessResId, tools::Long nStartValue, tools::Long nEndValue, SwDocShell *pDocShell ) { if( SW_MOD()->IsEmbeddedLoadSave() ) diff --git a/sw/source/uibase/app/swmodule.cxx b/sw/source/uibase/app/swmodule.cxx index b0c68b7d72c0..51052b8f82b6 100644 --- a/sw/source/uibase/app/swmodule.cxx +++ b/sw/source/uibase/app/swmodule.cxx @@ -162,14 +162,14 @@ SwModule::SwModule( SfxObjectFactory* pWebFact, } } -OUString SwResId(std::string_view aId) +OUString SwResId(TranslateId aId) { return Translate::get(aId, SW_MOD()->GetResLocale()); } -OUString SwResId(std::string_view aId, int nCardinality) +OUString SwResId(TranslateNId aContextSingularPlural, int nCardinality) { - return Translate::nget(aId, nCardinality, SW_MOD()->GetResLocale()); + return Translate::nget(aContextSingularPlural, nCardinality, SW_MOD()->GetResLocale()); } uno::Reference< scanner::XScannerManager2 > const & diff --git a/sw/source/uibase/dochdl/swdtflvr.cxx b/sw/source/uibase/dochdl/swdtflvr.cxx index c36b6d87837b..bae05b03ac66 100644 --- a/sw/source/uibase/dochdl/swdtflvr.cxx +++ b/sw/source/uibase/dochdl/swdtflvr.cxx @@ -2095,7 +2095,7 @@ SotExchangeDest SwTransferable::GetSotDestination( const SwWrtShell& rSh ) bool SwTransferable::PasteFileContent( TransferableDataHelper& rData, SwWrtShell& rSh, SotClipboardFormatId nFormat, bool bMsg, bool bIgnoreComments ) { - const char* pResId = STR_CLPBRD_FORMAT_ERROR; + TranslateId pResId = STR_CLPBRD_FORMAT_ERROR; bool bRet = false; MSE40HTMLClipFormatObj aMSE40ClpObj; @@ -2173,7 +2173,7 @@ bool SwTransferable::PasteFileContent( TransferableDataHelper& rData, pResId = STR_ERROR_CLPBRD_READ; else { - pResId = nullptr; + pResId = TranslateId(); bRet = true; } @@ -3436,19 +3436,17 @@ void SwTransferable::PrePasteSpecial( const SwWrtShell& rSh, TransferableDataHel if( pClipboard ) { aDesc = pClipboard->m_aObjDesc; - const char* pResId; + TranslateId pResId; if( pClipboard->m_eBufferType & TransferBufferType::Document ) pResId = STR_PRIVATETEXT; else if( pClipboard->m_eBufferType & TransferBufferType::Graphic ) pResId = STR_PRIVATEGRAPHIC; else if( pClipboard->m_eBufferType == TransferBufferType::Ole ) pResId = STR_PRIVATEOLE; - else - pResId = nullptr; if (pResId) { - if (strcmp(STR_PRIVATEOLE, pResId) == 0 || strcmp(STR_PRIVATEGRAPHIC, pResId) == 0) + if (STR_PRIVATEOLE == pResId || STR_PRIVATEGRAPHIC == pResId) { // add SotClipboardFormatId::EMBED_SOURCE to the formats. This // format display then the private format name. @@ -3492,15 +3490,13 @@ void SwTransferable::FillClipFormatItem( const SwWrtShell& rSh, SwTransferable *pClipboard = GetSwTransferable( rData ); if( pClipboard ) { - const char* pResId; + TranslateId pResId; if( pClipboard->m_eBufferType & TransferBufferType::Document ) pResId = STR_PRIVATETEXT; else if( pClipboard->m_eBufferType & TransferBufferType::Graphic ) pResId = STR_PRIVATEGRAPHIC; else if( pClipboard->m_eBufferType == TransferBufferType::Ole ) pResId = STR_PRIVATEOLE; - else - pResId = nullptr; if (pResId) rToFill.AddClipbrdFormat(SotClipboardFormatId::EMBED_SOURCE, diff --git a/sw/source/uibase/docvw/SidebarTxtControl.cxx b/sw/source/uibase/docvw/SidebarTxtControl.cxx index 06aa389891b6..b9dde38dc1a7 100644 --- a/sw/source/uibase/docvw/SidebarTxtControl.cxx +++ b/sw/source/uibase/docvw/SidebarTxtControl.cxx @@ -170,12 +170,12 @@ OUString SidebarTextControl::RequestHelp(tools::Rectangle& rHelpRect) } } - const char* pResId = nullptr; + TranslateId pResId; switch( mrSidebarWin.GetLayoutStatus() ) { case SwPostItHelper::INSERTED: pResId = STR_REDLINE_INSERT; break; case SwPostItHelper::DELETED: pResId = STR_REDLINE_DELETE; break; - default: pResId = nullptr; + default: break; } SwContentAtPos aContentAtPos( IsAttrAtPos::Redline ); diff --git a/sw/source/uibase/docvw/edtwin2.cxx b/sw/source/uibase/docvw/edtwin2.cxx index c2c196c329b8..4f98553cd38c 100644 --- a/sw/source/uibase/docvw/edtwin2.cxx +++ b/sw/source/uibase/docvw/edtwin2.cxx @@ -57,7 +57,7 @@ static OUString lcl_GetRedlineHelp( const SwRangeRedline& rRedl, bool bBalloon ) { - const char* pResId = nullptr; + TranslateId pResId; switch( rRedl.GetType() ) { case RedlineType::Insert: pResId = STR_REDLINE_INSERT; break; diff --git a/sw/source/uibase/fldui/fldmgr.cxx b/sw/source/uibase/fldui/fldmgr.cxx index 5279ee15b144..99ac9ec5b577 100644 --- a/sw/source/uibase/fldui/fldmgr.cxx +++ b/sw/source/uibase/fldui/fldmgr.cxx @@ -127,7 +127,7 @@ const sal_uInt16 VF_COUNT = 1; // { 0 } const sal_uInt16 VF_USR_COUNT = 2; // { 0, nsSwExtendedSubType::SUB_CMD } const sal_uInt16 VF_DB_COUNT = 1; // { nsSwExtendedSubType::SUB_OWN_FMT } -static const char* FLD_EU_ARY[] = +const TranslateId FLD_EU_ARY[] = { FLD_EU_COMPANY, FLD_EU_GIVENNAME, @@ -146,25 +146,25 @@ static const char* FLD_EU_ARY[] = FLD_EU_REGION }; -static const char* FMT_AUTHOR_ARY[] = +const TranslateId FMT_AUTHOR_ARY[] = { FMT_AUTHOR_NAME, FMT_AUTHOR_SCUT }; -static const char* FLD_DATE_ARY[] = +const TranslateId FLD_DATE_ARY[] = { FLD_DATE_FIX, FLD_DATE_STD, }; -static const char* FLD_TIME_ARY[] = +const TranslateId FLD_TIME_ARY[] = { FLD_TIME_FIX, FLD_TIME_STD }; -static const char* FMT_NUM_ARY[] = +const TranslateId FMT_NUM_ARY[] = { FMT_NUM_ABC, FMT_NUM_SABC, @@ -177,7 +177,7 @@ static const char* FMT_NUM_ARY[] = FMT_NUM_PAGESPECIAL }; -static const char* FMT_FF_ARY[] = +const TranslateId FMT_FF_ARY[] = { FMT_FF_NAME, FMT_FF_PATHNAME, @@ -187,7 +187,7 @@ static const char* FMT_FF_ARY[] = FMT_FF_UI_RANGE }; -static const char* FLD_STAT_ARY[] = +const TranslateId FLD_STAT_ARY[] = { FLD_STAT_PAGE, FLD_STAT_PARA, @@ -198,7 +198,7 @@ static const char* FLD_STAT_ARY[] = FLD_STAT_OBJ }; -static const char* FMT_CHAPTER_ARY[] = +const TranslateId FMT_CHAPTER_ARY[] = { FMT_CHAPTER_NO, FMT_CHAPTER_NAME, @@ -206,12 +206,12 @@ static const char* FMT_CHAPTER_ARY[] = FMT_CHAPTER_NO_NOSEPARATOR }; -static const char* FLD_INPUT_ARY[] = +const TranslateId FLD_INPUT_ARY[] = { FLD_INPUT_TEXT }; -static const char* FMT_MARK_ARY[] = +const TranslateId FMT_MARK_ARY[] = { FMT_MARK_TEXT, FMT_MARK_TABLE, @@ -220,7 +220,7 @@ static const char* FMT_MARK_ARY[] = FMT_MARK_OLE }; -static const char* FMT_REF_ARY[] = +const TranslateId FMT_REF_ARY[] = { FMT_REF_PAGE, FMT_REF_CHAPTER, @@ -235,44 +235,44 @@ static const char* FMT_REF_ARY[] = FMT_REF_NUMBER_FULL_CONTEXT }; -static const char* FMT_REG_ARY[] = +const TranslateId FMT_REG_ARY[] = { FMT_REG_AUTHOR, FMT_REG_TIME, FMT_REG_DATE }; -static const char* FMT_DBFLD_ARY[] = +const TranslateId FMT_DBFLD_ARY[] = { FMT_DBFLD_DB, FMT_DBFLD_SYS }; -static const char* FMT_SETVAR_ARY[] = +const TranslateId FMT_SETVAR_ARY[] = { FMT_SETVAR_SYS, FMT_SETVAR_TEXT }; -static const char* FMT_GETVAR_ARY[] = +const TranslateId FMT_GETVAR_ARY[] = { FMT_GETVAR_TEXT, FMT_GETVAR_NAME }; -static const char* FMT_DDE_ARY[] = +const TranslateId FMT_DDE_ARY[] = { FMT_DDE_NORMAL, FMT_DDE_HOT }; -static const char* FLD_PAGEREF_ARY[] = +const TranslateId FLD_PAGEREF_ARY[] = { FLD_PAGEREF_OFF, FLD_PAGEREF_ON }; -static const char* FMT_USERVAR_ARY[] = +const TranslateId FMT_USERVAR_ARY[] = { FMT_USERVAR_TEXT, FMT_USERVAR_CMD @@ -285,10 +285,10 @@ struct SwFieldPack { SwFieldTypesEnum nTypeId; - const char** pSubTypeResIds; + const TranslateId* pSubTypeResIds; size_t nSubTypeLength; - const char** pFormatResIds; + const TranslateId* pFormatResIds; size_t nFormatLength; }; @@ -684,17 +684,17 @@ sal_uInt16 SwFieldMgr::GetFormatCount(SwFieldTypesEnum nTypeId, bool bHtmlMode) if (nTypeId == SwFieldTypesEnum::Filename) nCount -= 2; // no range or template - const char** pStart = aSwFields[nPos].pFormatResIds; + const TranslateId* pStart = aSwFields[nPos].pFormatResIds; if (!pStart) return nCount; - if (strcmp(*pStart, FMT_GETVAR_ARY[0]) == 0 || strcmp(*pStart, FMT_SETVAR_ARY[0]) == 0) + if (*pStart == FMT_GETVAR_ARY[0] || *pStart == FMT_SETVAR_ARY[0]) return VF_COUNT; - else if (strcmp(*pStart, FMT_USERVAR_ARY[0]) == 0) + else if (*pStart == FMT_USERVAR_ARY[0]) return VF_USR_COUNT; - else if (strcmp(*pStart, FMT_DBFLD_ARY[0]) == 0) + else if (*pStart == FMT_DBFLD_ARY[0]) return VF_DB_COUNT; - else if (strcmp(*pStart, FMT_NUM_ARY[0]) == 0) + else if (*pStart == FMT_NUM_ARY[0]) { GetNumberingInfo(); if(m_xNumberingInfo.is()) @@ -721,7 +721,7 @@ OUString SwFieldMgr::GetFormatStr(SwFieldTypesEnum nTypeId, sal_uInt32 nFormatId if (nPos == USHRT_MAX) return OUString(); - const char** pStart = aSwFields[nPos].pFormatResIds; + const TranslateId* pStart = aSwFields[nPos].pFormatResIds; if (!pStart) return OUString(); @@ -774,7 +774,7 @@ sal_uInt16 SwFieldMgr::GetFormatId(SwFieldTypesEnum nTypeId, sal_uInt32 nFormatI { case SwFieldTypesEnum::DocumentInfo: { - const OString sId(aSwFields[GetPos(nTypeId)].pFormatResIds[nFormatId]); + TranslateId sId = aSwFields[GetPos(nTypeId)].pFormatResIds[nFormatId]; if (sId == FMT_REG_AUTHOR) nId = DI_SUB_AUTHOR; else if (sId == FMT_REG_TIME) @@ -794,7 +794,7 @@ sal_uInt16 SwFieldMgr::GetFormatId(SwFieldTypesEnum nTypeId, sal_uInt32 nFormatI sal_uInt16 nPos = GetPos(nTypeId); if (nFormatId < aSwFields[nPos].nFormatLength) { - const OString sId(aSwFields[nPos].pFormatResIds[nFormatId]); + const TranslateId sId = aSwFields[nPos].pFormatResIds[nFormatId]; if (sId == FMT_NUM_ABC) nId = SVX_NUM_CHARS_UPPER_LETTER; else if (sId == FMT_NUM_SABC) @@ -836,7 +836,7 @@ sal_uInt16 SwFieldMgr::GetFormatId(SwFieldTypesEnum nTypeId, sal_uInt32 nFormatI } case SwFieldTypesEnum::DDE: { - const OString sId(aSwFields[GetPos(nTypeId)].pFormatResIds[nFormatId]); + const TranslateId sId = aSwFields[GetPos(nTypeId)].pFormatResIds[nFormatId]; if (sId == FMT_DDE_NORMAL) nId = static_cast<sal_uInt16>(SfxLinkUpdateMode::ONCALL); else if (sId == FMT_DDE_HOT) @@ -1743,7 +1743,7 @@ LanguageType SwFieldMgr::GetCurrLanguage() const void SwFieldType::GetFieldName_() { - static const char* coFieldNms[] = + static const TranslateId coFieldNms[] = { FLD_DATE_STD, FLD_TIME_STD, @@ -1795,7 +1795,7 @@ void SwFieldType::GetFieldName_() // insert infos for fields SwFieldType::s_pFieldNames = new std::vector<OUString>; SwFieldType::s_pFieldNames->reserve(SAL_N_ELEMENTS(coFieldNms)); - for (const char* id : coFieldNms) + for (const TranslateId & id : coFieldNms) { const OUString aTmp(SwResId(id)); SwFieldType::s_pFieldNames->push_back(MnemonicGenerator::EraseAllMnemonicChars( aTmp )); diff --git a/sw/source/uibase/misc/redlndlg.cxx b/sw/source/uibase/misc/redlndlg.cxx index bc334e1303ac..bcfdf3ed4de6 100644 --- a/sw/source/uibase/misc/redlndlg.cxx +++ b/sw/source/uibase/misc/redlndlg.cxx @@ -1091,7 +1091,7 @@ IMPL_LINK(SwRedlineAcceptDlg, CommandHdl, const CommandEvent&, rCEvt, bool) pDlg->HideAuthor(); - const char* pResId = nullptr; + TranslateId pResId; switch( rRedline.GetType() ) { case RedlineType::Insert: diff --git a/sw/source/uibase/misc/swruler.cxx b/sw/source/uibase/misc/swruler.cxx index b53987593c4f..e26e9aa41d5c 100644 --- a/sw/source/uibase/misc/swruler.cxx +++ b/sw/source/uibase/misc/swruler.cxx @@ -301,7 +301,7 @@ void SwCommentRuler::Update() void SwCommentRuler::UpdateCommentHelpText() { - const char* pTooltipResId; + TranslateId pTooltipResId; if (mpViewShell->GetPostItMgr()->ShowNotes()) pTooltipResId = STR_HIDE_COMMENTS; else diff --git a/sw/source/uibase/ribbar/workctrl.cxx b/sw/source/uibase/ribbar/workctrl.cxx index 2c7e08c23a56..ed95ca1cdb1b 100644 --- a/sw/source/uibase/ribbar/workctrl.cxx +++ b/sw/source/uibase/ribbar/workctrl.cxx @@ -209,7 +209,7 @@ std::u16string_view const aNavigationImgIds[ NAVI_ENTRIES ] = u"" RID_BMP_RIBBAR_FIELD_BYTYPE }; -static const char* aNavigationStrIds[ NAVI_ENTRIES ] = +const TranslateId aNavigationStrIds[ NAVI_ENTRIES ] = { ST_TBL, ST_FRM, @@ -235,7 +235,7 @@ static const char* aNavigationStrIds[ NAVI_ENTRIES ] = }; // these are global strings -static const char* STR_IMGBTN_ARY[] = +const TranslateId STR_IMGBTN_ARY[] = { STR_IMGBTN_TBL_DOWN, STR_IMGBTN_FRM_DOWN, @@ -362,13 +362,13 @@ SwZoomBox_Impl::SwZoomBox_Impl(vcl::Window* pParent, sal_uInt16 nSlot) m_xWidget->connect_entry_activate(LINK(this, SwZoomBox_Impl, ActivateHdl)); m_xWidget->connect_focus_out(LINK(this, SwZoomBox_Impl, FocusOutHdl)); - const char* const aZoomValues[] = + const TranslateId aZoomValues[] = { RID_SVXSTR_ZOOM_25 , RID_SVXSTR_ZOOM_50 , RID_SVXSTR_ZOOM_75 , RID_SVXSTR_ZOOM_100 , RID_SVXSTR_ZOOM_150 , RID_SVXSTR_ZOOM_200 , RID_SVXSTR_ZOOM_WHOLE_PAGE, RID_SVXSTR_ZOOM_PAGE_WIDTH , RID_SVXSTR_ZOOM_OPTIMAL_VIEW }; - for(const char* pZoomValue : aZoomValues) + for(const TranslateId& pZoomValue : aZoomValues) { OUString sEntry = SvxResId(pZoomValue); m_xWidget->append_text(sEntry); @@ -761,7 +761,7 @@ void NavElementBox_Base::UpdateBox() { if ( nMoveType == aNavigationInsertIds[i] ) { - const char* id = aNavigationStrIds[i]; + TranslateId id = aNavigationStrIds[i]; OUString sText = SwResId( id ); m_xWidget->set_active_text(sText); break; diff --git a/sw/source/uibase/shells/textfld.cxx b/sw/source/uibase/shells/textfld.cxx index 3c7fe4317632..184fe96e5d8f 100644 --- a/sw/source/uibase/shells/textfld.cxx +++ b/sw/source/uibase/shells/textfld.cxx @@ -70,7 +70,7 @@ static OUString lcl_BuildTitleWithRedline( const SwRangeRedline *pRedline ) { const OUString sTitle(SwResId(STR_REDLINE_COMMENT)); - const char* pResId = nullptr; + TranslateId pResId; switch( pRedline->GetType() ) { case RedlineType::Insert: diff --git a/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx b/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx index a59143ba8d48..bd7274bde397 100644 --- a/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx +++ b/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx @@ -80,7 +80,7 @@ WriterInspectorTextPanel::~WriterInspectorTextPanel() { m_pShell->SetChgLnk(m_ol static OUString PropertyNametoRID(const OUString& rName) { - static const std::map<OUString, const char*> aNameToRID = { + static const std::map<OUString, TranslateId> aNameToRID = { { "BorderDistance", RID_BORDER_DISTANCE }, { "BottomBorder", RID_BOTTOM_BORDER }, { "BottomBorderDistance", RID_BOTTOM_BORDER_DISTANCE }, diff --git a/sw/source/uibase/uiview/view2.cxx b/sw/source/uibase/uiview/view2.cxx index a6953b7c1e59..ca1751702b71 100644 --- a/sw/source/uibase/uiview/view2.cxx +++ b/sw/source/uibase/uiview/view2.cxx @@ -492,7 +492,7 @@ bool SwView::InsertGraphicDlg( SfxRequest& rReq ) rSh.SetFrameFormat( pFormat ); } - const char* pResId(nullptr); + TranslateId pResId; if( nError == ERRCODE_GRFILTER_OPENERROR ) pResId = STR_GRFILTER_OPENERROR; else if( nError == ERRCODE_GRFILTER_IOERROR ) @@ -1522,9 +1522,9 @@ void SwView::StateStatusLine(SfxItemSet &rSet) sal_uLong nWord = selectionStats.nWord ? selectionStats.nWord : documentStats.nWord; sal_uLong nChar = selectionStats.nChar ? selectionStats.nChar : documentStats.nChar; - const char* pResId = selectionStats.nWord ? STR_WORDCOUNT : STR_WORDCOUNT_NO_SELECTION; - const char* pWordResId = selectionStats.nWord ? STR_WORDCOUNT_WORDARG : STR_WORDCOUNT_WORDARG_NO_SELECTION; - const char* pCharResId = selectionStats.nWord ? STR_WORDCOUNT_CHARARG : STR_WORDCOUNT_CHARARG_NO_SELECTION; + TranslateId pResId = selectionStats.nWord ? STR_WORDCOUNT : STR_WORDCOUNT_NO_SELECTION; + TranslateNId pWordResId = selectionStats.nWord ? STR_WORDCOUNT_WORDARG : STR_WORDCOUNT_WORDARG_NO_SELECTION; + TranslateNId pCharResId = selectionStats.nWord ? STR_WORDCOUNT_CHARARG : STR_WORDCOUNT_CHARARG_NO_SELECTION; const LocaleDataWrapper& rLocaleData = Application::GetSettings().GetUILocaleDataWrapper(); OUString aWordArg = SwResId(pWordResId, nWord).replaceAll("$1", rLocaleData.getNum(nWord, 0)); diff --git a/sw/source/uibase/uiview/viewprt.cxx b/sw/source/uibase/uiview/viewprt.cxx index 98ca19acd8b8..1921c30d045a 100644 --- a/sw/source/uibase/uiview/viewprt.cxx +++ b/sw/source/uibase/uiview/viewprt.cxx @@ -189,7 +189,7 @@ void SwView::ExecutePrint(SfxRequest& rReq) std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(GetEditWin().GetFrameWeld(), VclMessageType::Info, VclButtonsType::Ok, SwResId(STR_ERR_NO_FAX))); - const char* pResId = bWeb ? STR_WEBOPTIONS : STR_TEXTOPTIONS; + TranslateId pResId = bWeb ? STR_WEBOPTIONS : STR_TEXTOPTIONS; xInfoBox->set_primary_text(xInfoBox->get_primary_text().replaceFirst("%1", SwResId(pResId))); xInfoBox->run(); SfxUInt16Item aDefPage(SID_SW_EDITOPTIONS, TP_OPTPRINT_PAGE); diff --git a/sw/source/uibase/utlui/attrdesc.cxx b/sw/source/uibase/utlui/attrdesc.cxx index e20b38787f97..71fdd4ab5436 100644 --- a/sw/source/uibase/utlui/attrdesc.cxx +++ b/sw/source/uibase/utlui/attrdesc.cxx @@ -175,7 +175,7 @@ bool SwRegisterItem::GetPresentation const IntlWrapper& /*rIntl*/ ) const { - const char* pId = GetValue() ? STR_REGISTER_ON : STR_REGISTER_OFF; + TranslateId pId = GetValue() ? STR_REGISTER_ON : STR_REGISTER_OFF; rText = SwResId(pId); return true; } @@ -205,7 +205,7 @@ bool SwParaConnectBorderItem::GetPresentation const IntlWrapper& /*rIntl*/ ) const { - const char* pId = GetValue() ? STR_CONNECT_BORDER_ON : STR_CONNECT_BORDER_OFF; + TranslateId pId = GetValue() ? STR_CONNECT_BORDER_ON : STR_CONNECT_BORDER_OFF; rText = SwResId(pId); return true; } @@ -234,7 +234,7 @@ bool SwFormatFrameSize::GetPresentation } if ( SwFrameSize::Variable != GetHeightSizeType() ) { - const char* pId = SwFrameSize::Fixed == m_eFrameHeightType ? + TranslateId pId = SwFrameSize::Fixed == m_eFrameHeightType ? STR_FRM_FIXEDHEIGHT : STR_FRM_MINHEIGHT; rText += ", " + SwResId(pId) + " "; if ( GetHeightPercent() ) @@ -263,7 +263,7 @@ bool SwFormatHeader::GetPresentation const IntlWrapper& /*rIntl*/ ) const { - const char* pId = GetHeaderFormat() ? STR_HEADER : STR_NO_HEADER; + TranslateId pId = GetHeaderFormat() ? STR_HEADER : STR_NO_HEADER; rText = SwResId(pId); return true; } @@ -280,7 +280,7 @@ bool SwFormatFooter::GetPresentation const IntlWrapper& /*rIntl*/ ) const { - const char* pId = GetFooterFormat() ? STR_FOOTER : STR_NO_FOOTER; + TranslateId pId = GetFooterFormat() ? STR_FOOTER : STR_NO_FOOTER; rText = SwResId(pId); return true; } @@ -294,7 +294,7 @@ bool SwFormatSurround::GetPresentation const IntlWrapper& /*rIntl*/ ) const { - const char* pId = nullptr; + TranslateId pId; switch ( GetValue() ) { case css::text::WrapTextMode_NONE: @@ -338,7 +338,7 @@ bool SwFormatVertOrient::GetPresentation const IntlWrapper& rIntl ) const { - const char* pId = nullptr; + TranslateId pId; switch ( GetVertOrient() ) { case text::VertOrientation::NONE: @@ -384,7 +384,7 @@ bool SwFormatHoriOrient::GetPresentation const IntlWrapper& rIntl ) const { - const char* pId = nullptr; + TranslateId pId; switch ( GetHoriOrient() ) { case text::HoriOrientation::NONE: @@ -430,7 +430,7 @@ bool SwFormatAnchor::GetPresentation const IntlWrapper& /*rIntl*/ ) const { - const char* pId = nullptr; + TranslateId pId; switch ( GetAnchorId() ) { case RndStdIds::FLY_AT_PARA: @@ -641,7 +641,7 @@ bool SwTextGridItem::GetPresentation const IntlWrapper& /*rIntl*/ ) const { - const char* pId = nullptr; + TranslateId pId; switch ( GetGridType() ) { @@ -678,14 +678,14 @@ bool SwMirrorGrf::GetPresentation( SfxItemPresentation /*ePres*/, MapUnit /*eCoreUnit*/, MapUnit /*ePresUnit*/, OUString& rText, const IntlWrapper& /*rIntl*/ ) const { - const char* pId; + TranslateId pId; switch( GetValue() ) { case MirrorGraph::Dont: pId = STR_NO_MIRROR; break; case MirrorGraph::Vertical: pId = STR_VERT_MIRROR; break; case MirrorGraph::Horizontal: pId = STR_HORI_MIRROR; break; case MirrorGraph::Both: pId = STR_BOTH_MIRROR; break; - default: pId = nullptr; break; + default: break; } if (pId) { @@ -740,13 +740,13 @@ bool SwChannelGrf::GetPresentation( { if( SfxItemPresentation::Complete == ePres ) { - const char* pId; + TranslateId pId; switch ( Which() ) { case RES_GRFATR_CHANNELR: pId = STR_CHANNELR; break; case RES_GRFATR_CHANNELG: pId = STR_CHANNELG; break; case RES_GRFATR_CHANNELB: pId = STR_CHANNELB; break; - default: pId = nullptr; break; + default: break; } if (pId) rText = SwResId(pId); @@ -780,7 +780,7 @@ bool SwInvertGrf::GetPresentation( rText.clear(); if( SfxItemPresentation::Complete == ePres ) { - const char* pId = GetValue() ? STR_INVERT : STR_INVERT_NOT; + TranslateId pId = GetValue() ? STR_INVERT : STR_INVERT_NOT; rText = SwResId(pId); } return true; @@ -806,7 +806,7 @@ bool SwDrawModeGrf::GetPresentation( rText.clear(); if( SfxItemPresentation::Complete == ePres ) { - const char* pId; + TranslateId pId; switch ( GetValue() ) { @@ -829,7 +829,7 @@ bool SwFormatFollowTextFlow::GetPresentation( SfxItemPresentation ePres, rText.clear(); if( SfxItemPresentation::Complete == ePres ) { - const char* pId = GetValue() ? STR_FOLLOW_TEXT_FLOW : STR_DONT_FOLLOW_TEXT_FLOW; + TranslateId pId = GetValue() ? STR_FOLLOW_TEXT_FLOW : STR_DONT_FOLLOW_TEXT_FLOW; rText = SwResId(pId); } return true; diff --git a/sw/source/uibase/utlui/content.cxx b/sw/source/uibase/utlui/content.cxx index 08c8b8764dc0..0a14d3d12abb 100644 --- a/sw/source/uibase/utlui/content.cxx +++ b/sw/source/uibase/utlui/content.cxx @@ -238,7 +238,7 @@ SwTOXBaseContent::~SwTOXBaseContent() { } -static const char* STR_CONTENT_TYPE_ARY[] = +const TranslateId STR_CONTENT_TYPE_ARY[] = { STR_CONTENT_TYPE_OUTLINE, STR_CONTENT_TYPE_TABLE, @@ -255,7 +255,7 @@ static const char* STR_CONTENT_TYPE_ARY[] = STR_CONTENT_TYPE_TEXTFIELD }; -static const char* STR_CONTENT_TYPE_SINGLE_ARY[] = +const TranslateId STR_CONTENT_TYPE_SINGLE_ARY[] = { STR_CONTENT_TYPE_SINGLE_OUTLINE, STR_CONTENT_TYPE_SINGLE_TABLE, @@ -1038,7 +1038,7 @@ enum STR_CONTEXT_IDX } -static const char* STR_CONTEXT_ARY[] = +const TranslateId STR_CONTEXT_ARY[] = { STR_OUTLINE_LEVEL, STR_DRAGMODE, diff --git a/sw/source/uibase/utlui/glbltree.cxx b/sw/source/uibase/utlui/glbltree.cxx index 516e0789fe4a..ab8beedabc41 100644 --- a/sw/source/uibase/utlui/glbltree.cxx +++ b/sw/source/uibase/utlui/glbltree.cxx @@ -105,7 +105,7 @@ enum GLOBAL_CONTEXT_IDX } -static const char* GLOBAL_CONTEXT_ARY[] = +const TranslateId GLOBAL_CONTEXT_ARY[] = { STR_UPDATE, STR_EDIT_CONTENT, diff --git a/sw/source/uibase/utlui/initui.cxx b/sw/source/uibase/utlui/initui.cxx index 4a07f75678e2..740152dd89ad 100644 --- a/sw/source/uibase/utlui/initui.cxx +++ b/sw/source/uibase/utlui/initui.cxx @@ -91,7 +91,7 @@ void InitUI() SwEditWin::InitStaticData(); } -static const char* FLD_DOCINFO_ARY[] = +const TranslateId FLD_DOCINFO_ARY[] = { FLD_DOCINFO_TITLE, FLD_DOCINFO_SUBJECT, @@ -202,7 +202,7 @@ void ShellResource::GetAutoFormatNameLst_() const namespace { - const char* STR_AUTH_FIELD_ARY[] = + const TranslateId STR_AUTH_FIELD_ARY[] = { STR_AUTH_FIELD_IDENTIFIER, STR_AUTH_FIELD_AUTHORITY_TYPE, @@ -251,7 +251,7 @@ OUString const & SwAuthorityFieldType::GetAuthFieldName(ToxAuthorityField eType) return (*pAuthFieldNameList)[static_cast< sal_uInt16 >(eType)]; } -static const char* STR_AUTH_TYPE_ARY[] = +const TranslateId STR_AUTH_TYPE_ARY[] = { STR_AUTH_TYPE_ARTICLE, STR_AUTH_TYPE_BOOK, diff --git a/sw/source/uibase/utlui/navipi.cxx b/sw/source/uibase/utlui/navipi.cxx index 1567f7605d7e..186934f0fc75 100644 --- a/sw/source/uibase/utlui/navipi.cxx +++ b/sw/source/uibase/utlui/navipi.cxx @@ -542,14 +542,14 @@ SwNavigationPI::SwNavigationPI(weld::Widget* pParent, m_xContent1ToolBox->set_item_visible("contenttoggle", false); } - const char* REGIONNAME_ARY[] = + const TranslateId REGIONNAME_ARY[] = { STR_HYPERLINK, STR_LINK_REGION, STR_COPY_REGION }; - const char* REGIONMODE_ARY[] = + const TranslateId REGIONMODE_ARY[] = { STR_HIDDEN, STR_ACTIVE, diff --git a/sw/source/uibase/wrtsh/wrtundo.cxx b/sw/source/uibase/wrtsh/wrtundo.cxx index 6b087fad7b6d..82bb28109c60 100644 --- a/sw/source/uibase/wrtsh/wrtundo.cxx +++ b/sw/source/uibase/wrtsh/wrtundo.cxx @@ -95,7 +95,7 @@ void SwWrtShell::Do( DoType eDoType, sal_uInt16 nCnt ) OUString SwWrtShell::GetDoString( DoType eDoType ) const { OUString aUndoStr; - const char* pResStr = STR_UNDO; + TranslateId pResStr = STR_UNDO; switch( eDoType ) { case UNDO: diff --git a/unotools/source/i18n/resmgr.cxx b/unotools/source/i18n/resmgr.cxx index 7095316859f7..62991153f01c 100644 --- a/unotools/source/i18n/resmgr.cxx +++ b/unotools/source/i18n/resmgr.cxx @@ -198,63 +198,6 @@ namespace Translate return aRet; } - OUString get(std::string_view sContextAndId, const std::locale &loc) - { - constexpr int BUFLEN = 128; - // this function is performance-sensitive, so we allocate string data on stack - std::array<char, BUFLEN> sStackBuffer; - std::unique_ptr<char[]> xHeapBuffer; - char* pBuffer; - if (sContextAndId.size() < BUFLEN - 1) - pBuffer = sStackBuffer.data(); - else - { - xHeapBuffer = std::make_unique<char[]>(sContextAndId.size()+1); - pBuffer = xHeapBuffer.get(); - } - - const char* pContext; - const char* pId; - auto idx = sContextAndId.find('\004'); - memcpy(pBuffer, sContextAndId.data(), sContextAndId.size()); - if (idx == std::string_view::npos) - { - pBuffer[sContextAndId.size()] = 0; - // point pContext at the null byte so it is an empty string - pContext = pBuffer + sContextAndId.size(); - pId = pBuffer; - } - else - { - // stick a null byte in the middle to split it into two null-terminated strings - pBuffer[idx] = 0; - pBuffer[sContextAndId.size()] = 0; - pContext = pBuffer; - pId = pBuffer + idx + 1; - assert(!strchr(pId, '\004') && "should be using nget, not get"); - } - - //if it's a key id locale, generate it here - if (std::use_facet<boost::locale::info>(loc).language() == "qtz") - { - OString sKeyId(genKeyId(OString(sContextAndId).replace('\004', '|'))); - return OUString::fromUtf8(sKeyId) + u"\u2016" + createFromUtf8(pId, strlen(pId)); - } - - //otherwise translate it - const std::string ret = boost::locale::pgettext(pContext, pId, loc); - OUString result(ExpandVariables(createFromUtf8(ret.data(), ret.size()))); - - if (comphelper::LibreOfficeKit::isActive()) - { - // If it is de-CH, change sharp s to double s. - if (std::use_facet<boost::locale::info>(loc).country() == "CH" && - std::use_facet<boost::locale::info>(loc).language() == "de") - result = result.replaceAll(OUString::fromUtf8("\xC3\x9F"), "ss"); - } - return result; - } - OUString get(TranslateId sContextAndId, const std::locale &loc) { assert(!strchr(sContextAndId.mpId, '\004') && "should be using nget, not get"); @@ -280,39 +223,6 @@ namespace Translate return result; } - OUString nget(std::string_view aContextAndIds, int n, const std::locale &loc) - { - OString sContextIdId(aContextAndIds); - std::vector<OString> aContextIdId; - sal_Int32 nIndex = 0; - do - { - aContextIdId.push_back(sContextIdId.getToken(0, '\004', nIndex)); - } - while (nIndex >= 0); - assert(aContextIdId.size() == 3 && "should be using get, not nget"); - - //if it's a key id locale, generate it here - if (std::use_facet<boost::locale::info>(loc).language() == "qtz") - { - OString sKeyId(genKeyId(aContextIdId[0] + "|" + aContextIdId[1])); - int nForm = n == 0 ? 1 : 2; - return OUString::fromUtf8(sKeyId) + u"\u2016" + createFromUtf8(aContextIdId[nForm].getStr(), aContextIdId[nForm].getLength()); - } - - //otherwise translate it - const std::string ret = boost::locale::npgettext(aContextIdId[0].getStr(), aContextIdId[1].getStr(), aContextIdId[2].getStr(), n, loc); - OUString result(ExpandVariables(createFromUtf8(ret.data(), ret.size()))); - - if (comphelper::LibreOfficeKit::isActive()) - { - if (std::use_facet<boost::locale::info>(loc).country() == "CH" && - std::use_facet<boost::locale::info>(loc).language() == "de") - result = result.replaceAll(OUString::fromUtf8("\xC3\x9F"), "ss"); - } - return result; - } - OUString nget(TranslateNId aContextSingularPlural, int n, const std::locale &loc) { //if it's a key id locale, generate it here @@ -358,14 +268,44 @@ namespace Translate bool TranslateId::operator==(const TranslateId& other) const { - return strcmp(mpContext, other.mpContext) == 0 && strcmp(mpId,other.mpId) == 0; + if (mpContext == nullptr || other.mpContext == nullptr) + { + if (mpContext != other.mpContext) + return false; + } + else if (strcmp(mpContext, other.mpContext) != 0) + return false; + + if (mpId == nullptr || other.mpId == nullptr) + { + return mpId == other.mpId; + } + return strcmp(mpId,other.mpId) == 0; } bool TranslateNId::operator==(const TranslateNId& other) const { - return strcmp(mpContext, other.mpContext) == 0 - && strcmp(mpSingular, other.mpSingular) == 0 - && strcmp(mpPlural, other.mpPlural) == 0; + if (mpContext == nullptr || other.mpContext == nullptr) + { + if (mpContext != other.mpContext) + return false; + } + else if (strcmp(mpContext, other.mpContext) != 0) + return false; + + if (mpSingular == nullptr || other.mpSingular == nullptr) + { + if (mpSingular != other.mpSingular) + return false; + } + else if (strcmp(mpSingular, other.mpSingular) != 0) + return false; + + if (mpPlural == nullptr || other.mpPlural == nullptr) + { + return mpPlural == other.mpPlural; + } + return strcmp(mpPlural,other.mpPlural) == 0; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/uui/inc/ids.hrc b/uui/inc/ids.hrc index 6ab1882b3611..89fb6bda1dcb 100644 --- a/uui/inc/ids.hrc +++ b/uui/inc/ids.hrc @@ -25,9 +25,9 @@ #include "ids.hxx" -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) -const std::pair<const char*, ErrCode> RID_UUI_ERRHDL[] = +const std::pair<TranslateId, ErrCode> RID_UUI_ERRHDL[] = { { NC_("RID_UUI_ERRHDL", "The operation executed on $(ARG1) was aborted."), ERRCODE_UUI_IO_ABORT }, @@ -159,7 +159,7 @@ const std::pair<const char*, ErrCode> RID_UUI_ERRHDL[] = ERRCODE_UUI_LOCKING_LOCK_EXPIRED }, { NC_("RID_UUI_ERRHDL", "Component cannot be loaded, possibly broken or incomplete installation.\nFull error message:\n\n $(ARG1)."), ERRCODE_UUI_CANNOT_ACTIVATE_FACTORY }, - { nullptr, ERRCODE_NONE } + { {}, ERRCODE_NONE } }; #define STR_UUI_UNKNOWNAUTH_UNTRUSTED NC_("STR_UUI_UNKNOWNAUTH_UNTRUSTED", "Unable to verify the identity of $(ARG1) site.\n\nBefore accepting this certificate, you should examine this site's certificate carefully. Are you willing to accept this certificate for the purpose of identifying the Web site $(ARG1)?") diff --git a/uui/inc/strings.hrc b/uui/inc/strings.hrc index 096d7ef977a1..8eaa68cb23f6 100644 --- a/uui/inc/strings.hrc +++ b/uui/inc/strings.hrc @@ -19,7 +19,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define STR_ENTER_PASSWORD_TO_OPEN NC_("STR_ENTER_PASSWORD_TO_OPEN", "Enter password to open file: \n") #define STR_ENTER_PASSWORD_TO_MODIFY NC_("STR_ENTER_PASSWORD_TO_MODIFY", "Enter password to modify file: \n") diff --git a/uui/source/iahndl-ssl.cxx b/uui/source/iahndl-ssl.cxx index df156bc44e3a..b0bdbb98eb38 100644 --- a/uui/source/iahndl-ssl.cxx +++ b/uui/source/iahndl-ssl.cxx @@ -176,8 +176,8 @@ executeSSLWarnDialog( // Get correct resource string std::vector< OUString > aArguments_1; - char const * pMessageKey = nullptr; - char const * pTitleKey = nullptr; + TranslateId pMessageKey; + TranslateId pTitleKey; switch( failure ) { diff --git a/uui/source/iahndl.cxx b/uui/source/iahndl.cxx index 2897a582c3e9..2c6465c9e0ff 100644 --- a/uui/source/iahndl.cxx +++ b/uui/source/iahndl.cxx @@ -1246,7 +1246,7 @@ UUIInteractionHelper::handleBrokenPackageRequest( // ErrorResource Implementation bool ErrorResource::getString(ErrCode nErrorCode, OUString &rString) const { - for (const std::pair<const char*, ErrCode>* pStringArray = m_pStringArray; pStringArray->first != nullptr; ++pStringArray) + for (const std::pair<TranslateId, ErrCode>* pStringArray = m_pStringArray; pStringArray->first; ++pStringArray) { if (nErrorCode.StripWarningAndDynamic() == pStringArray->second.StripWarningAndDynamic()) { diff --git a/uui/source/iahndl.hxx b/uui/source/iahndl.hxx index 8dc828a7dd5f..5a8227b990a5 100644 --- a/uui/source/iahndl.hxx +++ b/uui/source/iahndl.hxx @@ -29,6 +29,7 @@ #include <com/sun/star/task/InteractionClassification.hpp> #include <vcl/errcode.hxx> +#include <unotools/resmgr.hxx> #include <unordered_map> #include <vector> @@ -251,10 +252,10 @@ private: class ErrorResource { - const std::pair<const char*, ErrCode>* m_pStringArray; + const std::pair<TranslateId, ErrCode>* m_pStringArray; const std::locale& m_rResLocale; public: - explicit ErrorResource(const std::pair<const char*, ErrCode>* pStringArray, const std::locale& rResLocale) + explicit ErrorResource(const std::pair<TranslateId, ErrCode>* pStringArray, const std::locale& rResLocale) : m_pStringArray(pStringArray) , m_rResLocale(rResLocale) { diff --git a/uui/source/passworddlg.cxx b/uui/source/passworddlg.cxx index 694e717216b1..fb4c95e623f6 100644 --- a/uui/source/passworddlg.cxx +++ b/uui/source/passworddlg.cxx @@ -46,8 +46,8 @@ PasswordDialog::PasswordDialog(weld::Window* pParent, if( nDialogMode == task::PasswordRequestMode_PASSWORD_REENTER ) { - const char* pOpenToModifyErrStrId = bOpenToModify ? STR_ERROR_PASSWORD_TO_MODIFY_WRONG : STR_ERROR_PASSWORD_TO_OPEN_WRONG; - const char* pErrStrId = bIsSimplePasswordRequest ? STR_ERROR_SIMPLE_PASSWORD_WRONG : pOpenToModifyErrStrId; + TranslateId pOpenToModifyErrStrId = bOpenToModify ? STR_ERROR_PASSWORD_TO_MODIFY_WRONG : STR_ERROR_PASSWORD_TO_OPEN_WRONG; + TranslateId pErrStrId = bIsSimplePasswordRequest ? STR_ERROR_SIMPLE_PASSWORD_WRONG : pOpenToModifyErrStrId; OUString aErrorMsg(Translate::get(pErrStrId, rResLocale)); std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pParent, VclMessageType::Warning, VclButtonsType::Ok, aErrorMsg)); @@ -76,7 +76,7 @@ PasswordDialog::PasswordDialog(weld::Window* pParent, m_xDialog->set_title(aTitle); - const char* pStrId = bOpenToModify ? STR_ENTER_PASSWORD_TO_MODIFY : STR_ENTER_PASSWORD_TO_OPEN; + TranslateId pStrId = bOpenToModify ? STR_ENTER_PASSWORD_TO_MODIFY : STR_ENTER_PASSWORD_TO_OPEN; OUString aMessage(Translate::get(pStrId, rResLocale)); INetURLObject url(aDocURL); diff --git a/writerperfect/inc/WPFTResMgr.hxx b/writerperfect/inc/WPFTResMgr.hxx index f1825f87b781..5780dd30ff6f 100644 --- a/writerperfect/inc/WPFTResMgr.hxx +++ b/writerperfect/inc/WPFTResMgr.hxx @@ -4,9 +4,6 @@ #include <unotools/resmgr.hxx> -inline OUString WpResId(std::string_view aId) -{ - return Translate::get(aId, Translate::Create("wpt")); -} +inline OUString WpResId(TranslateId aId) { return Translate::get(aId, Translate::Create("wpt")); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerperfect/inc/strings.hrc b/writerperfect/inc/strings.hrc index 822d4e129957..a9373d23731e 100644 --- a/writerperfect/inc/strings.hrc +++ b/writerperfect/inc/strings.hrc @@ -9,7 +9,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define STR_ENCODING_DIALOG_TITLE NC_("STR_ENCODING_DIALOG_TITLE", "Import file") #define STR_ENCODING_DIALOG_TITLE_MSMULTIPLAN NC_("STR_ENCODING_DIALOG_TITLE_MSMULTIPLAN", "Import MS Multiplan for DOS file") diff --git a/xmlsecurity/inc/certificatechooser.hxx b/xmlsecurity/inc/certificatechooser.hxx index fd943fbd4a81..9ced0ac39a64 100644 --- a/xmlsecurity/inc/certificatechooser.hxx +++ b/xmlsecurity/inc/certificatechooser.hxx @@ -21,6 +21,7 @@ #include <com/sun/star/uno/Sequence.hxx> #include <vcl/weld.hxx> +#include <unotools/resmgr.hxx> namespace com::sun::star { namespace security { class XCertificate; } @@ -71,7 +72,7 @@ private: void ImplShowCertificateDetails(); void ImplInitialize(); - static void HandleOneUsageBit(OUString& string, int& bits, int bit, const char *name); + static void HandleOneUsageBit(OUString& string, int& bits, int bit, TranslateId name); public: CertificateChooser(weld::Window* pParent, diff --git a/xmlsecurity/inc/resourcemanager.hxx b/xmlsecurity/inc/resourcemanager.hxx index 2999d5fd44ff..1dc5b2987484 100644 --- a/xmlsecurity/inc/resourcemanager.hxx +++ b/xmlsecurity/inc/resourcemanager.hxx @@ -21,9 +21,6 @@ #include <unotools/resmgr.hxx> -inline OUString XsResId(std::string_view aId) -{ - return Translate::get(aId, Translate::Create("xsc")); -} +inline OUString XsResId(TranslateId aId) { return Translate::get(aId, Translate::Create("xsc")); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmlsecurity/inc/strings.hrc b/xmlsecurity/inc/strings.hrc index 648758825054..8cf89b211773 100644 --- a/xmlsecurity/inc/strings.hrc +++ b/xmlsecurity/inc/strings.hrc @@ -19,7 +19,7 @@ #pragma once -#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) +#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String)) #define STR_CERTIFICATE_NOT_VALIDATED NC_("STR_CERTIFICATE_NOT_VALIDATED", "The certificate could not be validated.") #define STR_VERSION NC_("STR_VERSION", "Version") diff --git a/xmlsecurity/source/dialogs/certificatechooser.cxx b/xmlsecurity/source/dialogs/certificatechooser.cxx index 1483b9bda0f8..fb2f7a578254 100644 --- a/xmlsecurity/source/dialogs/certificatechooser.cxx +++ b/xmlsecurity/source/dialogs/certificatechooser.cxx @@ -95,7 +95,7 @@ short CertificateChooser::run() return GenericDialogController::run(); } -void CertificateChooser::HandleOneUsageBit(OUString& string, int& bits, int bit, const char *pResId) +void CertificateChooser::HandleOneUsageBit(OUString& string, int& bits, int bit, TranslateId pResId) { if (bits & bit) { |