A fordítási memóriák szövegdaraboknak nevezett egységekre épülnek. Egy-egy szöveg többféleképpen feldarabolható.
Az OmegaT először szerkezeti szintű darabolást hajt végre a szövegen. Ez alatt csak a forrásállomány szerkezete alapján állítja elő a szövegdarabokat. A szöveges állományok feldarabolhatók például sortörésnél, üres sornál, illetve szerkezeti szinten el is maradhat a feldarabolásuk. A formázott állományok (OpenOffice.org, OpenDocument, XHTML- és HTML-dokumentumok) blokkonként (bekezdésjelenként) tagolódnak.
A lefordítható objektumattribútumok (XHTML- vagy HTML-állományokban) szintén külön szövegdarabokba kerülnek.
Az OmegaT alkalmazhat mondatonkénti darabolást is. A mondatonkénti darabolás a szerkezeti szintű darabolást követően kerül sorra. Az egyes folyamatok során keletkező darabok módosítására (szétválasztására vagy egyesítésére) azonban a fordítás alatt nincs lehetőség. Ez beismerten az OmegaT egyik hiányossága.
Ha nem elégedett a darabolással, kívülről módosítania kell a forrásszöveget és/vagy a mondatdarabolási szabályokat. Ha ezzel elkészült, a projektet újból be kell töltenie ahhoz, hogy a módosításait a rendszer figyelembe vegye.
Amikor az OmegaT a forrásállományt logikai egységekre darabolta - formázott állományok esetén ez általában a bekezdésekre tagolást jelenti -, ezeket az egységeket tovább darabolja mondatokra, hacsak a mondatdarabolást ki nem kapcsolja. Elvileg az OmegaT a logikai egységeket tetszőleges darabokra tudja feldarabolni az Ön által megadott beállításnak megfelelően. Alapbeállításban azonban az OmegaT mondatra darabolást végez.
A mondatdarabolás kialakítása a Segmentation Rules eXchange (SRX) szabvány szem előtt tartásával történt, jóllehet, jelen változatában az OmegaT még nem támogatja az összes SRX-funkciót és nem képes az SRX-forma szerint szabályokat importálni vagy exportálni. Ha azonban Ön ismeri az SRX működését, akkor már azt is tudja, hogyan működik az OmegaT, mivel ezek nagyjából azonosak.
Két szabályfajta létezik.
Példa a darabolási szabályra: a "Volt értelme? Nem voltam biztos benne." a "?
" alapján feldarabolható két mondatra. A "?
" kezelésére be kell vezetni egy darabolási szabályt.
Példa a kivételszabályra: A "Who is afraid of Mrs. Woolf?" (Ki fél Virginia Woolftól?, azaz: Nem félünk a farkastól)nem vágható szét a ".
" után. Ezért a "Mrs.
" kezelésére be kell vezetni egy kivételszabályt.
Az előre meghatározott darabolási szabályok a legtöbb európai nyelv és a japán esetén elégségesek lesznek, de ajánlatos további kivételszabályokat megfogalmazni az adott forrásnyelvre, hiszen minden lehetséges nyelv minden lehetséges kivételét lehetetlen megadni.
A szabályok beállításához a főmenüből válassza ki a Beállítások → Szövegdarabolás... pontot. Figyeljen arra, hogy a szövegdarabolási lehetőségek módosítása esetén annak figyelembevételéhez az esetleg nyitva lévő projektet újból be kell töltenie.
Minden adott nyelvhez tartozó szövegdarabolási szabálykészlet alkalmazása meghatározott sorrendben történik, így a megadott nyelvre érvényes szabályok megelőzik az alapbeállítás szerintieket.
Például a kanadai francia (FR-CA) szabályai megelőzik a franciáét (FR.*), amely viszont megelőzi az alapbeállítás szerintieket (.*). Így kanadai francia szöveg fordítása közben a projekt az ehhez megadott szabályokat használja, majd utána a franciát és végül az alapbeállítás szabályait, ebben a sorrendben.
Egy üres szabálykészlet létrehozásához kattintson a párbeszédablak felső részén lévő Hozzáadás pontra. Egy táblázat jelenik meg, alján egy üres sorral. Módosítsa a szabálykészlet és a nyelvi minta megnevezését. A nyelvi minta szerkezete a reguláris kifejezések szintaxisát követi. Lásd alább az A reguláris kifejezések rövid összegzése fejezetet.
Ha szabálykészlete egy nyelv-ország párost kezel, tanácsos azt a Feljebb gombbal felfelé mozgatni.
Egy szabálykészlet szerkesztéséhez kattintson rá a táblázatban, ennek hatására az ablak alsó részén megjelenik a szabálykészlet.
A Darabolás/Kivétel jelölőnégyzettel azt állíthatja be, hogy darabolási- (pipa) vagy kivételszabályról (nincs pipa) van-e szó. Két reguláris kifejezés, az Előtte és az Utána határozza meg, hogy mi jelenjen meg egy adott helyzet előtt és után ahhoz, hogy darabolási szabálynak vagy kivételszabálynak minősüljön.
A darabolási folyamat egyszerűsíthető az alábbiak szerint. Tegyük fel, hogy a kurzor az első karaktertől a szöveg utolsó előtti karakterére tér át. Minden egyes kurzorpozíciónál minden egyes szabályt a megadott sorrendben alkalmazunk és megpróbáljuk a kurzortól balra lévő egész szövegre alkalmazni az Előtte mintát, a jobbra lévőre pedig az Utána mintát.
Ha valamelyik szabály alkalmazása sikerrel jár, kivételszabály esetén leállítjuk a többi szabály megvizsgálását, darabolási szabály esetén viszont a balra lévő szöveget külön darabként kezeljük a szöveg minden egyes kurzorpozícióját tekintve.
.
') után és egy szóköz előtt\.
Utána: \s
\.
" a ".
" karaktert jelenti \s
" bármely nem nyomtatott karaktert jelentiMr." után
Mr\.
Utána: \s
Maguk a darabolási szabályok reguláris kifejezésekben vannak megadva. Ennek köszönhetően a szabályok megadása igen rugalmasan történik és megfelel az SRX-szabványnak.
Ezek nem fedik le az összes OmegaT-ben darabolásra használható kifejezést, csak a leggyakoribbakat. Az OmegaT támogatja az SRX-szabványban rögzített összes reguláris kifejezést.
Kifejezés | Egyezések |
---|---|
Beállítás | |
(?i) | Kikapcsolja a nagy- és kisbetűk közötti különbségtételt (alaphelyzetben a minta érzékeny a kis-/nagybetűkre). |
Karakterek | |
x | Az x karakter, kivéve az alábbiakat... |
\uhhhh | A hexadecimális 0xhhhh karakter |
\t | A tabulátor ('\u0009') |
\n | Az új sor (soremelés) ('\u000A') |
\r | A kocsivissza ('\u000D') |
Idézőkarakter | |
\ | Semmi, mindössze eredeti jelentésében idézi a következő karaktert. Erre akkor van szükség, ha a !$()*+.<>?[\]^{|} metakaraktereket önmagukban szeretné megkeresni. |
\\ | Ezzel kereshet magára a visszaperjelre |
\Q | Semmi, csak idéz minden karaktert az \E-ig |
\E | Semmi, csak lezárja a \Q-val megkezdett idézést |
Karakterosztályok | |
[abc] | az a, b vagy c alkotta osztály (egyszerű osztály) |
[^abc] | Az a, b vagy c kivételével bármely karakter (tagadás) |
[a-zA-Z] | a-tól z-ig vagy A-tól Z-it terjedő tartomány |
Sajátos jelentésű karakterek | |
. | Bármely karakter (kivéve a sort lezárókat) |
\d | Számjegy: [0-9] |
\D | Nem számjegy (betű): [^0-9] |
\s | Nem nyomtatott karakter (szóköz, tabulátor stb.): [ \t\n\x0B\f\r] |
\S | Nyomtatott karakter: [^\s] |
\w | Szó: [a-zA-Z_0-9] |
\W | Nemszó: [^\w] |
Határolók | |
^ | Sor eleje |
$ | Sor vége |
\b | Szóhatár |
\B | Nem szóhatár |
Tág kvantorok | |
A lehető legtágabb egyezéssel keresnek. Például az a+ megtalálja az aaa -t az aaabbb -ben | |
X? | X nulla vagy egy előfordulása |
X* | X nulla vagy több előfordulása |
X+ | X legalább egy előfordulása |
Szűk kvantorok | |
A lehető legszűkebb egyezéssel keresnek. Például az a+? az a első előfordulását találja meg az aaabbb -ben | |
X?? | X nulla vagy egy előfordulása |
X*? | X nulla vagy több előfordulása |
X+? | X legalább egy előfordulása |
Logikai operátorok | |
XY | X, utána Y |
X|Y | Vagy X, vagy Y |
(XY) | XY egyetlen csoportként |