aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2006-04-05 13:40:15 +0000
committerPeter Eisentraut <peter_e@gmx.net>2006-04-05 13:40:15 +0000
commit89a67e523e744eb168b41d192b83d17a395b4137 (patch)
tree2c6ca6d22e944d78d0fb62b3289593a8aad78bb9
parent09b5271ebdfe0e2acb03f96edca39dda2ff42362 (diff)
downloadpostgresql-89a67e523e744eb168b41d192b83d17a395b4137.tar.gz
postgresql-89a67e523e744eb168b41d192b83d17a395b4137.zip
When merging PO files, take into consideration translations in other PO
files of the same languages. That way, similar or equal translations in different programs are automatically propagated and the life of translators becomes a little bit easier.
-rw-r--r--src/nls-global.mk27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/nls-global.mk b/src/nls-global.mk
index 99f280dac60..e2d44f3e41a 100644
--- a/src/nls-global.mk
+++ b/src/nls-global.mk
@@ -1,4 +1,4 @@
-# $PostgreSQL: pgsql/src/nls-global.mk,v 1.11 2005/12/09 21:19:34 petere Exp $
+# $PostgreSQL: pgsql/src/nls-global.mk,v 1.12 2006/04/05 13:40:15 petere Exp $
# Common rules for Native Language Support (NLS)
#
@@ -91,19 +91,22 @@ maintainer-check-po: $(PO_FILES)
init-po: po/$(CATALOG_NAME).pot
+define merge-lang
+@printf 'merging $(1) '
+@if $(MSGMERGE) $(srcdir)/po/$(1).po $< -o po/$(1).po.new $(addprefix --compendium=,$(shell find $(top_srcdir) -name $(1).po -printf '%p ')); \
+then \
+ mv $(srcdir)/po/$(1).po po/$(1).po.old; \
+ mv po/$(1).po.new $(srcdir)/po/$(1).po; \
+else \
+ echo "msgmerge for $(1) failed"; \
+ rm -f po/$(1).po.new; \
+fi
+
+endef
+
update-po: po/$(CATALOG_NAME).pot
ifdef MSGMERGE
- @for lang in $(LANGUAGES); do \
- echo "merging $$lang:"; \
- if $(MSGMERGE) $(srcdir)/po/$$lang.po $< -o po/$$lang.po.new; \
- then \
- mv $(srcdir)/po/$$lang.po po/$$lang.po.old; \
- mv po/$$lang.po.new $(srcdir)/po/$$lang.po; \
- else \
- echo "msgmerge for $$lang failed"; \
- rm -f po/$$lang.po.new; \
- fi; \
- done
+ $(foreach lang,$(LANGUAGES),$(call merge-lang,$(lang)))
else
@echo "You don't have 'msgmerge'." ; exit 1
endif