Na mnohých web stránkach sa môžeme stretnúť s jazykovými mutáciami. Spracovanie a preklady textov od profesionálnych prekladateľov vyžadujú nie len čas, ale aj financie. Ak potrebujeme stránky priblížiť aj pre návštevníkov zo zahraničiam, pričom nepotrebujeme 100 % preklad a korektúru textu, najlepšie riešenie je použitie prekladača Google Translator. Kto má skúsenosti s automatizovaným prekladom pomocou Google, určite narazil na viaceré úskalia. Je to napr. horná lišta upozorňujúca na preklad a jeho možnosti - obr. 1:
Ďalej to je vyskakujúce okno pôvodného textu, odkrytie elementov, ktoré boli pomocou CSS skryté, prípadne zaujímavý a chybný preklad mien, názvov a pod (obsah v rámcoch) - obr. 2. Nasledujúci kód sa postará o odstránenie spomenutých nedostatkov a automatizovaný preklad nadobudne trochu iný rozmer. Tento systém som použil na svojich stránkach, je im prisposobený, ale jeho úprava nebude vyžadovať veľa úsilia. Na začiatok bol definovaný div, ktorý obsahuje prepojenia pre preklad.<div id="jazyky">
<a href="https://www.dkubinsky.sk">
<img src="translator/flag_sk.png" width="20" height="12" alt="sk"/>
</a>
<a href="translator/?jazyk=en&preloz=uvod">
<img src="flag_en.png" width="20" height="12" alt="en"/>
</a>
<a href="translator/?jazyk=de&preloz=uvod">
<img src="flag_de.png" width="20" height="12" alt="de"/>
</a>
<a href="translator/?jazyk=fr&preloz=uvod">
<img src="flag_fr.png" width="20" height="12" alt="fr"/>
</a>
<a href="translator/?jazyk=hu&preloz=uvod">
<img src="flag_hu.png" width="20" height="12" alt="hu"/>
</a>
<a href="translator/?jazyk=pl&preloz=uvod">
<img src="flag_pl.png" width="20" height="12" alt="pl"/>
</a>
<a href="translator/?jazyk=zh-TW&preloz=uvod">
<img src="flag_zh-CN.png" width="20" height="12" alt="zh-TW"/>
</a>
</div>
http://translate.google.com/translate?js=y&prev=_t&hl=sk&ie=UTF-8&layout=1&eotf=1&u=http%3A%2F%2Fwww.dkubinsky.sk/%2F&sl=auto&tl=en
<?php
if($_GET['jazyk']=="de" or $_GET['jazyk']=="en" or $_GET['jazyk']=="fr" or $_GET['jazyk']=="zh-TW" or $_GET['jazyk']=="hu" or $_GET['jazyk']=="pl")
{
$jazyk = $_GET['jazyk'];
}
elseif($_GET['jazyk']==NULL)
{
$jazyk = "en";
}
else
{
$jazyk = "en";
}
if($_GET['preloz']==NULL)
{
$_GET['preloz']="uvod";
}
$text = file_get_contents('http://translate.google.com/translate?js=y&prev=_t&hl=sk&ie=UTF-8&layout=1&eotf=1&u=http%3A%2F%2Fwww.dkubinsky.sk/'.$_GET['preloz'].'%2F&sl=auto&tl='.$jazyk.'');
$x = array();
$y = array();
$z = array();
$a = "/<frame.*src=[("|')]+([^("|')]+)[("|')].*>/i";
preg_match_all($a, $text, $x, PREG_SET_ORDER);
$a = 0;
foreach($x as $y)
{
$y[1]=str_replace("&","&",$y[1]);
$z[$a] = "http://translate.google.com".$y[1];
$a++;
}
$vystup = implode("n<br />n",$z);
$text = file_get_contents(''.$vystup.'');
function bbcode($text)
{
$s = str_replace("]n", "]", $s);
$match = array(
'#<span onmouseover="_tipon(.*?)</span>#se',
'#<style type="text/css"(.*?)</style>#se',
'#<h1>(.*?)</h1>#se',
'#<iframe(.*?)</iframe>#se',
'#&prev(.*?)>#se',
);
$replace = array(
"''",
"''",
"''",
"''",
"'">'",
);
return preg_replace($match, $replace, $text);
}
$text = bbcode($text);
$text = str_replace("http://translate.googleusercontent.com/translate_c?hl=sk&ie=UTF-8&sl=auto&tl=".$jazyk."&u=","",$text);
$text = str_replace('<a href="https://www.dkubinsky.sk/','<a href="http://dkubinsky.sk/translator/?jazyk='.$jazyk.'&preloz=',$text);
function orez($text)
{
$s = str_replace("]n", "]", $s);
$match = array(
'#<div id="jazyky">(.*?)</div>#se',
);
$replace = array(
"'<div id="jazyky">
<a href="http://www.dkubinsky.sk"><img src="flag_sk.png" width="20" height="12" alt="sk"/></a>
<a href="translator/?jazyk=en&preloz=uvod"><img src="flag_en.png" width="20" height="12" alt="en"/></a>
<a href="translator/?jazyk=de&preloz=uvod"><img src="flag_de.png" width="20" height="12" alt="de"/></a>
<a href="translator/?jazyk=fr&preloz=uvod"><img src="flag_fr.png" width="20" height="12" alt="fr"/></a>
<a href="translator/?jazyk=hu&preloz=uvod"><img src="flag_hu.png" width="20" height="12" alt="hu"/></a>
<a href="translator/?jazyk=pl&preloz=uvod"><img src="flag_pl.png" width="20" height="12" alt="pl"/></a>
<a href="translator/?jazyk=zh-TW&preloz=uvod"><img src="flag_zh-CN.png" width="20" height="12" alt="zh-TW"/></a>
</div>'",
);
return preg_replace($match, $replace, $text);
}
$text = orez($text);
echo $text;
?>
<span class="notranslate">Daniel Kubinský</span>
Pridať komentár k článku