VDR live -Zeitformat mittels Localization (i18n) ändern?

  • Liebe VDR-Gemeinde,


    bei mir läuft ein auf Debian 7 (wheezy) aufgesetzter VDR 2.0.3-1~etobi1 mit Live-Plugin 0.2.0+git20130305-6.

    Die System-locale ist komplett auf en_GB.UTF-8 eingestellt, was auch so bleiben soll.


    Soweit, so gut, mich stört nur extrem die 12 Stunden AM/PM-Zeitformatdarstellung.


    Mein Ansatz war es nun, aus der live source eine .po -Datei als template zu nehmen und entsprechend anzupassen nach dem Muster

    Code
    1. msgid "%I:%M %p"
    2. msgstr "%H:%M"

    Dann mit msgfmt daraus eine Datei vdr-live.mo zu erstellen und die unter /usr/share/locale/en_GB/LC_MESSAGES/ abzulegen.

    Leider ohne jede Wirkung und ich verstehe nicht, warum.

    Charset der .po habe ich vorher mit iconv zu utf-8 gewandelt und msgfmt läuft ohne Fehler durch. Dateirechte passen. Auch für vdr und vdr-plugin-epgsearch habe ich sicherheitshalber mal .mo Dateien ins en_GB LC_MESSAGES Verzeichnis gelegt.


    Ich hatte auch schon versucht, in /etc/default/vdr die VDR_LANG entsprechend zu setzen oder in die VDR-Optionen --localedir=/usr/share/locale/en_GB/LC_MESSAGES aufzunehmen.


    Hier timeformat fix hat jemand offenbar ähnliches mit Erfolg gemacht (einfach den Link durch einen online-translator jagen!).

    Vielleicht ist es versionsabhängig?


    Was übersehe ich wohl?


    Vielen Dank schon mal!

    Grüße

    Andreas

  • Hallo zusammen,


    erstmal der Vollständigkeit halber: localization wird l10n abgekürzt.


    Ich habe nun mal versucht, die Funktionsweise der .mo localization files auszutesten.


    Die Angabe der Option --localedir=/usr/share/locale/en_GB/LC_MESSAGES in /etc/default/vdr war nutzlos, also habe ich sie wieder entfernt.


    Erste Erkenntnis: Spracheinstellung passiert durch die in /etc/default/vdr gesetzte VDR_LANG Variable.


    Wenn die dort gesetzte locale auf dem Rechner nicht existiert, scheint vdr-live auf en_US zurückzufallen, zumindest erscheint das Datum in live dann im Format Monat-Tag-Jahr und nicht wie bei meiner bisherigen en_GB Einstellung (die gar nicht als .mo Datei existierte!) in Tag-Monat-Jahr. Außerdem werden gälische Sonderzeichen aus dem britischen oder irischen EPG falsch eingelesen, was sich auf die Verzeichnisnamen der Aufnahmen negativ auswirkt. -> unbrauchbar


    Aber offenbar wird das Zeit- und Datumsformat nicht aus dem /usr/share/locale Verzeichnis bezogen, sondern woanders her (ich vermute, es wird dann das default Format genutzt, das im Programmcode selbst verwendet wird und das scheint im vdr oder epgsearch ein anderes zu sein als in live).


    Dann habe ich testweise mal die de_DE locale auf dem Rechner installiert und VDR_LANG auf de_DE gesetzt -> Menü von live weiter in Englisch, der Inhalt/Programmübersicht jetzt aber in deutsch (und das OSD vom VDR auch). Gälische EPG-Sonderzeichen werden korrekt eingelesen.


    Erst durch das Installieren der de_DE locale auf dem Rechner scheinen übrigens auch die übrigen locale-Verzeichnisse in /usr/share/locale/ mit den vdr-spezifischen .mo Dateien bestückt worden zu sein.


    Als nächstes habe ich testweise alle vdr*.mo Dateien (vdr, vdr-live, vdr-epgsearch) aus /usr/share/locale/de_DE/LC_MESSAGES/ ins temporär erzeugte Verzeichnis ./old/ verschoben und stattdessen die vdr*.mo Dateien aus fr_FR hineinkopiert. VDR neu gestartet, die Festplatte rödelte danach längere Zeit unglaublich herum -> in live ist dann alles auf Englisch, aber Uhrzeiten und Datum inklusiv Wochentage ausgeschrieben in Deutsch (also wörtlich: Mittwoch). Keine Spur von französischem Text, auch nicht im OSD.


    Alles wieder rückgängig gemacht, also die deutschen vdr*.mo Dateien aus dem temporären Verzeichnis ./old/ dahin zurückkopiert, wo sie herkamen, VDR neu gestartet -> das gleiche wie vorher! Alles auf Englisch, aber Uhrzeiten/Datum incl. Wochentag auf deutsch! Auch OSD weiter auf Englisch! Sicherheitshalber mal den Rechner rebootet, keine Änderung, VDR weiter auf Englisch.


    Als nächstes VDR_LANG wieder auf en_GB gesetzt (mit meiner selbsterstellten en_GB -.mo Datei), VDR neu gestartet -> alles, aber auch wirklich alles wieder auf Englisch incl. Datum und Uhrzeit (AM/PM Zeitformat).


    Ich ziehe daraus erstmal den Schluß, daß es zum Ändern der VDR-Sprache und des Zeitformats nicht reicht (bzw. gar nicht funktioniert), einfach die gewünschten locale- .mo Dateien ins entsprechende Verzeichnis zu kopieren. Also funktionieren auch nicht einfach selbsterstellte .mo Dateien. Warum nicht, weiß ich nicht.

    Die zweite Erkenntnis ist, durch das Verschieben der .mo Dateien habe ich mir offenbar die Spracheinstellbarkeit meines VDRs zerschossen, der Grund dafür ist mir ebensowenig erkennbar.


    Allerdings ist der jetzige Zustand (mit nunmehr "defekter" de_DE-Einstellung, aber VDR_LANG=de_DE) für mich ganz gut erträglich: englischsprachiges Menü sowohl im VDR als auch in live, englischsprachige Fehlermeldungen, aber 24-Stunden-Format in live mit sinnvoll nutzbarem Datumsformat; korrekt eingelesene gälische EPG-Sonderzeichen. An die Tatsache, daß die Namen der Wochentage jetzt auf deutsch angezeigt werden, wird man sich in UK gewöhnen.



    So sieht das jetzt im live aus:


    Wenn noch jemand Ideen zu dem Thema hat, bitte gerne her damit!


    Grüße,

    Andreas



    Edit:

    Hmm, ich sehe gerade, das ist doch noch das AM/PM 12-Stunden-Format. Also doch nichts gewonnen, nur zerschossen..

  • Ich habe im www eine localization-Anleitung für irgendein anderes Programm gefunden. Demnach kann man nicht einfach .po oder .mo Dateien aus irgendeiner anderen Sprache umbenennen und verschieben. Also habe ich es auf einem bisher unmanipulierten VDR nun mal nach dieser Anleitung auf dem offiziellen gettext-Weg mit poEdit probiert: funktioniert auch nicht.


    Das hier hat mich jetzt darauf gebracht, daß offenbar Version 0.1.0 von vdr-live grundsätzlich nur im 12-Stunden AM/PM-Format anzeigen kann. Meine Version ist laut Ausgabe von dpkg -l aber 0.2.0. Jetzt mal ins changelog und in HISTORY geguckt: da steht 0.1.0 !

    Verstehe das jemand. Da scheint im Repository irgendwas durcheinander zu sein und ich habe es die ganzen Jahre nicht bemerkt. Wenn das stimmt, kann es nicht funktionieren. Also zurück auf Start..


    edit: "about" gibt Version 0.2.0 aus, also vermutlich nur ein nicht gepflegtes changelog