Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // Author: Krizalium
- define ("KEY", "SUPER SECRET CODE, КОТОРЫЙ НУЖНО ПОЛУЧИТЬ У ЯНДЕКСА");
- define ("UI_LANG", "ru");
- define ("FORMAT", "plain");
- define ("ITERATIONS", 5);
- define ("URL_GET_LANGS", "https://translate.yandex.net/api/v1.5/tr.json/getLangs?");
- define ("URL_GET_TRANSLATE", "https://translate.yandex.net/api/v1.5/tr.json/translate?");
- class Translate
- {
- private $StartText;
- private $RawText;
- private $AvailableLangArray;
- private $CurrentLang;
- private $ResultText;
- function __construct($rawText)
- {
- $this->StartText = $rawText;
- $this->RawText = $rawText;
- $this->CurrentLang = "ru";
- $this->getAvailableLangArray();
- $this->callIterations(ITERATIONS);
- }
- private function getAvailableLangArray()
- {
- /*https://translate.yandex.net/api/v1.5/tr.json/getLangs
- ? [key=<API-ключ>]
- & [ui=<код языка>]*/
- $queryUrlArray = array('key' => KEY, 'ui' => UI_LANG);
- $query = http_build_query($queryUrlArray);
- $this->AvailableLangArray = json_decode(file_get_contents(URL_GET_LANGS.$query), true);
- }
- private function callIterations($countOfIterations)
- {
- $i = 0;
- while ($i < $countOfIterations)
- {
- echo $i." итерация:<br>";
- $this->getTranslate($this->RawText, $this->CurrentLang, $this->getRandomLanguage());
- $i++;
- }
- echo "<hr>Был текст: <blockquote>".$this->StartText."</blockquote><br>";
- echo "Стал текст: <blockquote>".$this->RawText."</blockquote><br>";
- }
- private function getTranslate($text, $atLang, $toLang)
- {
- echo ("text = ".$text.", atLang = ".$atLang.", toLang = ".$toLang."<br>");
- $queryUrlArray = array(
- 'key' => KEY,
- 'text' => $text,
- 'lang' => $atLang."-".$toLang,
- 'format' => FORMAT);
- $query = http_build_query($queryUrlArray);
- $fgc = file_get_contents(URL_GET_TRANSLATE.$query);
- $this->RawText = json_decode($fgc, true)["text"][0];
- $this->CurrentLang = $toLang;
- if ($toLang != "ru")
- {
- $this->getTranslate($this->RawText, $this->CurrentLang, "ru");
- }
- //var_dump($this->RawText);
- }
- private function getRandomLanguage()
- {
- $langKeys = array_keys($this->AvailableLangArray["langs"]);
- $randLangIndex = rand(0, count($langKeys)-1);
- return ($langKeys[$randLangIndex]);
- }
- }
- $translate = new Translate("Сюда нужно написать текст, который будет изнасилован.");
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement