From 41d743310d7388cded40872364c9fc44082c7d6e Mon Sep 17 00:00:00 2001 From: Gabor Kelemen Date: Thu, 27 Jun 2019 15:35:42 +0200 Subject: [PATCH] tdf#126030 Translate automatic chart title in OOXML charts Add l10n support to oox module to achieve this Change-Id: I7bece62bdf5ef0f0d1ef424074f16cef94649d77 Reviewed-on: https://gerrit.libreoffice.org/74819 Tested-by: Jenkins Reviewed-by: Andras Timar --- Repository.mk | 1 + l10ntools/source/localize.cxx | 1 + oox/AllLangMoTarget_oox.mk | 14 ++++++++++++++ oox/Library_oox.mk | 1 + oox/Module_oox.mk | 4 ++++ oox/inc/ooxresid.hxx | 19 +++++++++++++++++++ oox/inc/strings.hrc | 18 ++++++++++++++++++ .../drawingml/chart/chartspaceconverter.cxx | 4 +++- oox/source/helper/ooxresid.cxx | 19 +++++++++++++++++++ 9 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 oox/AllLangMoTarget_oox.mk create mode 100644 oox/inc/ooxresid.hxx create mode 100644 oox/inc/strings.hrc create mode 100644 oox/source/helper/ooxresid.cxx diff --git a/Repository.mk b/Repository.mk index 2febae16202f..5717370c3be3 100644 --- a/Repository.mk +++ b/Repository.mk @@ -1122,6 +1122,7 @@ $(eval $(call gb_Helper_register_mos,\ $(call gb_Helper_optional,DESKTOP,fps) \ frm \ fwk \ + oox \ pcr \ rpt \ $(call gb_Helper_optional,SCRIPTING,sb) \ diff --git a/l10ntools/source/localize.cxx b/l10ntools/source/localize.cxx index 24dbe8f73e3f..ee268cf11782 100644 --- a/l10ntools/source/localize.cxx +++ b/l10ntools/source/localize.cxx @@ -281,6 +281,7 @@ bool includeProject(const OString& rProject) { "mysqlc", "nlpsolver", "officecfg", + "oox", "readlicense_oo", "reportbuilder", "reportdesign", diff --git a/oox/AllLangMoTarget_oox.mk b/oox/AllLangMoTarget_oox.mk new file mode 100644 index 000000000000..c2a733faf7bd --- /dev/null +++ b/oox/AllLangMoTarget_oox.mk @@ -0,0 +1,14 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; 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/. +# + +$(eval $(call gb_AllLangMoTarget_AllLangMoTarget,oox)) + +$(eval $(call gb_AllLangMoTarget_set_polocation,oox,oox)) + +# vim: set noet sw=4 ts=4: \ No newline at end of file diff --git a/oox/Library_oox.mk b/oox/Library_oox.mk index 2d4718a320cb..7b5a26866f5d 100644 --- a/oox/Library_oox.mk +++ b/oox/Library_oox.mk @@ -224,6 +224,7 @@ $(eval $(call gb_Library_add_exception_objects,oox,\ oox/source/helper/graphichelper \ oox/source/helper/grabbagstack \ oox/source/helper/modelobjecthelper \ + oox/source/helper/ooxresid \ oox/source/helper/progressbar \ oox/source/helper/propertymap \ oox/source/helper/propertyset \ diff --git a/oox/Module_oox.mk b/oox/Module_oox.mk index db79a0f8e093..1f906231e981 100644 --- a/oox/Module_oox.mk +++ b/oox/Module_oox.mk @@ -16,6 +16,10 @@ $(eval $(call gb_Module_add_targets,oox,\ Package_generated \ )) +$(eval $(call gb_Module_add_l10n_targets,oox,\ + AllLangMoTarget_oox \ +)) + $(eval $(call gb_Module_add_check_targets,oox,\ CppunitTest_oox_tokenmap \ CppunitTest_oox_vba_compression \ diff --git a/oox/inc/ooxresid.hxx b/oox/inc/ooxresid.hxx new file mode 100644 index 000000000000..ed51b317269b --- /dev/null +++ b/oox/inc/ooxresid.hxx @@ -0,0 +1,19 @@ +/* -*- 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/. + */ + +#ifndef INCLUDED_OOX_INC_RESID_HXX +#define INCLUDED_OOX_INC_RESID_HXX + +#include +#include + +OOX_DLLPUBLIC OUString OoxResId(const char* pId); + +#endif +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ \ No newline at end of file diff --git a/oox/inc/strings.hrc b/oox/inc/strings.hrc new file mode 100644 index 000000000000..dcb0744d593f --- /dev/null +++ b/oox/inc/strings.hrc @@ -0,0 +1,18 @@ +/* -*- 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/. + */ + +#ifndef OOX_STRINGS_HRC +#define OOX_STRINGS_HRC + +#define NC_(Context, String) reinterpret_cast(Context "\004" u8##String) + +#define STR_DIAGRAM_TITLE NC_("STR_DIAGRAM_TITLE", "Chart Title") + +#endif +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ \ No newline at end of file diff --git a/oox/source/drawingml/chart/chartspaceconverter.cxx b/oox/source/drawingml/chart/chartspaceconverter.cxx index 0a9a690031ae..4b8d6655e40e 100644 --- a/oox/source/drawingml/chart/chartspaceconverter.cxx +++ b/oox/source/drawingml/chart/chartspaceconverter.cxx @@ -39,6 +39,8 @@ #include #include #include +#include +#include using namespace ::com::sun::star; using ::com::sun::star::uno::Reference; @@ -184,7 +186,7 @@ void ChartSpaceConverter::convertFromModel( const Reference< XShapes >& rxExtern if( mrModel.mxTitle.is() || !aAutoTitle.isEmpty() ) { if( aAutoTitle.isEmpty() ) - aAutoTitle = "Chart Title"; + aAutoTitle = OoxResId(STR_DIAGRAM_TITLE); Reference< XTitled > xTitled( getChartDocument(), UNO_QUERY_THROW ); TitleConverter aTitleConv( *this, mrModel.mxTitle.getOrCreate() ); aTitleConv.convertFromModel( xTitled, aAutoTitle, OBJECTTYPE_CHARTTITLE ); diff --git a/oox/source/helper/ooxresid.cxx b/oox/source/helper/ooxresid.cxx new file mode 100644 index 000000000000..82bf4af91153 --- /dev/null +++ b/oox/source/helper/ooxresid.cxx @@ -0,0 +1,19 @@ +/* -*- 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/. + */ + +#include +#include +#include + +OOX_DLLPUBLIC OUString OoxResId(const char* pId) +{ + return Translate::get(pId, Translate::Create("oox")); +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ \ No newline at end of file