aboutsummaryrefslogtreecommitdiff
path: root/po/module.mk
diff options
context:
space:
mode:
Diffstat (limited to 'po/module.mk')
-rw-r--r--po/module.mk43
1 files changed, 43 insertions, 0 deletions
diff --git a/po/module.mk b/po/module.mk
new file mode 100644
index 0000000000..eb9a85e4e3
--- /dev/null
+++ b/po/module.mk
@@ -0,0 +1,43 @@
+POTFILE := $(srcdir)/po/scummvm.pot
+POFILES := $(wildcard $(srcdir)/po/*.po)
+
+updatepot:
+ xgettext -f $(srcdir)/po/POTFILES -D $(srcdir) -d scummvm --c++ -k_ -k_s -o $(POTFILE) \
+ "--copyright-holder=ScummVM Team" --package-name=ScummVM \
+ --package-version=$(VERSION) --msgid-bugs-address=scummvm-devel@lists.sf.net -o $(POTFILE)_
+
+ sed -e 's/SOME DESCRIPTIVE TITLE/LANGUAGE translation for ScummVM/' \
+ -e 's/UTF-8/CHARSET/' -e 's/PACKAGE/ScummVM/' $(POTFILE)_ > $(POTFILE).new
+
+ rm $(POTFILE)_
+ if test -f $(POTFILE); then \
+ sed -f $(srcdir)/po/remove-potcdate.sed < $(POTFILE) > $(POTFILE).1 && \
+ sed -f $(srcdir)/po/remove-potcdate.sed < $(POTFILE).new > $(POTFILE).2 && \
+ if cmp $(POTFILE).1 $(POTFILE).2 >/dev/null 2>&1; then \
+ rm -f $(POTFILE).new; \
+ else \
+ rm -f $(POTFILE) && \
+ mv -f $(POTFILE).new $(POTFILE); \
+ fi; \
+ rm -f $(POTFILE).1 $(POTFILE).2; \
+ else \
+ mv -f $(POTFILE).new $(POTFILE); \
+ fi;
+
+%.po: $(POTFILE)
+ msgmerge $@ $(POTFILE) -o $@.new
+ if cmp $@ $@.new >/dev/null 2>&1; then \
+ rm -f $@.new; \
+ else \
+ mv -f $@.new $@; \
+ fi;
+
+#$(srcdir)/common/messages.cpp: $(POFILES)
+# perl $(srcdir)/tools/po2c $^ > $(srcdir)/common/messages.cpp
+
+update-translations: updatepot $(POFILES)
+ @$(foreach file, $(POFILES), echo -n $(notdir $(basename $(file)))": ";msgfmt --statistic $(file);)
+ @rm -f messages.mo
+ perl $(srcdir)/tools/po2c $(POFILES) > $(srcdir)/common/messages.cpp
+
+.PHONY: updatepot update-translations