# Segmentace zdroje

- Segmentace na úrovni struktury
- Segmentace na úrovni vět
  - Pravidla segmentace
  - Nastavení pravidel
    - Priorita
    - Vytváření pravidel
    - Zlom/Výjimka
    - Jednoduché příklady
- 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ího menu a použijte nabízené zaškrtávací políčko.

Pokud je vybráno Segmentace na úrovni vět, pak můžete nastavit pravidla vybráním položky Možnosti → Segmentace... v hlavním menu.

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! Když je projekt otevřen, může změna možností filtrů způsobit ztrátu dat. Pokud změníte volby segmentace, 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 textové soubory mohou být 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 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ž vědět mnohé o tom, jak OmegaT provádí segmentaci.

Máme tu dva druhy pravidel:

- Pravidlo zlomu rozdělí zdrojový text na segmenty.

  Příklad: "Did it make sense? I was not sure." by mělo být rozděleno na dva segmenty.
  Mělo by zde být pravidlo rozdělování pro "`?`".

- Pravidlo výjimky udává, které části textu NEmají být rozděleny.

  Příklad: "Mrs. Dalloway " by nemělo být rozděleno, 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 vytvoření prázdné sady pravidel, klikněte na Přidat v horní polovině dialogového okna. Ve spodní části tabulky se objeví prázdný řádek.

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. Pro editaci sady pravidel, jednoduše na ni klikněte v tabulce, pravidla sady se objeví ve spodní polovině okna.

### Zlom/Výjimka

Zatrhá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 zatrhávací políčko pravidla musí zůstat nezatrženo
`segmentovat po` `"``。``"` `(japonská tečka)` | `。` |  | Všimněte si, že 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)

# Přehled pojmů 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: //java.sun.com/j2se/1.4.2/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`