Add locale Makefile and allow building mo files
This commit is contained in:
parent
a070e4a4c3
commit
f7494cab7d
|
@ -1,12 +1,18 @@
|
|||
SHELL = bash
|
||||
|
||||
all: vendor
|
||||
all: vendor locale-build
|
||||
|
||||
PHP-CS-FIXER = tools/vendor/bin/php-cs-fixer
|
||||
$(PHP-CS-FIXER):
|
||||
mkdir -p tools
|
||||
composer require --working-dir=tools friendsofphp/php-cs-fixer
|
||||
|
||||
include locale/Makefile
|
||||
|
||||
locale-update: .locale-update
|
||||
locale-build:
|
||||
$(MAKE) -C locale build
|
||||
|
||||
vendor:
|
||||
composer install --no-progress --no-interaction $(COMPOSER_ARGS)
|
||||
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
.PHONY: .locale-update build
|
||||
.DEFAULT: build
|
||||
|
||||
SHELL = bash
|
||||
|
||||
DOMAIN = libretime
|
||||
PO_FILE = $(DOMAIN).po
|
||||
PO_FILES = $(wildcard */LC_MESSAGES/$(PO_FILE))
|
||||
MO_FILES = $(PO_FILES:.po=.mo)
|
||||
|
||||
SRC = application build public
|
||||
|
||||
XGETTEXT_ARGS = --default-domain=$(DOMAIN) \
|
||||
--language=php \
|
||||
--from-code=UTF-8 \
|
||||
--no-wrap \
|
||||
--sort-by-file
|
||||
|
||||
MSGMERGE_ARGS = --no-fuzzy-matching \
|
||||
--update \
|
||||
--no-wrap \
|
||||
--sort-by-file
|
||||
|
||||
# This target is run by another Makefile
|
||||
.locale-update:
|
||||
find $(SRC) -name "*.phtml" -o -name "*.php" -type f -print0 | xargs -0 xgettext $(XGETTEXT_ARGS)
|
||||
sed -i 's/CHARSET/UTF-8/g' $(PO_FILE)
|
||||
find ./locale -name $(PO_FILE) -exec msgmerge $(MSGMERGE_ARGS) "{}" $(PO_FILE) \;
|
||||
rm $(PO_FILE)
|
||||
|
||||
%.mo: %.po
|
||||
msgfmt $< -o $@
|
||||
|
||||
build: $(MO_FILES)
|
Loading…
Reference in New Issue