NEW - Der Feed des Merlin Images jetzt bei BoxPirates - NEW

NEW - BoxPirates Plugin Feed - NEW
Unsere Plugins direkt über den Plugin Browser eure Box installierbar

skin: variabele pixmap Dateien nutzen (Sprache abhängig)

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • skin: variabele pixmap Dateien nutzen (Sprache abhängig)

      k.A. ob es möglich ist, aber ich möchte in einem Plugin (also python) bei Skin: variabele .png Dateien (als pixmap) nutzen.
      Wenn der Sprache auf DE eingestellt is dann sollte die *_de.png Datei(en) angezeigt werden, aber wenn der Sprache auf EN eingestellt is sollte die *_en.png Datei(en) angezeigt werden usw.

      Zum Beispiel im Verzeichniss /usr/lib/enigma2/python/Plugins/Extensions/TestPlugin stehen 4 .png Dateien: test1_de.png, test2_de.png, test1_en.png und test2_en.png. Also abhängig von der eingestellte Sprache sollen die *de.png oder die *en.png gezeigt werden.


      habe es wie folgt versucht:

      Quellcode

      1. class TestScreen(Screen):
      2. from Components.Language import language
      3. lang = language.getLanguage()
      4. dir = "/usr/lib/enigma2/python/Plugins/Extensions/TestPlugin/"
      5. file1 = dir + "test1_" + lang[:2] + ".png"
      6. file2 = dir + "test2_" + lang[:2] + ".png"
      7. skin = """
      8. <screen name="TestScreen" position="center,center" size="1220,260">
      9. <ePixmap pixmap=file1 position="20, 10" zPosition="2" size="400,250" />
      10. <ePixmap pixmap=file2 position="800,10" zPosition="2" size="400,250" />
      11. </screen>"""
      Alles anzeigen
      aber leider.

      Selbstverständlich kann ich für jede Sprache einen eigenen Skin verwenden, aber das ist nicht beabsichtigt

      Quellcode

      1. if lang[:2] == "de":
      2. skin = """
      3. <screen ...>
      4. [...]
      5. </screen>"""
      6. elif lang[:2] == "en":
      7. skin = """
      8. <screen ...>
      9. [...]
      10. </screen>"""
      Gibt es dafür eine lösung ?

    • Was soll denn das Bild überhaupt anzeigen? Eigentlich könnte man da doch ein Hintergrundbild verwenden, über den man dann in einem Textfeld ensprechenden Text legt, welcher dann übersetzt wird???

      Ein Beispiel wäre doch die Virtuelle Tastatur. Da wird doch, je nach verwendeter Sprache, die Flagge als Bild angezeigt ....
      _tmp_1647335240731.png

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Hilfsbereit ()


    • Hilfsbereit schrieb:

      Was soll denn das Bild überhaupt anzeigen?
      Ich bin dabei für einige Personen mittels ein Plugin für manche Sachen einige Erläuterungen (unterstüzt mit Screenshots) zu machen, aber jede Sprache hat natürlich seinen eigenen Bildschirmtext. Zb. was zu tun wenn es keine LAN-Verbindung gibt; wie nutzt/bedient man manuell das EPGLoad plugin usw. Also Hintergrundbild und Virt. Tastatur bringen nichts, denn die Bilder sind Sprachabhängig. Aber wenn is nicht geht, dann ist die einzige Lösung: für jede Sprache einen eigenen Skin


      nolan1_de.png

    • Du sollst dir da den Code der virtuellen Tastatur ansehen, wie das dort mit dem Bild in Zusammenhang mit der Sprache gelöst ist, nicht die virtuelle Tastatur ansich.

      Du müsstest z.B. einen HELP Screen für das jeweilige plugin erstellen, welcher dann über die HELP Taste aufgerufen wird.
      Dazu müsstest du aber in den plugins selbst etwas ändern, was bei Systemplugins wie den Netzwerkeinstellungen sicher nicht gewollt ist.

    • Könntest du nicht in deinem Screen ein Pixmap laden und dann abfragen.

      Python-Quellcode

      1. if lang[:2] == "de":
      2. lade/das/picon/blabla/de.png
      3. elif lang[:2] == "en":
      4. lade/das/picon/blabla/en.png

      Hier mal ein beispiel was ich eben schnell beim My Flow ausprobiert habe.

      Hier wird im My Flow Menü die Uhr auswahl nur angezeigt wenn die Sprache auf en steht. und bei de wird er versteckt bzw. nicht angezeigt.


      Python-Quellcode

      1. from Components.Language import language
      2. lang = language.getLanguage()
      3. if lang[:2] == "de":
      4. self.de=False
      5. elif lang[:2] == "en":
      6. self.de=True
      7. # Unten weiter Definiere ich dann welcher Menüpunkt es sein soll.
      8. if self.de:
      9. list.append(getConfigListEntry(_("Uhr layout"), config.plugins.My_Flow.Clock))
      Alles anzeigen


      So müsstest du ja auch Bilder mit Laden können.