[ANNOUNCE] VDR developer version 1.5.10

  • Hallo,


    channelscan plugin tut nicht mehr



    weiß jemand Abhilfe ?


    viele Grüße
    Andreas

  • Viele Plugins (extrecmenu,epgsearch,burn...) verwenden die in menuitems.c Zeile 21 definierte Konstante :


    Code
    const char *FileNameChars = trNOOP(" abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@");


    Obwohl ich den betreffenden Eintrag in der deutschen po finden kann


    Code
    #: menuitems.c:21
    msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"
    msgstr " aäbcdefghijklmnoöpqrstuüvwxyz0123456789-.#~,/_@"


    stehen die Zeichen ä,ö,ü in den Plugin Dialogen nicht zur Verfügung. Ein Bug im VDR oder müssen die Plugins angepasst werden?


    (Btw. da fehlt noch das ß)

  • Zitat

    Original von Ramirez
    Viele Plugins (extrecmenu,epgsearch,burn...) verwenden die in menuitems.c Zeile 21 definierte Konstante :


    Code
    const char *FileNameChars = trNOOP(" abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@");


    Obwohl ich den betreffenden Eintrag in der deutschen po finden kann


    trNOOP tut ja wie der name sagt eh nix.


    Zitat
    Code
    #: menuitems.c:21
    msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"
    msgstr " aäbcdefghijklmnoöpqrstuüvwxyz0123456789-.#~,/_@"


    stehen die Zeichen ä,ö,ü in den Plugin Dialogen nicht zur Verfügung. Ein Bug im VDR oder müssen die Plugins angepasst werden?


    (Btw. da fehlt noch das ß)


    Später wird dann auf die Konstante tr aufgerufen (aus dem Plugin!).
    tr aus Plugins übersetzt nur Texte aus dem Plugin selber - und keine die im vdr-Hauptprogramm übersetzt werden.
    Ich sehe das als Fehler im VDR - oder man müsste unterscheiden von wo ein Text herkommt - aber das ist auch blöd.


    zB tr vs. trCore ??
    das wäre aber auch inkonsequent, da im vdr selber ja auch tr verwendet wird.


    Zzam


  • Das gibt es bereits.
    Siehe

    Code
    2007-08-26: Version 1.5.9
    ..
    Added the new i18n macro trVDR(), which can be used by plugins to mark texts they want to reuse from VDR's core translations
    ..
  • Zitat

    Original von LiamHD


    Das gibt es bereits.
    Siehe

    Code
    2007-08-26: Version 1.5.9
    ..
    Added the new i18n macro trVDR(), which can be used by plugins to mark texts they want to reuse from VDR's core translations
    ..


    Ah super. Danke für den Tip. Hab ein Suchen und Ersetzen über mein Plugin Quellenverzeichnis gemacht tr(FileNameChars) -> trVDR(FileNameChars).
    Funktioniert einwandfrei. Aber ist es sinnvoll, daß durch solche Änderungen so gut wie jedes Plugin angefasst werden muß?

  • Zitat

    Original von Ramirez
    Aber ist es sinnvoll, daß durch solche Änderungen so gut wie jedes Plugin angefasst werden muß?


    Nun ja, ich sehe keine andere sauber Lösung. Wenn Du das tr-Macro verwendest, dann bekommst Du in den POT und PO files einträge für strings, die im VDR-Core schon übersetzt sind.
    Woher soll der Übersetzer denn wissen, dass er diesen String nicht übersetzen muss.

  • Ich kenne mich mit gettext und der Arbeitsweise nicht aus, aktuell gibt es beim vdr ja 3 übersetzungswege.

    • tr()
    • trNOOP()
    • trVDR()


    Mit tr() übersetzt man direkt, das trNOOP ist nur ein dummy für die Nutzung von tr() wenn hier Variablen übergeben werden und die Einträge in den po-Dateien erzeugt werden können, also eine Art "Hallo ich muss auch Übersetzt werden"-Flag.
    trVDR scheint dann ja die "Übersetzungsdomäne" zu ändern.
    Wäre es nicht eine Idee immer trVDR() (oder anderer Name) zu nehmen und hier folgendes Vorgehen dran zu hängen?
    Zur Laufzeit: Immer übersetzen
    Bei make i18n: zuerst im Plugin schauen, ansonsten in VDR schauen
    Damit hätte man nur noch eine tr-Methode, hätte aber alles abgedeckt, ausserdem hätte man ein Durchsichtsprinzip vom Plugin in Richtung VDR, man müsste nur in Spezialfällen aufpassen, halt wenn man für ein Wort eine andere Übersetzung als im vdr selber haben möchte, aber da kann man sich ja auf viele Arten aushelfen.


    Ist nur ein wenig Brainstorming um die Übersetzungsmethoden zu vereinheitlichen.

  • Ich habe ehrlich gesagt wenig Ahnung von C/C++ Programmierung und schon gar nicht unter Linux, aber ich verstehe den Code Aufbau an dieser speziellen Stelle eigentlich gar nicht. Jetzt wo ich die Erklärung gelesen habe um so weniger.


    VDR stellt eine Basisklasse für Menüs zur Verfügung, die um es allen Plugins zu vereinfachen eine Konstante für Dateizeichen definiert:


    const char *FileNameChars = trNOOP(" abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@");


    Nach der Erklärung heißt das in etwa soviel, wie guck mal diese Zeichenfolge ist zu übersetzen, aber mach bitte nix damit.


    Wenn ich mir jetzt den Codeschnipsel in ExtRecMenu zum Beispiel anschaue, so steht da:


    Add(new cMenuEditStrItem(tr("Name"),name,sizeof(name),tr(FileNameChars)));


    Füge einen Menüpunkt hinzu, nenne ihn Name und übersetze jetzt bitte die im VDR definierte Konstante. Daher mußte ich ja jetzt auf


    Add(new cMenuEditStrItem(tr("Name"),name,sizeof(name),trVDR(FileNameChars)));


    korrigieren.


    Aber eigentlich müsste das ganze doch komplett anders laufen. Der VDR müsste den komplett übersetzten String zur Verfügung stellen, sowas wie GetFileNameChars und nicht jedes Plugin sich um die Übersetzung im Code selber kümmern. Wenn ich da so in den Source einiger Plugins blicke, dann gibt es dieses tr(FileNameChars) viel zu oft. Irgendwie sollted as nur einmal an einer zentralen Stelle passieren. Denke ich jetzt zu verquert?

  • ProjectX 0.90.4 ist nicht sehr glücklich über die neuen Untertitel:


    Mit vdr 1.4.7 und dem subtitle Plugin tut projectx mit den neuen ZDF DVB-Subs hingegen.

  • Hallo,


    ich habe auch noch ein Problem mit der Schrifteinstellung des OSD.


    Wenn ich im VDR Menü eine Schriftgröße und eine Schriftart einstelle wird diese übernommen. Nach einem Neustart ist die Schrift wieder zurückgestellt. Die Einträge im Menü sind jedoch richtig.


    Das hatte ich auch schon bei 1.5.9, hat jemand eine Idee ?


    viele Grüße
    Andreas


  • Du hast ein Plugin was die Schriften (cFont) nicht richtig verwendet.
    Das tut zB ein ungepatchtes prefermenu, skinelchi, sysinfo und vieleicht noch mehr.


    Das Problem gibt es seit vdr-1.5.3 und nicht erst jetzt.


    Zzam

  • Wurde das "Sprungverhalten" mit 1.5.x geändert ?
    Ich konnte in der Vergangenheit bei Aufnahmen mit der "Next"-Taste um 5min vorspringen.
    Jetzt springt er nur noch auf vorhandene Markierungen.
    Das ist etwas nervlich wenn man nur eine Startmarkierung hat und zum Schluß springen will,
    da hilft nur der schnelle Vorlauf, und selbst der dauert zu lange bei nem 2 Stundenfilm. :(

  • obarden: Über die Next-Taste kann ich nix sagen, die habe ich hier nie eingerichtet. Du kannst aber alternativ die Farbtaste rot verwenden.


    Hier kannst du dann per Zifferntasten wählen, wie viele Minuten gesprungen werden sollen, dann "links" oder "rechts" drücken, je nach Sprungrichtung.


    Oder du gibst nach "rot" die absolute Minutenzahl an auf die du springen willst und drückst dann auf "hoch" (Spung+Wiedergabe) oder auf "runter" (Sprung+Pause).


    Wenn du an das Ende Springen willst, nimmst du einfach eine Minutezahl, die größer ist als die Aufzeichnung: rot+456+rechts damit Springt der vdr 10 Sekunden vor das Ende.


    Außerdem solltest du dir vielleicht die Hilfe ansehen (bei Debian unter /usr/share/doc/vdr/MANUAL.gz ; keine Ahnung wo'sbei Suse steht), denn mit grün/gelb könntest du zumindest in 1-Minuten-Schritten springen.

    Debian Squeeze Bullseye mit vdr 1.7.18 2.6.0-1~etobi1 e-tobi/multipatch, AMD Phenom-CPU, 4 GB RAM, Technotrend S2-6400, Digital Devices Cine S2 V6, 2 TByte HDD für Videodaten.

    Einmal editiert, zuletzt von HolgerAusB ()

  • Für alle, die die Untertitel beim ZDF auch live (und nicht nur in Aufzeichnungen) bewundern wollen hat kls heute auf der ML einen Patch gepostet:


    Es müsste in remux.c ca. Zeile 1914 sein.


    Happy reading
    FireFly

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!