Advertisement
Krizalis

Untitled

Apr 3rd, 2018
333
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.43 KB | None | 0 0
  1. <?php
  2. // Author: Krizalium
  3.  
  4. define ("KEY", "SUPER SECRET CODE, КОТОРЫЙ НУЖНО ПОЛУЧИТЬ У ЯНДЕКСА");
  5. define ("UI_LANG", "ru");
  6. define ("FORMAT", "plain");
  7. define ("ITERATIONS", 5);
  8.  
  9. define ("URL_GET_LANGS", "https://translate.yandex.net/api/v1.5/tr.json/getLangs?");
  10. define ("URL_GET_TRANSLATE", "https://translate.yandex.net/api/v1.5/tr.json/translate?");
  11.  
  12. class Translate
  13. {
  14.     private $StartText;
  15.     private $RawText;
  16.     private $AvailableLangArray;
  17.     private $CurrentLang;
  18.     private $ResultText;
  19.    
  20.     function __construct($rawText)
  21.     {
  22.         $this->StartText = $rawText;
  23.         $this->RawText = $rawText;
  24.         $this->CurrentLang = "ru";
  25.        
  26.         $this->getAvailableLangArray();
  27.         $this->callIterations(ITERATIONS);
  28.     }
  29.    
  30.     private function getAvailableLangArray()
  31.     {
  32.         /*https://translate.yandex.net/api/v1.5/tr.json/getLangs
  33.                 ? [key=<API-ключ>]
  34.                 & [ui=<код языка>]*/
  35.         $queryUrlArray = array('key' => KEY, 'ui' => UI_LANG);
  36.         $query = http_build_query($queryUrlArray);
  37.         $this->AvailableLangArray = json_decode(file_get_contents(URL_GET_LANGS.$query), true);
  38.     }
  39.    
  40.     private function callIterations($countOfIterations)
  41.     {
  42.         $i = 0;
  43.         while ($i < $countOfIterations)
  44.         {
  45.             echo $i." итерация:<br>";
  46.             $this->getTranslate($this->RawText, $this->CurrentLang, $this->getRandomLanguage());
  47.             $i++;
  48.         }
  49.         echo "<hr>Был текст: <blockquote>".$this->StartText."</blockquote><br>";
  50.         echo "Стал текст: <blockquote>".$this->RawText."</blockquote><br>";
  51.     }
  52.    
  53.     private function getTranslate($text, $atLang, $toLang)
  54.     {
  55.         echo ("text = ".$text.", atLang = ".$atLang.", toLang = ".$toLang."<br>");
  56.         $queryUrlArray = array(
  57.             'key' => KEY,
  58.             'text' => $text,
  59.             'lang' => $atLang."-".$toLang,
  60.             'format' => FORMAT);
  61.            
  62.         $query = http_build_query($queryUrlArray);
  63.         $fgc = file_get_contents(URL_GET_TRANSLATE.$query);
  64.         $this->RawText = json_decode($fgc, true)["text"][0];
  65.         $this->CurrentLang = $toLang;
  66.        
  67.         if ($toLang != "ru")
  68.         {
  69.             $this->getTranslate($this->RawText, $this->CurrentLang, "ru");
  70.         }
  71.         //var_dump($this->RawText);
  72.     }
  73.    
  74.     private function getRandomLanguage()
  75.     {
  76.         $langKeys = array_keys($this->AvailableLangArray["langs"]);
  77.         $randLangIndex = rand(0, count($langKeys)-1);
  78.         return ($langKeys[$randLangIndex]);
  79.     }
  80. }
  81.  
  82. $translate = new Translate("Сюда нужно написать текст, который будет изнасилован.");
  83.                
  84. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement