aboutsummaryrefslogtreecommitdiff
path: root/locale/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'locale/Makefile')
-rw-r--r--locale/Makefile60
1 files changed, 60 insertions, 0 deletions
diff --git a/locale/Makefile b/locale/Makefile
new file mode 100644
index 0000000..a7b5209
--- /dev/null
+++ b/locale/Makefile
@@ -0,0 +1,60 @@
+#
+# 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 = foreman_params_tab
+VERSION = $(shell ruby -e 'require "rubygems";spec = Gem::Specification::load(Dir.glob("../*.gemspec")[0]);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 $@
+
+%.edit.po:
+ touch $@
+
+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 $(EDITFILES) ; do \
+ sed -i 's/^\("Project-Id-Version: \).*$$/\1$(DOMAIN) $(VERSION)\\n"/' $$f; \
+ done
+
+tx-update: tx-pull
+ @echo
+ @echo Run rake plugin:gettext[$(DOMAIN)] from the Foreman installation, then make -C locale mo-files to finish
+ @echo
+
+mo-files: $(MOFILES)
+ git add $(POFILES) $(POTFILE) ../locale/*/LC_MESSAGES
+ git commit -m "i18n - pulling from tx"
+ @echo
+ @echo Changes commited!
+ @echo