# Segmentácia zdroja

- Segmentácia na úrovni štruktúry
- Segmentácia na úrovni vety
  - Pravidlá segmentácie
  - Nastavenie pravidiel
    - Priorita
    - Tvorba pravidiel
    - Zlom/Výnimka
    - Jednoduché príklady
- Konštrukcie regulárnych výrazov

Nástroje pre prácu s prekladovými pamäťami pracujú s textovými jednotkami nazývanými segmenty. OmegaT má 2 spôsoby na segmentáciu textu: segmentácia podľa odstavcov a segmentácia podľa viet.

Pre výber typu segmentácie, vyberte Projekt → Vlastnosti... z hlavného menu a použijte dostupné zaškrtávacie políčko.

Ak bola vybratá segmentácia podľa viet, môžete nastaviť pravidlá pomocou vybratím Voľby → Segmentácia... z hlavného menu.

Všimnite si, že istá časť vývoja bola venovaná vývoju závislých pravidiel segmentácie, takže vo väčšine prípadov nebudete potrebovať písať svoje vlastné pravidlá segmentácie. Na druhej strane táto funkcionalita môže byť užitočná v špeciálnych prípadoch, dovoľujúc vám prekladať to čo je potrebné preložiť bez nebezpečenstva, že zmeníme niečo čo je potrebné ponechať v pôvodnom stave.

Varovanie! Zmena volieb filtrov keď je otvorený projekt môže spôsobiť stratu údajov. Ak zmeníte voľby segmentácie keď je otvorený nejaký projekt, budete musieť projekt znovu načítať, aby sa zmeny použili.

# Segmentácia na úrovni štruktúry

OmegaT najprv spracuje text pomocou segmentácie na úrovni štruktúr. Počas tohto procesu je to iba štruktúra zdrojového súboru, ktorá je použitá na vytvorenie segmentov.

Napríklad, textové súbory môžu byť segmentované podľa zlomov riadkov, prázdnych riadkov alebo vôbec nemusia byť segmentované. Súbory s formátovaním (dokumenty OpenOffice.org, HTML dokumenty atď.) sú segmentované podľa blokových (odstavec) tagov. Preložiteľné attribúty objektov v XHTML alebo HTML súporoch možno extrahovať ako osobitné segmenty.

# Segmentácia na úrovni vety

Po rozdelení zdrojového súboru na segmenty podľa logických jednotiek, OmegaT bude ďalej segmentovať tieto bloky do viet.

## Pravidlá segmentácie

Proces segmentácie možno znázorniť nasledovne: predstavte si pohyb kurzora pozdĺž textu, jeden znak naraz. Pre každú pozíciu kurzora sa použije každé pravidlo v zadanom poradí aby sme videli či sa vzor Pred vzťahuje na celý text, ktorý je naľavo a vzor Za na text napravo od kurzora. Ak pravidlo vyhovuje, program zastaví skúmanie pravidiel (´pre pravidlo výnimky) alebo vytvorí nový segment (pre pravidlo rozdeľovania).

Segmentácia podľa viet bola implementovaná pomocou štandardu Segmentation Rules eXchange (SRX) - prosím všimnite si, že nie všetky vlastnosti SRX sú podporované. A nie je možné importovať/exportovať definované pravidlá vo formáte SRX. Avšak, ak viete ako funguje SRX, budete už vedieť veľa o tom ako OmegaT robí segmentáciu.

Existujú dva druhy pravidiel:

- Pravidlá rozdeľovania rozdeľujú zdrojový text do segmentov.

  Príklad: "Malo to zmysel? Nebol som si istý." by malo byť rozdelené do dvoch segmentov.
  Malo by existovať pravidlo rozdeľovania pre "`?`".

- Pravidlá výnimiek špecifikujú ktoré časti textu by NEMALI byť oddelené.

  Príklad: "Mrs. Dalloway " by nemalo byť rozdelené, takže pravodlo výnimky by malo byť zavedené pre Mrs (a Mr a Dr a prof atď), nasledované bodkou.

Preddefinované pravidlá rozdeľovania by mali byť dostatočné pre väčšinu európskych jazykov a japončinu. Keďže je tu flexibilita, môžete uvažovať o definovaní ďalších pravidiel výnimiek pre jazyk z ktorého prekladáte, aby ste dostali zmysluplnejšie a súvislejšie segmenty.

## Nastavenie pravidiel

### Priorita

Všetky sady pravidiel segmentácie so zodpovedajúcim Vzorom jazyka sú použité v danom poradí priority, takže pravidlá pre konkrétny jazyk by mali byť vyššie než predvolené.

Napríklad, pravidlá pre kanadskú francúzštinu (FR-CA) by mali byť vyššie než pravidlá pre francúzštinu (FR.*), a vyššie než Predvolené (Default) (.*). Potom počas prekladu z kanadskej francúzštiny bude váš projekt používať pravidlá definované pre tento jazyk, pravidlá pre francúzštinu, a predvolené pravidlá v správnom poradí.

### Tvorba pravidiel

Na vytvorenie prázdnej sady pravidiel, kliknite na Pridať v hornej polovici dialógového okna. V spodnej časti tabuľky sa objaví prázdny riadok.

Zmeňte názov sady pravidiel a vzor jazyka. Syntax vzoru jazyka zodpovedá syntaxi regulárnych výrazovŁ. Ak vaša sada pravidiel platí pre pár jazyk-krajina, odporúčame vám posunúť ju nahor pomocou tlačidla Presunúť hore. Pre editáciu sady pravidiel, jednoducho na ňu kliknite v tabuľke, pravidlá sady sa objavia v spodnej polovici okna.

### Zlom/Výnimka

Zaškrtávacie políčko Zlom/Výnimka určuje či je to pravidlo rozdeľovania (zaškrtávacie políčko zaškrtnuté) alebo pravidlo výnimky (zaškrtávacie políčko nezaškrtnuté). Dva regulárne výrazy Pred a Za špecifikujú čo musí byť pred a po nejakej pozícii tak aby sa na ňu vzťahovalo pravidlo výnimky alebo rozdeľovania.

### Zopár jednoduchých príkladov

Úmysel | Pred | Za | Poznámka
nastavte segment po bodke ('`.`') a pred medzerou | `\.` | `\s` | "`\.`" predstavuje znak "`.`" "`\s`" predstavuje akýkoľvek biely znak
nesegmentovať po Mr. | `Mr\.` | `\s` | Je to pravidlo výnimky, takže zaškrtávacie tlačidlo pravidla musí byť nezaškrtnuté
`nastaviť segment po` `"``。``"` `(japonskej bodke)` | `。` |  | Všimnite si, že za je prázdne
nesegmentovať po M. Mr. Mrs. a Ms. | `Mr??s??\.` | `\s` | pravidlo výnimky - pozrite si použitie ? v regulárnych výrazoch (neviacnásobný identifikátor)

# Prehľad konštrukcií regulárnych výrazov

Regulárne výrazy použité v pravidlách segmentácie sú tie, ktoré podporuje Java. Krátky prehľad je k dispozícii v dodatku Konštrukcie regulárnych výrazov.

Ak potrebujete špecifickejšie informácie, prosím prezrite si http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html.

Na webe môžete nájsť tutoriály (napríklad http://www.regular-expressions.info/quickstart.html.)

`Právne poznámky`