## Práce s formátovaným textem

- Formátovací tagy

- Tagy a větná segmentace

- Operace s tagy

- Vnořování skupiny tagů

- Překrývání skupiny tagů

- Ověření skupiny tagů

- Tipy pro správu tagů

- zástupné symboly printf

Formátovací informace obsažené ve zdrojovém souboru obvykle musí být opakovány v cílovém souboru. Formátovací informace, které jsou „in-line“, tzn. v řádku, budou u podporovaných formátů (v současnosti DocBook, HTML, XHTML, Open Document a OpenOffice.org) v aplikaci OmegaT zobrazeny jako tagy. V běžném případě jsou tagy ignorovány s ohledem na podobnost mezi různými texty používanými pro porovnání. Tagy, které vložíte do přeloženého segmentu budou přítomné v přeloženém dokumentu.

### Formátovací tagy

Názvy tagů: Tagy se skládají z jednoho až tří znaků a čísla. Jedinečné číslo umožňuje zopakovat stejné tagy, které si odpovídají, a rozlišovat tagy, které mohou nést znaky zkratky, ale ve skutečnosti jsou rozdílné. Znaky mohou, ale nemusí odrážet hodnotu formátování, kterou reprezentují tagy (např. tučně, kurzíva, atd.)

Číslování tagů: Tagy jsou číslovány postupně v rámci skupiny tagů. To co nazýváme „skupiny tagů“ je buď jednoduchý samostatně stojící tag (jako `<br1>`) nebo 2 tagy v páru (jako `<i0>` a `</i0>`). V rámci segmentu, první skupina (pár nebo samostatný tag) dostane číslo 0, druhá číslo 1 atd. První příklad uvedený níže má tři skupiny tagů (pár, samostatný a pak další pár), druhý příklad má jen jednu skupinu (pár).

Párové a nepárové tagy: Tagy se v textu vždy vyskytují buď jako nepárové nebo párové. Jednoduché / nepárové tagy označují formátovací informaci, která neovlivňuje okolní text (např. mezera navíc nebo zalomení řádku)

     <segment 2132><b0><Ctr+N></b0>, <br1><b2><Enter></b2><konec segmentu>

`<br1>` je nepárový tag a neovlivňuje okolní text. Párové tagy obvykle označují informace o stylu, které se vztahují na text mezi otevíracím a uzavíracím tagem. Při používání párových tagů je nutno dbát na to, aby otevírací tag byl vždy umístěn před uzavíracím tagem.

     <segment 3167>Log file (<b0>log.txt</b0>) for tracking operations and errors.<konec segmentu>

`<b0>` a `</b0>` jsou párové a ovlivňují text `log.txt`.

### Tagy a větná segmentace

OmegaT vytváří své tagy před tím, než se použije větná segmentace. V závislosti na pravidlech segmentace se může zdát, jakoby tagy nerespektovaly výše uvedená pravidla číslování a seskupování. Např. následující text: „Before: \. After: \s“. Zde bychom očekávali segmentaci jako (<b0> a </b0> znamenají začátek a konec kurzívy):

     <segment ....> <b0>Before: \. After: \s</b0><konec segmentu>

Ale když by se uplatnila výchozí pravidla segmentace na tento segment, tak získáme tyto výsledky:

     <segment 1990> <b0>Before: \. <konec segmentu>

    <segment 1991> After: \s</b0><konec segmentu>

Když použijeme pravidlo rozdělit za tečkou, za kterou následuje mezera, bude původní text rozdělen do dvou segmentů, dokonce i když by oba tagy `<b0>` a `</b0>` měly zůstat uvnitř jednoho segmentu. V některých případech to může zapříčinit problémy při překladu, a to tehdy, pokud musíte rozmístit tagy odlišně v cílovém jazyce, abyste vystihli správný pořádek slov tohoto jazyka (viz Operace s tagy níže).

### Operace s tagy

S tagy se musí zacházet opatrně. Když je náhodou změníte, můžete tak poškodit formátování cílového dokumentu. Správný přístup je „Nehas co tě nepálí“ - tzn. nesnažte se opravit to, co není špatně. Nicméně je dobré vědět, co je možno provést a jak to provést.

Duplikace skupiny tagů: Duplikaci skupiny tagů provedete tak, že jednoduše zkopírujete na vybranou pozici. Pamatujte ale, že v rámci páru musí být otevírací tag umístěn před uzavíracím. Formátování zapsané pomocí duplikované skupiny bude uplatněno na tu část textu, kam jste toto formátování duplikováním zkopírovali.

Příklad

     <segment 0001><b0>Toto formátování</b0> bude duplikováno sem.<konec segmentu>

Po duplikaci

     <segment 0001><b0>Toto formátování</b0> bylo <b0>duplikováno sem</b0>.<konec segmentu>

Smazání skupiny tagů: Smazání skupiny tagů provedete jejich prostým odstraněním ze segmentu. Nezapomeňte, že u párových tagů musí být smazán jak příslušný otevírací a také příslušný ukončovací tag, a jenom tak se zajistí, že jsou řádně odebrány všechny stopy formátování, jinak může dojít k poškození přeloženého souboru. Vymazáním skupiny tagů odstraníte příslušné formátování z přeloženého souboru.

Příklad

     <segment 0001><b0>Toto formátování</b0> bude smazáno.<konec segmentu>

Po smazání:

     <segment 0001>Toto formátování bylo smazáno.<konec segmentu>

Úpravy pořadí párových tagů:Chcete-li změnit a přizpůsobit pořadí párových tagů podle odlišné struktury jazyka překladu, jednoduše tagy přesuňte na požadované místo v překladu. Formátování bude aplikováno na příslušnou část textu.

Příklad

     <segment 0001><b0>Formátování nula</b0> a <b1>formátování jedna</b1> budou přehozena.<konec segmentu>

Po úpravách pořadí:

     <segment 0001><b1>Formátování jedna</b1> a <b0>formátování nula</b0> byla přehozena.<konec segmentu>

### Vnořování skupiny tagů

Úpravy pořadí párových tagů mohou vyústit do vnořování skupiny tagů do jiné skupiny tagů. Toto bude fungovat do té doby, dokud budou páry řádně uzavírány a nebudou se křížit. Jinými slovy, když budete manipulovat s párovými tagy, tak se ujistěte, že oba - jak otevírající, tak uzavírající tag - byly přesunuty do cílového segmentu, jinak může dojít k poškození přeloženého souboru a ten by pak nešel otevřít. Vnořená část pak bude ovlivněna formátováním obou formátů.

Příklad

     <segment 0001><b0>Formátování</b0> <b1>jedna</b1> bude vnořeno do formátování nula.<konec segmentu>

Po vnoření:

     <segment 0001><b0>Formátování<b1>jedna</b1></b0> bylo vnořeno dovnitř do segmentu nula.<konec segmentu

### Překrývání skupiny tagů

K překrývání dochází v důsledku chybné manipulace s párovými tagy a tak určitě vyústí v poškození formátování a někdy může být přeložený soubor poškozen v takové míře, že už nepůjde otevřít. Příklad

     <segment 0001><b0>Formátování</b0> <b1>jedna</b1> bude zpřeházeno.<konec segmentu>

Po chybné manipulaci:

     <segment 0001><b0>Formátování <b1>jedna</b0> </b1>je výrazně zpřeházeno.<konec segmentu>

### Ověření skupiny tagů

Funkce Ověření tagů detekuje změněné tagy (které jste měnili cíleně nebo nechtěně) a ukáže dotyčný segment. Spuštění této funkce - stiskem Ctrl+T - otevřete okno obsahující všechny segmenty souboru, které mohou obsahovat pravděpodobně poškozené nebo chybné tagy v překladu. Chyby v přeloženém otagovaném textu jsou často problémem v souborech typu OpenDocument nebo OpenOffice.org, protože nemusí jít otevřít právě kvůli chybám tagů, které vyvstaly během procesu překladu. Když budete používat tuto prověřovací funkci tagů, tak oprava tagů a opětovné vytvoření cílových dokumentů bude snadné. Okno, které se otevře po stisku Ctrl+T, je tvořeno třemi sloupci tabulky s odkazy na segment, původní a cílový segment:

1 | Jiné písmo pro zobrazení textu může být vybráno přes dialogové okno <b0>Písmo</b0>. Otevřete jej přes položku nabídky <i1>Možnosti</i1> > <i2>Display Font...</i2>. Font a velikost písma mohou být změněny z dialogového okna. | 'n Mens kan 'n ander vertoonfont kies met die <b0>Vertoonfont</b0>-dialoogkassie. Kies <i1>Opstelling</i1> > Vertoonfont... op die kieslys. Die lettertipe én die lettergrootte kan met dié dialoogkassie verander word.

Tagy jsou zvýrazněné tučným modrým písmem a lze snadno srovnat původní obsah s obsahem přeloženým. Klikněte na odkaz pro přejití na segment v Editoru. Pokud je to nutné, opravte chybu a stiskněte `Ctrl+T` pro návrat k oknu Ověření tagů a tak můžete opravit případné další chyby. Chyby tagů vyvstávají při manipulaci s tagy během překladu, které nereflektují stejný pořádek a počet tagů, po vzoru původního segmentu. Některé změny tagů jsou nutné a neškodné, oproti tomu některé zapříčiní problémy při vytváření přeložených dokumentů.

### Tipy pro správu tagů

Tagy všeobecně představují nějaký druh formátování v původním textu. Zjednodušení formátování původního textu ve velké míře přispívá ke snížení počtu tagů. Když to jde, tak se snažme snížit množství písem, velikostí písem, barev, atd. a tím zjednodušit překlad a snížit množství chyb tagů. Projděte si část Operace s tagy pro více informací k tématu, co vše lze s tagy dělat. Pamatujte, že pokud vás tagy ruší a formátování není v daném překladu extrémně důležité, tak odstranění tagů může být nejjednodušší cesta ven z problémů.

Pokud potřebujete vidět tagy v aplikaci OmegaT ale nemusíte zachovat většinou formátování v přeloženém dokumentu, tak se můžete volně rozhodnout, zda tagy do překladu zařadíte. V tomto případě věnujte zvýšenou pozornost párovým tagům, protože jak se smaže jedna část a ne obě, tak si jistě poškodíte formátování dokumentu. Vzhledem k tomu, že tagy jsou obsaženy v samotném textu, je možné použít Pravidla segmentace k vytvoření segmentů s méně tagy. Toto je již pokročilé nastavení a k dobrým výsledkům bude zapotřebí mít určitou zkušenost.

Důležitá informace: OmegaT zatím neumí odhalit chyby ve formátování zcela automaticky, takže vás neupozorní, pokud uděláte chybu nebo změníte formátování tak, aby lépe vyhovovalo vašemu cílovému jazyku. Nicméně někdy může váš přeložený soubor vypadat podivně a v případě souborů typu OpenDocument / OpenOffice.org třeba nepůjde otevřít.

### zástupné symboly printf

V některých programovacích jazycích (např. PHP, C) se používají speciální tagy v roli zástupných symbolů v řetězcích, které se používají v kombinaci s funkcí printf. Např.

    $var =_("cool");
    echo printf(_("OmegaT is very %s"),$var);

Pokud je textový řetězec extrahován z tohoto zdrojového kódu (např. přes PO filtr), OmegaT nenahradí tyto proměnné prostřednictvím tagů, protože nemůže jednoznačně zjistit, jestli např. `%s` je ve skutečnosti zástupný symbol nebo jen část textu. Nicméně stejně můžete umožnit ověření takovýchto zástupných znaků. V menu vyberte Nástroje → Ověření tagů. Můžete si vybrat mezi jednoduchým a nebo plným ověřením

Oficiální syntaxe pro printf proměnné je

    "%" [ARGUMENTSWAPSPECIFIER] [SIGNSPECIFIER] [PADDINGSPECIFIER] [ALIGNMENTSPECIFIER] [WIDTHSPECIFIER] [PRECISIONSPECIFIER] TYPESPECIFIER

Kompletní ověření zcela podporuje tento formát, kromě `WIDTHSPECIFIER` (spedifikátor šířky). Při jednoduchém ověření se kontroluje následující syntaxe:

    "%" [ARGUMENTSWAPSPECIFIER] [PRECISIONSPECIFIER] TYPESPECIFIER (specifikátor parametrů, přesnosti a typu)

Můžete změnit pořádek zástupných symbolů, ale pak musíte přidat ARGUMENTSWAPSPEICFIER pokud tam ještě není zadaný. To znamená přidat sled čísel a znak dolaru za `%`. Např. `"%s je %s aplikace"` rovnající se `"%1$s je %2$s aplikace"` kterou můžete přeložit jako `"%2$s aplikace je %1$s"`.

Právní poznámky | Obsah | Tematický rejstřík