Archiv pro štítek: překladač

Použití Google Translate API v PHP

Když se v současné době setkáte s požadavkem na vytvoření aplikace, která bude spoléhat na dostupné služby k překladu textu, zpravidla myšlenky směřují k využití Google Translate nebo Bing Translator. API u Google Translate není zdarma, platíte 20 dolarů za milión přeložených znaků. Bing Translator každý měsíc přeloží bezplatně 2 milióny znaků. Pokud potřebujete více, podívejte se na ceník. I když by mohlo nasazení služby Bing Translator vzhledem k provozním nákladům symbolizovat jasnou volbu, nezapomeňte si nejprve porovnat kvalitu překladu do cílového jazyka.

V mém případě se překlad textu svěřil vyhledávacímu gigantovi Google. I když dokumentace popisuje nasazení API v mnoha programovacích jazycích, nenašel jsem kontaktování služby v PHP s parametry, které jsem požadoval. Dozajista se proto bude hodit, když ukáži, jakým způsobem text překládám.

require_once './google-api-php-client/src/Google_Client.php';
require_once './google-api-php-client/src/contrib/Google_TranslateService.php';

function translate($from, $to, $what)
{
$client = new Google_Client();
$client->setApplicationName('JmenoAplikace');  
$client->setDeveloperKey('123456789');
$service = new Google_TranslateService($client);

$translations = $service->translations->listTranslations($what, $to, array(
                "source" => $from,
                "format" => "html"
));
            
return $translations["translations"][0]["translatedText"];
}

Pro snadnější práci využívám knihovnu pojmenovanou Google API Client Library. Tu stačí stáhnout a rozbalit do zvoleného umístění. Ve zdrojovém kódu následně připojíte soubor Google_Client.php a zvolenou službu, kterou budete používat. Já chci překládat text, a proto se poohlédnu po Google_TranslateService.php ze složky contrib. Nasleduje vložení vývojářského klíče. Ten se dozvíte po přihlášení do Google API Console pod záložkou API Access konkrétního projektu. Zde hledejte část Simple API Access.

Nyní je na čase zavolat metodu, která obstará získání překladu. Já přitom znám původní jazyk i ten překládaný. Nepotřebuji proto, aby se jej Google snažil detekovat, v čemž ostatně u velmi krátkého překladu skládajícího se z jednoho slova ne vždy uspěje. Do parametrů $to a $from se jednoduše vloží ISO zkratka dle standardu 639-1, která má 2 znaky. Dále chci, aby Google přeložil text obsahující i HTML tagy tím způsobem, že je zachová. K tomu stačí specifikovat formát. Dle dokumentace se jako výchozí automaticky nastaví HTML, tento parametr tedy není nutno explicitně uvádět, alespoň ale budete mít představu kam sáhnout, když se rozhodnete chování překladu změnit.

Pokud dojde k chybě, vyhodí se výjimka Google_ServiceException. Já raději počítám i s Google_AuthException, Google_CacheException, Google_Exception a Google_IOException. Dále v případě reálného produkčního nasazení kontroluji, zda skutečně v polích existují příslušné indexy. K podobné opatrnosti mě poprvé donutilo API od Facebooku, kdy odpověď serveru ne vždy odpovídala tomu, co bylo uvedeno v dokumentaci.

Google překladač jako rychlý proxy server dostupný zdarma

GoogleO možném využití služeb z portfolia vyhledávacího giganta Google jsem již psal zde. Podařilo se mi použít bývalé Google Dokumenty jako prostředníka k převodu souboru PDF do formátu PDB pro čtečku elektronických knih. Na podobné téma bude i tento článek. Konkrétně se zaměříme na užitečnou funkci Google Překladač. S její pomocí sice nezískáte finální použitelný text nevyžadující rozsáhlé úpravy, pokud však danému jazyku vůbec nerozumíte, dokážete většinou alespoň přibližně pochopit, o čem daná pasáž pojednává. Překladač však dokáže zpracovat nejen vložené věty, ale i celou webovou stránku. Podobně se například chová i Google Chrome ze stejné stáje. Před provedením strojového překladu však musí nejprve servery Google danou stránku načíst a poté předat uživateli. A právě toto chování lze vzdáleně přirovnat k proxy serveru. Na internetu takových webových projektů najdete skutečně mnoho, jen špetka z nich však pracuje stabilně, rychle a zdarma.

Je libo IP adresu z USA?

Po načtení stránky translate.google.com zadejte do levého boxu URL cílové stránky, jež si přejete zobrazit. Já použiji www.mojeip.cz, protože mě zajímá, jakou IP adresu Google použije. Zvolím rovněž rozumný překlad do vybraného jazyka – například z češtiny do angličtiny a kliknu na jediné výrazné tlačítko. Web si pochopitelně nepřejeme používat po strojové úpravě, a proto při nejbližší příležitosti v sekci Zobrazení přepínám na původní text. A tím je celé dílo dovršeno. Portál mojeip.cz v mém případě zobrazuje 74.125.189.20. Určitě však záleží na konkrétním daném webu, který se rozhodneme popsaným způsobem načíst. Původní IP adresu lze totiž stále ještě zjistit. Vyzkoušejte si zadat www.cmyip.com. Tato stránka se již tak snadno obelhat nenechá.

Whois

Nyní si zjistíme podrobnosti o IP použité serverem společnosti Google. K tomuto účelu použiji whois, tedy databázi udržující podrobnosti o majitelích domén a IP adres. Uživatelé Linuxu mohou v příkazové řádce zadat whois 74.125.189.20. Webovou verzi bez captcha kódu poté naleznete na ranky.cz/whois/74.125.189.20. Zobrazené informace poté nenechají nikoho na pochybách, že IP skutečně patří pod Google.

Příchozí dotazy:

  • google překladač