summaryrefslogtreecommitdiff
path: root/framework/inc
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-06-11 20:56:30 +0100
committerCaolán McNamara <caolanm@redhat.com>2017-07-21 08:20:50 +0100
commit00657aef09d854c74fb426a935a3e8b1fc390bb0 (patch)
treefd1a9bb264fe15dcc129498e62060ecd256b1ee7 /framework/inc
parentfa987cbb813cfd729fe490f2f1258b7c8d7fb174 (diff)
migrate to boost::gettext
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl * all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string") * ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching MODULE .mo files * UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui goes from l10n target to normal one, so the res/lang.zips of UI files go away * translation via Translation::get(hrc-define-key, imbued-std::locale) * python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there to keep finding the .hrc file uniform) so magic numbers can go away there * java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation mechanism * en-US res files go away, their strings are now the .hrc keys in the source code * remaining .res files are replaced by .mo files * in .res/.ui-lang-zip files, the old scheme missing translations of strings results in inserting the english original so something can be found, now the standard fallback of using the english original from the source key is used, so partial translations shrink dramatically in size * extract .hrc strings with hrcex which backs onto xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap * extract .ui strings with uiex which backs onto xgettext --add-comments --no-wrap * qtz for gettext translations is generated at runtime as ascii-ified crc32 of content + "|" + msgid * [API CHANGE] remove deprecated binary .res resouce loader related uno apis com::sun::star::resource::OfficeResourceLoader com::sun::star::resource::XResourceBundleLoader com::sun::star::resource::XResourceBundle when translating strings via uno apis com.sun.star.resource.StringResourceWithLocation can continue to be used Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
Diffstat (limited to 'framework/inc')
-rw-r--r--framework/inc/classes/fwkresid.hxx15
-rw-r--r--framework/inc/classes/resource.hrc67
-rw-r--r--framework/inc/classes/resource.hxx32
-rw-r--r--framework/inc/pch/precompiled_fwe.hxx2
-rw-r--r--framework/inc/pch/precompiled_fwi.hxx2
-rw-r--r--framework/inc/pch/precompiled_fwk.hxx2
-rw-r--r--framework/inc/pch/precompiled_fwl.hxx2
-rw-r--r--framework/inc/strings.hrc58
8 files changed, 92 insertions, 88 deletions
diff --git a/framework/inc/classes/fwkresid.hxx b/framework/inc/classes/fwkresid.hxx
index ba54eca5f081..c6606c5271e8 100644
--- a/framework/inc/classes/fwkresid.hxx
+++ b/framework/inc/classes/fwkresid.hxx
@@ -20,21 +20,10 @@
#ifndef INCLUDED_FRAMEWORK_INC_CLASSES_FWKRESID_HXX
#define INCLUDED_FRAMEWORK_INC_CLASSES_FWKRESID_HXX
-#include <tools/resid.hxx>
#include <framework/fwedllapi.h>
+#include <rtl/ustring.hxx>
-namespace framework
-{
-
-class FWE_DLLPUBLIC FwkResId : public ResId
-{
- public:
- FwkResId( sal_uInt16 nId );
-
- static ResMgr* GetResManager();
-};
-
-}
+FWE_DLLPUBLIC OUString FwkResId(const char* pId);
#endif // __FRAMEWORK_CLASSES_FWKRESID
diff --git a/framework/inc/classes/resource.hrc b/framework/inc/classes/resource.hrc
deleted file mode 100644
index 72a45931b048..000000000000
--- a/framework/inc/classes/resource.hrc
+++ /dev/null
@@ -1,67 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-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/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_FRAMEWORK_INC_CLASSES_RESOURCE_HRC
-#define INCLUDED_FRAMEWORK_INC_CLASSES_RESOURCE_HRC
-
-#define RID_STR_START 2000
-#define RID_MENU_START 10000
-#define RID_IMAGE_START 15000
-
-#define STR_MENU_HEADFOOTALL (RID_STR_START+2)
-#define STR_UPDATEDOC (RID_STR_START+3)
-#define STR_CLOSEDOC_ANDRETURN (RID_STR_START+4)
-#define STR_SAVECOPYDOC (RID_STR_START+5)
-#define STR_NODOCUMENT (RID_STR_START+6)
-#define STR_TOOLBAR_TITLE_ADDON (RID_STR_START+7)
-
-#define STR_FULL_DISC_RETRY_BUTTON (RID_STR_START+9) // used by AuotSave to show error state: full disc
-#define STR_FULL_DISC_MSG (RID_STR_START+10) // used by AuotSave to show error state: full disc
-#define STR_RESTORE_TOOLBARS (RID_STR_START+11)
-#define STR_CORRUPT_UICFG_SHARE (RID_STR_START+12)
-#define STR_CORRUPT_UICFG_USER (RID_STR_START+13)
-#define STR_CORRUPT_UICFG_GENERAL (RID_STR_START+14)
-#define STR_LANGSTATUS_MULTIPLE_LANGUAGES (RID_STR_START+15)
-#define STR_LANGSTATUS_NONE (RID_STR_START+16)
-#define STR_LANGSTATUS_MORE (RID_STR_START+17)
-#define STR_SET_LANGUAGE_FOR_PARAGRAPH (RID_STR_START+19)
-#define STR_UNTITLED_DOCUMENT (RID_STR_START+21)
-#define STR_RESET_TO_DEFAULT_LANGUAGE (RID_STR_START+22)
-#define STR_CLEAR_RECENT_FILES (RID_STR_START+23)
-#define STR_CLEAR_RECENT_FILES_HELP (RID_STR_START+24)
-#define STR_LANGSTATUS_HINT (RID_STR_START+25)
-#define STR_REMOTE_TITLE (RID_STR_START+26)
-#define STR_SAFEMODE_TITLE (RID_STR_START+27)
-#define STR_TOOLBAR_VISIBLE_BUTTONS (RID_STR_START+28)
-#define STR_TOOLBAR_CUSTOMIZE_TOOLBAR (RID_STR_START+29)
-#define STR_TOOLBAR_DOCK_TOOLBAR (RID_STR_START+30)
-#define STR_TOOLBAR_DOCK_ALL_TOOLBARS (RID_STR_START+31)
-#define STR_TOOLBAR_LOCK_TOOLBAR (RID_STR_START+32)
-#define STR_TOOLBAR_CLOSE_TOOLBAR (RID_STR_START+33)
-
-#define MENUITEM_TOOLBAR_VISIBLEBUTTON 1
-#define MENUITEM_TOOLBAR_CUSTOMIZETOOLBAR 2
-#define MENUITEM_TOOLBAR_DOCKTOOLBAR 3
-#define MENUITEM_TOOLBAR_DOCKALLTOOLBAR 4
-#define MENUITEM_TOOLBAR_LOCKTOOLBARPOSITION 5
-#define MENUITEM_TOOLBAR_CLOSE 6
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/inc/classes/resource.hxx b/framework/inc/classes/resource.hxx
new file mode 100644
index 000000000000..a9f98e607baa
--- /dev/null
+++ b/framework/inc/classes/resource.hxx
@@ -0,0 +1,32 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_FRAMEWORK_INC_CLASSES_RESOURCE_HXX
+#define INCLUDED_FRAMEWORK_INC_CLASSES_RESOURCE_HXX
+
+#define MENUITEM_TOOLBAR_VISIBLEBUTTON 1
+#define MENUITEM_TOOLBAR_CUSTOMIZETOOLBAR 2
+#define MENUITEM_TOOLBAR_DOCKTOOLBAR 3
+#define MENUITEM_TOOLBAR_DOCKALLTOOLBAR 4
+#define MENUITEM_TOOLBAR_LOCKTOOLBARPOSITION 5
+#define MENUITEM_TOOLBAR_CLOSE 6
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/inc/pch/precompiled_fwe.hxx b/framework/inc/pch/precompiled_fwe.hxx
index 984b6266f5ab..86fb2645b5ff 100644
--- a/framework/inc/pch/precompiled_fwe.hxx
+++ b/framework/inc/pch/precompiled_fwe.hxx
@@ -206,7 +206,6 @@
#include <i18nlangtag/languagetag.hxx>
#include <o3tl/cow_wrapper.hxx>
#include <o3tl/typed_flags_set.hxx>
-#include <rsc/rsc-vcl-shared-types.hxx>
#include <tools/color.hxx>
#include <tools/debug.hxx>
#include <vcl/errinf.hxx>
@@ -218,7 +217,6 @@
#include <tools/mapunit.hxx>
#include <tools/poly.hxx>
#include <tools/ref.hxx>
-#include <tools/resid.hxx>
#include <tools/resmgr.hxx>
#include <tools/solar.h>
#include <tools/stream.hxx>
diff --git a/framework/inc/pch/precompiled_fwi.hxx b/framework/inc/pch/precompiled_fwi.hxx
index 05a4cac9e5c8..724aa721cc42 100644
--- a/framework/inc/pch/precompiled_fwi.hxx
+++ b/framework/inc/pch/precompiled_fwi.hxx
@@ -147,7 +147,6 @@
#include <i18nlangtag/languagetag.hxx>
#include <o3tl/cow_wrapper.hxx>
#include <o3tl/typed_flags_set.hxx>
-#include <rsc/rsc-vcl-shared-types.hxx>
#include <tools/color.hxx>
#include <tools/debug.hxx>
#include <vcl/errinf.hxx>
@@ -157,7 +156,6 @@
#include <tools/link.hxx>
#include <tools/mapunit.hxx>
#include <tools/ref.hxx>
-#include <tools/resid.hxx>
#include <tools/resmgr.hxx>
#include <tools/solar.h>
#include <tools/stream.hxx>
diff --git a/framework/inc/pch/precompiled_fwk.hxx b/framework/inc/pch/precompiled_fwk.hxx
index 5863dbf7d55e..900e1b3c75da 100644
--- a/framework/inc/pch/precompiled_fwk.hxx
+++ b/framework/inc/pch/precompiled_fwk.hxx
@@ -319,7 +319,6 @@
#include <macros/xtypeprovider.hxx>
#include <o3tl/cow_wrapper.hxx>
#include <o3tl/typed_flags_set.hxx>
-#include <rsc/rsc-vcl-shared-types.hxx>
#include <svl/svldllapi.h>
#include <svtools/miscopt.hxx>
#include <svtools/svtdllapi.h>
@@ -343,7 +342,6 @@
#include <tools/mapunit.hxx>
#include <tools/poly.hxx>
#include <tools/ref.hxx>
-#include <tools/resid.hxx>
#include <tools/resmgr.hxx>
#include <tools/solar.h>
#include <tools/stream.hxx>
diff --git a/framework/inc/pch/precompiled_fwl.hxx b/framework/inc/pch/precompiled_fwl.hxx
index 62f2594a632e..2f59e411a3f8 100644
--- a/framework/inc/pch/precompiled_fwl.hxx
+++ b/framework/inc/pch/precompiled_fwl.hxx
@@ -305,7 +305,6 @@
#include <macros/xtypeprovider.hxx>
#include <o3tl/cow_wrapper.hxx>
#include <o3tl/typed_flags_set.hxx>
-#include <rsc/rsc-vcl-shared-types.hxx>
#include <svl/svldllapi.h>
#include <svtools/popupmenucontrollerbase.hxx>
#include <svtools/svtdllapi.h>
@@ -326,7 +325,6 @@
#include <tools/mapunit.hxx>
#include <tools/poly.hxx>
#include <tools/ref.hxx>
-#include <tools/resid.hxx>
#include <tools/resmgr.hxx>
#include <tools/solar.h>
#include <tools/stream.hxx>
diff --git a/framework/inc/strings.hrc b/framework/inc/strings.hrc
new file mode 100644
index 000000000000..5a1cdea24093
--- /dev/null
+++ b/framework/inc/strings.hrc
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_FRAMEWORK_INC_STRINGS_HRC
+#define INCLUDED_FRAMEWORK_INC_STRINGS_HRC
+
+#define NC_(Context, String) (Context "\004" u8##String)
+
+#define STR_MENU_HEADFOOTALL NC_("STR_MENU_HEADFOOTALL", "All" )
+#define STR_UPDATEDOC NC_("STR_UPDATEDOC", "~Update" )
+#define STR_CLOSEDOC_ANDRETURN NC_("STR_CLOSEDOC_ANDRETURN", "~Close & Return to " )
+#define STR_TOOLBAR_VISIBLE_BUTTONS NC_("STR_TOOLBAR_VISIBLE_BUTTONS", "Visible ~Buttons")
+#define STR_TOOLBAR_CUSTOMIZE_TOOLBAR NC_("STR_TOOLBAR_CUSTOMIZE_TOOLBAR", "~Customize Toolbar...")
+#define STR_TOOLBAR_DOCK_TOOLBAR NC_("STR_TOOLBAR_DOCK_TOOLBAR", "~Dock Toolbar" )
+#define STR_TOOLBAR_DOCK_ALL_TOOLBARS NC_("STR_TOOLBAR_DOCK_ALL_TOOLBARS", "Dock ~All Toolbars" )
+#define STR_TOOLBAR_LOCK_TOOLBAR NC_("STR_TOOLBAR_LOCK_TOOLBAR", "~Lock Toolbar Position" )
+#define STR_TOOLBAR_CLOSE_TOOLBAR NC_("STR_TOOLBAR_CLOSE_TOOLBAR", "Close ~Toolbar" )
+#define STR_SAVECOPYDOC NC_("STR_SAVECOPYDOC", "Save Copy ~as..." )
+#define STR_NODOCUMENT NC_("STR_NODOCUMENT", "No Documents")
+#define STR_CLEAR_RECENT_FILES NC_("STR_CLEAR_RECENT_FILES", "Clear List")
+#define STR_CLEAR_RECENT_FILES_HELP NC_("STR_CLEAR_RECENT_FILES_HELP", "Clears the list with the most recently opened files. This action can not be undone.")
+#define STR_REMOTE_TITLE NC_("STR_REMOTE_TITLE", " (Remote)")
+#define STR_SAFEMODE_TITLE NC_("STR_SAFEMODE_TITLE", " (Safe Mode)")
+#define STR_TOOLBAR_TITLE_ADDON NC_("STR_TOOLBAR_TITLE_ADDON", "Add-On %num%")
+#define STR_FULL_DISC_RETRY_BUTTON NC_("STR_FULL_DISC_RETRY_BUTTON", "Retry" )
+#define STR_FULL_DISC_MSG NC_("STR_FULL_DISC_MSG", "%PRODUCTNAME could not save important internal information due to insufficient free disk space at the following location:\n%PATH\n\nYou will not be able to continue working with %PRODUCTNAME without allocating more free disk space at that location.\n\nPress the 'Retry' button after you have allocated more free disk space to retry saving the data.\n\n" )
+#define STR_RESTORE_TOOLBARS NC_("STR_RESTORE_TOOLBARS", "~Reset" )
+#define STR_CORRUPT_UICFG_SHARE NC_("STR_CORRUPT_UICFG_SHARE", "An error occurred while loading the user interface configuration data. The application will be terminated now.\nPlease try to reinstall the application." )
+#define STR_CORRUPT_UICFG_USER NC_("STR_CORRUPT_UICFG_USER", "An error occurred while loading the user interface configuration data. The application will be terminated now.\nPlease try to remove your user profile for the application." )
+#define STR_CORRUPT_UICFG_GENERAL NC_("STR_CORRUPT_UICFG_GENERAL", "An error occurred while loading the user interface configuration data. The application will be terminated now.\nPlease try to remove your user profile for the application first or try to reinstall the application." )
+#define STR_UNTITLED_DOCUMENT NC_("STR_UNTITLED_DOCUMENT", "Untitled" )
+// To translators: for displaying 'Multiple Languages' in the language statusbar control
+#define STR_LANGSTATUS_MULTIPLE_LANGUAGES NC_("STR_LANGSTATUS_MULTIPLE_LANGUAGES", "Multiple Languages" )
+#define STR_LANGSTATUS_NONE NC_("STR_LANGSTATUS_NONE", "None (Do not check spelling)" )
+#define STR_RESET_TO_DEFAULT_LANGUAGE NC_("STR_RESET_TO_DEFAULT_LANGUAGE", "Reset to Default Language" )
+#define STR_LANGSTATUS_MORE NC_("STR_LANGSTATUS_MORE", "More..." )
+#define STR_SET_LANGUAGE_FOR_PARAGRAPH NC_("STR_SET_LANGUAGE_FOR_PARAGRAPH", "Set Language for Paragraph" )
+#define STR_LANGSTATUS_HINT NC_("STR_LANGSTATUS_HINT", "Text Language. Right-click to set character or paragraph language" )
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */