-DOMAIN=enigma2
-#GETTEXT=./pygettext.py
-GETTEXT=xgettext
+dist_noinst_SCRIPTS = xml2po.py
-#MSGFMT = ./msgfmt.py
-MSGFMT = msgfmt
+LANGS = ar ca cs da de el en es et fi fr fy hr hu is it lt lv nl no pl pt ru sv sk sl sr tr uk
+LANGMO = $(LANGS:=.mo)
+LANGPO = $(LANGS:=.po)
-LANGS := de en ar nl es is it da sv no fr fi tr ca
-LANGPO := $(foreach LANG, $(LANGS),$(LANG).po)
-LANGMO := $(foreach LANG, $(LANGS),$(LANG).mo)
+EXTRA_DIST = $(LANGPO)
-default: enigma2.pot $(LANGPO) merge $(LANGMO)
- for lang in $(LANGS); do \
- mkdir -p $$lang/LC_MESSAGES; \
- cp $$lang.mo $$lang/LC_MESSAGES/enigma2.mo; \
- done
-
-merge:
- for lang in $(LANGS); do \
- msgmerge -N -U $$lang.po enigma2.pot; \
- done
+if UPDATE_PO
+# the TRANSLATORS: allows putting translation comments before the to-be-translated line.
+enigma2-py.pot: $(top_srcdir)/*.py $(top_srcdir)/lib/python/*/*.py $(top_srcdir)/lib/python/Plugins/*/*/*.py
+ $(XGETTEXT) -L Python --from-code=UTF-8 --add-comments="TRANSLATORS:" -d @PACKAGE_NAME@ -s -o $@ $^
-enigma2.pot:
- $(GETTEXT) -d enigma2 -s -o enigma2.pot \
- ../lib/python/Screens/ScanSetup.py \
- ../lib/python/Screens/NetworkSetup.py \
- ../lib/python/Screens/Satconfig.py \
- ../lib/python/Screens/EventView.py \
- ../lib/python/Screens/Ci.py \
- ../lib/python/Screens/EpgSelection.py \
- ../lib/python/Screens/LanguageSelection.py \
- ../lib/python/Screens/About.py \
- ../lib/python/Screens/Setup.py \
- ../lib/python/Screens/HarddiskSetup.py \
- ../lib/python/Screens/MovieSelection.py \
- ../lib/python/Screens/InfoBar.py \
- ../lib/python/Screens/TimerEdit.py \
- ../lib/python/Screens/TimerEntry.py \
- ../lib/python/Screens/TimeDateInput.py \
- ../lib/python/Screens/Wizard.py \
- ../lib/python/Screens/ServiceScan.py \
- ../lib/python/Screens/InfoBarGenerics.py \
- ../lib/python/Screens/ChannelSelection.py \
- ../lib/python/Screens/PluginBrowser.py \
- ../lib/python/Screens/Console.py \
- ../lib/python/Screens/MediaPlayer.py \
- ../lib/python/Screens/PiPSetup.py \
- ../lib/python/Screens/SubservicesQuickzap.py \
- ../lib/python/Components/DiskInfo.py \
- ../lib/python/Components/ServiceScan.py \
- ../lib/python/Components/Lcd.py \
- ../lib/python/Components/SetupDevices.py \
- ../lib/python/Components/Language.py \
- ../lib/python/Components/NimManager.py \
- ../lib/python/Components/TimerList.py \
- ../lib/python/Components/EventInfo.py \
- ../lib/python/Components/Network.py \
- ../lib/python/Components/RecordingConfig.py \
- ../lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py \
- ../lib/python/Plugins/SystemPlugins/SoftwareUpdate/plugin.py \
- ../lib/python/Plugins/SystemPlugins/FrontprocessorUpgrade/plugin.py \
- ../lib/python/Plugins/SystemPlugins/ConfigurationBackup/plugin.py \
- ../lib/python/Tools/FuzzyDate.py \
- ../RecordTimer.py
- ./xml2po.py ../data/ >> enigma2.pot
- msguniq -o enigma2uniq.pot enigma2.pot
- $(RM) enigma2.pot
- mv enigma2uniq.pot enigma2.pot
+enigma2-xml.pot: $(srcdir)/xml2po.py $(top_srcdir)/data/*.xml $(top_srcdir)/lib/python/Plugins/SystemPlugins/*/*.xml
+ $(PYTHON) $^ > $@
-.PHONY: enigma2.pot
+enigma2.pot: enigma2-py.pot enigma2-xml.pot
+ cat $^ | $(MSGUNIQ) --no-location -o $@ -
+%.po: enigma2.pot
+ if [ -f $@ ]; then \
+ $(MSGMERGE) --backup=none --no-location -s -N -U $@ $< && touch $@; \
+ else \
+ $(MSGINIT) -l $@ -o $@ -i $< --no-translator; \
+ fi
+endif
-%.mo: %.po
+.po.mo:
$(MSGFMT) -o $@ $<
-%.po:
- msginit -l $@ -o $@ -i enigma2.pot --no-translator
+BUILT_SOURCES = $(LANGMO)
+CLEANFILES = $(LANGMO) enigma2-py.pot enigma2-xml.pot enigma2.pot
+
+dist-hook: $(LANGPO)
-clean:
- $(RM) *.mo *.pot
+install-data-local: $(LANGMO)
+ for lang in $(LANGS); do \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/po/$$lang/LC_MESSAGES; \
+ $(INSTALL_DATA) $$lang.mo $(DESTDIR)$(pkgdatadir)/po/$$lang/LC_MESSAGES/@PACKAGE_NAME@.mo; \
+ done
-install-data-am: default
+uninstall-local:
for lang in $(LANGS); do \
- mkdir -p $(DESTDIR)$(DATADIR)/enigma2/po/$$lang/LC_MESSAGES; \
- cp $$lang.mo $(DESTDIR)$(DATADIR)/enigma2/po/$$lang/LC_MESSAGES/$(DOMAIN).mo; \
+ $(RM) $(DESTDIR)$(pkgdatadir)/po/$$lang/LC_MESSAGES/@PACKAGE_NAME@.mo; \
done