fix i18n build problem

There was a typo in install/po/Makefile.in which caused (some) of
the .po files to be overwritten because the test to see if a po
file existed had a typo in it.

This patch also removes the unnecessary rebuilding of the pot which was
happening when using the "all" target (the default). The pot file now
must be manually remade, which is what we want.

Added a new target "mo-files" to manually generate the .mo files.
This is useful to run before checking in a new .po file just to
assure it "compiles" and we don't have to discover this during a
build.
This commit is contained in:
John Dennis 2010-02-22 16:13:08 -05:00 committed by Jason Gerard DeRose
parent dc235910a0
commit cf8237af69

View File

@ -160,7 +160,7 @@ POTFILES = $(PYTHON_POTFILES) $(C_POTFILES)
.SUFFIXES: .po .mo .SUFFIXES: .po .mo
.PHONY: all create-po update-po update-pot install mostlyclean clean distclean test_lang test .PHONY: all create-po update-po update-pot install mostlyclean clean distclean test_lang test
all: $(po_files) all:
@ @
SUFFIXES = .po .mo SUFFIXES = .po .mo
@ -170,7 +170,7 @@ SUFFIXES = .po .mo
$(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
$(po_files): $(DOMAIN).pot $(po_files): $(DOMAIN).pot
@if [ ! -f @a ]; then \ @if [ ! -f $@ ]; then \
lang=`echo $@ | $(SED) -r -e 's/\.po$$//'` # Strip .po suffix ; \ lang=`echo $@ | $(SED) -r -e 's/\.po$$//'` # Strip .po suffix ; \
echo Creating nonexistent $@, you should add this file to your SCM repository; \ echo Creating nonexistent $@, you should add this file to your SCM repository; \
$(MSGINIT) --locale $$lang --no-translator -i $(DOMAIN).pot -o $@; \ $(MSGINIT) --locale $$lang --no-translator -i $(DOMAIN).pot -o $@; \
@ -235,6 +235,9 @@ msg-stats:
printf "%-7s %8s %5.1f%% %4d po untranslated, %4d missing, %4d untranslated\n", \ printf "%-7s %8s %5.1f%% %4d po untranslated, %4d missing, %4d untranslated\n", \
po_name ":", ratio, translated/pot_count*100.0, po_untranslated, undefined, untranslated;}'; \ po_name ":", ratio, translated/pot_count*100.0, po_untranslated, undefined, untranslated;}'; \
done done
mo-files: $(mo_files)
install: $(mo_files) install: $(mo_files)
@for lang in $(languages); do \ @for lang in $(languages); do \
dstdir=$(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \ dstdir=$(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \