Home > Narzędzia > Ciężki orzech do zgryzienia, czyli zmiana segmentacji TM

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

Wrzesień 24th, 2009

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).

Wasaty Narzędzia , , ,

  1. Adam
    Wrzesień 25th, 2009 at 13:06 | #1

    Witam Pana po urlopie!

    Nie wiem gdzie mogę zadać pytanie niezwiązanie bezpośrednio z tematem wpisu, więc robię to tu.

    W opisie ogólnym narzędzi CAT wśród zalet wymienia Pan:
    “Po drugie – możliwość definiowania tzw. “placeables”, czyli fragmentów tekstu, które program rozpoznaje i umożliwia skopiowanie za pomocą skrótu klawiszowego z segmentu źródłowego do tłumaczenia – może to być np. data (wraz z automatyczną konwersją na inny format), nazwa produktu czy wartość liczbowa.”

    Jestem użytkownikiem codziennym Tradosa i bardzo chciałbym dowiedzieć się jak zdefiniować te “placeables” będące np. nazwą produktu, z datą i wartościami liczbowymi sobie radzę.

    Pozdrawiam i uważam, że blog jest super i na czasie.

    Przy okazji polecam konferencję TM (tym razem to od Translation Management nie Memory) Europe http://www.tm-europe.org/

  2. Wrzesień 25th, 2009 at 13:53 | #2

    @Adam
    To dość nieskomplikowane: w programie Workbench menu File > Setup > Substitutions. Włączyć opcję „Variables” i wpisać listę, po jednym haśle na wiersz. Przejście do następnego wiersza przez Ctrl-Enter.

    A co do konferencji to wiem o niej i chętnie bym się wybrał przynajmniej na niektóre sesje (np. szkolenia prowadzone przez Josta Zetzsche). Niestety, muszę wtedy wyjechać za granicę.

    Pozdrawiam,
    Marek Pawelec

  3. Październik 24th, 2009 at 17:57 | #3

    Doskonały informaywny tekst! Sam kiedyś przerabiałem resegmentowanie i nadal śni mi się to po nocach. Dobra roboa Marku!

  4. Listopad 13th, 2009 at 06:43 | #4

    Bardzo ładne, dziękuję.

  1. Brak jeszcze trackbacków

Wąsaty tłumacz is using WP-Gravatar