Alatke s memorijama prevoda rade sa jedinicama teksta: segmentima. Postoji više načina segmentacije teksta.
OmegaT isprva pročešljava tekst radi segmentacije na strukturnoj razini. Tokom ovog procesa samo struktura izvorne datoteke stvara segmente. Na primjer, kod strukturne segmentacije, text datoteke mogu biti izsegmentirane na prijelomu redova, na praznim redovima ili pak nesegmentirane uopšte. Datoteke s formatacijom u sebi (OpenOffice.org, OpenDocument, XHTML i HTML dokumenti) bivaju segmentirane pomoću tagova na blok-razini (po odjeljcima).
Prevodivi atributi objekata (u datotekama XHTML ili HTML) se ekstrahuju u odvojene segmente.
OmegaT može takođe segmentirati i na razini rečenice. Rečenična segmentacija se odvija poslije segmentacije na strukturnoj razini. Segmenti koji tom prilikom nastanu, nažalost se, tokom prevođenja, ne mogu naknadno dijeliti ili ujedinjavati. Ovo predstavlja jedno ograničenje u softveru OmegaT kojega smo svjesni.
Ako nisi zadovolj/a/n/a sa segmentiranjem, moraćeš ili modifikovati izvornu datoteku ručno, i/ili mijenjati pravila rečenične segmentacije. Po obavljanju tih operacija, moraš ponovno učitati projekt da bi softver zabilježio nastale promjene.
Pošto je program OmegaT izsegmentirao izvornu datoteku u logičke jedinice, što kod formatiranih datoteka najčešće pretpostavlja odjeljke, on će, pod uslovom da je rečenična segmentacija aktivirana, nastaviti s daljom segmentacijom tih blokova u rečenice. Općenito govoreći, OmegaT može segmentirati logičke blokove u izvornoj datoteci u bilo kakav vid segmenta koji podesiš po svom nahođenju. Ali ćemo je, pošto OmegaT u svom podrazumijevanom ponašanju segmentira u rečenice, nazivati rečeničnom segmentacijom.
Rečenična segmentacija sagrađena je po standardima Segmentation Rules eXchange (SRX), iako u momentu pisanja ovog Priručnika, OmegaT ne podržava sve mogućnosti SRX, niti može uvoziti/izvoziti pravila definisana formatom SRX. Međutim, ako ti već poznaš način funkcionisanja SRX pravila, tada će ti biti jasno kako radi softver OmegaT, pošto su primjenjena pravila, manje-više, identična.
Postoje dvije vrste mogućih pravila.
Primjer prijeloma: "Da li je to bilo pametno? Nisam bila sigurna." poslije "?
" može se segmentirati u dvije rečenice. Znači da bi trebalo napraviti pravilo prijeloma za "?
".
Primjer pravila o izuzetku: "Who is afraid of Mrs. Woolf?" gdje poslije ".
" nije potrebna segmentacija. Znači da bi trebalo napraviti pravilo o izuzetku za "Mrs.
".
Unaprijed podešeno pravilo prijeloma (default) trebalo bi biti dovoljno za većinu evropskih jezika i japanski, ali ti preporučujemo sačiniš nešto više pravila o izuzetku za jezik iz koga prevađaš, pošto je očigledno da je sve jezike nemoguće unaprijed definisati sve moguće izuzetke.
Radi podešavanja pravila, s glavnog menija izaberi Opcije -> Segmentacija... . Imaj u vidu da ako pri otvorenom projektu promijeniš neke od opcija segmentacije, da ćeš morati iznova učitati projekt, kako bi softver prihvatio promjene.
Svi setovi pravila segmentacije s podudarnim jezičkim oblikom, primjenjuju se u datom redoslijedu, tako da bi pravila za određeni jezik, morala biti viša od onih pod "default".
Tako bi na primjer, pravila za kanadski francuski (FR-CA) trebalo da budu viša od pravila za francuski (FR.*) te viša od pravila Default (.*). Time će projekt prevođenja s kanadskog francuskog, koristiti definisana pravila za dotični jezik, potom za francuski, i na kraju pravila pod default, u pravilnom redoslijedu.
Radi stvaranja praznog seta pravila, u gornjoj polovini dijaloga, klikni na Add . U dnu tabele pojaviće se jedan prazan redak. Setu pravila i jezičkom obliku promijeni naziv. Sintaksa jezičkog oblika odgovara sintaksi običnih izraza. Pogledaj donji odjeljak Kratak pregled konstrukcija običnih izraza .
Ako tvoj set pravila barata sa parom jezik-država, savjetujemo ti da ga pomjeriš na vrh pomoću dugmeta Pomjeri gore .
Radi uređivanja seta pravila, jednostavno klikni po njemu i pravila seta će se pojaviti u donjoj polovini okna.
Kućica Prijelom/Izuzetak određuje da li se radi o pravilu prijeloma (kliknuta kućica) ili o pravilu o izuzetku (ne-kliknuta kućica). Dva obična izraza Prije i Poslije određuju šta se mora nalaziti prije i poslije određenog položaja, tako da se, shodno tome, tretira kao pravilo o izuzetku ili o prijelomu.
Proces segmentacije može se prikazati uprošćeno na sljedeći način. Zamislimo da se poslije prvog znaka, kursor pomjeri do ispred zadnjeg znaka u tekstu. Za svaki položaj kursora uzimamo pravilo u datom redoslijedu i pokušavamo primijeniti oblik Prije na cijeli tekst koji se nalazi lijevo od kursora i oblik Poslije na tekst koji se nalazi desno od njega, tako da oni dodiruju kursor.
Ako se uspješno primijeni neko pravilo, mi tada, što se tiče pravila o izuzetku, prestajemo s propitivanjem daljih pravila, a kod pravila o prijelomu, smatramo tekst s lijeve strane odvojenim segmentom za svaki položaj kursora u tekstu.
.
') ali prije razmaka\.
Poslije: \s
\.
" predstavlja znak ".
" \s
" predstavlja bilo koji znak za bijeli prostorMr." ne napravi segment
Mr\.
Poslije: \s
Sama po sebi, pravila segmentacije prikazuju se putem običnih izraza. Stoga je moguća maksimalna fleksibilnost u definisanju pravila i saglasja s pravilima SRX.
One ne predstavljaju jedine konstrukcije koje se mogu koristiti u pravilima segmentacije u OmegaT, već se samo radi o onima koje se najčešće koriste. OmegaT podržava karakteristike običnih izraza prema SRX standardima.
Konstrukcija | Podudarnosti |
---|---|
Zastavice | |
(?i) | Omogućuje traganje za podudarnostima bez razlikovanja malih i velikih slova (podrazumijevana vrijednost je namještena da postoji razlikovanje između malih i velikih slova). |
Znaci | |
x | Znak x, osim sljedećega... |
\uhhhh | Znak sa heksadecimalnom vrijednošću 0xhhhh |
\t | Tab znak ('\u0009') |
\n | Znak za novi red (line feed) ('\u000A') |
\r | Znak za povratak na početak reda ('\u000D') |
Citiranje | |
\ | Samo citira sljedeći znak. Ovo je potrebno kad hoćeš unijeti metaznake !$()*+.<>?[\]^{|} koji u konkretnom slučaju predstavljaju sami sebe. |
\\ | Na primjer, ovo je znak za obrnutu kosu crtu |
\Q | Samo citira sve znake ispred \E |
\E | Samo završava citiranje koje je otpočelo pomoću znaka \Q |
Klase znakova | |
[abc] | a, b, ili c (prosta klasa) |
[^abc] | Bilo koji znak osim a, b, ili c (negacija) |
[a-zA-Z] | a do z ili A do zaključno sa Z, (opseg) |
Unaprijed definisane klase znakova | |
. | Bilo koji znak (izuzev onih koji označavaju kraj reda) |
\d | Brojka: [0-9] |
\D | Ne-brojka: [^0-9] |
\s | Blanko znak: [ \t\n\x0B\f\r] |
\S | Ne-blanko znak: [^\s] |
\w | Znak za riječ: [a-zA-Z_0-9] |
\W | Znak za ne-riječ: [^\w] |
Granični znaci | |
^ | Početak retka |
$ | Kraj retka |
\b | Graničnik za riječ |
\B | Graničnik za ne-riječ |
Lakomi kvantifikatori | |
Oni će pronalaziti podudarnosti koliko god mogu. Na primjer, a+ će naći aaa u aaabbb | |
X? | X, jednom, ili uopšte ne |
X* | X, nula ili više puta |
X+ | X, jednom ili više puta |
Oprezni (nelakomi) kvantifikatori | |
Oni će pronalaziti podudarnosti u što manjoj mjeri. Na primjer, a+? će naći prvo a u aaabbb | |
X?? | X, jednom, ili uopšte ne |
X*? | X, nula ili više puta |
X+? | X, jednom ili više puta |
Logički operatori | |
XY | X iza koga slijedi Y |
X|Y | Ili pak X ili Y |
(XY) | XY kao solo grupa |