Forrásszöveg darabolása

Tartalomjegyzék

A szövegdarabolás alapjai

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.

Mondatdarabolás

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.

A szabályokról

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.

Szabályok bállítása

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.

Szabálykészletek

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.

Egyszerű példák

A cél: szövegdarab kijelölése egy pont ('.') után és egy szóköz előtt
Előtte: \. Utána: \s
Megjegyzés: a "\." a "." karaktert jelenti
a "\s" bármely nem nyomtatott karaktert jelenti
A cél: ne legyen szövegdarab kijelölése a "Mr." után
Előtte: Mr\. Utána: \s
Megjegyzés: Ne feledje, hogy a szabálynégyzetben nem lehet pipa
A cél: szövegdarab kijelölése a "。" (japán pont) után
Előtte: 。 Utána: (üres)
Megjegyzés: Egy mező állhat üresen

Darabolási szabályokban használható reguláris kifejezések

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.

A reguláris kifejezések rövid összegzése

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
xAz x karakter, kivéve az alábbiakat...
\uhhhhA hexadecimális  0xhhhh karakter
\tA tabulátor ('\u0009')
\nAz új sor (soremelés) ('\u000A')
\rA 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
\QSemmi, csak idéz minden karaktert az \E-ig
\ESemmi, 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)
\dSzámjegy: [0-9]
\DNem számjegy (betű): [^0-9]
\sNem nyomtatott karakter (szóköz, tabulátor stb.): [ \t\n\x0B\f\r]
\SNyomtatott karakter: [^\s]
\wSzó: [a-zA-Z_0-9]
\WNemszó: [^\w]
 
Határolók
^Sor eleje
$Sor vége
\bSzóhatár
\BNem 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
XYX, utána Y
X|YVagy X, vagy Y
(XY)XY egyetlen csoportként

Jogi tudnivalók