Zobrazují se příspěvky se štítkemPřekladatelské editory. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemPřekladatelské editory. Zobrazit všechny příspěvky

Qt Linguist

Toto dílo věnuji zpěváku Karlu Gottovi. :-)

Je možné, že mě při používání Qt Linguistu už někdy v minulosti napadlo, že bych se pustil do překladu jeho rozhraní. A tak, jak se ta představa tehdy objevila, tak zase v klidu zapadla.


Qt Linguist je součástí nástrojů šířených společně se sadou nástrojů Qt. Jde o takovou slovní hříčku. Ne, nemyslím tím ono známé: "Cobydup, cobydup". Přeložil jsem "rozhraní programu, který slouží pro překlad rozhraní programů" :-)


A proto nyní mohu s radostí oznámit, že jsem tento překlad právě dokončil. Už jsem jej vyzkoušel, mírně poladil. K tomu, abyste mohli i vy požívat tohoto dobrodiní, je v tomto okamžiku v případě Mandrivy potřeba vědět, že soubor .qm, který jsem nahrál na fripohled.webnode.cz, je nejprve nutné (linguist_cs.qm) nakopírovat do adresáře: usr/lib/qt4/translations. Kdyby vám něco na té cestě nesedělo, je to asi tím, že ji teď píšu popaměti. |:-)

Tímto počinem jsem se zařadil po bok takových veličin, jakými jsou Lukáš Tinkl, Klára Cihlářová a Vít Pelčák, kteří jsou podepsáni pod překladem dalšího mého oblíbeného překladatelova pomocníka jménem Lokalize.

Lokalize ve verzi 1

Nainstaloval jsem nové KDE 4.3, nechal po pár dnech provést aktualizaci programů a všiml si, že mnou u Lokalize dříve zmiňovaný problém s vyhledáváním textů v překladových souborech je ten tam. Dokonce na kartách s načtenými soubory přibyla malá světlemodrá vlaječka vyzdobená dvojicí uvozovek. Jak milé. :-)

Program se snaží lépe využívat návrhy v paměti překladů, kde nejen, že zvýrazňuje starou a novou část porovnávaného řetězce textu, to dělal už předtím, ale při vložení pomocí klávesové zkratky se snaží vložit námi vybranou možnost a starou část věty, v řetězci se nevyskytující, smysluplně rovnou nahradit novou. Hodí se to třeba v případě, že je automaticky na správné místo doplněn například symbol "%1", takže jsem jej nemusel vpisovat ručně.

Soubory s příponami .ts a .qm

Pracuje s nimi program Qt Linguist, v němž je také vestavěna možnost z upravovaného .ts souboru vydat (release) .qm.

Při použití jiného souboru než původní například anglické šablony jsem jednoduše přejmenoval soubor a v nastavení pro jistotu vybral u jazyka do kterého se překládá čeština a Česká republika a při odeslání autorovi programu raději připojil poznámku, ať si ten soubor zkontroluje. A buď jsou autoři tak bystří, nebo už mají zkušenost s možnými problémy, ale můžou vás například upozornit na to, že slovo English v jednom řetězci je potřeba přeložit názvem jazyka, do kterého překládáte, tedy správně nepřekládat a doplnit Český, když to při překladu není zřejmé (nemusí být vyplněna poznámka k řetězci s tímto pokynem, ale taky může).

Jednou takovou věcí, které je třeba věnovat pozornost jsou klávesové zkratky. Ono totiž v tomto případě je dobré myslet na to, že i když byste byli vedeni dobrým úmyslem, tak, když např. Ctrl+Right přeložíte jako Ctrl+šipka vpravo, ve výsledku se v nabídce jako zkratka objeví jen Ctrl+, jak jsem to viděl na jednom příkladu (= na to jsem byl upozorněn autorem VMPK), a uživateli vaše snaha nebude platná. Sám se časem budu muset při doplňování některých překladů pro jistotu podívat právě na tuhle věc, kdy veden dobrým úmyslem... :-)

Ty zkratky program v tomto případě programů založených na Qt tahá z Qt. Jestli jsem to dobře pochopil (na obrázkovém příkladu zmíněného vmpk). Pro mě je pak ale otázkou, proč se potom v překladovém souboru vůbec objevuje ta možnost to přeložit, když se to z neznalosti dá spíš pohnojit. A když jsem si vyzkoušel funkčnost zkratek Muse Score třeba ve Windovs, tak prostě pracovaly - a na kartě Zkratky, kam se člověk dostane přes Volby, jsou v seznamu zkratek zrovna slova Right, Left, Up, Down - (šipka) Vpravo, Vlevo, Nahoru, Dolů přeložena. Aby se dala využít možnost přeložit tuto část zkratky podle uvážení, záleží na tom, kde se její text vyskytuje - jestli je bez spojitosti s tím chováním, které připisuju existenci oněch řetězců v Qt?

Ne všechny zprávy, které v programu jsou, se přece nutně musí objevit i v překladovém souboru. Myslím, že to záleží na programátorovi, kolik o tom vím, jak s hlášeními programu chce/dokáže pracovat?

Byla by to pak otázka toho, jak s těmi zkratkami pracovat přímo v Qt. Je to nejspíš věc toho, jestli a jakou má Qt lokalizaci oněch zkratek do konkrétního národního jazyka? Jestli v něm jsou uvedeny. Kdyby ano, dalo by se to ovlivnit (kdyby se ten příslušný text klávesové zkratky objevoval v překladu ke Qt, což by se muselo zjistit), ale komplikací by bylo, že by se každý překladatel musel seznámit s tím, jak je to vyřešeno.

A taky by bylo dobré si to nechat ještě jednou vysvětlit od nějakého programátora, jak se s těmi zkratkami zachází, a oč přesně jde. Když se překládá rozhraní, je to jasné, není nad čím váhat. Cílem je přeložený text, ale tady je to trochu matoucí.

Překladatelské editory

Uvítal bych, kdyby byl Qt Linguist více nastavitelný, abych si mohl například určit, jestli si má pamatovat jednou načtený překladový soubor (Malá poznámka z listopadu 2010: což už mezitím, už uběhl nějaký čas, co jsem tento text napsal, dávno bez problémů dělá).

Nebo by mohl být schopen vyrobit ze zadaného souboru, případně zrovna načteného, zvláštní slovník, protože ruční přidávání nějakou dobu trvá (Malá poznámka z listopadu 2010: což už mezitím, už uběhl nějaký čas, co jsem tento text napsal, dávno bez problémů dělá - na tomto místě jsem myslel zvláštní slovník, ale ten takto vytvářet nemá smysl, protože knihu frází už dávno program spolehlivě udělá ze všech řetězců načteného souboru). Souboru .qph, který obsahuje všechny texty nacházející se v nějakém .ts souboru, se zde říká "Kniha frází". Dá se vytvářet zvláštní slovníček, ale to je práce dlouhodobější, a tuto věc doposud nějak zvlášť nevyužívám.

Moje dřívější věty, že: "Potom bych ji (knihu frází) mohl v případě zájmu projít a vyhodit z ní věci, které v ní být nemusejí, ale zase si říkám proč.", přestala časem dávat ve světle zkušeností svůj smysl - na začátku se mi dařilo vytvářet knihy frází jen "ručně": uložení v editoru nepracovalo, ale dnes není žádný problém uložit jakýkoli soubor .ts jako knihu frází - a vůbec nevadí, když načtu hromadu příbuzných knih frází - u nichž předpokládám podobný slovní záběr jako u právě překládaných textů. Podobné texty se rychle načítají v okně s překladovou pamětí a já se rychle rozhoduju jestli se dá podobný text využít, případně s malými úpravami, aby jeho opravy, když jej jedním klepnutím vložím, nezabraly víc času, než rychlý zápis překladu řetězce.

Také další věty: "Problémem by její obsah byl v případě, že by tento slovník byl příliš velký a přestával poskytovat správné výrazy. Jde si takovou situaci vůbec představit?", je potřeba vysvětlit tak, že, no ano, samozřejmě, že všelijakých variant textů je velká spousta, kniha frází je obsahuje všechny (daly by se editací souboru výběrově smazat, ale to není moc smysluplné), a překladová paměť nám má jen trochu (i dost) usnadnit práci. Už jenom její existence vede ke sjednocování překladu v rámci jednoho souboru, i přes více souborů.

Pořád ale platí, že: "Rovněž by se hodilo mít možnost změnit velikost písma. Mně přijde to písmo, co vidím, malé." Taky to okno, kde se zobrazuje paměť překladu tohoto programu plus volitelně načtená kniha frází, by mohlo být vyřešeno tak, že by prostor věnovaný načtenému řetězci byl větší, aby byl text více vidět. - V Lokalize se zobrazuje například i míra shody a otázka, jak by mělo být uspořádáno okno je složitější. Na co si zvykne jeden, to jinému přijde jako řešení, se kterým by se nespokojil. Vychází to ale z možností editorů, jak v nich lze zpřeházet okna, nebo v čem se od sebe liší jeden editor od druhého.

Napsal jsem, že: "Lokalize, které používám, má poslední dobou zase jinou mouchu. Jinak je to editor podle mých představ. Při vyhledávání mi v něm nefunguje klávesa F 3, kterou jsem se na začátku používání tohoto programu posouval k dalšímu výskytu hledaného slova. Rovněž hledání přes Ctrl + F jaksi nezabírá, i když se dialog objeví a já jej vyplním. Všechno tak dělám přes hlavní nabídku, kde se mi zatím daří dosahovat toho, co potřebuju." - Toto všechno dávno neplatí. taky jde o to, že se toto chování (chyba) může lišit od verze k verzi (od distribuce k distribuci)

Můžu porovnat Lokalize v Mandrivě, kde na jednom stroji po velmi dlouhou dobu vždy, když jsem spustil editor, jsem si okna musel nastavit znovu, protože zapomněla svou velikost a polohu. Jakoby se balíčkem s Lokalize nikdo nezabýval. A teď si představte jinou zkušenost s Fedorou, kde všechno funguje, jak má. Když člověka neopruzují takové "maličkosti", je to hned lepší pocit.

Soubory s příponami .pot, .po a .mo

Pracuje s nimi například program Lokalize. Stejně tak se dají použít i další editory. Nepřeloženou šablonou je soubor označený jako .pot, který se přejmenuje například na xy_cs.po, pro pořádek. Když místo pouhého cs v názvu nazvu soubor, se kterým pracuju, podle názvu překládaného programu nebo jeho části, má-li jich více, je pak práce se soubory při kopírování odněkud někam zřetelnější a jistější. V programech se podoba názvu tohoto souboru projevuje různě, od jednoduchého cs, i když má program mnoho takových překladových částí, ovšem rozdělených do složek - zase kvůli jednoznačnosti a přehlednosti, přes název programu bez cs, po kombinaci obou. Jde pořád o tu samou věc a použití přípony .pot je tu hlavně pro to odlišení od nyní nebo již někdy dříve překládaného souboru.

Příklad příkazu pro vytvoření .mo souboru
z .po souboru. Soubor .mo se při zkoušení překladu nahraje do složky, ze které program podle nastavení systému tahá po opětovném spuštění programu přeloženou informaci

msgfmt -v -o ./xy_cs.mo ./xy_cs.po

Příklad příkazu pro slučování starého souboru překladu (.po soubor) s novým souborem překladu, v němž jsou přidány další řetězce za účelem získání vlastní verze aktuálního stavu překladu.

msgmerge -o new.po old.po current.po

jinak řečeno:

msgmerge -o nový.po starý.po nynější.po

a ještě jinak napsáno:

msgmerge -o soubor_ze_sloučení_starého_s_nynějším.po dosavadní_starý.po nynější.po

Tím "nynějším" souborem se myslí soubor, který je ve vývoji programu nejnovější, a když pak vložíme do složky s překlady odpovídající .mo soubor, program bude na 100 % přeložený podle aktuálního stavu svého vývoje.

Je možné, že na něm někdo pracuje a má přednost při nahrávání své verze do zdrojových kódů programu (nebo někam, odkud si jej program přebírá, například v případě části KDE programů, jejichž překlady jsou centralizovány na jednom místě). Naším cílem je jen pořídit si jeho vlastní verzi, která vychází ze stavu překladu tohoto programu, které jsme dosáhli kdykoli v minulosti. Prostě chceme mít aktuální soubor, když si jej budeme chtít z dosavadního stavu svého překladu udělat bez ohledu na to, že třeba někdo jiný na tom taky dělá.

Při používání vlastní verze překladu s tím potom samozřejmě máme víc práce. Zatímco u hlavní větve překladu je slučování s tím, co nového s tím vývojáři udělali automatické, my si to děláme pokaždé znovu tak často, jak uznáme za vhodné sami na koleně. Ale není to nic složitého. Příkaz v té podobě, v jaké jej potřebujeme si můžeme uložit a kdykoli rychle použít. Stačí jej v tom textovém souboru označit a udělat Ctrl+C a v terminálu ve složce s těmi soubory Ctrl+Shift+C.

Jen je potřeba v tom mít pořádek, takže to dělám například tak, že si ve složce s programem XY vytvořím podsložku pojmenovanou datem, například 4. 8. 2011, a do ní uložím nejnovější soubor podle vzoru použitého v příkazu tak, že mu přidám písmenko n, pak ze složky s předchozím datem zkopíruju svůj vlastní nejnovější překlad, a ten přejmenuju přidáním písmenka s. Klidně si do té složky zkopíruju i texťák s příkazem, otevřu jej, zkopíruju, co potřebuju, vložím v příkazovém řádku a je vymalováno.