<?php include_once '../init.php'; include_once LIB_ROOT . 'third/GTranslate/GTranslate.php'; error_reporting(E_ALL); ini_set('display_error', 1); /** * Example using RequestHTTP */ $translate_string = "在這不自然的世界上,你應得躲避她像你躲避青草裡一條美麗的花蛇!"; try { $gt = new Gtranslate(); $gt->setApiKey("ABQIAAAAqSHtOYfZQAu5HgvVgxccORQFkJYm3b4tkuBKzPIo19dX7oqslBRx_e7WnsquFW-YWXmMt_DSzyJnmw"); echo "[HTTP] Translating [{$translate_string}] German to English => " . $gt->CHINESE_TRADITIONAL_to_english($translate_string) . "\n"; /** * Lets switch the request type to CURL */ $gt->setRequestType('curl'); echo "[CURL] Translating [{$translate_string}] German to English => " . $gt->CHINESE_TRADITIONAL_to_CHINESE_SIMPLIFIED($translate_string) . "\n"; $translate_string = 'hello'; echo "[CURL] Translating [{$translate_string}] English to German=> " . $gt->english_to_german($translate_string) . "\n"; echo "[CURL] Translating [{$translate_string}] English to Portuguese=> " . $gt->english_to_portuguese($translate_string) . "\n"; echo "[CURL] Translating [{$translate_string}] English to Italian=> " . $gt->english_to_CHINESE_SIMPLIFIED($translate_string) . "\n"; } catch (GTranslateException $ge) { echo $ge->getMessage(); }
function gtranslate_text_translate($text, $lang_from = 'en', $lang_to = 'ru') { global $gt, $l_func, $settings, $seftranslate_error; //DBQuery $database =& JFactory::getDBO(); $ret_value = $text; if (isset($GLOBALS['gt'])) { try { $ret_value = $gt->{$l_func}($text); $ret_value = html_entity_decode($ret_value[0]->translatedText, ENT_NOQUOTES, 'UTF-8'); } catch (Exception $e) { if ($settings['debug']) { throw $e; exit; } else { $seftranslate_error = true; return $ret_value; } } } else { $gt = new Gtranslate(); if (!empty($settings['api_google_translate_key'])) { //$gt->setApiKey('ABQIAAAARBki4JWk0Cwz-v6GlQ90wBRTxlZd-7gfuqQumodWhI9M82S_fRQ5OJFZp4v4oNXri4eZjoah2n4--w'); $gt->setApiKey($settings['api_google_translate_key']); } if ($settings['userip']) { $gt->setUserIp($_SERVER['REMOTE_ADDR']); } $gt->setRequestType('curl'); $gt->setApiVersion(2); $gt->setUrl('https://www.googleapis.com/language/translate/v2'); $lang_list = parse_ini_file(JPATH_SITE . '/components/com_seftranslate/languages.ini'); $lang_from2 = array_search($lang_from, $lang_list); $lang_to2 = array_search($lang_to, $lang_list); $l_func = $lang_from2 . "_to_" . $lang_to2; $GLOBALS['gt'] = $gt; $GLOBALS['l_func'] = $l_func; try { $ret_value = $gt->{$l_func}($text); $ret_value = html_entity_decode($ret_value[0]->translatedText, ENT_NOQUOTES, 'UTF-8'); } catch (Exception $e) { if ($settings['debug']) { throw $e; exit; } else { $seftranslate_error = true; return $ret_value; } } } if (trim($ret_value) == "") { return $ret_value; } //save to database $efentity = new mosSefentity($database); $efentity->hash = md5($text); $efentity->entity_text = $ret_value; $efentity->lang_from = $lang_from; $efentity->lang_to = $lang_to; $efentity->hits = 1; $efentity->date = date("Y-m-d H:i:s"); $efentity->checkin(); $efentity->store(); return $ret_value; }