Portál AbcLinuxu, 23. prosince 2025 22:05
Toto je rychly navod na preklad cizich slovicek pomoci google apps (Google Spredsheet a Google Script). Protoze budeme vyuzivat google apps budete samozrejme potrebovat gmail ucet.
Zacneme vytvorenim noveho dokumentu typu spreadsheet, do prvniho sloupce nasypte vase cizi (zde v navodu anglicka, ale muzou byt i v jinem jazyce viz dale) slovicka. Dale otevrete script editor pres menuTools/Script editor... a zde vlozte nasledujici kod:
function en2cs(word) {
if (word == "")
return "";
var response = UrlFetchApp.fetch("http://glosbe.com/gapi/translate?from=en&dest=cs&format=json&phrase=" + word);
var result = JSON.parse(response.getContentText());
var meanings = [];
if (typeof result.tuc != "object")
throw "not found in dictionary!";
for (i=0; i<result.tuc.length; i++)
{
var phrase = result.tuc[i].phrase;
if (phrase != null && phrase.text != null)
meanings.push(phrase.text);
}
// filter out duplicities
var meanings = meanings.filter(function(itm,i,a){
return i==a.indexOf(itm);
});
return meanings;
}
V kodu je pouze kod jedne funkce, kterou bude spredsheet volat pro kazde slovicko (bunku v spredsheetu), funkce ktere lze volat z bunky se nazyvaji "Custom Functions" a musi splnovat urcita kriteria, vice zde.
Script ulozte a vratte se do spredsheetu, do prvniho radku a druheho sloupce (vedle bunky s cizim slovickem na prvnim radku) zadejte formuli =en2cs(A1) coz neni nic jineho nez volani nasi funkce s adresou prvni bunky. Bunku roztahnete (skopirujte) na celou delku prvniho sloupce (jako v normalnim tabulkovem procesoru), tim se nam vyplni vsechny bunky nasi formuli a automaticky se zmeni parametr funkce na odpovidajici radek bunky. Po natahnuti se v polickach na okamzik objevi "Thinking..." a pote by se mely zobrazit preklady slovicek.
Kdo se v google apps orientuje a pozorne precetl kod nasi funkce en2cs(), muze namitnou ze existuje buit-in funkce GoogleTranslate to je pravda ale tato funkce vraci vzdy pouze jednu hodnotu, ovsem slovicka maji temer vzdy vice prekladu(vyznamu) coz resi nase funkce tim ze vyuziva sluzby glosbe.com a vraci vice hodnot v poli. Pokud tedy funkce volana z bunky vrati vice hodnot - pole, tak pretecou do vedlejsich bunek.
Funkce GoogleTranslate je vsak uzitecna pro preklad celych vet, ne pouze slovicek.
Glosbe.com je free multilingual slovnik a nabizi zdarma API. Pro zmenu jazyka tedy staci zmenit parametry ve volanem url.
A proc vlastne prekladat takto komplikovane kdyz muzu pouzit rovnou nejaky online translator? Vyhoda je v tom ze slovicka zustanou ulozena v google dokumentech a muzu si je opakovat. Tohle vzniklo jako potreba pri cteni knizek v anglictine, vzdy kdyz jsem narazil na slovicko, ktere jsem neznal, nasel jsem jeho vyznam ve slovniku a potom pokracoval ve cteni, bohuzel na dalsi strance kdyz se objevilo znova toto slovicko tak jsem si jeho vyznam uz nepamatoval.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.