Website Translator
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:
[code lang="php"]
$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');
}[/code] - Folgender Code ist für die Darstellung der Länderflaggen verantwortlich und sollte an geeigneter Stelle in der Website eingebunden werden
[code lang="php"]
include($_SERVER['DOCUMENT_ROOT'] . "/translate/flags.php");
[/code] - Fertig
Die benötigte Zip-Datei kann hier runtergeladen werden.
… Und fertig ist die Laube
Januar 8th, 2008 at 11:08
Kann man sich das ganze schon irgendwo im Einsatz angucken ??
Januar 12th, 2008 at 13:46
Hallo Peer,
Momentan ist der Website Translator noch nicht im Einsatz, werde aber an dieser Stelle einen Link setzen sobald die Multilingual-Seite fertig ist. Ein paar kleine Bugs sind mir an dem Script noch aufgefallen, die werden dann auch gefixt sein.
Viele Grüße, Patrice
Januar 26th, 2008 at 18:58
Eine erste Version des Website Translator ist nun im Einsatz.
Zu finden auf diesem IPhone Unlock Service Blog
Februar 2nd, 2008 at 11:49
Hallo Herr Juergens,
ich würde gern Ihren Translator nutzen.
Wie funktioniert der genau? Ich hatte nachdem ich alles soweit eingerichtet hatte die Meldung, dass Ihre Seite nicht verfügbar ist. MUSS die Verbindung bestehen? Vielleicht habe ich auch die Anpassung der config.php nicht richtig gemacht. Vielleicht könnten Sie mich bei der Einrichtung unterstützen?
Gruß Chris.
Februar 2nd, 2008 at 12:20
Ich denke, es liegt an den define(…) Eintragungen. Da weiß ich nicht, ob und wie ich da etwas andern muss (bis auf die Datenbankeinträge, die sind klar).
Das müsste doch hinzukriegen sein? Ich schicke Ihnen auch gern eine URL, damit sie sich das “vor Ort” ansehen können. Die Flags werden schon mal angezeigt.
Februar 2nd, 2008 at 12:22
Diese Meldung erhalte ich z.B., wenn ich auf die portugiesische Flagge klicke:
pt.software-solutions-juergens.com/details.php
Februar 2nd, 2008 at 19:24
Soeben habe ich eine neue Version vom Website Translator hoch geladen.
Die neue Version beinhaltet ein Bugfix, welches einen kleinen Zeilendreher und einen falschen Wert für den Datenbanknamen korrigiert.
@Chris
Das Script benötigt zwar eine Internetverbindung um den Google-Server zu requesten, allerdings wird keine Verbindung zu einem Server von mir aufgebaut.
(Nur für den Fall daß Du mit einer Offline-Umgebung, z.B. XAMPP arbeitest)
Aus Deinem Link ersehe ich, daß Du die entsprechende Zeile in der conf.php nicht angepasst hast. Um einen Anhaltspunkt zu bieten, habe ich in den entsprechenden Feldern das Beispiel “software-solutions-juergens.com” belassen, um zu verdeutlichen, was eingetragen werden muss.
Ps. Vielen Dank für den Hinweis auf den Bug
Mai 13th, 2010 at 18:34
Kann nur Peers Frage wiederholen:
Kann man sich das ganze schon irgendwo im Einsatz angucken ??
Der IPhone Unlock Service Blog scheint ja nicht mehr online zu sein.
Mai 14th, 2010 at 16:10
Hi loco,
Bisher ist mir von einer weiteren Verwendung auf www.birdgallery.eu bekannt.
Chris hat den Translator hier auf die Software “images4u” gepflanzt.
August 16th, 2010 at 22:26
Ok this is super !!!
August 29th, 2010 at 23:43
Hi,
hat eventuell noch jemand ein Beispiel für eine WordPress Umsetzung?
Lg