[Libreoffice-commits] .: Branch 'libreoffice-4-0' - 4 commits - l10ntools/source solenv/gbuild

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Dec 28 07:35:34 PST 2012


 l10ntools/source/uimerge.cxx     |   98 +++++++++++++++++-------
 solenv/gbuild/TargetLocations.mk |    5 -
 solenv/gbuild/UI.mk              |  154 +++++++++++++--------------------------
 3 files changed, 127 insertions(+), 130 deletions(-)

New commits:
commit 7e1c81e53d436407cae7f8ac915650839ec6d069
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Dec 27 16:11:29 2012 +0100

    fix delivery of qtz "translations"
    
    Change-Id: I2f0ae1eff5bd009a7cb467b38c1743eff51dc563
    (cherry picked from commit f45a07d6f4eefc75d983d7aca2b57d075749b4e7)
    
    Signed-off-by: David Tardon <dtardon at redhat.com>

diff --git a/solenv/gbuild/UI.mk b/solenv/gbuild/UI.mk
index b56c858..00572b0 100644
--- a/solenv/gbuild/UI.mk
+++ b/solenv/gbuild/UI.mk
@@ -17,6 +17,19 @@ gb_UILocalizeTarget_TARGET := $(call gb_Executable_get_target_for_build,uiex)
 gb_UILocalizeTarget_COMMAND := $(gb_Helper_set_ld_path) $(gb_UILocalizeTarget_TARGET)
 gb_UILocalizeTarget_LANGS := $(filter-out qtz,$(filter-out en-US,$(gb_WITH_LANG)))
 
+# If translatable strings from a .ui file are not merged into the
+# respective .po file yet, the produced translated files are empty (that
+# is, they only contain the root element), but qtz is not created at all
+# which breaks delivery. This hack avoids the problem by creating a
+# dummy translation file.
+define gb_UILocalizeTarget__fix_missing_qtz
+$(if $(filter qtz,$(gb_WITH_LANG)),\
+	&& if [ ! -f $(1)/qtz.ui ]; then \
+		echo '<?xml version="1.0"?><t></t>' > $(1)/qtz.ui; \
+	fi \
+)
+endef
+
 define gb_UILocalizeTarget__command
 $(call gb_Output_announce,$(2),$(true),UIX,1)
 MERGEINPUT=`$(gb_MKTEMP)` && \
@@ -27,6 +40,7 @@ $(call gb_Helper_abbreviate_dirs,\
 		-o $(call gb_UILocalizeTarget_get_workdir,$(2)) \
 		-l all \
 		-m $${MERGEINPUT} \
+	$(call gb_UILocalizeTarget__fix_missing_qtz,$(call gb_UILocalizeTarget_get_workdir,$(2))) \
 	&& touch $(1) \
 ) && \
 rm -rf $${MERGEINPUT}
commit d250f6f5626056e94409cc0a6d64f5377bacfe84
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Dec 27 12:15:08 2012 +0100

    simplify UI packaging
    
    Change-Id: Id829cd4f12cb4d3fc8cb08dc5b297ee3cfc7591b
    (cherry picked from commit 4faaf5579937e2e2fc91aef28ba4974020d2fa9f)
    
    Signed-off-by: David Tardon <dtardon at redhat.com>

diff --git a/solenv/gbuild/UI.mk b/solenv/gbuild/UI.mk
index 5a3f8fc..b56c858 100644
--- a/solenv/gbuild/UI.mk
+++ b/solenv/gbuild/UI.mk
@@ -115,24 +115,21 @@ endif
 $$(eval $$(call gb_Module_register_target,$(call gb_UI_get_target,$(1)),$(call gb_UI_get_clean_target,$(1))))
 endef
 
-# gb_UI__get_outdir_filename target file lang?
-gb_UI__get_outdir_filename = xml/uiconfig/$(1)/ui/$(if $(3),res/$(3)/)$(notdir $(2))$(if $(3),,.ui)
-
-# gb_UI__add_uifile target package destfile srcfile lang?
+# gb_UI__package_uifile target package destfile srcfile
 define gb_UI__package_uifile
-$(call gb_Package_add_file,$(2),$(call gb_UI__get_outdir_filename,$(1),$(3),$(5)),$(4))
+$(call gb_Package_add_file,$(2),xml/uiconfig/$(1)/ui/$(3),$(4))
 
 endef
 
 # gb_UI__add_uifile target file
 define gb_UI__add_uifile
-$(call gb_UI__package_uifile,$(1),$(1)_ui,$(2),$(2).ui)
+$(call gb_UI__package_uifile,$(1),$(1)_ui,$(notdir $(2)).ui,$(2).ui)
 
 endef
 
 # gb_UI__add_uifile_for_lang target file lang
 define gb_UI__add_uifile_for_lang
-$(call gb_UI__package_uifile,$(1),$(1)_ui_localized,$(2),$(2)/$(3).ui,$(3))
+$(call gb_UI__package_uifile,$(1),$(1)_ui_localized,res/$(3)/$(notdir $(2)),$(2)/$(3).ui)
 
 endef
 
commit 90c34cdfa0689167d9dee5df6459ed7449b76301
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Dec 27 10:54:04 2012 +0100

    create all translations for a .ui file in one uiex call
    
    This should help a lot with Windows release build times (i.e., move it
    from "glacially slow" category to just "slow").
    
    Change-Id: I6d397eb5d1ec1779616c3eef8e51f9cf29d5acec
    (cherry picked from commit b209dec8bbc9be5471438837a4da64adfa350298)
    
    Signed-off-by: David Tardon <dtardon at redhat.com>

diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk
index 32887be..9aef6d3 100644
--- a/solenv/gbuild/TargetLocations.mk
+++ b/solenv/gbuild/TargetLocations.mk
@@ -161,8 +161,8 @@ gb_SrsTemplateTarget_get_include_dir = $(WORKDIR)/SrsTemplatePartTarget/$(firstw
 gb_SrsTemplateTarget_get_target = $(WORKDIR)/SrsTemplateTarget/$(1)
 gb_ThesaurusIndexTarget_get_target = $(WORKDIR)/ThesaurusIndexTarget/$(basename $(1)).idx
 gb_UI_get_target = $(WORKDIR)/UI/$(1).done
-gb_UILocalizeTarget_get_target = $(WORKDIR)/UILocalizeTarget/$(1).ui
-gb_UITarget_get_target = $(WORKDIR)/UITarget/$(1).done
+gb_UILocalizeTarget_get_target = $(WORKDIR)/UILocalizeTarget/$(1).done
+gb_UILocalizeTarget_get_workdir = $(WORKDIR)/UILocalizeTarget/$(1)
 gb_UnoApiTarget_get_external_headers_target = $(WORKDIR)/UnoApiTarget/$(1).external
 gb_UnoApiTarget_get_headers_target = $(WORKDIR)/UnoApiTarget/$(1).headers
 gb_UnoApiTarget_get_target = $(WORKDIR)/UnoApiTarget/$(1).rdb
@@ -264,7 +264,6 @@ $(eval $(call gb_Helper_make_clean_targets,\
 	ExternalProject \
 	UI \
 	UILocalizeTarget \
-	UITarget \
 	UnoApiHeadersTarget \
 	UnoApiTarget \
 	UnpackedTarball \
diff --git a/solenv/gbuild/UI.mk b/solenv/gbuild/UI.mk
index a529adc..5a3f8fc 100644
--- a/solenv/gbuild/UI.mk
+++ b/solenv/gbuild/UI.mk
@@ -9,11 +9,13 @@
 
 # class UILocalizeTarget
 
+# Produces translations for one .ui file.
+
 gb_UILocalizeTarget_WORKDIR := $(WORKDIR)/UILocalizeTarget
 
 gb_UILocalizeTarget_TARGET := $(call gb_Executable_get_target_for_build,uiex)
 gb_UILocalizeTarget_COMMAND := $(gb_Helper_set_ld_path) $(gb_UILocalizeTarget_TARGET)
-gb_UILocalizeTarge_LANGS := $(filter-out qtz,$(filter-out en-US,$(gb_WITH_LANG)))
+gb_UILocalizeTarget_LANGS := $(filter-out qtz,$(filter-out en-US,$(gb_WITH_LANG)))
 
 define gb_UILocalizeTarget__command
 $(call gb_Output_announce,$(2),$(true),UIX,1)
@@ -22,13 +24,17 @@ echo $(POFILES) > $${MERGEINPUT} && \
 $(call gb_Helper_abbreviate_dirs,\
 	$(gb_UILocalizeTarget_COMMAND) \
 		-i $(UI_FILE) \
-		-o $(dir $(1)) \
-		-l $(UI_LANG) \
-		-m $${MERGEINPUT} ) && \
+		-o $(call gb_UILocalizeTarget_get_workdir,$(2)) \
+		-l all \
+		-m $${MERGEINPUT} \
+	&& touch $(1) \
+) && \
 rm -rf $${MERGEINPUT}
-
 endef
 
+$(dir $(call gb_UILocalizeTarget_get_target,%)).dir :
+	$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
+
 $(dir $(call gb_UILocalizeTarget_get_target,%))%/.dir :
 	$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
 
@@ -42,77 +48,26 @@ $(call gb_UILocalizeTarget_get_clean_target,%) :
 		rm -f $(call gb_UILocalizeTarget_get_target,$*) \
 	)
 
-# Translates one .ui file
+# Produce translations for one .ui file
 #
-# gb_UILocalizeTarget_UILocalizeTarget target source lang
+# gb_UILocalizeTarget_UILocalizeTarget target
 define gb_UILocalizeTarget_UILocalizeTarget
-$(call gb_UILocalizeTarget_get_target,$(1)) : POFILES := $(foreach lang,$(gb_UILocalizeTarge_LANGS),$(gb_POLOCATION)/$(lang)/$(patsubst %/,%,$(dir $(2))).po)
-$(call gb_UILocalizeTarget_get_target,$(1)) : UI_FILE := $(SRCDIR)/$(2).ui
-$(call gb_UILocalizeTarget_get_target,$(1)) : UI_LANG := $(3)
-
-$(call gb_UILocalizeTarget_get_target,$(1)) : $(foreach lang,$(gb_UILocalizeTarge_LANGS),$(gb_POLOCATION)/$(lang)/$(patsubst %/,%,$(dir $(2))).po)
-$(call gb_UILocalizeTarget_get_target,$(1)) : $(SRCDIR)/$(2).ui
-$(call gb_UILocalizeTarget_get_target,$(1)) :| $(dir $(call gb_UILocalizeTarget_get_target,$(1))).dir
+$(call gb_UILocalizeTarget__UILocalizeTarget_impl,$(1),$(foreach lang,$(gb_UILocalizeTarget_LANGS),$(gb_POLOCATION)/$(lang)/$(patsubst %/,%,$(dir $(1))).po))
 
-$(foreach lang,$(gb_UILocalizeTarge_LANGS),$(gb_POLOCATION)/$(lang)/$(patsubst %/,%,$(dir $(2))).po) :
 endef
 
-# class UITarget
-
-# en-US is a special case
-gb_UITarget_LANGS := $(filter-out en-US,$(gb_WITH_LANG))
-
-gb_UITarget_LOCALIZED_DIR := $(gb_UILocalizeTarget_WORKDIR)
-
-gb_UITarget_get_uifile_for_lang = $(subst $(gb_UITarget_LOCALIZED_DIR)/,,$(call gb_UILocalizeTarget_get_target,$(1)/$(2)))
-
-$(dir $(call gb_UITarget_get_target,%)).dir :
-	$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
-
-$(dir $(call gb_UITarget_get_target,%))%/.dir :
-	$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
-
-$(call gb_UITarget_get_target,%) :
-	$(call gb_Output_announce,$*,$(true),UI ,2)
-	$(call gb_Helper_abbreviate_dirs,\
-		touch $@ \
-	)
-
-.PHONY : $(call gb_UITarget_get_clean_target,%)
-$(call gb_UITarget_get_clean_target,%) :
-	$(call gb_Output_announce,$*,$(false),UI ,2)
-	$(call gb_Helper_abbreviate_dirs,\
-		rm -f $(call gb_UITarget_get_target,$*) \
-	)
+# gb_UILocalizeTarget__UILocalizeTarget_impl target pofiles
+define gb_UILocalizeTarget__UILocalizeTarget_impl
+$(call gb_UILocalizeTarget_get_target,$(1)) : POFILES := $(2)
+$(call gb_UILocalizeTarget_get_target,$(1)) : UI_FILE := $(SRCDIR)/$(1).ui
 
-# Translates a set of .ui files
-#
-# gb_UITarget_UITarget modulename
-define gb_UITarget_UITarget
-$(call gb_UITarget_get_target,$(1)) :| $(dir $(call gb_UITarget_get_target,$(1))).dir
-
-endef
+$(call gb_UILocalizeTarget_get_target,$(1)) : $(2)
+$(call gb_UILocalizeTarget_get_target,$(1)) : $(SRCDIR)/$(1).ui
+$(call gb_UILocalizeTarget_get_target,$(1)) :| \
+	$(dir $(call gb_UILocalizeTarget_get_target,$(1))).dir \
+	$(call gb_UILocalizeTarget_get_workdir,$(1))/.dir
 
-define gb_UITarget__add_uifile_for_lang
-$(call gb_UILocalizeTarget_UILocalizeTarget,$(2)/$(3),$(2),$(3))
-$(call gb_UITarget_get_target,$(1)) : $(call gb_UILocalizeTarget_get_target,$(2)/$(3))
-$(call gb_UITarget_get_clean_target,$(1)) : $(call gb_UILocalizeTarget_get_clean_target,$(2)/$(3))
-
-endef
-
-# Adds an .ui file for translation
-#
-# gb_UITarget_add_uifile target uifile
-define gb_UITarget_add_uifile
-$(foreach lang,$(gb_UITarget_LANGS),$(call gb_UITarget__add_uifile_for_lang,$(1),$(2),$(lang)))
-
-endef
-
-# Adds multiple .ui files for translation
-#
-# gb_UITarget_add_uifiles target uifile(s)
-define gb_UITarget_add_uifiles
-$(foreach uifile,$(2),$(call gb_UITarget_add_uifile,$(1),$(uifile)))
+$(2) :
 
 endef
 
@@ -120,7 +75,8 @@ endef
 
 # Handles UI description files (suffix .ui) for the new layouting mechanism.
 
-gb_UI_LANGS := $(gb_UITarget_LANGS)
+# en-US is the default, so there is no translation for it
+gb_UI_LANGS := $(filter-out en-US,$(gb_WITH_LANG))
 
 $(dir $(call gb_UI_get_target,%)).dir :
 	$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
@@ -129,12 +85,14 @@ $(dir $(call gb_UI_get_target,%))%/.dir :
 	$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
 
 $(call gb_UI_get_target,%) :
+	$(call gb_Output_announce,$*,$(true),UI ,2)
 	$(call gb_Helper_abbreviate_dirs,\
 		touch $@ \
 	)
 
 .PHONY : $(call gb_UI_get_clean_target,%)
 $(call gb_UI_get_clean_target,%) :
+	$(call gb_Output_announce,$*,$(false),UI ,2)
 	$(call gb_Helper_abbreviate_dirs,\
 		rm -f $(call gb_UI_get_target,$*) \
 	)
@@ -149,11 +107,8 @@ $(call gb_UI_get_target,$(1)) :| $(call gb_Package_get_target,$(1)_ui)
 $(call gb_UI_get_clean_target,$(1)) : $(call gb_Package_get_clean_target,$(1)_ui)
 
 ifneq ($(gb_UI_LANGS),)
-$(call gb_UITarget_UITarget,$(1))
-$(call gb_Package_Package_internal,$(1)_ui_localized,$(gb_UITarget_LOCALIZED_DIR))
-$(call gb_UI_get_target,$(1)) : $(call gb_UITarget_get_target,$(1))
+$(call gb_Package_Package_internal,$(1)_ui_localized,$(gb_UILocalizeTarget_WORKDIR))
 $(call gb_UI_get_target,$(1)) :| $(call gb_Package_get_target,$(1)_ui_localized)
-$(call gb_UI_get_clean_target,$(1)) : $(call gb_UITarget_get_clean_target,$(1))
 $(call gb_UI_get_clean_target,$(1)) : $(call gb_Package_get_clean_target,$(1)_ui_localized)
 endif
 
@@ -169,25 +124,15 @@ $(call gb_Package_add_file,$(2),$(call gb_UI__get_outdir_filename,$(1),$(3),$(5)
 
 endef
 
-# gb_UI__add_uifile_direct target file
-define gb_UI__add_uifile_direct
+# gb_UI__add_uifile target file
+define gb_UI__add_uifile
 $(call gb_UI__package_uifile,$(1),$(1)_ui,$(2),$(2).ui)
 
 endef
 
 # gb_UI__add_uifile_for_lang target file lang
 define gb_UI__add_uifile_for_lang
-$(call gb_UI__package_uifile,$(1),$(1)_ui_localized,$(2),$(call gb_UITarget_get_uifile_for_lang,$(2),$(3)),$(3))
-
-endef
-
-define gb_UI__add_uifile
-$(call gb_UI__add_uifile_direct,$(1),$(2))
-
-ifneq ($(gb_UI_LANGS),)
-$(call gb_UITarget_add_uifile,$(1),$(2))
-$(foreach lang,$(gb_UI_LANGS),$(call gb_UI__add_uifile_for_lang,$(1),$(2),$(lang)))
-endif
+$(call gb_UI__package_uifile,$(1),$(1)_ui_localized,$(2),$(2)/$(3).ui,$(3))
 
 endef
 
@@ -200,7 +145,11 @@ define gb_UI_add_uifile
 $(call gb_UI__add_uifile,$(1),$(2))
 
 ifneq ($(gb_UI_LANGS),)
-$(call gb_UITarget_add_uifile,$(1),$(2))
+$(call gb_UILocalizeTarget_UILocalizeTarget,$(2))
+$(call gb_UI_get_target,$(1)) : $(call gb_UILocalizeTarget_get_target,$(2))
+$(call gb_UI_get_clean_target,$(1)) : $(call gb_UILocalizeTarget_get_clean_target,$(2))
+$(call gb_Package_get_preparation_target,$(1)_ui_localized) : $(call gb_UILocalizeTarget_get_target,$(2))
+$(foreach lang,$(gb_UI_LANGS),$(call gb_UI__add_uifile_for_lang,$(1),$(2),$(lang)))
 endif
 
 endef
@@ -209,11 +158,7 @@ endef
 #
 # gb_UI_add_uifiles target uifile(s)
 define gb_UI_add_uifiles
-$(foreach uifile,$(2),$(call gb_UI__add_uifile,$(1),$(uifile)))
-
-ifneq ($(gb_UI_LANGS),)
-$(call gb_UITarget_add_uifiles,$(1),$(2))
-endif
+$(foreach uifile,$(2),$(call gb_UI_add_uifile,$(1),$(uifile)))
 
 endef
 
commit 743e16e71c5b623b3545f19a3ff5640c2ba43cd2
Author: David Tardon <dtardon at redhat.com>
Date:   Wed Dec 26 15:40:21 2012 +0100

    let uiex produce more translations in one run
    
    uiex differs from the other *ex tools in that translation for every
    language must be in a standalone file, named after the language code. So
    uiex should take an output _directory_ instead of a file.
    
    Change-Id: If3ed966147c6d11d1fe85c484463f1bca4eec172
    (cherry picked from commit c27b2e377f612de2476ff0aa0ddc909ff214fcb2)
    
    Signed-off-by: David Tardon <dtardon at redhat.com>

diff --git a/l10ntools/source/uimerge.cxx b/l10ntools/source/uimerge.cxx
index 4192ed7..d14b9b7 100644
--- a/l10ntools/source/uimerge.cxx
+++ b/l10ntools/source/uimerge.cxx
@@ -9,6 +9,8 @@
 
 #include <sal/main.h>
 
+#include <osl/file.hxx>
+
 #include <rtl/strbuf.hxx>
 
 #include <libexslt/exslt.h>
@@ -126,22 +128,76 @@ namespace
         }
         return sReturn.makeStringAndClear();
     }
+
+    bool lcl_MergeLang(
+            const MergeDataHashMap &rMap,
+            const rtl::OString &rLanguage,
+            const rtl::OString &rDestinationFile)
+    {
+        std::ofstream aDestination(
+            rDestinationFile.getStr(), std::ios_base::out | std::ios_base::trunc);
+        if (!aDestination.is_open()) {
+            return false;
+        }
+
+        aDestination << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
+        aDestination << "<t>\n";
+
+        for (MergeDataHashMap::const_iterator aI = rMap.begin(), aEnd = rMap.end(); aI != aEnd; ++aI)
+        {
+            if (aI->second->sGID.isEmpty())
+                continue;
+
+            PFormEntrys* pFoo = aI->second->GetPFormEntries();
+            rtl::OString sOut;
+            pFoo->GetText( sOut, STRING_TYP_TEXT, rLanguage );
+
+            if (sOut.isEmpty())
+                continue;
+
+            aDestination << " <e "
+                << "g=\"" << aI->second->sGID.getStr() << "\" "
+                << "i=\"" << aI->second->sLID.getStr() << "\">"
+                << QuotHTML(sOut).getStr() << "</e>\n";
+        }
+
+        aDestination << "</t>";
+        aDestination.close();
+
+        return true;
+    }
+
 }
 
 bool Merge(
     const rtl::OString &rSDFFile,
     const rtl::OString &rSourceFile,
-    const rtl::OString &rDestinationFile)
+    const rtl::OString &rDestinationDir)
 {
-    Export::InitLanguages( true );
-    std::ofstream aDestination(
-        rDestinationFile.getStr(), std::ios_base::out | std::ios_base::trunc);
-    if (!aDestination.is_open()) {
-        return false;
+    {
+        bool bDestinationIsDir(false);
+
+        const rtl::OUString aDestDir(rtl::OStringToOUString(rDestinationDir, RTL_TEXTENCODING_UTF8));
+        rtl::OUString aDestDirUrl;
+        if (osl::FileBase::E_None == osl::FileBase::getFileURLFromSystemPath(aDestDir, aDestDirUrl))
+        {
+            osl::DirectoryItem aTmp;
+            if (osl::DirectoryItem::E_None == osl::DirectoryItem::get(aDestDirUrl, aTmp))
+            {
+                osl::FileStatus aDestinationStatus(osl_FileStatus_Mask_Type);
+                if (osl::DirectoryItem::E_None == aTmp.getFileStatus(aDestinationStatus))
+                    bDestinationIsDir = aDestinationStatus.isDirectory();
+            }
+        }
+
+        if (!bDestinationIsDir)
+        {
+            fprintf(stderr, "%s must be a directory\n", rDestinationDir.getStr());
+            return false;
+        }
     }
 
-    aDestination << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
-    aDestination << "<t>\n";
+    Export::InitLanguages( true );
 
     MergeDataFile aMergeDataFile( rSDFFile, rSourceFile, sal_False );
     rtl::OString sTmp( Export::sLanguages );
@@ -151,34 +207,20 @@ bool Merge(
     std::vector<rtl::OString> aLanguages = Export::GetLanguages();
 
     const MergeDataHashMap& rMap = aMergeDataFile.getMap();
+    const rtl::OString aDestinationDir(rDestinationDir + "/");
 
+    bool bResult = true;
     for(size_t n = 0; n < aLanguages.size(); ++n)
     {
         rtl::OString sCur = aLanguages[ n ];
         if (sCur.isEmpty() || sCur.equalsIgnoreAsciiCaseL(RTL_CONSTASCII_STRINGPARAM("en-US")))
             continue;
-        for (MergeDataHashMap::const_iterator aI = rMap.begin(), aEnd = rMap.end(); aI != aEnd; ++aI)
-        {
-            if (aI->second->sGID.isEmpty())
-                continue;
-
-            PFormEntrys* pFoo = aI->second->GetPFormEntries();
-            rtl::OString sOut;
-            pFoo->GetText( sOut, STRING_TYP_TEXT, sCur);
-
-            if (sOut.isEmpty())
-                continue;
-
-            aDestination << " <e "
-                << "g=\"" << aI->second->sGID.getStr() << "\" "
-                << "i=\"" << aI->second->sLID.getStr() << "\">"
-                << QuotHTML(sOut).getStr() << "</e>\n";
-        }
+        const rtl::OString aDestinationFile(aDestinationDir + sCur + ".ui");
+        if (!lcl_MergeLang(rMap, sCur, aDestinationFile))
+            bResult = false;
     }
 
-    aDestination << "</t>";
-    aDestination.close();
-    return sal_True;
+    return bResult;
 }
 
 SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
diff --git a/solenv/gbuild/UI.mk b/solenv/gbuild/UI.mk
index 47a1a78..a529adc 100644
--- a/solenv/gbuild/UI.mk
+++ b/solenv/gbuild/UI.mk
@@ -22,7 +22,7 @@ echo $(POFILES) > $${MERGEINPUT} && \
 $(call gb_Helper_abbreviate_dirs,\
 	$(gb_UILocalizeTarget_COMMAND) \
 		-i $(UI_FILE) \
-		-o $(1) \
+		-o $(dir $(1)) \
 		-l $(UI_LANG) \
 		-m $${MERGEINPUT} ) && \
 rm -rf $${MERGEINPUT}


More information about the Libreoffice-commits mailing list