<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
        <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-2">
        <title>Doporučení pro překlad odborných textů jazyka Python - verze 1.1</title>
</head>
<body>

<div align="center">
        <h2>Doporučení pro překlad odborných textů jazyka Python</h2>

        <b>
                Jan Švec
                <a href="mailto:honza@py.cz">&lt;honza@py.cz&gt;</a>
        </b><br>

        <b>verze 1.1 (2. října 2002)</b><br>

        <font size="-1">Copyright &copy; 2002 Jan Švec</font>
</div>

<hr>

<ul>
        <li>
                <h3>Úvod</h3>

                <p>
                Tento text vznikl na základě potřeby vytvořit jednotné české názvosloví
                pro překlad dokumentace jazyka Python. Dokument rovněž uvádí některé
                doporučení pro překladatele. Nejnovější verzi dokumentu můžete najít na
                stránkách Českého sdružení programátorů a uživatelů jazyka Python (PyCZ,
                <a href="http://py.cz">http://py.cz</a>).
                </p>

                <p>
                Autorem tohoto textu je Jan Švec
                <a href="mailto:honza@py.cz">&lt;honza@py.cz&gt;</a>.
                Připomínky týkající se pravopisu a překlepů zasílejte prosím na jeho
                e-mailovou adresu.
                </p>
                
                <p>
                Verze tohoto dokumentu je 1.1 (2. říjen 2002). Jde o druhou verzi, do
                které byly doplněny (příp. poupraveny) především překlady termínů
                <i>list comprehension</i>, <i>slice</i> <i>statement</i>.
                </p>

                <p>
                Věcné připomínky k překladům termínů a jednotlivým doporučením můžete
                zasílat do e-mailové diskusní skupiny
                <a href="mailto:python@py.cz">&lt;python@py.cz&gt;</a>.
                </p>
        </li>

        <li>
                <h3>Definice jazyka Python</h3>

                <p>
                V následujícím odstavci se pokusím v pár větách popsat jazyk Python.
                Tuto definici můžete použít kdekoli, kde chcete Python v krátkosti
                charakterizovat.
                </p>
                
                <p><i>
                Python je objektový, vysoce výkonný interpretovaný programovací jazyk.
                Podporuje velké množství vysokoúrovňových datových typů (řetězce,
                seznamy, asociativní pole ...). Již základní distribuce disponuje
                mnoha moduly, pomocí nichž lze řešit širokou škálu problémů (práce se
                sokety, službami internetu, vlákny ...). Jeho interpretr běží na mnoha
                platformách (Linux, Java, Macintosh, Palm OS, DOS nebo Windows).
                Interpretr lze velice snadno rozšířit pomocí modulů napsaných v jazyku
                C (příp. C++). Další informace hledejte na domovských stránkách jazyka
                <a href="http://www.python.org">http://www.python.org</a> nebo na
                stránkách Českého sdružení programátorů a uživatelů jazyka Python (PyCZ,
                <a href="http://py.cz">http://py.cz</a>).
                </i><p>

                <p>
                <font size="-1">
                Toto je pouze nástin možného "oficiálního" českého popisu jazyka
                Python. Otevírám prostor pro další diskusi. Příspěvky zasílejte
                do mailing-listu python@py.cz.
                </font>
                </p>
        </li>

        <li>
                <h3>Doporučení pro překlad dokumentace</h3>

                <p>
                Tato doporučení se týkají všech dokumentů, které se zmiňují
                o jazyce Python. Jejich dodržování je doporučováno - přináší
                sjednocení dokumentace a ulehčuje čtenářům studium dokumentace.
                Taktéž je doporučováno veškerou existující dokumentaci upravit
                podle těchto pravidel.
                </p>

                <ul>
                        <li>
                        <h4>Objektové programování v Pythonu</h4>

                        <p>
                        Nedoporučuji psát, že Python je
                        <i>plně objektový jazyk</i>. Jestliže se totiž v jakémkoli
                        textu objevila tato věta, zvedla se vlna reakcí, říkající že
                        Python má daleko do jazyků typu Smalltalk. Diskusi na toto téma
                        přenechám jiným (prosím, nezasílejte příspěvky ohledně tohoto
                        tématu do diskuse python@py.cz), nicméně potřebujete-li
                        v odborném textu vyzdvihnout možnost objektově orientovaného
                        programování v jazyce Python, pište
                        <i>Python je objektový jazyk</i>. Další přívlastky si prosím
                        nechte pro sebe.
                        </p>
                        </li>

                        <li>
                        <h4>Jazyk dokumentačních řetězců</h4>

                        <p>
                        U programů a modulů, u nichž je třeba jen pouze teoretická
                        šance, že je bude používat uživatel ze zahraničí doporučuji
                        psát veškeré dokumentační řetězce v angličtině. Jestliže
                        anglickým jazykem příliš nevládnete, je lepší najít někoho, kdo
                        by byl ochoten těch pár kilobytů textu přeložit. Komentáře by
                        bylo možné psát i česky (popř. slovensky) - o to důležitější
                        je ovšem kvalita dokumentačních řetězců.
                        </p>
                        </li>

                        <li>
                        <h4>Psaní funkcí a metod</h4>

                        <p>
                        Ve všech textech, které uvádí příklady zdrojových kódů
                        a následně vykládají jednotlivé funkce nebo metody doporučuji
                        uvést znaky () za názvem funkce/metody. Čtenáři to umožňuje
                        lepší orientaci mezi proměnnými. (Například: <i>Funkce os.walk()
                        projde celý adresářový strom ...</i>, <i>Metoda store() třídy
                        MyClass uchová objekt ...</i>)
                        </p>
                        </li>

                        <li>
                        <h4>Argumenty vs. parametry</h4>

                        <p>
                        Je možné používat oba výrazy, ovšem v rámci jednoho dokumentu,
                        pokud je to vhodné, jednotně. Totéž platí i pro příkazy typu
                        <i>print</i> (např. <i>Příkaz print vytiskne argumenty jemu
                        předané na standardní výstup.</i>).
                        </p>
                        </li>

                        <li>
                        <h4>Datové typy</h4>

                        <p>
                        U slovních spojení, které obsahují slovo typ (ve významu datový
                        typ), doporučuji explicitní uvedení slova datový (např.
                        <i>Sekvenční <u>datové</u> typy obsahují konečné množství
                        prvků.</i>).
                        </p>
                        </li>
                        
                        <li>
                        <h4>Slovník termínů pro překlad</h4>

                        <p>
                        Následující výčet termínů lze použít pro překlad dokumentace
                        z anglického jazyka do jazyka českého (popř. slovenského).
                        </p>

                        <ul>
                                <li>
                                <b>Builtin <i>(function, module, namespace)</i></b> -
                                <i>Interní</i>, pouze výjimečně je možné použít <i>Vestavěný</i>
                                nebo <i>Vnitřní</i>.
                                </li>

                                <li>
                                <b>Dictionary</b> - v dokumentaci pro začátečníky je lepší
                                psát <i>Slovník</i>, zároveň je třeba uvést další možný překlad
                                <i>Asociativní pole</i>. V textech pro pokročilejší bych se
                                spíše přikláněl k druhému výrazu.
                                </li>

                                <li>
                                <b>Catching an exception</b> - <i>Odchycení výjimky</i>
                                </li>

                                <li>
                                <b>Default argument values</b> -
                                <i>Implicitní hodnota argumentu</i>, nebo opisem za použití
                                sousloví <i>Nepovinný argument</i>
                                </li>

                                <li>
                                <b>Exceptions</b> - <i>Výjimky</i>
                                </li>

                                <li>
                                <b>Exception throws</b> - <i>Výjimka se šíří</i>
                                </li>

                                <li>
                                <b>High level data types</b> - <i>Vysokoúrovňové datové typy</i>
                                </li>

                                <li>
                                <b>Immutable types</b> - <i>Neměnné typy</i>
                                </li>

                                <li>
                                <b>Indentation</b> - při prvním výskytu v textu doporučuji
                                použít <i>Odsazení od kraje</i>, později lze zkrátit na
                                <i>Odsazení</i>
                                </li>
                                
                                <li>
                                <b>Keyword arguments</b> - <i>Keyword argumenty</i>
                                </li>

                                <li>
                                <b>Lambda functions</b> - <i>Anonymní lambda funkce</i>,
                                případně <i>Lambda funkce</i>
                                </li>

                                <li>
                                <b>List</b> - <i>Seznam</i>
                                </li>

                                <li>
                                <b>List comprehension</b> - Po delším čase se konečně našel
                                vystihující a jednoduchý překlad - <i>Stručný seznam</i>
                                </li>

                                <li>
                                <b>Mapping types</b> - <i>Mapované typy</i>
                                </li>

                                <li>
                                <b>Mutable types</b> - <i>Proměnné typy</i>
                                </li>

                                <li>
                                <b>Namespace</b> - <i>Prostor jmen</i>
                                </li>

                                <li>
                                <b>Positional arguments</b> - <i>Poziční argumenty</i>
                                </li>

                                <li>
                                <b>Raising exception</b> - <i>Vyvolání výjimky</i>
                                </li>

                                <li>
                                <b>Raw string</b> - <i>Raw řetězec</i>
                                </li>

                                <li>
                                <b>Sequence types</b> - <i>Sekvenční typy</i>, podle doporučení
                                výše psát raději <i>Sekvenční datové typy</i>, zkráceně
                                <i>Sekvence</i>.
                                </li>

                                <li>
                                <b>Sequence unpacking</b> - <i>Rozklad sekvencí</i>
                                </li>

                                <li>
                                <b>Slice (1)</b> (jako způsob, kterým je možné indexovat více
                                prvků najednou) - předně lze použít doporučovaný překlad
                                <i>Indexování podsekvencí</i> případně
                                <i>Indexování subsekvencí</i>, až pokud by opakované použití
                                výše uvedených termínů nebylo vhodné, lze použít i překlad
                                <i>Slice konstrukce</i>, případně <i>Slice</i>.
                                </li>

                                <li>
                                <b>Slice (2)</b> (jako výsledek slice konstrukce) - překládat
                                jako <i>Podsekvence</i>, <i>Subsekvence</i>. Výjimečně také
                                jako <i>Slice</i>, případně použít výrazu <i>Řez</i>. Je-li to
                                nutné, použijte opisný tvar <i>Výsledek slice konstrukce</i>,
                                případně <i>Podmnožina prvků seznamu (tuple)</i>.
                                </li>

                                <li>
                                <b>Statement</b> - vždy překládat jako <i>Příkaz</i>.
                                </li>

                                <li>
                                <b>Tuple</b> - <i>Tuple</i>, tento výraz nepřekládat,
                                v některých případech je rovněž ovšem možný překlad <i>n-tice</i>.
                                (Například: <i>Dvojice souřadnic (x, y)</i> je lepší než
                                <i>Tuple souřadnic (x, y)</i>).
                                </li>

                                <li>
                                <b>Tuple packing</b> - <i>Skládání tuple</i>
                                </li>

                                <li>
                                <b>Unhandled exception</b> - <i>Neobsloužená výjimka</i>
                                </li>

                        </ul>

                        </li>
                </ul>
        </li>

        <li>
        <h3>Licence</h3>

        <p>
        Tento dokument byl vytvořen pro České sdružení programátorů a uživatelů
        jazyka Python (PyCZ, <a href="http://py.cz">http://py.cz</a>). Dokument je
        možné šířit a/nebo modifikovat pod licencí GPL verze 2 (nebo, podle vaší
        volby, libovolnou novější verzí).
        </p>

        <p>
        Copyright &copy; 2002 Jan Švec
        <a href="mailto:honza@py.cz">&lt;honza@py.cz&gt;</a>
        </p>
</ul>
</body>
</html>