Mehrsprachiges Projekt

ThiKool

Erfahrenes Mitglied
Hallo,

mein neues Projekt soll mehrsprachig ausgelegt werden.

Grundsäztlich habe ich schon alles konzepiert, also je eine PHP Datei pro Sprache und dann die einzelnen Sätze oder Wörter in Arrays oder mit getter und setter arbeiten.

Da ich den Content nicht persönlich übersetzen werde, soll die Variable ziemlich leicht verständlich sein, daher eher ein Array z.B.:

$TEXT['de']['startseite']['begruessung'] = "Hallo lieber Besucher von meinerSeite.de";

soweit so gut, dass ist auch alles kein Problem oder seht ihr hierbei welche?

Jetzt stellt euch mal vor ich möchte Textformatierungen oder links einbauen, dass der Text z.B. so aussehen könnte:

echo "Hallo <b>lieber Besucher</b> von <a href='meineSeite.de'>meinerSeite.de</a>"

Wie sollte der Spracharray dann aussehen, denn ich möchte die Übersetzter ja nicht überfordern, da sie wohl kein HTML verstehen.

Was ich aber noch viel kritischer finde, ist das sich in anderen Sprachen ja der Satzbau und damit der zu verlinkende Teil vll woanders hin rutscht.

Wie würdet ihr sowas umsetzten, bin für jeden Tipp dankbar :)
 
Hi

also je eine PHP Datei pro Sprache
:eek: Warum denn? Naja, falls du so meinst das nur so ein Array in einer eigenen Datei ist und die in den Codedateien eingebunden wird, gut, aber bitte nicht den tatsächlichen Code duplizieren
echo "Hallo <b>lieber Besucher</b> von <a href='meineSeite.de'>meinerSeite.de</a>"
Wie sollte der Spracharray dann aussehen, denn ich möchte die Übersetzter ja nicht überfordern, da sie wohl kein HTML verstehen.
meineSeite.de abgetrennt in ein eigenes Arrayelement, und "Hallo" und "lieber Besucher" auch... Dass die zwei Textteile im Text zusammengehören evt. als Kommentar dazu, oder vom Übersetzer zumindest erwarten dass er sich seine Übersetzungsarbeit dann auf der echten Seite noch einmal durchliest.

Was ich aber noch viel kritischer finde, ist das sich in anderen Sprachen ja der Satzbau und damit der zu verlinkende Teil vll woanders hin rutscht.
Verrutschen sollte mit passendem CSS eigentlich nicht passieren.

Dass Text zu lang zum ordendlichen Anzeigen ist kann sein, auch deswegen sollte man eine Übersetzung möglichst nich prüfen (ist zumindest einfacher wie für jeden Satz im Voraus Maximallängen zu berechnen).

Beim Satzaufbau von fixem Text ohne Variableneinsetzungen oder Formatierungsbereiche mitten drin seh ich kein Problem, für die Fälle mit dem Zeug kann man Platzhalter (zB. $1, $2...) in den Übersetzungstext einbauen
 
Ok vielen Dank,

der Satz war vielleicht schlecht gewählt. Ich dachte jetzt nicht an Verrutschen vom Style sondern eher wenn sich der Satzbau ändert also z.B. bei

$TEXT['de']['startseite']['text1'] ="<a href=''>Hier</a> klicken um fortzufahren ";
$TEXT['en']['startseite']['text1'] ="Click <a href=''>here</a> to continue ";

Das stelle ich mir dann ziemlich unübersichtlich vor für den Übersetzer wenn das alles in einzelene Array-Elemente gegliedert ist.

müsste ja dann ungefähr so aussehen:

$TEXT['de']['startseite']['text1']['element1'] ="<a href=''>Hier</a>";
$TEXT['de']['startseite']['text1']['element2'] ="klicken";
$TEXT['de']['startseite']['text1']['element3'] ="um fortzufahren";

$TEXT['en']['startseite']['text1']['element1'] ="Click";
$TEXT['en']['startseite']['text1']['element2'] ="<a href=''>here</a>";
$TEXT['en']['startseite']['text1']['element3'] ="to continue";

Ich kann mir vorstellen das Click dann nicht in Element 1 sondern in Element 2 landet, weisst du wie ich meine?

Gibts da keine Elegantere Möglichkeit?
 
Sorry ich verstehe nicht ganz, also doch lieber so:

$TEXT['de']['startseite']['text1'] ="%sHier%s klicken um fortzufahren ";
$TEXT['en']['startseite']['text1'] ="Click % shere%s to continue ";
 

Neue Beiträge

Zurück