class yandex {
private $APIkey = "trnsl.1.1.20190923T121155Z.d14ea508da8b7948.0ab69cefeb964ba55b095a2f135bc84a32281e0a"; //See http://api.yandex.com/translate/doc/dg/reference/translate.xml
public function translate ($text,$lang) {
$t = urlencode($text);
$url = "https://translate.yandex.net/api/v1.5/tr/translate?key=";
$url .= "{$this->APIkey}&format=html&lang={$lang}&text={$t}";
if ($xml = simplexml_load_file($url)) {
return $xml;
}
else return false;
} // yandex_trans
}
$handle = fopen("woo.txt", "r");
$str = file_get_contents("woo.txt");
$langs = ["uk", "ru", "pl"];
$format = ".txt";
foreach($langs as $lang){
$filename = "index" . "_" . $lang . $format;
$rp = fopen($filename, "w");
while (($line = fgets($handle)) !== false) {
$rest = substr($line, 0, 1) === '"';
if($rest == true ) {
$word = substr(strstr($line, '='), 1, strlen($line));
$ya = new yandex();
$txt = $word;
$trans = $ya->translate($txt, $lang);
$done = $trans->text;
$query = str_replace($word,$done,$line);
fwrite($rp , $query);
}else fwrite($rp, $line);
}
fclose($rp);
}
fclose($handle);
Записывает измененный перевод только в первый файл, во второй и третий ничего не пишет, но их создает, подскажите в чем дело, пожалуйста