On to čtenář stejně koupí…
Zamyšlení nad kvalitou překladů odborné literatury z oblasti informačních technologií.
Mnohá česká nakladatelství v posledních letech stále častěji nabízejí překlady řady významných i méně významných učebnic a jiných odborných knih z oblasti informačních technologií. Nikdo nepochybuje, že jde o záslužnou práci: Ne každý zájemce o informační technologie umí dostatečně anglicky; ostatně v posledních letech si zejména američtí autoři zvykli vyjadřovat se velmi květnatě, takže číst některé z knih v originále může být opravdu náročné. Navíc ne každý si může dovolit dát nějakých 50 nebo více eur za jednu knihu.
Na druhé straně ovšem při čtení českých překladů zahraničních knih stále narážíme na problémy s kvalitou překladu. Známé italské úsloví říká, že přeložit znamená zradit, a překlady (nejen odborné literatury), které se objevují na českém trhu, mne se železnou pravidelností přesvědčují, že nejde jen o slovní hříčku.
Je asi jasné, že knihy z oblasti IT nemůže překládat člověk, který o počítačích a podobných věcech neví vůbec nic. Takoví překladatelé se ale naštěstí objevují jen zřídka. Daleko častější je situace, kdy knihu překládá někdo, kdo se v oblasti IT pohybuje a umí docela slušně anglicky, ale o přesném zaměření překládané knihy neví nic nebo jen velmi málo.
Těsně vedle
I když překladatel něco o tématu ví, zpravidla není odborníkem na přesně tu
oblast, o níž překládaná kniha hovoří. To znamená, že mu uniká řada termínů,
narážek na známé skutečnosti atd. Někdy chybí i chuť promyslet si, o čem je
vlastně řeč, a překladatel se s termínem prostě nestrefí. Podívejme se na
několik půvabných příkladů posbíraných převážně v literatuře z poslední doby.
Víte, co je to počet referencí? Jde o jeden z nejjednodušších algoritmů pro automatickou správu paměti, anglicky označovaný reference counting, tedy počítání referencí. (Toto nedopatření najdeme např. v [1] nebo v [2].)
Slova mění význam
Pokud si překladatel neví rady, měl by sáhnout po slovníku. Jenže ani pak
nemá vyhráno. Slovníky často obsahují zastaralé významy anglických termínů,
které se dnes prakticky nepoužívají a které znají snad jen pamětníci. Výsledkem
může být překlad, který dnešnímu čtenáři připadá nesmyslný.
Jeden příklad za všechny: V úvodní části knihy [4] najdeme výklad o tom, že tvůrce překladače jazyka C++ nemusí mít pod kontrolou zaváděč. Co to je? Nic jiného než linker, tedy sestavovací program. Ovšem v prvopočátcích počítačové éry, kdy se programy zadávaly z děrných štítků a před každým během se překládaly, se linker (nebo také linkage editor) opravdu staral o sestavení programů a jeho zavedení do paměti.
Ostatně v podobném smyslu se kdysi používalo i slovo asembler (tehdy se psalo
ještě assembler).
Matoucí překlad
Někdy se v překladech setkáme s vyjádřením, které naznačuje něco jiného, než
co doopravdy znamená. Podívejme se opět na několik perliček posbíraných především
v nedávno vydaných knihách.
V knize [1], věnované programovacímu jazyku C++, jsem našel tajemně vypadající nadpis Převod konstruktoru a o stránku dále Převod operátorů. Nic takového tento jazyk samozřejmě nenabízí; o co tedy jde? O nic převratného - jde o převod (konverzi typu) pomocí konstruktorů, resp. o převod pomocí operátorů.
V téže knize se hovoří o potlačení virtuální funkce. Slovník spisovného jazyka českého uvádí, že slovo potlačit znamená 1. znemožnit, aby se něco uskutečnilo nebo projevilo, 2. smáčknout, poněkud stlačit. V souvislosti s virtuálními metodami jde ale o nešikovný a nevhodný překlad anglického termínu override, který rozhodně neznamená znemožnění nebo zabránění v projevu, natož pak stlačení.
Připadá mi podstatně rozumnější hovořit o předefinování nebo o překrytí
metody; ostatně anglické verze těchto termínů se v souvislosti s některými
programovacími jazyky používají.
Před několika lety jsem se setkal se začínajícím programátorem, který se domníval, že potlačení opravdu znamená odstranění virtuální metody v potomkovi - jenže nic takového v C++ udělat nelze! Nevhodně zvolený termín v tomto případě zjevně ztěžuje pochopení.
Poznamenejme, že o tomto termínu, používaném občas i v původní české literatuře,
jsem již psal v článku Jak otrávit budoucího programátora (2), který
vyšel v Chipu 8/2001, str. 129.
Když se překlad nezdaří
V některých případech se nemohu ubránit dojmu, že se překladatel podíval do
slovníku, a protože neměl tušení, o co ve skutečnosti jde, náhodně vybral
jeden z nabídnutých českých ekvivalentů. Jindy příliš nepřemýšlel o významu
a "nějak to přeložil". V každém případě tak vzniklo něco, co může
čtenáři opět značně ztížit pochopení. Podívejme se na příklady.
Výběr knihy k překladu
Svérázným problémem je výběr knihy k překladu. Často jsou překládány knihy,
které patří ve svém oboru ke špičce a které jsou aktuální; není to ale stoprocentní
pravidlo; občas někdo přeloží knihu, která je zastaralá.
Typickým příkladem je kniha [4]. Jde o překlad druhého vydání slavné Stroustrupovy knihy věnované programovacímu jazyku C++. Originál vyšel v roce 1991 a po několik let patřil k nejprodávanějším titulům nakladatelství Addison-Wesley. To je jistě skvělé doporučení; jenže v roce 1997, kdy vyšel jeho český překlad (ostatně nijak špatný, přestože ho v tomto článku uvádím), už bylo toto vydání výrazně zastaralé a B. Stroustrup dokončoval třetí, zásadně přepracované. (Třetí vydání věnuje mj. mnoho místa standardní knihovně jazyka C++. Ve druhém vydání o ní není ani zmínka, neboť v roce 1991 nikdo ještě ani netušil, jak bude tato knihovna vypadat.)
Jiným příkladem může být kniha [5], věnovaná jazyku C#. Není špatná, ale je zjevně napsána podle betaverze jazyka, a tak některé informace v ní nemusí být pravdivé. Přitom u nás vyšla v době, kdy byla na trhu již téměř rok ostrá verze tohoto jazyka. Ani kvalitou nepatří ke špičce, neboť v ní najdeme informace, které nebyly pravdivé ani v žádné z betaverzí - například tvrzení, že v identifikátorech v C# nelze používat znaky národních abeced.
Dovolím si poznamenat, že takováto nedopatření originálu by měl překladatel
zachytit.
Angličtina především?
Zejména na počátku devadesátých let byla řada překladatelů přesvědčena, že
používat české termíny je nevhodné, možná dokonce nedůstojné. Někteří z nich
zacházeli tak daleko, že anglické termíny v českém textu dokonce anglicky
skloňovali. Typickým příkladem byla kniha [8], věnovaná
jednomu z prvních překladačů jazyka C++, který nabídl implementaci šablon.
Překladatelé ponechali anglický termín template, a tak jsme mohli číst
věty jako Pomocí templates lze generovat vzestupně sladěné třídy.
Na podobné krásy lze často narazit i v překladech literatury z oblasti science fiction, neboť její slovník má k odborným textům poměrně blízko - vzpomeňme na knihu Gateway od Fredericka Pohla, vydanou na počátku devadesátých let. Překladatel nejenže nevzal v úvahu, že gateway - tedy brána - je pojmenování artefaktu, který nepochází z anglického jazykového prostředí, a tedy je třeba ho přeložit, ale dokonce si s ním v českém textu nevěděl rady, takže chvíli hovořil o gateway, chvíli o gatewayi.
V jisté knize, věnované mj. matematickým aspektům některých hazardních her, jsem se dočetl, že italský renezanční matematik a lékař G. Cardano napsal knihu Book on Games of Chance. Nenapsal; v oné době by totiž nikdo nebral vážně odborné pojednání psané jinak než latinsky nebo řecky (a tehdejší Ital by určitě nepsal anglicky). Kniha se jmenovala Liber de ludo aleae (Kniha o hře v kostky, vyšla 1663, tedy 100 let po napsání). Ovšem americký autor pro pohodlí amerického čtenáře přeložil latinský název knihy do angličtiny a český překladatel to tupě opsal.
V posledních letech se naštěstí takováto zvěrstva objevují jen výjimečně.
I když ... před několika dny jsem se setkal s prezentací věnovanou návrhovým
vzorům, jejíž autor tvrdil, že design patterns jsou uspořádány podle intent.
Palacký by se divil.
Je třeba překládat vše?
Otázka v nadpisu možná lehce zavání cenzurou, a to v žádném případě nechci;
naopak, na cenzuru v jakékoli podobě jsem dost alergický. Nejde mi o to zatajovat
čtenářům nějaké informace, jde mi o to, že kniha by měla čtenářům poskytnout
informace, které od ní očekává, a to bez ohledu na to, zda jde o původní tvorbu
nebo o překlad.
Začneme trochu úsměvným nedopatřením, na které jsem narazil v [2]. Tato kniha obsahuje užitečnou kapitolku věnovanou dokumentačním komentářům. V ní se ovšem také tvrdí, že dokumentačním komentářům se obvykle říká komentáře doc, a od tohoto místa se zde opravdu hovoří jen o komentářích doc. Jde samozřejmě o doslovný překlad zkratkového vyjádření používaného v angličtině, o slovní vtípek, který nemá v češtině obdobu. Pokud vím, čeští programátoři občas hovoří o "dokumenťácích" a jiných věcech, nepotkal jsem ale ani jednoho, který by hovořil o komentářích doc.
Do stejném kategorie patří i výklad o významu obrázku na obálce, který najdeme v předmluvě ke knize [10]. Ten platí pro anglické vydání, ovšem v českém vydání nemá co dělat, neboť nakladatelství použilo pro český překlad úplně jinou ilustraci.
Trochu horší je, když např. v knize věnované počítačové typografii najdete obsáhlý výklad o pravidlech požadovaných normou DIN. Když jsem poprvé otevřel knihu [9], narazil jsem na větu Jistě jste zvědavi, proč v zemi, kde se používá norma DIN, … Vzhledem k tomu, že českých čtenářů, kteří se budou snažit vyhovět německé normě, u nás asi mnoho nebude, měly by takovéto partie být při překladu nahrazeny odpovídajícími informacemi o pravidlech platných v našich podmínkách, tedy o požadavcích odpovídající normy ČSN. (Držitelé autorských práv v drtivě většině podobných případů nemají proti takovýmto úpravám námitky.)
Když se to přeloží doslova
Překládat je třeba smysl, nikoli slova. Jenže smysl může zůstat utajen i profesionálnímu
překladateli. Například B. Eckel v knize [1] v pasáži,
věnované objektovým datovým proudům, hovoří o proudových třídách povšechně
a používá přitom poněkud zavádějící termín iostraeams class. V originále se
např. dočteme, že This example shows the iostreams class printing numbers
in decimal…. Doslovný překlad, který najdeme v [1],
zní Na tomto příkladě vidíme, že třída iostreams dokáže … a je naprosto
nesmyslný, neboť knihovna proudů v C++ žádnou třídu iostreams neobsahuje.
Autor zde použil zkratku, která ve skutečnosti znamená něco jako "jedna
z tříd pro vstup a výstup". Ovšem rozluštit to může jen někdo, kdo C++
zná. Zde je tedy vina zcela jasně na straně ledabylého vyjadřování autora.
V knize [2], jež nás v tomto článku stále provází, najdeme podstatně přímočařejší problém doslovného překladu. Dočteme se v ní např., že je třeba vytvořit instanci ArrayList, deklarovat atribut double atd. To zní, jako kdybychom měli vytvořit instanci jménem ArrayList nebo deklarovat atribut jménem double - jenže autorovi šlo o vytvoření instance typu ArrayList či o deklaraci atributu typu double. V obou případech jde o doslovný překlad obratů the ArrayList instance, resp. the double attribute. Čtenáři, snaž se.
Když je překladatelů několik
Půvabné problémy mohou vzniknout, překládá-li knihu několik překladatelů.
Začnu příkladem ze sci-fi. Na počátku devadesátých let vydalo jedno nakladatelství
sérii románů R. Zalaznyho o Amberu; v jednom z dílů hrdina jede po East Wine,
v následujícím se vrací Východní vinicí.
V beletrii to může vyvolat úsměv, v odborné literatuře to ale může podstatně
ztížit pochopení. Sám jsem se s tímto problémem setkal, když jsem se v roce
1991 podílel na překladech manuálů k Borland C++ 3.0: Každý z překladatelů
používal jinou terminologii a sladit překlady pak bylo možná obtížnější a
zdlouhavější, než to nechat přeložit jednoho člověka celé.
O knize [2] jsme hovořili už několikrát; zmínili jsme se také, že o prvcích datových struktur hovoří jako o zadáních; ovšem ne zcela důsledně. Jistý zvrácený půvab lze spatřovat ve skutečnosti, že překladatel občas hovoří o prvcích a občas o zadáních. Možná, že knihu ve skutečnosti překládalo několik lidí a ten, kdo se pod to nakonec podepsal, to zapomněl zkontrolovat…
Umět česky
Svérázným problémem je postoj některých překladatelů k rodnému jazyku. Někdy
mi připadá, že češtinu pokládají za svého nepřítele, a pokud se jim nepodaří
větu zformulovat na první pokus, pomohou si násilím. Výsledkem jsou nejen
formulace kopírující anglický pořádek větných členů, ale i další krásy. Navíc
si řada překladatelů (ale i autorů) libuje v zastaralém pravopisu, který byl
již před desítkami let v tichosti pohřben, nebo v pravopisu, který se v češtině
nikdy ani nepoužíval (ale podobá se angličtině…). Tento problém se zřejmě
netýká jen IT, ale i řady dalších oborů.
Ve finále programátorské soutěže BB2001, pořádané firmou SGP Systems, předváděl jeden mladý programátor program nazvaný Organická chemie. Program měl propracované grafické rozhraní a sloužil k opakování učiva z organické chemie na základní škole. Nicméně uhlovodíky, o nichž pojednával, se nazývaly methan, ethan atd. Když jsem se dotyčného programátora zeptal, kde k těmto tvarům přišel, řekl mi, že tak to mají v učebnicích! (V učebnicích na konci 60. let, kdy jsem končil základní školu, byl metan, etan atd.) Nechme přízraky v hrobě, ať tam odpočívají spolu s methodami, assemblery, processory (i to jsem v jedné knize našel) atd.
Osobitým problémem pro překladatele jsou goniometrické funkce, o nichž se zmiňuje řada knih o programování. Funkce sinus ještě dopadá dobře, ale z kosinu se často stává cosinus, a inverzní funkce, arkussinus, arkustangens či arkuskotangens, ty dostávají zabrat. V českých překladech najdeme arcus sinus, arc sinus, arc tangens, arctangens, arcus cotangent a jiné neuvěřitelné tvary.
Pravda, ve školním vydání Pravidel českého pravopisu jména těchto funkcí nenajdeme, ale jsou i obsáhlejší slovníky, a v nich jejich správné názvy jsou.
Také názvy některých operátorů v programovacích jazycích mohou působit problémy. Typickým příkladem je operátor čárka z C++ [1]. Řada autorů a překladatelů hovoří o operátoru čárky. To by ovšem naznačovalo, že jde o operátor, který vytváří čárku, což není pravda. Tento operátor má tvar čárky, a proto to je a musí být operátor čárka, nikoli operátor čárky.
Ostatně ani beletrie nezůstala v tomto ohledu ušetřena. V překladu Asimovovy
Nadace je univerzální galaktický jazyk v jednom dílu nazýván galaxština, v
dalším galaktika. Co dodat.
Obecný rozhled
K úspěšnému překládání je třeba znát trochu více než jen téma, o němž je řeč.
Poprvé jsem si to uvědomil při čtení jedné sci-fi, v níž jsem narazil na označení
Schwarzschild slupka. Jde o Schwarzschildův poloměr, termín
používaný ve fyzice v teorii černých děr. Tehdy jsem si myslel něco o nadřazenosti
humanitních vzdělanců, kteří pohrdají "technickými" vědomostmi.
Nicméně před nějakými dvěma lety jsem dostal rukou překlad knihy o programování,
v níž jsem mezi obecnými radami našel doporučení: "Když se budete muset
rozhodnout, uplatněte postup Occama Razora."
Vzhledem k tomu, že toto nedopatření se podařlo zachytit při korektuře, neuvádím, o jakou knihu jde.
Pro úplnost dodávám, že William Occam byl anglický filozof, který působil na přelomu 13. a 14. století na pařížské univerzitě a formulovat mj. princip známý jako Occamova břitva: Odstranit vše nepodstatné a přebytečné. (To byla ve své době velice odvážná myšlenka, takže se nelze divit, že strávil značnou část života ve vězení pro kacířství.)
Na závěr
Jako příklady jsem úmyslně vybral knihy, které zdaleka nepatří k nejhorším
- a přece i v nich se najde nepřeberná řada podobných nedopatření, které ztěžují,
a někdy i zcela znemožňují pochopení. Jak takováto nedopatření vznikají? Obvyklý
průběh je následující:
Překladatel bohužel obvykle není podrobně obeznámen s terminologií příslušného oboru. Někdy si od specialistů vyžádá základní slovníček, někdy ani to ne. To ovšem zdaleka nestačí - dnešní knihy z oboru IT často zasahují do několika oborů.
Takže knihu překládá někdo, kdo umí trochu anglicky a ví něco o počítačích, a je nakladatelem neustále uháněn, aby byl hotov co nejdříve. Výsledkem jsou nejen nedopatření v terminologii, ale i nešikovné formulace, které doslova kopírují anglické věty originálu, často včetně slovních hříček, které v češtině postrádají smysl, včetně odkazů na normy, které u nás neplatí, apod.
Redaktor, který knihu připravuje k vydání, pochopitelně také není odborník, takže takové věci jako chybný překlad termínu nemá naději zachytit. Totéž se týká i jazykových korektorů, pokud na ně vůbec zbude čas.
Nakladatel potřebuje mít knihu hotovou co nejdříve ("Není čas na
hrdinství!"), a tak na odborného lektora překladu nezbude čas. Ostatně
i kdyby zbyl, nebudou peníze.
Koneckonců, čtenář to stejně koupí, tak o co jde.
M. Virius
1. B. Eckel: Myslíme v jazyku C++. Grada Publishing, Praha 2000.
2. J. Bloch: Java efektivně. Grada Publishing, Praha 2002.
3. M. Page-Jones: Základy objektově orientovaného návrhu v UML. Grada
Publishing, Praha 2001.
4. B. Stroustrup: C++ Programovací jazyk. Ben - Technická literatura,
Praha 1997.
5. Frank Ellis: C# - začínáme programovat. Grada Publishing 2002.
6. Brett Spell: Java - programujeme profesionálně. Computer Press,
Praha 2002
7. Jon Lasser: Rozumíme Unixu. Computer Press, Praha 2002.
8. Gerhard Renner: Borland C++. Kompendium znalostí a zkušeností. Unis
Publishing, Brno 1992.
9. Calamus pro MS Windows NT a MS Windows 95. Podrobná uživatelská příručka.
Computer Press 1997.
10. Bruce Eckel: Myslíme v jazyku Java. Grada Publishing, Praha 2000