mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +01:00
gettext.mk: Add support for multiple .po and .pot files
Up to now, generating and installing gettext .mo files worked for exactly one .po file. Now all files in the directory are compiled by default. Editing only targets $(PROJECT).po, though, so this works as before. Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
3349767c2e
commit
185fe85ac0
1 changed files with 20 additions and 19 deletions
|
|
@ -3,12 +3,15 @@ GETTEXT_LOCALE ?= $(notdir $(shell $(PWD)))
|
|||
include $(MODDIR)/make/defs.mk
|
||||
include $(MODDIR)/make/rules.mk
|
||||
|
||||
GETTEXT_POT ?= $(PROJECT).pot
|
||||
GETTEXT_PO ?= $(PROJECT).po
|
||||
GETTEXT_MO ?= $(PROJECT).mo
|
||||
GETTEXT_INPUT_DIRS ?= $(wildcard $(TOPDIR)/tools $(TOPDIR)/src)
|
||||
GETTEXT_PROJECT_PO ?= $(PROJECT).po
|
||||
GETTEXT_PROJECT_POT ?= $(PROJECT).pot
|
||||
|
||||
GETTEXT_PO ?= $(wildcard *.po)
|
||||
GETTEXT_POT ?= $(patsubst %.po,%.pot,$(GETTEXT_PO))
|
||||
GETTEXT_MO ?= $(patsubst %.po,%.mo,$(GETTEXT_PO))
|
||||
GETTEXT_INPUT_DIRS ?= $(wildcard $(TOPDIR)/tools $(TOPDIR)/src $(TOPDIR)/conf)
|
||||
GETTEXT_INPUT_FILES ?= $(foreach d,$(GETTEXT_INPUT_DIRS),\
|
||||
$(shell find $d -name '*.php' -o -name '*.cpp'))
|
||||
$(shell find $d -name '*.php' -o -name '*.cpp' -o -name '*.conf'))
|
||||
GETTEXT_KEYWORDS ?= htr ehtr
|
||||
|
||||
all: $(GETTEXT_MO)
|
||||
|
|
@ -21,27 +24,27 @@ extract: $(GETTEXT_POT)
|
|||
clean-mo:
|
||||
$(RM) -f *.mo *.tmp
|
||||
|
||||
$(GETTEXT_POT): $(GETTEXT_INPUT_FILES)
|
||||
$(GETTEXT_PROJECT_POT): $(GETTEXT_INPUT_FILES)
|
||||
xgettext --from-code=utf-8 --package-name $(PROJECT) --package-version $(DIST_VERSION) \
|
||||
--default-domain $(PROJECT) $(addprefix -k,$(GETTEXT_KEYWORDS)) \
|
||||
--output $@.tmp $(XGETTEXT_EXTRA_OPTS) $(GETTEXT_INPUT_FILES)
|
||||
mv $@.tmp $@
|
||||
|
||||
init: $(GETTEXT_POT)
|
||||
init: $(GETTEXT_PROJECT_POT)
|
||||
msginit --no-translator --locale $(GETTEXT_LOCALE) \
|
||||
--output-file $(GETTEXT_PO).tmp --input $<
|
||||
sed -i 's/charset=ASCII/charset=UTF-8/' $(GETTEXT_PO).tmp
|
||||
mv $(GETTEXT_PO).tmp $(GETTEXT_PO)
|
||||
--output-file $(GETTEXT_POJECT_PO).tmp --input $<
|
||||
sed -i 's/charset=ASCII/charset=UTF-8/' $(GETTEXT_PROJECT_PO).tmp
|
||||
mv $(GETTEXT_PROJECT_PO).tmp $(GETTEXT_PROJECT_PO)
|
||||
|
||||
merge: $(GETTEXT_POT)
|
||||
msgmerge -v --lang $(GETTEXT_LOCALE) --output-file $(GETTEXT_PO).tmp \
|
||||
$(wildcard $(GETTEXT_PO)) $<
|
||||
mv $(GETTEXT_PO).tmp $(GETTEXT_PO)
|
||||
merge: $(GETTEXT_PROJECT_POT)
|
||||
msgmerge -v --lang $(GETTEXT_LOCALE) --output-file $(GETTEXT_PROJECT_PO).tmp \
|
||||
$(wildcard $(GETTEXT_PROJECT_PO)) $<
|
||||
mv $(GETTEXT_PROJECT_PO).tmp $(GETTEXT_PROJECT_PO)
|
||||
|
||||
edit: merge $(GETTEXT_POT)
|
||||
poedit $(GETTEXT_PO)
|
||||
edit: merge $(GETTEXT_PROJECT_POT)
|
||||
poedit $(GETTEXT_PROJECT_PO)
|
||||
|
||||
$(GETTEXT_MO): $(GETTEXT_PO)
|
||||
%.mo: %.po
|
||||
msgfmt --check --verbose --output-file $@.tmp $<
|
||||
mv $@.tmp $@
|
||||
|
||||
|
|
@ -67,5 +70,3 @@ define copy_rule
|
|||
endef
|
||||
|
||||
$(foreach d, $(HTR_SOURCE_DIRS), $(eval $(call copy_rule,$(d))))
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue