Mam pytanie, dlaczego klasa google translate zwarca mi ca³y czas 'false'? Próbowa³em zmieniæ kod ca³ego forum na angielski.
Klasa (zaznaczy³em miejsce gdzie skrypt pada):
class GoogleTranslate { public $langIn = 'pl'; public $langOut = 'en'; private $cacheDir = 'gt_cache/'; //languages available on GoogleTranslate on 30.05.2009 "pl" => "Polski", "en" => "English", "ar" => "اÙ?رØ?ب٩Ø?", "bg" => "Ð?Ñ©Ð?гаÑ?Ñ?ки", "ca" => "Català ", "cs" => "ĦeÅ·tina", "da" => "Dansk", "de" => "Deutsch", "el" => "Î?Î?Î?Î?νακÎ?", "es" => "EspaÃ?ol", "et" => "Eesti", "fi" => "Suomi", "fr" => "Français", "gl" => "Galego", "hi" => "ऱिन࡫à¤?à¡?", "hr" => "Hrvatski", "hu" => "Magyar", "id" => "Bahasa Indonesia", "it" => "Italiano", "iw" => "×¢×?ר×?ת", "ja" => "æ?¡æ¶?誾", "ko" => "í?¶ê?ì?´", "lt" => "Lietuvių", "lv" => "LatvieÅ·u", "mt" => "Malti", "nl" => "Nederlands", "no" => "Norsk", "pt" => "Português", "ro" => "Români", "ru" => "Ð Ñ?Ñ?Ñ?киб", "sk" => "Slovenský", "sl" => "Slovenski", "sq" => "Shqipe", "sr" => "зÑ?пÑ?ки", "sv" => "Svenska", "th" => "à±?à¸?ย", "tl" => "Philippine Wika", "tr" => "TÃ¥rkçe", "uk" => "УкÑ?аÑ?нÑ?Ѧка", "vi" => "Tiếng Viát",
"zh-CN" => "ç±?ä½?å?", //chinese simplified "zh-TW" => "ç±?éå?" //chinese
); //TODO: translate these "sq" => "albaÅ?ski", "en" => "angielski", "ar" => "arabski", "bg" => "buÅ?garski", "zh-CN" => "chiÅ?ski", "hr" => "chorwacki", "cs" => "czeski", "da" => "duÅ?ski", "et" => "estoÅ?ski", "tl" => "filipiÅ?ski", "fi" => "fiÅ?ski", "fr" => "francuski", "gl" => "galicyjski", "el" => "grecki", "iw" => "hebrajski", "hi" => "hindi", "es" => "hiszpaÅ?ski", "nl" => "holenderski", "id" => "indonezyjski", "ja" => "japoÅ?ski", "ca" => "kataloÅ?ski", "ko" => "koreaÅ?ski", "lt" => "litewski", "lv" => "Å?otewski", "mt" => "maltaÅ?ski", "de" => "niemiecki", "no" => "norweski", "pl" => "polski", "pt" => "portugalski", "ru" => "rosyjski", "ro" => "rumuÅ?ski", "sr" => "serbski", "sk" => "sÅ?owacki", "sl" => "sÅ?oweÅ?ski", "sv" => "szwedzki", "th" => "tajski", "tr" => "turecki", "uk" => "ukraiÅ?ski", "hu" => "wÄ?gierski", "vi" => "wietnamski", "it" => "wÅ?oski" ); public function browserLang() { } public function codeToLang($code, $input = true) { if ($input) return $this->inLangs[$code]; else return $this->outLangs[$code]; } public function langToCode($lang, $input = true) { } private function loadCache() { { $cacheFile = $this->cacheDir . $this->langIn . '_' . $this->langOut . '.gtc'; { $this->cache[$this->langIn][$this->langOut] = $data; } else { } } } private function saveCache() { $cacheFile = $this->cacheDir . $this->langIn . '_' . $this->langOut . '.gtc'; file_put_contents($cacheFile, $data); } private function getCached($text) { $this->loadCache(); { return $this->cache[$this->langIn][$this->langOut][$text]; } return false; } public function translate($text) { if ($this->langIn == $this->langOut) return $text; if ($res = $this->getCached($text)) { return $res; } $url = 'http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=' . '&langpair=' . $this->langIn . '%7C' . $this->langOut; $j = json_decode($json_data); { $t = $j->responseData->translatedText; $this->cache[$this->langIn][$this->langOut][$text] = $t; return $t; } else return false; // <----- W tym miejscu skrypt pada } public function __destruct() { $this->saveCache(); } } // Simple JSON decoder // in case json_decode is not available.. if ( !function_exists('json_decode') ) { function json_decode($json) { $comment = false; $out = '$x='; for ($i=0; $i<strlen($json); $i++) { if (!$comment) { if ($json[$i] == '{') $out .= ' array('; else if ($json[$i] == '}') $out .= ')'; else if ($json[$i] == ':') $out .= '=>'; else $out .= $json[$i]; } else $out .= $json[$i]; if ($json[$i] == '"') $comment = !$comment; } return $x; } }
Odwo³uje siê:
$t = new GoogleTranslate; //set input and output language: $t->inLang = 'en'; $t->outLang = 'de'; //translate