Merge remote branch 'origin/pootle-import'
[enigma2.git] / po / Makefile.am
index f851f55bb4708b995a4e59f64549506ddb5a2d66..e7318f77a2221fc7ec1c7e96acaab28263dea6bf 100644 (file)
@@ -1,86 +1,45 @@
-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