From 8d0d4896401760eda781db527b72e754c9ee2d89 Mon Sep 17 00:00:00 2001 From: "Dr.Best" Date: Sat, 20 Jun 2009 12:59:42 +0000 Subject: [PATCH] center screens add support for custom localizations and german translation --- configure.ac | 1 + partnerbox/CONTROL/control | 2 +- partnerbox/Makefile.am | 2 +- partnerbox/po/Makefile.am | 57 +++ partnerbox/po/Partnerbox.pot | 394 +++++++++++++++++++ partnerbox/po/de.po | 473 +++++++++++++++++++++++ partnerbox/src/PartnerboxEPGSelection.py | 3 + partnerbox/src/PartnerboxSetup.py | 9 +- partnerbox/src/RemoteTimerEntry.py | 5 +- partnerbox/src/__init__.py | 21 + partnerbox/src/plugin.py | 15 +- 11 files changed, 970 insertions(+), 12 deletions(-) create mode 100644 partnerbox/po/Makefile.am create mode 100644 partnerbox/po/Partnerbox.pot create mode 100644 partnerbox/po/de.po diff --git a/configure.ac b/configure.ac index 9168450e..63edb7ae 100644 --- a/configure.ac +++ b/configure.ac @@ -202,6 +202,7 @@ partnerbox/Makefile partnerbox/src/Makefile partnerbox/src/servicewebts/Makefile partnerbox/src/icons/Makefile +partnerbox/po/Makefile quickbutton/Makefile quickbutton/po/Makefile diff --git a/partnerbox/CONTROL/control b/partnerbox/CONTROL/control index 09be7b14..026052bf 100644 --- a/partnerbox/CONTROL/control +++ b/partnerbox/CONTROL/control @@ -6,5 +6,5 @@ Section: extra Priority: optional Maintainer: Dr. Best Homepage: http://www.dreambox-tools.info -Depends: enigma2, twisted-web +Depends: enigma2(>2.6git20090615), twisted-web Source: http://enigma2-plugins.schwerkraft.elitedvb.net/ diff --git a/partnerbox/Makefile.am b/partnerbox/Makefile.am index af437a64..dd6709f7 100755 --- a/partnerbox/Makefile.am +++ b/partnerbox/Makefile.am @@ -1 +1 @@ -SUBDIRS = src +SUBDIRS = src po diff --git a/partnerbox/po/Makefile.am b/partnerbox/po/Makefile.am new file mode 100644 index 00000000..edc66aa7 --- /dev/null +++ b/partnerbox/po/Makefile.am @@ -0,0 +1,57 @@ +# +# to use this for the localisation of other plugins, +# just change the DOMAIN to the name of the Plugin. +# It is assumed, that the domain ist the same as +# the directory name of the plugin. +# + +DOMAIN=Partnerbox +installdir = /usr/lib/enigma2/python/Plugins/Extensions/$(DOMAIN) +#GETTEXT=./pygettext.py +GETTEXT=xgettext + +#MSGFMT = ./msgfmt.py +MSGFMT = msgfmt + +LANGS := de +LANGPO := $(foreach LANG, $(LANGS),$(LANG).po) +LANGMO := $(foreach LANG, $(LANGS),$(LANG).mo) + +default: $(DOMAIN).pot $(LANGPO) merge $(LANGMO) + for lang in $(LANGS); do \ + mkdir -p $$lang/LC_MESSAGES; \ + cp $$lang.mo $$lang/LC_MESSAGES/$(DOMAIN).mo; \ + done + +merge: + for lang in $(LANGS); do \ + msgmerge --no-location -s -N -U $$lang.po $(DOMAIN).pot; \ + done + + +# the TRANSLATORS: allows putting translation comments before the to-be-translated line. +$(DOMAIN).pot: + $(GETTEXT) -L python --add-comments="TRANSLATORS:" -d $(DOMAIN) -s -o $(DOMAIN).pot ../src/*.py + msguniq -o $(DOMAIN)uniq.pot $(DOMAIN).pot + $(RM) $(DOMAIN).pot + mv $(DOMAIN)uniq.pot $(DOMAIN).pot + +.PHONY: $(DOMAIN).pot + + +%.mo: %.po + $(MSGFMT) -o $@ $< + +%.po: + msginit -l $@ -o $@ -i $(DOMAIN).pot --no-translator + +CLEANFILES = $(foreach LANG, $(LANGS),$(LANG).mo) + +clean-local: + $(RM) -r $(LANGS) + +install-data-am: default + for lang in $(LANGS); do \ + mkdir -p $(DESTDIR)$(installdir)/locale/$$lang/LC_MESSAGES; \ + cp $$lang.mo $(DESTDIR)$(installdir)/locale/$$lang/LC_MESSAGES/$(DOMAIN).mo; \ + done diff --git a/partnerbox/po/Partnerbox.pot b/partnerbox/po/Partnerbox.pot new file mode 100644 index 00000000..69ce954d --- /dev/null +++ b/partnerbox/po/Partnerbox.pot @@ -0,0 +1,394 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-06-20 14:39+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/RemoteTimerEntry.py:135 ../src/RemoteTimerEntry.py:414 +msgid "%d.%B %Y" +msgstr "" + +#: ../src/plugin.py:1234 ../src/plugin.py:1239 ../src/plugin.py:1291 +#: ../src/plugin.py:1296 +msgid "(ZAP)" +msgstr "" + +#: ../src/plugin.py:1255 ../src/plugin.py:1319 ../src/plugin.py:1321 +msgid "" +msgstr "" + +#: ../src/PartnerboxSetup.py:127 +msgid "Add" +msgstr "" + +#: ../src/plugin.py:944 ../src/plugin.py:1003 +msgid "Add timer" +msgstr "" + +#: ../src/RemoteTimerEntry.py:176 ../src/RemoteTimerEntry.py:178 +#: ../src/RemoteTimerEntry.py:463 ../src/RemoteTimerEntry.py:465 +msgid "After event" +msgstr "" + +#: ../src/PartnerboxSetup.py:68 ../src/PartnerboxSetup.py:234 +#: ../src/RemoteTimerEntry.py:73 +msgid "Cancel" +msgstr "" + +#: ../src/RemoteTimerEntry.py:170 ../src/RemoteTimerEntry.py:457 +msgid "Channel" +msgstr "" + +#: ../src/plugin.py:236 +msgid "Clean up" +msgstr "" + +#: ../src/plugin.py:318 +msgid "Cleaning up finished timer entries..." +msgstr "" + +#: ../src/RemoteTimerEntry.py:132 ../src/RemoteTimerEntry.py:411 +msgid "DVR" +msgstr "" + +#: ../src/RemoteTimerEntry.py:157 ../src/RemoteTimerEntry.py:444 +msgid "Date" +msgstr "" + +#: ../src/PartnerboxSetup.py:129 ../src/PartnerboxSetup.py:236 +#: ../src/plugin.py:233 +msgid "Delete" +msgstr "" + +#: ../src/RemoteTimerEntry.py:154 ../src/RemoteTimerEntry.py:441 +msgid "Description" +msgstr "" + +#: ../src/PartnerboxEPGSelection.py:111 ../src/plugin.py:337 +#: ../src/plugin.py:1152 +#, python-format +msgid "" +"Do you really want to delete the timer \n" +"%s ?" +msgstr "" + +#: ../src/plugin.py:235 ../src/plugin.py:507 ../src/plugin.py:651 +msgid "EPG Selection" +msgstr "" + +#: ../src/PartnerboxSetup.py:128 +msgid "Edit" +msgstr "" + +#: ../src/PartnerboxSetup.py:78 +msgid "Enable Partnerbox-Function in EPGList" +msgstr "" + +#: ../src/PartnerboxSetup.py:77 +msgid "Enable Partnerbox-Function in TimerEvent" +msgstr "" + +#: ../src/RemoteTimerEntry.py:163 ../src/RemoteTimerEntry.py:168 +#: ../src/RemoteTimerEntry.py:450 ../src/RemoteTimerEntry.py:455 +msgid "EndTime" +msgstr "" + +#: ../src/PartnerboxSetup.py:40 +msgid "Enigma 1" +msgstr "" + +#: ../src/PartnerboxSetup.py:40 +msgid "Enigma 2" +msgstr "" + +#: ../src/PartnerboxSetup.py:126 ../src/PartnerboxSetup.py:249 +msgid "Enigma Type" +msgstr "" + +#: ../src/plugin.py:1311 +msgid "Error: No space left" +msgstr "" + +#: ../src/plugin.py:1317 +msgid "Error: Outdated" +msgstr "" + +#: ../src/plugin.py:1313 +msgid "Error: User aborted" +msgstr "" + +#: ../src/plugin.py:1315 +msgid "Error: Zap failed" +msgstr "" + +#: ../src/plugin.py:1222 ../src/plugin.py:1279 ../src/plugin.py:1395 +msgid "Fri" +msgstr "" + +#: ../src/RemoteTimerEntry.py:143 ../src/RemoteTimerEntry.py:422 +msgid "Friday" +msgstr "" + +#: ../src/plugin.py:512 +msgid "Getting Channel Information..." +msgstr "" + +#: ../src/plugin.py:948 +msgid "Getting EPG Information..." +msgstr "" + +#: ../src/plugin.py:400 +msgid "Getting Partnerbox Bouquet Information..." +msgstr "" + +#: ../src/plugin.py:237 +msgid "Getting Partnerbox Information..." +msgstr "" + +#: ../src/PartnerboxSetup.py:124 ../src/PartnerboxSetup.py:247 +msgid "IP" +msgstr "" + +#: ../src/plugin.py:510 ../src/plugin.py:652 ../src/plugin.py:947 +#: ../src/plugin.py:998 +msgid "Info" +msgstr "" + +#: ../src/RemoteTimerEntry.py:173 ../src/RemoteTimerEntry.py:460 +msgid "Location" +msgstr "" + +#: ../src/plugin.py:127 ../src/plugin.py:135 +msgid "Manage timer for other dreamboxes in network" +msgstr "" + +#: ../src/plugin.py:1222 ../src/plugin.py:1279 ../src/plugin.py:1395 +msgid "Mon" +msgstr "" + +#: ../src/RemoteTimerEntry.py:143 ../src/RemoteTimerEntry.py:422 +msgid "Monday" +msgstr "" + +#: ../src/RemoteTimerEntry.py:132 ../src/RemoteTimerEntry.py:411 +msgid "NGRAB" +msgstr "" + +#: ../src/PartnerboxSetup.py:123 ../src/PartnerboxSetup.py:246 +#: ../src/RemoteTimerEntry.py:153 ../src/RemoteTimerEntry.py:440 +msgid "Name" +msgstr "" + +#: ../src/RemoteTimerEntry.py:289 +msgid "No" +msgstr "" + +#: ../src/PartnerboxSetup.py:69 ../src/PartnerboxSetup.py:235 +#: ../src/RemoteTimerEntry.py:72 +msgid "OK" +msgstr "" + +#: ../src/RemoteTimerEntry.py:523 ../src/RemoteTimerEntry.py:533 +#, python-format +msgid "" +"Partnerbox Answer: \n" +"%s" +msgstr "" + +#: ../src/PartnerboxSetup.py:70 +msgid "Partnerbox Entries" +msgstr "" + +#: ../src/PartnerboxSetup.py:220 +msgid "Partnerbox: Edit Entry" +msgstr "" + +#: ../src/PartnerboxSetup.py:118 +msgid "Partnerbox: List of Entries" +msgstr "" + +#: ../src/PartnerboxSetup.py:250 +msgid "Password" +msgstr "" + +#: ../src/PartnerboxSetup.py:125 ../src/PartnerboxSetup.py:248 +msgid "Port" +msgstr "" + +#: ../src/PartnerboxSetup.py:168 ../src/PartnerboxSetup.py:274 +msgid "Really delete this Partnerbox Entry?" +msgstr "" + +#: ../src/RemoteTimerEntry.py:312 +msgid "Remote Timer" +msgstr "" + +#: ../src/PartnerboxEPGSelection.py:159 ../src/plugin.py:1007 +msgid "Remove timer" +msgstr "" + +#: ../src/plugin.py:1222 ../src/plugin.py:1279 ../src/plugin.py:1395 +msgid "Sat" +msgstr "" + +#: ../src/RemoteTimerEntry.py:143 ../src/RemoteTimerEntry.py:422 +msgid "Saturday" +msgstr "" + +#: ../src/PartnerboxSetup.py:251 +msgid "Servicelists/EPG" +msgstr "" + +#: ../src/PartnerboxSetup.py:75 +msgid "Show 'RemoteTV Player' in E-Menu" +msgstr "" + +#: ../src/PartnerboxSetup.py:74 +msgid "Show 'RemoteTimer' in E-Menu" +msgstr "" + +#: ../src/PartnerboxSetup.py:76 +msgid "Show 'Stream current Service' in E-Menu" +msgstr "" + +#: ../src/RemoteTimerEntry.py:159 ../src/RemoteTimerEntry.py:446 +msgid "StartTime" +msgstr "" + +#: ../src/plugin.py:138 +msgid "Stream TV from your Partnerbox" +msgstr "" + +#: ../src/plugin.py:140 +msgid "Stream current service from partnerbox" +msgstr "" + +#: ../src/plugin.py:1222 ../src/plugin.py:1279 ../src/plugin.py:1395 +msgid "Sun" +msgstr "" + +#: ../src/RemoteTimerEntry.py:143 ../src/RemoteTimerEntry.py:422 +msgid "Sunday" +msgstr "" + +#: ../src/plugin.py:1222 ../src/plugin.py:1279 ../src/plugin.py:1395 +msgid "Thu" +msgstr "" + +#: ../src/RemoteTimerEntry.py:143 ../src/RemoteTimerEntry.py:422 +msgid "Thursday" +msgstr "" + +#: ../src/RemoteTimerEntry.py:155 ../src/RemoteTimerEntry.py:442 +msgid "Timer Type" +msgstr "" + +#: ../src/plugin.py:1222 ../src/plugin.py:1279 ../src/plugin.py:1395 +msgid "Tue" +msgstr "" + +#: ../src/RemoteTimerEntry.py:143 ../src/RemoteTimerEntry.py:422 +msgid "Tuesday" +msgstr "" + +#: ../src/plugin.py:1222 ../src/plugin.py:1279 ../src/plugin.py:1395 +msgid "Wed" +msgstr "" + +#: ../src/RemoteTimerEntry.py:143 ../src/RemoteTimerEntry.py:422 +msgid "Wednesday" +msgstr "" + +#: ../src/plugin.py:111 +msgid "You have to restart Enigma2 to activate your new preferences!" +msgstr "" + +#: ../src/plugin.py:504 +msgid "Zap" +msgstr "" + +#: ../src/plugin.py:1246 +msgid "about to start" +msgstr "" + +#: ../src/RemoteTimerEntry.py:129 ../src/RemoteTimerEntry.py:407 +msgid "auto" +msgstr "" + +#: ../src/plugin.py:1258 +msgid "disabled" +msgstr "" + +#: ../src/RemoteTimerEntry.py:129 ../src/RemoteTimerEntry.py:133 +#: ../src/RemoteTimerEntry.py:407 ../src/RemoteTimerEntry.py:412 +msgid "do nothing" +msgstr "" + +#: ../src/plugin.py:1253 ../src/plugin.py:1308 +msgid "done!" +msgstr "" + +#: ../src/RemoteTimerEntry.py:129 ../src/RemoteTimerEntry.py:133 +#: ../src/RemoteTimerEntry.py:407 ../src/RemoteTimerEntry.py:412 +msgid "go to deep standby" +msgstr "" + +#: ../src/RemoteTimerEntry.py:129 ../src/RemoteTimerEntry.py:133 +#: ../src/RemoteTimerEntry.py:407 ../src/RemoteTimerEntry.py:412 +msgid "go to standby" +msgstr "" + +#: ../src/plugin.py:807 ../src/plugin.py:879 ../src/plugin.py:1236 +#: ../src/plugin.py:1241 ../src/plugin.py:1293 ../src/plugin.py:1296 +#: ../src/plugin.py:1298 ../src/plugin.py:1382 ../src/plugin.py:1579 +msgid "mins" +msgstr "" + +#: ../src/RemoteTimerEntry.py:128 ../src/RemoteTimerEntry.py:406 +msgid "record" +msgstr "" + +#: ../src/plugin.py:1251 ../src/plugin.py:1306 +msgid "recording..." +msgstr "" + +#: ../src/plugin.py:133 +msgid "setup for partnerbox" +msgstr "" + +#: ../src/plugin.py:1564 +msgid "unknown service" +msgstr "" + +#: ../src/PartnerboxSetup.py:42 +msgid "use external" +msgstr "" + +#: ../src/PartnerboxSetup.py:42 +msgid "use internal" +msgstr "" + +#: ../src/plugin.py:1244 ../src/plugin.py:1301 +msgid "waiting" +msgstr "" + +#: ../src/RemoteTimerEntry.py:128 ../src/RemoteTimerEntry.py:132 +#: ../src/RemoteTimerEntry.py:406 ../src/RemoteTimerEntry.py:411 +msgid "zap" +msgstr "" + +#: ../src/plugin.py:1249 ../src/plugin.py:1304 +msgid "zapped" +msgstr "" diff --git a/partnerbox/po/de.po b/partnerbox/po/de.po new file mode 100644 index 00000000..0c3760b7 --- /dev/null +++ b/partnerbox/po/de.po @@ -0,0 +1,473 @@ +msgid "" +msgstr "" +"Project-Id-Version: Partnerbox\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-06-20 13:51+0200\n" +"PO-Revision-Date: \n" +"Last-Translator: Dr.Best \n" +"Language-Team: Dr. Best \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: German\n" +"X-Poedit-Country: Germany\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: ../src/RemoteTimerEntry.py:135 +#: ../src/RemoteTimerEntry.py:414 +msgid "%d.%B %Y" +msgstr "" + +#: ../src/plugin.py:1234 +#: ../src/plugin.py:1239 +#: ../src/plugin.py:1291 +#: ../src/plugin.py:1296 +msgid "(ZAP)" +msgstr "" + +#: ../src/plugin.py:1255 +#: ../src/plugin.py:1319 +#: ../src/plugin.py:1321 +msgid "" +msgstr "" + +#: ../src/PartnerboxSetup.py:127 +msgid "Add" +msgstr "Hinzufügen" + +#: ../src/plugin.py:944 +#: ../src/plugin.py:1003 +msgid "Add timer" +msgstr "Hinzufügen" + +#: ../src/RemoteTimerEntry.py:176 +#: ../src/RemoteTimerEntry.py:178 +#: ../src/RemoteTimerEntry.py:463 +#: ../src/RemoteTimerEntry.py:465 +msgid "After event" +msgstr "Nach dem Ereignis" + +#: ../src/PartnerboxSetup.py:68 +#: ../src/PartnerboxSetup.py:234 +#: ../src/RemoteTimerEntry.py:73 +msgid "Cancel" +msgstr "Abbrechen" + +#: ../src/RemoteTimerEntry.py:170 +#: ../src/RemoteTimerEntry.py:457 +msgid "Channel" +msgstr "Sender" + +#: ../src/plugin.py:236 +msgid "Clean up" +msgstr "Aufräumen" + +#: ../src/plugin.py:318 +msgid "Cleaning up finished timer entries..." +msgstr "Vollendete Timer aufräumen..." + +#: ../src/RemoteTimerEntry.py:132 +#: ../src/RemoteTimerEntry.py:411 +msgid "DVR" +msgstr "" + +#: ../src/RemoteTimerEntry.py:157 +#: ../src/RemoteTimerEntry.py:444 +msgid "Date" +msgstr "Datum" + +#: ../src/PartnerboxSetup.py:129 +#: ../src/PartnerboxSetup.py:236 +#: ../src/plugin.py:233 +msgid "Delete" +msgstr "Löschen" + +#: ../src/RemoteTimerEntry.py:154 +#: ../src/RemoteTimerEntry.py:441 +msgid "Description" +msgstr "Beschreibung" + +#: ../src/PartnerboxEPGSelection.py:111 +#: ../src/plugin.py:337 +#: ../src/plugin.py:1152 +#, python-format +msgid "" +"Do you really want to delete the timer \n" +"%s ?" +msgstr "" +"Soll der Timereintrag\n" +"%s\n" +" wirklich gelöscht werden?" + +#: ../src/plugin.py:235 +#: ../src/plugin.py:507 +#: ../src/plugin.py:651 +msgid "EPG Selection" +msgstr "EPG Auswahl" + +#: ../src/PartnerboxSetup.py:128 +msgid "Edit" +msgstr "Bearbeiten" + +#: ../src/PartnerboxSetup.py:78 +msgid "Enable Partnerbox-Function in EPGList" +msgstr "Partnerbox-Funktion in EPG Liste aktivieren" + +#: ../src/PartnerboxSetup.py:77 +msgid "Enable Partnerbox-Function in TimerEvent" +msgstr "Partnerbox-Funktion in TimerEvent aktivieren" + +#: ../src/RemoteTimerEntry.py:163 +#: ../src/RemoteTimerEntry.py:168 +#: ../src/RemoteTimerEntry.py:450 +#: ../src/RemoteTimerEntry.py:455 +msgid "EndTime" +msgstr "Endzeit" + +#: ../src/PartnerboxSetup.py:40 +msgid "Enigma 1" +msgstr "" + +#: ../src/PartnerboxSetup.py:40 +msgid "Enigma 2" +msgstr "" + +#: ../src/PartnerboxSetup.py:126 +#: ../src/PartnerboxSetup.py:249 +msgid "Enigma Type" +msgstr "Enigma Typ" + +#: ../src/plugin.py:1311 +msgid "Error: No space left" +msgstr "Fehler: Kein Platz frei" + +#: ../src/plugin.py:1317 +msgid "Error: Outdated" +msgstr "Fehler: Veraltet" + +#: ../src/plugin.py:1313 +msgid "Error: User aborted" +msgstr "Fehler: Vom Benutzer abgebrochen" + +#: ../src/plugin.py:1315 +msgid "Error: Zap failed" +msgstr "Fehler: Umschalten fehlgeschlagen" + +#: ../src/plugin.py:1222 +#: ../src/plugin.py:1279 +#: ../src/plugin.py:1395 +msgid "Fri" +msgstr "Frei" + +#: ../src/RemoteTimerEntry.py:143 +#: ../src/RemoteTimerEntry.py:422 +msgid "Friday" +msgstr "Freitag" + +#: ../src/plugin.py:512 +msgid "Getting Channel Information..." +msgstr "Hole Sender Informationen..." + +#: ../src/plugin.py:948 +msgid "Getting EPG Information..." +msgstr "Hole EPG Informationen..." + +#: ../src/plugin.py:400 +msgid "Getting Partnerbox Bouquet Information..." +msgstr "Hole Partnerbox Bouquet Informationen" + +#: ../src/plugin.py:237 +msgid "Getting Partnerbox Information..." +msgstr "Hole Partnerbox Infomationen..." + +#: ../src/PartnerboxSetup.py:124 +#: ../src/PartnerboxSetup.py:247 +msgid "IP" +msgstr "" + +#: ../src/plugin.py:510 +#: ../src/plugin.py:652 +#: ../src/plugin.py:947 +#: ../src/plugin.py:998 +msgid "Info" +msgstr "" + +#: ../src/RemoteTimerEntry.py:173 +#: ../src/RemoteTimerEntry.py:460 +msgid "Location" +msgstr "Ort" + +#: ../src/plugin.py:127 +#: ../src/plugin.py:135 +msgid "Manage timer for other dreamboxes in network" +msgstr "Verwaltung der Timer für andere Dreamboxen im Netzwerk" + +#: ../src/plugin.py:1222 +#: ../src/plugin.py:1279 +#: ../src/plugin.py:1395 +msgid "Mon" +msgstr "Mo" + +#: ../src/RemoteTimerEntry.py:143 +#: ../src/RemoteTimerEntry.py:422 +msgid "Monday" +msgstr "Montag" + +#: ../src/RemoteTimerEntry.py:132 +#: ../src/RemoteTimerEntry.py:411 +msgid "NGRAB" +msgstr "" + +#: ../src/PartnerboxSetup.py:123 +#: ../src/PartnerboxSetup.py:246 +#: ../src/RemoteTimerEntry.py:153 +#: ../src/RemoteTimerEntry.py:440 +msgid "Name" +msgstr "" + +#: ../src/RemoteTimerEntry.py:289 +msgid "No" +msgstr "Nein" + +#: ../src/PartnerboxSetup.py:69 +#: ../src/PartnerboxSetup.py:235 +#: ../src/RemoteTimerEntry.py:72 +msgid "OK" +msgstr "" + +#: ../src/RemoteTimerEntry.py:523 +#: ../src/RemoteTimerEntry.py:533 +#, python-format +msgid "" +"Partnerbox Answer: \n" +"%s" +msgstr "" +"Antwort der Partnerbox:\n" +"%s" + +#: ../src/PartnerboxSetup.py:70 +msgid "Partnerbox Entries" +msgstr "Partnerbox Einträge" + +#: ../src/PartnerboxSetup.py:220 +msgid "Partnerbox: Edit Entry" +msgstr "Partnerbox: Eintrag bearbeiten" + +#: ../src/PartnerboxSetup.py:118 +msgid "Partnerbox: List of Entries" +msgstr "Liste der Partnerboxen" + +#: ../src/PartnerboxSetup.py:250 +msgid "Password" +msgstr "Passwort" + +#: ../src/PartnerboxSetup.py:125 +#: ../src/PartnerboxSetup.py:248 +msgid "Port" +msgstr "" + +#: ../src/PartnerboxSetup.py:168 +#: ../src/PartnerboxSetup.py:274 +msgid "Really delete this Partnerbox Entry?" +msgstr "Soll der Partnerbox-Eintrag wirklich gelöscht werden?" + +#: ../src/RemoteTimerEntry.py:312 +msgid "Remote Timer" +msgstr "" + +#: ../src/PartnerboxEPGSelection.py:159 +#: ../src/plugin.py:1007 +msgid "Remove timer" +msgstr "Timer entfernen" + +#: ../src/plugin.py:1222 +#: ../src/plugin.py:1279 +#: ../src/plugin.py:1395 +msgid "Sat" +msgstr "Sa" + +#: ../src/RemoteTimerEntry.py:143 +#: ../src/RemoteTimerEntry.py:422 +msgid "Saturday" +msgstr "Samstag" + +#: ../src/PartnerboxSetup.py:251 +msgid "Servicelists/EPG" +msgstr "Servicelisten/EPG" + +#: ../src/PartnerboxSetup.py:75 +msgid "Show 'RemoteTV Player' in E-Menu" +msgstr "'RemoteTV Player' im E-Menu anzeigen" + +#: ../src/PartnerboxSetup.py:74 +msgid "Show 'RemoteTimer' in E-Menu" +msgstr "'RemoteTimer' im E-Menu anzeigen" + +#: ../src/PartnerboxSetup.py:76 +msgid "Show 'Stream current Service' in E-Menu" +msgstr "'Aktuellen Sender Streamen' in E-Menu anzeigen" + +#: ../src/RemoteTimerEntry.py:159 +#: ../src/RemoteTimerEntry.py:446 +msgid "StartTime" +msgstr "Startzeit" + +#: ../src/plugin.py:138 +msgid "Stream TV from your Partnerbox" +msgstr "TV-Bild der Partnerbox anzeigen" + +#: ../src/plugin.py:140 +msgid "Stream current service from partnerbox" +msgstr "Aktuelles TV-Bild der Partnerbox anzeigen" + +#: ../src/plugin.py:1222 +#: ../src/plugin.py:1279 +#: ../src/plugin.py:1395 +msgid "Sun" +msgstr "So" + +#: ../src/RemoteTimerEntry.py:143 +#: ../src/RemoteTimerEntry.py:422 +msgid "Sunday" +msgstr "Sonntag" + +#: ../src/plugin.py:1222 +#: ../src/plugin.py:1279 +#: ../src/plugin.py:1395 +msgid "Thu" +msgstr "Do" + +#: ../src/RemoteTimerEntry.py:143 +#: ../src/RemoteTimerEntry.py:422 +msgid "Thursday" +msgstr "Donnerstag" + +#: ../src/RemoteTimerEntry.py:155 +#: ../src/RemoteTimerEntry.py:442 +msgid "Timer Type" +msgstr "Timer-Art" + +#: ../src/plugin.py:1222 +#: ../src/plugin.py:1279 +#: ../src/plugin.py:1395 +msgid "Tue" +msgstr "Di" + +#: ../src/RemoteTimerEntry.py:143 +#: ../src/RemoteTimerEntry.py:422 +msgid "Tuesday" +msgstr "Dienstag" + +#: ../src/plugin.py:1222 +#: ../src/plugin.py:1279 +#: ../src/plugin.py:1395 +msgid "Wed" +msgstr "Mi" + +#: ../src/RemoteTimerEntry.py:143 +#: ../src/RemoteTimerEntry.py:422 +msgid "Wednesday" +msgstr "Mittwoch" + +#: ../src/plugin.py:111 +msgid "You have to restart Enigma2 to activate your new preferences!" +msgstr "Enigma2 muß neu getartet werden damit die Einstellungen wirksam werden!" + +#: ../src/plugin.py:504 +msgid "Zap" +msgstr "Umschalten" + +#: ../src/plugin.py:1246 +msgid "about to start" +msgstr "startet gleich" + +#: ../src/RemoteTimerEntry.py:129 +#: ../src/RemoteTimerEntry.py:407 +msgid "auto" +msgstr "" + +#: ../src/plugin.py:1258 +msgid "disabled" +msgstr "abgeschaltet" + +#: ../src/RemoteTimerEntry.py:129 +#: ../src/RemoteTimerEntry.py:133 +#: ../src/RemoteTimerEntry.py:407 +#: ../src/RemoteTimerEntry.py:412 +msgid "do nothing" +msgstr "Nichts tun" + +#: ../src/plugin.py:1253 +#: ../src/plugin.py:1308 +msgid "done!" +msgstr "erledigt!" + +#: ../src/RemoteTimerEntry.py:129 +#: ../src/RemoteTimerEntry.py:133 +#: ../src/RemoteTimerEntry.py:407 +#: ../src/RemoteTimerEntry.py:412 +msgid "go to deep standby" +msgstr "Box abschalten" + +#: ../src/RemoteTimerEntry.py:129 +#: ../src/RemoteTimerEntry.py:133 +#: ../src/RemoteTimerEntry.py:407 +#: ../src/RemoteTimerEntry.py:412 +msgid "go to standby" +msgstr "schalte in Standby" + +#: ../src/plugin.py:807 +#: ../src/plugin.py:879 +#: ../src/plugin.py:1236 +#: ../src/plugin.py:1241 +#: ../src/plugin.py:1293 +#: ../src/plugin.py:1296 +#: ../src/plugin.py:1298 +#: ../src/plugin.py:1382 +#: ../src/plugin.py:1579 +msgid "mins" +msgstr "Minuten" + +#: ../src/RemoteTimerEntry.py:128 +#: ../src/RemoteTimerEntry.py:406 +msgid "record" +msgstr "Aufnahme" + +#: ../src/plugin.py:1251 +#: ../src/plugin.py:1306 +msgid "recording..." +msgstr "nimmt auf..." + +#: ../src/plugin.py:133 +msgid "setup for partnerbox" +msgstr "Setup für Partnerbox" + +#: ../src/plugin.py:1564 +msgid "unknown service" +msgstr "Unbekannter Service" + +#: ../src/PartnerboxSetup.py:42 +msgid "use external" +msgstr "extern" + +#: ../src/PartnerboxSetup.py:42 +msgid "use internal" +msgstr "intern" + +#: ../src/plugin.py:1244 +#: ../src/plugin.py:1301 +msgid "waiting" +msgstr "wartend" + +#: ../src/RemoteTimerEntry.py:128 +#: ../src/RemoteTimerEntry.py:132 +#: ../src/RemoteTimerEntry.py:406 +#: ../src/RemoteTimerEntry.py:411 +msgid "zap" +msgstr "umschalten" + +#: ../src/plugin.py:1249 +#: ../src/plugin.py:1304 +msgid "zapped" +msgstr "umgeschaltet" + diff --git a/partnerbox/src/PartnerboxEPGSelection.py b/partnerbox/src/PartnerboxEPGSelection.py index 432bcfee..692a668b 100644 --- a/partnerbox/src/PartnerboxEPGSelection.py +++ b/partnerbox/src/PartnerboxEPGSelection.py @@ -27,6 +27,9 @@ from Tools.BoundFunction import boundFunction from PartnerboxFunctions import SetPartnerboxTimerlist, isInTimerList, sendPartnerBoxWebCommand, FillE1TimerList, FillE2TimerList import PartnerboxFunctions as partnerboxfunctions +# for localized messages +from . import _ + baseEPGSelection__init__ = None baseEPGSelection_zapTo = None baseonSelectionChanged = None diff --git a/partnerbox/src/PartnerboxSetup.py b/partnerbox/src/PartnerboxSetup.py index 2f40c289..fc2d09d7 100644 --- a/partnerbox/src/PartnerboxSetup.py +++ b/partnerbox/src/PartnerboxSetup.py @@ -28,6 +28,9 @@ from Components.ActionMap import ActionMap, NumberActionMap from Components.ConfigList import ConfigList, ConfigListScreen from Components.config import ConfigSubsection, ConfigSubList, ConfigIP, ConfigInteger, ConfigSelection, ConfigText, ConfigYesNo, getConfigListEntry, configfile +# for localized messages +from . import _ + def initPartnerboxEntryConfig(): config.plugins.Partnerbox.Entries.append(ConfigSubsection()) i = len(config.plugins.Partnerbox.Entries) -1 @@ -49,7 +52,7 @@ def initConfig(): class PartnerboxSetup(ConfigListScreen, Screen): skin = """ - + @@ -99,7 +102,7 @@ class PartnerboxSetup(ConfigListScreen, Screen): class PartnerboxEntriesListConfigScreen(Screen): skin = """ - + @@ -205,7 +208,7 @@ class PartnerboxEntryList(MenuList): class PartnerboxEntryConfigScreen(ConfigListScreen, Screen): skin = """ - + diff --git a/partnerbox/src/RemoteTimerEntry.py b/partnerbox/src/RemoteTimerEntry.py index c9defe8a..43169efb 100644 --- a/partnerbox/src/RemoteTimerEntry.py +++ b/partnerbox/src/RemoteTimerEntry.py @@ -46,10 +46,13 @@ from Components.ActionMap import ActionMap from PartnerboxFunctions import PlaylistEntry, SetPartnerboxTimerlist, sendPartnerBoxWebCommand import PartnerboxFunctions as partnerboxfunctions +# for localized messages +from . import _ + class RemoteTimerEntry(Screen, ConfigListScreen): skin = """ - + diff --git a/partnerbox/src/__init__.py b/partnerbox/src/__init__.py index e69de29b..2fcab904 100644 --- a/partnerbox/src/__init__.py +++ b/partnerbox/src/__init__.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +from Components.Language import language +from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_LANGUAGE +from os import environ as os_environ +import gettext + +def localeInit(): + lang = language.getLanguage()[:2] # getLanguage returns e.g. "fi_FI" for "language_country" + os_environ["LANGUAGE"] = lang # Enigma doesn't set this (or LC_ALL, LC_MESSAGES, LANG). gettext needs it! + gettext.bindtextdomain("Partnerbox", resolveFilename(SCOPE_PLUGINS, "Extensions/Partnerbox/locale")) + +def _(txt): + t = gettext.dgettext("Partnerbox", txt) + if t == txt: + print "[Partnerbox] fallback to default translation for", txt + t = gettext.gettext(txt) + return t + +localeInit() +language.addCallback(localeInit) + diff --git a/partnerbox/src/plugin.py b/partnerbox/src/plugin.py index 671b337a..7323184e 100644 --- a/partnerbox/src/plugin.py +++ b/partnerbox/src/plugin.py @@ -60,6 +60,9 @@ from Screens.ChannelSelection import service_types_tv from Components.ConfigList import ConfigList, ConfigListScreen from Components.config import ConfigSubsection, ConfigSubList, ConfigIP, ConfigInteger, ConfigSelection, ConfigText, ConfigYesNo, getConfigListEntry, configfile +# for localized messages +from . import _ + config.plugins.Partnerbox = ConfigSubsection() config.plugins.Partnerbox.showremotetvinextensionsmenu= ConfigYesNo(default = True) @@ -151,7 +154,7 @@ def FillLocationList(xmlstring): class CurrentRemoteTV(Screen): skin = """ - + """ def __init__(self, session, partnerboxentry): @@ -209,7 +212,7 @@ class CurrentRemoteTV(Screen): class RemoteTimer(Screen): global CurrentParnerBoxName skin = """ - + @@ -385,7 +388,7 @@ class RemoteTimer(Screen): class RemoteTimerBouquetList(Screen): skin = """ - + """ @@ -480,7 +483,7 @@ class RemoteTimerChannelList(Screen): REMOTE_TIMER_MODE = 0 REMOTE_TV_MODE = 1 skin = """ - + @@ -919,7 +922,7 @@ class RemoteTimerEPGList(Screen): ADD_TIMER = 1 REMOVE_TIMER = 2 skin = """ - + @@ -1506,7 +1509,7 @@ class RemoteTimerEventView(Screen): ADD_TIMER = 1 REMOVE_TIMER = 2 skin = """ - + -- 2.20.1