Sha256: 12c51a3897dca352126361fe378fc63ca00020fe49d5e1d06b6b9bd24f32d49e

Contents?: true

Size: 1.67 KB

Versions: 10

Compression:

Stored size: 1.67 KB

Contents

#
# Makefile for PO merging and MO generation. More info in the README.
#
# make all-mo (default) - generate MO files
# make check - check translations using translate-tool
# make tx-update - download and merge translations from Transifex
# make clean - clean everything
#
DOMAIN = hammer-cli-foreman-tasks
VERSION = $(shell ruby -e 'require "rubygems";spec = Gem::Specification::load("../hammer_cli_foreman_tasks.gemspec");puts spec.version')
POTFILE = $(DOMAIN).pot
MOFILE = $(DOMAIN).mo
POFILES = $(shell find . -name '$(DOMAIN).po')
MOFILES = $(patsubst %.po,%.mo,$(POFILES))
POXFILES = $(patsubst %.po,%.pox,$(POFILES))
EDITFILES = $(patsubst %.po,%.edit.po,$(POFILES))

%.mo: %.po
	mkdir -p $(shell dirname $@)/LC_MESSAGES
	msgfmt -o $(shell dirname $@)/LC_MESSAGES/$(MOFILE) $<

# Generate MO files from PO files
all-mo: $(MOFILES)

# Check for malformed strings
%.pox: %.po
	msgfmt -c $<
	pofilter --nofuzzy -t variables -t blank -t urls -t emails -t long -t newlines \
		-t endwhitespace -t endpunc -t puncspacing -t options -t printf -t validchars --gnome $< > $@
	cat $@
	! grep -q msgid $@

check: $(POXFILES)

# Unify duplicate translations
uniq-po:
	for f in $(shell find ./ -name "*.po") ; do \
		msguniq $$f -o $$f ; \
	done

tx-pull: $(EDITFILES)
	tx pull -f
	for f in $(POFILES) ; do \
		sed -i 's/^\("Project-Id-Version: \).*$$/\1$(DOMAIN) $(VERSION)\\n"/' $$f; \
	done

# Extract strings and update the .pot, prepare .edit.po files
extract-strings:
	bundle exec rake gettext:find

# Merge .edit.po into .po
update-po:
	bundle exec rake gettext:find

tx-update: extract-strings tx-pull $(MOFILES)
	git commit -m "i18n - extracting new, pulling from tx" ../locale
	-echo Changes commited!

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
hammer_cli_foreman_tasks-0.0.19 locale/Makefile
hammer_cli_foreman_tasks-0.0.18 locale/Makefile
hammer_cli_foreman_tasks-0.0.17 locale/Makefile
hammer_cli_foreman_tasks-0.0.16 locale/Makefile
hammer_cli_foreman_tasks-0.0.15 locale/Makefile
hammer_cli_foreman_tasks-0.0.14 locale/Makefile
hammer_cli_foreman_tasks-0.0.13 locale/Makefile
hammer_cli_foreman_tasks-0.0.12 locale/Makefile
hammer_cli_foreman_tasks-0.0.11 locale/Makefile
hammer_cli_foreman_tasks-0.0.10 locale/Makefile