<!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.0</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.svec@seznam.cz"><honza.svec@seznam.cz></a>
        </b><br>

        <b>verze 1.0 (28. dubna 2002)</b><br>

        <font size="-1">Copyright © 2002 Jan Švec</font>
</div>

<hr>

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

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

                <p>
                Autorem tohoto textu je Jan Švec
                <a href="mailto:honza.svec@seznam.cz"><honza.svec@seznam.cz></a>
                (domácí stránky
                <a href="http://snix.oceany.cz">http://snix.oceany.cz</a>).
                Připomínky týkající se pravopisu a překlepů zasílejte prosím na jeho
                e-mailovou adresu.
                </p>
                
                </p>
                Toto je verze 1.0 tohoto dokumentu z 28. dubna 2002. Jedná se 
                o první verzi, proto prosím tolerujte případné nepřesnosti,
                neúplnosti a pravopisné chyby a překlepy. 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@zagamma.cz"><python@zagamma.cz></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ůže použít kdokoli, kdo chce 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 typů (řetězce,
                seznamy, asociativní pole ...) a 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 jazycí C/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 sružení programátorů a uživatelů jazyka
                Python (PyCZ,
                <a href="http://python.zagamma.cz">http://python.zagamma.cz</a>).
                </i><p>

                <!--- Pozn. autora: Ve výše uvedeném výčtu je platforma Windows
                uvedena záměrně na posledním místě. Toto je demonstrace proti
                monopolnímu a nemorálnímu chování firmy Microsoft. -->

                <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@zagamma.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@zagamma.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ásludují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>Odasazení</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> - <i>Konstruktor seznamu</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 retě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 - <i>Slice konstrukce</i>, případně <i>Slice</i>
                                </li>

                                <li>
                                <b>Slice (2)</b> - jako výsledek slice konstrukce je možné
                                překládat 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 případě složených příkazů (if, for,
                                try...except) <i>Konstrukce</i>, u jednoduchých příkazů typu
                                retrun nebo raise <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://python.zagamma.cz">http://python.zagamma.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 © 2002 Jan Švec
        <a href="mailto:honza.svec@seznam.cz"><honza.svec@seznam.cz></a>
        </p>
</ul>
</body>
</html>