Jak překládat, aneb pár dobře míněných rad na začátek

Co je to překlad?

Překlad, přesněji lokalizace, je pro všechen software v rámci projektu GNOME založen na technologii gettext, která je známá i z lokalizace ostatních velkých otevřených softwarových projektů, jako např. KDE nebo GNU. Sestává se z prosté editace katalogu zpráv (souboru .po), a to buďto v libovolném textovém editoru s podporou UTF-8, nebo pomocí specializovaných nástrojů, o nich viz níže.

Odbočka: co je to soubor .po?

Struktura souboru .po

Na začátku najdete několik řádků komentářů, které by měly mít přibližně následující strukturu:

  • # Czech translation of [název modulu, např. gedit].
    # Copyright (C) [rok držitel copyrightu k modulu, např. 2008 Free Software Foundation, Inc.]
    # This file is distributed under the same license as the [název modulu] package.
    # [jméno a e-mail prvního překladatele, roky překladu; např. Franta Voprsalek <franta@neco.cz>, 2006, 2007.]
    # [jméno a e-mail druhého/dalšího překladatele, roky překladu; např. Pepa Novak <pepa@necojineho.cz>, 2008.]
    #

Poté přichází na řadu úvodní řetězce obsahující nejdůležitější informace o souboru, např.:

  • "Project-Id-Version: [název modulu, např. gedit]\n"
    "Report-Msgid-Bugs-To: \n"
    "POT-Creation-Date: [datum, např. 2008-01-22 17:38+0000]\n"
    "PO-Revision-Date: [datum, např. 2008-01-22 17:40+0200]\n"
    "Last-Translator: [jméno a e-mail posledního překladatele, např. Pepa Novak <pepa@necojineho.cz>]\n"
    "Language-Team: Czech <gnome-cs-list@gnome.org>\n"
    "MIME-Version: 1.0\n"
    "Content-Type: text/plain; charset=UTF-8\n"
    "Content-Transfer-Encoding: 8bit\n"
    "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"

Konečně následují řádky s tímto významem:

  • msgid "text"

    překladový klíč, původní anglický text

    msgstr "text"

    překladová hodnota, český překlad předchozího klíče

    # text

    řádek s komentářem

    #: soubor:řádek

    popis umístění textu ve zdrojovém souboru, užitečné pro pokročilé překladatele schopné vyhledávat kontext řetězce v rámci zdrojového kódu, jindy lze kontext odhadnout na základě samotného názvu zdrojového souboru

    #, fuzzy

    následující překlad je nejasný, a nebude v programu použit, dokud se neodstraní tento komentář; v aplikaci Poedit se takový komentář přidává ikonkou mráčku v liště nástrojů

    #. text

    nápověda překladateli od programátora, je velmi důležité těmto komentářům věnovat pozornost

    #~ text

    zastaralý, nadále nepoužívaný překlad, není nutné mazat, může se využít v budoucích překladech

(!) V komentáři se mohou vyskytovat i další informace o řetězci, zapisované podobně jako #, fuzzy, uvádějící formát zápisu (#, c-format, #, python-format, #, csharp-format aj.), které nejsou pro samotný překlad příliš podstatné. Pokud je takový řetězec označen jako fuzzy, zapisují se obě informace společně (#, fuzzy, c-format).

V souboru bývá několik speciálních klíčů (avšak v aplikaci Poedit jsou zobrazeny úplně stejně jako všechny ostatní klíče), na ty je třeba si dávat pozor.

  • "translator-credits"

Řetězec výše se nepřekládá doslova, ale uvádí se sem seznam překladatelů, kteří se o překlad zasloužili. Nezapomeňte se podepsat taky. Příklad (jméno a e-mail prvního překladatele, další jména a e-maily se oddělují novým řádkem, tedy \n):

  • msgid "translator_credits"
    msgstr
    "Franta Vopršálek <franta@neco.cz>\n"
    "Pepa Novák <pepa@necojineho.cz>"

V řetězcích se také mohou vyskytovat názvy entit, prvků nebo značek, popř. hodnoty „true“ či „false“ v klíčích GConf. V žádném případě nelze tyto části překládat. Naopak vysvětlující či příkladový text v klíčích, přepínačích apod., např. value="something" nebo --save [filename], překládat nutné je (tedy value="něco", resp. --save [názevsouboru]).

Specifické jsou řetězce určující formát času za pomoci proměnných („strftime“, více viz příkaz „man 3 strftime“). Vhodnou lokalizací do českého prostředí je např.:

  • msgid "%a, %b %d, l:%M %p"
    msgstr "%a, %d. %B, %H.%M"

Obvykle kontextový komentář od programátorů obsažený přímo v anglickém řetězci a oddělený „|“ též není možné překládat:

  • msgid "label shown on graph|Turn off"
    msgstr "Vypnout"

V nabídkách grafických rozhraní programů se obvykle vyskytují tzv. akcelerátory, které umožňují jednoduché a rychlé zvolení položky nabídky pomocí klávesové zkratky. V překladech aplikací GNOME je akcelerátor značen podtržítkem („_“) před znakem, který je pak ve vlastním programu podtržen, neboli je součástí příslušné klávesové zkratky. Pravidla nakládání s akcelerátory při překládání je možné shrnout následovně.

V rámci jedné nabídky, aktivního dialogového okna apod. by neměly být vybrány dva stejné znaky (velikost písmen se nerozlišuje), např.

  • So_ubor
    _Uložit

...je chybné. U jednoho z nich je nutné zvolit jiný znak, neměl by to ale být znak s diakritikou (viz [[]]), takže nikoliv např.

  • Ulo_žit
    Nápov_ěda

Níže uvedeným příkazem je možné ověřit, zda je počet akcelerátorů v originále i překladu stejný:

  • msgfmt --check-accelerators=_ cs.po

V některých případech nelze nestejný počet akcelerátorů považovat za chybu, zda tomu tak je zrovna v prověřovaném překladu, to musí posoudit překladatel. Výsledek uvedeného příkazu může být tím pádem značně nepřesný.

Jak začít?

Je to jednoduché, jen pár kroků...

1. Editor souborů .po

Jak již bylo uvedeno, můžete použít jakýkoliv svůj oblíbený textový editor (.po je přece prostý text, že?), ale s obyčejným editorem nejde práce tak pěkně od ruky. Proto si pořídíme přímo editor katalogů zpráv Poedit. Pravděpodobně již bude obsažen v repositářích vaší oblíbené distribuce. Neváhejte a nainstalujte ho! Alternativně je možné použít i editor KBabel pro prostředí KDE, obsahující více funkcí. Poslední stabilní verze editoru gtranslator pro prostředí GNOME obsahuje mnohé závažné chyby, a proto je lepší se tomuto softwaru vyhnout. V každém případě se prosím ujistěte, že používáte českou kontrolu pravopisu. Ta je schopna zachytit nejčastější překlepy.

(!) Textový editor pro GNOME gEdit umí zvýrazňovat syntaxi .po souborů.

2. Co překládat?

Podívejte se na stránku CoPrekladat, kde je vysvětleno, kde najít vaší oblíbenou aplikaci či text k překladu. Zvolte si nějakou, kterou ještě nikdo nepřekládá, a zapište se (a nebuďte smutní, pokud vám vzali tu vaši oblíbenou). Pokud s překlady začínáte, pravděpodobně je vhodné si nejdříve vyzkoušet překlad něčeho menšího, či nějakého programu, který často používáte a dobře znáte. Pokud vás práce bude bavit a bude se vám dařit, můžete se zaměřit na větší a náročnější moduly.

3. Hotovo, jdeme na to!

Nyní máte vše potřebné k překládání. Editor, jazykové znalosti i technické dovednosti, a soubor .po. Jo, a málem by se zapomnělo na to nejdůležitější! Na překladatelský slovník! Nevypadá moc dobře, když každá aplikace používá pro stejný anglický výraz jiný český překlad. Proto dbejme na konzistenci napříč celým pracovním prostředím! Při překladech prosím vždy dodržujte zvyky uvedené v překladatelském slovníku, případně používejte i slovník Ubuntu nebo projekt Open Tran (zde ale vždy dbejte na přednostní používání překladů s logem GNOME). Podle vlastního uvážení je možné používat i ne plně schválené překlady jako například JakPrekladat/AboutThisDocument.

4. Kontrola překladu

V závěru překládání je nutné provést základní kontrolu správného formátu katalogu zpráv za pomoci následujícího příkazu:

  • msgfmt -cv cs.po

Pokud se v souboru .po vyskytují nějaké chyby, budou vypsány. V takovém případě je prosím opravte. Zároveň bude tímto příkazem vytvořen binární soubor, který si po přejmenování (např. na metacity.mo) můžete nahrát do příslušných adresářů s národním prostředím (angl. locale), a svůj překlad si tak otestovat v praxi (adresářová cesta může být např. /usr/share/locale/cs/LC_MESSAGES/).

Jak překládat uživatelské příručky

Překlad uživatelských příruček s dokumentací se trochu liší od překladu klasických aplikací, zvláště je jiný postup při zobrazení výsledku. Více je popsáno v naší konferenci.

Poslušně hlásím, že mám přeloženo!

Dle návodu Co překládat odešlete přeložený soubor pomocí webového rozhraní zpět k nám. Výsledků vaší práce se v každém případě ujmou odpovědné osoby, provedou kontrolu a odeslání do SVN GNOME, kde se nachází kompletní zdrojové kódy celého GNOME i s překlady.

Nějak nevím, co dělat!

Jestliže vás tento návod nic nenaučil, nezbývá než doporučit oficiální dokumentaci GNOME určenou překladatelům, popř. následující slovenské seriály na serveru abclinuxu.cz: Ako na preklad slobodných programov a Ako na preklad slobodných programov 2.

S dotazy nás kontaktujte v poštovní konferenci nebo na IRC kanálu #gnome-cz na irc.gnome.org.

Související články

Czech/JakPrekladat (last edited 2009-06-12 15:58:31 by KamilPáral)