Nástroje pre prácu s prekladovými pamäťami pracujú s textovými jednotkami nazývanými segmenty. Existujú viaceré spôsoby ako segmentovať text.
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ť na štruktuirálnej úrovni segmentované. Súbory s formátovaním (dokumenty OpenOffice.org, OpenDocument, XHTML a HTML) sú segmentované podľa blokových (odstavec) tagov.
Preložiteľné atribúty objektov (v XHTML alebo HTML súboroch) sú tiež vytiahnuté do osobitných segmentov.
OmegaT môže tiež segmentovať podľa viet. Vetná segmentácia sa odohráva po segmentácii na úrovni štruktúry. Segmenty vytvorené počas ktoréhokoľvek procesu annešťastie nemôžu byť počas prekladu zmenené (rozdelené alebo zlúčené). Toto obmedzenie, ktoré má OmegaT poznáme.
Ak nie ste spokojní so segmentáciou budede potrebovať alebo modifikovať zdrojový súbor externe a/alebo modifikovať pravidlá pre vetnú segmentáciu. Keď je to urobené budete potrebovať znovu načítať projekt aby sa vaše zmeny zohľadnili.
Po tom ako program OmegaT rozdelil zdrojový súbor na segmenty podľa logických jednotiek, pre formátované súbory zvyčajne zodpovedajúcim odstavcom, bude ďalej segmentovať tieto bloky do viet ak nevypnete Vetnú segmentáciu Vo všeobecnosti, môže OmegaT segmentovať logické bloky zdrojového súboru na akékoľvek segmenty aké nastavíte. Avšak keďže predvolene OmegaT segmentuje do viet, budeme to nazývať vetná segmentácia.
Vetná segmentácia bola vytvorená s ohľadom na štandard Segmentation Rules eXchange (SRX, Výmena pravidiel segmentácie), hoci v čase písania tohoto, program OmegaT ani nepodporuje všetky vlastnosti SRX, ani nie je schopný importovať/exportovať pravidlá definované vo formáte SRX. Ale ak viete ako SRX funguje, už viete ako funguje OmegaT, keďže sú viacmenej rovnaké.
Existujú dva druhy možných pravidiel.
Príklad pravidla rozdeľovania: "Did it make sense? I was not sure." môže byť segmentované ako dve vety po "?
". Malo by tu byť pravidlo rozdeľovania pre "?
"
Príklad pravidla segmentácie: "Kto sa bojí p. Woolfovej?" nemôže byť segmentované po ".
". Malo by existovať pravidlo výnimky pre "Mrs.
".
Preddefinované pravidlá rozdeľovania by mali byť dostatočné pre väčšinu európskych jazykov a japončinu, ale odporúčame definovať viac pravidiel výnimiek pre jazyk z ktorého prekladáte, keďže je jasné že nie je možné preddefinovať všetky možné výnimky pre všetky možné jazyky.
Aby ste nastavili pravidlá, vyberte Voľby -> Segmentácia... z hlavného menu. Všimnite si, že ak zmeníte voľby segmentácie keď je otvorený nejaký projekt, budete musieť projekt znovu načítať, aby sa zmeny použili.
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í.
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. Pozri sekciu Krátky prehľad konštrukcií regulárnych výrazov nižšie.
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.
Zaškrtávacie tlačidlo Zlom/Výnimka určuje, či je to pravidlo pre rozdeľovanie (políčko je zaškrtnuté) alebo pravidlo pre výnimku (políčko nie je zaš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.
Proces segmentácie môže byť zjednodušený na nasledovné. Predstavte si kurzor pohybujúci sa z pozície pred prvým do pozície po poslednom symbole textu. Pre každú pozíciu kurzora vezmeme každé pravidlo v zadanom poradí a skúsime aplikovať vzor Pred na celý text, ktorý je vľavo od kurzora a vzor Za na text vpravo takže sa dotýkajú kurzora.
Ak je aplikácia niektorého pravidla úspešná, pre pravidlá výnimiek nerobíme nič iba prestaneme skúmať ďalšie pravidlá, a pre pravidlá výnimiek vezmeme text naľavo ako osobitný segment, pre každú pozíciu kurzoru v texte.
.
') a pred medzerou\.
Po: \s
\.
" znamená znak ".
"\s
" predstavuje akýkoľvek biely znakMr."
Mr\.
Po: \s
Samotné pravidlá segmentácie sú reprezentované pomocou regulárnych výrazov. To umožňuje maximálnu flexibilitu pri definovaní pravidiel a vyhovuje SRX.
Toto nie sú jediné konštrukcie, ktoré môžete používať pre pravidlá segmentácie v OmegaT, ale skôr tie, ktoré sú najviac používané. OmegaT podporuje všetky vlastnosti regulárnych výrazov ako sú popísané v štandarde SRX.
Konštrukcia | Zodpovedajúce výrazy |
---|---|
Označenia | |
(?i) | Umožňuje hľadanie bez ohľadu na veľkosť písmen (predvolene vzor rozlišuje veľkosť písmen). |
Znaky | |
x | Znak x, s výnimkou nasledujúcich... |
\uhhhh | Znak s hexadecimálnou hodnotou 0xhhhh |
\t | Znak tabulátora ('\u0009') |
\n | Znak nového riadku (konca riadku) ('\u000A') |
\r | Znak návratu vozíka ('\u000D') |
Citácia | |
\ | Nič, ale cituje nasledujúci znak. Toto sa vyžaduje ak by ste chceli zadanie metaznakov !$()*+.<>?[\]^{|} aby zodpovedali sami sebe. |
\\ | Napríklad, toto je znak spätného lomítka |
\Q | Nič, ale cituje všetky znaky až po \E |
\E | Nič, ale končí citáciu začatú pomocou \Q |
Triedy znakov | |
[abc] | a, b, alebo c (jednoduchá trieda) |
[^abc] | Akýkoľvek znak s výnimkou a, b, alebo c (negácia) |
[a-zA-Z] | a až po z alebo A až po Z, vrátane (rozsah) |
Preddefinované triedy znakov | |
. | Akýkoľvek znak (okrem znakov ukončujúcich riadok) |
\d | Číslica: [0-9] |
\D | Nečíslica: [^0-9] |
\s | Biely znak: [ \t\n\x0B\f\r] |
\S | Nebiely znak: [^\s] |
\w | Znak slova: [a-zA-Z_0-9] |
\W | Nie znak slova: [^\w] |
Označenie hraníc | |
^ | Začiatok riadku |
$ | Koniec riadku |
\b | Hranica slova |
\B | Nie hranica slova |
Viacnásobné kvantifikátory | |
Tieto budú predstavovať toľko, koľko len môžu. Napríklad, a+ bude zodpovedať aaa v aaabbb | |
X? | X, raz alebo vôbec |
X* | X, nula alebo viackrát |
X+ | X, raz alebo viackrát |
Nedobrovoľné kvantifikátory | |
Tieto budú predstavovať tak málo, ako len môžu. Napríklad, a+? bude zodpovedať prvému a v aaabbb | |
X?? | X, raz alebo vôbec |
X*? | X, nula alebo viackrát |
X+? | X, raz alebo viackrát |
Logické operátory | |
XY | X nasledované Y |
X|Y | Buď X, alebo Y |
(XY) | XY ako jediná skupina |