Translator
Modified:
Vor einiger Zeit habe ich hier im Blog ein paar Übersetzungs-Plugins für WordPress ausprobiert und mich dadurch zu einer Eigenentwicklung inspirieren lassen. Als Übersetzungs-Service wählte ich den Google-Translator, da das Ergebnis etwas überzeugender ausfiel als das von Babelfish. Allerdings ist die Qualität der Übersetzung auch hier bei weitem nicht perfekt.
Folgende Merkmale hat der Website-Translator:
- Einfache Konfiguration über die Datei “conf.php”
- Cache-Expiration lässt sich individuell einstellen
- Es werden nur die Länderflaggen ausgegeben, die Google basierend auf der eingestellten Standard Domainsprache übersetzen kann
- Übersetzte Seiten werden in länderspezifischen Subdomains ausgegeben
Den Website-Translator habe ich nicht als WordPress-Plugin geschrieben, da er sich so einfach in jede bestehende PHP-Website integrieren lässt und nicht allein auf WordPress beschränkt ist.
Zum erfolgreichen Betrieb benötigt der Webserver folgende Voraussetzungen:
Die nun folgende Installations-Beschreibung bezieht sich auf WordPress.
- Die Datei “website-translator.zip” entpacken
- Das enthaltene Verzeichnis “translator” auf den Server hochladen
- In der Datei “conf.php” die erforderlichen Einstellungen vornehmen
- Über PHPmyAdmin eine neue Tabelle anlegen und die Datei “mysql_setup_translator.sql” in die mySQL Datenbank importieren
- Die Datei “index.php” ( nicht die “index.php” vom Translator ! ) im Document-Root foldendermaßen anpassen:
$host_arr = explode(".", $_SERVER['HTTP_HOST']); $languages = array('it', 'ko', 'zh', 'zt', 'pt', 'en', 'el', 'nl', 'de', 'fr', 'es', 'ja', 'ru', 'zh-CN', 'ar'); if(in_array($host_arr[0], $languages)){ // Hier wird die Website übersetzt include($_SERVER['DOCUMENT_ROOT'] . "/translate/index.php"); } else{ // Hier im Else-Block sollte der schon vorhandene Code der "index.php" in der Standardsprache stehen /* Short and sweet */ define('WP_USE_THEMES', true); require('./wp-blog-header.php'); } - Folgender Code ist für die Darstellung der Länderflaggen verantwortlich und sollte an geeigneter Stelle in der Website eingebunden werden
include($_SERVER['DOCUMENT_ROOT'] . "/translate/flags.php");
- Fertig
Die benötigte Zip-Datei kann hier runtergeladen werden.
… Und fertig ist die Laube
