Segmentacja źródła - Podręcznik użytkownika OmegaT 2.1

## Segmentacja źródła

- Segmentacja na poziomie struktury

- Segmentacja na poziomie zdań

  - Zasady segmentacji

  - Ustawienia zasad

    - Priorytet

    - Tworzenie zasad

    - Łamanie/Wyjątek

    - Kilka prostych przykładów

- Składniki wyrażeń regularnych

Narzędzia pamięci tłumaczeniowej pracują z jednostkami tekstowymi, nazywanymi segmentami. OmegaT ma 2 sposoby segmentowania tekstu: segmentacja akapitów i segmentacja zdań. W celu wybrania rodzaju segmentacji, wybierz Projekt → Właściwości... z menu głównego i użyj pola zaznaczania. Zauważ, że segmentacja akapitów jest dość przestarzała i że w większości projektów lepszym wyborem jest segmentacja zdań. Jeśli wybrana została segmentacja zdań, możesz ustawić jej zasady wybierając Opcje → Ustawienia segmentacji... z menu głównego.

Zauważ, że znaczna część rozwoju programu została poświęcona na rozwój niezawodnych zasad segmentacji, więc w większości przypadków nie będziesz potrzebował zajmować się pisaniem własnych zasad segmentacji. Z drugiej strony ta funkcja może być bardzo użyteczna w szczególnych przypadkach, pozwalając ci przetłumaczyć to, co musi zostać przetłumaczone, bez ryzykowania zmiany tego, co musi pozostać niezmienione.

Uwaga! Zmiana ustawień segmentacji, kiedy projekt jest otwarty, może spowodować utratę danych. Jeśli zmieniasz ustawienia segmentacji, kiedy projekt jest otwarty, będziesz musiał wczytać ponownie projekt, aby zmiany odniosły skutek.

## Segmentacja na poziomie struktury

OmegaT najpierw dokonuje rozbioru tekstu przy pomocy segmentacji na poziomie struktury. Podczas tego procesu tylko struktura pliku źródłowego jest wykorzystywana do tworzenia segmentów.

Na przykład pliki tekstowe niesformatowane mogą być segmentowane na końcach linii, pustych liniach lub mogą nie być w ogóle segmentowane. Pliki sformatowane (dokumenty OpenOffice.org, dokumenty HTML, itd.) są segmentowane na znacznikach bloków (akapitów). Możliwe do przetłumaczenia atrybuty obiektów w plikach XHTML lub HTML mogą być wyodrębnione jako oddzielne segmenty.

## Segmentacja na poziomie zdań

Po segmentacji pliku źródłowego na jednostki logiczne, OmegaT przeprowadzi dalszą segmentację tych bloków na zdania.

### Zasady segmentacji

Proces segmentacji może być zobrazowany następująco: wyobraź sobie, że kursor przemieszcza się po tekście, po jednym znaku. Dla każdego położenia kursora stosowana jest każda zasada w podanej kolejności, aby zobaczyć, czy wzorzec Po ciągu stosuje się do tekstu na lewo, a wzorzec Przed ciągiem do tekstu na prawo od kursora. Jeżeli zasada pasuje, program przestaje sprawdzać zasady (w przypadku zasady wyjątku) lub tworzy nowy segment (w przypadku zasady łamania).

Segmentacja na poziomie zdań została zaimplementowana za pomocą standardu Segmentation Rules eXchange (SRX) - pamiętaj, że nie wszystkie funkcje SRX są obsługiwane. I nie jest możliwe importowanie/eksportowanie zasad zdefiniowanych w formacie SRX. Jeśli jednak wiesz, jak działa SRX, wiesz już trochę na temat tego, jak OmegaT przeprowadza segmentację.

Są dwa rodzaje zasad:

- Zasady łamania dzielą tekst źródłowy na segmenty. Na przykład, "Czy to miało sens? Nie byłem pewien." powinno być podzielone na dwa segmenty, tzn. powinna być zasada łamania dla "`?`".

- Zasady wyjątku określają, które części tekstu NIE powinny być dzielone. Mimo kropki, "Mrs. Dalloway " nie powinno być podzielone na dwa segmenty, więc powinna być ustanowiona zasada wyjątku dla skrótów Mrs (oraz Mr, Dr, prof itd.), zakończonych kropką.

Predefiniowane zasady łamania powinny być wystarczające dla większości języków europejskich i języka japońskiego. Dzięki elastyczności możesz rozważyć zdefiniowanie większej ilości zasad wyjątku dla języka, z którego tłumaczysz,aby otrzymać bardziej sensowne i spójne segmenty.

### Ustawienia zasad

### Priorytet

Wszystkie ustawienia zasad segmentacji z odpowiednim wzorcem języka są stosowane w podanej kolejności priorytetu, zatem zasady dla konkretnego języka powinny być wyżej niż domyślne. Na przykład, zasady dla języka francuskiego w wersji kanadyjskiej (FR-CA) powinny być wyżej niż zasady dla języka francuskiego (FR.*) i wyżej niż domyślne (.*). Wtedy podczas tłumaczenia z języka francuskiego kanadyjskiego projekt będzie używał zasad zdefiniowanych dla tego języka, zasad dla języka francuskiego i zasad domyślnych, w odpowiedniej kolejności.

### Tworzenie zasad

W celu edycji lub rozszerzenia istniejącego zestawu zasad, kliknij na nim w górnej tabeli. Zasady tego zestawu pojawią się w dolnej połowie okna.

W celu stworzenia pustego zestawu zasad dla nowego wzorca języka kliknij Dodaj w górnej połowie okna dialogowego. Pojawi się pusta linia w dole górnej tabeli (być może będziesz musiał przewinąć tabelę w dół, aby zobaczyć tę linię). Zmień nazwę zestawu zasad i wzorca języka. Składnia wzorca języka jest zgodna ze składnią wyrażeń regularnych. Jeżeli twój zestaw zasad dotyczy pary język-kraj, radzimy przesunąć go na górę, używając klawisza Przesuń wyżej.

### Łamanie/Wyjątek

Pole wyboru "Podziel w miejscu:" określa, czy jest to zasada łamania (pole wyboru zaznaczone), czy zasada wyjątku (pole wyboru niezaznaczone). Dwa wyrażenia regularne "Po ciągu" i "Przed ciągiem" określają, co musi znajdować się przed i za jakimś miejscem, aby zastosować zasadę wyjątku lub zasadę łamania.

### Kilka prostych przykładów

Cel | Po ciągu | Przed ciągiem | Uwagi
ustanowić segment po kropce ('`.`') i przed spacją | `\.` | `\s` | "`\.`" oznacza znak "`.`" "`\s`" oznacza dowolny biały znak
nie dzielić po Mr. | `Mr\.` | `\s` | Jest to zasada wyjątku, więc pole wyboru zasady musi być niezaznaczone
ustanowić segment po "ã€‚" (japońska kropka) | `ã€‚` |  | Zauważ, że wzorzec Przed ciągiem jest pusty
nie dzielić po M. Mr. Mrs. i Ms. | `Mr??s??\.` | `\s` | zasada wyjątku - patrz użycie znaku "?" w wyrażeniach regularnych (kwantyfikator niezachłanny)

## Składniki wyrażeń regularnych

Wyrażenia regularne używane przy zasadach segmentacji są takie same, jak obsługiwane przez Javę. Skrócone informacje są dostępne w rozdziale Składniki wyrażeń regularnych. Jeśli potrzebujesz bardziej szczegółowych informacji, przeczytaj http://java.sun.com/j2se/1.5/docs/api/java/util/regex/Pattern.html.

W sieci można znaleźć proste podręczniki (na przykład http://www.regular-expressions.info/quickstart.html).

Uwagi prawne | Spis treści | Indeks