Übersetzung von Modulen

siegparr
Beiträge: 18
Registriert: Do 7. Dez 2006, 17:12
Kontaktdaten:

Übersetzung von Modulen

Beitrag von siegparr »

Hallo,

habe bereits hier im Forum nach dem Thema gesucht aber noch nicht das richtige gefunden. Ich verwende mi18n für übersetzbare Texte. Damit kann ich die Texte recht gut in Contenido übersetzen.

Für größere Module mit vielen Texten würde ich die Übersetzung gerne extern vornehmen oder dies von einem Übersetzungsbüro erledigen lassen. Der Export der Module in eine XML-Datei klappt (wenn ich an das generierte XML auch meine Fragen hätte). Der Import des XML-Files nach der Übersetzung funktioniert bei mir aber nicht.

Gibt es dazu hier im Forum oder woanders eine Doku? Falls nein, kann mir jemand den Vorgang erklären?

Vielen Dank für Eure Mühe!

Grüße und so
Zuletzt geändert von siegparr am Fr 22. Dez 2006, 11:52, insgesamt 2-mal geändert.
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 »

Kannst du kurz erläutern, was genau beim Import nicht funktioniert?
siegparr
Beiträge: 18
Registriert: Do 7. Dez 2006, 17:12
Kontaktdaten:

Beitrag von siegparr »

Hallo,

vielen Dank für die schnelle Antwort. Mußte gestern nach dem Posten leider außer Haus gehen, deshalb erst heute eine Antwort.
Kannst du kurz erläutern, was genau beim Import nicht funktioniert?
Gerne, hätte ich gestern bereits tun sollen ...

Das zu importierende XML-File sieht so aus:

Code: Alles auswählen

<?xml version="1.0" encoding="ISO-8859-1"?>
<module>
  <translation origin-language-id="1" origin-language-name="deutsch">
    <string>
      <original>Dies ist ein Test</original>
      <translation>This is test</translation/>
    </string>
    <string>
      <original>Nummer</original>
      <translation>number</translation/>
    </string>
    <string>
      <original>Test mit den Umlauten Ä, Ö, Ü, ä, ö, ü und ß.</original>
      <translation>test with umlauts  Ä, Ö, Ü, ä, ö, ü and ß.</translation/>
    </string>
   ...
  </translation>
</module>
Beim Import gibt es keine Fehlermeldung. Der Text bleibt aber deutsch.
:?

Danke für jede Hilfe!
Grüße und so
_________________________________________
Contenido 4.6.8
Apache/2 (Linux)
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Das ist nicht regelkonform. Zum einen solltest Du Dir angewöhnen, die Originaltexte im Modul in englisch zu formulieren, da damit keine Umlaute und Sonderzeichen bereits in den Ausgangscode kommen können.

Zum anderen solltest Du mal die Übersetzung manuell eintragen und einen Export durchführen. In der daraus entstehenden XML-Datei sind etliche Element kodiert.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
siegparr
Beiträge: 18
Registriert: Do 7. Dez 2006, 17:12
Kontaktdaten:

Beitrag von siegparr »

Danke HerrB!

Melde mich wieder ...
Grüße und so
_________________________________________
Contenido 4.6.8
Apache/2 (Linux)
siegparr
Beiträge: 18
Registriert: Do 7. Dez 2006, 17:12
Kontaktdaten:

Beitrag von siegparr »

Hallo HerrB,

herzlichen Dank für die Antwort!

Was ist nicht regelkonform? Um welche Regeln geht es dabei?
Zum einen solltest Du Dir angewöhnen, die Originaltexte im Modul in englisch zu formulieren ...
Würde ich ja gerne, aber die Ausgangssprache Deutsch ist leider vorgegeben. Das Projekt ist in Deutsch bereits fertig; jetzt soll (als neue Anforderung) Mehrsprachigkeit dazukommen.
Zum anderen solltest Du mal die Übersetzung manuell eintragen und einen Export durchführen.
Genau so ist meine XML-Datei für den Test-Übersetzungsimport entstanden; deutsch exportiert, manuell übersetzt, versucht Englisch zu importieren.
In der daraus entstehenden XML-Datei sind etliche Element kodiert.
Sind damit XML-Referenzen im Format &#nnnn z. B. für Umlaute gemeint?

Könnte es sein, daß ich etwas falsch gemacht habe und der XML-Parser bricht ohne Fehlermeldung einfach ab?

Oder muß ich irgendwo noch etwas synchronisieren oder irgendwelche Einstellungen vornehmen? Die Sprache englisch ist bereits angelegt und für den Import habe ich auf englisch geschaltet.

Contenido ist ziemlich neu für mich. Habe bereits nach 'Übersetzung', 'Translation' und ähnlichen Begriffen teilweise zusammen mit 'Modul' im Forum gesucht, aber nichts zu einem externen Übersetzungsvorgang mit XML-Export und -Import gefunden. Gibt es da bereits einen Thread? Habe ich etwas übersehen? :?

In welcher Sprache muß der Übersetzungsexport erfolgen (deutsch; oder englisch, wenn die deutschen Texte noch drinstehen)?

Danke für die Mühe.
Grüße und so
_________________________________________
Contenido 4.6.8
Apache/2 (Linux)
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Was ist nicht regelkonform? Um welche Regeln geht es dabei?
War vielleicht der falsche Ausdruck - einige Inhalte sind in der XML-Datei kodiert, da kann es schon sein, wenn er drüber stolpert.

Ich habe es jetzt mal getestet:

Code: Alles auswählen

<translation>äöüÄÖÜ,.-;:_<>|#'+*~´`\?=)(/&%$§"!°^{[]}\1234567890@߀</translation>
Gewandelt wird demnach nur <> & " (ich hatte jetzt mehr erwartet)
Würde ich ja gerne, aber die Ausgangssprache Deutsch ist leider vorgegeben. Das Projekt ist in Deutsch bereits fertig; jetzt soll (als neue Anforderung) Mehrsprachigkeit dazukommen.
Zum einen war das der Hinweis, wie man es beim nächsten Mal gleich besser machen kann und zum anderen kannst Du das doch jederzeit noch ändern.

Du wählst für den aktuellen Mandanten die Sprache "deutsch" (rechts oben) - ist i.A. die erste Sprache.

Nun gehst Du in das Modul und änderst alle mi18n("So a Depp") in englisch z.B. mi18n("Bush"). Nun speicherst Du das Modul und wählst den Reiter Übersetzung und gibst dort die deutsche Übersetzung für den englischen Term ein. Das ist - trotz des Aufwands - auf jeden Fall eine gute Idee, da jede Übersetzung, die in einer bestimmten Sprache noch nicht gemacht oder vergessen wurde, zumindest englischen Text ausgibt (statt D, was doch weniger Menschen in der Welt verstehen...).

Und dann bliebe natürlich noch die Frage nach der genauen Versionsnummer von Contenido...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
siegparr
Beiträge: 18
Registriert: Do 7. Dez 2006, 17:12
Kontaktdaten:

Beitrag von siegparr »

Vielen Dank HerrB!

Genaue Contenido-Version ist 4.6.8, wie oben in der Signatur geschrieben. :?

Danke für den Test.
Gewandelt wird demnach nur <> & "
Die getesteten Umlaute und ß müßten also ohne Fehler durchlaufen, oder?
... und zum anderen kannst Du das doch jederzeit noch ändern.
Eine gute Idee, geht aber leider nicht (hat nichttechnische Gründe).

Die Texte sollen extern übersetzt werden, z. B. bei einem Übersetzungsbüro. Und nicht nur nach Englisch, sondern auch in andere Sprachen. Für die Übersetzung von XML-Dateien haben viele Übersetzungsbüros bereits Tools; ob sie bereit sind sich in Contenido neu einzuarbeiten bezweifle ich aber. Außerdem gibt man nicht jedem gerne Rechte ...

Deshalb brauche ich zum angebotenen Übersetzungsexport in XML einen funktionierenden Übersetzungsimport für übersetzte XML-Dateien. Gibt es dazu eine einfache Anleitung :?: Irgendwie sollte es ja funktionieren.

Oder hat jemand Erfahrung auf diesem Gebiet und ist bereit diese hier zum Besten zu geben? Es gibt möglicherweise auch andere Contenido-Nutzer, die sich dafür interessieren.

Danke für die Mühe und Hilfe!

PS: Schönes Wochenende! Bin am Montag wieder da, falls jemand auf eine Reaktion von mir wartet.
Grüße und so
_________________________________________
Contenido 4.6.8
Apache/2 (Linux)
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Eine gute Idee, geht aber leider nicht (hat nichttechnische Gründe).

Die Texte sollen extern übersetzt werden, z. B. bei einem Übersetzungsbüro. Und nicht nur nach Englisch, sondern auch in andere Sprachen. Für die Übersetzung von XML-Dateien haben viele Übersetzungsbüros bereits Tools; ob sie bereit sind sich in Contenido neu einzuarbeiten bezweifle ich aber. Außerdem gibt man nicht jedem gerne Rechte ...
Irgendwie reden wir da noch einander vorbei. DU änderst den Code in den Modulen. Den Übersetzungsbüros gibst Du dann nur z.B. die erste Übersetzung von englisch nach deutsch als XML-Datei.

Die können sie übersetzen und Du (oder jemand anderes) importierst sie wieder. Da muss keiner vom Übersetzungsbüro Zugriff auf Contenido bekommen oder sich einarbeiten...

Um darauf wieder zurückzukommen:
Beim Import gibt es keine Fehlermeldung. Der Text bleibt aber deutsch.
Kannst Du mal einen Screenshot liefern, was nach dem Import der Übersetzung auf dem Reiter "Übersetzung" des Moduls erscheint?
Deshalb brauche ich zum angebotenen Übersetzungsexport in XML einen funktionierenden Übersetzungsimport für übersetzte XML-Dateien. Gibt es dazu eine einfache Anleitung Irgendwie sollte es ja funktionieren.
Ist drin und funzt, ehrlich.

Ach ja und auf V4.6.15 sollte man aktualisieren (auch wenn es Dein Problem zunächst nicht lösen wird).

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
siegparr
Beiträge: 18
Registriert: Do 7. Dez 2006, 17:12
Kontaktdaten:

Beitrag von siegparr »

Guten Morgen!

Danke für die Antwort, HerrB.

Habe heute morgen einen neuen Importversuch durchgeführt.

Es ging! :D

Leider gab es einen kleinen Nebeneffekt: Auch der Text im Deutschen ist jetzt Englisch ... :(

Mache noch weitere Versuche. Werde auch mal ins Errorlog sehen. Später mehr dazu.
Die können sie übersetzen und Du (oder jemand anderes) importierst sie wieder. Da muss keiner vom Übersetzungsbüro Zugriff auf Contenido bekommen oder sich einarbeiten...
Ne, schon klar. War nur für den Fall, daß der Import nicht klappt. :) Mit dem Übersetzungsprozess an sich bin ich vertraut.

Nichts besonderes bei der Anzeige auf der Seite Übersetzung. Unter Ursprünglicher Modulstring sind die neuen englischen Texte aufgelistet, sollten wohl aber eher unter Übersetzung für englisch (2) stehen, oder? Weiß leider nicht, wie ich einen Screenshot ins Forum bringe, sorry.

Gibt es irgendwelche Voraussetzungen, z. B. bei der Contenido-Konfiguration oder so, die einen Übersetzungsimport evtl. verhindern könnten?

Ach ja, ob wir auf die Version 4.6.15 upgraden werden, weiß ich noch nicht; ist nicht meine Entscheidung. Habe es aber angeregt.

Danke jedenfalls für Deine Bemühungen einen relativen Contenido-Newbie einzuweisen. Ich weiß das zu schätzen.
Grüße und so
_________________________________________
Contenido 4.6.8
Apache/2 (Linux)
siegparr
Beiträge: 18
Registriert: Do 7. Dez 2006, 17:12
Kontaktdaten:

Beitrag von siegparr »

Jetzt geht es wieder nicht. :(

Anzeige refresht, aber Anzeige wie vor dem Import, lediglich der Dateiname mit Pfad neben dem Browse-Button ist gelöscht.

:? :?
Grüße und so
_________________________________________
Contenido 4.6.8
Apache/2 (Linux)
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Unter Ursprünglicher Modulstring sind die neuen englischen Texte aufgelistet
Bist Du Dir sicher, dass Du die XML-Datei auf dem Übersetzungs-Reiter importierst und nicht auf der Code-Seite?

Es ist unmöglich, dass unter ursprünglicher Modulstring nun englische Texte erscheinen, wenn sich der Modul-Code nicht geändert hat...

Einen Screenhot erstellt man, speichert ihn als .jpg auf einem Webserver und bindet beim Schreiben eines Beitrags über die Schaltfläche URL oder Img den Pfad zum Bild ein...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
siegparr
Beiträge: 18
Registriert: Do 7. Dez 2006, 17:12
Kontaktdaten:

Beitrag von siegparr »

Hallo!

Danke HerrB!

Jetzt wird ein Teil der Texte (zwei von sieben) wiederholbar übersetzt. :) Der Fehler lag im XML:

Code: Alles auswählen

</translation/>
ist eben inkorrekt; es muß

Code: Alles auswählen

</translation>
sein.
Fehler entdeckt, als ich die XML-Datei mit dem Browser öffnen wollte. Als Kontrolle ist es also zu empfehlen, die XML-Datei vor dem Import zu parsen, weil Contenido anscheinend keine Fehlermeldung ausgibt, wenn das XML inkorrekt ist.
Das XML wird jetzt bei mir korrekt geparst.
Bist Du Dir sicher, dass Du die XML-Datei auf dem Übersetzungs-Reiter importierst und nicht auf der Code-Seite?
Für Freitag lege ich dafür keine Hand ins Feuer, für heute bin ich mir aber sicher den Import nur auf der Übersetzungsseite getätigt zu haben.

Warum die meisten Texte aber noch nicht übersetzt werden, ist mir nach wie vor ein Rätsel. Ich arbeite aber weiter dran ... und melde mich wieder.

Danke auf jeden Fall für Euer Bemühen!
Grüße und so
_________________________________________
Contenido 4.6.8
Apache/2 (Linux)
siegparr
Beiträge: 18
Registriert: Do 7. Dez 2006, 17:12
Kontaktdaten:

Beitrag von siegparr »

Hallo,

bin wieder etwas weiter gekommen, deshalb ein Update.

Es fehlten ja noch fünf von sieben Übersetzungstexten. Inzwischen werden fünf von sieben Übersetzungstexten wiederholbar übersetzt; es fehlen also nur mehr zwei. :)

Fehlerursache: Die Übersetzungstexte in der XML-Datei haben, nach mehrmaligem hin- und herübersetzen nicht mehr mit dem Original übereingestimmt. Das müssen sie natürlich, ist wohl logisch, sonst findet der Importmechanismus die zu übersetzenden Texte in der PHP-Datei nicht (mehr).

Es bleiben nun trotzdem zwei Übersetzungstexte übrig, die der Übersetzungsimport noch nicht übersetzt. Auffallend ist, daß beide Texte Umlaute im Original enthalten.

Da beim Übersetzungsexport eine XML-Datei mit dem Encoding ISO-8859-1 erzeugt wird, müßte es eigentlich auch richtig wieder importiert werden, da dieser Zeichensatz die deutschen Umlaute und das ß enthält. Es ist eine Frage, was der Übersetzungsimport erwartet bzw. in welchem Encoding die PHP-Originaldatei abgelegt wird. Würde die XML-Datei ein anderes Encoding aufweisen als die PHP-Datei (Original) würde ein String-Vergleich wahrscheinlich nicht das richtige finden, oder?
Wurde das jemals getestet oder ist man davon ausgegangen, daß der Originaltext immer Englisch ist (also keine Umlaute usw. enthält)?

Aber vielleicht habe ich selbst noch einen Fehler ... ?! Ich probiere jedenfalls mal weiter ...
Grüße und so
_________________________________________
Contenido 4.6.8
Apache/2 (Linux)
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Wurde das jemals getestet oder ist man davon ausgegangen, daß der Originaltext immer Englisch ist (also keine Umlaute usw. enthält)?
Nein und Yep. Hatte ich ja oben schon erwähnt, dass der Import über die Umlaute stolpern dürfte.

Es kann sein, dass die eine Spalte in der DB codiert wird und die andere nicht. Aber das ist jetzt mehr raten...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Gesperrt