[WISH] mi18n und checken von includes

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

[WISH] mi18n und checken von includes

Beitrag von rethus »

Wenn man ein Modul hat, das Multi-Lingual aufgebaut ist, UND Dateien (z.B. PHP-Klassen) inkludiert, funktioniert die Mehrsprachigkeit nur noch, wenn man mi18n() doppelt nutzt.
Einmal dort wo man diese braucht (z.B. in der Klasse), einmal in dem Modul-Output.
Daher hier mein Vorschlag, dass Contenido checkt, ob PHP-Dateien inkludiert wurden, und diese dann auf der Suche nach mi18n() mit parst.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: [WISH] mi18n und checken von includes

Beitrag von frederic.schneider_4fb »

Wir werden Deinen Vorschlag intern diskutieren und geben dann eine Rückmeldung an Dich. Vielen Dank!
Frederic Schneider
Entwickler bei der four for business AG
frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: [WISH] mi18n und checken von includes

Beitrag von frederic.schneider_4fb »

Lieber rethus,

wie versprochen haben ich Deinen Wunsch eben intern diskutiert. Es gibt ein paar Haken:
Zumindest wir schreiben (i. d. R.) keine includes oder Klassen (mehr) in eine Modul-Datei, sondern nutzen z. B. den Autoloader. Wie möchtest Du in diesem Fall herausfinden, was alles geladen wird? Zudem hat der Parse Performanceeinwirkungen. Grundsätzlich können wir Deinen Gedanken jedoch nachvollziehen und stellen uns deshalb gerne hier einer Diskussion. Vielleicht finden wir gemeinsam einen Weg?
Frederic Schneider
Entwickler bei der four for business AG
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: [WISH] mi18n und checken von includes

Beitrag von Oldperl »

rethus hat geschrieben:Daher hier mein Vorschlag, dass Contenido checkt, ob PHP-Dateien inkludiert wurden, und diese dann auf der Suche nach mi18n() mit parst.
Eine Möglichkeit, aber schwer zu realisieren. Ich lege in meinen Klassen immer ein Array für die Strings an und eine Methode die dieses Array im Modul selbst per mi18n übersetzt an.
Wobei ich generell versuche mi18n in externen Dateien zu vermeiden und falls doch notwendig dort lieber i18n mit entsprechenden locale-Dateien nutze.
Entsprechend verfahre ich beispielsweise auch bei JS, dort gebe ich ein translation-Array mit mi18n übersetzt direkt im Modul mit aus.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: [WISH] mi18n und checken von includes

Beitrag von rethus »

hi frederic.schneider_4fb
wie greift denn der Autoloader? Liest er z.B. auch alle Klassen aus meinen Plugin-Verzeichnissen aus?
Aktuell geht es mir darum, dass ich Ausgabemodule für ein Plugin habe. Das Plugin hat eine Klasse, die teilweise Textmeldungen (z.B. Fehlerausgaben, etc.) enthält.

Hi Oldperl
Ich lege in meinen Klassen immer ein Array für die Strings an und eine Methode die dieses Array im Modul selbst per mi18n übersetzt an.
Kannst du da mal ein Beispiel deiner Methode im Modul zeigen?

Mit i18n ist auch ein Ansatz, dieser stellt mich jedoch vor Problemen, wenn die Sprache mal eben schnell über Contenido-Backend, oder durch einen Redakteur (native - Speaker) gemacht werden soll. Denen möchte ich ungerne ein jonglieren mit poEdit zumuten.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: [WISH] mi18n und checken von includes

Beitrag von frederic.schneider_4fb »

Der Autoloader lädt das, was Du ihm sagst:
https://docs.contenido.org/display/CONDEVE/cAutoload
Frederic Schneider
Entwickler bei der four for business AG
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: [WISH] mi18n und checken von includes

Beitrag von Oldperl »

rethus hat geschrieben:Kannst du da mal ein Beispiel deiner Methode im Modul zeigen?
Sorry, grad nix griffbereit.
Aber vom Ablauf
  • Im Modul ein Array mit den Übersetzungen per mi18n-Funktion und String-Schlüsseln (Keys).
  • In der Klasse ein Array mit gleichlautenden Keys und den englischen Texten.
  • Eine Klassenmethode (set) die das Array aus dem Modul mit dem Klassen-Array synct.
  • Der Klassenmethode wird das Array aus dem Modul übergeben und dann mit dem Klassen-Array mit den Originaltexten zusammengeführt. :arrow: http://php.net/manual/de/function.array-merge.php
Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: [WISH] mi18n und checken von includes

Beitrag von rethus »

Ok, danke für die Anregung. Hört sich nach einem gangbaren Weg an.
Hab hin und her überlegt, aber auch keinen anderen Ansatz gefunden. Da beim Übersetzen die includes scheinbar gar nicht befeuert werden (sonst würde ja auch mi18n() funktionieren), wird es keine andere Möglichkeit geben als den Umweg über das Modul und dem dortigen Definieren von mi18n mit anschließender Übergabe in die Klassen und Funktionen.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
Antworten