XARGS=xargs
# common xgettext args: C++ syntax, use the specified macro names as markers
-XGETTEXT_ARGS=-C -k_ -kwxPLURAL:1,2 -kwxTRANSLATE -s -j
+XGETTEXT_ARGS=-C -k_ -kwxPLURAL:1,2 -kwxTRANSLATE -kwxGetTranslation -s -j
# implicit rules
%.mo: %.po
$(MSGFMT) -c -o $@ $<
# a PO file must be updated from wxstd.pot to include new translations
-%.po: wxstd.pot
+# (but not manually maintained platform-specific files like msw/it.po)
+$(foreach lang,$(WX_LINGUAS_UPDATE),$(lang).po): wxstd.pot
+
+%.po:
if [ -f $@ ]; then $(MSGMERGE) $@ wxstd.pot > $@.new && mv $@.new $@; else cp wxstd.pot $@; fi
-# note the extra -kAddToPopUp used for Scintilla files: this is a hack to
-# translate the popup menu items
wxstd.pot:
touch $@
find ../include -name "*.h" | $(XARGS) $(XGETTEXT) $(XGETTEXT_ARGS) -o wxstd.pot
find ../src -name "*.cpp" | $(XARGS) $(XGETTEXT) $(XGETTEXT_ARGS) -o wxstd.pot
- find ../src/stc/scintilla/src -name "*.cxx" | $(XARGS) $(XGETTEXT) $(XGETTEXT_ARGS) -kAddToPopUp -o wxstd.pot
allpo: force-update
@-for t in $(WX_LINGUAS_UPDATE); do $(MAKE) $$t.po; done
force-update:
$(RM) wxstd.pot
+check:
+ @for t in $(WX_LINGUAS); do \
+ $(MSGFMT) -c -o /dev/null $$t.po 2>/dev/null || echo "$$t.po is BROKEN."; \
+ done
+
# print out the percentage of the translated strings
stats: FORCE
@for i in $(WX_LINGUAS); do \
.PHONY: allpo allmo force-update percentage FORCE
-# $Id$