bug-gettext
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug-gettext] [PATCH] Add support for msgmerge --previous


From: Stanislav Brabec
Subject: [bug-gettext] [PATCH] Add support for msgmerge --previous
Date: Fri, 1 Jul 2016 20:21:54 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1

msgmerge --previous is a very useful feature that makes adjusting of
translation much easier when small changes in the source code are done.
msgmerge supports it for 10 years, but it is not used by most projects,
as Makefile.in.in never added support for it.

Use msgmerge --previous as default on all systems with gettext >= 0.16.

---
 NEWS                              |  3 +++
 gettext-runtime/po/Makefile.in.in | 16 ++++++++++------
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/NEWS b/NEWS
index bbbf1e3..83f1280 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+* Runtime behaviour:
+  - update-po target in Makefile.in.in now uses msgfmt --previous.
+
 Version 0.19.8 - June 2016
 
 * Support for reproducible builds:
diff --git a/gettext-runtime/po/Makefile.in.in 
b/gettext-runtime/po/Makefile.in.in
index 38c293d..44ec103 100644
--- a/gettext-runtime/po/Makefile.in.in
+++ b/gettext-runtime/po/Makefile.in.in
@@ -232,13 +232,15 @@ $(POFILES): $(POFILESDEPS)
        if test -f "$(srcdir)/$${lang}.po"; then \
          test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \
          test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-         echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} 
$${lang}.po $(DOMAIN).pot"; \
+         echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} 
--previous $${lang}.po $(DOMAIN).pot"; \
          cd $(srcdir) \
            && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` 
in \
-                  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+                  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
                     $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po 
$(DOMAIN).pot;; \
+                  0.1[6-7] | 0.1[6-7].*) \
+                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --previous 
$${lang}.po $(DOMAIN).pot;; \
                   *) \
-                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} 
$${lang}.po $(DOMAIN).pot;; \
+                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} 
--previous $${lang}.po $(DOMAIN).pot;; \
                 esac; \
               }; \
        else \
@@ -439,13 +441,15 @@ update-po: Makefile
        tmpdir=`pwd`; \
        echo "$$lang:"; \
        test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-       echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po 
$(DOMAIN).pot -o $$lang.new.po"; \
+       echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous 
$$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
        cd $(srcdir); \
        if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
-              '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+              '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
                 $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po 
$$lang.po $(DOMAIN).pot;; \
+              0.1[6-7] | 0.1[6-7].*) \
+                $(MSGMERGE) $(MSGMERGE_OPTIONS) --previous -o 
$$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
               *) \
-                $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o 
$$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+                $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o 
$$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
             esac; \
           }; then \
          if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
-- 
2.8.4

-- 
Best Regards / S pozdravem,

Stanislav Brabec
software developer
---------------------------------------------------------------------
SUSE LINUX, s. r. o.                         e-mail: address@hidden
Křižíkova 148/34 (Corso IIa)                  tel: +49 911 7405384547
186 00 Praha 8-Karlín                          fax:  +420 284 084 001
Czech Republic                                    http://www.suse.cz/
PGP: 830B 40D5 9E05 35D8 5E27 6FA3 717C 209F A04F CD76



reply via email to

[Prev in Thread] Current Thread [Next in Thread]