# Forrásszöveg darabolása

- Szerkezetszintű szövegdarabolás
- Mondatszintű szövegdarabolás
  - Szövegdarabolási szabályok
  - A szabályok beállítása
    - Elsődlegesség
    - A szabályok létrehozása
    - Töréspont/Kivétel
    - Egyszerű példák
- Reguláris kifejezéseket tartalmazó szerkezetek

A fordítási memóriák szövegrészeknek nevezett egységeket kezelnek. Az OmegaT egy szöveget kétféleképpen tud feldarabolni: bekezdésekre vagy mondatokra.

A szövegdarabolás típusának megadásához a főmenüből válassza ki a Beállítások → Szövegdarabolás... pontot.

Ha mondatokra darabolást választott, 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.

A fejlesztés során számottevő figyelmet fordítottunk a megbízható szövegdarabolásra, így az esetek túlnyomó részében nem lesz szüksége arra, hogy saját darabolási szabályokat írjon. Ugyanakkor ez a lehetőség hasznosnak bizonyulhat egyes speciális esetekben, mivel megengedi, hogy azt fordítsa, ami lefordítandó, annak veszélye nélkül, hogy megváltoztatná azt, aminek változatlanul kell megmaradnia.

Vigyázat! Ha a szűrők beállításait nyitott projekt mellett módosítja, adatvesztést idézhet elő. Ha nyitott projekt mellett módosítja a szűrők beállításait, azok életbe lépéséhez a projektet újból be kell töltenie.

# Szerkezetszintű szövegdarabolás

Az OmegaT a szövegen először szerkezeti szintű darabolást hajt végre. Ezalatt 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, HTML-dokumentumok stb.) blokkonként (bekezdésjelenként) tagolódnak. XHTML- vagy HTML-állományokban a lefordítható objektumattribútumok ) szintén külön szövegrészekbe kerülnek.

# Mondatszintű szövegdarabolás

Amikor az OmegaT a forrásállományt logikai egységekre darabolta, ezeket az egységeket tovább darabolja mondatokra.

## Szövegdarabolási szabályok

A szövegdarabolás folyamata ekként ábrázolható: képzelje el, hogy a kurzor a szövegen karakterről karakterre halad. Minden egyes kurzorpozíciónál minden egyes szabályt a megadott sorrendben alkalmaz és a kurzortól balra lévő egész szövegre megpróbálja alkalmazni az Előtte mintát, a jobbra lévőre pedig az Utána mintát. Ha a szabály a mintára illeszthető, a program abbahagyja a szabályvizsgálatot (a kivételszabályt illetően), vagy létrehozza az új szövegrészt (a töréspont szabálya szerint).

A mondatdarabolás kidolgozása a Segmentation Rules eXchange (SRX) szövegdarabolási csereszabvány segítségével történt - megjegyzendő, hogy a program nem támogatja az összes SRX-funkciót. Emellett nincs lehetőség az SRX-formájú szabályok importálására/exportálására sem. Ha azonban ismeri, hogyan működik az SRX, alapvonalakban tudni fogja, miként kezeli az OmegaT a szövegdarabolást.

Két szabályfajta létezik:

- A töréspontszabályok a forrásszöveget szövegrészekre tördelik.

  Példa: A "Volt értelme? Nem voltam biztos benne." két szövegrészre tördelendő.
  A "`?`" kezelésére be kell vezetni egy töréspontszabályt.

- A kivételszabályok megadják, mely szövegelemek NEM választhatók el a többitől.

  Példa: A "Mrs. Dalloway " nem választandó el, ezért kivételszabályt kell alkotni a Mrs (a Mr, a Dr, a prof stb.) esetére, amennyiben pont követi.

Az előre meghatározott töréspontszabályok a legtöbb európai nyelv és a japán esetén elegendőnek bizonyulnak. Ajánlatos azonban további kivételszabályokat megfogalmazni az adott forrásnyelvre, így értelmesebb és koherensebb szövegrészre tagolás érhető el.

## A szabályok beállítása

### Elsődlegesség

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.

### A szabályok létrehozása

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. Ha szabálykészlete egy nyelv-ország párost kezel, tanácsos azt a Mozgatás felfelé gombbal feljebb vinni. 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.

### Töréspont/Kivétel

A Töréspont/Kivétel jelölőnégyzettel azt állíthatja be, hogy töréspontszabályról (van 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 az töréspontszabálynak vagy kivételszabálynak minősüljön.

### Egyszerű példák

Rendeltetés | Előtte | Utána | Megjegyzés
szövegrész kijelölése pont ('`.`') előtt és szóköz után | `\.` | `\s` | A "`\.`" a "`.`"-t jelenti. A "`\s`" jelentése: bármely helykihagyó karakter
ne legyen szövegrész kijelölése a Mr. után | `Mr\.` | `\s` | Ez egy kivételszabály, ezért a szabály jelölőnégyzetében nem lehet pipa
`szövegrész kijelölése az` `"``。``"` `(japán pont) után` | `。` |  | Figyelje meg, hogy az Utána üres
ne legyen szövegrész kijelölése a M., Mr., Mrs. és Ms. után | `Mr??s??\.` | `\s` | kivételszabály - figyelje meg a ? használatát reguláris kifejezésekben (szűk kvantor)

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

A keresésekben és szövegdarabolásban használatos reguláris kifejezések megegyeznek a Java által támogatottakkal. Ezek rövid összegzését megtalálja a Reguláris kifejezések szerkezete függelékben.

Ha további információkra van szüksége, ezeket megtalálja itt: http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html.

Egyszerű oktatóprogramot számos helyen találhat a neten (pl. http://www.regular-expressions.info/quickstart.html.)

`Jogi tudnivalók`