3f66f6a5b3
This keyword is not expanded by Git which means it's not replaced with the correct revision value in the releases made using git-based scripts and it's confusing to have lines with unexpanded "$Id$" in the released files. As expanding them with Git is not that simple (it could be done with git archive and export-subst attribute) and there are not many benefits in having them in the first place, just remove all these lines. If nothing else, this will make an eventual transition to Git simpler. Closes #14487. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
69 lines
2.2 KiB
Makefile
69 lines
2.2 KiB
Makefile
# this is the makefile for generating wxstd.pot message catalog file and
|
|
# building lang.mo files from the translated lang.po catalogs
|
|
|
|
# this makefile may be invoked to build either wxstd.pot or any lang.mo
|
|
|
|
# Autodetect the languages we support. Currently this relies on make
|
|
# being called with this dir as the cwd, but if we generate this file
|
|
# with configure an explicit path should be specified -- RL.
|
|
|
|
WX_LINGUAS := $(shell ls *.po */*.po 2> /dev/null | sed 's/wxstd.pot//g' | sed 's/.po//g')
|
|
WX_LINGUAS_UPDATE := $(shell ls *.po 2> /dev/null | sed 's/wxstd.pot//g' | sed 's/.po//g')
|
|
|
|
# the programs we use (TODO: use configure to detect them)
|
|
MSGFMT=msgfmt --verbose
|
|
MSGMERGE=msgmerge
|
|
XGETTEXT=xgettext
|
|
XARGS=xargs
|
|
|
|
# common xgettext args: C++ syntax, use the specified macro names as markers
|
|
XGETTEXT_ARGS=-C -k_ -kwxPLURAL:1,2 -kwxTRANSLATE -s -j
|
|
|
|
# implicit rules
|
|
%.mo: %.po
|
|
$(MSGFMT) -c -o $@ $<
|
|
|
|
# a PO file must be updated from wxstd.pot to include new translations
|
|
# (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
|
|
|
|
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
|
|
|
|
allpo: force-update
|
|
@-for t in $(WX_LINGUAS_UPDATE); do $(MAKE) $$t.po; done
|
|
|
|
allmo:
|
|
@for t in $(WX_LINGUAS); do $(MAKE) $$t.mo; 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 \
|
|
x=`$(MSGFMT) -o /dev/null "$$i.po" 2>&1 | sed -e 's/[,\.]//g' \
|
|
-e 's/\([0-9]\+\) translated messages\?/TR=\1/' \
|
|
-e 's/\([0-9]\+\) fuzzy translations\?/FZ=\1/' \
|
|
-e 's/\([0-9]\+\) untranslated messages\?/UT=\1/'`; \
|
|
TR=0 FZ=0 UT=0; \
|
|
eval $$x; \
|
|
TOTAL=`expr $$TR + $$FZ + $$UT`; \
|
|
echo "$$i.po `expr 100 "*" $$TR / $$TOTAL`% of $$TOTAL strings"; \
|
|
done
|
|
|
|
FORCE:
|
|
|
|
.PHONY: allpo allmo force-update percentage FORCE
|
|
|