GETTEXT_LOCALE ?= $(notdir $(shell $(PWD))) include $(MODDIR)/make/defs.mk include $(MODDIR)/make/rules.mk include $(MODDIR)/make/dev-utils.mk 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' -o -name '*.conf')) GETTEXT_KEYWORDS ?= htr ehtr $(GETTEXT_EXTRA_KEYWORDS) all: $(GETTEXT_MO) clean: clean-mo $(RM) -rf *~ .*.swp install: install_MO distclean: clean extract: $(GETTEXT_POT) clean-mo: $(RM) -f *.mo *.tmp $(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_PROJECT_POT) msginit --no-translator --locale $(GETTEXT_LOCALE) \ --output-file $(GETTEXT_PROJECT_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_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_PROJECT_POT) poedit $(GETTEXT_PROJECT_PO) %.mo: %.po msgfmt --check --verbose --output-file $@.tmp $< mv $@.tmp $@ #msginit --no-translator --locale es_MX --output-file $(PROJECT)_spanish.po --input $(PROJECT).pot #sed --in-place $(PROJECT)_spanish.po --expression='/"hello, world!"/,/#: / s/""/"hola mundo"/' #mkdir --parents ./es_MX.utf8/LC_MESSAGES #msgfmt --check --verbose --output-file ./es_MX.utf8/LC_MESSAGES/$(PROJECT).mo $(PROJECT)_spanish.po GETTEXT_TMP = $(patsubst %.php,%.htr,$(GETTEXT_PREPROCESS)) GETTEXT_INPUT_FILES += $(GETTEXT_TMP) all: htr clean: htr-tmp-clean htr: $(GETTEXT_TMP) htr-tmp-clean: $(RM) -f *.htr define copy_rule ./%.htr.tmp: $(1)/%.php cp $$< $$@ endef $(foreach d, $(HTR_SOURCE_DIRS), $(eval $(call copy_rule,$(d))))