Překlady
Překlady katalogů
Tato sekce by Vám měla poskytnout návod, jak přeložit katalog zpráv pro nějakou aplikaci,
jinak řečeno - jak ji přeložit do češtiny. Berte tento návod jako "suchý" sled instrukcí,
co je třeba udělat. Většina programů pro překlad (viz sekce "Nástroje")
většinu níže uvedené "špinavé" práce udělá za Vás.
Přepokládáme, že jste si pročetli sekci "Úvod" a víte, co je třeba udělat dříve, než
začnete s vlatním překladem.
- Soubory s katalogy (tj. textem, který se objevuje v GUI) se vyskytují ve dvou podobách:
- soubor s příponou PO (např. desktop.po) obsahuje již přeložené hlášky
(byť i částečně); PO znamená Portable Object
- soubor s příponou POT (např. ktuberling.pot) obsahuje pouze originální
hlášky v angličtině pro aplikaci, která ještě nebyla přeložena; POT znamená
Portable Object Template
Zde je zkrácený příklad jednoho takového POT souboru:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Free Software Foundation, Inc.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2000-02-13 01:00+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
#: toplevel.cpp:403
msgid "Unknown picture format"
msgstr ""
#: toplevel.cpp:431
msgid "Could not print picture"
msgstr ""
#: toplevel.cpp:437
msgid "Picture successfully printed"
msgstr ""
#: toplevel.cpp:770
msgid "Eyes"
msgstr ""
- každý soubor obsahuje hlavičku (v našem příkladu prvních patnáct řádků), které obsahují
informace o daném programu, o Vás jako překladateli, o datumu vytvoření katalogu a jeho
poslední revize atd. Jako Language-Team uveďte Czech a email cs@li.org
- při prvním překladu se tato hlavička vyplní a soubor se uloží s příponou PO, s kterým se
dále pracuje; při dalších překladech se pouze aktualizují odpovídající položky
(poslední překladatel, datum revize, atd.). Při prvním překladu je také nutno odstranit
(v našem příkladě pátý řádek) s položkou fuzzy
- zbytek souboru obsahuje vždy následující trojici řádků, oddělených jedním prázdným:
- první je komentář (BTW jako všechno za znakem #), který říká, v jakém zdrojovém
souboru a na jaké pozici se daná zpráva vyskytuje
- druhý za identifikátorem msgid je původní zpráva v angličtině (tu
neupravovat)
- třetí za identifikátorem msgstr je právě to, oč tu běží! Do prázdných
uvozovek přeložíme danou zprávu do češtiny
- tudíž náš soubor by po překladu vypadal nějak takto:
# Czech messages for ktuberling.
# Copyright (C) 2000 Free Software Foundation, Inc.
# Lukáš Tinkl <caybro@seznam.cz>, 2000.
#
msgid ""
msgstr ""
"Project-Id-Version: ktuberling\n"
"POT-Creation-Date: 2000-02-13 01:00+0100\n"
"PO-Revision-Date: 2000-02-23 19:17 CET\n"
"Last-Translator: Lukáš Tinkl <caybro@email.cz>\n"
"Language-Team: Czech <cs@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: toplevel.cpp:403
msgid "Unknown picture format"
msgstr "Neznámý formát obrázku"
#: toplevel.cpp:431
msgid "Could not print picture"
msgstr "Nelze vytisknout obrázek"
#: toplevel.cpp:437
msgid "Picture successfully printed"
msgstr "Obrázek úspěšně vytištěn"
#: toplevel.cpp:770
msgid "Eyes"
msgstr "Oči"
- na co si dávat pozor?
- zpráva může obsahovat příznak fuzzy, což znamená, že tato zpráva je nedokonale
přeložená, a nebude zahrnuta do výsledného překladu; slouží opět jako komentář. Vaším
úkolem ja takovou zprávu zkontrolovat, popřípadě opravit překlad a tento fuzzy řádek
(celý!) odstranit.
- zpráva může obsahovat některé kontrolní znaky, jako např.: %s, %1,
%2 atd, uvozené procentem (%). Tyto znaky slouží jako jakási "zástupka", na
jejíž místo se v programu doplní nějaké konkrétní číslo nebo řetězec, o čemž nás
informuje komentářový řádek #, c-format. Např:
#: netutils.cpp:78
#, c-format
msgid "unknown host %1"
msgstr "neznámý hostitel %1"
Je tedy na Vás, abyste zvážili, kam tuto zástupku umístíte; v každém případě ji někam
musíte umístit!
- dalším znakem, který má speciální význam je ampersand (&). Tento znak určuje, které
písmeno v menu bude použito jako tzv. akcelerátor (bude podtržené). Opět je na Vás, před
který znak ve svém překladu ampersand umístíte; v každém případě by se v jednom menu
neměly vyskytovat dvě položky se stejným akcelerátorem.
- sekvence \n říká, že v tomto bodě bude zlom řádku (myšleno v aplikaci, např. v
dialogovém okně). Nemusíte nutně udělat zlom ve stejném bodě, ale přeložená zpráva
musí obsahovat stejný počet nových řádků (\n), jako její originál! Např.:
#: kword_page.cc:1459
msgid ""
"The selected Frame is the last frame of the Frameset\n"
"%1.\n"
"If you delete it, the whole Frameset + its Text will be deleted too!\n"
"Do really want to do that?"
msgstr ""
"Vybraný rámec je poslední ze sady rámců\n"
"%1.\n"
"Smažete-li ho, celá sada rámců i s textem bude taky smazána!\n"
"Chcete to opravdu udělat?"
- čas od času se na konci dokumentu objeví např. takovéto řádky:
#~ msgid "Classic"
#~ msgstr "Klasický"
#~ msgid "Tower"
#~ msgstr "Věž"
tyto řádky můžete směle smazat, ať nezabírají místo - už se v programu nepoužívají
- čeho se držet?
- psát spisovně, nedělat hrubky, dbát na správnou interpunkci, atd. Zkrátka psát
správně česky
- nebát se podívat se do slovníku (pokud doma nemáte, pár jich je v sekci
"Odkazy")
- kde získat nejnovější katalogy pro překládání?
- každou noc se na FTP serveru KDE objeví snapshot (pro každý jazyk zvlášť) toho,
co již bylo přeloženo (ve zdrojové podobě). Nás
zajímá soubor kde-i18n-cs.tar.bz2, který je v
tomto adresáři
- vždy aktuální katalogy
a šablony lze získat z online
SVN adresáře
- na závěr to nejdůležitější: pokud nepoužíváte nějaký specializovaný program na překlad
katalogů (což silně nedoporučujeme; některé takové programy jsou v sekci
"Nástroje"), vždy si svůj překlad zkontrolujte!
(příkazem msgfmt --statistics <váš_soubor>.po) a nezapomeňte taky zkontrolovat
chyby (překlepy atd.). Teprve potom nám ho pošlete k zařazení na SVN server.