Chapter 13. Překladové paměti

1. Překladové paměti v OmegaT
1.1. adresáře překladových pamětí – umístění a účel
1.2. Zálohy TMX
1.3. Soubory TMX a jazyk
1.4. Nespárované segmenty
2. Opětovné používání překladových pamětí
2.1. Import a export překladových pamětí
2.2. Vytvoření překladové paměti pro vybrané dokumenty
2.3. Sdílení projektových pamětí
2.4. Použití překladových pamětí s alternativními jazykovými páry
3. Zdroje s existujícími překlady
4. Paměť pseudopřekladu
5. Aktualizace překladových pamětí

1. Překladové paměti v OmegaT

1.1. adresáře překladových pamětí – umístění a účel

Projekty OmegaT mohou obsahovat soubory překladových pamětí – tj. soubory s koncovkou tmx, a tyto soubory mohou být na pěti různých místech:

Adresář omegat

Adresář omegat obsahuje project_save.tmx a případně několik záložních souborů TMX. Soubor project_save.tmx obsahuje všechny segmenty, které byly uložené do paměti od okamžiku, kdy jste začali práci na projektu. Tento soubor je v projektu vždy obsažen. Jeho obsah bude vždy řazen abecedně podle zdrojových segmentů.

Hlavní adresář projektu

Hlavní adresář projektu obsahuje tři soubory tmx, project_name-omegat.tmx, project_name-level1.tmx a project_name-level2.tmx (project_name znamená název daného projektu).

  • Soubor level1 obsahuje pouze textovou informaci.

  • Soubor level2 obsahuje tagy specifické pro OmegaT se správnými tagy TMX, takže soubor může být použitý s jeho formátovacími informacemi v překladatelském nástroji, který podporuje paměti TMX level 2, nebo samotným projektem OmegaT.

  • Soubor OmegaT obsahuje formátovací tagy specifické pro aplikaci OmegaT , takže soubor může být použitý s jeho formátovacími informacemi v jiném projektu OmegaT.

Tyto soubory jsou kopiemi souboru project_save.tmx, tj. hlavní překladové paměti projektu, kromě tak zvaných nespárovaných (osiřelých) segmentů. Mají odpovídajícím způsobem změněná jména, takže jejich obsah je možno identifikovat, i když je používáte jinde, například v podadresáři tm nebo v jiném projektu (viz níže).

adresář tm

Adresář /tm/ může obsahovat libovolné množství vedlejších překladových pamětí, čili souborů tmx. Takové soubory mohly být vytvořeny jakýmkoliv z výše jmenovaných způsobů. Všimněte si, že jiné nástroje CAT umí exportovat (a také importovat) soubory tmx, obvykle všechny tři formy. Samozřejmě nejlepší věc je použít soubory překladové paměti specifické pro OmegaT (viz výše), takže zůstane zachované formátování textu.

Obsahy překladových pamětí v podadresáři tm slouží ke generování návrhů pro překládaný text či texty. Jakýkoliv text, který byl již přeložený a uložený do těchto souborů, se objeví mezi návrhy přibližného překladu, pokud je tedy v dostatečné míře podobný textu, který je právě překládán.

Pokud je zdrojový segment v jedné z vedlejších překladových pamětí identický s právě překládaným textem, OmegaT se zachová tak, jak je to nastaveno v dialogovém okně MožnostiNastavení editace... Například (pokud je akceptováno výchozí nastavení), překlad z vedlejší překladové paměti je akceptován a je přidána předpona [přibližně], takže překladatel si může takovéto překlady v pozdější fázi překladu projít a zkontrolovat, jestli takto označené segmenty byly přeloženy správně (viz kapitolu Nastavení editace) .

Může se stát, že překladové paměti dostupné v podadresáři tm obsahují segmenty s identickým zdrojovým textem, ale odlišnými překlady. Soubory překladových pamětí jsou načítány podle svých názvů a segmenty obsažené v dané překladové paměti jsou načítány po řádcích. Poslední segment s identickým zdrojovým textem má tedy větší váhu (samozřejmě je smysluplnější v první řadě takovýmto situacím předcházet).

Soubory překladových pamětí v adresáři tm mohou být komprimovány jako gzip.

adresář tm/auto

Pokud je na samotném začátku jasné, že překlady v dané překladové paměti (nebo více pamětech) jsou správné, je možné je vložit do adresáře tm/auto a vyhnout se tak potvrzování spousty případů [přibližně].

  1. Vložit TMX do /tm/auto.

  2. Otevřete projekt. Změny jsou zobrazeny.

  3. Udělejte drobnou změnu kdekoliv v projektu. Toto upraví soubor project_save.tmx (přidáním správných překladových jednotek z „auto“ TMX)

Poznámka: pokud je paměť TMX z adresáře /tm/auto odstraněna před spuštěním kroku 3, tak se nepřidá žádná dodatečná překladová jednotka.

adresář tm/enforce

Pokud nejsou žádné pochybnosti o tom, že dodaná paměť TMX je přesnější než project_save.tmx programu OmegaT, pak vložt tuto TMX do adresáře /tm/enforce a existující výchozí paměť bude přepsána bez dalších podmínek.

  1. Vložte TMX do /tm/enforce.

  2. Otevřete projekt. Změny jsou zobrazeny.

  3. Udělejte drobnou změnu kdekoliv v projektu. Toto upraví soubor project_save.tmx.

  4. Učiňte rozhodnutí o imunitě vynucených segmentů:

    • Pokud nepotřebují zůstat imunní vůči dalším změnám, pak přesuňte paměť TMX z /tm/enforce.

    • Pokud musí zůstat imunní vůči dalším zěmnám, pak nechejte TMX v adresáři /tm/enforce.

Poznámka: pokud bude TMX odstraněna z /tm/enforce před krokem 3, pak nebudou žádné nucené změny uchovány.

adresář tm/mt

Když se vloží přibližný překlad z paměti TMX, která je umístěna v adresáři nazvaném mt, pak se v podokně editoru pozadí aktivního segmentu změní na červenou. Pozadí bude obnoveno na běžnou barvu, když segment opustíte.

adresáře penalty-xxx

Někdy je užitečné rozlišovat mezi překladovými pamětmi, kde je kladen důraz na kvalitu, a takovými, které nejsou tolik spolehlivé, čili, kde se tolik neklade důraz na obsah, klienta, revizi, status, atd. Pro překladové paměti v adresářích s názvem „penalty-xxx“ (s hodnotou xxx mezi 0 a 100), jsou přibližné překlady negativně hodnoceny dle názvu adresáře: např. 100% shody v jakékoli překladové paměti, která je v adresáři nazvaném Penalty-30, bude snížena na 70% shody. Snížení míry shody je pak aplikováno na všechny tři typy procentní shody: shody 75, 80, 90 budou v takovém případě sníženy na 45, 50, 60.

Můžete si také nastavit, aby OmegaT měla dodatečný soubor TMX (ve stylu OmegaT) kdekoliv jinde dle vaší volby, takový soubor bude obsahovat veškeré přeložitelné segmenty projektu. Viz níže Paměť pseudopřekladu.

Všechny překladové paměti jsou při otevření překladu nahrány do paměti. Pravidelně se ukládají zálohy projektové překladové paměti (viz další kapitolu), a automaticky je ukládán a aktualizován soubor project_save.tmx pokaždé, když projekt zavřete anebo jej znova načtete. To například znamená, že pokud se rozhodnete přidat další vedlejší překladovou paměť, tak nemusíte ukončit projekt, na kterém právě pracujete: stačí jednoduše opětovně načíst znovu a provedené změny už budou zahrnuty.

Umístění různých odlišných překladových pamětí pro daný projekt si uživatel určuje sám (viz dialogové okno Projekt v okně Vlastnosti projektu).

V závislosti na situaci, je možné využít různé strategie, např.:

Několik projektů ke stejnému tématu: zachovejte si strukturu projektu a změňte adresáře pro zdrojové soubory a překlad (Zdroj = source/zakazka1, Překlad = target/zakazka1 atd). Všimněte si, že vaše segmenty z adresáře zakazka1 nejsou zahrnuty v adresáři zakazka2 a dalších následných zakázkách, následně budou tyto segmenty označeny jako nespárované segmenty: nicméně pořád budou užitečné při získávání shod pro přibližné překlady.

Několik překladatelů pracuje na stejném projektu: rozdělte zdrojové soubory např. takto source/Alice, source/Bob ... a přidělte je členům týmu (Alice, Bob, ...). Tito si mohou vytvořit vlastní projekty a posléze po dokončení překladu nebo splnění svého penza, dodat vlastní soubor project_save.tmx. Soubory project_save.tmx se sesbírají a vyřeší se případné konflikty, např. co se týče terminologie. Takto bude vytvořena nová hlavní verze překladové paměti, buď aby se vložila do podadresářů všech členů týmu tm/auto nebo aby si členové týmu nahradili své soubory project_save.tmx. Tým může také používat stejnou strukturu podadresářů pro cílové soubory. Toto jim umožňuje například kdykoliv zkontrolovat, zda je cílová verze pro kompletní projekt stále v pořádku.

1.2. Zálohy TMX

OmegaT ukládá vaši práci průběžně během doby, kdy pracujete na svém překladu, a to do souboru project_save.tmx, který se nachází v projektovém podadresáři /omegat .

Zároveň OmegaT zálohuje překladovou paměť do souboru project_save.tmx.YEARMMDDHHNN.bak do stejného podadresáře pokaždé, když je projekt otevřen, nebo znovu načten. YEAR představuje 4-ciferně rok, MM je měsíc, DD den měsíce, HH a NN jsou hodiny a minuty, kdy byla uložena předcházející překladová paměť.

Pokud se domníváte, že jste přišli o svůj překlad, zkuste následující postup:

  1. zavřete projekt

  2. přejmenujte aktuální soubor project_save.tmx na něco, co si budete pamatovat (např. project_save.tmx.nahradni)

  3. označte takovou zálohu překladové paměti, třeba tu nejnovější, nebo poslední z předchozího dne, která nejvíce pravděpodobně obsahuje hledaná data

  4. zkopírujte pak její obsah do souboru project_save.tmx

  5. Otevřete projekt

1.3. Soubory TMX a jazyk

Soubory TMX obsahují překladové jednotky, které jsou vytvořené z množství ekvivalentních segmentů v různých jazycích. Překladová jednotka je vytvořená z aspoň dvou variant překladové jednotky (tj. translation unit variation = TUV). Obě mohou být použity jako zdroj nebo cíl.

Nastavení ve vašem projektu indikují, který jazyk je zdrojový, a který je cílový. OmegaT tak vezme segmenty ‚TUV‘ odpovídající kódu jazyka zdrojového a cílového jazyka v projektu a použije je jako segmenty zdroje a překladu. OmegaT rozezná jazykové kódy použitím dvou následujících standardních konvencí:

  • 2 písmena (např. JA pro japonštinu), nebo

  • dvou nebo tří znakové jazykové kódy následované dvouznakovým kódem země (např. EN-US - viz Appendix A, Jazyky – seznam kódů ISO 639 částečný seznam kódů jazyků a zemí).

Pokud se kódy jazyka projektu a kódy jazyka TMX úplně shodují, segmenty se načtou do paměti. Pokud se shodují pouze kódy jazyka, ale ne země, segmenty se také načtou do paměti. Pokud se neshodují ani kódy jazyka ani země, segmenty se do paměti nenačtou a budou ignorovány.

Soubory překladových pamětí obecně obsahují překladové jednotky s několika možnými jazyky. Pokud pro daný zdrojový segment není záznam ve vybraném cílovém jazyce, pak budou nahrány jiné cílové segmenty, nehledě na jazyk. Například, pokud je jazykový pár projektu DE-FR, tak i tak může do jisté míry pomoci vidět návrh překladu u jazykového páru DE-EN, pokud není právě k dispozici pár DE-FR.

1.4. Nespárované segmenty

Soubor project_save.tmx obsahuje všechny segmenty, které byly přeložené od okamžiku, kdy jste začali práci na projektu. Jestli ale upravíte segmentaci projektu, nebo smažete soubory zdroje, některé shody budou v podokně „Přibližné překlady“ zobrazené jako nespárované segmenty: takové shody odkazují na segmenty, které ve zdrojovém dokumentu již neexistují, ale odpovídají segmentům přeloženým a zaznamenaným před provedenou změnou.

2. Opětovné používání překladových pamětí

Na začátku, tzn. když je projekt vytvořen, hlavní překladová paměť projektu, čili soubor project_save.tmx, je prázdná. Tato překladová paměť se postupně během překladu plní. Aby se tento proces urychlil, je možno použít již existující překlady. Pokud daná věta již byla jednou přeložena, a přeložena správně, není tedy nutno ji překládat znovu. Překladové paměti tedy mohou obsahovat referenční překlady: typickým příkladem je mezinárodní legislativa Evropského společenství.

Když vytvoříte cílové dokumenty v projektuOmegaT, překladová paměť projektu bude uložena ve formě tří souborů v kořenovém adresáři vašeho OmegaT projektu (popis vysvětlen výše). Tyto tři TMX soubory (-omegat.tmx, -level1.tmx a -level2.tmx) můžeme taktéž označit jako „exportní překladová paměť“, tj. jako exportovatelný dvoujazyčný přehled vašeho současného projektu.

Pokud chcete použít překladovou paměť z předchozího projektu (například protože nový projekt je podobný tomu předchozímu, nebo používá terminologii, která byla dříve použita), můžete tyto překladové paměti použít jako „vstupní překladové paměti“, tj. pro import pro váš nový projekt. V tomto případě umístěte zvolené překladové paměti, které chcete použít, do adresáře /tm nebo do adresáře /tm/auto vašeho nového projektu: při nakopírování paměti do /tm to bude fungovat tak, že nálezy z této překladové paměti budou zobrazeny v podokně Přibližné překlady, a v případě /tm/auto bude překladová paměť použita k předběžnému překladu zdrojového textu.

Ve výchozím nastavení je adresář /tm umístěn přímo v kořenovém adresáři projektu (např. .../MujProjekt/tm), ale můžete si dle vlastních potřeb zvolit v dialogovém okně Vlastnosti jiný adresář. Toto je užitečná vlastnost, pokud často používáte překladové paměti vytvořené již dříve, například protože se týkají stejného tématu nebo jsou pro stejného klienta. V tomto případě je užitečný tento postup:

  • Vytvořte adresář („adresář jako úložiště“) na vhodném umístění na vašem disku, do kterého budete ukládat překladové paměti podle konkrétního klienta či tématu.

  • Pokaždé, když dokončíte projekt, zkopírujte jeden ze tří souborů „exportních“ překladových pamětí z kořenového adresáře projektu do adresáře v roli úložiště.

  • Když začnete pracovat na novém projektu na stejné téma či pro stejného klienta, zadejte v dialogovém okně Vlastnosti adresář úložištěProjekt > Vlastnosti > Upravit vlastnosti projektu a označte jej jako Adresář překladové paměti.

Mějte na paměti, že všechny soubory TMX v adresáři /tm se budou během startu programu parsovat, takže když v tomto adresář máte veškeré své soubory TMX počítejte s odpovídajícím zbytečným zpomalením aplikace OmegaT. Taktéž nezapomeňte na možnost odstranění takových pamětí, které již nejsou zapotřebí, např. po té, co jste použili jejich obsah k naplnění souboru project-save.tmx .

2.1. Import a export překladových pamětí

OmegaT podporuje importování TMX verzí 1.1-1.4b (oba typy: level 1 a level 2). Toto umožňuje v aplikaci OmegaT používat překladové paměti vytvořené jinými nástroji. Nicméně, OmegaT nepodporuje importované soubory TMX level 2 (které ukládají nejen překlad, ale i formátování) úplně. Soubory TMX level2 se i tak budou importovat a jejich textový obsah OmegaT vidí, ale kvalita shody u přibližných překladů bude nižší.

OmegaT používá velmi přísné procedury při načítání souborů překladových pamětí (tmx). Pokud je v takovém souboru nalezena chyba, OmegaT indikuje v defektním souboru pozici chyby.

O některých nástrojích je známé, že za určitých podmínek vytvářejí neplatné soubory TMX. Pokud chcete používat takovéto soubory jako referenční překlady v OmegaT, je nutné je v případě, že by je aplikace OmegaT odmítla, opravit. Opravy představují jednoduché operace a OmegaT vám pomůže pomocí příslušné chybové zprávy. Pokud máte problémy s užíváním programu, můžete požádat o radu v uživatelské skupině.

OmegaT exportuje soubory TMX ve verzi 1.4 (jak level 1, tak i level 2) Export levelu 2 není standardní level 2, ale je dostačující na vytvoření správných shod v překladatelských nástrojích podporujících TMX Level 2. Pokud potřebujete jen textové informace (a ne informace o formátování, použijte soubor level 1, který byl vytvořen pomocí OmegaT.

2.2. Vytvoření překladové paměti pro vybrané dokumenty

V případě, kdy překladatel potřebuje sdílet svou překladovou paměť tím způsobem, že vynechá některé části nebo zahrne pouze překlady určitých souborů, nebude pak sdílet celý souborNazevProjektu-omegat.tmx. Následující postup znázorňuje jen jednu z možností, ale dostatečně jednoduchou k porozumění a bez jakéhokoli ohrožení obsahu.

  • Vytvořte projekt v žádaném jazykovém páru, oddělte jej od jiných projektů,a přidělte mu odpovídající název - vytvořená překladová paměť bude tento název obsahovat.

  • Do zdrojového adresáře projektu (‚source‘) zkopírujte dokumenty, které potřebujete pro vytvoření překladové paměti.

  • Zkopírujte překladové paměti, obsahující překlad nahoře jmenovaných dokumentů do podadresáře tm/auto nového projektu.

  • Začněte práci na projektu. Zkontrolujte tagy, jestli neobsahují chyby pomocí klávesové zkratky Ctrl+T a pomocí Ctrl+U zkontrolujte, zda nejsou obsaženy nepřeložené segmenty. Po té, co dosáhnete žádaného stavu překladu, můžete stisknout Ctrl+D a tím vytvoříte cílové dokumenty, také zkontrolujte jejich obsah.

  • Pak zavřete projekt. Soubory překladové paměti, které jsou obsaženy v hlavním adresáři projektu (viz výše) nyní obsahují překlady vybraného jazykového páru pro ty soubory, které jste nakopírovali do zdrojového adresáře. Zkopírujte je na takové místo, kde je v případě budoucí potřeby najdete.

  • Abyste zabránili opětovnému použití projektu a tím možné znehodnocení budoucích případů, smažte adresář projektu nebo jej archivujte mimo obvyklé umístění, kde pracujete s projekty.

2.3. Sdílení projektových pamětí

V případě, kde je zahrnuta spolupráce týmu překladatelů, budou účastníci upřednostňovat možnost sdílení běžné překladové paměti, místo aby šířili vlastní místní verze.

OmegaT komunikuje s SVN a Git, dvěma běžnými programy týmové spolupráce pro správu revizí a verzí (‚revision control systems‘ / RSC), které jsou dostupné pod otevřenou open source licencí. V případě programu OmegaT jsou kompletní projektové adresáře (jinými slovy dotčené překladové paměti stejně jako adresář se zdrojem, nastavení projektu, atd.)spravovány vybraným RSC. Více informací v kapitole

2.4. Použití překladových pamětí s alternativními jazykovými páry

Například může být případ, že jste dokončili překlad s holandským zdrojem a cílový jazyk je angličtina. Pak ale potřebujete překlad např. do čínštiny, ale váš překladatel nerozumí holadsky; umí ale perfektně anglicky. V takovém případě může posloužit NL-EN překladová paměť jako prostředník pro vygenerování překlad z NL do ZH.

Řešení v našem případě je, zkopírovat existující překladovou paměť do podadresáře tm/tmx2source a přejmenovat jej na ZH_CN.tmx, aby se tak naznačil cílový jazyk překladové paměti. Překladateli se ukáží anglické překlady zdrojových segmentů v holandštině a použije je k vytvoření čínského překladu.

Důležitá informace: podpůrná překladová paměť musí být přejmenována na XX_YY.tmx, kde XX_YY je cílový jazyk překladové paměti, např. ZH_CN.tmx ve výše uvedeném případě. Zdrojové jazyky projektu a překladové paměti by ovšem měly být identické - v našem příkladě NL. Je přípustná pouze jedna překladová paměť pro daný jazykový pár, takže pokud by bylo nutno zahrnout několik překladových pamětí, budete je muset spojit všechny v XX_YY.tmx.

3. Zdroje s existujícími překlady

Některé typy zdrojových souborů (např. PO, TTX, atd.) jsou dvoujazyčné, tj. slouží jednak jako zdrojový text, ale také jako překladová paměť. V takových případech existující překlad, který se nachází v takovém souboru, bude zahrnut do souboru project_save.tmx. Zachází se s ním jako s výchozím překladem pokud není nalezena žádná shoda, nebo se bere jako alternativní překlad, pokud existuje stejný zdrojový segment, ale s cílovým textem. Výsledek pak bude záviset na pořadí, ve kterém byly nahrány zdrojové segmenty.

Všechny překlady ze zdrojových dokumentů jsou také zobrazeny v podokně Komentáře, a navíc v podokně Přibližné překlady. V případě PO souborů, se použije 20% snížení váhy pro alternativní překlad (tj. 100% shoda se stane 80% shodou). Slovo [Přibližně] bude zobrazeno ve zdrojovém segmentu.

Když nahrajete segmentovaný soubor TTX, budou zahrnuty segmenty, kde se zdroj rovná cíli jen tehdy, když označíte volbu „Povolit překlad rovnající se zdroji“ v Možnosti → Nastavení editace... Může to být matoucí, takže zvažte možnost tuto volbu v takovém případě neaktivovat.

4. Paměť pseudopřekladu

Note

Tato část bude zajímat asi jen pokročilé uživatele.

Před samotným překladem segmentů, je možná budete chtít s OmegaT předzpracovat nebo je zpracovat jiným způsobem. Například budete chtít vytvořit pseudopřeklad pro testovací účely, OmegaT umožňuje vytvořit dodatečný soubor tmx, který obsahuje všechny segmenty projektu. Překlad v tomto tmx může být buď

  • překlad rovnající se zdroji (výchozí nastavení) nebo

  • přeložený segment je prázdný

Soubor tmx si můžete libovolně pojmenovat. Paměť pseudopřekladu může být vygenerována s následujícími parametry příkazového řádku:

java -jar omegat.jar --pseudotranslatetmx=<nazevsouboru> [pseudotranslatetype=[equal|empty]]

Nahraďte <nazevsouboru> názvem souboru, který chcete vytvořit, buď absolutně nebo relativně vůči pracovnímu adresáři (adresář, odkud startujete OmegaT). Druhý parametr --pseudotranslatetype je volitelný. Jeho hodnota je buď equal (‚rovnající se‛) (výchozí hodnota pro zdroj=překlad) nebo empty (‚prázdný‛) (cílový segment zůstane prázdný). Vytvořený soubor tmx můžete zpracovávat libovolným nástrojem. Abyste mohli použít tento soubor v OmegaT, tak jej přejmenujte na project_save.tmx a uložte jej do adresáře omegat ve vašem projektu.

5. Aktualizace překladových pamětí

Velmi rané verze OmegaT umožňovaly segmentaci zdrojových souborů jen po odstavcích a byly nekonzistentní, když se provádělo číslování formátovacích tagů v HTML a souborech Open Document. OmegaT umí detekovat a aktualizovat takové soubory tmx za provozu a zvýšit tak kvalitu shody v přibližných překladech a zefektivní tak váš existující překlad, ušetří vám práci, kterou byste jinak museli dělat ručně.

Překladová paměť projektu bude aktualizována jen jednou a bude zapsána v aktualizované formě do souboru project-save.tmx; zastaralé soubory tmx budou aktualizované za provozu pokaždé, když bude projekt načítán. V některých případech ale mohou změny ve filtrech souborů v OmegaT vést ke zcela odlišné segmentaci; jako následek takové situace bude nutno aktualizovat překlad ručně, ale to se stává jen velmi zřídka.