I created a PHP class for an open source project:
---// source code of google_translate.php //----
<?php
class google_translate{
public $original_language;
public $translate;
public $domain;
function __construct ($original_language, $translate, $domain){
$this->original_language = $original_language;
$this->translate = $translate;
$this->domain = $domain;
}
function translate(){
$url = "http://translate.googleusercontent.com/translate_c?act=url&depth=1&hl=" . $this->original_language;
$url .= "&ie=UTF8&prev=_t&rurl=translate.google.com&sl=" . $this->original_language;
$url .= "&tl=". $this->translate;
$url .= "&u=" . $this->domain;
echo "<script language=\"javascript\">document.location=\"$url\"</script>";
}
}
?>
---// source code of google_translate.php //----
This script works in combination with another script, named translate.php.
---// source code of translate.php //----
<?php
include_once("include/google_translate.php");
?>
<form method="post">
<table width="640" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="images/language/choose_your_language.jpg" width="640" height="360" /></td>
</tr>
<tr>
<td valign="top" align="left">
<select name="language">
<?php echo $default_language; ?>
<option value="ar">Arabic</option>
<option value="be">Belarusian</option>
<option value="bn">Bengali</option>
<option value="bs">Bosnian</option>
<option value="bg">Bulgarian</option>
<option value="ca">Catalan</option>
<option value="zh-CN">Chinese (China)</option>
<option value="zh-TW">Chinese (Taiwan)</option>
<option value="hr">Croatian</option>
<option value="cs">Czech</option>
<option value="da">Danish</option>
<option value="nl">Dutch</option>
<option value="en">English</option>
<option value="fil">Filipino</option>
<option value="fi">Finnish</option>
<option value="fr">French</option>
<option value="de">German</option>
<option value="el">Greek</option>
<option value="gu">Gujarati</option>
<option value="he">Hebrew</option>
<option value="hi">Hindi</option>
<option value="hu">Hungarian</option>
<option value="id">Indonesian</option>
<option value="it">Italian</option>
<option value="ja">Japanese</option>
<option value="kn">Kannada</option>
<option value="ko">Korean</option>
<option value="lv">Latvian</option>
<option value="lt">Lithuanian</option>
<option value="mr">Marathi</option>
<option value="no">Norwegian</option>
<option value="fa">Persian</option>
<option value="pl">Polish</option>
<option value="pt-BR">Portuguese (Brazil)</option>
<option value="pt-PT">Portuguese (Portugal)</option>
<option value="ro">Romanian</option>
<option value="ru">Russian</option>
<option value="sr">Serbian</option>
<option value="sk">Slovak</option>
<option value="sl">Slovenian</option>
<option value="es">Spanish</option>
<option value="sv">Swedish</option>
<option value="sw">Swahili</option>
<option value="ta">Tamil</option>
<option value="te">Telugu</option>
<option value="th">Thai</option>
<option value="tr">Turkish</option>
<option value="uk">Ukrainian</option>
<option value="vi">Vietnamese</option>
</select>
</td>
</tr>
<tr>
<td valign="top" align="left">
<input name="submit" type="submit" value="Translate" /></td>
</tr>
</table>
</form>
---// source code of translate.php //----
And below you see an example of the code how it's used in Horizon QCMS:
---// how to use the code //----
<?php
include_once('translate.php');
# Google translator
# script generated with Horizon QCMS 4
if(isset($_POST['submit'])){
$language='en';
$translate = new google_translate('en', $_POST['language'], 'http://www.hnqcms.com/wiki/');
$translate->translate();
}
---// how to use the code //----
A working example can be found here:
http://www.hnqcms.com/wiki/index-page-28-category-28.html
P.s. You can of course adjust the script a bit so that the user doesn't have to click on the "submit" button.