Der oben angegebene Code (!)MUSS(!) vor der Benutzung der Funktionen
[Only registered and activated users can see links. Click Here To Register...] sowie deren Alias
[Only registered and activated users can see links. Click Here To Register...] und
[Only registered and activated users can see links. Click Here To Register...] ausgeführt werden, dass heißt also am besten an den Start der PHP Applikation.
PHP Code:
<?php
$lang = 'de_DE';
putenv("LC_ALL={$lang}");
setlocale(LC_ALL, $lang);
// Angeben des Pfads der Übersetzungstabellen
bindtextdomain("test", "./locale");
textdomain("test");
?>
- Ordner Locale erstellen
- Unterordner de_DE für die Sprache de_DE erstellen
- Unterordner LC_MESSAGES erstellen
Das heißt die Ordnerstruktur sieht nun folgendermaßen aus:
Beispiel für Ordnerstruktur bei mehreren Sprachen
Weiter gehts!
- Poedit starten
- Datei
- Neuer Katalog...
[Only registered and activated users can see links. Click Here To Register...]
| Name | Beschreibung | Beispiel |
|---|
| Projektname und -version: | Name der Domain, Version wird nicht benötigt | Test |
| Übersetzerteam | Name des Übersetzerteams | |
| E-Mail-Adresse des Übersetzerteams | E-Mail des Übersetzerteams | |
| Sprache | Die Sprache der .po Datei | German |
| Zeichensatz | Zeichensatz der .po Datei, ich empfehle UTF-8 | UTF-8 |
| Zeichensatz des Quellcodes | Der Zeichensatz deiner PHP Dateien, ich empfehle UTF-8 | UTF-8 |
| Pluralformen | Manche Sprachen haben mehrere Pluralformen, aber bei den meisten reicht das Beispiel welches das Singular nur für die Zahl 1 definiert | nplurals=2; plural=n == 1 ? 0 : 1; |
So jetzt oben im Reiter auf Quell-Pfade klicken. Poedit durchsucht automatisch deinen Sourcecode nach Funktionen welche beim Reiter Schlüsselwörter aus Quelltexten definiert werden - dazu aber später mehr. Die Parameter der definierten Funktionen werden ausgewertet und der Text wird in den Katalog zur Übersetzung freigegeben.
[Only registered and activated users can see links. Click Here To Register...]
Standardpfad relativ zum Pfad des Katalogs (.po Datei)
Pfade zum Sourcecode in welchem die Funktionen
[Only registered and activated users can see links. Click Here To Register...],
[Only registered and activated users can see links. Click Here To Register...],
[Only registered and activated users can see links. Click Here To Register...], usw... benutzt werden.
[Only registered and activated users can see links. Click Here To Register...]
Diese Schlüsselwörter (Funktionsnamen) benutzen, um übersetzbare Zeichenketten in Quelldateien zu erkennen.
Ich habe hier
[Only registered and activated users can see links. Click Here To Register...],
[Only registered and activated users can see links. Click Here To Register...],
[Only registered and activated users can see links. Click Here To Register...] definiert.
So jetzt nur noch auf OK klicken und der Katalog wurde erstellt.
Jetzt sollte man das automatische Erstellen der .mo Datei in den Einstellungen von Poedit aktivieren [Spoiler, siehe Unten].
Hat man das getan, kann man dem Katalog die zu übersetzenden Texte aus dem Sourcecode zuweisen.
- Oben im Menü auf Katalog
- Aus Quelltexten aktualisieren
Jetzt sollte sich ein neues Fenster öffnen
[Only registered and activated users can see links. Click Here To Register...]
Mit OK bestätigen und die Texte werden dem Katalog hinzugefügt.
[Only registered and activated users can see links. Click Here To Register...]
Jetzt kann man mit dem Übersetzen beginnen.
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
Die ersten beide Bilder zeigen die Übersetzung von Singular und Plural.
Dabei ist zu beachten die Parameter in der Anzahl genau so oft zu verwenden wie im Quelltext, falls das nicht zutrifft wird man von Poedit darauf hingewiesen und es wird (!)NICHTS(!) gespeichert.
Das dritte Bild ist eine ganz normale Textübersetzung.
Ist man nun mit dem Übersetzen fertig oder hat nach einer gewissen Zeit keine Lust mehr klickt man oben in der Toolbar auf speichern.
Das Ergebnis meiner test.php
Sourcecode
PHP Code:
<?php
header('Content-type: text/html; charset=UTF-8');
$lang = 'de_DE';
putenv("LC_ALL={$lang}");
setlocale(LC_ALL, $lang);
bindtextdomain("test", "./locale");
textdomain("test");
echo gettext("Welcome to my PHP-Application");
echo "<br />";
echo _("Welcome to my PHP-Application");
echo "<br />";
$anzahl = 100;
echo sprintf(ngettext("%d Item", "%d Items", $anzahl), $anzahl);
echo "<br />";
$anzahl = 1;
echo sprintf(ngettext("%d Item", "%d Items", $anzahl), $anzahl);
echo "<br />";
$anzahl = 0;
echo sprintf(ngettext("%d Item", "%d Items", $anzahl), $anzahl);
echo "<br />";
?>
Ausgabe
Quote:
Willkommen zu meiner PHP-Applikation
Willkommen zu meiner PHP-Applikation
100 Gegenstände
1 Gegenstand
0 Gegenstände
|