Die Firmas “Instinct” aus Neuseeland bietet ein umfangreiches e-Commerce plugin für WordPress an (light version ist free). Leider ist die deutsche Übersetzung derzeit nicht ganz aktuell. Nach der Installation fallen viele Bereiche auf, die nicht eingedeutscht sind. Dort erscheint dann der Konstantenwert in der Form TXT_WPSC_CATEGORY. Abhilfe schafft das beiliegende Script, mit dem man die fehlenden Zeilen in PHP-fertiger Form geliefert bekommt und nur noch übersetzen braucht. Zumindest die Konstantentexte verschwinden damit.
Das Script ist ist unter der GNU Public License frei verfügbar und kann hier heruntergeladen werden: wpsc_lang_diff (Zip, ~5k).
Vorgehensweise:
- Zip-Datei herunterladen und entpacken
- Die PHP-Datei (wpsc_lang_diff.php) in ein eigenes Verzeichnis legen
- Unterverzeichnis “languages” anlegen
- Die Sprachdateien dort hineinkopieren (Bakup von den Originalen empfohlen). Die Sprachdateien befinden sich im Ordner /wp-content/plugins/wp-shopping-cart/languages/ . Um die deutsche Sprachdatei zu vervollständigen wird also die Datei EN_en.php und DE_de.php benötigt.
- Mysql-Datenbank anlegen
- Konfigurationsteil im Script anpassen (DB-Zugang)
- Script aufrufen mit: wpsc_lang_diff.php?lang=DE_de
- Quelltextansicht aufrufen (view page source)
- Ausgabe markieren und per copy & paste in die deutsche Sprachdatei einfügen
- Kopierte Zeilen übersetzen
Wer mehrere Sprachen übersetzen möchte, der kann den reload der englischen Sprachdatei mit dem Parameter &skip_master=1 verhindern und spart etwas Zeit. Wer die Vermutung hat, dass die zweite Sprache mehr Felder enthält als die Originalsprache English, der kann einen weiteren Parameter verwenden: &default_lang=<Sprachdatei-ohne-php-endung>. Beispiel für Deutsch als Master und Englisch als zweite Sprache: wpsc_lang_diff.php?default_lang=DE_de&lang=EN_en
Natürlich hätte man die Shell bemühen können oder Python und co. Und ganz sicher ist der Einsatz der Datenbank nicht notwendig, aber nützlich. Da die Sprachen in der DB bleiben und man via phpmyadmin noch weitere Auswerutungen etc. vornehmen kann.