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.

Na Steamu začíná letní výprodej. Poznáte nejvýhodnější nabídku?

Každoroční příležitost k získání levných počítačových her se opět opakuje. K letním měsícům zkrátka výprodej na platformě Steam patří a řada lidí (včetně mě) na něj trpělivě čeká. I když na hry v průběhu roku prakticky nemám čas, není mi líto utratit několik málo euro za skutečně zlevněné položky. Umíte je ovšem rozeznat? Když zavítáte na úvodní stránku a spatříte u svého vysněného titulu slevu, automaticky to neznamená, že její výše se již nebude měnit.

Nejprve bude potřeba si nabízené hry ve slevě rozdělit do několika kategorií. Mezi ty nejzajímavější patří Daily deal, Flash sale a Community’s Choice. Pokud se položka nachází v některé z těchto sekcí, nakupujte, levnější už pravděpodobně nebude. Naopak se obrňte trpělivostí, pokud se na ni vztahuje jen běžná sleva a titul je v obchodě klasicky zařazen. Stává se totiž, že hra se zmíněnou běžnou slevou se dočká ještě razantnějšího snížení ceny a vy tak více ušetříte.

Z výše uvedených informací vyplývá nutnost sledovat aktuální dění v obchodě. Steam však rád tuto těžkou práci udělá za vás. Stačí si přidat toužebné hry na Wishlist a obdržíte emailové upozornění v případě, kdy dojde ke změně ceny. Nezapomeňte se přitom v sekci Account Settings ujistit, že s odesláním informačního emailu souhlasíte. Pakliže vlastníte chytrý telefon, snadno budete v obraze díky aplikaci vyvinuté právě na mobilní zařízení s iOS, Androidem nebo platformou Amazon AppStore.

Hru nekupujte ani v případě, kdy již byla v jedné ze tří zmíněných lukrativních kategorií a vám tato skutečnost unikla, přičemž na ni momentálně platí jen běžná sleva. Poslední den výprodeje se totiž nese v duchu maximálního zlevnění všech položek, kdy se nejoblíbenější nabídky Daily deal a Flash sale vrátí zpět s původní vyšší slevou. Pokud náhodou nebudete mít štěstí, koupíte hru poslední den s běžnou slevou.

Grafické znázornění postupu představuje následující diagram, který jsem nakreslil v programu Pencil. Inspiroval jsem se u tohoto obrázku. Omlouvám se za písmo Comic Sans, nejsem jeho příznivce, dle mého názoru se však do stylu rychlého náčrtu hodí.

Schéma nákupu na Steamu během výprodeje

Schéma nákupu na Steamu během výprodeje

Pro uvedená pravidla platí jedna výjimka. Tu symbolizují balíčky titulů konkrétního vývojáře. Pokud si je můžete dovolit, příliš neotálejte. Jedná se totiž o nejvýhodnější způsob získání většího počtu her.

Letní výprodej započal 11. 7. 2013 a bude trvat do 22. 7. 2013. Ozvláštněn je zapojením virtuálních sběratelských karet, které získáváte během hlasování s cílem určit další zlevněnou položku a nakupování. Za každých utracených 10 USD (v našem případě předpokládám 10 EUR) získáte jednu kartu.

Recenze Vodafone Smart III

Vodafone i tento rok dodržel tradici a před začátkem léta uvedl vlastní smartphone. Jedná se o Vodafone Smart III, označovaný rovněž jako 975N. V této recenzi nebudu zařízení popisovat z každého úhlu, protože s tímto úkolem se již vypořádala řada serverů, ale zaměřím se spíše na poznatky z praktického používání.

Když jsem hledal svůj nový mobilní telefon, měl jsem tři hlavní kritéria:

  • Android minimálně ve verzi 4.1
  • Elektronický kompas (kvůli geocachingu)
  • Rozumný poměr cena / výkon

Wi-Fi, GPS a podobné technologie jsem bral jako samozřejmost, protože jimi disponuje prakticky každý nový smartphone. Do oka mi padl Vodafone Smart III, nepodařilo se mi však s naprostou jistotou ověřit, zda-li přichází s elektronickým kompasem. Po otevření přiloženého manuálu se ovšem dozvídáte, že kompas skutečně využijete, stejně jako A-GPS (asistovaná GPS).

GPS

Ve volných chvílích se měním v hráče geocachingu a libí se mi i Ingress. S ohledem na tento fakt uznáte, že bez GPS bych se neobešel. S vyhledáním polohy jsem až na jednu výjimku problémy neměl, přibližně do jedné minuty si mobil opatřil souřadnice. Zmíněný neúspěšný případ se nesl v duchu neschopnosti získat fix přibližně po dobu pěti minut. Z Google Play jsem nainstaloval program GPS Status & Toolbox a po chvíli se již podařilo všechny potřebné satelity objevit. Pokud vás tedy budou trápit podobné problémy s GPS, mohu uvedenou aplikaci doporučit, protože společně s A-GPS urychlí odhalení správné pozice.

Rychlost systému

Další velmi diskutované téma. Dokáže levný telefon zajistit obstojnou práci s Androidem? Ano i ne. Když poprvé Vodafone Smart III zapnete, přivítá vás naprosto plynulé pracovní prostředí (což beru jako samozřejmost). S instalováním dalších aplikací se ovšem celkový dojem z rychlosti mění. A nejde pouze o programy viditelně spuštěné na pozadí. Nezapomeňme na nejrůznější hry a pomůcky, které běží společně s operačním systémem jen proto, aby uživatele upozornily na výhodnou akci nebo nutnost sklidit obilí ve hře. A zde právě vynikají dražší modely, protože si s větším počtem procesů na pozadí poradí. Snažím se proto v mobilu udržovat jen ty aplikace, které skutečně potřebuji. Prakticky jde o ty nejpoužívanější pomůcky od Google (Gmail, kalendář, Google Drive apod.). Vzdal jsem se i klávesnice SwiftKey. Příjemně mě totiž překvapila defaultní klávesnice, která zobrazuje i návrhy slov. Na aplikační dietě se Smart III chová plynule, pro každodenní používání je systém rozhodně více než použitelný. S každým nainstalovaným programem běžícím na pozadí se pochopitelně tento dojem mění.

Na druhou stranu je třeba říci, že s popsaným neduhem jsem se setkal i u mnohem dražších modelů. Jeden můj známý si stěžoval, že jeho Samsung Galaxy Nexus se již nechová tak rychle. Doporučil jsem odinstalovat všechny zbytečnosti. Odpověď zněla: „Skutečně to pomohlo.“

Vzpomínám si ještě na jeden případ. Do ruky se mi dostal velmi levný tablet Prestigio PMP3370B s až nesnesitelně trhaným operačním systémem. Jistě už tušíte. Tentokrát jsem pouze odstranil aplikaci Facebook.

Ano, nejde o nic nového pod sluncem. Zařízení samozřejmě disponuje znatelnější rychlostí, když na něm neběží mnoho procesů. Jde spíše o to, že řada aplikací běží skrytě na pozadí a uživatel si jejich přítomnost plně neuvědomuje.

Příslušenství

Smart III jsem zakoupil za 3 177 Kč, cenu, kterou uslyšíte v každé prodejně Vodafone. Možná však bude lepší si k pořizovacím nákladům přičíst jednu budoucí investici. Nabíjecí adaptér totiž vypadá velmi zvláštně a osobně nevěřím tomu, že podivně vyvedený USB konektor vydrží delší přenášení a používání. Nyní jen čekám na to, až se poruší izolace. Naštěstí však nepůjde o žádnou tragédii. Mobil totiž nabijete i z počítače nebo snadno zakoupíte jiný adaptér, protože USB patří mezi standardní konektory.

Nabíjecí adaptér

Nabíjecí adaptér

Zhodnocení

Pro mě stále Vodafone Smart III symbolizuje výhodnou koupi. Potěšila mě především přítomnost elektronického kompasu, který u jiných levných telefonů chybí. Za Smartem III stojí Alcatel, a proto se nebojím nekvalitního zpracování. Pokud se udržím na uzdě ohledně počtu nalistovaných aplikací, získávám dle mého názoru za 3 177 Kč výborného každodenního společníka. Proti je snad pouze baterie, která při náročném používání od rána do večera nevydrží, běžný pracovní den však s přehledem zvládá.