Integracja xbench z LanguageTool

Nikomu chyba nie trzeba tłumaczyć, czym jest program xbench. Moim zdaniem niekorzystanie z niego podczas tłumaczenia większych projektów to grzech śmiertelny. Obecnie rozwijana jest wersja 3.0, ale nawet bezpłatna wersja 2.9, nad którą zakończono pracę kilka lat temu (na razie można ją jeszcze pobrać ze strony https://www.xbench.net/index.php/download), jest narzędziem genialnym, bez którego trudno mi wyobrazić sobie wydajną pracę.

Jedną z zalet xbencha, o której pewnie nie wszyscy wiedzą, jest możliwość rozszerzania za pomocą odpowiednio zaprogramowanych wtyczek. Twórcy xbencha opracowali zwięzłą dokumentację i przykłady kodu dla programistów. Informacje na ten temat są dostępne m.in. na ich blogu. Kiedy jeszcze chciało mi się programować, napisałem trzy, mniej lub bardziej użyteczne, wtyczki, a jedną z nich chciałbym w tym miejscu udostępnić. (Inną przydatną wtyczkę do xbench opisałem w tym artykule).

Wtyczka, o której mowa, pozwala przeprowadzić korektę tłumaczenia za pomocą narzędzia LanguageTool bezpośrednio z poziomu xbench. Więcej o LanguageTool można poczytać na stronie https://languagetool.org i nie będę się nad tym dalej rozwodził. Wspomnę tylko, że istnieją już wtyczki integrujące to narzędzie z jednym podstawowych programów używanych przez tłumaczy – SDL Trados Studio – oraz z mniej znanym oprogramowaniem wspomagającym pracę tłumacza – Okapi Framework, a w szczególności z modułem Rainbow. Integracja z xbench wydaje mi się jednak dużo bardziej przydatna, ponieważ pozwala korzystać z LanguageTool podczas tłumaczenia z użyciem wielu różnych programów. Właściwie prawie wszystkich, ponieważ prawie każdy pozwala na eksport wykonanego tłumaczenia do formatu czytelnego dla xbench. (Jest kilka takich, które tej możliwości nie zapewniają bezpośrednio, ale można je do tego „skłonić” w inny sposób. O sposobach, które udało mi się opracować, napiszę w innym miejscu).

Wtyczka integrująca xbench z LanguageTool składa się z dwóch plików: biblioteki DLL (XbenchQALanguageTool.dll) oraz pliku INI z parametrami (XbenchQALanguageTool.ini). Plik ZIP zawierający oba pliki wtyczki można pobrać stąd.

Żeby integracja xbench z LanguageTool była możliwa, muszą być spełnione pewne warunki.

  1. Na komputerze musi być oczywiście zainstalowany program xbench.
  2. Bibliotekę DLL wtyczki integrującej należy skopiować do katalogu, w którym znajduje się plik xbench.exe (zwykle jest to katalog C:/Program Files (x86)/ApSIC/Xbench).
  3. Plik INI wtyczki należy skopiować do katalogu, który jest zdefiniowany w opcji Default Project Directory w ustawieniach programu xbench (Tools > Settings > Miscellaneous Settings).
  4. Narzędzie LanguageTool należy zainstalować w wersji „LanguageTool — pakiet samodzielny”.

Po skopiowaniu plików wtyczki do odpowiednich katalogów i uruchomieniu programu xbench na karcie QA będą widoczne opcje przedstawione na poniższej ilustracji.

LanguageTool-01.png

W polu List of Checks występują dwie pozycje, gdyż starsza wersja serwera LanguageTool zwracała informacje o błędach w innym formacie niż obecnie (kiedyś był to XML, a teraz JSON). Zmiana ta jest dla mnie niezrozumiała i przypomina dyskusję o wyższości Świąt Bożego Narodzenia nad Wielkanocą, ale ponieważ wtyczkę przygotowałem dość dawno, a później byłem zmuszony ją zmodyfikować, w tej chwili działa na danych w obu formatach.

Teraz trzeba wczytać projekt xbench i uruchomić serwer LanguageTool, jeśli jeszcze nie działa. Próba wykonania testów xbench z użyciem LanguageTool, gdy ten serwer nie został uruchomiony, kończy się błędem i komunikatem:

LanguageTool-02.png

Podobny jest efekt, gdy parametr port serwera ustawiony w pliku INI jest niezgodny z faktycznym. Plik INI można modyfikować za pomocą dowolnego programu do edycji tekstów (np. Notatnik Windows), a jego zawartość jest następująca:

[LanguageTool]

port = 8081
language = pl

Zgodność parametru port z portem ustawionym w LanguageTool można sprawdzić, wybierając w LanguageTool opcję Sprawdzanie tekstu > Opcje. Odpowiednie ustawienie w LanguageTool jest wyróżnione na poniższej ilustracji.

LanguageTool-03.png

Port 8081 to ustawienie domyślne i w normalnej sytuacji nie ma potrzeby go zmieniać.

Parametr language powinien określać język docelowy projektu tłumaczeniowego. Inne ustawienie nie ma sensu. Ponadto dobrze jest wiedzieć, że język ten wcale nie musi być taki sam, jak ustawiony w LanguageTool. Ważne jest, by wartością parametru language był prawidłowy literowy kod języka rozpoznawany przez serwer LanguageTool. Najprawdopodobniej jest to literowy kod zgodny z którąś z norm ISO, ale dokładniejszych informacji trzeba szukać w serwisie https://languagetool.org.

Gdy wszystko jest skonfigurowane jak należy, kliknięcie przycisku Check Ongoing Translation w xbench powoduje, że kolejne segmenty docelowe bieżącego projektu tłumaczeniowego są jeden po drugim wysyłane do lokalnego serwera LanguageTool, a ten w przypadku wykrycia błędu (niezgodności z jedną z ustawionych reguł) zwraca odpowiednie informacje o błędzie. Po sprawdzeniu wszystkich segmentów informacje o błędach zostają wyświetlone w postaci standardowej listy błędów xbench. Przykład przedstawia poniższa ilustracja.

LanguageTool-04.png

I to tyle.

<< Wróć do poprzedniej strony