## Segmentace zdroje

- Segmentace na úrovni struktury

- Segmentace na úrovni vět

  - Pravidla segmentace

  - Nastavení pravidel

    - Priorita

    - Vytváření pravidel

    - Zlom/Výjimka

    - Pár jednoduchých příkladů

- Pojmy regulárních výrazů

Nástroje pro práci s překladovými paměťmi pracují s textovými jednotkami nazývanými segmenty. OmegaT má dva způsoby segmentace textu: segmentace podle odstavců a segmentace na úrovni vět. Pro výběr typu segmentace, označte Projekt → Vlastnosti... z hlavní nabídky a použijte nabízené zaškrtávací políčko. Mějte na paměti, že segmentace podle odstavců je zastaralá metoda a vzhledem k charakteru většiny projektů je upřednostňovaná právě volba větné segmentace. Pokud je vybráno Segmentace na úrovni vět, pak můžete nastavit pravidla vybráním položky Možnosti → Segmentace... v hlavní nabídce.

Povšimněte si, že velkou část vývoje zabralo sepsání spolehlivých segmentačních pravidel, takže ve většině případů nebudete potřebovat zapisovat vlastní pravidla segmentace. Na druhou stranu tato funkce může být velmi užitečná ve speciálních případech, umožňuje vám přeložit co potřebujete, a to bez riskování změn u případů, které mají zůstat nezměněny.

Pozor! V momentu když je projekt otevřen, může změna možností filtrů vyústit ve ztrátu dat. Pokud změníte volby segmentace ve chvíli, kdy je otevřený nějaký projekt, budete muset projekt znovu načíst, aby se změny projevily.

## Segmentace na úrovni struktury

OmegaT nejprve zpracuje text pomocí segmentace na úrovni struktur. Během tohoto procesu je to jen struktura zdrojového souboru, která je použitá na vytvoření segmentů.

Například mohou být textové soubory segmentovány podle zlomů řádků, prázdných řádků nebo vůbec nemusí být segmentovány na strukturální úrovni. Soubory s formátováním (OpenOffice.org, HTML, atd.) jsou segmentovány na úrovni tagů bloků (odstavce). Atributy přeložitelných objektů v souborech XHTML nebo HTML lze extrahovat jako samostatné segmenty.

## Segmentace na úrovni vět

Po segmentaci zdrojového souboru podle logických jednotek, bude OmegaT dále segmentovat tyto bloky do vět.

### Pravidla segmentace

Průběh segmentace lze znázornit následovně: představte si kurzor pohybující se v textu, vždy po jednom znaku. Pro každou pozici kurzoru je aplikováno každé pravidlo v zadaném pořadí, aby se ověřilo zda vzor Před platí pro text nalevo a vzor Za pro text vpravo za kurzorem. Pokud pravidlo lze aplikovat, program zastaví zkoušení pravidel (pro pravidlo ‚výjimka‘) nebo vytvoří nový segment (pro pravidlo ‚zlom‘)

Segmentace na úrovni vět byla realizována za pomoci standardu Výměny segmentačních pravidel: Segmentation Rules eXchange (SRX) - prosím povšimněte si, že ne všechny rysy SRX jsou podporovány. A není možné importovat/exportovat pravidla ve formátu SRX. Pokud víte jak SRX pracuje, budete již mnohé vědět o tom, jak OmegaT provádí segmentaci.

Existují dva druhy pravidel:

- Pravidla zlomu rozdělí zdrojový text na segmenty. Například: „Did it make sense? I was not sure.“ by mělo být rozděleno na dva segmenty, mělo by tu být pravidlo rozdělování pro „`?`“.

- Pravidlo výjimky udává, které části textu NEmají být rozděleny. Nehledě na tečku v „Mrs. Dalloway“ by zde neměl být text rozdělen, tzn. mělo by být založeno pravidlo výjimky pro Mrs, které je následováno tečkou (stejně tak Mr a Dr a prof atd.)

Předdefinovaná pravidla by měla být dostatečná pro většinu evropských jazyků a Japonštinu. V rámci flexibility můžete zvážit definování více pravidel pro výjimky pro jazyk ze kterého překládáte, abyste získali smysluplnější a souvislejší segmenty.

### Nastavení pravidel

### Priorita

Všechny sady pravidel segmentace s odpovídajícím vzorem jazyka jsou použité v daném pořadí priority, takže pravidla pro konkrétní jazyk by měla být vyšší než ta z výchozího nastavení. Tak například, pravidla pro kanadskou francouzštinu (FR-CA) by měla být ve výchozím nastavení výše než pravidla pro francouzštinu (FR.*), a výše než (.*). Potom v průběhu překladu z kanadské francouzštiny bude váš projekt používat pravidla definované pro tento jazyk, pravidla pro francouzštinu, a předvolená pravidla ve správném pořadí.

### Vytváření pravidel

Pro úpravu nebo rozšíření již existující sady pravidel, jednoduše klikněte na danou sadu v horní tabulce. Pravidla dané sady se objeví v dolní části okna.

Pro vytvoření prázdné sady pravidel pro nový jazykový vzor klikněte na Přidat v horní polovině dialogového okna. Ve spodní části horní tabulky se objeví prázdný řádek (abyste jej viděli, musíte srolovat dolů). Změňte název sady pravidel a vzor jazyka. Syntaxe vzoru jazyka odpovídá syntaxi regulárních výrazů. Pokud vaše sada pravidel platí pro pár jazyk-země, doporučujeme posunout ji nahoru pomocí tlačítka Přesunout nahoru.

### Zlom/Výjimka

Zaškrtávací políčko Zlom/Výjimka určuje, zda se jedná o pravidlo Zlomu (zaškrtnut) nebo pravidlo výjimky (nezaškrtnuto). Dva regulární výrazy ‚Vzor před‘ a ‚Vzor za‘ specifikují, co by před a za nějakou pozicí mělo stát, aby se na ni vztahovalo pravidlo výjimky nebo rozdělení.

### Pár jednoduchých příkladů

Cíl | Před | Za | Poznámka
nastavit segment po tečce (‚`.`‘) a před mezerou | `\.` | `\s` | „`\.`“ znamená znak „`.`“ „`\s`“ znamená znak mezery
nesegmentovat po Mr. | `Mr\.` | `\s` | Je pravidlo výjimky, takže zaškrtávací políčko pravidla musí zůstat neoznačeno
segmentovat po „。“ (japonská tečka) | `。` |  | Všimněte si, že políčko Vzor za je prázdné
nesegmentovat po M. Mr. Mrs. a Ms. | `Mr??s??\.` | `\s` | pravidlo výjimky - viz použití znaku ‚?‘ v regulárních výrazech (líné identifikátory)

## Pojmy regulárních výrazů.

Regulární výrazy používané při vyhledávání a v segmentačních pravidlech jsou právě takové, jaké podporuje Java. Krátký přehled je dostupný v dodatku Regulární výrazy Pokud potřebujete bližší informace, navštivte prosím tuto stránku: http://java.sun.com/j2se/1.5/docs/api/java/util/regex/Pattern.html.

Na internetu můžete najít jednoduché nápovědy (např. http://www.regular-expressions.info/quickstart.html.)

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