public function postTranslate($trslen = null, $trslin = 'en', $trslout = 'ru') { $lang = $trslin . '-' . $trslout; $translate = new Translator($this->yandexKey); $translation = $translate->translate($trslen, $lang); $source['translation'] = $translation; $source['source'] = $translation->getSource(); return $source; }
/** * @param string $sourceString * @param string $translateDirection * @param bool $html * @param int $options * * @return Translation * * @throws FailedTranslationException */ public function translate($sourceString, $translateDirection, $html = false, $options = 0) { try { $translation = $this->translator->translate($sourceString, $translateDirection, $html, $options); return $translation; } catch (Exception $e) { throw new FailedTranslationException($sourceString, $translateDirection); } }
protected function _translateByApi() { try { /** @var Yandex\Translate\Translator $translator */ $translator = new Translator(Xxx_YandexTranslate_Helper_Data::YANDEX_TRANSLATE_API_KEY); /** @var Yandex\Translate\Translation $translation */ $translation = $translator->translate($this->getString(), $this->getLanguage()); $this->setTranslated($translation->__toString())->save(); } catch (Exception $e) { Mage::logException($e); // fallback $this->setTranslated($this->getString()); } }
public static function generateTranslation($phrase, $thisLang) { if ($phrase && $thisLang) { $checkPresentPhrase = self::where("phrase", "like", $phrase)->first(); if (!isset($checkPresentPhrase->id)) { $newPhrase = self::create(["phrase" => $phrase]); try { $langsDef = Config::get('translations::config.def_locale'); $langsAll = Config::get('translations::config.alt_langs'); foreach ($langsAll as $lang) { $lang = str_replace("ua", "uk", $lang); $langsDef = str_replace("ua", "uk", $langsDef); $translator = new Translator(Config::get('builder::translate_cms.api_yandex_key')); $translation = $translator->translate($phrase, $langsDef . '-' . $lang); $lang = str_replace("uk", "ua", $lang); if (isset($translation->getResult()[0])) { Translate::create(["id_translations_phrase" => $newPhrase->id, "lang" => $lang, "translate" => $translation->getResult()[0]]); } else { return "error.No get results"; } } } catch (Yandex\Translate\Exception $e) { return $e->getMessage(); // handle exception } self::reCacheTrans(); $arrayTranslate = Trans::fillCacheTrans(); if (isset($arrayTranslate[$phrase][$thisLang])) { $phraseReturn = $arrayTranslate[$phrase][$thisLang]; } else { $phraseReturn = "Ошибка перевода"; } return $phraseReturn; } else { $translatePhrase = Translate::where("id_translations_phrase", $checkPresentPhrase->id)->where("lang", "like", $thisLang)->first(); if (isset($translatePhrase->translate)) { return $translatePhrase->translate; } } } }
public function postTranslate(){ if(Input::has('text')){ $key = 'trnsl.1.1.20140602T141504Z.c89e08d35fd83139.2bf4e4b64549f6bab0223db6d66c0eed408825db'; $text = Input::get('text'); try { $translator = new Translator($key); $translation = $translator->translate($text, 'ru'); return View::make('tools.translate') ->with('translation', $translation) ->with('source', $translation->getSource()); } catch (Exception $e) { echo 'error'; return View::make('tools.translate') ->with('error', $e->getMessage()); } } else{ return Redirect::back()->with('error', 'Необходимо написать текст для перевода'); } }
public function chatInGameForKOS(Request $request) { $Username = $request->user()->displayName(); $Msg = $request->serverchatmsg; $Msg = htmlentities($Msg); if ($Msg == '' || empty($Msg)) { return; } if ($request->user()->muted) { return; } if ($request->user()->isAdmin()) { $explode = explode(" ", $Msg); // If server command then run it if ($explode[0] == "kosc") { array_forget($explode, ["0"]); $msg = implode(" ", $explode); $MsgFormated = env("ADMIN_COMMAND_SECRET") . " " . $Username . " " . $msg; } else { $explode = explode(" ", $Msg); // If server command then run it if ($explode[0] == "!translate" || $explode[0] == "!tr" || $explode[0] == "!t") { array_forget($explode, ["0"]); $Msg = implode(" ", $explode); try { $translator = new Translator(env('YANDEX_API_KEY')); $translation = $translator->translate($Msg, 'en'); $Msg = $translation; } catch (Exception $e) { $Msg = implode(" ", $explode); } } $userLvl = $request->user()->roles()->first()->display_name; if ($userLvl == "Super Administrator") { $userLvl = "[c=00ff00]<SuperAdmin>[\\c]"; } elseif ($userLvl == "Administrator") { $userLvl = "[c=00ff00]<Admin>[\\c]"; } else { $userLvl = "[c=ffa500]<{$userLvl}>[\\c]"; } $MsgFormated = "[c=ffff00][u][b]" . $Username . "[\\b][\\u][\\c] {$userLvl}: [c=FFFFFF]" . $Msg; } } else { $explode = explode(" ", $Msg); // If server command then run it if ($explode[0] == "!translate" || $explode[0] == "!tr" || $explode[0] == "!t") { array_forget($explode, ["0"]); $Msg = implode(" ", $explode); try { $translator = new Translator(env('YANDEX_API_KEY')); $translation = $translator->translate($Msg, 'en'); $Msg = $translation; } catch (Exception $e) { $Msg = implode(" ", $explode); } } $userLvl = $request->user()->roles()->first()->display_name; if ($userLvl == "Super Administrator") { $userLvl = "[c=00ff00]<SuperAdmin>[\\c]"; } elseif ($userLvl == "Administrator") { $userLvl = "[c=00ff00]<Admin>[\\c]"; } else { $userLvl = "[c=ffa500]<{$userLvl}>[\\c]"; } $MsgFormated = "[c=ffff00][u][b]" . $Username . "[\\b][\\u][\\c] {$userLvl}: [c=FFFFFF]" . $Msg; } $txtip = "127.0.0.1"; $txtportnum = "10485"; $sock = fsockopen("udp://" . $txtip, $txtportnum, $errno, $errstr, 2); if (!$sock) { echo "{$errstr} ({$errno})<br/>\n"; exit; } $MsgFormated = htmlspecialchars_decode(html_entity_decode($MsgFormated)); fputs($sock, $MsgFormated); $gotfinal = False; $data = ""; socket_set_timeout($sock, 0, 1000); fclose($sock); exit; }
public function doTranslate() { try { $lang = Input::get("lang"); $phrase = Input::get("phrase"); $langs_def = Config::get('builder::translate_cms.lang_default'); if ($lang == $langs_def) { $arr_res = array("lang" => $lang, "text" => $phrase); return json_encode($arr_res); } $lang = str_replace("ua", "uk", $lang); $langs_def = str_replace("ua", "uk", $langs_def); $translator = new Translator(Config::get('builder::translate_cms.api_yandex_key')); $translation = $translator->translate($phrase, $langs_def . '-' . $lang); $lang = str_replace("uk", "ua", $lang); if (isset($translation->getResult()[0])) { $arr_res = array("lang" => $lang, "text" => $translation->getResult()[0]); return json_encode($arr_res); } else { return "error.No get results"; } } catch (Yandex\Translate\Exception $e) { return $e->getMessage(); // handle exception } }
/** * Translate from one langage to other via google translate api * @param Request $request */ public function translateText(Request $request) { \Log::info(\Input::all()); if (env('TRANSLATE_KEY') != $request->key) { print "KnightofSorrow.tk: Invalid Usage Key"; exit; } $from_lang = $request->from_lang; if ($from_lang == "detect") { $from_lang = null; } $to_lang = $request->to_lang; $text = $request->text; $player = $request->player; try { $translator = new Translator(env('YANDEX_API_KEY')); $translation = $translator->translate($text, 'en'); $translated_text = $translation; $language = $translation->getSourceLanguage(); } catch (Exception $e) { $language = "Unknown"; $translated_text = $text; } if ($language == false || $language == null || $language == "") { $language = "Unknown"; } else { $language = Utils::languageByCode1($language); } printf("[c=00ff00][b]%s[\\b][c=ffff00] (in %s)[c=00ff00]: %s[\\c]", $player, $language, $translated_text); exit; }
public function translate($text, $language, $isHtml = false, $options = 0) { $key = Config::get('jarboe::translate.yandex_api_translation_key'); if (!$key) { throw new \RuntimeException('Yandex api key for translations is not set'); } $translator = new Translator($key); $translation = $translator->translate($text, $language, $isHtml, $options); // FIXME: return $translation->__toString(); }
<?php header('Content-Type: text/json; charset=utf-8'); ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); require_once __DIR__ . '/vendor/autoload.php'; use Yandex\Translate\Translator; use Yandex\Translate\Exception; if (isset($_GET['text'])) { $text = $_GET['text']; $key = "trnsl.1.1.20151128T201030Z.26dda6883a34f555.9f891613514d6b32abf4346be07fd229183f1429"; try { $translator = new Translator($key); $en = $translator->translate($text, 'en')->getResultText(); $de = $translator->translate($text, 'de')->getResultText(); $ru = $translator->translate($text, 'ru')->getResultText(); $fr = $translator->translate($text, 'fr')->getResultText(); $ar = $translator->translate($text, 'ar')->getResultText(); $language = file_get_contents('http://ws.detectlanguage.com/0.2/detect?key=4a34be079e10fe1aa3fd334e8de3434c&q=' . urlencode($text)); $language = json_decode($language); $language = json_encode($language->data->detections[0]->language); $language = trim($language, '"'); $response = array('lang' => $language, 'en' => $en, 'ru' => $ru, 'de' => $de, 'fr' => $fr, 'ar' => $ar); echo json_encode($response); } catch (Exception $e) { // handle exception } }
private function check_db() { $langs = Config::get('translations::config.alt_langs'); foreach ($this->arr_fraze as $el) { $el_slashes = addslashes($el); $check_phrase = DB::table("translations_phrases")->whereRaw(" phrase like BINARY '{$el_slashes}' ")->count(); if ($check_phrase == 0) { $model = new Trans(); $model->phrase = trim($el_slashes); $model->save(); $id_last = $model->id; foreach ($langs as $k => $ellg) { $lg = $ellg; if ($ellg == "ua") { $ellg = "uk"; } $def_lang = Config::get('translations::config.def_locale'); if ($def_lang == "ua") { $def_lang = "uk"; } $translator = new Translator(Config::get('builder::translate_cms.api_yandex_key')); $translation = $translator->translate($el, $def_lang . '-' . $ellg); if (isset($translation->getResult()[0])) { $text = $translation->getResult()[0]; } if ($ellg == "uk") { $ellg = "ua"; } if ($text) { $translate_rec = new Translate(); $translate_rec->lang = $ellg; $translate_rec->translate = $text; $translate_rec->id_translations_phrase = $id_last; $translate_rec->save(); } } } } }
/** * Detects the language of the specified text. * @param string $text The text to detect the language for. * @return string * @throws InvalidTranslationException */ public function detect($text) { try { $translation = $this->translator->detect($text); return (string) $translation; } catch (\Exception $e) { throw new InvalidTranslationException('Yandex: ' . $e->getMessage(), $e->getCode(), $e); } }