Mit der folgenden Funktion kann man Wörter und Texte, mit PHP und der Hilfe der Google Translator API, von einer Sprache in eine andere Sprache übersetzen.
<?php
/**
* Translate text
* @param string $strText The text to be translated
* @param string $strSource Source language code ('de', 'en' etc.)
* @param string $strDestination Destination language code ('de', 'en' etc.)
* @return string
*/
function translateFromGoogle($strText, $strSource, $strDestination) {
$strAPIUrl = 'http://ajax.googleapis.com/ajax/services/language/translate';
$strAPIUrl.= '?v=1.0&q='.urlencode($strText).'&langpair='.urlencode($strSource.'|'.$strDestination);
$objCurl = curl_init();
curl_setopt($objCurl, CURLOPT_URL, $strAPIUrl);
curl_setopt($objCurl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($objCurl, CURLOPT_REFERER, "http://appfield.homedns.org");
$arrJSON = json_decode(curl_exec($objCurl), true);
curl_close($objCurl);
return (isset($arrJSON['responseData']['translatedText'])) ? $arrJSON['responseData']['translatedText'] : null;
}
echo translateFromGoogle('Hallo, meine Name ist Frank', 'de', 'en');
?>
Leider scheint diese Funktion nicht mehr zu funktionieren.
Kann es sein, dass sich irgendwas entscheidendes geändert hat?
Ja, Google bietet das leider so nicht mehr an. Aber Bing schon. Werde dazu noch einen Beitrag verfassen.
Beispiel funktioniert so nicht: Fatal error: Call to undefined function curl_init()
Dann muss CURL in der php.ini aktiviert bzw. installiert werden.
Google bietet die Übersetzungsfunktion nicht mehr kostenlos an, aber man kann sie bezahlen 🙂
mehr hier http://blog.bi3.biz/node/20