summaryrefslogtreecommitdiffstats
path: root/cui/inc
diff options
context:
space:
mode:
Diffstat (limited to 'cui/inc')
-rw-r--r--cui/inc/bitmaps.hlst84
-rw-r--r--cui/inc/dlgname.hxx186
-rw-r--r--cui/inc/numcategories.hrc31
-rw-r--r--cui/inc/pch/precompiled_cui.cxx12
-rw-r--r--cui/inc/pch/precompiled_cui.hxx462
-rw-r--r--cui/inc/personas.hrc30
-rw-r--r--cui/inc/strings.hrc407
-rw-r--r--cui/inc/strings.hxx14
-rw-r--r--cui/inc/tipoftheday.hrc293
-rw-r--r--cui/inc/toolbarmode.hrc38
-rw-r--r--cui/inc/treeopt.hrc161
-rw-r--r--cui/inc/twolines.hrc46
-rw-r--r--cui/inc/widgettestdlg.hxx32
13 files changed, 1796 insertions, 0 deletions
diff --git a/cui/inc/bitmaps.hlst b/cui/inc/bitmaps.hlst
new file mode 100644
index 0000000000..6e0a187758
--- /dev/null
+++ b/cui/inc/bitmaps.hlst
@@ -0,0 +1,84 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * 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/.
+ */
+
+#pragma once
+
+inline constexpr OUString RID_SVXBMP_CELL_NONE = u"svx/res/pr01.png"_ustr;
+inline constexpr OUString RID_SVXBMP_CELL_NONE_32 = u"svx/res/border_cell_none_32.png"_ustr;
+inline constexpr OUString RID_SVXBMP_CELL_ALL = u"svx/res/pr02.png"_ustr;
+inline constexpr OUString RID_SVXBMP_CELL_ALL_32 = u"svx/res/border_cell_all_32.png"_ustr;
+inline constexpr OUString RID_SVXBMP_CELL_LR = u"svx/res/pr03.png"_ustr;
+inline constexpr OUString RID_SVXBMP_CELL_LR_32 = u"svx/res/border_cell_lr_32.png"_ustr;
+inline constexpr OUString RID_SVXBMP_CELL_TB = u"svx/res/pr04.png"_ustr;
+inline constexpr OUString RID_SVXBMP_CELL_TB_32 = u"svx/res/border_cell_tb_32.png"_ustr;
+inline constexpr OUString RID_SVXBMP_CELL_L = u"svx/res/pr05.png"_ustr;
+inline constexpr OUString RID_SVXBMP_CELL_L_32 = u"svx/res/border_cell_l_32.png"_ustr;
+inline constexpr OUString RID_SVXBMP_CELL_DIAG = u"svx/res/pr06.png"_ustr;
+inline constexpr OUString RID_SVXBMP_CELL_DIAG_32 = u"svx/res/border_cell_diag_32.png"_ustr;
+inline constexpr OUString RID_SVXBMP_HOR_NONE = u"svx/res/pr07.png"_ustr;
+inline constexpr OUString RID_SVXBMP_HOR_OUTER = u"svx/res/pr08.png"_ustr;
+inline constexpr OUString RID_SVXBMP_HOR_HOR = u"svx/res/pr09.png"_ustr;
+inline constexpr OUString RID_SVXBMP_HOR_ALL = u"svx/res/pr010.png"_ustr;
+inline constexpr OUString RID_SVXBMP_HOR_OUTER2 = u"svx/res/pr011.png"_ustr;
+inline constexpr OUString RID_SVXBMP_VER_NONE = u"svx/res/pr012.png"_ustr;
+inline constexpr OUString RID_SVXBMP_VER_OUTER = u"svx/res/pr013.png"_ustr;
+inline constexpr OUString RID_SVXBMP_VER_VER = u"svx/res/pr014.png"_ustr;
+inline constexpr OUString RID_SVXBMP_VER_ALL = u"svx/res/pr015.png"_ustr;
+inline constexpr OUString RID_SVXBMP_VER_OUTER2 = u"svx/res/pr016.png"_ustr;
+inline constexpr OUString RID_SVXBMP_TABLE_NONE = u"svx/res/pr017.png"_ustr;
+inline constexpr OUString RID_SVXBMP_TABLE_OUTER = u"svx/res/pr018.png"_ustr;
+inline constexpr OUString RID_SVXBMP_TABLE_OUTERH = u"svx/res/pr019.png"_ustr;
+inline constexpr OUString RID_SVXBMP_TABLE_ALL = u"svx/res/pr020.png"_ustr;
+inline constexpr OUString RID_SVXBMP_TABLE_OUTER2 = u"svx/res/pr021.png"_ustr;
+
+inline constexpr OUString RID_SVXBMP_SHADOWNONE = u"svx/res/sh01.png"_ustr;
+inline constexpr OUString RID_SVXBMP_SHADOWNONE_32 = u"svx/res/shadow_none_32.png"_ustr;
+inline constexpr OUString RID_SVXBMP_SHADOW_BOT_RIGHT = u"svx/res/sh02.png"_ustr;
+inline constexpr OUString RID_SVXBMP_SHADOW_BOT_RIGHT_32 = u"svx/res/shadow_bottom_right_32.png"_ustr;
+inline constexpr OUString RID_SVXBMP_SHADOW_BOT_LEFT = u"svx/res/sh03.png"_ustr;
+inline constexpr OUString RID_SVXBMP_SHADOW_BOT_LEFT_32 = u"svx/res/shadow_bottom_left_32.png"_ustr;
+inline constexpr OUString RID_SVXBMP_SHADOW_TOP_RIGHT = u"svx/res/sh04.png"_ustr;
+inline constexpr OUString RID_SVXBMP_SHADOW_TOP_RIGHT_32 = u"svx/res/shadow_top_right_32.png"_ustr;
+inline constexpr OUString RID_SVXBMP_SHADOW_TOP_LEFT = u"svx/res/sh05.png"_ustr;
+inline constexpr OUString RID_SVXBMP_SHADOW_TOP_LEFT_32 = u"svx/res/shadow_top_left_32.png"_ustr;
+
+inline constexpr OUString RID_SVXBMP_BOTTOMLOCK = u"svx/res/lo01.png"_ustr;
+inline constexpr OUString RID_SVXBMP_TOPLOCK = u"svx/res/lo02.png"_ustr;
+inline constexpr OUString RID_SVXBMP_CELLLOCK = u"svx/res/lo03.png"_ustr;
+
+inline constexpr OUString RID_SVXBMP_LOCK = u"res/lock.png"_ustr;
+
+inline constexpr OUString RID_SVXBMP_THEME_NORMAL_BIG = u"svx/res/galnorl.png"_ustr;
+inline constexpr OUString RID_SVXBMP_THEME_READONLY_BIG = u"svx/res/galrdol.png"_ustr;
+inline constexpr OUString RID_SVXBMP_THEME_DEFAULT_BIG = u"svx/res/galdefl.png"_ustr;
+
+inline constexpr OUString RID_CUIBMP_HARDDISK = u"res/harddisk_16.png"_ustr;
+inline constexpr OUString RID_CUIBMP_LIB = u"res/im30820.png"_ustr;
+inline constexpr OUString RID_CUIBMP_MACRO = u"res/im30821.png"_ustr;
+inline constexpr OUString RID_CUIBMP_DOC = u"res/im30826.png"_ustr;
+
+inline constexpr OUString RID_SVXBMP_SCRIPT = u"res/script.png"_ustr;
+
+inline constexpr OUString RID_SVXBMP_LEGTYP1 = u"svx/res/legtyp1.png"_ustr;
+inline constexpr OUString RID_SVXBMP_LEGTYP2 = u"svx/res/legtyp2.png"_ustr;
+inline constexpr OUString RID_SVXBMP_LEGTYP3 = u"svx/res/legtyp3.png"_ustr;
+
+inline constexpr OUString RID_SVXBMP_COMPONENT = u"res/component_16.png"_ustr;
+inline constexpr OUString RID_SVXBMP_MACRO = u"svx/res/id018.png"_ustr;
+inline constexpr OUString RID_SVXBMP_COPY = u"cmd/sc_copy.png"_ustr;
+
+inline constexpr OUString RID_SVXBMP_STARS_FULL = u"cmd/sc_stars-full.png"_ustr;
+
+inline constexpr OUString RID_SVXBMP_TOTD_WRITER = u"res/tipoftheday_w.png"_ustr;
+inline constexpr OUString RID_SVXBMP_TOTD_CALC = u"res/tipoftheday_c.png"_ustr;
+inline constexpr OUString RID_SVXBMP_TOTD_DRAW = u"res/tipoftheday_d.png"_ustr;
+inline constexpr OUString RID_SVXBMP_TOTD_IMPRESS = u"res/tipoftheday_i.png"_ustr;
+inline constexpr OUString RID_SVXBMP_TOTD_SOFFICE = u"res/tipoftheday.png"_ustr;
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/cui/inc/dlgname.hxx b/cui/inc/dlgname.hxx
new file mode 100644
index 0000000000..9835661c4e
--- /dev/null
+++ b/cui/inc/dlgname.hxx
@@ -0,0 +1,186 @@
+/* -*- 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 .
+ */
+#pragma once
+
+#include <cui/cuidllapi.h>
+
+#include <vcl/formatter.hxx>
+#include <vcl/weld.hxx>
+#include <sal/log.hxx>
+
+/// Dialog for editing a name
+class CUI_DLLPUBLIC SvxNameDialog final : public weld::GenericDialogController
+{
+private:
+ std::unique_ptr<weld::Entry> m_xEdtName;
+ std::unique_ptr<weld::Label> m_xFtDescription;
+ std::unique_ptr<weld::Button> m_xBtnOK;
+
+ Link<SvxNameDialog&, bool> m_aCheckNameHdl;
+ Link<SvxNameDialog&, OUString> m_aCheckNameTooltipHdl;
+
+ DECL_LINK(ModifyHdl, weld::Entry&, void);
+
+public:
+ SvxNameDialog(weld::Window* pWindow, const OUString& rName, const OUString& rDesc,
+ const OUString& rTitle = "");
+
+ OUString GetName() const { return m_xEdtName->get_text(); }
+
+ /** add a callback Link that is called whenever the content of the edit
+ field is changed. The Link result determines whether the OK
+ Button is enabled (> 0) or disabled (== 0).
+
+ @param rLink a Callback declared with DECL_DLLPRIVATE_LINK and implemented with
+ IMPL_LINK, that is executed on modification.
+ */
+ void SetCheckNameHdl(const Link<SvxNameDialog&, bool>& rLink)
+ {
+ m_aCheckNameHdl = rLink;
+ ModifyHdl(*m_xEdtName);
+ }
+
+ void SetCheckNameTooltipHdl(const Link<SvxNameDialog&, OUString>& rLink)
+ {
+ m_aCheckNameTooltipHdl = rLink;
+ m_xBtnOK->set_tooltip_text(rLink.Call(*this));
+ }
+
+ void SetEditHelpId(const OUString& aHelpId) { m_xEdtName->set_help_id(aHelpId); }
+};
+
+/// Dialog for editing a number
+class CUI_DLLPUBLIC SvxNumberDialog final : public weld::GenericDialogController
+{
+private:
+ std::unique_ptr<weld::SpinButton> m_xEdtNumber;
+ std::unique_ptr<weld::Label> m_xFtDescription;
+
+public:
+ SvxNumberDialog(weld::Window* pWindow, const OUString& rDesc, sal_Int64 nValue, sal_Int64 nMin,
+ sal_Int64 nMax);
+
+ sal_Int64 GetNumber() const { return m_xEdtNumber->get_value(); }
+};
+
+class CUI_DLLPUBLIC SvxDecimalNumberDialog final : public weld::GenericDialogController
+{
+private:
+ std::unique_ptr<weld::FormattedSpinButton> m_xEdtNumber;
+ std::unique_ptr<weld::Label> m_xFtDescription;
+
+public:
+ SvxDecimalNumberDialog(weld::Window* pWindow, const OUString& rDesc, double fValue);
+
+ double GetNumber() const { return m_xEdtNumber->GetFormatter().GetValue(); }
+};
+
+/** #i68101#
+ Dialog for editing Object name
+ plus uniqueness-callback-linkHandler */
+class SvxObjectNameDialog final : public weld::GenericDialogController
+{
+private:
+ // name
+ std::unique_ptr<weld::Entry> m_xEdtName;
+
+ // buttons
+ std::unique_ptr<weld::Button> m_xBtnOK;
+
+ // callback link for name uniqueness
+ Link<SvxObjectNameDialog&, bool> aCheckNameHdl;
+
+ DECL_LINK(ModifyHdl, weld::Entry&, void);
+
+public:
+ // constructor
+ SvxObjectNameDialog(weld::Window* pWindow, const OUString& rName);
+
+ // data access
+ OUString GetName() const { return m_xEdtName->get_text(); }
+
+ // set handler
+ void SetCheckNameHdl(const Link<SvxObjectNameDialog&, bool>& rLink) { aCheckNameHdl = rLink; }
+};
+
+/** #i68101#
+ Dialog for editing Object Title and Description */
+class SvxObjectTitleDescDialog final : public weld::GenericDialogController
+{
+private:
+ // title
+ std::unique_ptr<weld::Label> m_xTitleFT;
+ std::unique_ptr<weld::Entry> m_xEdtTitle;
+
+ // description
+ std::unique_ptr<weld::Label> m_xDescriptionFT;
+ std::unique_ptr<weld::TextView> m_xEdtDescription;
+
+ std::unique_ptr<weld::CheckButton> m_xDecorativeCB;
+
+ DECL_LINK(DecorativeHdl, weld::Toggleable&, void);
+
+public:
+ // constructor
+ SvxObjectTitleDescDialog(weld::Window* pWindow, const OUString& rTitle, const OUString& rDesc,
+ bool isDecorative);
+ // data access
+ OUString GetTitle() const { return m_xEdtTitle->get_text(); }
+ OUString GetDescription() const { return m_xEdtDescription->get_text(); }
+ bool IsDecorative() const { return m_xDecorativeCB->get_active(); }
+};
+
+enum class ListMode
+{
+ String,
+ Int64,
+ Int32,
+ Int16,
+ Double
+};
+
+/** Generic dialog to edit lists */
+class SvxListDialog : public weld::GenericDialogController
+{
+private:
+ ListMode m_aMode;
+ std::unique_ptr<weld::TreeView> m_xList;
+ std::unique_ptr<weld::Button> m_xAddBtn;
+ std::unique_ptr<weld::Button> m_xRemoveBtn;
+ std::unique_ptr<weld::Button> m_xEditBtn;
+
+ DECL_LINK(SelectHdl_Impl, weld::TreeView&, void);
+ DECL_LINK(DblClickHdl_Impl, weld::TreeView&, bool);
+ DECL_LINK(AddHdl_Impl, weld::Button&, void);
+ DECL_LINK(RemoveHdl_Impl, weld::Button&, void);
+ DECL_LINK(EditHdl_Impl, weld::Button&, void);
+
+ void SelectionChanged();
+
+public:
+ explicit SvxListDialog(weld::Window* pParent);
+ virtual ~SvxListDialog() override;
+
+ std::vector<OUString> GetEntries();
+ void SetEntries(std::vector<OUString> const& rParams);
+ void EditEntry();
+ void SetMode(ListMode aMode);
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/inc/numcategories.hrc b/cui/inc/numcategories.hrc
new file mode 100644
index 0000000000..58f2a1d9d7
--- /dev/null
+++ b/cui/inc/numcategories.hrc
@@ -0,0 +1,31 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * 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/.
+ */
+
+#pragma once
+
+#include <unotools/resmgr.hxx>
+
+#define NC_(Context, String) TranslateId(Context, u8##String)
+
+const TranslateId NUM_CATEGORIES[] =
+{
+ NC_("numberingformatpage|liststore1", "All"),
+ NC_("numberingformatpage|liststore1", "User-defined"),
+ NC_("numberingformatpage|liststore1", "Number"),
+ NC_("numberingformatpage|liststore1", "Percent"),
+ NC_("numberingformatpage|liststore1", "Currency"),
+ NC_("numberingformatpage|liststore1", "Date"),
+ NC_("numberingformatpage|liststore1", "Time"),
+ NC_("numberingformatpage|liststore1", "Scientific"),
+ NC_("numberingformatpage|liststore1", "Fraction"),
+ NC_("numberingformatpage|liststore1", "Boolean Value"),
+ NC_("numberingformatpage|liststore1", "Text")
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/cui/inc/pch/precompiled_cui.cxx b/cui/inc/pch/precompiled_cui.cxx
new file mode 100644
index 0000000000..4188841e25
--- /dev/null
+++ b/cui/inc/pch/precompiled_cui.cxx
@@ -0,0 +1,12 @@
+/* -*- 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/.
+ */
+
+#include "precompiled_cui.hxx"
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/inc/pch/precompiled_cui.hxx b/cui/inc/pch/precompiled_cui.hxx
new file mode 100644
index 0000000000..3655744b08
--- /dev/null
+++ b/cui/inc/pch/precompiled_cui.hxx
@@ -0,0 +1,462 @@
+/* -*- 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 has been autogenerated by update_pch.sh. It is possible to edit it
+ manually (such as when an include file has been moved/renamed/removed). All such
+ manual changes will be rewritten by the next run of update_pch.sh (which presumably
+ also fixes all possible problems, so it's usually better to use it).
+
+ Generated on 2023-07-19 09:21:23 using:
+ ./bin/update_pch cui cui --cutoff=8 --exclude:system --include:module --exclude:local
+
+ If after updating build fails, use the following command to locate conflicting headers:
+ ./bin/update_pch_bisect ./cui/inc/pch/precompiled_cui.hxx "make cui.build" --find-conflicts
+*/
+
+#include <sal/config.h>
+#if PCH_LEVEL >= 1
+#include <algorithm>
+#include <array>
+#include <cassert>
+#include <chrono>
+#include <cmath>
+#include <cstddef>
+#include <cstdlib>
+#include <cstring>
+#include <deque>
+#include <float.h>
+#include <functional>
+#include <initializer_list>
+#include <iomanip>
+#include <iterator>
+#include <limits.h>
+#include <limits>
+#include <map>
+#include <math.h>
+#include <memory>
+#include <mutex>
+#include <new>
+#include <numeric>
+#include <optional>
+#include <ostream>
+#include <set>
+#include <span>
+#include <stddef.h>
+#include <stdexcept>
+#include <string.h>
+#include <string>
+#include <string_view>
+#include <type_traits>
+#include <typeinfo>
+#include <unordered_map>
+#include <unordered_set>
+#include <utility>
+#include <vector>
+#include <boost/property_tree/ptree_fwd.hpp>
+#endif // PCH_LEVEL >= 1
+#if PCH_LEVEL >= 2
+#include <osl/diagnose.h>
+#include <osl/doublecheckedlocking.h>
+#include <osl/endian.h>
+#include <osl/file.hxx>
+#include <osl/getglobalmutex.hxx>
+#include <osl/interlck.h>
+#include <osl/mutex.h>
+#include <osl/mutex.hxx>
+#include <osl/process.h>
+#include <osl/security.hxx>
+#include <osl/thread.h>
+#include <rtl/alloc.h>
+#include <rtl/bootstrap.hxx>
+#include <rtl/character.hxx>
+#include <rtl/instance.hxx>
+#include <rtl/math.h>
+#include <rtl/ref.hxx>
+#include <rtl/strbuf.h>
+#include <rtl/strbuf.hxx>
+#include <rtl/string.h>
+#include <rtl/string.hxx>
+#include <rtl/stringconcat.hxx>
+#include <rtl/stringutils.hxx>
+#include <rtl/textcvt.h>
+#include <rtl/textenc.h>
+#include <rtl/ustrbuf.h>
+#include <rtl/ustrbuf.hxx>
+#include <rtl/ustring.h>
+#include <rtl/ustring.hxx>
+#include <sal/backtrace.hxx>
+#include <sal/log.hxx>
+#include <sal/macros.h>
+#include <sal/saldllapi.h>
+#include <sal/types.h>
+#include <sal/typesizes.h>
+#include <vcl/BinaryDataContainer.hxx>
+#include <vcl/BitmapFilter.hxx>
+#include <vcl/GraphicAttributes.hxx>
+#include <vcl/GraphicExternalLink.hxx>
+#include <vcl/GraphicObject.hxx>
+#include <vcl/IDialogRenderable.hxx>
+#include <vcl/Scanline.hxx>
+#include <vcl/WindowPosSize.hxx>
+#include <vcl/alpha.hxx>
+#include <vcl/animate/Animation.hxx>
+#include <vcl/animate/AnimationFrame.hxx>
+#include <vcl/bitmap.hxx>
+#include <vcl/bitmap/BitmapTypes.hxx>
+#include <vcl/bitmapex.hxx>
+#include <vcl/builderpage.hxx>
+#include <vcl/cairo.hxx>
+#include <vcl/checksum.hxx>
+#include <vcl/customweld.hxx>
+#include <vcl/dllapi.h>
+#include <vcl/event.hxx>
+#include <vcl/fntstyle.hxx>
+#include <vcl/font.hxx>
+#include <vcl/gfxlink.hxx>
+#include <vcl/gradient.hxx>
+#include <vcl/graph.hxx>
+#include <vcl/idle.hxx>
+#include <vcl/image.hxx>
+#include <vcl/kernarray.hxx>
+#include <vcl/keycodes.hxx>
+#include <vcl/mapmod.hxx>
+#include <vcl/metaactiontypes.hxx>
+#include <vcl/metric.hxx>
+#include <vcl/outdev.hxx>
+#include <vcl/region.hxx>
+#include <vcl/rendercontext/AddFontSubstituteFlags.hxx>
+#include <vcl/rendercontext/AntialiasingFlags.hxx>
+#include <vcl/rendercontext/DrawGridFlags.hxx>
+#include <vcl/rendercontext/DrawImageFlags.hxx>
+#include <vcl/rendercontext/DrawModeFlags.hxx>
+#include <vcl/rendercontext/DrawTextFlags.hxx>
+#include <vcl/rendercontext/GetDefaultFontFlags.hxx>
+#include <vcl/rendercontext/ImplMapRes.hxx>
+#include <vcl/rendercontext/InvertFlags.hxx>
+#include <vcl/rendercontext/RasterOp.hxx>
+#include <vcl/rendercontext/SalLayoutFlags.hxx>
+#include <vcl/rendercontext/State.hxx>
+#include <vcl/rendercontext/SystemTextColorFlags.hxx>
+#include <vcl/salnativewidgets.hxx>
+#include <vcl/settings.hxx>
+#include <vcl/svapp.hxx>
+#include <vcl/syswin.hxx>
+#include <vcl/task.hxx>
+#include <vcl/timer.hxx>
+#include <vcl/transfer.hxx>
+#include <vcl/uitest/factory.hxx>
+#include <vcl/vclenum.hxx>
+#include <vcl/vclptr.hxx>
+#include <vcl/vclreferencebase.hxx>
+#include <vcl/vectorgraphicdata.hxx>
+#include <vcl/virdev.hxx>
+#include <vcl/wall.hxx>
+#include <vcl/weld.hxx>
+#include <vcl/window.hxx>
+#include <vcl/windowstate.hxx>
+#include <vcl/wintypes.hxx>
+#endif // PCH_LEVEL >= 2
+#if PCH_LEVEL >= 3
+#include <basegfx/basegfxdllapi.h>
+#include <basegfx/color/bcolor.hxx>
+#include <basegfx/matrix/b2dhommatrix.hxx>
+#include <basegfx/matrix/hommatrixtemplate.hxx>
+#include <basegfx/numeric/ftools.hxx>
+#include <basegfx/point/b2dpoint.hxx>
+#include <basegfx/point/b2ipoint.hxx>
+#include <basegfx/polygon/b2dpolygon.hxx>
+#include <basegfx/polygon/b2dpolypolygon.hxx>
+#include <basegfx/range/Range2D.hxx>
+#include <basegfx/range/b2drange.hxx>
+#include <basegfx/range/b2drectangle.hxx>
+#include <basegfx/range/basicrange.hxx>
+#include <basegfx/tuple/Size2D.hxx>
+#include <basegfx/tuple/Tuple2D.hxx>
+#include <basegfx/tuple/Tuple3D.hxx>
+#include <basegfx/tuple/b2dtuple.hxx>
+#include <basegfx/tuple/b2ituple.hxx>
+#include <basegfx/tuple/b3dtuple.hxx>
+#include <basegfx/utils/common.hxx>
+#include <basegfx/vector/b2dsize.hxx>
+#include <basegfx/vector/b2dvector.hxx>
+#include <basegfx/vector/b2enums.hxx>
+#include <basegfx/vector/b2isize.hxx>
+#include <basegfx/vector/b2ivector.hxx>
+#include <basic/basicdllapi.h>
+#include <basic/sbxdef.hxx>
+#include <com/sun/star/awt/DeviceInfo.hpp>
+#include <com/sun/star/awt/GradientStyle.hpp>
+#include <com/sun/star/awt/Key.hpp>
+#include <com/sun/star/awt/KeyGroup.hpp>
+#include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/container/XNameAccess.hpp>
+#include <com/sun/star/datatransfer/DataFlavor.hpp>
+#include <com/sun/star/datatransfer/XTransferable2.hpp>
+#include <com/sun/star/datatransfer/clipboard/XClipboard.hpp>
+#include <com/sun/star/datatransfer/clipboard/XClipboardOwner.hpp>
+#include <com/sun/star/datatransfer/dnd/DNDConstants.hpp>
+#include <com/sun/star/datatransfer/dnd/DropTargetDragEvent.hpp>
+#include <com/sun/star/datatransfer/dnd/DropTargetDropEvent.hpp>
+#include <com/sun/star/datatransfer/dnd/XDragGestureListener.hpp>
+#include <com/sun/star/datatransfer/dnd/XDragSourceListener.hpp>
+#include <com/sun/star/datatransfer/dnd/XDropTargetListener.hpp>
+#include <com/sun/star/drawing/LineCap.hpp>
+#include <com/sun/star/drawing/TextFitToSizeType.hpp>
+#include <com/sun/star/embed/Aspects.hpp>
+#include <com/sun/star/form/FormComponentType.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
+#include <com/sun/star/frame/DispatchInformation.hpp>
+#include <com/sun/star/frame/XFrame.hpp>
+#include <com/sun/star/frame/XModel.hpp>
+#include <com/sun/star/frame/XTerminateListener.hpp>
+#include <com/sun/star/graphic/XGraphic.hpp>
+#include <com/sun/star/graphic/XPrimitive2D.hpp>
+#include <com/sun/star/i18n/ForbiddenCharacters.hpp>
+#include <com/sun/star/i18n/LanguageCountryInfo.hpp>
+#include <com/sun/star/i18n/LocaleDataItem2.hpp>
+#include <com/sun/star/i18n/LocaleItem.hpp>
+#include <com/sun/star/i18n/ScriptType.hpp>
+#include <com/sun/star/i18n/TransliterationModules.hpp>
+#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
+#include <com/sun/star/i18n/WordType.hpp>
+#include <com/sun/star/i18n/reservedWords.hpp>
+#include <com/sun/star/io/XInputStream.hpp>
+#include <com/sun/star/io/XOutputStream.hpp>
+#include <com/sun/star/io/XSeekable.hpp>
+#include <com/sun/star/io/XStream.hpp>
+#include <com/sun/star/io/XTruncate.hpp>
+#include <com/sun/star/lang/DisposedException.hpp>
+#include <com/sun/star/lang/EventObject.hpp>
+#include <com/sun/star/lang/Locale.hpp>
+#include <com/sun/star/lang/XComponent.hpp>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/lang/XTypeProvider.hpp>
+#include <com/sun/star/script/browse/XBrowseNode.hpp>
+#include <com/sun/star/style/NumberingType.hpp>
+#include <com/sun/star/style/XStyle.hpp>
+#include <com/sun/star/text/textfield/Type.hpp>
+#include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp>
+#include <com/sun/star/ui/dialogs/TemplateDescription.hpp>
+#include <com/sun/star/uno/Any.h>
+#include <com/sun/star/uno/Any.hxx>
+#include <com/sun/star/uno/Reference.h>
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/RuntimeException.hpp>
+#include <com/sun/star/uno/Sequence.h>
+#include <com/sun/star/uno/Sequence.hxx>
+#include <com/sun/star/uno/Type.h>
+#include <com/sun/star/uno/Type.hxx>
+#include <com/sun/star/uno/TypeClass.hdl>
+#include <com/sun/star/uno/XComponentContext.hpp>
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/XWeak.hpp>
+#include <com/sun/star/uno/genfunc.h>
+#include <com/sun/star/uno/genfunc.hxx>
+#include <com/sun/star/util/Date.hpp>
+#include <com/sun/star/util/DateTime.hpp>
+#include <com/sun/star/util/SearchAlgorithms.hpp>
+#include <com/sun/star/util/SearchAlgorithms2.hpp>
+#include <com/sun/star/util/SearchOptions2.hpp>
+#include <com/sun/star/util/Time.hpp>
+#include <com/sun/star/util/XAccounting.hpp>
+#include <comphelper/compbase.hxx>
+#include <comphelper/comphelperdllapi.h>
+#include <comphelper/diagnose_ex.hxx>
+#include <comphelper/errcode.hxx>
+#include <comphelper/interfacecontainer4.hxx>
+#include <comphelper/lok.hxx>
+#include <comphelper/processfactory.hxx>
+#include <comphelper/propertyvalue.hxx>
+#include <comphelper/string.hxx>
+#include <comphelper/unoimplbase.hxx>
+#include <cppu/cppudllapi.h>
+#include <cppu/unotype.hxx>
+#include <cppuhelper/cppuhelperdllapi.h>
+#include <cppuhelper/implbase.hxx>
+#include <cppuhelper/implbase_ex.hxx>
+#include <cppuhelper/implbase_ex_post.hxx>
+#include <cppuhelper/implbase_ex_pre.hxx>
+#include <cppuhelper/queryinterface.hxx>
+#include <cppuhelper/weak.hxx>
+#include <cppuhelper/weakref.hxx>
+#include <docmodel/color/ComplexColor.hxx>
+#include <docmodel/color/Transformation.hxx>
+#include <docmodel/dllapi.h>
+#include <docmodel/theme/ThemeColorType.hxx>
+#include <drawinglayer/drawinglayerdllapi.h>
+#include <drawinglayer/geometry/viewinformation2d.hxx>
+#include <drawinglayer/primitive2d/CommonTypes.hxx>
+#include <drawinglayer/primitive2d/Primitive2DContainer.hxx>
+#include <drawinglayer/primitive2d/Primitive2DVisitor.hxx>
+#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
+#include <editeng/editdata.hxx>
+#include <editeng/editengdllapi.h>
+#include <editeng/editstat.hxx>
+#include <editeng/editview.hxx>
+#include <editeng/eedata.hxx>
+#include <editeng/flditem.hxx>
+#include <editeng/forbiddencharacterstable.hxx>
+#include <editeng/outliner.hxx>
+#include <editeng/outlobj.hxx>
+#include <editeng/overflowingtxt.hxx>
+#include <editeng/paragraphdata.hxx>
+#include <editeng/svxenum.hxx>
+#include <editeng/svxfont.hxx>
+#include <i18nlangtag/lang.h>
+#include <i18nlangtag/languagetag.hxx>
+#include <i18nutil/i18nutildllapi.h>
+#include <i18nutil/searchopt.hxx>
+#include <i18nutil/transliteration.hxx>
+#include <o3tl/cow_wrapper.hxx>
+#include <o3tl/deleter.hxx>
+#include <o3tl/enumarray.hxx>
+#include <o3tl/hash_combine.hxx>
+#include <o3tl/safeint.hxx>
+#include <o3tl/sorted_vector.hxx>
+#include <o3tl/string_view.hxx>
+#include <o3tl/strong_int.hxx>
+#include <o3tl/typed_flags_set.hxx>
+#include <o3tl/underlyingenumvalue.hxx>
+#include <o3tl/unit_conversion.hxx>
+#include <officecfg/Office/Common.hxx>
+#include <salhelper/salhelperdllapi.h>
+#include <salhelper/simplereferenceobject.hxx>
+#include <salhelper/thread.hxx>
+#include <sfx2/app.hxx>
+#include <sfx2/basedlgs.hxx>
+#include <sfx2/bindings.hxx>
+#include <sfx2/dllapi.h>
+#include <sfx2/filedlghelper.hxx>
+#include <sfx2/objsh.hxx>
+#include <sfx2/shell.hxx>
+#include <sfx2/tabdlg.hxx>
+#include <sfx2/viewfrm.hxx>
+#include <sot/exchange.hxx>
+#include <sot/formats.hxx>
+#include <sot/sotdllapi.h>
+#include <svl/SfxBroadcaster.hxx>
+#include <svl/cjkoptions.hxx>
+#include <svl/custritm.hxx>
+#include <svl/eitem.hxx>
+#include <svl/hint.hxx>
+#include <svl/intitem.hxx>
+#include <svl/itempool.hxx>
+#include <svl/itemset.hxx>
+#include <svl/languageoptions.hxx>
+#include <svl/lstner.hxx>
+#include <svl/macitem.hxx>
+#include <svl/poolitem.hxx>
+#include <svl/setitem.hxx>
+#include <svl/stritem.hxx>
+#include <svl/style.hxx>
+#include <svl/stylesheetuser.hxx>
+#include <svl/svldllapi.h>
+#include <svl/typedwhich.hxx>
+#include <svl/undo.hxx>
+#include <svl/whichranges.hxx>
+#include <svtools/colorcfg.hxx>
+#include <svtools/svtdllapi.h>
+#include <svtools/unitconv.hxx>
+#include <svtools/valueset.hxx>
+#include <svx/colorbox.hxx>
+#include <svx/dialmgr.hxx>
+#include <svx/dlgutil.hxx>
+#include <svx/ipolypolygoneditorcontroller.hxx>
+#include <svx/itextprovider.hxx>
+#include <svx/langbox.hxx>
+#include <svx/rectenum.hxx>
+#include <svx/sdmetitm.hxx>
+#include <svx/sdr/animation/scheduler.hxx>
+#include <svx/sdr/overlay/overlayobject.hxx>
+#include <svx/sdr/overlay/overlayobjectlist.hxx>
+#include <svx/sdr/properties/defaultproperties.hxx>
+#include <svx/sdr/properties/properties.hxx>
+#include <svx/sdrobjectuser.hxx>
+#include <svx/sdtaditm.hxx>
+#include <svx/sdtaitm.hxx>
+#include <svx/sdtakitm.hxx>
+#include <svx/sdynitm.hxx>
+#include <svx/svddef.hxx>
+#include <svx/svddrag.hxx>
+#include <svx/svdedtv.hxx>
+#include <svx/svdglue.hxx>
+#include <svx/svdhdl.hxx>
+#include <svx/svdhlpln.hxx>
+#include <svx/svdlayer.hxx>
+#include <svx/svdmark.hxx>
+#include <svx/svdmodel.hxx>
+#include <svx/svdmrkv.hxx>
+#include <svx/svdoattr.hxx>
+#include <svx/svdobj.hxx>
+#include <svx/svdobjkind.hxx>
+#include <svx/svdoedge.hxx>
+#include <svx/svdotext.hxx>
+#include <svx/svdpntv.hxx>
+#include <svx/svdsnpv.hxx>
+#include <svx/svdsob.hxx>
+#include <svx/svdtext.hxx>
+#include <svx/svdtrans.hxx>
+#include <svx/svdtypes.hxx>
+#include <svx/svdundo.hxx>
+#include <svx/svxdlg.hxx>
+#include <svx/svxdllapi.h>
+#include <svx/xdef.hxx>
+#include <svx/xfillit0.hxx>
+#include <svx/xit.hxx>
+#include <svx/xpoly.hxx>
+#include <svx/xtable.hxx>
+#include <tools/color.hxx>
+#include <tools/date.hxx>
+#include <tools/datetime.hxx>
+#include <tools/debug.hxx>
+#include <tools/degree.hxx>
+#include <tools/fldunit.hxx>
+#include <tools/fontenum.hxx>
+#include <tools/fract.hxx>
+#include <tools/gen.hxx>
+#include <tools/globname.hxx>
+#include <tools/helpers.hxx>
+#include <tools/lineend.hxx>
+#include <tools/link.hxx>
+#include <tools/long.hxx>
+#include <tools/mapunit.hxx>
+#include <tools/poly.hxx>
+#include <tools/ref.hxx>
+#include <tools/solar.h>
+#include <tools/stream.hxx>
+#include <tools/time.hxx>
+#include <tools/toolsdllapi.h>
+#include <tools/urlobj.hxx>
+#include <tools/weakbase.h>
+#include <typelib/typeclass.h>
+#include <typelib/typedescription.h>
+#include <typelib/uik.h>
+#include <uno/any2.h>
+#include <uno/data.h>
+#include <uno/sequence2.h>
+#include <unotools/fontdefs.hxx>
+#include <unotools/options.hxx>
+#include <unotools/pathoptions.hxx>
+#include <unotools/resmgr.hxx>
+#include <unotools/syslocale.hxx>
+#include <unotools/tempfile.hxx>
+#include <unotools/unotoolsdllapi.h>
+#include <unotools/weakref.hxx>
+#endif // PCH_LEVEL >= 3
+#if PCH_LEVEL >= 4
+#include <cfgutil.hxx>
+#include <cuitabarea.hxx>
+#include <dialmgr.hxx>
+#include <helpids.h>
+#endif // PCH_LEVEL >= 4
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/inc/personas.hrc b/cui/inc/personas.hrc
new file mode 100644
index 0000000000..6b101717dc
--- /dev/null
+++ b/cui/inc/personas.hrc
@@ -0,0 +1,30 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * 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/.
+ */
+
+#pragma once
+
+#include <sal/types.h>
+#include <unotools/resmgr.hxx>
+
+#include <utility>
+
+#define NC_(Context, String) TranslateId(Context, u8##String)
+
+// it must be synchronized with extras/source/gallery/personas/personas_list.txt
+std::pair<TranslateId, sal_uInt16> RID_PERSONAS_COLOR[] =
+{
+ { NC_("RID_CUI_PERSONAS_COLOR", "White") , 0 },
+ { NC_("RID_CUI_PERSONAS_COLOR", "Gray") , 1 },
+ { NC_("RID_CUI_PERSONAS_COLOR", "Dark") , 2 },
+ { NC_("RID_CUI_PERSONAS_COLOR", "Pink") , 3 },
+ { NC_("RID_CUI_PERSONAS_COLOR", "Sand") , 4 },
+ { NC_("RID_CUI_PERSONAS_COLOR", "Green") , 5 },
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/cui/inc/strings.hrc b/cui/inc/strings.hrc
new file mode 100644
index 0000000000..f525269445
--- /dev/null
+++ b/cui/inc/strings.hrc
@@ -0,0 +1,407 @@
+/* -*- 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 .
+ */
+#pragma once
+
+#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")
+#define RID_CUISTR_KEY_BACKUP_PATH NC_("RID_SVXSTR_KEY_BACKUP_PATH", "Backups")
+#define RID_CUISTR_KEY_TEMPLATE_PATH NC_("RID_SVXSTR_KEY_TEMPLATE_PATH", "Templates")
+#define RID_CUISTR_KEY_GLOSSARY_PATH NC_("RID_SVXSTR_KEY_GLOSSARY_PATH", "AutoText")
+#define RID_CUISTR_KEY_DICTIONARY_PATH NC_("RID_SVXSTR_KEY_DICTIONARY_PATH", "Dictionaries")
+#define RID_CUISTR_KEY_HELP_DIR NC_("RID_SVXSTR_KEY_HELP_DIR", "Help")
+#define RID_CUISTR_KEY_GALLERY_DIR NC_("RID_SVXSTR_KEY_GALLERY_DIR", "Gallery")
+#define RID_CUISTR_KEY_TEMP_PATH NC_("RID_SVXSTR_KEY_TEMP_PATH", "Temporary files")
+#define RID_CUISTR_KEY_CLASSIFICATION_PATH NC_("RID_SVXSTR_KEY_CLASSIFICATION_PATH", "Classification")
+#define RID_CUISTR_KEY_AUTOCORRECT_DIR NC_("RID_SVXSTR_KEY_AUTOCORRECT_DIR", "AutoCorrect")
+#define RID_CUISTR_KEY_LINGUISTIC_DIR NC_("RID_SVXSTR_KEY_LINGUISTIC_DIR", "Writing aids")
+/* %n will be replaced at runtime by a number starting with 1 and increasing as necessary */
+#define RID_CUISTR_NEW_MENU NC_("RID_SVXSTR_NEW_MENU", "New Menu %n")
+/* %n will be replaced at runtime by a number starting with 1 and increasing as necessary */
+#define RID_CUISTR_NEW_TOOLBAR NC_("RID_SVXSTR_NEW_TOOLBAR", "New Toolbar %n")
+#define RID_CUISTR_MOVE_MENU NC_("RID_SVXSTR_MOVE_MENU", "Move Menu")
+#define RID_CUISTR_ADD_SUBMENU NC_("RID_SVXSTR_ADD_SUBMENU", "Add Submenu")
+#define RID_CUISTR_SUBMENU_NAME NC_("RID_SVXSTR_SUBMENU_NAME", "Submenu name")
+#define RID_CUISTR_DELETE_ICON_CONFIRM NC_("RID_SVXSTR_DELETE_ICON_CONFIRM", "Are you sure to delete the image?")
+#define RID_CUISTR_REPLACE_ICON_WARNING NC_("RID_SVXSTR_REPLACE_ICON_WARNING", "The icon %ICONNAME is already contained in the image list.\nWould you like to replace the existing icon?")
+#define RID_CUISTR_REPLACE_ICON_CONFIRM NC_("RID_SVXSTR_REPLACE_ICON_CONFIRM", "Confirm Icon Replacement")
+#define RID_CUISTR_YESTOALL NC_("RID_SVXSTR_YESTOALL", "Yes to All")
+#define RID_SXVSTR_CONFIRM_DELETE_TOOLBAR NC_("RID_SXVSTR_CONFIRM_DELETE_TOOLBAR", "There are no more commands on the toolbar. Do you want to delete the toolbar?")
+/* Translators: Do not translate %SAVE IN SELECTION% It is a placeholder
+ and will be replaced at runtime by the name of the selected application
+ or document.
+*/
+#define RID_CUISTR_CONFIRM_MENU_RESET NC_("RID_SVXSTR_CONFIRM_MENU_RESET", "The menu configuration for %SAVE IN SELECTION% will be reset to the default settings. Do you want to continue?")
+#define RID_CUISTR_CONFIRM_TOOLBAR_RESET NC_("RID_SVXSTR_CONFIRM_TOOLBAR_RESET", "The toolbar configuration for %SAVE IN SELECTION% will be reset to the default settings. Do you want to continue?")
+#define RID_CUISTR_CONFIRM_RESTORE_DEFAULT NC_("RID_SVXSTR_CONFIRM_RESTORE_DEFAULT", "This will delete all changes previously made to this toolbar. Do you really want to reset the toolbar?")
+#define RID_CUISTR_CONFIRM_RESTORE_DEFAULT_MENU NC_("RID_SVXSTR_CONFIRM_RESTORE_DEFAULT_MENU", "This will delete all changes previously made to this context menu. Do you really want to reset?")
+#define RID_CUISTR_LABEL_NEW_NAME NC_("RID_SVXSTR_LABEL_NEW_NAME", "~New name")
+#define RID_CUISTR_RENAME_MENU NC_("RID_SVXSTR_RENAME_MENU", "Rename Menu")
+#define RID_CUISTR_RENAME_TOOLBAR NC_("RID_SVXSTR_RENAME_TOOLBAR", "Rename Toolbar")
+#define RID_CUISTR_ALL_COMMANDS NC_("RID_SVXSTR_ALL_COMMANDS", "All Commands")
+#define RID_CUISTR_TABBED NC_("RID_SVXSTR_TABBED", "Tabbed")
+#define RID_CUISTR_TABBED_COMPACT NC_("RID_SVXSTR_TABBED_COMPACT", "Tabbed Compact")
+#define RID_CUISTR_GROUPEDBAR NC_("RID_SVXSTR_GROUPEDBAR", "Groupedbar")
+#define RID_CUISTR_GROUPEDBAR_COMPACT NC_("RID_SVXSTR_GROUPEDBAR_COMPACT", "Groupedbar Compact")
+
+#define RID_CUISTR_HYPDLG_CLOSEBUT NC_("RID_SVXSTR_HYPDLG_CLOSEBUT", "Close")
+#define RID_CUISTR_HYPDLG_MACROACT1 NC_("RID_SVXSTR_HYPDLG_MACROACT1", "Mouse over object")
+#define RID_CUISTR_HYPDLG_MACROACT2 NC_("RID_SVXSTR_HYPDLG_MACROACT2", "Trigger hyperlink")
+#define RID_CUISTR_HYPDLG_MACROACT3 NC_("RID_SVXSTR_HYPDLG_MACROACT3", "Mouse leaves object")
+#define RID_CUISTR_HYPERDLG_FORM_BUTTON NC_("RID_SVXSTR_HYPERDLG_FORM_BUTTON", "Button")
+#define RID_CUISTR_HYPERDLG_FROM_TEXT NC_("RID_SVXSTR_HYPERDLG_FROM_TEXT", "Text")
+#define RID_CUISTR_HYPERDLG_QUERYOVERWRITE NC_("RID_SVXSTR_HYPERDLG_QUERYOVERWRITE", "The file already exists. Overwrite?")
+
+#define RID_CUISTR_SELECT_FILE_IFRAME NC_("RID_SVXSTR_SELECT_FILE_IFRAME", "Select File for Floating Frame")
+#define RID_CUISTR_ALLFUNCTIONS NC_("RID_SVXSTR_ALLFUNCTIONS", "All commands")
+#define RID_CUISTR_MACROS NC_("RID_SVXSTR_MACROS", "Macros")
+#define RID_CUISTR_MYMACROS NC_("RID_SVXSTR_MYMACROS", "My Macros")
+#define RID_CUISTR_PRODMACROS NC_("RID_SVXSTR_PRODMACROS", "Application Macros")
+#define RID_CUISTR_NOMACRODESC NC_("RID_SVXSTR_NOMACRODESC", "There is no description available for this macro.")
+#define RID_CUISTR_SELECTOR_RUN NC_("RID_SVXSTR_SELECTOR_RUN", "Run")
+#define RID_CUISTR_ROW NC_("RID_SVXSTR_ROW", "Insert Rows")
+// tdf#119293 Labels depending on row/col
+#define RID_CUISTR_INSERTROW_BEFORE NC_("RID_SVXSTR_INSERTROW_BEFORE", "Above selection")
+#define RID_CUISTR_INSERTROW_AFTER NC_("RID_SVXSTR_INSERTROW_AFTER", "Below selection")
+#define RID_CUISTR_REMOVE_FAVORITES NC_("RID_SVXSTR_REMOVE_FAVORITES", "Remove from Favorites")
+#define RID_CUISTR_MISSING_CHAR NC_("RID_SVXSTR_MISSING_CHAR", "Missing character")
+#define RID_CUISTR_ADD_FAVORITES NC_("RID_SVXSTR_ADD_FAVORITES", "Add to Favorites")
+// PPI is pixel per inch, %1 is a number
+#define RID_CUISTR_PPI NC_("RID_SVXSTR_PPI", "(%1 PPI)")
+#define RID_CUISTR_COL NC_("RID_SVXSTR_COL", "Insert Columns")
+// tdf#119293 Labels depending on row/col
+#define RID_CUISTR_INSERTCOL_BEFORE NC_("RID_SVXSTR_INSERTCOL_BEFORE", "Before selection")
+#define RID_CUISTR_INSERTCOL_AFTER NC_("RID_SVXSTR_INSERTCOL_AFTER", "After selection")
+#define RID_CUISTR_AUTO_ENTRY NC_("RID_SVXSTR_AUTO_ENTRY", "Automatic")
+#define RID_CUISTR_EDIT_GRAPHIC NC_("RID_SVXSTR_EDIT_GRAPHIC", "Link")
+#define RID_CUISTR_LOADACCELCONFIG NC_("RID_SVXSTR_LOADACCELCONFIG", "Load Keyboard Configuration")
+#define RID_CUISTR_SAVEACCELCONFIG NC_("RID_SVXSTR_SAVEACCELCONFIG", "Save Keyboard Configuration")
+#define RID_CUISTR_FILTERNAME_CFG NC_("RID_SVXSTR_FILTERNAME_CFG", "Configuration (*.cfg)")
+#define RID_CUISTR_HYPDLG_ERR_LERR_NOENTRIES NC_("RID_SVXSTR_HYPDLG_ERR_LERR_NOENTRIES", "Targets do not exist in the document.")
+#define RID_CUISTR_HYPDLG_ERR_LERR_DOCNOTOPEN NC_("RID_SVXSTR_HYPDLG_ERR_LERR_DOCNOTOPEN", "Couldn't open the document.")
+#define RID_CUISTR_EDITHINT NC_("RID_SVXSTR_EDITHINT", "[Enter text here]")
+#define RID_CUISTR_HANGUL NC_("RID_SVXSTR_HANGUL", "Hangul")
+#define RID_CUISTR_HANJA NC_("RID_SVXSTR_HANJA", "Hanja")
+#define RID_CUISTR_GROUP_STYLES NC_("RID_SVXSTR_GROUP_STYLES", "Styles")
+#define RID_CUISTR_GROUP_SIDEBARDECKS NC_("RID_SVXSTR_GROUP_SIDEBARDECKS", "Sidebar Decks")
+
+#define RID_CUISTR_EVENT_STARTAPP NC_("RID_SVXSTR_EVENT_STARTAPP", "Start Application")
+#define RID_CUISTR_EVENT_CLOSEAPP NC_("RID_SVXSTR_EVENT_CLOSEAPP", "Close Application")
+#define RID_CUISTR_EVENT_NEWDOC NC_("RID_SVXSTR_EVENT_NEWDOC", "New Document")
+#define RID_CUISTR_EVENT_CLOSEDOC NC_("RID_SVXSTR_EVENT_CLOSEDOC", "Document closed")
+#define RID_CUISTR_EVENT_PREPARECLOSEDOC NC_("RID_SVXSTR_EVENT_PREPARECLOSEDOC", "Document is going to be closed")
+#define RID_CUISTR_EVENT_OPENDOC NC_("RID_SVXSTR_EVENT_OPENDOC", "Open Document")
+#define RID_CUISTR_EVENT_SAVEDOC NC_("RID_SVXSTR_EVENT_SAVEDOC", "Save Document")
+#define RID_CUISTR_EVENT_SAVEASDOC NC_("RID_SVXSTR_EVENT_SAVEASDOC", "Save Document As")
+#define RID_CUISTR_EVENT_SAVEDOCDONE NC_("RID_SVXSTR_EVENT_SAVEDOCDONE", "Document has been saved")
+#define RID_CUISTR_EVENT_SAVEASDOCDONE NC_("RID_SVXSTR_EVENT_SAVEASDOCDONE", "Document has been saved as")
+#define RID_CUISTR_EVENT_ACTIVATEDOC NC_("RID_SVXSTR_EVENT_ACTIVATEDOC", "Activate Document")
+#define RID_CUISTR_EVENT_DEACTIVATEDOC NC_("RID_SVXSTR_EVENT_DEACTIVATEDOC", "Deactivate Document")
+#define RID_CUISTR_EVENT_PRINTDOC NC_("RID_SVXSTR_EVENT_PRINTDOC", "Print Document")
+#define RID_CUISTR_EVENT_MODIFYCHANGED NC_("RID_SVXSTR_EVENT_MODIFYCHANGED", "'Modified' status was changed")
+#define RID_CUISTR_EVENT_MAILMERGE NC_("RID_SVXSTR_EVENT_MAILMERGE", "Printing of form letters started")
+#define RID_CUISTR_EVENT_MAILMERGE_END NC_("RID_SVXSTR_EVENT_MAILMERGE_END", "Printing of form letters finished")
+#define RID_CUISTR_EVENT_FIELDMERGE NC_("RID_SVXSTR_EVENT_FIELDMERGE", "Merging of form fields started")
+#define RID_CUISTR_EVENT_FIELDMERGE_FINISHED NC_("RID_SVXSTR_EVENT_FIELDMERGE_FINISHED", "Merging of form fields finished")
+#define RID_CUISTR_EVENT_PAGECOUNTCHANGE NC_("RID_SVXSTR_EVENT_PAGECOUNTCHANGE", "Changing the page count")
+#define RID_CUISTR_EVENT_SUBCOMPONENT_OPENED NC_("RID_SVXSTR_EVENT_SUBCOMPONENT_OPENED", "Loaded a sub component")
+#define RID_CUISTR_EVENT_SUBCOMPONENT_CLOSED NC_("RID_SVXSTR_EVENT_SUBCOMPONENT_CLOSED", "Closed a sub component")
+#define RID_CUISTR_EVENT_APPROVEPARAMETER NC_("RID_SVXSTR_EVENT_APPROVEPARAMETER", "Fill parameters")
+#define RID_CUISTR_EVENT_ACTIONPERFORMED NC_("RID_SVXSTR_EVENT_ACTIONPERFORMED", "Execute action")
+#define RID_CUISTR_EVENT_AFTERUPDATE NC_("RID_SVXSTR_EVENT_AFTERUPDATE", "After updating")
+#define RID_CUISTR_EVENT_BEFOREUPDATE NC_("RID_SVXSTR_EVENT_BEFOREUPDATE", "Before updating")
+#define RID_CUISTR_EVENT_APPROVEROWCHANGE NC_("RID_SVXSTR_EVENT_APPROVEROWCHANGE", "Before record action")
+#define RID_CUISTR_EVENT_ROWCHANGE NC_("RID_SVXSTR_EVENT_ROWCHANGE", "After record action")
+#define RID_CUISTR_EVENT_CONFIRMDELETE NC_("RID_SVXSTR_EVENT_CONFIRMDELETE", "Confirm deletion")
+#define RID_CUISTR_EVENT_ERROROCCURRED NC_("RID_SVXSTR_EVENT_ERROROCCURRED", "Error occurred")
+#define RID_CUISTR_EVENT_ADJUSTMENTVALUECHANGED NC_("RID_SVXSTR_EVENT_ADJUSTMENTVALUECHANGED", "While adjusting")
+#define RID_CUISTR_EVENT_FOCUSGAINED NC_("RID_SVXSTR_EVENT_FOCUSGAINED", "When receiving focus")
+#define RID_CUISTR_EVENT_FOCUSLOST NC_("RID_SVXSTR_EVENT_FOCUSLOST", "When losing focus")
+#define RID_CUISTR_EVENT_ITEMSTATECHANGED NC_("RID_SVXSTR_EVENT_ITEMSTATECHANGED", "Item status changed")
+#define RID_CUISTR_EVENT_KEYTYPED NC_("RID_SVXSTR_EVENT_KEYTYPED", "Key pressed")
+#define RID_CUISTR_EVENT_KEYUP NC_("RID_SVXSTR_EVENT_KEYUP", "Key released")
+#define RID_CUISTR_EVENT_LOADED NC_("RID_SVXSTR_EVENT_LOADED", "When loading")
+#define RID_CUISTR_EVENT_RELOADING NC_("RID_SVXSTR_EVENT_RELOADING", "Before reloading")
+#define RID_CUISTR_EVENT_RELOADED NC_("RID_SVXSTR_EVENT_RELOADED", "When reloading")
+#define RID_CUISTR_EVENT_MOUSEDRAGGED NC_("RID_SVXSTR_EVENT_MOUSEDRAGGED", "Mouse moved while key pressed")
+#define RID_CUISTR_EVENT_MOUSEENTERED NC_("RID_SVXSTR_EVENT_MOUSEENTERED", "Mouse inside")
+#define RID_CUISTR_EVENT_MOUSEEXITED NC_("RID_SVXSTR_EVENT_MOUSEEXITED", "Mouse outside")
+#define RID_CUISTR_EVENT_MOUSEMOVED NC_("RID_SVXSTR_EVENT_MOUSEMOVED", "Mouse moved")
+#define RID_CUISTR_EVENT_MOUSEPRESSED NC_("RID_SVXSTR_EVENT_MOUSEPRESSED", "Mouse button pressed")
+#define RID_CUISTR_EVENT_MOUSERELEASED NC_("RID_SVXSTR_EVENT_MOUSERELEASED", "Mouse button released")
+#define RID_CUISTR_EVENT_POSITIONING NC_("RID_SVXSTR_EVENT_POSITIONING", "Before record change")
+#define RID_CUISTR_EVENT_POSITIONED NC_("RID_SVXSTR_EVENT_POSITIONED", "After record change")
+#define RID_CUISTR_EVENT_RESETTED NC_("RID_SVXSTR_EVENT_RESETTED", "After resetting")
+#define RID_CUISTR_EVENT_APPROVERESETTED NC_("RID_SVXSTR_EVENT_APPROVERESETTED", "Prior to reset")
+#define RID_CUISTR_EVENT_APPROVEACTIONPERFORMED NC_("RID_SVXSTR_EVENT_APPROVEACTIONPERFORMED", "Approve action")
+#define RID_CUISTR_EVENT_SUBMITTED NC_("RID_SVXSTR_EVENT_SUBMITTED", "Before submitting")
+#define RID_CUISTR_EVENT_TEXTCHANGED NC_("RID_SVXSTR_EVENT_TEXTCHANGED", "Text modified")
+#define RID_CUISTR_EVENT_UNLOADING NC_("RID_SVXSTR_EVENT_UNLOADING", "Before unloading")
+#define RID_CUISTR_EVENT_UNLOADED NC_("RID_SVXSTR_EVENT_UNLOADED", "When unloading")
+#define RID_CUISTR_EVENT_CHANGED NC_("RID_SVXSTR_EVENT_CHANGED", "Changed")
+#define RID_CUISTR_EVENT_CREATEDOC NC_("RID_SVXSTR_EVENT_CREATEDOC", "Document created")
+#define RID_CUISTR_EVENT_LOADDOCFINISHED NC_("RID_SVXSTR_EVENT_LOADDOCFINISHED", "Document loading finished")
+#define RID_CUISTR_EVENT_SAVEDOCFAILED NC_("RID_SVXSTR_EVENT_SAVEDOCFAILED", "Saving of document failed")
+#define RID_CUISTR_EVENT_SAVEASDOCFAILED NC_("RID_SVXSTR_EVENT_SAVEASDOCFAILED", "'Save as' has failed")
+#define RID_CUISTR_EVENT_COPYTODOC NC_("RID_SVXSTR_EVENT_COPYTODOC", "Storing or exporting copy of document")
+#define RID_CUISTR_EVENT_COPYTODOCDONE NC_("RID_SVXSTR_EVENT_COPYTODOCDONE", "Document copy has been created")
+#define RID_CUISTR_EVENT_COPYTODOCFAILED NC_("RID_SVXSTR_EVENT_COPYTODOCFAILED", "Creating of document copy failed")
+#define RID_CUISTR_EVENT_VIEWCREATED NC_("RID_SVXSTR_EVENT_VIEWCREATED", "View created")
+#define RID_CUISTR_EVENT_PREPARECLOSEVIEW NC_("RID_SVXSTR_EVENT_PREPARECLOSEVIEW", "View is going to be closed")
+#define RID_CUISTR_EVENT_CLOSEVIEW NC_("RID_SVXSTR_EVENT_CLOSEVIEW", "View closed")
+#define RID_CUISTR_EVENT_TITLECHANGED NC_("RID_SVXSTR_EVENT_TITLECHANGED", "Document title changed")
+#define RID_CUISTR_EVENT_SELECTIONCHANGED NC_("RID_SVXSTR_EVENT_SELECTIONCHANGED", "Selection changed")
+#define RID_CUISTR_EVENT_DOUBLECLICK NC_("RID_SVXSTR_EVENT_DOUBLECLICK", "Double click")
+#define RID_CUISTR_EVENT_RIGHTCLICK NC_("RID_SVXSTR_EVENT_RIGHTCLICK", "Right click")
+#define RID_CUISTR_EVENT_CALCULATE NC_("RID_SVXSTR_EVENT_CALCULATE", "Formulas calculated")
+#define RID_CUISTR_EVENT_CONTENTCHANGED NC_("RID_SVXSTR_EVENT_CONTENTCHANGED", "Content changed")
+
+#define RID_STR_SEARCH_ANYWHERE NC_("RID_STR_SEARCH_ANYWHERE", "anywhere in the field")
+#define RID_STR_SEARCH_BEGINNING NC_("RID_STR_SEARCH_BEGINNING", "beginning of field")
+#define RID_STR_SEARCH_END NC_("RID_STR_SEARCH_END", "end of field")
+#define RID_STR_SEARCH_WHOLE NC_("RID_STR_SEARCH_WHOLE", "entire field")
+#define RID_STR_FROM_TOP NC_("RID_STR_FROM_TOP", "From top")
+#define RID_STR_FROM_BOTTOM NC_("RID_STR_FROM_BOTTOM", "From bottom")
+#define RID_STR_SEARCH_NORECORD NC_("RID_STR_SEARCH_NORECORD", "No records corresponding to your data found.")
+#define RID_STR_SEARCH_GENERAL_ERROR NC_("RID_STR_SEARCH_GENERAL_ERROR", "An unknown error occurred. The search could not be finished.")
+#define RID_STR_OVERFLOW_FORWARD NC_("RID_STR_OVERFLOW_FORWARD", "Overflow, search continued at the beginning")
+#define RID_STR_OVERFLOW_BACKWARD NC_("RID_STR_OVERFLOW_BACKWARD", "Overflow, search continued at the end")
+#define RID_STR_SEARCH_COUNTING NC_("RID_STR_SEARCH_COUNTING", "counting records")
+
+#define RID_CUISTR_GALLERY_NOFILES NC_("RID_SVXSTR_GALLERY_NOFILES", "<No Files>")
+#define RID_CUISTR_GALLERYPROPS_OBJECT NC_("RID_SVXSTR_GALLERYPROPS_OBJECT", "Object;Objects")
+#define RID_CUISTR_GALLERY_READONLY NC_("RID_SVXSTR_GALLERY_READONLY", "(read-only)")
+#define RID_CUISTR_GALLERY_ALLFILES NC_("RID_SVXSTR_GALLERY_ALLFILES", "<All Files>")
+#define RID_CUISTR_GALLERY_ID_EXISTS NC_("RID_SVXSTR_GALLERY_ID_EXISTS", "This ID already exists...")
+
+#define RID_MULTIPATH_DBL_ERR NC_("RID_MULTIPATH_DBL_ERR", "The path %1 already exists.")
+#define RID_CUISTR_ARCHIVE_TITLE NC_("RID_SVXSTR_ARCHIVE_TITLE", "Select Archives")
+#define RID_CUISTR_ARCHIVE_HEADLINE NC_("RID_SVXSTR_ARCHIVE_HEADLINE", "Archives")
+#define RID_CUISTR_MULTIFILE_DBL_ERR NC_("RID_SVXSTR_MULTIFILE_DBL_ERR", "The file %1 already exists.")
+#define RID_CUISTR_ADD_IMAGE NC_("RID_SVXSTR_ADD_IMAGE", "Add Image")
+
+#define RID_CUISTR_ONE_PASSWORD_MISMATCH NC_("RID_SVXSTR_ONE_PASSWORD_MISMATCH", "The confirmation password did not match the password. Set the password again by entering the same password in both boxes.")
+#define RID_CUISTR_TWO_PASSWORDS_MISMATCH NC_("RID_SVXSTR_TWO_PASSWORDS_MISMATCH", "The confirmation passwords did not match the original passwords. Set the passwords again.")
+#define RID_CUISTR_INVALID_STATE_FOR_OK_BUTTON NC_("RID_SVXSTR_INVALID_STATE_FOR_OK_BUTTON", "Please enter a password to open or to modify, or check the open read-only option to continue.")
+#define RID_CUISTR_INVALID_STATE_FOR_OK_BUTTON_V2 NC_("RID_SVXSTR_INVALID_STATE_FOR_OK_BUTTON_V2", "Set the password by entering the same password in both boxes.")
+#define RID_CUISTR_PASSWORD_LEN_INDICATOR NC_("RID_SVXSTR_PASSWORD_LEN_INDICATOR", "Password length limit of %1 reached")
+
+#define STR_AUTOLINK NC_("STR_AUTOLINK", "Automatic")
+#define STR_MANUALLINK NC_("STR_MANUALLINK", "Manual")
+#define STR_BROKENLINK NC_("STR_BROKENLINK", "Not available")
+#define STR_CLOSELINKMSG NC_("STR_CLOSELINKMSG", "Are you sure you want to remove the selected link?")
+#define STR_CLOSELINKMSG_MULTI NC_("STR_CLOSELINKMSG_MULTI", "Are you sure you want to remove the selected link?")
+#define STR_WAITINGLINK NC_("STR_WAITINGLINK", "Waiting")
+
+#define RID_CUISTR_SAVE_SCREENSHOT_AS NC_("RID_SVXSTR_SAVE_SCREENSHOT_AS", "Save Screenshot As...")
+
+// $(ROW) can be a number or the caption of the row in quotes
+#define RID_CUISTR_DIAGRAM_ROW NC_("RID_SVXSTR_DIAGRAM_ROW", "Data Series $(ROW)")
+
+#define RID_CUISTR_YES NC_("RID_SVXSTR_YES", "Yes")
+#define RID_CUISTR_NO NC_("RID_SVXSTR_NO", "No")
+
+#define STR_LINKEDDOC_DOESNOTEXIST NC_("STR_LINKEDDOC_DOESNOTEXIST", "The file\n$file$\ndoes not exist.")
+#define STR_LINKEDDOC_NO_SYSTEM_FILE NC_("STR_LINKEDDOC_NO_SYSTEM_FILE", "The file\n$file$\ndoes not exist in the local file system.")
+#define STR_NAME_CONFLICT NC_("STR_NAME_CONFLICT", "The name '$file$' is already used for another database.\nPlease choose a different name.")
+#define RID_CUISTR_QUERY_DELETE_CONFIRM NC_("RID_SVXSTR_QUERY_DELETE_CONFIRM", "Do you want to delete the entry?")
+
+#define RID_CUISTR_DELQUERY NC_("RID_SVXSTR_DELQUERY", "Do you want to delete the following object?")
+#define RID_CUISTR_DELQUERY_TITLE NC_("RID_SVXSTR_DELQUERY_TITLE", "Confirm Deletion")
+#define RID_CUISTR_DELFAILED NC_("RID_SVXSTR_DELFAILED", "The selected object could not be deleted.")
+#define RID_CUISTR_DELFAILED_TITLE NC_("RID_SVXSTR_DELFAILED_TITLE", "Error Deleting Object")
+#define RID_CUISTR_CREATEFAILED NC_("RID_SVXSTR_CREATEFAILED", "The object could not be created.")
+#define RID_CUISTR_CREATEFAILEDDUP NC_("RID_SVXSTR_CREATEFAILEDDUP", " Object with the same name already exists.")
+#define RID_CUISTR_CREATEFAILED_TITLE NC_("RID_SVXSTR_CREATEFAILED_TITLE", "Error Creating Object")
+#define RID_CUISTR_RENAMEFAILED NC_("RID_SVXSTR_RENAMEFAILED", "The object could not be renamed.")
+#define RID_CUISTR_RENAMEFAILED_TITLE NC_("RID_SVXSTR_RENAMEFAILED_TITLE", "Error Renaming Object")
+#define RID_CUISTR_ERROR_TITLE NC_("RID_SVXSTR_ERROR_TITLE", "%PRODUCTNAME Error")
+#define RID_CUISTR_ERROR_LANG_NOT_SUPPORTED NC_("RID_SVXSTR_ERROR_LANG_NOT_SUPPORTED", "The scripting language %LANGUAGENAME is not supported.")
+#define RID_CUISTR_ERROR_RUNNING NC_("RID_SVXSTR_ERROR_RUNNING", "An error occurred while running the %LANGUAGENAME script %SCRIPTNAME.")
+#define RID_CUISTR_EXCEPTION_RUNNING NC_("RID_SVXSTR_EXCEPTION_RUNNING", "An exception occurred while running the %LANGUAGENAME script %SCRIPTNAME.")
+#define RID_CUISTR_ERROR_AT_LINE NC_("RID_SVXSTR_ERROR_AT_LINE", "An error occurred while running the %LANGUAGENAME script %SCRIPTNAME at line: %LINENUMBER.")
+#define RID_CUISTR_EXCEPTION_AT_LINE NC_("RID_SVXSTR_EXCEPTION_AT_LINE", "An exception occurred while running the %LANGUAGENAME script %SCRIPTNAME at line: %LINENUMBER.")
+#define RID_CUISTR_FRAMEWORK_ERROR_RUNNING NC_("RID_SVXSTR_FRAMEWORK_ERROR_RUNNING", "A Scripting Framework error occurred while running the %LANGUAGENAME script %SCRIPTNAME.")
+#define RID_CUISTR_ERROR_TYPE_LABEL NC_("RID_SVXSTR_ERROR_TYPE_LABEL", "Type:")
+#define RID_CUISTR_ERROR_MESSAGE_LABEL NC_("RID_SVXSTR_ERROR_MESSAGE_LABEL", "Message:")
+
+#define RID_CUISTR_CHG_MATH NC_("RID_SVXSTR_CHG_MATH", "MathType to %PRODUCTNAME Math or reverse")
+#define RID_CUISTR_CHG_WRITER NC_("RID_SVXSTR_CHG_WRITER", "WinWord to %PRODUCTNAME Writer or reverse")
+#define RID_CUISTR_CHG_CALC NC_("RID_SVXSTR_CHG_CALC", "Excel to %PRODUCTNAME Calc or reverse")
+#define RID_CUISTR_CHG_IMPRESS NC_("RID_SVXSTR_CHG_IMPRESS", "PowerPoint to %PRODUCTNAME Impress or reverse")
+#define RID_CUISTR_CHG_SMARTART NC_("RID_SVXSTR_CHG_SMARTART", "SmartArt to %PRODUCTNAME shapes or reverse")
+#define RID_CUISTR_CHG_VISIO NC_("RID_SVXSTR_CHG_VISIO", "Visio to %PRODUCTNAME Draw or reverse")
+#define RID_CUISTR_CHG_PDF NC_("RID_SVXSTR_CHG_PDF", "PDF to %PRODUCTNAME Draw or reverse")
+
+#define RID_CUISTR_OPT_DOUBLE_DICTS NC_("RID_SVXSTR_OPT_DOUBLE_DICTS", "The specified name already exists.\nPlease enter a new name.")
+#define RID_CUISTR_OPT_INVALID_DICT_NAME NC_("RID_SVXSTR_OPT_INVALID_DICT_NAME", "The specified name is invalid.\nPlease enter a new name.")
+/* To translators:
+ Please, try to find a similar *short* translation to avoid
+ to get narrow "New" field in the "Edit custom dictionary" window,
+ for example, "Model word for optional affixation and compounding"
+ is too long, but "Grammar By" is a good name here (help page of
+ the window contains the details).
+
+ "Grammar By" text entry box of the "Edit custom dictionary" window
+ contains an optional model word associated to the new user word,
+ allowing its affixation or compounding during spell checking.
+ For example, adding "Grammar By" word "fund" to the new user
+ word "crowdfund", the spell checker will recognize "crowdfund"
+ with suffixes of "fund": "crowdfunding", "crowdfund's" etc.
+*/
+#define RID_CUISTR_OPT_GRAMMAR_BY NC_("RID_SVXSTR_OPT_GRAMMAR_BY", "~Grammar By")
+#define STR_MODIFY NC_("STR_MODIFY", "~Replace")
+#define RID_CUISTR_CONFIRM_SET_LANGUAGE NC_("RID_SVXSTR_CONFIRM_SET_LANGUAGE", "Do you want to change the '%1' dictionary language?")
+
+#define RID_CUISTR_COLOR_CONFIG_DELETE NC_("RID_SVXSTR_COLOR_CONFIG_DELETE", "Do you really want to delete the color scheme?")
+#define RID_CUISTR_COLOR_CONFIG_DELETE_TITLE NC_("RID_SVXSTR_COLOR_CONFIG_DELETE_TITLE", "Color Scheme Deletion")
+#define RID_CUISTR_COLOR_CONFIG_SAVE1 NC_("RID_SVXSTR_COLOR_CONFIG_SAVE1", "Save scheme")
+#define RID_CUISTR_COLOR_CONFIG_SAVE2 NC_("RID_SVXSTR_COLOR_CONFIG_SAVE2", "Name of color scheme")
+
+#define RID_CUISTR_SPELL NC_("RID_SVXSTR_SPELL", "Spelling")
+#define RID_CUISTR_HYPH NC_("RID_SVXSTR_HYPH", "Hyphenation")
+#define RID_CUISTR_THES NC_("RID_SVXSTR_THES", "Thesaurus")
+#define RID_CUISTR_GRAMMAR NC_("RID_SVXSTR_GRAMMAR", "Grammar")
+#define RID_CUISTR_CAPITAL_WORDS NC_("RID_SVXSTR_CAPITAL_WORDS", "Check uppercase words")
+#define RID_CUISTR_WORDS_WITH_DIGITS NC_("RID_SVXSTR_WORDS_WITH_DIGITS", "Check words with numbers ")
+#define RID_CUISTR_SPELL_SPECIAL NC_("RID_SVXSTR_SPELL_SPECIAL", "Check special regions")
+#define RID_CUISTR_SPELL_CLOSED_COMPOUND NC_("RID_SVXSTR_SPELL_CLOSED_COMPOUND", "Accept possible closed compound words")
+#define RID_CUISTR_SPELL_HYPHENATED_COMPOUND NC_("RID_SVXSTR_SPELL_HYPHENATED_COMPOUND", "Accept possible hyphenated compound words")
+#define RID_CUISTR_SPELL_AUTO NC_("RID_SVXSTR_SPELL_AUTO", "Check spelling as you type")
+#define RID_CUISTR_GRAMMAR_AUTO NC_("RID_SVXSTR_GRAMMAR_AUTO", "Check grammar as you type")
+#define RID_CUISTR_NUM_MIN_WORDLEN NC_("RID_SVXSTR_NUM_MIN_WORDLEN", "Minimal number of characters for hyphenation: ")
+#define RID_CUISTR_NUM_PRE_BREAK NC_("RID_SVXSTR_NUM_PRE_BREAK", "Characters before line break: ")
+#define RID_CUISTR_NUM_POST_BREAK NC_("RID_SVXSTR_NUM_POST_BREAK", "Characters after line break: ")
+#define RID_CUISTR_HYPH_AUTO NC_("RID_SVXSTR_HYPH_AUTO", "Hyphenate without inquiry")
+#define RID_CUISTR_HYPH_SPECIAL NC_("RID_SVXSTR_HYPH_SPECIAL", "Hyphenate special regions")
+
+#define RID_CUISTR_JRE_NOT_RECOGNIZED NC_("RID_SVXSTR_JRE_NOT_RECOGNIZED", "The folder you selected does not contain a Java runtime environment.\nPlease select a different folder.")
+#define RID_CUISTR_JRE_FAILED_VERSION NC_("RID_SVXSTR_JRE_FAILED_VERSION", "The Java runtime environment you selected is not the required version.\nPlease select a different folder.")
+#define RID_CUISTR_JAVA_START_PARAM NC_("RID_SVXSTR_JAVA_START_PARAM", "Edit Parameter")
+
+#define RID_CUISTR_OPT_PROXYPORTS NC_("RID_SVXSTR_OPT_PROXYPORTS", "Invalid value!\n\nThe maximum value for a port number is 65535.")
+
+#define RID_CUISTR_DESC_GRADIENT NC_("RID_SVXSTR_DESC_GRADIENT", "Please enter a name for the gradient:")
+#define RID_CUISTR_DESC_NEW_BITMAP NC_("RID_SVXSTR_DESC_NEW_BITMAP", "Please enter a name for the bitmap:")
+#define RID_CUISTR_DESC_EXT_BITMAP NC_("RID_SVXSTR_DESC_EXT_BITMAP", "Please enter a name for the external bitmap:")
+#define RID_CUISTR_DESC_NEW_PATTERN NC_("RID_SVXSTR_DESC_NEW_PATTERN", "Please enter a name for the pattern:")
+#define RID_CUISTR_DESC_LINESTYLE NC_("RID_SVXSTR_DESC_LINESTYLE", "Please enter a name for the line style:")
+#define RID_CUISTR_ASK_CHANGE_LINESTYLE NC_("RID_SVXSTR_ASK_CHANGE_LINESTYLE", "The line style was modified without saving. \nModify the selected line style or add a new line style.")
+#define RID_CUISTR_DESC_HATCH NC_("RID_SVXSTR_DESC_HATCH", "Please enter a name for the hatching:")
+#define RID_CUISTR_CHANGE NC_("RID_SVXSTR_CHANGE", "Modify")
+#define RID_CUISTR_ADD NC_("RID_SVXSTR_ADD", "Add")
+#define RID_CUISTR_DESC_COLOR NC_("RID_SVXSTR_DESC_COLOR", "Please enter a name for the new color:")
+#define RID_CUISTR_TABLE NC_("RID_SVXSTR_TABLE", "Table")
+#define RID_CUISTR_DESC_LINEEND NC_("RID_SVXSTR_DESC_LINEEND", "Please enter a name for the new arrow style:")
+#define RID_CUISTR_CHARNAME_NOSTYLE NC_("RID_SVXSTR_CHARNAME_NOSTYLE", "No %1")
+#define RID_CUISTR_CHARNAME_FAMILY NC_("RID_SVXSTR_CHARNAME_FAMILY", "Family:")
+#define RID_CUISTR_CHARNAME_FONT NC_("RID_SVXSTR_CHARNAME_FONT", "Font:")
+#define RID_CUISTR_CHARNAME_STYLE NC_("RID_SVXSTR_CHARNAME_STYLE", "Style:")
+#define RID_CUISTR_CHARNAME_TYPEFACE NC_("RID_SVXSTR_CHARNAME_TYPEFACE", "Typeface:")
+#define RID_CUISTR_USE_REPLACE NC_("RID_SVXSTR_USE_REPLACE", "Use replacement table")
+#define RID_CUISTR_CPTL_STT_WORD NC_("RID_SVXSTR_CPTL_STT_WORD", "Correct TWo INitial CApitals")
+#define RID_CUISTR_CPTL_STT_SENT NC_("RID_SVXSTR_CPTL_STT_SENT", "Capitalize first letter of every sentence")
+#define RID_CUISTR_BOLD_UNDER NC_("RID_SVXSTR_BOLD_UNDER", "Automatic *bold*, /italic/, -strikeout- and _underline_")
+#define RID_CUISTR_NO_DBL_SPACES NC_("RID_SVXSTR_NO_DBL_SPACES", "Ignore double spaces")
+#define RID_CUISTR_DETECT_URL NC_("RID_SVXSTR_DETECT_URL", "URL Recognition")
+#define RID_CUISTR_DETECT_DOI NC_("RID_SVXSTR_DETECT_DOI", "DOI citation recognition")
+#define RID_CUISTR_DASH NC_("RID_SVXSTR_DASH", "Replace dashes")
+#define RID_CUISTR_CORRECT_ACCIDENTAL_CAPS_LOCK NC_("RID_SVXSTR_CORRECT_ACCIDENTAL_CAPS_LOCK", "Correct accidental use of cAPS LOCK key")
+#define RID_CUISTR_NON_BREAK_SPACE NC_("RID_SVXSTR_NON_BREAK_SPACE", "Add non-breaking space before specific punctuation marks in French text")
+#define RID_CUISTR_ORDINAL NC_("RID_SVXSTR_ORDINAL", "Format ordinal numbers suffixes (1st -> 1^st)")
+#define RID_CUISTR_OLD_HUNGARIAN NC_("RID_SVXSTR_OLD_HUNGARIAN", "Transliterate to Old Hungarian if the text direction is from right to left")
+#define RID_CUISTR_ANGLE_QUOTES NC_("RID_SVXSTR_ANGLE_QUOTES", "Replace two inequality signs (<< or >>) with angle quotes")
+#define RID_CUISTR_DEL_EMPTY_PARA NC_("RID_SVXSTR_DEL_EMPTY_PARA", "Remove blank paragraphs")
+#define RID_CUISTR_USER_STYLE NC_("RID_SVXSTR_USER_STYLE", "Replace Custom Styles")
+#define RID_CUISTR_BULLET NC_("RID_SVXSTR_BULLET", "Replace bullets with: %1")
+// To translators: %1 will be replaced with a percentage, e.g. "10%"
+#define RID_CUISTR_RIGHT_MARGIN NC_("RID_SVXSTR_RIGHT_MARGIN", "Combine single line paragraphs if length greater than %1")
+#define RID_CUISTR_NUM NC_("RID_SVXSTR_NUM", "Bulleted and numbered lists. Bullet symbol: %1")
+#define RID_SVXSTR_NUM_FORMAT_AFTER_SPACE NC_("RID_SVXSTR_NUM_FORMAT_AFTER_SPACE", "Bulleted and numbered lists immediate after pressing space")
+#define RID_CUISTR_BORDER NC_("RID_SVXSTR_BORDER", "Apply border")
+#define RID_CUISTR_CREATE_TABLE NC_("RID_SVXSTR_CREATE_TABLE", "Create table")
+#define RID_CUISTR_REPLACE_TEMPLATES NC_("RID_SVXSTR_REPLACE_TEMPLATES", "Apply Styles")
+#define RID_CUISTR_DEL_SPACES_AT_STT_END NC_("RID_SVXSTR_DEL_SPACES_AT_STT_END", "Delete spaces and tabs at beginning and end of paragraph")
+#define RID_CUISTR_DEL_SPACES_BETWEEN_LINES NC_("RID_SVXSTR_DEL_SPACES_BETWEEN_LINES", "Delete spaces and tabs at end and start of line")
+#define RID_CUISTR_CONNECTOR NC_("RID_SVXSTR_CONNECTOR", "Connector")
+#define RID_CUISTR_DIMENSION_LINE NC_("RID_SVXSTR_DIMENSION_LINE", "Dimension line")
+#define RID_CUISTR_STARTQUOTE NC_("RID_SVXSTR_STARTQUOTE", "Start Quote")
+#define RID_CUISTR_ENDQUOTE NC_("RID_SVXSTR_ENDQUOTE", "End Quote")
+
+#define RID_CUISTR_SHADOW_STYLE_NONE NC_("RID_SVXSTR_SHADOW_STYLE_NONE", "No Shadow")
+#define RID_CUISTR_SHADOW_STYLE_BOTTOMRIGHT NC_("RID_SVXSTR_SHADOW_STYLE_BOTTOMRIGHT", "Cast Shadow to Bottom Right")
+#define RID_CUISTR_SHADOW_STYLE_TOPRIGHT NC_("RID_SVXSTR_SHADOW_STYLE_TOPRIGHT", "Cast Shadow to Top Right")
+#define RID_CUISTR_SHADOW_STYLE_BOTTOMLEFT NC_("RID_SVXSTR_SHADOW_STYLE_BOTTOMLEFT", "Cast Shadow to Bottom Left")
+#define RID_CUISTR_SHADOW_STYLE_TOPLEFT NC_("RID_SVXSTR_SHADOW_STYLE_TOPLEFT", "Cast Shadow to Top Left")
+#define RID_CUISTR_SIGNATURELINE_SIGNED_BY NC_("RID_SVXSTR_SIGNATURELINE_SIGNED_BY", "Signed by: %1")
+
+#define RID_CUISTR_FILTER_ALL NC_("RID_SVXSTR_FILTER_ALL", "All files")
+
+#define RID_CUISTR_REGISTERED_DATABASES NC_("RID_SVXSTR_REGISTERED_DATABASES", "Registered Databases")
+
+#define RID_CUISTR_CANNOTCONVERTURL_ERR NC_("RID_SVXSTR_CANNOTCONVERTURL_ERR", "The URL <%1> cannot be converted to a filesystem path.")
+
+#define RID_CUISTR_ABOUT_COPYRIGHT NC_("aboutdialog|copyright", "Copyright © 2000–2023 LibreOffice contributors.")
+#define RID_CUISTR_ABOUT_VENDOR NC_("aboutdialog|vendor", "This release was supplied by %OOOVENDOR.")
+#define RID_CUISTR_ABOUT_BASED_ON NC_("aboutdialog|libreoffice", "LibreOffice was based on OpenOffice.org.")
+#define RID_CUISTR_ABOUT_DERIVED NC_("aboutdialog|derived", "%PRODUCTNAME is derived from LibreOffice which was based on OpenOffice.org")
+#define RID_CUISTR_ABOUT_UILOCALE NC_("aboutdialog|uilocale", "UI: $LOCALE")
+
+#define RID_CUISTR_EDIT_PATHS NC_("optpathspage|editpaths", "Edit Paths: %1")
+
+#define RID_CUISTR_COMMANDLABEL NC_("RID_SVXSTR_COMMANDLABEL", "Label")
+#define RID_CUISTR_COMMANDNAME NC_("RID_SVXSTR_COMMANDLABEL", "Command")
+#define RID_CUISTR_COMMANDTIP NC_("RID_SVXSTR_COMMANDLABEL", "Tooltip")
+#define RID_CUISTR_COMMANDEXPERIMENTAL NC_("RID_SVXSTR_COMMANDEXPERIMENTAL", "Experimental")
+
+#define RID_CUISTR_QRCODEDATALONG NC_("RID_SVXSTR_QRCODEDATALONG", "The URL or text is too long for the current error correction level. Either shorten the text or decrease the correction level.")
+#define RID_CUISTR_DELETEUSERCOLOR1 NC_("RID_SVXSTR_DELETEUSERCOLOR1", "You can only delete user-defined colors")
+#define RID_CUISTR_DELETEUSERCOLOR2 NC_("RID_SVXSTR_DELETEUSERCOLOR2", "Please select the color to delete")
+
+#define RID_CUISTR_ADDITIONS_INSTALLBUTTON NC_("RID_SVXSTR_ADDITIONS_INSTALLBUTTON", "Install")
+#define RID_CUISTR_ADDITIONS_INSTALLEDBUTTON NC_("RID_SVXSTR_ADDITIONS_INSTALLEDBUTTON", "Installed")
+#define RID_CUISTR_ADDITIONS_INSTALLING NC_("RID_SVXSTR_ADDITIONS_INSTALLING", "Installing")
+#define RID_CUISTR_ADDITIONS_SEARCHING NC_("RID_SVXSTR_ADDITIONS_SEARCHING", "Searching...")
+#define RID_CUISTR_ADDITIONS_LOADING NC_("RID_SVXSTR_ADDITIONS_LOADING", "Loading...")
+#define RID_CUISTR_ADDITIONS_DIALOG_TITLE_PREFIX NC_("RID_SVXSTR_ADDITIONS_DIALOG_TITLE_PREFIX", "Extensions")
+#define RID_CUISTR_ADDITIONS_DICTIONARY NC_("RID_SVXSTR_ADDITIONS_DICTIONARY", "Extensions: Dictionary")
+#define RID_CUISTR_ADDITIONS_GALLERY NC_("RID_SVXSTR_ADDITIONS_GALLERY", "Extensions: Gallery")
+#define RID_CUISTR_ADDITIONS_ICONS NC_("RID_SVXSTR_ADDITIONS_ICONS", "Extensions: Icons")
+#define RID_CUISTR_ADDITIONS_PALETTES NC_("RID_SVXSTR_ADDITIONS_PALETTES", "Extensions: Color Palette")
+#define RID_CUISTR_ADDITIONS_TEMPLATES NC_("RID_SVXSTR_ADDITIONS_TEMPLATES", "Extensions: Templates")
+
+#define RID_CUISTR_UI_APPLYALL NC_("RID_SVXSTR_UI_APPLYALL", "Apply to %MODULE")
+
+#define RID_CUISTR_OLE_INSERT NC_("RID_SVXSTR_OLE_INSERT", "Inserting OLE object...")
+
+#define RID_CUISTR_CLICK_RESULT NC_("RID_CUISTR_CLICK_RESULT", "(Click on any test to view its resultant bitmap image)")
+#define RID_CUISTR_ZIPFAIL NC_("RID_CUISTR_ZIPFAIL", "Creation of ZIP file failed.")
+#define RID_CUISTR_SAVED NC_("RID_CUISTR_SAVED", "The results have been successfully saved in the file 'GraphicTestResults.zip'!")
+#define RID_CUISTR_OPT_READONLY NC_("RID_CUISTR_OPT_READONLY", "This property is locked for editing.")
+
+#define RID_LANGUAGETOOL_LEAVE_EMPTY NC_("RID_LANGUAGETOOL_LEAVE_EMPTY", "Leave this field empty to use the free version")
+#define RID_LANGUAGETOOL_REST_LEAVE_EMPTY NC_("RID_LANGUAGETOOL_REST_LEAVE_EMPTY", "Leave this field empty to use LanguageTool protocol")
+
+#define RID_CUISTR_A11Y_DESC_BACKUP NC_("RID_CUISTR_A11Y_DESC_BACKUP", "Specifies if the backup copy should be stored in the same folder as the original document. If not selected, the backup copy is stored in the folder specified in Tools - Options - %PRODUCTNAME - Paths - Backups.")
+
+// Translatable names of color schemes
+#define RID_COLOR_SCHEME_LIBREOFFICE_AUTOMATIC NC_("RID_COLOR_SCHEME_LIBREOFFICE_AUTOMATIC", "Automatic")
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/inc/strings.hxx b/cui/inc/strings.hxx
new file mode 100644
index 0000000000..5b72f3873d
--- /dev/null
+++ b/cui/inc/strings.hxx
@@ -0,0 +1,14 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * 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/.
+ */
+
+#pragma once
+
+#define RID_SVXSTR_KEY_BASIC_PATH "BASIC"
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/cui/inc/tipoftheday.hrc b/cui/inc/tipoftheday.hrc
new file mode 100644
index 0000000000..ed4b7b72eb
--- /dev/null
+++ b/cui/inc/tipoftheday.hrc
@@ -0,0 +1,293 @@
+/* -*- 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 .
+ */
+
+#pragma once
+
+#define NC_(Context, String) TranslateId(Context, u8##String)
+
+#include <rtl/ustring.hxx>
+#include <config_python.h>
+#include <tuple>
+#include <unotools/resmgr.hxx>
+
+/*
+ * std:tuple consists of <text, uri, image, module>
+ * text:
+ * escape backslash, ie. use \\ to show \
+ * Use %MOD1 for Ctrl/Cmd and %MOD2 for Alt/Option depending on OS (uppercase required)
+ * uri:
+ * if uri is empty, do not show any link
+ * if uri starts with "http", show the link directly in the browser
+ * if uri starts with ".uno:", run the command if available in the current module
+ * all other strings are converted to a link for the offline help
+ * to find the right uri, look in instdir/help/hid2file.js after building --with-help=html
+ * structure of hid2file.js 'uri' : 'rest of URL' (that starts: https://help.libreoffice.org/latest/en-US/)
+ * For example 'cui/ui/optsecuritypage/OptSecurityPage' is the uri for https://help.libreoffice.org/latest/en-US/text/shared/optionen/01030300.html#bm_id9049654
+ * image:
+ * leave the image string empty for the default tipoftheday.png
+ * place new images at extra/source/tipoftheday and do not forget to add the files to vcl/Package_tipoftheday.mk
+ * images are scaled to 150x150px; const ThumbSize() in tipoftheday.cxx
+ * module
+ * use one of the options below; an overlay is drawn on the default image tipoftheday.png except for the generic soffice (and of course not if an image is set)
+*/
+enum tipModule : sal_uInt8
+{ swriter, scalc, sdraw, simpress, soffice };
+
+const std::tuple<TranslateId, OUString, OUString, tipModule> TIPOFTHEDAY_STRINGARRAY[] =
+{
+ { NC_("RID_CUI_TIPOFTHEDAY", "%PRODUCTNAME offers a variety of user interface options to make you feel at home"), ".uno:ToolbarModeUI", "toolbarmode.png", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Need to allow changes to parts of a read-only document in Writer? Insert frames or sections that can authorize changes."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/swriter/guide/section_edit.html", "", swriter}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "To print the notes of your slides go to File ▸ Print ▸ %PRODUCTNAME Impress tab and select Notes under Document ▸ Type."), "", "printnote.png", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To start temporarily with a fresh user profile, or to restore a non-working %PRODUCTNAME, use Help ▸ Restart in Safe Mode."), "svx/ui/safemodedialog/SafeModeDialog", "", soffice}, //https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/shared/01/profile_safe_mode.html
+ { NC_("RID_CUI_TIPOFTHEDAY", "Writing a book? %PRODUCTNAME master document lets you manage large documents as a container for individual %PRODUCTNAME Writer files."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/swriter/guide/globaldoc.html", "", swriter}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can create editable Hybrid PDFs with %PRODUCTNAME."), "https://wiki.documentfoundation.org/Documentation/HowTo/CreateAHybridPDF", "hybrid_pdf.png", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Explore the ten different functions in the status bar (at the bottom of the document window). Place the cursor over each field for an explanation. If not visible, use View ▸ Status Bar."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to sum a cell through several sheets? Refer to the range of sheets e.g. =SUM(Sheet1.A1:Sheet3.A1)."), "", "sum_sheets.png", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can create fillable form documents (even PDFs) with %PRODUCTNAME."), "https://www.techrepublic.com/article/how-to-create-interactive-pdfs-with-libreoffice", "formdocuments.png", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Cannot see all the text in a cell? Expand the input line in the formula bar and you can scroll."), "", "expand_formula_bar.png", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Optimize your table layout with Table ▸ Size ▸ Distribute Rows / Columns Evenly."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Find all expressions in brackets per Edit ▸ Find and Replace ▸ Find ▸ \\([^)]+\\) (check “Regular expressions”)"), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Select a different icon set from Tools ▸ Options ▸ %PRODUCTNAME ▸ View ▸ Icon Theme."), "", "icon_sets.png", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can display a number as a fraction (0.125 = 1/8): Format ▸ Cells, under Numbers tab in the Category select Fraction."), "", "fraction.png", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To remove a hyperlink but keep its text, right-click on the hyperlink, and use “Remove Hyperlink”."), "", "remove_hyperlink.png", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To remove several hyperlinks at once, select the text with the hyperlinks, then right-click and use “Remove Hyperlink”."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To zoom a selection to fit the entire window in Draw, use the / (divide key) on the number pad."), "", "", sdraw},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Click a column field (row) PivotTable and press F12 to group data. Choices adapt to content: Date (month, quarter, year), number (classes)"), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can restart the slide show after a pause specified at Slide Show ▸ Slide Show Settings ▸ Loop and repeat after."), "", "", simpress},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To distribute some text in multi-columns select the text and apply Format ▸ Columns."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Use View ▸ Value Highlighting to display cell contents in colors: Text/black, Formulas/green, Numbers/blue, Protected cells/grey background."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/scalc/01/03080000.html", "", scalc}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can create different master pages in a presentation template: View ▸ Master Slide and Slide ▸ New Master (or per toolbar or right click in slide pane)."), "", "masterdocument.png", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to sort a pivot table? Click on drop-list’s arrow in the row/col header and select sort method: ascending, descending, or custom."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Display photos or images with different shapes in Writer. Insert and select shape, then Insert ▸ Image. To adjust image, right-click on selected shape and choose Area."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Use Page/Slide ▸ Properties ▸ “Fit object to paper format” in Draw/Impress to resize the objects so that they fit on your chosen paper format."), "", "", sdraw},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Fit the entire page in a Draw window, use * on the number pad."), "", "", sdraw},
+ { NC_("RID_CUI_TIPOFTHEDAY", "In a Draw page, use “-” to zoom out; “+” to zoom in."), "", "", sdraw},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to show the contents of another document within your document? Use Insert ▸ Section and select Link."), "modules/swriter/ui/editsectiondialog/link", "", swriter}, // https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/swriter/guide/section_insert.html#par_id3153404
+ { NC_("RID_CUI_TIPOFTHEDAY", "To automatically number table rows in Writer, select the relevant column, then apply a List Style."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/swriter/01/05130004.html", "", swriter}, // no local help URI
+ { NC_("RID_CUI_TIPOFTHEDAY", "%PRODUCTNAME allows you to use assistive tools, such as external screen readers, Braille devices or speech recognition input devices."), "https://www.libreoffice.org/get-help/accessibility/", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to sort a series in %PRODUCTNAME Calc such as A1, A2, A3, A11, A15, not in alphabetical order but on the number? Enable natural sort in the Options tab."), "modules/scalc/ui/sortoptionspage/SortOptionsPage", "", scalc}, //https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/scalc/01/12030200.html
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can change the default function in the status bar: right click on the area."), "", "statusbar.png", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to add many of the same shapes in Draw/Impress? Double-click a tool in the drawing toolbar to use it for repeated tasks."), "", "", sdraw},
+ { NC_("RID_CUI_TIPOFTHEDAY", "%MOD1+Shift+F9 recalculates all formulas in all spreadsheets."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to keep a part of an editable document as read-only? Insert ▸ Section. Add text to the section, then right-click “Edit Section” and check “Protect”."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Use the Backspace key instead of Delete in Calc. You can choose what to delete."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Best way to fix bad-looking MS Word table cells via Table ▸ Size ▸ Optimal Row Height / Column Width."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To repeat a table heading when a table spans over a page, use Table ▸ Table Properties ▸ Text Flow ▸ Repeat heading."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to quickly insert or delete rows? Select the desired number of rows (or columns) and press %MOD1+Plus sign (+) to add or %MOD1+Minus sign (-) to delete."), "modules/scalc/ui/insertcells/InsertCellsDialog", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To repeat rows/columns on every pages use Format ▸ Print Ranges ▸ Edit."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Insert images and photos into shapes in Draw and Impress. Right-click on a shape, choose Area ▸ Image ▸ Add / Import, and use Options to adjust appearance."), "", "", sdraw},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Need to insert the date in a spreadsheet cell? Type %MOD1+; or Shift+%MOD1+; to insert the time."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Insert your metadata in your document with Insert ▸ Fields ▸ More Fields… ▸ Document or DocInformation."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Get help from the community via the Ask portal."), "https://ask.libreoffice.org", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Use Shift+Space to select the current row and %MOD1+Space to select the current column."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can move an object to another layer by holding it until its edges flash, then drag it to the tab of the layer you want to move it to."), "", "", sdraw},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Data ▸ Validity allows you to create drop-down lists where the user selects a value instead of typing."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/scalc/guide/validity.html", "", scalc}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "Hold down %MOD1 and turn the mouse wheel to change the zoom factor."), "", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "%PRODUCTNAME has great extensions to increase your productivity—check them out."), "https://extensions.libreoffice.org", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to count words for just one particular paragraph style? Use Edit ▸ Find and Replace, click Paragraph Styles, select the style in Find, and click Find All. Read the result in the status bar."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Generate fully customized PDF documents with the exact format, image compression, comments, access rights, password, etc., via File ▸ Export as PDF."), "", "", soffice},
+#if ENABLE_LIBRELOGO
+ { NC_("RID_CUI_TIPOFTHEDAY", "Writer includes LibreLogo: simple Logo-like programming environment with turtle vector graphics, DTP and graphic design."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/swriter/librelogo/LibreLogo.html", "", swriter}, //local help missing
+#endif
+ { NC_("RID_CUI_TIPOFTHEDAY", "Construct your own 2D shapes in Draw. Select two or more objects, and explore possibilities with Shape ▸ Combine, Shape ▸ Merge, Shape ▸ Subtract, and Shape ▸ Intersect."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/sdraw/guide/combine_etc.html", "", sdraw},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Do you plan to change your computer and want to recover your customizations? See:"), "https://wiki.documentfoundation.org/UserProfile", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can toggle between the field names and the actual value with View ▸ Fields Names (or %MOD1+F9)."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Show or hide comments in Writer by clicking the comment toggle button in the ruler."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To enable macro recording, check Tools ▸ Options ▸ %PRODUCTNAME ▸ Advanced ▸ Enable macro recording."), "", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to insert a placeholder for an image in a Writer template? Use Insert ▸ Fields ▸ More fields, click Functions tab, choose PlaceHolder for Type and Image for Format."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "%PRODUCTNAME supports four macro security levels (from low to very high) and trusted sources."), "cui/ui/optsecuritypage/OptSecurityPage", "", soffice}, // https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/shared/optionen/01030300.html
+ { NC_("RID_CUI_TIPOFTHEDAY", "Did you know that you can attach comments to portions of text? Just use the shortcut %MOD1+%MOD2+C."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Need to move one or more paragraphs? No need to cut and paste: Use the keyboard shortcut %MOD1+%MOD2+Arrow (Up/Down)"), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Change the basic fonts for the predefined template or current document per Tools ▸ Options ▸ %PRODUCTNAME Writer ▸ Basic Fonts."), "modules/swriter/ui/optfonttabpage/OptFontTabPage", "", swriter}, //https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/shared/optionen/01040300.html
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to find words containing more than 10 characters? Edit ▸ Find and Replace ▸ Search ▸ [a-z]{10,} ▸ Other Options ▸ check Regular expressions."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Open a CSV file as a new sheet in the current spreadsheet via Sheet ▸ Sheet from file."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can continue writing with the default formatting attributes after manually applying bold, italic or underline by pressing %MOD1+Shift+X."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Use %MOD1+%MOD2+Shift+V to paste the contents of the clipboard as unformatted text."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Customize footnote appearance with Tools ▸ Footnote/Endnote Settings…"), ".uno:FootnoteDialog", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "With Slide Show ▸ Custom Slide Show, reorder and pick slides to fit a slideshow to the needs of your viewers."), "", "", simpress},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to change spell checking for some part of the text? Click in the language zone of the status bar or better, apply a style."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Writer can insert a blank page between two odd (even) pages that follow. Check “Print automatically inserted blank pages” in the print dialog’s %PRODUCTNAME Writer tab."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You do not want to print all columns? Hide or group the ones you do not need."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To modify an AutoPlay presentation, open it and after it starts, right click and select Edit in the context menu."), "", "", simpress},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Need to position precisely? %MOD2+arrow keys move objects (shapes, pictures, formulas) by one pixel."), "", "", sdraw},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Embedded help is available by pressing F1, if you have installed it. Otherwise check online at:"), "https://help.libreoffice.org", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Right-click in the status bar in %PRODUCTNAME Calc and select “Selection count” to display the number of selected cells."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to have two or more columns for just a part of a %PRODUCTNAME Writer page? Insert ▸ Section, set with Columns tab, and place text in that section."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Use Data ▸ Statistics for sampling, descriptive statistics, analysis of variance, correlation, and much more in %PRODUCTNAME Calc."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can copy from one sheet to another without the clipboard. Select the area to copy, %MOD1+click the target sheet’s tab and use Sheet ▸ Fill Cells ▸ Fill Sheets."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can change the look of %PRODUCTNAME via View ▸ User Interface."), "", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "In %PRODUCTNAME Impress, use Insert ▸ Media ▸ Photo Album to create a slideshow from a series of pictures with the “Photo Album” feature."), "", "", simpress},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can show formulas instead of results with View ▸ Show Formula (or Tools ▸ Options ▸ %PRODUCTNAME Calc ▸ View ▸ Display ▸ Formulas)."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "%PRODUCTNAME is developed by a friendly community, made up of hundreds of contributors around the world. Join us with your skills beyond coding."), "https://www.libreoffice.org/community/get-involved/", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Left-handed? Enable Tools ▸ Options ▸ Languages and Locales ▸ General ▸ Asian and check Tools ▸ Options ▸ %PRODUCTNAME Writer ▸ View ▸ Ruler ▸ Right-aligned, which displays the scrollbar to the left."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want headings to always begin a page? Edit the paragraph style applied to the headings. Check “Insert” on the “Text Flow” tab, with Type “Page” and Position “Before”."), "cui/ui/textflowpage/checkInsert", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Date/time value is just a number of days since a chosen day zero; in the number, integer part represents date, and fractional part is time (elapsed part of a day), with 0.5 representing noon."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Shift+%MOD1+Del deletes from cursor to the end of the current sentence."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Use column or row labels in formulas. For example, if you have two columns, “Time” and “KM”, use =Time/KM to get minutes per kilometer."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Annoyed by the “marching ants” around cells in Calc? Press escape to stop them; the copied content will remain available for pasting."), "", "marchingants.gif", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to become a %PRODUCTNAME Ambassador? There are certifications for developers, admins, and trainers."), "https://www.documentfoundation.org/certification/program/", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Mix portrait and landscape orientations in a Calc spreadsheet by applying different page styles on sheets."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Click on the special character icon in the toolbar to get quick access to favorite and recent characters to insert."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Choose “Hierarchical View” in the Styles sidebar to see the relation between styles."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can use styles to make the tables in your document consistent. Choose one from the predefined per Styles (F11) or via Table ▸ AutoFormat Styles..."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to open hyperlinks without pressing the %MOD1 key? Uncheck “%MOD1+click required to open hyperlinks” in Tools ▸ Options ▸ %PRODUCTNAME ▸ Security ▸ Options ▸ Security Options."), "cui/ui/securityoptionsdialog/ctrlclick", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You would like to view the calculation of individual elements of a formula, select the respective elements and press F9."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can protect cells with Format ▸ Cells ▸ Protection. To prevent insert, delete, rename, move/copy of sheets use Tools ▸ Protect Sheet."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/scalc/guide/cell_protect.html", "", scalc}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "Write along a curve? Draw the curve, double click, type the text, Format ▸ Text Box and Shape ▸ Fontwork. Select one of the alignment options: Rotate, Upright, Slant Horizontal or Slant Vertical."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to display only the highest values in a spreadsheet? Select menu Data ▸ AutoFilter, click the drop-down arrow, and choose “Top10”."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To remove the page number from your table of contents go to Insert ▸ Table of Contents and Index (or right-click and Edit Index to edit a previously inserted index). In the Entries tab delete the page number (#) from Structure line."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "With the Navigator you can select & move up/down headings and the text below the heading, in the Navigator and in the document."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to get a math object into Writer quickly? Type your formula, select it, and use Insert ▸ OLE Object ▸ Formula to convert the text."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "With %PRODUCTNAME it is very easy to install a new dictionary: they are supplied as extensions."), "https://extensions.libreoffice.org/?q=&Tags[]=50", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "%PRODUCTNAME has a portable version which gives you mobility. Even without administrator rights on your computer you can install %PRODUCTNAME Portable to your hard drive too."), "https://www.libreoffice.org/download/portable-versions/", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Writer lets you number your footnotes per page, chapter, document: Tools ▸ Footnote/Endnote Settings ▸ Footnotes tab ▸ Counting."), ".uno:FootnoteDialog", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Your Writer document does not reopen with the text cursor at the same editing position it was when you saved it? Add First or Last name in Tools ▸ Options ▸ %PRODUCTNAME ▸ User Data ▸ First/last name."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Need to do citation? You can use third-party citation managers such as Zotero."), "https://wiki.documentfoundation.org/Referencing_Systems_in_LibreOffice", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to insert a value in the same place on several sheets? Select the sheets: hold down %MOD1 key and click their tabs before entering."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to hide some text in a document? Select the text. Insert ▸ Section, and select “Hide”."), "modules/swriter/ui/editsectiondialog/hide", "", swriter}, // online help is different https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/swriter/guide/hidden_text.html#hd_id3148675
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can customize the middle mouse button by going to Tools ▸ Options ▸ %PRODUCTNAME ▸ View ▸ Mouse ▸ Middle button."), "", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to print two portrait pages on a landscape one (reducing A4 to A5)? File ▸ Print and select 2 at “Pages per sheet”."), "", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "For quick access to your document bookmarks, right-click on the page number of the status bar (lower-left corner of document window)."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Select an object in the document background via the Select tool in the Drawing toolbar to surround the object to select."), "", "", sdraw},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Define texts that you often use as AutoText. You will be able to insert them by their name, shortcut or toolbar in any Writer document."), "modules/swriter/ui/autotext/AutoTextDialog", "", swriter}, //https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/swriter/guide/autotext.html
+ { NC_("RID_CUI_TIPOFTHEDAY", "Play music throughout a slideshow by assigning the sound to the first slide transition without clicking the “Apply to All Slides” button."), "", "", simpress},
+ { NC_("RID_CUI_TIPOFTHEDAY", "%PRODUCTNAME Calc does not calculate from left to right but respects the order Parentheses – Exponents – Multiplication – Division – Addition – Subtraction."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Get %PRODUCTNAME documentation and free user guide books at:"), "https://documentation.libreoffice.org/", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to remove all <> at once and keep the text inside? Edit ▸ Find and Replace: Search = [<>], Replace = blank and check “Regular expressions” under Other options."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/shared/01/02100001.html", "", soffice}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "Need to present a report written with Writer? File ▸ Send ▸ Outline to Presentation automatically creates a slideshow from the outline."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to manage the presentation of hyperlinks in a spreadsheet? Insert them with the HYPERLINK function."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/scalc/01/04060109.html", "", scalc}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "Uncheck Tools ▸ Options ▸ %PRODUCTNAME Calc ▸ View ▸ Zoom: “Synchronize sheets” so that each sheet in Calc has its own zoom factor."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can set a color for each tab: right-click the tab or use Sheet ▸ Sheet Tab Color."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Trace cells used in a formula, precedents (Shift+F9) or dependents (Shift+F5) (or use Tools ▸ Detective). For each hit you go one more step in the chain."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/scalc/01/06030000.html", "", scalc}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "Insert and number your formulas in one step: type fn then F3. An AutoText is inserted with formula and number aligned in a table."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can create an illustration index from object names, not only from captions."), "cui/ui/objectnamedialog/ObjectNameDialog", "", swriter}, //https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/shared/01/05190000.html
+ { NC_("RID_CUI_TIPOFTHEDAY", "Use your Android or iPhone to remotely control your Impress presentation."), "https://help.libreoffice.org/%PRODUCTVERSION/he/text/simpress/guide/impress_remote.html", "", simpress}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to know how many days there are in the current month? Use the DAYSINMONTH(TODAY()) function."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Your numbers are displayed as ### in your spreadsheet? The column is too narrow to display all digits."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Enable massive parallel calculations of formula cells via Tools ▸ Options ▸ %PRODUCTNAME ▸ OpenCL."), "cui/ui/optopenclpage/OptOpenCLPage", "", scalc}, //https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/shared/optionen/opencl.html
+ { NC_("RID_CUI_TIPOFTHEDAY", "Use the Connector tool from the Drawing toolbar in Draw/Impress to create nice flow charts and optionally copy/paste the object into Writer."), "", "", sdraw},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Your donations support our worldwide community."), "https://www.libreoffice.org/donate/", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You want to add x months to a date? Use =EDATE(date;months)."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/scalc/01/func_edate.html", "", scalc}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "To select a contiguous range of cells containing data and bounded by empty row and columns use %MOD1+* (numeric key pad)."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Your date acceptance pattern is inappropriate? Use Tools ▸ Options ▸ Languages and Locales ▸ General ▸ Date acceptance patterns to tweak the pattern."), "", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to export formulas to CSV? File ▸ Save As ▸ Type:Text CSV, check “Edit filter settings”, and check “Save cell formulas” in the next dialog."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "The presenter console is a great feature when working with %PRODUCTNAME Impress. Have you checked it out?"), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/simpress/guide/presenter_console.html", "", simpress}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "To delete multiple comments, select cells with comments and use Sheet ▸ Cell Comments ▸ Delete Comment."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Easily convert your documents to PDF with one click by clicking on the PDF icon in the toolbar."), "", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to select a large range of cells without scrolling? Type the range reference (e.g. A1:A1000) in the name box then Enter."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to know the valid command line parameters? Start soffice with --help or -h or -?"), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/shared/guide/start_parameters.html", "", soffice}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "Fit your sheet or print ranges to a page with Format ▸ Page ▸ Sheet Tab ▸ Scaling Mode."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Need to include a list item without a bullet or number? Use “Insert Unnumbered Entry” in the Bullets and Numbering toolbar."), "HID_NUM_TOOLBOX", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can rotate cells table orientation with Table ▸ Properties… ▸ Text Flow ▸ Text orientation."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "In %PRODUCTNAME Draw to change the 0/0 point of the rulers, drag the intersection of the two rulers in the top left corner into the workspace."), "", "", sdraw},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Move a column in Calc between two others in one step? Click the header then a cell in the column, keep mouse button and move to the target with %MOD2 key."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Automatically mark alphabetical index entries using a concordance file."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/swriter/guide/indices_index.html", "", swriter}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "Use Format ▸ Align Objects in Impress or Shape ▸ Align Objects in Draw (or the context menu) for precise positioning of objects: it centers on the page if one object is selected or works on the group respectively."), "", "", sdraw},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Do not use tabs to space items on a Writer document. Depending on what you are trying to do, a borderless table can be a better choice."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "No need to scroll through the list at Tools ▸ Customize ▸ Keyboard to find a shortcut: just type it."), "", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "%PRODUCTNAME can automatically add a numbered caption when you insert objects. See Tools ▸ Options ▸ %PRODUCTNAME Writer ▸ AutoCaption."), "modules/swriter/ui/optcaptionpage/OptCaptionPage", "", swriter}, //https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/shared/optionen/01041100.html
+ { NC_("RID_CUI_TIPOFTHEDAY", "With %PRODUCTNAME you can use your Google Mail account to do a mail merge. Fill in Tools ▸ Options ▸ %PRODUCTNAME Writer ▸ Mail Merge Email."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/swriter/guide/form_letters_main.html", "", swriter}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "Keep column headers of a sheet visible when scrolling lines via View ▸ Freeze Cells ▸ Freeze First Row."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You want to start working with Basic macros? Take a look at the examples under Tools ▸ Macros ▸ Edit Macros."), "", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Apply Heading paragraph styles in Writer with shortcut keys: %MOD1+1 applies Heading 1, %MOD1+2 applies Heading 2, etc."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Do not get lost in large documents. Use the Navigator (F5) to find your way through the content."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Edit ▸ Find and Replace lets you insert special characters directly: right click in input fields or press Shift+%MOD1+S."), "", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Need custom contents for metadata properties? File ▸ Properties ▸ Custom Properties tab lets you create what you want."), "", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to see, but not print, an object in Draw? Draw it on a layer for which the “Printable” flag is not set (right-click the layer’s tab and choose “Modify Layer”)."), "", "", sdraw},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To insert the current date in your document, use Insert ▸ Field ▸ Date."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Got many images in your Writer document? Speed up the display by disabling View ▸ Images and charts."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Use Sheet ▸ Fill Cells ▸ Random Number to generate a random series based on various distributions."), "modules/scalc/ui/randomnumbergenerator/RandomNumberGeneratorDialog", "", scalc}, //https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/scalc/01/02140700.html
+ { NC_("RID_CUI_TIPOFTHEDAY", "Rename your slides in Impress to help you define “Go to page” interactions and to have a summary more explicit than Slide1, Slide2…"), "", "", simpress},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to display text before a heading number? Open the Numbering tab of the “Heading Numbering” dialog and enter the desired text in “Before”. For example, type “Chapter ” to display “Chapter 1”."), "modules/swriter/ui/outlinenumberingpage/prefix", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Transpose a Writer table? Copy and paste in Calc, transpose with copy/paste special then copy/paste special ▸ Formatted text in Writer."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To get the “Vertical Text” tool in the Drawing toolbar, check Tools ▸ Options ▸ Languages and Locales ▸ General ▸ Default languages for Documents ▸ Asian (and make the button visible with right-click and then Visible Buttons ▸ Vertical Text)."), "", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To quickly zoom in on range selection, right click on the zoom part of the status bar and choose Optimal."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can sign existing PDF files and also verify those signatures."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/shared/guide/digital_signatures.html", "", soffice}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "Often create one document from another? Consider using a template."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Use Format ▸ Conditional Formatting ▸ Manage in Calc to find out which cells have been defined with conditional formatting."), "modules/scalc/ui/conditionalformatdialog/ConditionalFormatDialog", "", scalc}, //https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/scalc/01/05120000.html
+ { NC_("RID_CUI_TIPOFTHEDAY", "Tools ▸ Detective ▸ Mark Invalid Data highlights all cells in the sheet that contain values outside the validation rules."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/scalc/01/06030800.html", "", scalc}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "Use font embedding for greater interoperability with other office suites at File ▸ Properties ▸ Font."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To convert a formula into static values you do not need to copy/paste; use Data ▸ Calculate ▸ Formula to Value."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can reformat all comments in a document by clicking the down arrow in a comment and choose “Format all Comments”."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Writer helps you to make backups: with File ▸ Save a Copy you create a new document continuing to work on the original."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "When you have created a Style based on another, you can enter a percentage value or a point value (e.g. 110% or −2pt or +5pt)."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To copy a comment without losing the content of the target cell you should use Paste Special and uncheck everything except “Comments” in dialog. Use Operations “Add” to not override existing content."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Batch-convert your Microsoft Office documents to the OpenDocument format by using the Document Converter wizard in menu File ▸ Wizards ▸ Document Converter."), "", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "When editing a cell in place, you can right click and Insert fields: Date, Sheet name, Document title, etc."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Need to move a Writer table? Table ▸ Select ▸ Table and Insert ▸ Frame ▸ Frame and move where you want."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "With Tools ▸ AutoText ▸ AutoText ▸ Import you can select a Word document or a template containing the AutoText entries that you want to import."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Do not insert manual breaks to separate two paragraphs. Rather change Indents & Spacing ▸ Spacing ▸ Below paragraph at the style/paragraph properties."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Keep the zeros before a number by using the “leading zeroes” cell format option or format the cell as text before entering the number."), "", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to return to default after applying a list style? Click Bullets or Numbering On/Off tool on the Formatting toolbar."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Delete all of your printing areas in one step: select all sheets, then Format ▸ Print Ranges ▸ Clear."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Add background images to spreadsheets via Insert ▸ Image or drag a background from the Gallery, then Format ▸ Arrange ▸ To Background."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Having trouble pasting text from PDF files or webpages into documents? Try to paste as unformatted text (%MOD1+%MOD2+Shift+V)."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "In Calc use TRIMMEAN() to return the mean of a data set excluding the highest and lowest values."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/scalc/01/04060182.html?DbPAR=CALC#bm_id3152966", "", scalc}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "The 4th optional parameter of VLOOKUP Calc function indicates whether the first column of data is sorted. If not, enter FALSE or zero."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Toolbars are contextual—they open depending on the context. If you do not want that, uncheck them from View ▸ Toolbars."), "", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can create a master document from the current Writer document by using File ▸ Send ▸ Create Master Document."), "SW_HID_SEND_MASTER_CTRL_PUSHBUTTON_CANCEL", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to center cells on a printed page in Calc? Format ▸ Page, Page ▸ Layout settings ▸ Table alignment."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Frames can be linked so that the text can flow from one to the other as in desktop publishing."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/swriter/guide/text_frame.html", "", swriter}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can create a chart based on a Writer table by clicking in the table and choosing Insert ▸ Chart."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Select options in Tools ▸ Options ▸ %PRODUCTNAME Writer ▸ Formatting Aids ▸ Display Formatting to specify which non-printing characters are displayed."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to jump to a particular page by its number? Click the left-most statusbar entry or use Edit ▸ Go To Page… or press %MOD1+G."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "%PRODUCTNAME supports over 150 languages."), "https://wiki.documentfoundation.org/Language_support_of_LibreOffice", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Uncheck Slide Show ▸ Settings ▸ Presentation always on top if you need another program displays its window to the front of your presentation."), "", "", simpress},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to find the words in bold in a Writer document? Edit ▸ Find and Replace ▸ Other options ▸ Attributes ▸ Font weight."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/swriter/guide/finding.html", "", swriter}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can sort paragraphs or table rows alphabetically or numerically per Tools ▸ Sort."), "modules/swriter/ui/sortdialog/SortDialog", "", swriter}, //https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/swriter/01/06100000.html
+ { NC_("RID_CUI_TIPOFTHEDAY", "To insert a paragraph before (after) a section, press %MOD2+Enter at the beginning (end) of the section."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "%PRODUCTNAME has a template center to create good looking documents—check it out."), "https://extensions.libreoffice.org/?q=&Tags[]=118", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Calculate loan repayments with Calc: eg. PMT(2%/12;36;2500) interest rate per payment period 2%/12, 36 months, loan amount 2500."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/scalc/01/04060119.html?DbPAR=CALC#bm_id3149577", "", scalc}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "Cannot find what you want with the VLOOKUP function in Calc? With INDEX and MATCH you can do anything!"), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/scalc/01/04060109.html", "", scalc}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to show hidden column A? Click a cell in column B, press the left mouse button, move the mouse to the left, release. Then switch it on via Format ▸ Columns ▸ Show."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To change the number of a page in Writer, go to the properties of the first paragraph and at the Text Flow tab check Break ▸ Insert and enter the number."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Run %PRODUCTNAME in any browser via rollApp."), "https://www.rollapp.com/app/lowriter", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Strange error code in Calc, Err: followed by a number? This page gives the explanation:"), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/scalc/05/02140000.html", "", scalc}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "Include a paragraph that is not a heading in the “Table of Contents” by giving a numerical outline level to the paragraph in the “Outline & List” tab in the paragraph settings."), "modules/swriter/ui/numparapage/comboLB_OUTLINE_LEVEL", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Apart from table of contents, %PRODUCTNAME can create Alphabetical, Illustrations, Tables, Objects, Bibliography, User-Defined indexes."), "modules/swriter/ui/tocdialog/TocDialog", "", swriter}, //https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/swriter/guide/indices_toc.html
+ { NC_("RID_CUI_TIPOFTHEDAY", "Unable to modify or delete a custom cell style? Check all sheets, none should be protected."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You need to fill a series? Select the cell range and Sheet ▸ Fill Cells ▸ Fill Series and choose between Linear, Growth, Date and AutoFill."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/scalc/guide/calc_series.html", "", scalc}, //local help missing
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to know if a cell is referred in formulas of other cells? Tools ▸ Detective ▸ Trace Dependents (Shift+F5)."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "In the replace input field of auto correct options you can use the wildcards .*"), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want to duplicate the above line? Press %MOD1+D or use Sheet ▸ Fill Cells ▸ Fill Down."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To search in several spreadsheets, select them before you start the search."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Drag & drop cells from Calc into the normal view of a slide creates a table; into the outline view, each cell creates a line in the outline."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "%PRODUCTNAME helps you not to enter two or more spaces in Writer. Check Tools ▸ AutoCorrect ▸ AutoCorrect Options ▸ Options ▸ Ignore double spaces."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Want the cursor to go into the cell to the right, after entering a value in Calc? Use the Tab key instead of Enter."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "To display the scrollbar to the left, enable Tools ▸ Options ▸ Languages and Locales ▸ General ▸ Complex text and right click a sheet in Sheet tabs above Status bar ▸ Right-To-Left."), "", "", scalc},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Drag a formatted object to the Styles and Formatting window. A dialog box opens, just enter the name of the new style."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "New versions of %PRODUCTNAME provide new features, bug fixes, and security patches. Keep your software updated!"), "SFX2_HID_DLG_CHECKFORONLINEUPDATE", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Developing new XSLT and XML filters?"), "https://fridrich.blogspot.com/2013/08/extending-swiss-army-knife-overview.html", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Press Shift+F1 to see any available extended tooltips in dialog boxes, when \"Extended tips\" is not enabled in Tools ▸ Options ▸ %PRODUCTNAME ▸ General."), "https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/shared/05/00000120.html", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Never use certain arrow styles? Remove them by using the Delete button on the Format ▸ Text Box and Shape ▸ Line ▸ Arrow Styles tab."), "cui/ui/lineendstabpage/BTN_MODIFY", "", sdraw},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Don’t like the position of some icons on your toolbar? Change it with Tools ▸ Customize ▸ Toolbars tab ▸ Target."), "CUI_HID_SVX_CONFIG_TOOLBAR", "", soffice},
+ { NC_("RID_CUI_TIPOFTHEDAY", "Can’t find a command in the menus? Try Shift+ESC."), ".uno:CommandPopup", "", soffice},
+};
+
+#define STR_HELP_LINK NC_("STR_HELP_LINK", "%PRODUCTNAME Help")
+#define STR_MORE_LINK NC_("STR_MORE_LINK", "More info")
+#define STR_UNO_LINK NC_("STR_UNO_LINK", "Run this action now...")
+#define STR_TITLE NC_("STR_TITLE", "Tip of the Day: %CURRENT/%TOTAL")
+#define STR_CMD NC_("STR_CMD", "⌘ Cmd") //use narrow no-break space U+202F here
+#define STR_CTRL NC_("STR_CTRL", "Ctrl")
+#define STR_Alt NC_("STR_CMD", "Alt")
+#define STR_Option NC_("STR_CTRL", "⌥ Opt") //use narrow no-break space U+202F here
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/inc/toolbarmode.hrc b/cui/inc/toolbarmode.hrc
new file mode 100644
index 0000000000..1891795b93
--- /dev/null
+++ b/cui/inc/toolbarmode.hrc
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * 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/.
+ */
+
+#pragma once
+
+#define NC_(Context, String) TranslateId(Context, u8##String)
+
+#include <rtl/ustring.hxx>
+#include <tuple>
+#include <unotools/resmgr.hxx>
+
+/*
+ Description, ui file name, preview file name
+*/
+const std::tuple<TranslateId, OUString, OUString> TOOLBARMODES_ARRAY[] =
+{
+ { NC_("RID_CUI_TOOLBARMODES", "Standard user interface with menu, toolbar, and collapsed sidebar. Intended for users who are familiar with the classic interface."), "Default", "default.png" },
+ { NC_("RID_CUI_TOOLBARMODES", "The Tabbed user interface is the most similar to the Ribbons used in Microsoft Office. It organizes functions in tabs and makes the main menu obsolete."), "notebookbar.ui", "notebookbar.png" },
+ { NC_("RID_CUI_TOOLBARMODES", "Standard user interface but with single-line toolbar. Intended for use on small screens."), "Single", "single.png" },
+ { NC_("RID_CUI_TOOLBARMODES", "Standard user interface with expanded sidebar. Expert users who want to quickly change many different properties are advised to use this UI."), "Sidebar", "sidebar.png" },
+ { NC_("RID_CUI_TOOLBARMODES", "The Tabbed Compact variant aims to be familiar with the Microsoft Office interface, yet occupying less space for smaller screens."), "notebookbar_compact.ui", "notebookbar_compact.png" },
+ { NC_("RID_CUI_TOOLBARMODES", "The Groupedbar interface provides access to functions in groups, with icons for most-frequently used features, and dropdown menus for others. This full variant favors functions and is slightly larger than others."), "notebookbar_groupedbar_full.ui", "notebookbar_groupedbar_full.png" },
+ { NC_("RID_CUI_TOOLBARMODES", "The Groupedbar interface provides access to functions in groups, with icons for most-frequently used features, and dropdown menus for others. This compact variant favors vertical space."), "notebookbar_groupedbar_compact.ui", "notebookbar_groupedbar_compact.png" },
+ { NC_("RID_CUI_TOOLBARMODES", "The Contextual Single interface shows functions in a single-line toolbar with context-dependent content."), "notebookbar_single.ui", "notebookbar_single.png" },
+ { NC_("RID_CUI_TOOLBARMODES", "The Contextual Groups interface focuses on beginners. It exposes the most frequently used functions on groups with the core action as large icon and a couple of small additional features. All functions have a label. Depending on the context, an additional section provides access to those functions."), "notebookbar_groups.ui", "notebookbar_groups.png" },
+};
+
+//hide experimental UIs
+constexpr int nGroupedbarFull = 5;
+constexpr int nContextualGroups = 8;
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/inc/treeopt.hrc b/cui/inc/treeopt.hrc
new file mode 100644
index 0000000000..602eb5b6b4
--- /dev/null
+++ b/cui/inc/treeopt.hrc
@@ -0,0 +1,161 @@
+/* -*- 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 .
+ */
+
+#pragma once
+
+#include <sal/types.h>
+#include <sfx2/pageids.hxx>
+#include <svx/dialogs.hrc>
+#include <svx/svxids.hrc>
+#include <unotools/resmgr.hxx>
+
+#include <utility>
+
+#define NC_(Context, String) TranslateId(Context, u8##String)
+
+const std::pair<TranslateId, sal_uInt16> SID_GENERAL_OPTIONS_RES[] =
+{
+ { NC_("SID_GENERAL_OPTIONS_RES", "%PRODUCTNAME"), 0 },
+ { NC_("SID_GENERAL_OPTIONS_RES", "User Data"), RID_SFXPAGE_GENERAL },
+ { NC_("SID_GENERAL_OPTIONS_RES", "General"), OFA_TP_MISC },
+ { NC_("SID_GENERAL_OPTIONS_RES", "View"), OFA_TP_VIEW },
+ { NC_("SID_GENERAL_OPTIONS_RES", "Print"), RID_SFXPAGE_PRINTOPTIONS },
+ { NC_("SID_GENERAL_OPTIONS_RES", "Paths"), RID_SFXPAGE_PATH },
+ { NC_("SID_GENERAL_OPTIONS_RES", "Fonts"), RID_SVX_FONT_SUBSTITUTION },
+ { NC_("SID_GENERAL_OPTIONS_RES", "Security"), RID_SVXPAGE_INET_SECURITY },
+ { NC_("SID_GENERAL_OPTIONS_RES", "Personalization"), RID_SVXPAGE_PERSONALIZATION },
+ { NC_("SID_GENERAL_OPTIONS_RES", "Application Colors"), RID_SVXPAGE_COLORCONFIG },
+ { NC_("SID_GENERAL_OPTIONS_RES", "Accessibility"), RID_SVXPAGE_ACCESSIBILITYCONFIG },
+ { NC_("SID_GENERAL_OPTIONS_RES", "Advanced"), RID_SVXPAGE_OPTIONS_JAVA },
+ { NC_("SID_GENERAL_OPTIONS_RES", "Basic IDE"), RID_SVXPAGE_BASICIDE_OPTIONS },
+ { NC_("SID_GENERAL_OPTIONS_RES", "Online Update"), RID_SVXPAGE_ONLINEUPDATE },
+ { NC_("SID_GENERAL_OPTIONS_RES", "OpenCL"), RID_SVXPAGE_OPENCL }
+};
+
+const std::pair<TranslateId, sal_uInt16> SID_LANGUAGE_OPTIONS_RES[] =
+{
+ { NC_("SID_LANGUAGE_OPTIONS_RES", "Languages and Locales"), 0 },
+ { NC_("SID_LANGUAGE_OPTIONS_RES", "General"), OFA_TP_LANGUAGES },
+ { NC_("SID_LANGUAGE_OPTIONS_RES", "Writing Aids"), RID_SFXPAGE_LINGU },
+ { NC_("SID_LANGUAGE_OPTIONS_RES", "Searching in Japanese"), RID_SVXPAGE_JSEARCH_OPTIONS },
+ { NC_("SID_LANGUAGE_OPTIONS_RES", "Asian Layout"), RID_SVXPAGE_ASIAN_LAYOUT },
+ { NC_("SID_LANGUAGE_OPTIONS_RES", "Complex Text Layout"), RID_SVXPAGE_OPTIONS_CTL },
+ { NC_("SID_LANGUAGE_OPTIONS_RES", "LanguageTool Server"), RID_SVXPAGE_LANGTOOL_OPTIONS },
+ { NC_("SID_LANGUAGE_OPTIONS_RES", "DeepL Server"), RID_SVXPAGE_DEEPL_OPTIONS }
+};
+
+const std::pair<TranslateId, sal_uInt16> SID_INET_DLG_RES[] =
+{
+ { NC_("SID_INET_DLG_RES", "Internet"), 0 },
+ { NC_("SID_INET_DLG_RES", "Proxy"), RID_SVXPAGE_INET_PROXY },
+ { NC_("SID_INET_DLG_RES", "Email"), RID_SVXPAGE_INET_MAIL }
+};
+
+const std::pair<TranslateId, sal_uInt16> SID_SW_EDITOPTIONS_RES[] =
+{
+ { NC_("SID_SW_EDITOPTIONS_RES", "%PRODUCTNAME Writer"), 0 },
+ { NC_("SID_SW_EDITOPTIONS_RES", "General"), RID_SW_TP_OPTLOAD_PAGE },
+ { NC_("SID_SW_EDITOPTIONS_RES", "View"), RID_SW_TP_CONTENT_OPT },
+ { NC_("SID_SW_EDITOPTIONS_RES", "Formatting Aids"), RID_SW_TP_OPTSHDWCRSR },
+ { NC_("SID_SW_EDITOPTIONS_RES", "Grid"), RID_SVXPAGE_GRID },
+ { NC_("SID_SW_EDITOPTIONS_RES", "Basic Fonts (Western)"),RID_SW_TP_STD_FONT },
+ { NC_("SID_SW_EDITOPTIONS_RES", "Basic Fonts (Asian)"),RID_SW_TP_STD_FONT_CJK },
+ { NC_("SID_SW_EDITOPTIONS_RES", "Basic Fonts (CTL)"), RID_SW_TP_STD_FONT_CTL },
+ { NC_("SID_SW_EDITOPTIONS_RES", "Print"), RID_SW_TP_OPTPRINT_PAGE },
+ { NC_("SID_SW_EDITOPTIONS_RES", "Table"), RID_SW_TP_OPTTABLE_PAGE },
+ { NC_("SID_SW_EDITOPTIONS_RES", "Changes"), RID_SW_TP_REDLINE_OPT },
+ { NC_("SID_SW_EDITOPTIONS_RES", "Comparison"), RID_SW_TP_COMPARISON_OPT },
+ { NC_("SID_SW_EDITOPTIONS_RES", "Compatibility"), RID_SW_TP_OPTCOMPATIBILITY_PAGE },
+ { NC_("SID_SW_EDITOPTIONS_RES", "AutoCaption"), RID_SW_TP_OPTCAPTION_PAGE },
+ { NC_("SID_SW_EDITOPTIONS_RES", "Mail Merge Email"), RID_SW_TP_MAILCONFIG }
+};
+
+const std::pair<TranslateId, sal_uInt16> SID_SW_ONLINEOPTIONS_RES[] =
+{
+ { NC_("SID_SW_ONLINEOPTIONS_RES", "%PRODUCTNAME Writer/Web"), 0 },
+ { NC_("SID_SW_ONLINEOPTIONS_RES", "View"), RID_SW_TP_HTML_CONTENT_OPT },
+ { NC_("SID_SW_ONLINEOPTIONS_RES", "Formatting Aids"), RID_SW_TP_HTML_OPTSHDWCRSR },
+ { NC_("SID_SW_ONLINEOPTIONS_RES", "Grid"), RID_SW_TP_HTML_OPTGRID_PAGE },
+ { NC_("SID_SW_ONLINEOPTIONS_RES", "Print"), RID_SW_TP_HTML_OPTPRINT_PAGE },
+ { NC_("SID_SW_ONLINEOPTIONS_RES", "Table"), RID_SW_TP_HTML_OPTTABLE_PAGE },
+ { NC_("SID_SW_ONLINEOPTIONS_RES", "Background"), RID_SW_TP_BACKGROUND }
+};
+
+const std::pair<TranslateId, sal_uInt16> SID_SM_EDITOPTIONS_RES[] =
+{
+ { NC_("SID_SM_EDITOPTIONS_RES", "%PRODUCTNAME Math"), 0 },
+ { NC_("SID_SM_EDITOPTIONS_RES", "Settings"), SID_SM_TP_PRINTOPTIONS },
+};
+
+const std::pair<TranslateId, sal_uInt16> SID_SC_EDITOPTIONS_RES[] =
+{
+ { NC_("SID_SC_EDITOPTIONS_RES", "%PRODUCTNAME Calc"), 0 },
+ { NC_("SID_SC_EDITOPTIONS_RES", "General"), SID_SC_TP_LAYOUT },
+ { NC_("SID_SC_EDITOPTIONS_RES", "Defaults"), RID_SC_TP_DEFAULTS },
+ { NC_("SID_SC_EDITOPTIONS_RES", "View"), SID_SC_TP_CONTENT },
+ { NC_("SID_SC_EDITOPTIONS_RES", "Calculate"), SID_SC_TP_CALC },
+ { NC_("SID_SC_EDITOPTIONS_RES", "Formula"), SID_SC_TP_FORMULA },
+ { NC_("SID_SC_EDITOPTIONS_RES", "Sort Lists"), SID_SC_TP_USERLISTS },
+ { NC_("SID_SC_EDITOPTIONS_RES", "Changes"), SID_SC_TP_CHANGES },
+ { NC_("SID_SC_EDITOPTIONS_RES", "Compatibility"), SID_SC_TP_COMPATIBILITY },
+ { NC_("SID_SC_EDITOPTIONS_RES", "Grid"), SID_SC_TP_GRID },
+ { NC_("SID_SC_EDITOPTIONS_RES", "Print"), RID_SC_TP_PRINT }
+};
+
+const std::pair<TranslateId, sal_uInt16> SID_SD_EDITOPTIONS_RES[] =
+{
+ { NC_("SID_SD_EDITOPTIONS_RES", "%PRODUCTNAME Impress"), 0 },
+ { NC_("SID_SD_EDITOPTIONS_RES", "General"), SID_SI_TP_MISC },
+ { NC_("SID_SD_EDITOPTIONS_RES", "View"), SID_SI_TP_CONTENTS },
+ { NC_("SID_SD_EDITOPTIONS_RES", "Grid"), SID_SI_TP_SNAP },
+ { NC_("SID_SD_EDITOPTIONS_RES", "Print"), SID_SI_TP_PRINT }
+};
+
+const std::pair<TranslateId, sal_uInt16> SID_SD_GRAPHIC_OPTIONS_RES[] =
+{
+ { NC_("SID_SD_GRAPHIC_OPTIONS_RES", "%PRODUCTNAME Draw"), 0 },
+ { NC_("SID_SD_GRAPHIC_OPTIONS_RES", "General"), SID_SD_TP_MISC },
+ { NC_("SID_SD_GRAPHIC_OPTIONS_RES", "View"), SID_SD_TP_CONTENTS },
+ { NC_("SID_SD_GRAPHIC_OPTIONS_RES", "Grid"), SID_SD_TP_SNAP },
+ { NC_("SID_SD_GRAPHIC_OPTIONS_RES", "Print"), SID_SD_TP_PRINT }
+};
+
+const std::pair<TranslateId, sal_uInt16> SID_SCH_EDITOPTIONS_RES[] =
+{
+ { NC_("SID_SCH_EDITOPTIONS_RES", "Charts"), 0 },
+ { NC_("SID_SCH_EDITOPTIONS_RES", "Default Colors"), RID_OPTPAGE_CHART_DEFCOLORS }
+};
+
+const std::pair<TranslateId, sal_uInt16> SID_FILTER_DLG_RES[] =
+{
+ { NC_("SID_FILTER_DLG_RES", "Load/Save"), 0 },
+ { NC_("SID_FILTER_DLG_RES", "General"), RID_SFXPAGE_SAVE },
+ { NC_("SID_FILTER_DLG_RES", "VBA Properties"), SID_OPTFILTER_MSOFFICE },
+ { NC_("SID_FILTER_DLG_RES", "Microsoft Office"), RID_OFAPAGE_MSFILTEROPT2 },
+ { NC_("SID_FILTER_DLG_RES", "HTML Compatibility"), RID_OFAPAGE_HTMLOPT }
+};
+
+const std::pair<TranslateId, sal_uInt16> SID_SB_STARBASEOPTIONS_RES[] =
+{
+ { NC_("SID_SB_STARBASEOPTIONS_RES", "%PRODUCTNAME Base"), 0 },
+ { NC_("SID_SB_STARBASEOPTIONS_RES", "Connections"), SID_SB_CONNECTIONPOOLING },
+ { NC_("SID_SB_STARBASEOPTIONS_RES", "Databases"), SID_SB_DBREGISTEROPTIONS }
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/inc/twolines.hrc b/cui/inc/twolines.hrc
new file mode 100644
index 0000000000..2c338d8f0e
--- /dev/null
+++ b/cui/inc/twolines.hrc
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * 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/.
+ */
+
+#pragma once
+
+#include <sal/types.h>
+#include <unotools/resmgr.hxx>
+
+#include <utility>
+
+#define NC_(Context, String) TranslateId(Context, u8##String)
+
+#define CHRDLG_ENCLOSE_NONE 0
+#define CHRDLG_ENCLOSE_ROUND 1
+#define CHRDLG_ENCLOSE_SQUARE 2
+#define CHRDLG_ENCLOSE_POINTED 3
+#define CHRDLG_ENCLOSE_CURVED 4
+#define CHRDLG_ENCLOSE_SPECIAL_CHAR 5
+
+const std::pair<TranslateId, sal_uInt16> TWOLINE_OPEN[] =
+{
+ { NC_("twolinespage|liststore1", "(None)"), CHRDLG_ENCLOSE_NONE },
+ { NC_("twolinespage|liststore1", "("), CHRDLG_ENCLOSE_ROUND },
+ { NC_("twolinespage|liststore1", "["), CHRDLG_ENCLOSE_SQUARE },
+ { NC_("twolinespage|liststore1", "<"), CHRDLG_ENCLOSE_POINTED },
+ { NC_("twolinespage|liststore1", "{"), CHRDLG_ENCLOSE_CURVED },
+ { NC_("twolinespage|liststore1", "Other Characters..."), CHRDLG_ENCLOSE_SPECIAL_CHAR }
+};
+
+const std::pair<TranslateId, sal_uInt16> TWOLINE_CLOSE[] =
+{
+ { NC_("twolinespage|liststore2", "(None)"), CHRDLG_ENCLOSE_NONE },
+ { NC_("twolinespage|liststore2", ")"), CHRDLG_ENCLOSE_ROUND },
+ { NC_("twolinespage|liststore2", "]"), CHRDLG_ENCLOSE_SQUARE },
+ { NC_("twolinespage|liststore2", ">"), CHRDLG_ENCLOSE_POINTED },
+ { NC_("twolinespage|liststore2", "}"), CHRDLG_ENCLOSE_CURVED },
+ { NC_("twolinespage|liststore2", "Other Characters..."), CHRDLG_ENCLOSE_SPECIAL_CHAR }
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/cui/inc/widgettestdlg.hxx b/cui/inc/widgettestdlg.hxx
new file mode 100644
index 0000000000..02ab7f3178
--- /dev/null
+++ b/cui/inc/widgettestdlg.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/.
+*/
+
+#pragma once
+
+#include <tools/link.hxx>
+#include <vcl/weld.hxx>
+#include <vcl/weldutils.hxx>
+
+class WidgetTestDialog final : public weld::GenericDialogController
+{
+private:
+ std::unique_ptr<weld::Button> m_xOKButton;
+ std::unique_ptr<weld::Button> m_xCancelButton;
+ std::unique_ptr<weld::TreeView> m_xTreeView;
+ std::unique_ptr<weld::TreeView> m_xTreeView2;
+
+ DECL_LINK(OkHdl, weld::Button&, void);
+ DECL_LINK(CancelHdl, weld::Button&, void);
+
+ void FillTreeView();
+
+public:
+ WidgetTestDialog(weld::Window* pParent);
+ ~WidgetTestDialog();
+};