[Gelöst ]Übersetzung: Ein einziger String bockt

Alles rund um Module und Plugins in CONTENIDO 4.9.
Antworten
homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

[Gelöst ]Übersetzung: Ein einziger String bockt

Beitrag von homtata » Mo 2. Sep 2013, 21:33

Hallo,

hier ein möglicherweise schwierig einzugrenzender Fehler: ich habe eine umfangreiche Seite, sehr viele Module, dreisprachig, sehr viel zu übersetzen.
In einem Modul, das aber nur 4 zu übersetzende Strings hat, wird EINER partout immer mit "Module translation not found" markiert, obwohl er a) in allen Sprachen zur Übersetzung angeboten wurde und b) in allen Sprachen auch übersetzt IST! Und das auch erst in der 4.9, vorher hat das funktioniert.
Ich habe schon den Quellstring geändert (von sprechend in sowas wie error_headline_message) und DAS neue übersetzt - funktioniert alles nicht...

Hat jemand eine Idee?
Zuletzt geändert von homtata am Mi 4. Sep 2013, 00:02, insgesamt 1-mal geändert.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Übersetzung: Ein einziger String bockt

Beitrag von xmurrix » Di 3. Sep 2013, 14:11

Gibt es etwa Sonderzeichen oder anderweitige Steuerzeichen in der Übersetzung?

Poste doch mal hier den Modulcode und die Übersetzungen, damit wir uns das ansehen können.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: [Gelöst ]Übersetzung: Ein einziger String bockt

Beitrag von homtata » Mi 4. Sep 2013, 00:09

Gelöst dank Hilfe von xmurrix :-)

Der String stand in einem Modul, das auf jeder Seite oben direkt eingebunden wird und das System mit einer Vielzahl an Variablen und Funktionen beliefert, die ich aus diversen Gründen nicht in eine externe Datei auslagern will.

In einer Funktion war dieser String enthalten.
Wird diese Funktion aus einem anderen Modul aufgerufen, funktioniert mi18n nicht, weil das aufrufende Modul und dessen ID maßgeblich für die Übersetzung ist, und da passt natürlich nichts zusammen.

Ich habe mir jetz so beholfen, dass ich außerhalb der Funktionen - quasi im Hauptbereich des Variablenmoduls - Konstanten definiert habe, die wiederum den Übersetzungsstring beinhalten, im Stil von:

Code: Alles auswählen

define("MARKASCOPY", mi18n("mark_as_copy"));
Diese Konstanten rufe ich dann innerhalb der Funktionen anstatt der früheren mi18n-Befehle auf.
Ab da funktioniert dann alles wie gehabt.

Antworten