accessibility/inc/strings.hrc                 |    2 +-
 avmedia/inc/strings.hrc                       |    2 +-
 basctl/inc/strings.hrc                        |    2 +-
 basic/inc/basic.hrc                           |    2 +-
 basic/inc/strings.hrc                         |    2 +-
 chart2/inc/chart.hrc                          |    2 +-
 chart2/inc/strings.hrc                        |    2 +-
 connectivity/inc/strings.hrc                  |    2 +-
 cui/inc/numcategories.hrc                     |    2 +-
 cui/inc/strings.hrc                           |    2 +-
 cui/inc/tipoftheday.hrc                       |    2 +-
 cui/inc/toolbarmode.hrc                       |    2 +-
 cui/inc/treeopt.hrc                           |    2 +-
 cui/inc/twolines.hrc                          |    2 +-
 dbaccess/inc/query.hrc                        |    2 +-
 dbaccess/inc/strings.hrc                      |    2 +-
 dbaccess/inc/templwin.hrc                     |    2 +-
 dbaccess/source/ui/app/AppIconControl.cxx     |    2 +-
 desktop/inc/strings.hrc                       |    2 +-
 editeng/inc/strings.hrc                       |    2 +-
 embeddedobj/source/inc/strings.hrc            |    2 +-
 extensions/inc/command.hrc                    |    2 +-
 extensions/inc/showhide.hrc                   |    2 +-
 extensions/inc/stringarrays.hrc               |    2 +-
 extensions/inc/strings.hrc                    |    2 +-
 extensions/inc/yesno.hrc                      |    2 +-
 filter/inc/strings.hrc                        |    2 +-
 forms/inc/strings.hrc                         |    2 +-
 formula/inc/core_resource.hrc                 |    2 +-
 formula/inc/strings.hrc                       |    2 +-
 fpicker/inc/strings.hrc                       |    2 +-
 framework/inc/strings.hrc                     |    2 +-
 include/editeng/editrids.hrc                  |    2 +-
 include/fpicker/strings.hrc                   |    2 +-
 include/sfx2/strings.hrc                      |    2 +-
 include/svl/svl.hrc                           |    2 +-
 include/svtools/strings.hrc                   |    2 +-
 include/svx/strings.hrc                       |    2 +-
 include/svx/svxitems.hrc                      |    2 +-
 include/unotools/resmgr.hxx                   |    8 ++++++--
 oox/inc/strings.hrc                           |    2 +-
 reportdesign/inc/stringarray.hrc              |    2 +-
 reportdesign/inc/strings.hrc                  |    2 +-
 sc/inc/compiler.hrc                           |    2 +-
 sc/inc/globstr.hrc                            |    2 +-
 sc/inc/pvfundlg.hrc                           |    2 +-
 sc/inc/scerrors.hrc                           |    2 +-
 sc/inc/scfuncs.hrc                            |    2 +-
 sc/inc/scstyles.hrc                           |    2 +-
 sc/inc/strings.hrc                            |    2 +-
 sc/inc/subtotals.hrc                          |    2 +-
 sc/inc/units.hrc                              |    2 +-
 scaddins/inc/analysis.hrc                     |    2 +-
 scaddins/inc/datefunc.hrc                     |    2 +-
 scaddins/inc/pricing.hrc                      |    2 +-
 scaddins/inc/strings.hrc                      |    2 +-
 sccomp/inc/strings.hrc                        |    2 +-
 sd/inc/DocumentRenderer.hrc                   |    2 +-
 sd/inc/errhdl.hrc                             |    2 +-
 sd/inc/family.hrc                             |    2 +-
 sd/inc/pageformatpanel.hrc                    |    2 +-
 sd/inc/strings.hrc                            |    2 +-
 sfx2/inc/dinfdlg.hrc                          |    2 +-
 sfx2/inc/doctempl.hrc                         |    2 +-
 sfx2/source/devtools/DevToolsStrings.hrc      |    2 +-
 shell/inc/spsupp/spsuppStrings.hrc            |    2 +-
 starmath/inc/smmod.hrc                        |    2 +-
 starmath/inc/strings.hrc                      |    2 +-
 starmath/source/smmod.cxx                     |    8 ++++----
 svtools/inc/borderline.hrc                    |    2 +-
 svtools/inc/errtxt.hrc                        |    2 +-
 svtools/inc/langtab.hrc                       |    2 +-
 svx/inc/fieldunit.hrc                         |    2 +-
 svx/inc/fmstring.hrc                          |    2 +-
 svx/inc/formnavi.hrc                          |    2 +-
 svx/inc/frmsel.hrc                            |    2 +-
 svx/inc/inspectorvalues.hrc                   |    2 +-
 svx/inc/numberingtype.hrc                     |    2 +-
 svx/inc/rotationstrings.hrc                   |    2 +-
 svx/inc/samecontent.hrc                       |    2 +-
 svx/inc/spacing.hrc                           |    2 +-
 svx/inc/svxerr.hrc                            |    2 +-
 svx/inc/swframeposstrings.hrc                 |    2 +-
 svx/inc/tabwin.hrc                            |    2 +-
 svx/inc/txenctab.hrc                          |    2 +-
 svx/source/dialog/page.hrc                    |    2 +-
 svx/source/items/algitem.cxx                  |    2 +-
 svx/source/sidebar/nbdtmg.cxx                 |    4 ++--
 sw/inc/AccessibilityCheckStrings.hrc          |    2 +-
 sw/inc/IDocumentSettingAccess.hxx             |    1 +
 sw/inc/app.hrc                                |    2 +-
 sw/inc/cnttab.hrc                             |    2 +-
 sw/inc/dbui.hrc                               |    2 +-
 sw/inc/error.hrc                              |    2 +-
 sw/inc/flddinf.hrc                            |    2 +-
 sw/inc/fldref.hrc                             |    2 +-
 sw/inc/inspectorproperties.hrc                |    2 +-
 sw/inc/mmaddressblockpage.hrc                 |    2 +-
 sw/inc/optload.hrc                            |    2 +-
 sw/inc/outline.hrc                            |    2 +-
 sw/inc/pageformatpanel.hrc                    |    2 +-
 sw/inc/strings.hrc                            |    2 +-
 sw/inc/utlui.hrc                              |    2 +-
 sw/qa/uibase/uno/uno.cxx                      |   26 ++++++++++++++++++++++++++
 sw/source/core/doc/DocumentSettingManager.cxx |   11 +++++++++++
 sw/source/core/inc/DocumentSettingManager.hxx |    1 +
 sw/source/filter/xml/xmlexp.cxx               |    1 +
 sw/source/filter/xml/xmlimp.cxx               |   10 ++++++++++
 sw/source/uibase/uno/SwXDocumentSettings.cxx  |   18 ++++++++++++++++++
 unotools/source/i18n/resmgr.cxx               |   10 +++++-----
 uui/inc/ids.hrc                               |    2 +-
 uui/inc/strings.hrc                           |    2 +-
 vcl/inc/font/OpenTypeFeatureStrings.hrc       |    2 +-
 vcl/inc/print.hrc                             |    2 +-
 vcl/inc/printaccessoryview.hrc                |    2 +-
 vcl/inc/strings.hrc                           |    2 +-
 vcl/inc/units.hrc                             |    2 +-
 vcl/source/app/svdata.cxx                     |    2 +-
 writerperfect/inc/strings.hrc                 |    2 +-
 xmlsecurity/inc/strings.hrc                   |    2 +-
 120 files changed, 194 insertions(+), 122 deletions(-)

New commits:
commit 5b9249e950165015ba57cc2c0503381df9751bf6
Author:     Miklos Vajna <vmik...@collabora.com>
AuthorDate: Thu Oct 12 08:34:33 2023 +0200
Commit:     Miklos Vajna <vmik...@collabora.com>
CommitDate: Thu Oct 12 18:50:00 2023 +0200

    sw floattable: add an AllowTextAfterFloatingTableBreak compat flag
    
    Word and Writer normally only wrap the anchor text around the split fly
    frame on the last page, but as
    <https://bugs.documentfoundation.org/show_bug.cgi?id=61594#c33> points
    out, Word has an allowTextAfterFloatingTableBreak compat flag that
    allows wrapping on all pages.
    
    Map this to a Writer compat flag for now, which affects all floating
    tables in the document. The mailing list thread at
    
<https://lists.freedesktop.org/archives/libreoffice/2023-July/thread.html#90670>
    suggests that possibly there will be demand to control this on a
    per-frame level: that's not something Word supports, but we could do an
    OR of the two settings in the future if wanted.
    
    This is just the compat flag itself, layout still has to actually handle
    it.
    
    This compat flag is probably quite rare, so only write it to documents
    if it's true (the default is false).
    
    Change-Id: Ibc431f7dc11710926c115d8e03f760b7f0784304
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157855
    Reviewed-by: Miklos Vajna <vmik...@collabora.com>
    Tested-by: Jenkins

diff --git a/sw/inc/IDocumentSettingAccess.hxx 
b/sw/inc/IDocumentSettingAccess.hxx
index f14ffb543b30..8e5e3a587997 100644
--- a/sw/inc/IDocumentSettingAccess.hxx
+++ b/sw/inc/IDocumentSettingAccess.hxx
@@ -93,6 +93,7 @@ enum class DocumentSettingId
     AUTO_FIRST_LINE_INDENT_DISREGARD_LINE_SPACE,
     HYPHENATE_URLS, ///< tdf#152952
     DO_NOT_BREAK_WRAPPED_TABLES,
+    ALLOW_TEXT_AFTER_FLOATING_TABLE_BREAK,
     // COMPATIBILITY FLAGS END
     BROWSE_MODE,
     HTML_MODE,
diff --git a/sw/qa/uibase/uno/uno.cxx b/sw/qa/uibase/uno/uno.cxx
index dd74cd716ea3..3d7a473d7660 100644
--- a/sw/qa/uibase/uno/uno.cxx
+++ b/sw/qa/uibase/uno/uno.cxx
@@ -534,6 +534,32 @@ CPPUNIT_TEST_FIXTURE(SwUibaseUnoTest, 
testDoNotBreakWrappedTables)
     CPPUNIT_ASSERT(bDoNotBreakWrappedTables);
 }
 
+CPPUNIT_TEST_FIXTURE(SwUibaseUnoTest, testAllowTextAfterFloatingTableBreak)
+{
+    // Given an empty document:
+    createSwDoc();
+
+    // When checking the state of the AllowTextAfterFloatingTableBreak compat 
flag:
+    uno::Reference<lang::XMultiServiceFactory> xDocument(mxComponent, 
uno::UNO_QUERY);
+    uno::Reference<beans::XPropertySet> xSettings(
+        xDocument->createInstance("com.sun.star.document.Settings"), 
uno::UNO_QUERY);
+    bool bAllowTextAfterFloatingTableBreak{};
+    // Without the accompanying fix in place, this test would have failed with:
+    // An uncaught exception of type 
com.sun.star.beans.UnknownPropertyException
+    // i.e. the compat flag was not recognized.
+    xSettings->getPropertyValue("AllowTextAfterFloatingTableBreak")
+        >>= bAllowTextAfterFloatingTableBreak;
+    // Then make sure it's false by default:
+    CPPUNIT_ASSERT(!bAllowTextAfterFloatingTableBreak);
+
+    // And when setting AllowTextAfterFloatingTableBreak=true:
+    xSettings->setPropertyValue("AllowTextAfterFloatingTableBreak", 
uno::Any(true));
+    // Then make sure it gets enabled:
+    xSettings->getPropertyValue("AllowTextAfterFloatingTableBreak")
+        >>= bAllowTextAfterFloatingTableBreak;
+    CPPUNIT_ASSERT(bAllowTextAfterFloatingTableBreak);
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/doc/DocumentSettingManager.cxx 
b/sw/source/core/doc/DocumentSettingManager.cxx
index 5610f2a1f801..53bd26fa9d08 100644
--- a/sw/source/core/doc/DocumentSettingManager.cxx
+++ b/sw/source/core/doc/DocumentSettingManager.cxx
@@ -253,6 +253,8 @@ bool sw::DocumentSettingManager::get(/*[in]*/ 
DocumentSettingId id) const
         case DocumentSettingId::HYPHENATE_URLS: return mbHyphenateURLs;
         case DocumentSettingId::DO_NOT_BREAK_WRAPPED_TABLES:
             return mbDoNotBreakWrappedTables;
+        case DocumentSettingId::ALLOW_TEXT_AFTER_FLOATING_TABLE_BREAK:
+            return mbAllowTextAfterFloatingTableBreak;
         case DocumentSettingId::NO_NUMBERING_SHOW_FOLLOWBY: return 
mbNoNumberingShowFollowBy;
         case DocumentSettingId::DROP_CAP_PUNCTUATION: return 
mbDropCapPunctuation;
         case DocumentSettingId::USE_VARIABLE_WIDTH_NBSP: return 
mbUseVariableWidthNBSP;
@@ -442,6 +444,10 @@ void sw::DocumentSettingManager::set(/*[in]*/ 
DocumentSettingId id, /*[in]*/ boo
             mbDoNotBreakWrappedTables = value;
             break;
 
+        case DocumentSettingId::ALLOW_TEXT_AFTER_FLOATING_TABLE_BREAK:
+            mbAllowTextAfterFloatingTableBreak = value;
+            break;
+
         case DocumentSettingId::NO_NUMBERING_SHOW_FOLLOWBY:
             mbNoNumberingShowFollowBy = value;
             break;
@@ -1066,6 +1072,11 @@ void 
sw::DocumentSettingManager::dumpAsXml(xmlTextWriterPtr pWriter) const
                                 
BAD_CAST(OString::boolean(mbDoNotBreakWrappedTables).getStr()));
     (void)xmlTextWriterEndElement(pWriter);
 
+    (void)xmlTextWriterStartElement(pWriter, 
BAD_CAST("mbAllowTextAfterFloatingTableBreak"));
+    (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("value"),
+                                
BAD_CAST(OString::boolean(mbAllowTextAfterFloatingTableBreak).getStr()));
+    (void)xmlTextWriterEndElement(pWriter);
+
     (void)xmlTextWriterStartElement(pWriter, BAD_CAST("mnImagePreferredDPI"));
     (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("value"),
                                 
BAD_CAST(OString::number(mnImagePreferredDPI).getStr()));
diff --git a/sw/source/core/inc/DocumentSettingManager.hxx 
b/sw/source/core/inc/DocumentSettingManager.hxx
index 1a6fdf6f4bf6..d03706f70d9a 100644
--- a/sw/source/core/inc/DocumentSettingManager.hxx
+++ b/sw/source/core/inc/DocumentSettingManager.hxx
@@ -176,6 +176,7 @@ class DocumentSettingManager final :
     bool mbAutoFirstLineIndentDisregardLineSpace;
     bool mbHyphenateURLs = false;
     bool mbDoNotBreakWrappedTables = false;
+    bool mbAllowTextAfterFloatingTableBreak = false;
     // If this is on as_char flys wrapping will be handled the same like in 
Word
     bool mbNoNumberingShowFollowBy;
     bool mbDropCapPunctuation; // tdf#150200, tdf#150438
diff --git a/sw/source/filter/xml/xmlexp.cxx b/sw/source/filter/xml/xmlexp.cxx
index d0148ac4ace3..ae131a26f792 100644
--- a/sw/source/filter/xml/xmlexp.cxx
+++ b/sw/source/filter/xml/xmlexp.cxx
@@ -396,6 +396,7 @@ void SwXMLExport::GetConfigurationSettings( Sequence < 
PropertyValue >& rProps)
 
     static const std::initializer_list<std::u16string_view> vOmitFalseValues = 
{
         u"DoNotBreakWrappedTables",
+        u"AllowTextAfterFloatingTableBreak",
     };
     SvXMLUnitConverter::convertPropertySet( rProps, xProps, &vOmitFalseValues 
);
 
diff --git a/sw/source/filter/xml/xmlimp.cxx b/sw/source/filter/xml/xmlimp.cxx
index 8e5362451052..3b37d1cf76a0 100644
--- a/sw/source/filter/xml/xmlimp.cxx
+++ b/sw/source/filter/xml/xmlimp.cxx
@@ -1303,6 +1303,7 @@ void SwXMLImport::SetConfigurationSettings(const Sequence 
< PropertyValue > & aC
     bool bAutoFirstLineIndentDisregardLineSpace = false;
     bool bHyphenateURLs = false;
     bool bDoNotBreakWrappedTables = false;
+    bool bAllowTextAfterFloatingTableBreak = false;
     bool bDropCapPunctuation = false;
 
     const PropertyValue* currentDatabaseDataSource = nullptr;
@@ -1405,6 +1406,10 @@ void SwXMLImport::SetConfigurationSettings(const 
Sequence < PropertyValue > & aC
                 {
                     rValue.Value >>= bDoNotBreakWrappedTables;
                 }
+                else if (rValue.Name == "AllowTextAfterFloatingTableBreak")
+                {
+                    rValue.Value >>= bAllowTextAfterFloatingTableBreak;
+                }
                 else if ( rValue.Name == "DropCapPunctuation" )
                     bDropCapPunctuation = true;
             }
@@ -1579,6 +1584,11 @@ void SwXMLImport::SetConfigurationSettings(const 
Sequence < PropertyValue > & aC
         xProps->setPropertyValue("DoNotBreakWrappedTables", Any(true));
     }
 
+    if (bAllowTextAfterFloatingTableBreak)
+    {
+        xProps->setPropertyValue("AllowTextAfterFloatingTableBreak", 
Any(true));
+    }
+
     // LO 7.4 and previous versions had different drop cap punctuation: very 
long dashes.
     // In order to keep backwards compatibility, DropCapPunctuation option is 
written to .odt
     // files, and the default for new documents is 'true'. Files without this 
option
diff --git a/sw/source/uibase/uno/SwXDocumentSettings.cxx 
b/sw/source/uibase/uno/SwXDocumentSettings.cxx
index d544848ca597..3071f0cf6ee4 100644
--- a/sw/source/uibase/uno/SwXDocumentSettings.cxx
+++ b/sw/source/uibase/uno/SwXDocumentSettings.cxx
@@ -154,6 +154,7 @@ enum SwDocumentSettingsPropertyHandles
     HANDLE_AUTO_FIRST_LINE_INDENT_DISREGARD_LINE_SPACE,
     HANDLE_HYPHENATE_URLS,
     HANDLE_DO_NOT_BREAK_WRAPPED_TABLES,
+    HANDLE_ALLOW_TEXT_AFTER_FLOATING_TABLE_BREAK,
     HANDLE_NO_NUMBERING_SHOW_FOLLOWBY,
     HANDLE_DROP_CAP_PUNCTUATION,
     HANDLE_USE_VARIABLE_WIDTH_NBSP,
@@ -257,6 +258,7 @@ static rtl::Reference<MasterPropertySetInfo> 
lcl_createSettingsInfo()
         { OUString("AutoFirstLineIndentDisregardLineSpace"), 
HANDLE_AUTO_FIRST_LINE_INDENT_DISREGARD_LINE_SPACE, cppu::UnoType<bool>::get(), 
0 },
         { OUString("HyphenateURLs"), HANDLE_HYPHENATE_URLS, 
cppu::UnoType<bool>::get(), 0 },
         { OUString("DoNotBreakWrappedTables"), 
HANDLE_DO_NOT_BREAK_WRAPPED_TABLES, cppu::UnoType<bool>::get(), 0 },
+        { OUString("AllowTextAfterFloatingTableBreak"), 
HANDLE_ALLOW_TEXT_AFTER_FLOATING_TABLE_BREAK, cppu::UnoType<bool>::get(), 0 },
         { OUString("NoNumberingShowFollowBy"), 
HANDLE_NO_NUMBERING_SHOW_FOLLOWBY, cppu::UnoType<bool>::get(), 0 },
         { OUString("DropCapPunctuation"), HANDLE_DROP_CAP_PUNCTUATION, 
cppu::UnoType<bool>::get(), 0 },
         { OUString("UseVariableWidthNBSP"), HANDLE_USE_VARIABLE_WIDTH_NBSP, 
cppu::UnoType<bool>::get(), 0 },
@@ -1080,6 +1082,16 @@ void SwXDocumentSettings::_setSingleValue( const 
comphelper::PropertyInfo & rInf
             }
         }
         break;
+        case HANDLE_ALLOW_TEXT_AFTER_FLOATING_TABLE_BREAK:
+        {
+            bool bTmp;
+            if (rValue >>= bTmp)
+            {
+                mpDoc->getIDocumentSettingAccess().set(
+                    DocumentSettingId::ALLOW_TEXT_AFTER_FLOATING_TABLE_BREAK, 
bTmp);
+            }
+        }
+        break;
         case HANDLE_NO_NUMBERING_SHOW_FOLLOWBY:
         {
             bool bTmp;
@@ -1638,6 +1650,12 @@ void SwXDocumentSettings::_getSingleValue( const 
comphelper::PropertyInfo & rInf
                 DocumentSettingId::DO_NOT_BREAK_WRAPPED_TABLES);
         }
         break;
+        case HANDLE_ALLOW_TEXT_AFTER_FLOATING_TABLE_BREAK:
+        {
+            rValue <<= mpDoc->getIDocumentSettingAccess().get(
+                DocumentSettingId::ALLOW_TEXT_AFTER_FLOATING_TABLE_BREAK);
+        }
+        break;
         case HANDLE_NO_NUMBERING_SHOW_FOLLOWBY:
         {
             rValue <<= mpDoc->getIDocumentSettingAccess().get(
commit dcea29c283680c8e75e4890f46b1624d0a55846f
Author:     Stephan Bergmann <sberg...@redhat.com>
AuthorDate: Thu Oct 12 11:17:11 2023 +0200
Commit:     Stephan Bergmann <sberg...@redhat.com>
CommitDate: Thu Oct 12 18:17:49 2023 +0200

    Make NC_ constexpr-friendly
    
    ...by moving the char8_t -> char reinterpret_cast out of any potential 
constexpr
    paths into a new TranslateId::getId.  And demonstrate constexpr'ability by
    making the aCategories var in OApplicationIconControl::Fill
    (dbaccess/source/ui/app/AppIconControl.cxx) constexpr.  (And there might be 
more
    such cases that could now be made constexpr.)
    
    Change-Id: I0b4e3292faf8f6b901f9b9e934e1aa6bf0f583ff
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157862
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sberg...@redhat.com>

diff --git a/accessibility/inc/strings.hrc b/accessibility/inc/strings.hrc
index c9949dd4357d..7e51ade2d46d 100644
--- a/accessibility/inc/strings.hrc
+++ b/accessibility/inc/strings.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define RID_STR_ACC_NAME_BROWSEBUTTON           
NC_("RID_STR_ACC_NAME_BROWSEBUTTON", "Browse")
 #define STR_SVT_ACC_ACTION_EXPAND               
NC_("STR_SVT_ACC_ACTION_EXPAND", "Expand" )
diff --git a/avmedia/inc/strings.hrc b/avmedia/inc/strings.hrc
index f9f52fa3a45c..1edbe24a00f4 100644
--- a/avmedia/inc/strings.hrc
+++ b/avmedia/inc/strings.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define AVMEDIA_STR_ZOOM_50         NC_("AVMEDIA_STR_ZOOM_50", "50%")
 #define AVMEDIA_STR_ZOOM_100        NC_("AVMEDIA_STR_ZOOM_100", "100%")
diff --git a/basctl/inc/strings.hrc b/basctl/inc/strings.hrc
index 601a58234552..324b6ba1d44b 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) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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/basic/inc/basic.hrc b/basic/inc/basic.hrc
index 7a2c8d7de9f6..6245a5d76d30 100644
--- a/basic/inc/basic.hrc
+++ b/basic/inc/basic.hrc
@@ -25,7 +25,7 @@
 
 #include <utility>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 std::pair<TranslateId, ErrCode> const RID_BASIC_START[] =
 {
diff --git a/basic/inc/strings.hrc b/basic/inc/strings.hrc
index 64b65db342cc..53a8da5c40fd 100644
--- a/basic/inc/strings.hrc
+++ b/basic/inc/strings.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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/chart2/inc/chart.hrc b/chart2/inc/chart.hrc
index b1e0024fb7cc..b8b6a7e8b245 100644
--- a/chart2/inc/chart.hrc
+++ b/chart2/inc/chart.hrc
@@ -11,7 +11,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId CHART_TYPE[] =
 {
diff --git a/chart2/inc/strings.hrc b/chart2/inc/strings.hrc
index a60da15e0004..8c22e850b9c2 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) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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/connectivity/inc/strings.hrc b/connectivity/inc/strings.hrc
index 6cf594809439..873623bba05d 100644
--- a/connectivity/inc/strings.hrc
+++ b/connectivity/inc/strings.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 // = common strings
 #define STR_NO_CONNECTION_GIVEN                 NC_("STR_NO_CONNECTION_GIVEN", 
"No connection to the database exists.")
diff --git a/cui/inc/numcategories.hrc b/cui/inc/numcategories.hrc
index 40370cc65811..58f2a1d9d79b 100644
--- a/cui/inc/numcategories.hrc
+++ b/cui/inc/numcategories.hrc
@@ -11,7 +11,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId NUM_CATEGORIES[] =
 {
diff --git a/cui/inc/strings.hrc b/cui/inc/strings.hrc
index 66a9957b7698..f5252694459c 100644
--- a/cui/inc/strings.hrc
+++ b/cui/inc/strings.hrc
@@ -18,7 +18,7 @@
  */
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define RID_CUISTR_KEY_WORK_PATH                    
NC_("RID_SVXSTR_KEY_WORK_PATH", "My Documents")
 #define RID_CUISTR_KEY_GRAPHICS_PATH                
NC_("RID_SVXSTR_KEY_GRAPHICS_PATH", "Images")
diff --git a/cui/inc/tipoftheday.hrc b/cui/inc/tipoftheday.hrc
index a1c45dae45b6..7f1dca4441d9 100644
--- a/cui/inc/tipoftheday.hrc
+++ b/cui/inc/tipoftheday.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #include <rtl/ustring.hxx>
 #include <config_python.h>
diff --git a/cui/inc/toolbarmode.hrc b/cui/inc/toolbarmode.hrc
index d073eaaf996a..1891795b93cf 100644
--- a/cui/inc/toolbarmode.hrc
+++ b/cui/inc/toolbarmode.hrc
@@ -9,7 +9,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #include <rtl/ustring.hxx>
 #include <tuple>
diff --git a/cui/inc/treeopt.hrc b/cui/inc/treeopt.hrc
index cdd7b582da89..27b7998c8c2d 100644
--- a/cui/inc/treeopt.hrc
+++ b/cui/inc/treeopt.hrc
@@ -27,7 +27,7 @@
 
 #include <utility>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const std::pair<TranslateId, sal_uInt16> SID_GENERAL_OPTIONS_RES[] =
 {
diff --git a/cui/inc/twolines.hrc b/cui/inc/twolines.hrc
index 659efa838cd7..2c338d8f0e65 100644
--- a/cui/inc/twolines.hrc
+++ b/cui/inc/twolines.hrc
@@ -14,7 +14,7 @@
 
 #include <utility>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define CHRDLG_ENCLOSE_NONE                 0
 #define CHRDLG_ENCLOSE_ROUND                1
diff --git a/dbaccess/inc/query.hrc b/dbaccess/inc/query.hrc
index e183f777ca5f..abb8bef8d1e8 100644
--- a/dbaccess/inc/query.hrc
+++ b/dbaccess/inc/query.hrc
@@ -21,7 +21,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId RSC_QUERY_OBJECT_TYPE[] =
 {
diff --git a/dbaccess/inc/strings.hrc b/dbaccess/inc/strings.hrc
index 2db9ce75c467..0c6226ea8fee 100644
--- a/dbaccess/inc/strings.hrc
+++ b/dbaccess/inc/strings.hrc
@@ -21,7 +21,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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 052883d37926..2cc76e395245 100644
--- a/dbaccess/inc/templwin.hrc
+++ b/dbaccess/inc/templwin.hrc
@@ -22,7 +22,7 @@
 #include <utility>
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define DI_TITLE                1
 #define DI_FROM                 2
diff --git a/dbaccess/source/ui/app/AppIconControl.cxx 
b/dbaccess/source/ui/app/AppIconControl.cxx
index 1448c401584c..58d4db27da8c 100644
--- a/dbaccess/source/ui/app/AppIconControl.cxx
+++ b/dbaccess/source/ui/app/AppIconControl.cxx
@@ -69,7 +69,7 @@ 
OApplicationIconControl::OApplicationIconControl(std::unique_ptr<weld::ScrolledW
 
 void OApplicationIconControl::Fill()
 {
-    static const struct CategoryDescriptor
+    static constexpr struct CategoryDescriptor
     {
         TranslateId pLabelResId;
         ElementType eType;
diff --git a/desktop/inc/strings.hrc b/desktop/inc/strings.hrc
index f4af7ad24602..eb4e238d1a6e 100644
--- a/desktop/inc/strings.hrc
+++ b/desktop/inc/strings.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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/editeng/inc/strings.hrc b/editeng/inc/strings.hrc
index b527e390d100..d2e62c9be940 100644
--- a/editeng/inc/strings.hrc
+++ b/editeng/inc/strings.hrc
@@ -11,7 +11,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId RID_SVXITEMS_HORJUST[] =
 {
diff --git a/embeddedobj/source/inc/strings.hrc 
b/embeddedobj/source/inc/strings.hrc
index a3b323c54cf3..420d2d05d091 100644
--- a/embeddedobj/source/inc/strings.hrc
+++ b/embeddedobj/source/inc/strings.hrc
@@ -9,7 +9,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define BTN_OVERWRITE_TEXT           NC_("BTN_OVERWRITE_TEXT", "Overwrite")
 #define STR_OVERWRITE_LINK           NC_("STR_OVERWRITE_LINK", "You have made 
changes to the %{filename}, saving will overwrite the data from the inserted 
object.\n\nDo you still want to overwrite this data?")
diff --git a/extensions/inc/command.hrc b/extensions/inc/command.hrc
index ca05f1c4e732..fe77e4940847 100644
--- a/extensions/inc/command.hrc
+++ b/extensions/inc/command.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 namespace {
 
diff --git a/extensions/inc/showhide.hrc b/extensions/inc/showhide.hrc
index 226f8b48e8fd..3b5a931419a2 100644
--- a/extensions/inc/showhide.hrc
+++ b/extensions/inc/showhide.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 namespace {
 
diff --git a/extensions/inc/stringarrays.hrc b/extensions/inc/stringarrays.hrc
index e567e28fe7db..6eadf46cc42f 100644
--- a/extensions/inc/stringarrays.hrc
+++ b/extensions/inc/stringarrays.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId RID_RSC_ENUM_VERTICAL_ALIGN[] =
 {
diff --git a/extensions/inc/strings.hrc b/extensions/inc/strings.hrc
index 510afa6d671e..e124f4a635be 100644
--- a/extensions/inc/strings.hrc
+++ b/extensions/inc/strings.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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 32792bb81300..d205e604c495 100644
--- a/extensions/inc/yesno.hrc
+++ b/extensions/inc/yesno.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 namespace {
 
diff --git a/filter/inc/strings.hrc b/filter/inc/strings.hrc
index 2bcbad6e88f3..3fd833352194 100644
--- a/filter/inc/strings.hrc
+++ b/filter/inc/strings.hrc
@@ -22,7 +22,7 @@
 #include <rtl/ustring.hxx>
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 #define NNC_(Context, StringSingular, StringPlural) TranslateNId(Context, 
reinterpret_cast<char const *>(u8##StringSingular), reinterpret_cast<char const 
*>(u8##StringPlural))
 
 #define STR_UNKNOWN_APPLICATION                 NC_("STR_UNKNOWN_APPLICATION", 
"Unknown")
diff --git a/forms/inc/strings.hrc b/forms/inc/strings.hrc
index bc822b96ef55..37a3d8388370 100644
--- a/forms/inc/strings.hrc
+++ b/forms/inc/strings.hrc
@@ -21,7 +21,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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/formula/inc/core_resource.hrc b/formula/inc/core_resource.hrc
index 111fafdedc88..baed318f586e 100644
--- a/formula/inc/core_resource.hrc
+++ b/formula/inc/core_resource.hrc
@@ -23,7 +23,7 @@
 #include <utility>
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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
diff --git a/formula/inc/strings.hrc b/formula/inc/strings.hrc
index 7bdc7139799a..63551e6deb25 100644
--- a/formula/inc/strings.hrc
+++ b/formula/inc/strings.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define STR_OPTIONAL        NC_("STR_OPTIONAL", "(optional)")
 #define STR_REQUIRED        NC_("STR_REQUIRED", "(required)")
diff --git a/fpicker/inc/strings.hrc b/fpicker/inc/strings.hrc
index 042ea35c44ce..bb5f553f5067 100644
--- a/fpicker/inc/strings.hrc
+++ b/fpicker/inc/strings.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define STR_EXPLORERFILE_OPEN                       
NC_("STR_EXPLORERFILE_OPEN", "Open")
 #define STR_EXPLORERFILE_SAVE                       
NC_("STR_EXPLORERFILE_SAVE", "Save as")
diff --git a/framework/inc/strings.hrc b/framework/inc/strings.hrc
index 182c3cf120ac..086fe14a4e82 100644
--- a/framework/inc/strings.hrc
+++ b/framework/inc/strings.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define STR_MENU_HEADFOOTALL                        
NC_("STR_MENU_HEADFOOTALL", "All" )
 #define STR_UPDATEDOC                               NC_("STR_UPDATEDOC", 
"~Update" )
diff --git a/include/editeng/editrids.hrc b/include/editeng/editrids.hrc
index 582c1f71fa61..9cbe225d730e 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) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 // enum SvxBreak ------------------------------------------------------------
 #define RID_SVXITEMS_BREAK_NONE                 NC_("RID_SVXITEMS_BREAK_NONE", 
"No break")
diff --git a/include/fpicker/strings.hrc b/include/fpicker/strings.hrc
index efce3a69f9da..5ff2a07a0c0b 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) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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/strings.hrc b/include/sfx2/strings.hrc
index 82257b7efc03..451012131537 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) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define STR_TEMPLATE_FILTER                     NC_("STR_TEMPLATE_FILTER", 
"Templates")
 #define STR_SAVEDOC                             NC_("STR_SAVEDOC", "~Save")
diff --git a/include/svl/svl.hrc b/include/svl/svl.hrc
index 205227377ff3..d4210e90764a 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) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 //  Internet Media Type Presentations
 
diff --git a/include/svtools/strings.hrc b/include/svtools/strings.hrc
index 645b19b86567..3aa1e9770d66 100644
--- a/include/svtools/strings.hrc
+++ b/include/svtools/strings.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 // To translators: tdf#125447 use no mnemonic in this string
 #define STR_UNDO                                NC_("STR_UNDO", "Undo: ")
diff --git a/include/svx/strings.hrc b/include/svx/strings.hrc
index b4a04c3a2c60..8dc2aa04639e 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) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define STR_ObjNameSingulNONE                               
NC_("STR_ObjNameSingulNONE", "Drawing object")
 #define STR_ObjNamePluralNONE                               
NC_("STR_ObjNamePluralNONE", "Drawing objects")
diff --git a/include/svx/svxitems.hrc b/include/svx/svxitems.hrc
index d42194497144..af1e5aa3375b 100644
--- a/include/svx/svxitems.hrc
+++ b/include/svx/svxitems.hrc
@@ -27,7 +27,7 @@
 #include <unotools/resmgr.hxx>
 #include <utility>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const std::pair<TranslateId, sal_uInt16> RID_ATTR_NAMES[] =
 {
diff --git a/include/unotools/resmgr.hxx b/include/unotools/resmgr.hxx
index 142ec2de5b1f..816f4fadf71b 100644
--- a/include/unotools/resmgr.hxx
+++ b/include/unotools/resmgr.hxx
@@ -31,13 +31,17 @@ typedef OUString (*ResHookProc)(const OUString& rStr);
 struct UNOTOOLS_DLLPUBLIC TranslateId
 {
     const char* mpContext;
-    const char* mpId;
+    const char8_t* mpId;
 
     inline constexpr TranslateId()
         : mpContext(nullptr), mpId(nullptr) {}
-    inline constexpr TranslateId(const char* pContext, const char* pId)
+    inline TranslateId(const char* pContext, const char* pId)
+        : mpContext(pContext), mpId(reinterpret_cast<char8_t const *>(pId)) {}
+    inline constexpr TranslateId(const char* pContext, const char8_t* pId)
         : mpContext(pContext), mpId(pId) {}
 
+    char const * getId() const { return reinterpret_cast<char const *>(mpId); }
+
     inline operator bool() const { return mpId != nullptr; }
 
     bool operator==(const TranslateId& other) const;
diff --git a/oox/inc/strings.hrc b/oox/inc/strings.hrc
index cd107aa36a02..e17bdb2c6f18 100644
--- a/oox/inc/strings.hrc
+++ b/oox/inc/strings.hrc
@@ -10,7 +10,7 @@
 #ifndef OOX_STRINGS_HRC
 #define OOX_STRINGS_HRC
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define STR_DIAGRAM_TITLE                        NC_("STR_DIAGRAM_TITLE", 
"Chart Title")
 #define STR_DIAGRAM_AXISTITLE                    NC_("STR_DIAGRAM_AXISTITLE", 
"Axis Title")
diff --git a/reportdesign/inc/stringarray.hrc b/reportdesign/inc/stringarray.hrc
index 1d6800bf0cb0..9dc77833d8e5 100644
--- a/reportdesign/inc/stringarray.hrc
+++ b/reportdesign/inc/stringarray.hrc
@@ -12,7 +12,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId RID_STR_FORCENEWPAGE_CONST[] =
 {
diff --git a/reportdesign/inc/strings.hrc b/reportdesign/inc/strings.hrc
index 0a2ca496a9d5..5d3b8836570c 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) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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/sc/inc/compiler.hrc b/sc/inc/compiler.hrc
index e77dd26ea6a4..f7cb95d6d33a 100644
--- a/sc/inc/compiler.hrc
+++ b/sc/inc/compiler.hrc
@@ -21,7 +21,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId RID_FUNCTION_CATEGORIES[] =
 {
diff --git a/sc/inc/globstr.hrc b/sc/inc/globstr.hrc
index 5e6880d973d1..2b949cba8264 100644
--- a/sc/inc/globstr.hrc
+++ b/sc/inc/globstr.hrc
@@ -20,7 +20,7 @@
 #ifndef SC_GLOBSTR_HRC
 #define SC_GLOBSTR_HRC
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 #define NNC_(Context, StringSingular, StringPlural) TranslateNId(Context, 
reinterpret_cast<char const *>(u8##StringSingular), reinterpret_cast<char const 
*>(u8##StringPlural))
 
 /*
diff --git a/sc/inc/pvfundlg.hrc b/sc/inc/pvfundlg.hrc
index 1f3f8df37c17..510c5ad05c5c 100644
--- a/sc/inc/pvfundlg.hrc
+++ b/sc/inc/pvfundlg.hrc
@@ -21,7 +21,7 @@
 
 # include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId SCSTR_DPFUNCLISTBOX[] =
 {
diff --git a/sc/inc/scerrors.hrc b/sc/inc/scerrors.hrc
index b2ee886174ee..88b099f69107 100644
--- a/sc/inc/scerrors.hrc
+++ b/sc/inc/scerrors.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #include <svtools/ehdl.hxx>
 #include "scerrors.hxx"
diff --git a/sc/inc/scfuncs.hrc b/sc/inc/scfuncs.hrc
index cfb55d2be8bb..8fb9f59e9029 100644
--- a/sc/inc/scfuncs.hrc
+++ b/sc/inc/scfuncs.hrc
@@ -20,7 +20,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 /* Resource file for the function wizard / autopilot.
  *
diff --git a/sc/inc/scstyles.hrc b/sc/inc/scstyles.hrc
index 224f2cd475ac..f7df2db50862 100644
--- a/sc/inc/scstyles.hrc
+++ b/sc/inc/scstyles.hrc
@@ -22,7 +22,7 @@
 #include <svl/style.hxx>
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const std::pair<TranslateId, SfxStyleSearchBits> RID_CELLSTYLEFAMILY[] =
 {
diff --git a/sc/inc/strings.hrc b/sc/inc/strings.hrc
index 7767da4abd6a..b40ed197be4b 100644
--- a/sc/inc/strings.hrc
+++ b/sc/inc/strings.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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 21ede539b113..73c701a618fc 100644
--- a/sc/inc/subtotals.hrc
+++ b/sc/inc/subtotals.hrc
@@ -21,7 +21,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId SCSTR_SUBTOTALS[] =
 {
diff --git a/sc/inc/units.hrc b/sc/inc/units.hrc
index 66ba5bd933e4..6993f370bd98 100644
--- a/sc/inc/units.hrc
+++ b/sc/inc/units.hrc
@@ -21,7 +21,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #include <tools/fldunit.hxx>
 
diff --git a/scaddins/inc/analysis.hrc b/scaddins/inc/analysis.hrc
index b66233ede80e..7a7aa5f7c04d 100644
--- a/scaddins/inc/analysis.hrc
+++ b/scaddins/inc/analysis.hrc
@@ -21,7 +21,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId ANALYSIS_Workday[] =
 {
diff --git a/scaddins/inc/datefunc.hrc b/scaddins/inc/datefunc.hrc
index f4a370ae1e44..d6285c2c74ec 100644
--- a/scaddins/inc/datefunc.hrc
+++ b/scaddins/inc/datefunc.hrc
@@ -21,7 +21,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId DATE_FUNCDESC_DiffWeeks[] =
 {
diff --git a/scaddins/inc/pricing.hrc b/scaddins/inc/pricing.hrc
index bb99748e6933..c632a4e5b719 100644
--- a/scaddins/inc/pricing.hrc
+++ b/scaddins/inc/pricing.hrc
@@ -21,7 +21,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 // function and parameter description
 const TranslateId PRICING_FUNCDESC_OptBarrier[] =
diff --git a/scaddins/inc/strings.hrc b/scaddins/inc/strings.hrc
index ed7122b61056..965845d8fbcc 100644
--- a/scaddins/inc/strings.hrc
+++ b/scaddins/inc/strings.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 // function names as accessible from cells
 #define PRICING_FUNCNAME_OptBarrier                     
NC_("PRICING_FUNCNAME_OptBarrier", "OPT_BARRIER")
diff --git a/sccomp/inc/strings.hrc b/sccomp/inc/strings.hrc
index 4fe4932debad..b1b8506c3908 100644
--- a/sccomp/inc/strings.hrc
+++ b/sccomp/inc/strings.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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/sd/inc/DocumentRenderer.hrc b/sd/inc/DocumentRenderer.hrc
index 755fa5a66bbb..9cc79e78318a 100644
--- a/sd/inc/DocumentRenderer.hrc
+++ b/sd/inc/DocumentRenderer.hrc
@@ -21,7 +21,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId STR_IMPRESS_PRINT_UI_CONTENT_CHOICES[] =
 {
diff --git a/sd/inc/errhdl.hrc b/sd/inc/errhdl.hrc
index f6a10e9d909c..6b89724a5e6b 100644
--- a/sd/inc/errhdl.hrc
+++ b/sd/inc/errhdl.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #include <svtools/ehdl.hxx>
 #include <comphelper/errcode.hxx>
diff --git a/sd/inc/family.hrc b/sd/inc/family.hrc
index ad2617a302cc..ff52e447fb4e 100644
--- a/sd/inc/family.hrc
+++ b/sd/inc/family.hrc
@@ -22,7 +22,7 @@
 #include <svl/style.hxx>
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const std::pair<TranslateId, SfxStyleSearchBits> RID_GRAPHICSTYLEFAMILY[] =
 {
diff --git a/sd/inc/pageformatpanel.hrc b/sd/inc/pageformatpanel.hrc
index ea3c04a9ce7c..7dd031314d94 100644
--- a/sd/inc/pageformatpanel.hrc
+++ b/sd/inc/pageformatpanel.hrc
@@ -13,7 +13,7 @@
 
 #include <utility>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 namespace sd
 {
diff --git a/sd/inc/strings.hrc b/sd/inc/strings.hrc
index e3f5c45a5fcd..d449ccf01cbe 100644
--- a/sd/inc/strings.hrc
+++ b/sd/inc/strings.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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")
diff --git a/sfx2/inc/dinfdlg.hrc b/sfx2/inc/dinfdlg.hrc
index b0b72d8685b6..ef47615e7e22 100644
--- a/sfx2/inc/dinfdlg.hrc
+++ b/sfx2/inc/dinfdlg.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId SFX_CB_PROPERTY_STRINGARRAY[] =
 {
diff --git a/sfx2/inc/doctempl.hrc b/sfx2/inc/doctempl.hrc
index 0bd5a1957a78..82bcfef269fb 100644
--- a/sfx2/inc/doctempl.hrc
+++ b/sfx2/inc/doctempl.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId TEMPLATE_LONG_NAMES_ARY[] =
 {
diff --git a/sfx2/source/devtools/DevToolsStrings.hrc 
b/sfx2/source/devtools/DevToolsStrings.hrc
index 4c3f3e9ceb33..9ba434021401 100644
--- a/sfx2/source/devtools/DevToolsStrings.hrc
+++ b/sfx2/source/devtools/DevToolsStrings.hrc
@@ -10,7 +10,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define STR_TEXT_PORTION NC_("STR_TEXT_PORTION", "Text Portion %1")
 #define STR_PARAGRAPH NC_("STR_PARAGRAPH", "Paragraph %1")
diff --git a/shell/inc/spsupp/spsuppStrings.hrc 
b/shell/inc/spsupp/spsuppStrings.hrc
index a6ad2933c5fa..28a25d49b11e 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) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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/starmath/inc/smmod.hrc b/starmath/inc/smmod.hrc
index 885af214742e..effdcdcba3bc 100644
--- a/starmath/inc/smmod.hrc
+++ b/starmath/inc/smmod.hrc
@@ -11,7 +11,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId RID_UI_SYMBOLSET_NAMES[] =
 {
diff --git a/starmath/inc/strings.hrc b/starmath/inc/strings.hrc
index b6eeff196633..4afb0d2598e6 100644
--- a/starmath/inc/strings.hrc
+++ b/starmath/inc/strings.hrc
@@ -26,7 +26,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 // clang-format off
 #define RID_PLUSX_HELP                      NC_("RID_PLUSX_HELP", "+ Sign" )
diff --git a/starmath/source/smmod.cxx b/starmath/source/smmod.cxx
index 5e8886ebdc3c..d116316798f7 100644
--- a/starmath/source/smmod.cxx
+++ b/starmath/source/smmod.cxx
@@ -50,7 +50,7 @@ OUString SmLocalizedSymbolData::GetUiSymbolName( 
std::u16string_view rExportName
 
     for (size_t i = 0; i < SAL_N_ELEMENTS(RID_UI_SYMBOL_NAMES); ++i)
     {
-        if (o3tl::equalsAscii(rExportName, RID_UI_SYMBOL_NAMES[i].mpId))
+        if (o3tl::equalsAscii(rExportName, RID_UI_SYMBOL_NAMES[i].getId()))
         {
             aRes = SmResId(RID_UI_SYMBOL_NAMES[i]);
             break;
@@ -68,7 +68,7 @@ OUString SmLocalizedSymbolData::GetExportSymbolName( 
std::u16string_view rUiName
     {
         if (rUiName == SmResId(RID_UI_SYMBOL_NAMES[i]))
         {
-            const char *pKey = RID_UI_SYMBOL_NAMES[i].mpId;
+            const char *pKey = RID_UI_SYMBOL_NAMES[i].getId();
             aRes = OUString(pKey, strlen(pKey), RTL_TEXTENCODING_UTF8);
             break;
         }
@@ -83,7 +83,7 @@ OUString SmLocalizedSymbolData::GetUiSymbolSetName( 
std::u16string_view rExportN
 
     for (size_t i = 0; i < SAL_N_ELEMENTS(RID_UI_SYMBOLSET_NAMES); ++i)
     {
-        if (o3tl::equalsAscii(rExportName, RID_UI_SYMBOLSET_NAMES[i].mpId))
+        if (o3tl::equalsAscii(rExportName, RID_UI_SYMBOLSET_NAMES[i].getId()))
         {
             aRes = SmResId(RID_UI_SYMBOLSET_NAMES[i]);
             break;
@@ -101,7 +101,7 @@ OUString SmLocalizedSymbolData::GetExportSymbolSetName( 
std::u16string_view rUiN
     {
         if (rUiName == SmResId(RID_UI_SYMBOLSET_NAMES[i]))
         {
-            const char *pKey = RID_UI_SYMBOLSET_NAMES[i].mpId;
+            const char *pKey = RID_UI_SYMBOLSET_NAMES[i].getId();
             aRes = OUString(pKey, strlen(pKey), RTL_TEXTENCODING_UTF8);
             break;
         }
diff --git a/svtools/inc/borderline.hrc b/svtools/inc/borderline.hrc
index cfa4b22b1fa7..1a9539219a8a 100644
--- a/svtools/inc/borderline.hrc
+++ b/svtools/inc/borderline.hrc
@@ -11,7 +11,7 @@
 #include <editeng/borderline.hxx>
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const std::pair<TranslateId, SvxBorderLineStyle> RID_SVXSTR_BORDERLINE[] =
 {
diff --git a/svtools/inc/errtxt.hrc b/svtools/inc/errtxt.hrc
index 83bcc18321bb..a70c0b284704 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) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const ErrMsgCode RID_ERRCTX[] =
 {
diff --git a/svtools/inc/langtab.hrc b/svtools/inc/langtab.hrc
index 92b7e954349a..f2d223840229 100644
--- a/svtools/inc/langtab.hrc
+++ b/svtools/inc/langtab.hrc
@@ -22,7 +22,7 @@
 #include <i18nlangtag/lang.h>
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const std::pair<TranslateId, LanguageType> STR_ARR_SVT_LANGUAGE_TABLE[] =
 {
diff --git a/svx/inc/fieldunit.hrc b/svx/inc/fieldunit.hrc
index 7de4c1cd7420..49888736b690 100644
--- a/svx/inc/fieldunit.hrc
+++ b/svx/inc/fieldunit.hrc
@@ -24,7 +24,7 @@
 #include <utility>
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const std::pair<TranslateId, FieldUnit> RID_SVXSTR_FIELDUNIT_TABLE[] =
 {
diff --git a/svx/inc/fmstring.hrc b/svx/inc/fmstring.hrc
index 01919405bb91..d630f354b879 100644
--- a/svx/inc/fmstring.hrc
+++ b/svx/inc/fmstring.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId RID_RSC_SQL_INTERNATIONAL[] =
 {
diff --git a/svx/inc/formnavi.hrc b/svx/inc/formnavi.hrc
index 8af02811768c..61a4772b5a1a 100644
--- a/svx/inc/formnavi.hrc
+++ b/svx/inc/formnavi.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId RID_SVXSW_CONVERTMENU[] =
 {
diff --git a/svx/inc/frmsel.hrc b/svx/inc/frmsel.hrc
index 84fe78a23af2..c3fa77f9b7e2 100644
--- a/svx/inc/frmsel.hrc
+++ b/svx/inc/frmsel.hrc
@@ -24,7 +24,7 @@
 #include <sal/types.h>
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 std::pair<TranslateId, sal_uInt16> RID_SVXSTR_FRMSEL_TEXTS[] =
 {
diff --git a/svx/inc/inspectorvalues.hrc b/svx/inc/inspectorvalues.hrc
index 0c09dc4a060d..04b1493a5184 100644
--- a/svx/inc/inspectorvalues.hrc
+++ b/svx/inc/inspectorvalues.hrc
@@ -9,7 +9,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 #define NNC_(Context, StringSingular, StringPlural) TranslateNId(Context, 
reinterpret_cast<char const *>(u8##StringSingular), reinterpret_cast<char const 
*>(u8##StringPlural))
 
 /*--------------------------------------------------------------------
diff --git a/svx/inc/numberingtype.hrc b/svx/inc/numberingtype.hrc
index f137b7fb1795..bc7d9f809514 100644
--- a/svx/inc/numberingtype.hrc
+++ b/svx/inc/numberingtype.hrc
@@ -24,7 +24,7 @@
 
 #include <utility>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const std::pair<TranslateId, int> RID_SVXSTRARY_NUMBERINGTYPE[] =
 {
diff --git a/svx/inc/rotationstrings.hrc b/svx/inc/rotationstrings.hrc
index c4e8d28795eb..33ea94f09a9d 100644
--- a/svx/inc/rotationstrings.hrc
+++ b/svx/inc/rotationstrings.hrc
@@ -12,7 +12,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId RID_SVXITEMS_ROTATE_MODE[] =
 {
diff --git a/svx/inc/samecontent.hrc b/svx/inc/samecontent.hrc
index bb3afa49906c..a6d25f14660b 100644
--- a/svx/inc/samecontent.hrc
+++ b/svx/inc/samecontent.hrc
@@ -13,7 +13,7 @@
 
 #include <utility>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const std::pair<TranslateId, int> RID_SVXSTRARY_SAMECONTENT[] =
 {
diff --git a/svx/inc/spacing.hrc b/svx/inc/spacing.hrc
index 1719d215dfff..742b499dc32c 100644
--- a/svx/inc/spacing.hrc
+++ b/svx/inc/spacing.hrc
@@ -11,7 +11,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 struct measurement
 {
diff --git a/svx/inc/svxerr.hrc b/svx/inc/svxerr.hrc
index 40066df41531..eab36d8c6570 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) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #include <svx/svxerr.hxx>
 #include <editeng/editerr.hxx>
diff --git a/svx/inc/swframeposstrings.hrc b/svx/inc/swframeposstrings.hrc
index f7c845dba68d..ff2aea4ef014 100644
--- a/svx/inc/swframeposstrings.hrc
+++ b/svx/inc/swframeposstrings.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 //the following string have to match the (enum values) positions in 
svx/swframeposstrings.hxx!
 const TranslateId RID_SVXSW_FRAMEPOSITIONS[] =
diff --git a/svx/inc/tabwin.hrc b/svx/inc/tabwin.hrc
index fbfda4ff9f8c..05733288e511 100644
--- a/svx/inc/tabwin.hrc
+++ b/svx/inc/tabwin.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId RID_RSC_TABWIN_PREFIX[] =
 {
diff --git a/svx/inc/txenctab.hrc b/svx/inc/txenctab.hrc
index dc3e7ef6c4c5..3648ce6ddb52 100644
--- a/svx/inc/txenctab.hrc
+++ b/svx/inc/txenctab.hrc
@@ -24,7 +24,7 @@
 #include <unotools/resmgr.hxx>
 #include <utility>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 // Encodings for which no conversion exist yet are commented out.
 
diff --git a/svx/source/dialog/page.hrc b/svx/source/dialog/page.hrc
index 52e8a0dab3c2..9252e2e68b47 100644
--- a/svx/source/dialog/page.hrc
+++ b/svx/source/dialog/page.hrc
@@ -24,7 +24,7 @@
 #include <unotools/resmgr.hxx>
 #include <utility>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const std::pair<TranslateId, int> RID_SVXSTRARY_PAPERSIZE_STD[] =
 {
diff --git a/svx/source/items/algitem.cxx b/svx/source/items/algitem.cxx
index 917edb1f6203..1a102f76d1fb 100644
--- a/svx/source/items/algitem.cxx
+++ b/svx/source/items/algitem.cxx
@@ -110,7 +110,7 @@ bool SvxOrientationItem::PutValue( const uno::Any& rVal, 
sal_uInt8 /*nMemberId*/
 
 OUString SvxOrientationItem::GetValueText( SvxCellOrientation nVal )
 {
-    OString id = OString::Concat(RID_SVXITEMS_ORI_STANDARD.mpId) + 
OString::number(static_cast<int>(nVal));
+    OString id = OString::Concat(RID_SVXITEMS_ORI_STANDARD.getId()) + 
OString::number(static_cast<int>(nVal));
     return SvxResId(TranslateId(RID_SVXITEMS_ORI_STANDARD.mpContext, 
id.getStr()));
 }
 
diff --git a/svx/source/sidebar/nbdtmg.cxx b/svx/source/sidebar/nbdtmg.cxx
index 5cc216324a58..ebdfa34256fd 100644
--- a/svx/source/sidebar/nbdtmg.cxx
+++ b/svx/source/sidebar/nbdtmg.cxx
@@ -268,7 +268,7 @@ void BulletsTypeMgr::Init()
         pActualBullets[i] = new BulletsSettings;
         pActualBullets[i]->cBulletChar = aDefaultBulletTypes[i];
         pActualBullets[i]->aFont = rActBulletFont;
-        OString id = OString::Concat(RID_SVXSTR_BULLET_DESCRIPTION_0.mpId) + 
OString::number(i);
+        OString id = OString::Concat(RID_SVXSTR_BULLET_DESCRIPTION_0.getId()) 
+ OString::number(i);
         pActualBullets[i]->sDescription = SvxResId( 
TranslateId(RID_SVXSTR_BULLET_DESCRIPTION_0.mpContext, id.getStr()) );
     }
 }
@@ -593,7 +593,7 @@ void OutlineTypeMgr::Init()
         {
             pOutlineSettingsArrs[ nItem ] = new OutlineSettings_Impl;
             OutlineSettings_Impl* pItemArr = pOutlineSettingsArrs[ nItem ];
-            OString id = 
OString::Concat(RID_SVXSTR_OUTLINENUM_DESCRIPTION_0.mpId) + 
OString::number(nItem);
+            OString id = 
OString::Concat(RID_SVXSTR_OUTLINENUM_DESCRIPTION_0.getId()) + 
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];
diff --git a/sw/inc/AccessibilityCheckStrings.hrc 
b/sw/inc/AccessibilityCheckStrings.hrc
index 200d63965665..44dd7217dc04 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) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define STR_NO_ALT                      NC_("STR_NO_ALT", "%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 415ec385e3e2..a3773c7fc1b6 100644
--- a/sw/inc/app.hrc
+++ b/sw/inc/app.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #include <svl/style.hxx>
 
diff --git a/sw/inc/cnttab.hrc b/sw/inc/cnttab.hrc
index ccb469092899..71280ad81aff 100644
--- a/sw/inc/cnttab.hrc
+++ b/sw/inc/cnttab.hrc
@@ -22,7 +22,7 @@
 
 #include "tox.hxx"
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const std::pair<TranslateId, SwTOOElements> RES_SRCTYPES[] =
 {
diff --git a/sw/inc/dbui.hrc b/sw/inc/dbui.hrc
index 4abc1148755d..4ccac85d633c 100644
--- a/sw/inc/dbui.hrc
+++ b/sw/inc/dbui.hrc
@@ -24,7 +24,7 @@
 #include <unotools/resmgr.hxx>
 
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 // Elements -----------------------------------------------------------------
 #define MM_PART_TITLE                   0
diff --git a/sw/inc/error.hrc b/sw/inc/error.hrc
index bee70223040e..5fde841516e8 100644
--- a/sw/inc/error.hrc
+++ b/sw/inc/error.hrc
@@ -25,7 +25,7 @@
 
 #include "swerror.h"
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define ERR_CODE( class, err )  ErrCode(ErrCodeArea::Sw, class, err.GetCode())
 #define WARN_CODE( class, err ) ErrCode(ErrCodeArea::Sw, class, err.GetCode())
diff --git a/sw/inc/flddinf.hrc b/sw/inc/flddinf.hrc
index a36ee785d91b..39416a7e179c 100644
--- a/sw/inc/flddinf.hrc
+++ b/sw/inc/flddinf.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId FLD_SELECT[] =
 {
diff --git a/sw/inc/fldref.hrc b/sw/inc/fldref.hrc
index 20eae2d31e14..d28a1ea43cb5 100644
--- a/sw/inc/fldref.hrc
+++ b/sw/inc/fldref.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId FLD_REF_PAGE_TYPES[] =
 {
diff --git a/sw/inc/inspectorproperties.hrc b/sw/inc/inspectorproperties.hrc
index c2fd2a106f63..e232ea1d3f33 100644
--- a/sw/inc/inspectorproperties.hrc
+++ b/sw/inc/inspectorproperties.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 #define NNC_(Context, StringSingular, StringPlural) TranslateNId(Context, 
reinterpret_cast<char const *>(u8##StringSingular), reinterpret_cast<char const 
*>(u8##StringPlural))
 
 /*--------------------------------------------------------------------
diff --git a/sw/inc/mmaddressblockpage.hrc b/sw/inc/mmaddressblockpage.hrc
index 653b47a7bfaa..edc868596926 100644
--- a/sw/inc/mmaddressblockpage.hrc
+++ b/sw/inc/mmaddressblockpage.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId RA_SALUTATION[] =
 {
diff --git a/sw/inc/optload.hrc b/sw/inc/optload.hrc
index c4a376cf6680..ac961806f31f 100644
--- a/sw/inc/optload.hrc
+++ b/sw/inc/optload.hrc
@@ -24,7 +24,7 @@
 #include <unotools/resmgr.hxx>
 #include <utility>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const std::pair<TranslateId, FieldUnit> STR_ARR_METRIC[] =
 {
diff --git a/sw/inc/outline.hrc b/sw/inc/outline.hrc
index 1c41ac084e14..3a4a787662fe 100644
--- a/sw/inc/outline.hrc
+++ b/sw/inc/outline.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId OUTLINE_STYLE[] =
 {
diff --git a/sw/inc/pageformatpanel.hrc b/sw/inc/pageformatpanel.hrc
index aff4e208a60d..fdb6e18a72cd 100644
--- a/sw/inc/pageformatpanel.hrc
+++ b/sw/inc/pageformatpanel.hrc
@@ -12,7 +12,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #include <utility>
 
diff --git a/sw/inc/strings.hrc b/sw/inc/strings.hrc
index e7ad57780104..ea322289e36a 100644
--- a/sw/inc/strings.hrc
+++ b/sw/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SW_INC_STRINGS_HRC
 #define INCLUDED_SW_INC_STRINGS_HRC
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 #define NNC_(Context, StringSingular, StringPlural) TranslateNId(Context, 
reinterpret_cast<char const *>(u8##StringSingular), reinterpret_cast<char const 
*>(u8##StringPlural))
 
 // Dialog buttons
diff --git a/sw/inc/utlui.hrc b/sw/inc/utlui.hrc
index df315d709bb4..db13af5b517c 100644
--- a/sw/inc/utlui.hrc
+++ b/sw/inc/utlui.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 // see sw/inc/comcore.hxx
 const TranslateId RID_SHELLRES_AUTOFMTSTRS[] =
diff --git a/unotools/source/i18n/resmgr.cxx b/unotools/source/i18n/resmgr.cxx
index 71303b211cec..2cf013d161d8 100644
--- a/unotools/source/i18n/resmgr.cxx
+++ b/unotools/source/i18n/resmgr.cxx
@@ -210,17 +210,17 @@ namespace Translate
 
     OUString get(TranslateId sContextAndId, const std::locale &loc)
     {
-        assert(!strchr(sContextAndId.mpId, '\004') && "should be using nget, 
not get");
+        assert(!strchr(sContextAndId.getId(), '\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::Concat(sContextAndId.mpContext) + 
"|" + std::string_view(sContextAndId.mpId)));
-            return OUString::fromUtf8(sKeyId) + u"\u2016" + 
createFromUtf8(sContextAndId.mpId, strlen(sContextAndId.mpId));
+            OString sKeyId(genKeyId(OString::Concat(sContextAndId.mpContext) + 
"|" + std::string_view(sContextAndId.getId())));
+            return OUString::fromUtf8(sKeyId) + u"\u2016" + 
createFromUtf8(sContextAndId.getId(), strlen(sContextAndId.getId()));
         }
 
         //otherwise translate it
-        const std::string ret = 
boost::locale::pgettext(sContextAndId.mpContext, sContextAndId.mpId, loc);
+        const std::string ret = 
boost::locale::pgettext(sContextAndId.mpContext, sContextAndId.getId(), loc);
         OUString result(ExpandVariables(createFromUtf8(ret.data(), 
ret.size())));
 
         if (comphelper::LibreOfficeKit::isActive())
@@ -290,7 +290,7 @@ bool TranslateId::operator==(const TranslateId& other) const
     {
         return mpId == other.mpId;
     }
-    return strcmp(mpId,other.mpId) == 0;
+    return strcmp(getId(),other.getId()) == 0;
 }
 
 bool TranslateNId::operator==(const TranslateNId& other) const
diff --git a/uui/inc/ids.hrc b/uui/inc/ids.hrc
index a1739e6c2ea4..e36a66d847d4 100644
--- a/uui/inc/ids.hrc
+++ b/uui/inc/ids.hrc
@@ -26,7 +26,7 @@
 
 #include "ids.hxx"
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const std::pair<TranslateId, ErrCode> RID_UUI_ERRHDL[] =
 {
diff --git a/uui/inc/strings.hrc b/uui/inc/strings.hrc
index c78beb9efaba..db6c83e777fb 100644
--- a/uui/inc/strings.hrc
+++ b/uui/inc/strings.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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/vcl/inc/font/OpenTypeFeatureStrings.hrc 
b/vcl/inc/font/OpenTypeFeatureStrings.hrc
index aebdda1d2743..086d7d500c0e 100644
--- a/vcl/inc/font/OpenTypeFeatureStrings.hrc
+++ b/vcl/inc/font/OpenTypeFeatureStrings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_VCL_INC_FONT_OPENTYPEFEATRESTRINGS_HRC
 #define INCLUDED_VCL_INC_FONT_OPENTYPEFEATRESTRINGS_HRC
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define STR_FONT_FEATURE_ID_AALT          NC_("STR_FONT_FEATURE_ID_AALT", 
"Access All Alternates")
 #define STR_FONT_FEATURE_ID_AFRC          NC_("STR_FONT_FEATURE_ID_AFRC", 
"Alternative (Vertical) Fractions")
diff --git a/vcl/inc/print.hrc b/vcl/inc/print.hrc
index 7e19c4c75004..661e881690b3 100644
--- a/vcl/inc/print.hrc
+++ b/vcl/inc/print.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId RID_STR_PAPERNAMES[] =
 {
diff --git a/vcl/inc/printaccessoryview.hrc b/vcl/inc/printaccessoryview.hrc
index 737ff11a621f..9d94654b4c7a 100644
--- a/vcl/inc/printaccessoryview.hrc
+++ b/vcl/inc/printaccessoryview.hrc
@@ -22,7 +22,7 @@
 
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 const TranslateId SV_PRINT_NATIVE_STRINGS[] =
 {
diff --git a/vcl/inc/strings.hrc b/vcl/inc/strings.hrc
index 7f5699aae1d6..6ce4854deb45 100644
--- a/vcl/inc/strings.hrc
+++ b/vcl/inc/strings.hrc
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_VCL_INC_STRINGS_HRC
 #define INCLUDED_VCL_INC_STRINGS_HRC
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 #define SV_RESID_STRING_NOSELECTIONPOSSIBLE          
NC_("SV_RESID_STRING_NOSELECTIONPOSSIBLE", "[No selection possible]")
 
diff --git a/vcl/inc/units.hrc b/vcl/inc/units.hrc
index 30809ee93d65..677f9f5cefee 100644
--- a/vcl/inc/units.hrc
+++ b/vcl/inc/units.hrc
@@ -23,7 +23,7 @@
 #include <tools/fldunit.hxx>
 #include <unotools/resmgr.hxx>
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, u8##String)
 
 std::pair<TranslateId, FieldUnit> SV_FUNIT_STRINGS[] =
 {
diff --git a/vcl/source/app/svdata.cxx b/vcl/source/app/svdata.cxx
index 9840eec37fc6..75dc09e28e4a 100644
--- a/vcl/source/app/svdata.cxx
+++ b/vcl/source/app/svdata.cxx
@@ -286,7 +286,7 @@ namespace vcl
         sal_uInt32 nUnits = SAL_N_ELEMENTS(SV_FUNIT_STRINGS);
         for (sal_uInt32 i = 0; i < nUnits; ++i)
         {
-            if (o3tl::equalsAscii(rEnglishMetricString, 
SV_FUNIT_STRINGS[i].first.mpId))
+            if (o3tl::equalsAscii(rEnglishMetricString, 
SV_FUNIT_STRINGS[i].first.getId()))
                 return SV_FUNIT_STRINGS[i].second;
         }
         return FieldUnit::NONE;
diff --git a/writerperfect/inc/strings.hrc b/writerperfect/inc/strings.hrc
index a9373d23731e..20292ac9a6c1 100644
--- a/writerperfect/inc/strings.hrc
+++ b/writerperfect/inc/strings.hrc
@@ -9,7 +9,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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/strings.hrc b/xmlsecurity/inc/strings.hrc
index 46e4c582708a..7e99a58d5286 100644
--- a/xmlsecurity/inc/strings.hrc
+++ b/xmlsecurity/inc/strings.hrc
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const 
*>(u8##String))
+#define NC_(Context, String) TranslateId(Context, 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")

Reply via email to