From 6d84a36fd1dde3fe2035ff17a78672c72f3ab0fc Mon Sep 17 00:00:00 2001 From: Jean-Charles Malahieude Date: Mon, 7 May 2012 19:27:05 +0200 Subject: [PATCH] PO: modifying po-replace before integrating it to the release process Until now, updating the translation template file is disconnected from the releasing process, which means that a dev or translator must 1- run 'po-replace', 2- embed lilypond.pot headers, 3- eliminate all po files that have been moved upwards from po/out to po/ 4- commit the new lilypond.pot 5- run 'make dist' to have a tarball, 6- notify the Free Translation Project where to pick up that tarbal. The first three steps may already be reduced to one single step by embedding lilypond.pot directly (with specific options and some 'sed' when creating) and moving it only in po/, what does this patch. A second step would be to have a call to po-replace when the Release Meister enters the dance. We then will have the same unique tarball to refer, directly from linuxaudio. --- po/README | 13 +++++++------ stepmake/stepmake/po-targets.make | 19 +++++++++++++++---- stepmake/stepmake/podir-targets.make | 1 - 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/po/README b/po/README index 7b9c400308..f691dbb6b8 100644 --- a/po/README +++ b/po/README @@ -28,12 +28,13 @@ automatically notified to lilypond-devel@gnu.org list by the FTP robot; you can also see LilyPond page on FTP. -2) updating lilypond.pot: run 'make po-replace' at toplevel, clean up -lilypond.pot header to make it look like its previous state, commit -only lilypond.pot to Git and reset all .po files, roll a tarball with -'make dist', upload it somewhere on the web (or wait for the release), -and send a notification to FTP coordinator with a link to the tarball. - +2) updating lilypond.pot: run 'make po-replace' at toplevel, commit +lilypond.pot to Git, roll a tarball with 'make dist', upload it +somewhere on the web (or wait for the release), and send a notification +to FTP coordinator with a link to the tarball. +Running 'po-update' at top-level and opening either po/out/fr.po or +po/out/es.po gives you an idea of the changes that have affected +the sources (number of fuzzy and untranslated stings). Rationale ========= diff --git a/stepmake/stepmake/po-targets.make b/stepmake/stepmake/po-targets.make index 05088ee170..bb6215cf30 100644 --- a/stepmake/stepmake/po-targets.make +++ b/stepmake/stepmake/po-targets.make @@ -1,5 +1,14 @@ - - +XGETTEXT_OPTIONS = \ + --default-domain=$(package) \ + --from-code=UTF-8 \ + --join \ + --add-comments \ + --msgid-bugs-address="http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs" \ + --package-name=$(package) \ + --package-version=$(VERSION) + +sed-header = \# Translation of LilyPond\n\# Copyright \(C\) 1998--2012 Han-Wen Nienhuys, Jan Nieuwenhuizen.\n\# This file is distributed under the same license as the LilyPond package. +sed-content = "Content-Type: text\/plain; charset=UTF-8\\n" #### #### UGH! @@ -21,12 +30,14 @@ ALL_PO_SOURCES = $(ALL_C_SOURCES) $(ALL_CC_SOURCES) $(PYTHON_SCRIPTS_IN) $(PY_MO local-po: ifneq ($(strip $(ALL_PO_SOURCES)),) @echo $(ALL_PO_SOURCES) - xgettext --default-domain=$(package) --join \ - --output-dir=$(po-dir)/$(outdir) --add-comments \ + xgettext $(XGETTEXT_OPTIONS) --output-dir=$(po-dir)/$(outdir) \ --keyword=_ --keyword=_f --keyword=_i \ $(XGETTEXT_FLAGS) $(ALL_PO_SOURCES) endif endif + sed -i '1,2d' $(po-dir)/$(outdir)/$(package).po + sed -i -e 's/^\# This file is distributed.*/$(sed-header)/' $(po-dir)/$(outdir)/$(package).po + sed -i -e 's/^\"Content-Type: text\/plain.*/$(sed-content)/' $(po-dir)/$(outdir)/$(package).po po-update: po diff --git a/stepmake/stepmake/podir-targets.make b/stepmake/stepmake/podir-targets.make index 0b831c5c79..fdfa5ef33f 100644 --- a/stepmake/stepmake/podir-targets.make +++ b/stepmake/stepmake/podir-targets.make @@ -29,4 +29,3 @@ po-changes: po-replace: po-update mv $(outdir)/$(package).po $(package).pot - mv $(outdir)/*.po . -- 2.39.2