Ankündigung

Einklappen
Keine Ankündigung bisher.

Verzeichnis für Erweiterungen der Sprachdateien

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [Featurewunsch] Verzeichnis für Erweiterungen der Sprachdateien

    Hi Wolfram wvhn ,
    ich habe noch eine Idee, die aber etwas an Arbeit bedeutet und ich die deshalb nur bringe damit man sich darüber evtl. Gedanken machen kann.

    Eigentlich wäre es voll praktisch, wenn es ein Verzeichnis /dropins/lang/extensions/ geben würde, in das man Sprachdateien im Format example_de.ini (example_en.ini usw.) legen kann, die dann zur jeweiligen sprachdatei.ini ergänzt werden. Z.B. wenn ich Deutsch als Sprache gewählt habe, dann wird die /lang/de.ini geladen und alle Extensions /dropins/lang/extensions/*_de.ini angehängt.

    Dadurch könnten SmarthomeNG Plugin-Entwickler zusätzlich zu ihren .html, .js, .css usw. die jeweiligen Spracherweiterungen in das pluginXY/sv_widgets/ Verzeichnis legen und somit ihre Plugins mehrsprachig machen. Diese Erweiterungen könnten dann zb. pluginXY_de.ini usw. heißen.
    Das smartvisu plugin müsste dann natürlich die Sprachdateien, ähnlich den restlichen Dateien, in das richtige Verzeichnis legen. Evtl. könnte es für die SHNG plugins sogar ein eigenes Verzeichnis /dropins/shwidgets/lang/extensions/ geben.

    Aber auch für new-Stuff Erweiterungen wäre das nützlich, denn dann sind diese noch einfacher einbindbar.

    Lg Thomas
    Zuletzt geändert von wvhn; 25.04.2023, 07:31. Grund: In eigenen Thread verschoben.

    #2
    Moin Thomas,

    Über die Sprach-Extension mache ich mir mal Gedanken. Die Umsetzung ist nicht ganz trivial, weil es heute das Konzept einer fest definierten Ergänzungskette ausgehend von der konfigurierten Sprachdatei gibt. Dafür wird die Funktion get_lang() in der ./lib/functions.php rekursiv für alle Sprachdateien aufgerufen, bis die "extends"-Kette abgearbeitet ist. Ein Verzeichnis mit quasi zufälligen Ergänzungen muss ganz anders behandelt werden. Auch muss man sich über Prioritäten Gedanken machen für den Fall von Doppelungen.

    Gruß
    Wolfram
    Zuletzt geändert von wvhn; 25.04.2023, 07:41.

    Kommentar


      #3
      hijacker7
      Moin Thomas,

      anbei mal eine Version der ./lib/functions.php zum Testen. Es gibt je einen Aufruf der Funktion get_lang() in ./lib/functions_twig.php und ./lib/base/base.php, die abgeändert werden müssen in get_lang_ext(). Ordnername und Namenskonvention der Dateien entsprechen Deinem Vorschlag.

      Definitionen, die in den bisherigen Sprachdateien schon existieren, haben immer Vorrang. D.h. Abweichungen von den regulären Sprachdateien werden wie bisher in einer eigenen Sprachdatei z.B."myLanguage.ini" in ./dropins/lang definiert. Definitionen in ./dropins/lang/extensions/*.ini ergänzen die Daten nur noch, verändern aber keine bestehenden Definitionen.

      Dies soll erstmal ein proof of concept sein. Wie genau das smartvisu-Plugin von shNG die Erweiterungen dann an die richtige Stelle bringt, muss ich noch mit Msinn abstimmen.

      Gruß
      Wolfram
      Angehängte Dateien
      Zuletzt geändert von wvhn; 04.05.2023, 08:35.

      Kommentar

      Lädt...
      X