[WISH] mi18n und checken von includes
[WISH] mi18n und checken von includes
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.
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
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
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: [WISH] mi18n und checken von includes
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
Entwickler bei der four for business AG
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: [WISH] mi18n und checken von includes
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?
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
Entwickler bei der four for business AG
-
- 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
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.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.
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
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: [WISH] mi18n und checken von includes
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
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.
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
Kannst du da mal ein Beispiel deiner Methode im Modul zeigen?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.
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
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
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: [WISH] mi18n und checken von includes
Der Autoloader lädt das, was Du ihm sagst:
https://docs.contenido.org/display/CONDEVE/cAutoload
https://docs.contenido.org/display/CONDEVE/cAutoload
Frederic Schneider
Entwickler bei der four for business AG
Entwickler bei der four for business AG
-
- 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
Sorry, grad nix griffbereit.rethus hat geschrieben:Kannst du da mal ein Beispiel deiner Methode im Modul zeigen?
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.
http://php.net/manual/de/function.array-merge.php
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
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: [WISH] mi18n und checken von includes
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.
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
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