Sep 24

Ciężki orzech do zgryzienia, czyli zmiana segmentacji TM

OkapiWyobraźmy sobie, że dostajemy do przetłumaczenia duży plik – nową wersję instrukcji, którą już kiedyś tłumaczyliśmy. Dzięki programowi CAT i starej TM z poprzedniego tłumaczenia możemy przetłumaczyć tylko nowy tekst, stare fragmenty podstawiając z pamięci, dzięki czemu zrobimy to szybciej i taniej niż ktoś inny. Problem w tym, że „stara” TM powstała z użyciem innych reguł segmentacji, niż stosowane w obecnie używanym oprogramowaniu. Jak sobie z tym poradzić?

U progu swojej „kariery” tłumacza technicznego pracowałem w systemie Linuks, używając wyłącznie darmowych narzędzi. Nie powinno więc dziwić, że moim pierwszym programem CAT była OmegaT – całkiem darmowy program napisany w Javie. Użyłem go mn. do przetłumaczenia kilku dość dużych instrukcji obsługi, w czym bardzo mi pomógł dzięki sporej powtarzalności tekstu. Niestety, w tamtych czasach w programie OmegaT dostępna była jedynie segmentacja akapitowa, a właśnie zgłosił się do mnie klient z tłumaczeniem nowszej wersji jednej z tamtych instrukcji. Wydawało mi się, że nie ma na to pytanie prostej odpowiedzi. Kilka miesięcy wcześniej w analogicznej sytuacji wygenerowałem TM z segmentacją zdaniową robiąc align dokumentu źródłowego i tłumaczenia (tych z poprzedniej wersji). Niestety, było to dość pracochłonne. Tym razem postanowiłem uważniej przyjrzeć się programom z pakietu Okapi.

Co to takiego? Cytując opis ze strony projektu: „jest to zestaw specyfikacji interfejsów, modeli obiektów, elementów i aplikacji zapewniających środowisko do tworzenia uniwersalnych narzędzi służących do lokalizacji i tłumaczenia dokumentacji i oprogramowania.” Brzmi strasznie, na szczęście w rzeczywistości nie jest tak źle. Okapi to zestaw narzędzi i filtrów służących do pracy z pamięciami tłumaczeń oraz konwersją i przygotowaniem do tłumaczenia różnego rodzaju plików. Funkcja, która mnie tym razem najbardziej zainteresowała to właśnie możliwość przesegmentowania pamięci tłumaczeń.

Niestety, jak to czasami bywa w projektach Open Source, pakiet został stosunkowo niedawno przepisany na inny język programowania i w sieci dostępne są jego dwie wersje. W procedurze wymagany jest jeden program w starej wersji i jeden w nowej.

Okapi2

Opis procedury zaczerpnąłem stąd.

  1. Pobrać i zainstalować program Olifant. Służy on do edycji i tworzenia plików TM. W naszym wypadku jest konieczny tylko, jeśli segmenty pamięci do przeróbki nie mają atrybutów “tuid”, czyli unikalnych identyfikatorów segmentów.
  2. Wczytać pamięć w formacie TMX do programu Olifant i wybrać z menu „Entries” polecenie „Generate IDs”. Zapisać plik.
  3. Pobrać i rozpakować do stworzonego folderu program program Rainbow w wersji 6.0 lub wyższej (dostępny tutaj, na stronie z Olifantem dostępna jest wersja 5).
  4. Uruchomić program  (nie jest tworzona ikona na pulpicie ani w menu Start). Korzystając z Eksploratora (lub innego managera plików) przeciągnąć na kartę Input List 1 plik TM do konwersji. Ten sam plik przeciągnąć na kartę Input List 2. W karcieLanguages and Encodings ustawić właściwe parametry (w razie wątpliwości sprawdzić nagłówek pliku TMX).
    UWAGA: W ścieżce do pliku nie mogą się znajdować foldery ze spacjami w nazwie.
  5. Z menu „Utilities” wybrać polecenie „ID-based alignment”. Zaznaczyć opcję „Segment the extracted text using the following SRX rules:” (Segmentuj ekstrahowany tekst używając następujących reguł). Wybrać plik .srx z regułami segmentacji. Jeden dostępny jest w podfolderze Config folderu Okapi. Ja użyłem pliku domyślnych reguł segmentacji programu SDLX z pakietu Trados 2007.
  6. Na karcie Output wybrać wpisać nazwę pliku wyjściowego i kliknąć OK. Jeśli nie popełniliśmy jakiegoś błędu, program rozpocznie pracę (patrz ilustracja wyżej).

I to wszystko. W moim wypadku zamiast całego dnia uzyskałem przesegmentowaną TM w niecałe trzy godziny (włącznie z wyjaśnieniem problemu spacji w nazwie).

Leave a Reply

Your email address will not be published.