[PORADNIK] Wszystko, co musisz wiedzieć o programie OmegaT

Awatar użytkownika
ikskoks
Nadzieja polskiego romhackingu
Posty: 797
Rejestracja: 19 wrz 2011, o 11:10
Grupa: LocMakers
Kontakt:

[PORADNIK] Wszystko, co musisz wiedzieć o programie OmegaT

Postautor: ikskoks » 2 sie 2013, o 23:52

Autor: ikskoks
Strona: http://ikskoks.grajpopolsku.pl/news.php
e-mail: ikskoks@gmail.com
Gadu gadu: 5690946
Facebook: https://www.facebook.com/Ikskoksgrajpopolskupl

Spis treści:
1. Wstęp
2. Czemu OmegaT?
3. Obsługa programu
- konfiguracja ustawień
- instalacja słowników
4. Nasz pierwszy projekt
- segmentacja
5. Tłumaczenie w grupie online



1. Wstęp

OmegaT jest programem, który pozwala na tłumaczenie ogromnych ilości tekstu w wygodny sposób. Jest niezastąpiony w tej dziedzinie. Jako darmowy program spisuje się naprawdę nieźle i nie można tutaj się przyczepić do żadnych niedociągnięć.

W tym poradniku nauczymy się obsługi programu, tworzenia własnego projektu z plików tekstowych, instalacji niezbędnych dodatków i tłumaczenia grupowego. Będzie to nieoceniona wiedza, która przyda nam się w przyszłych projektach. Ułatwi nam to stworzenie profesjonalnego tłumaczenia do gry, filmu, serialu itp.

Kilka informacji:

# Co to jest OmegaT?
OmegaT to darmowe narzędzie CAT napisane w języku Java przeznaczone dla zawodowych tłumaczy.

# Co to jest CAT?
CAT (computer-assisted translation) jest formą tłumaczenia realizowanego przy użyciu komputera z wykorzystaniem specjalnego oprogramowania usprawniającego proces przekładu. CAT nie należy mylić z tzw. tłumaczeniem maszynowym, które zakłada realizację całości procesu tłumaczenia za pomocą automatycznych algorytmów. Wśród użytkowników przyjęło się stosowanie tej nazwy jako określenie na programy wspomagające tłumaczy.

# Czym jest segment?
Segment to jednostka tekstu tłumaczona przez programy CAT. Najczęściej segmentami są części zdania oddzielone przecinkami, zdania oraz paragrafy.

# Gdzie mogę uzyskać pomoc z programem OmegaT?
Twórcy programu założyli grupę na yahoo.com, w której udziela się wielu użytkowników. Znajdziecie ją TUTAJ. Można tam opisać właściwie każdy swój problem z programem.

# Czy OmegaT jest najlepszym programem CAT?
Prawdopodobnie nie. W ostatnich latach najwięcej udziałów na rynku należało do Tradosa oraz Wordfasta, które według niektórych ludzi mogą przewyższać Omegę pod względem funkcjonalności i wygody.

# Czy jako zwykły tłumacz-hobbysta powinienem używać OmegaT?
To dobre pytanie. Oczywiście każdy z nas ma wybór jakiego programu CAT będzie używał w swoich tłumaczeniach. Jedni wolą Tradosa, a inni Deja Vu lub OmegaT. To od nas zależy na co się zdecydujemy. Jednak musimy pamiętać, że większość narzędzi CAT jest płatna przez co OmegaT wydaję się być dla nas idealnym początkiem w świecie spolszczeń chociażby dla wstępnego zapoznania się z tym rodzajem oprogramowania.

2. Czemu OmegaT?

Przyjrzyjmy się bliżej pozytywnym aspektom korzystania z OmegaT. Na pewno ogromną zaletą jest brak opłaty za program. Nie musimy płacić ani złotówki, a mamy do dyspozycji potężne narzędzie, które ułatwi nam życie w przyszłości. Kolejnym plusem jest na pewno łatwość w obsłudze. Instalacja przebiega bezproblemowo, interfejs jest intuicyjny i mamy też do dyspozycji obszerną dokumentację oraz wsparcie techniczne. Warto zwrócić uwagę na popularność programu na polskiej scenie tłumaczeniowej, gdzie większość użytkowników zakłada swoje projekty tłumacząc właśnie w OmegaT. Wieloplatformowość także nam sprzyja. Program został stworzony w javie, dzięki czemu możemy go uruchomić na wielu urządzeniach i systemach operacyjnych.

Nie będę jednak tutaj nikomu mydlił oczu i wspomnę też o tym, że Omega ma kilka drobnych wad, jak na przykład brak pełnego wsparcia dla odczytywania plików pakietu MS Office przez co jesteśmy skazani na ręczne kopiowanie tekstu tracąc przy tym całe formatowanie. Przeszkadzać również mogą okazyjnie pojawiające się błędy w programie przez co czasami musimy pobierać cały projekt od nowa z repozytorium, a gdy pracujemy offline w najgorszym wypadku możemy stracić cały projekt, jeśli nie robiliśmy wcześniej żadnych kopii zapasowych.

Jednak z ręką na sercu muszę przyznać, że OmegaT ma w sobie dużo więcej zalet niż wad. Jeżeli dopiero zaczynamy swoją przygodę z tłumaczeniem i nie chcemy pozbywać się zawartości naszego portfela, to ten program jest wręcz idealny dla nas i w internecie nie znajdziemy lepszego kandydata. Zatem możemy śmiało zaopatrzyć się w ten program, gdyż nic na tym nie stracimy, a możemy sporo zyskać.

3. Obsługa programu

W tym dziale nauczymy się wszystkiego co może okazać się przydatne przy dalszej pracy z programem. Jak już wcześniej wspomniałem obsługa programu jest dość prosta, dlatego dostosowanie ustawień do naszych potrzeb nie powinno zająć wiele czasu ani nie powinno przysporzyć żadnych problemów.

Na początku musimy przejść do najważniejszej czynności, czyli pobrania programu na nasz dysk. A zrobimy to TUTAJ.

Wybieramy odpowiednią wersję do pobrania w zależności od systemu i tego czy mamy zainstalowaną javę.
1.png
Następnie instalujemy program na dysku i go uruchamiamy.

-- Konfiguracja ustawień --

Przed rozpoczęciem pracy, musimy dostosować opcje do naszych potrzeb. Zaprezentuję wam prawdopodobnie najwygodniejsze ustawienia z możliwych.

Najpierw dostosujemy sobie kolorystykę. Wchodzimy w zakładkę Widok i zaznaczamy sobie tylko trzy pierwsze opcje.
2.png
Możemy też dostosować widok nieco inaczej do naszych potrzeb, ale według mnie moje ustawienia są najbardziej optymalne. Teraz wchodzimy w Opcje i zaznaczamy TAB zmienia segment, dzięki czemu będziemy mogli przejść do kolejnego segmentu za pomocą tego jednego klawisza.
3.png
Przechodzimy do zakładki Opcje i klikamy Parametry edytora.
4.png
Najwygodniej będzie ustawić Zostaw segment pusty w okienku.
5.png
Teraz zmienimy nasz nick w programie. Przyda się to przy tłumaczeniu w grupie. Klikamy Opcje, a następnie Opcje grupowe.
6.png
Tutaj wpisujemy nazwę, która będzie się wyświetlać przy naszych tłumaczeniach.
7.png
To już w zasadzie wszystkie opcje, które powinny nas obchodzić.

-- Instalacja słowników --

Tutaj nauczymy się w jaki sposób poprawnie zainstalować polskie słowniki w programie. Dzięki nim wyrazy z błędami ortograficznymi będą podkreślane na czerwono. To może znacznie podnieść jakość naszego tłumaczenia, jeśli oczywiście zdecydujemy się zwrócić na to uwagę.

Najpierw musimy pobrać słowniki TUTAJ. Pod tym linkiem zawsze zaopatrzymy się w najnowszą wersję.
8.png
Wypakowujemy pliki z paczki i zmieniamy ich nazwy:
pl_PL.dic --> pl.dic
pl_PL.aff --> pl.aff


Teraz przenosimy pliki pl.dic oraz pl.aff do folderu Omegi. Domyślnie jest to c:\Program Files (x86)\OmegaT\
9.png
W programie klikamy Opcje i Sprawdzanie pisowni.
10.png
W okienku trzeba zaznaczyć opcję Automatycznie sprawdzaj pisownię tekstu i podać folder z Omegą, do którego wcześniej kopiowaliśmy pliki słownika.
11.png
I to już wszystko. Teraz możemy cieszyć się z posiadania słowników, które wychwycą nasz każdy błąd.

4. Nasz pierwszy projekt

Część z przygotowaniem do pracy mamy już za sobą. Możemy bez żadnych przeszkód zająć się zakładaniem naszego pierwszego projektu.

Wchodzimy w Projekt > Nowy.
12.png
12.png (19.8 KiB) Przejrzano 17684 razy
Wpisujemy nazwę dla naszego nowego folderu Omegi i klikamy Save.
13.png
Na tym etapie ustalamy język plików źródłowych oraz docelowych i decydujemy się czy segmenty w programie mają być podzielone na zdania (każde zdanie będzie osobnym segmentem), więc pierwsza opcja może być zaznaczona lub odznaczona w zależności od tego na co się zdecydujemy.
14.png
Po wciśnięciu OK pojawi nam się prawie puste okienko. Musimy tutaj zaimportować do programu cały tekst, którym będziemy się zajmować. Zdecydowanie klikamy Importuj pliki źródłowe i wybieramy z dysku pliki tekstowe do tłumaczenia.
15.png
I dobrnęliśmy w końcu do momentu, w którym możemy zacząć tłumaczyć na poważnie. Wystarczy kliknąć dwa razy na pierwszy segment i napisać nasze tłumaczenie. TABem przejdziemy sobie wygodnie do następnego segmentu. Powtarzamy te czynności aż projekt będzie zakończony i będziemy mogli wykorzystać efekty naszej pracy. Aby to zrobić, przechodzimy do Projekt > Utwórz dokumenty docelowe
16.png
Przetłumaczone pliki pojawią się w folderze target naszego projektu, czyli na przykład w C:\Users\ikskoks\Desktop\NOWY PROJEKT\target

-- Segmentacja --

Warto wspomnieć coś o segmentacji, czyli dzieleniu tekstu na osobne segmenty. Może nam to bardzo ułatwić tłumaczenie tekstów, które zawierają w sobie fragmenty kodu z gry. Przecież wiadomo, że jak niechcący zmienimy jakiś kod, to gra może nam nie odczytać tekstów, a w najgorszym przypadku w ogóle się nie uruchomić.

Jeśli chcemy dostosować sobie segmentację projektu, wchodzimy w Projekt > Właściwości.
17.png
A następnie w Ustawienia segmentacji.
18.png
Zaznaczamy Make the segmentation rules project specific, dodajemy nowy język i przesuwamy go na samą górę.
19.png
Możemy go sobie jakoś ładnie nazwać. Teraz najważniejsza czynność, czyli dodawanie naszych własnych reguł. Wytłumaczę wam mniej więcej, jak to działa. Spójrzcie dokładniej na część tabeli pod napisem Łamanie/Wyjątek. Kiedy pod spodem zaznaczymy okienko, to reguła będzie obowiązywać w całym projekcie. Nasze reguły będziemy najczęściej tworzyć z zaznaczonym okienkiem łamania.

No ale jak wiadomo każda reguła ma pewne wyjątki i tak samo jest tutaj. Kiedy chcemy ustawić segmentację dla jakiegoś określonego przypadku, to tworzymy wyjątek nie zaznaczając okienka.

Możemy ustawić, aby łamanie segmentu następowało po lub przed jakimś ciągiem znaków. Zademonstruję to na przykładzie. Stworzyłem plik tekstowy, który jest zlepkiem fragmentów skryptów z różnych gier:

Kod: Zaznacz cały

CRED270TEXT,,Senior Graphic Designer CRED271TEXT,,Marco Garcia CRED272TEXT,,Video Production Manager CRED273TEXT,,Carl Smolka HNPC092ROUL,Voice/Streaming/Hillbilly/RouletteBarkerVoice_Event,Take your chance with Lady Luck! HNPC093ROUL,Voice/Streaming/Hillbilly/RouletteBarkerVoice_Event,Spin the wheel and guess a color! HNPC094ROUL,Voice/Streaming/Hillbilly/RouletteBarkerVoice_Event,"If you're right, you win a ticket!" KAME Excuse me. KAME What's this nameplate say? KAME Does it?
Tytuły gier są tutaj mało istotne. Bardziej chodziło mi o pokazanie, że nasz skrypt może występować w różnej postaci i musimy zadbać o dobranie odpowiednich reguł. Na początku zajmiemy się usunięciem kodu "CRED271TEXT,," z naszego segmentu. Będziemy musieli ustawić regułę, która utnie nam segment po tych dwóch przecinkach na końcu kodu.

Najpierw zmieńmy sobie wzór języka na EN-US.
20.png
Teraz wpisujemy przecinki oraz początek kodu (CRED) w odpowiednich miejscach tak jak na obrazku, dzięki czemu tekst będzie rozdzielany na ładne segmenty.
21.png
Identycznie robimy z kodem "HNPC092ROUL,Voice/Streaming/Hillbilly/RouletteBarkerVoice_Event,". W tabeli Po ciągu wpisujemy "Event,", a w tabeli Przed ciągiem wpisujemy "HNP". Następny przypadek jest już nieco prostszy. Musimy sprawić, aby po słowie "KAME" tworzył się nowy segment. Wystarczy to słowo wpisać w tabeli Po ciągu i załatwione. Wszystkie przedstawione reguły powinny wyglądać mniej więcej tak:
22.png
To chyba wszystko, jeśli chodzi o podstawowe metody segmentacji. Jak chcecie się nauczyć bardziej zaawansowanych technik, polecam przeczytać te dwa artykuły i obejrzeć zamieszczone tam filmy:
http://www.velior.ru/blog/en/2013/06/11 ... am-omegat/
http://www.velior.ru/blog/en/2013/05/27 ... in-omegat/

No i to oczywiście nie wszystko. W dokumentacji programu OmegaT jest dużo więcej na ten temat.

5. Tłumaczenie w grupie online

Dobrnęliśmy chyba do najciekawszego rozdziału, w którym wytłumaczę na czym polega ukryta perełka w Omedze, czyli funkcja tłumaczenia online. Jest to niewątpliwie najlepsza metoda pracy, jeśli ktoś nam pomaga z tłumaczeniem.

Najpierw zajmiemy się założeniem konta w serwisie, który udostępnia za darmo potrzebne nam repozytorium, czyli RiouxSVN.

Wchodzimy na stronę TUTAJ i się rejestrujemy.

Gdy wszystko już będzie gotowe, logujemy się na stronie i przechodzimy TUTAJ.

Klikamy Create new repository.
23.png
Wpisujemy nazwy dla naszego repozytorium i przechodzimy dalej.
24.png
Tutaj nic nie robimy i przechodzimy dalej.
25.png
W ostatnim kroku polecam włączyć sobie opcję powiadamiania na e-mail. Dzięki temu natychmiastowo będziemy informowani o każdej, nawet najmniejszej zmianie w projekcie.
26.png
Jeżeli robiliśmy wszystko według instrukcji, to na koniec powinien nam się pojawić komunikat o pomyślnym utworzeniu naszego repozytorium.
27.png
Teraz możemy spokojnie dać naszym znajomym dostęp do repozytorium. Muszą oni jednak mieć konto w serwisie. Przechodzimy do zakładki Users i klikamy Add new user.
28.png
Wpisujemy w okienku nazwę użytkownika, którego chcemy dodać i przechodzimy dalej. Jeśli udało nam się go znaleźć, to zaznaczamy repozytorium i zezwalamy na odczyt oraz zapis na serwer.
29.png
Wszyscy zaproszeni użytkownicy powinni być widoczni w okienku Your Users.

Teraz tworzymy sobie projekt OmegaT, wrzucamy do niego teksty do tłumaczenia, zmieniamy przynajmniej jedno zdanie na polskie (żeby uniknąć błędów programu) i zapisujemy.

I po tym projekt jest gotowy, aby go wrzucić do repozytorium. Zrobimy to za pomocą programu TortosieSVN, który pobierzemy TUTAJ.

Instalujemy go i klikamy prawym przyciskiem myszy na dowolny plik/folder na naszym komputerze (może być nawet pulpit), aby wywołać menu kontekstowe, w którym przechodzimy do zakładki TortoiseSVN, a następnie Repo-browser.
30.png

Wyskoczy nam okienko, w którym musimy podać adres do naszego repozytorium. Znajdziemy go TUTAJ. Po kliknięciu na nazwę naszego repo, zostaniemy przeniesieni i zobaczymy poszukiwany adres z lewej strony. Wystarczy go przekopiować.
31.png
31.png (8.92 KiB) Przejrzano 17684 razy
Teraz zaznaczamy wszystkie pliki z projektu Omegi i po prostu je przenosimy do okienka TortoiseSVN.
32.png
Pokaże się nam okienko z ostrzeżeniem, lecz nie musimy się nim przejmować i zwyczajnie klikamy Import.
33.png
Niestety upload nie jest aż taki szybki i będziemy musieli trochę poczekać zanim wszystko poprawnie nam się wgra na serwer. Po wszystkim wciskamy OK i wracamy do naszej Omegi. Tam przechodzimy do Projekt > Download Team Project.
34.png
34.png (18.85 KiB) Przejrzano 17684 razy
W okienku Team Project zaznaczamy SVN oraz podajemy adres do repozytorium i folder na dysku, do którego ma się pobrać projekt.
35.png
I nasi przyjaciele z ekipy, którzy będą z nami tłumaczyć robią dokładnie tak samo. Dodam też, że nie musimy za każdym razem pobierać od nowa projektu na dysk. Przy każdym ponownym otworzeniu projektu korzystamy z opcji Projekt > Otwórz. To już właściwie wszystko, jeśli chodzi o tłumaczenia grupowe.

Mam nadzieję, że poradnik się podobał, nie był zbyt długi i zawiły. ;)

cienislaw
Posty: 267
Rejestracja: 3 cze 2013, o 08:41
Grupa: GameSub

Re: [PORADNIK] Wszystko, co musisz wiedzieć o programie Omeg

Postautor: cienislaw » 3 sie 2013, o 13:56

1. 'Minimum', jakie musisz wiedzieć o programie OmegaT - byłoby lepszym tytułem.
2. plus i minus za kreatywne podejście do segmentacji. plus, bo widać nietypowe użycie tego mechanizmu do rozdzielenia informacji dodatkowych w skrypcie do tłumaczenia, od faktycznego tekstu. minus, bo te dodatkowe informacje są widoczne jako segmenty, przez co nie dają faktycznego stanu tłumaczenia, przekłamując statystyki.
3. w każdym programie może dojść do utraty danych, więc wymienianie w wadach okazjonalnych uszkodzeń pliku projektu czy tmxa z tłumaczeniami jest nie na miejscu. do tych awarii w większości przypadków dochodzi z winy użytkownika. dwa, zasranym obowiązkiem usera jest dbanie o swoją pracę i backup. może być to svn, trzymanie projektu na dropboxie lub innym dysku internetowym - możliwości jest wiele.
4. jeśli jest informacja o globalny spellcheckerze wypadałoby wspomnieć o możliwości używania słowników językowych per projekt. przeważnie rzadko kiedy się przydaje, ale dla osób o ograniczonym słownictwie będzie to pomocą.
5. brak informacji o glosariuszu, a o jego zaletach zwłaszcza w grupowych projektach nie trzeba nikogo przekonywać.

zdaje sobie sprawę, że OmegaT czy CAT ogólnie to temat rzeka, więc o wszystkim napisać nie sposób. dlatego też kudos za przybliżanie tego dobrego programu szerszemu gronu użytkowników, niezależnie od uwag powyżej.
Obrazek

Awatar użytkownika
Norek
Sutek Tłumaczeniowy
Posty: 3011
Rejestracja: 18 maja 2008, o 09:53
Grupa: BezNazwy
Kontakt:

Re: [PORADNIK] Wszystko, co musisz wiedzieć o programie Omeg

Postautor: Norek » 3 sie 2013, o 14:00

plus, bo widać nietypowe użycie tego mechanizmu do rozdzielenia informacji dodatkowych w skrypcie do tłumaczenia, od faktycznego tekstu. minus, bo te dodatkowe informacje są widoczne jako segmenty, przez co nie dają faktycznego stanu tłumaczenia, przekłamując statystyki.
Oddzielenie tekstu od dodatkowych rzeczy w skrypcie ma ten zasadniczy plus, że więcej powtórek jest tłumaczonych i łatwiej korzystać z dopasowań rozmytych.
Jeżeli - tak jak na przykład w The Walking Dead - co drugi segment jest właśnie takimi "informacjami dodatkowymi", nie ma mowy o przekłamywaniu statystyk: zawsze liczbę segmentów w danym pliku dzieliliśmy przez dwa :)
"Tłumaczenie jest łatwe:
po prostu trzeba napisać to samo i tak samo jak autor"

Maria Przybyłowska

cienislaw
Posty: 267
Rejestracja: 3 cze 2013, o 08:41
Grupa: GameSub

Re: [PORADNIK] Wszystko, co musisz wiedzieć o programie Omeg

Postautor: cienislaw » 3 sie 2013, o 14:17

Norek, mnie nie musisz mówić o zaletach wynikających z wyłuskania z danych samego tekstu - robię tak zawsze, tylko dokładniej wywalając wszystko prócz faktycznego tekstu, a niezbędne tłumaczowi uwagi umieszczam w komentarzach. to samo tyczy się propagacji tłumaczenia na te same segmenty czy większego użytku z dopasowań rozmytych. teraz też wiem czemu nie podajecie ilości tekstu w znakach tylko segmentach.
Obrazek

Awatar użytkownika
mziab
Posty: 459
Rejestracja: 20 maja 2008, o 23:11
Grupa: mteam
Kontakt:

Re: [PORADNIK] Wszystko, co musisz wiedzieć o programie Omeg

Postautor: mziab » 4 sie 2013, o 10:40

Kilka uwag ode mnie:
Nie będę jednak tutaj nikomu mydlił oczu i wspomnę też o tym, że Omega ma kilka drobnych wad, jak na przykład brak pełnego wsparcia dla odczytywania plików pakietu MS Office przez co jesteśmy skazani na ręczne kopiowanie tekstu tracąc przy tym całe formatowanie.
OmegaT obsługuje natywnie formaty docx i xlsx używane przez nowsze wersje MS Office (2007+). Nie obsługuje tylko klasycznych używanych przez starsze wersje (do wersji 2003). Wystarczy zapisać dokument w nowszym formacie i można tłumaczyć bez utraty formatowania. Nie strasz ludzi :)
Gdy pracujemy offline w najgorszym wypadku możemy stracić cały projekt, jeśli nie robiliśmy wcześniej żadnych kopii zapasowych.
Jak napisał cienisław, takie stwierdzenie jest nieuczciwe dla programu, bo utrata danych może zdarzyć się wszędzie i w każdym programie. Zresztą w katalogu omegat każdego projektu jest przechowywane kilka kopii zapasowych pamięci tłumaczeniowej. Gdyby zaś gotowe tłumaczenia "znikły" w wyniku zmiany segmentacji, też nie ma co panikować, bo nadal są one w pamięci jako elementy osierocone. Jedyny raz, kiedy straciłem cokolwiek używając Omegi, zdarzył się z powodu wady nośnika, na którym przechowywałem projekt. Tryb pracy grupowej jest dużo bardziej humorzasty, ale jak na coś, co jest jeszcze w powijakach, i tak działa całkiem nieźle :)
Niestety upload nie jest aż taki szybki i będziemy musieli trochę poczekać zanim wszystko poprawnie nam się wgra na serwer.
Uważam, że to stwierdzenie też jest napisane na wyrost. Projekty zajmują na ogół nie więcej niż kilka MB. Wysłanie takiej ilości danych na każdym w miarę rozsądnym łączu nie powinno zająć bardzo długo. A przed wysłaniem projektu na serwer warto usunąć kopie zapasowe z podkatalogu omegat, bo to one głównie rozpychają projekt, a w trybie grupowym i tak nie są do niczego potrzebne.

Co więcej, prawie cały opis instalowania słownika pisowni można sobie darować. Ostatnio, kiedy sprawdzałem na nowej instalacji, wszystkie słowniki można było pobrać sobie bezpośrednio z Omegi z serwerów LibreOffice. Poprzednio używane były serwery OpenOffice, na których faktycznie brakowało polskiego słownika.

Co do ustawień widoku i edytora, to wszystko kwestia gustu. Osobiście nie lubię widzieć wszystkich tłumaczeń, wystarczy mi tylko to jedno, nad którym pracuję. A tłumaczenia wygodniej mi się robi nadpisując tekst oryginału, szczególnie gdy ma jakieś znaczniki. Krótko mówiąc, niech każdy używa programu tak jak mu wygodnie.
"Człowieka można przedstawić w postaci ułamka, w którym licznikiem są jego właściwości, a mianownikiem - mniemanie o sobie. Im większy mianownik, tym mniejszy cały ułamek." - Lew Tołstoj

cienislaw
Posty: 267
Rejestracja: 3 cze 2013, o 08:41
Grupa: GameSub

Re: [PORADNIK] Wszystko, co musisz wiedzieć o programie Omeg

Postautor: cienislaw » 4 sie 2013, o 19:25

Tryb pracy grupowej jest dużo bardziej humorzasty, ale jak na coś, co jest jeszcze w powijakach, i tak działa całkiem nieźle :)
z tym ja się zgodzić nie mogę;-) moduł jest całkiem stabilny, pod warunkiem, że zostaną zachowane odpowiednie warunki pracy. ze względu na automatyczne synchronizację z repo przy każdym zapisie, trudno wymagać od programu 100% bezawaryjności, zresztą po to jest autobackup w kilku kopiach. nie powiem, miałem ostatnio sytuację gdy przy czyimś commicie wywaliło projekt i glosariusz w kosmos. tłumacze przerażeni, ja ze stoickim spokojem zrobiłem kopię roboczą, odnalazłem ostatnią poprawną rewizję, następnie ją przywróciłem i połączyłem zmiany zrobione po awarii, używając mechanizmu autotranslate. glosariusz musiałem połączyć z ręki, ale to detal. po kilku minutach projekt był naprawiony.

faktem jest, że w całej omedze są błędy, tak jak było w module glosariusza, gdzie dochodziło to sklejania kopii roboczej i tej z repo, co prowadziło do powstawania wielomegabajtowych plików, co miało bardzo negatywny wpływ na szybkość synchroznizacji oraz użyteczność samego glosariusza. błąd został bardzo szybko naprawiony, za co developerzy Omegi powinni być chwaleni, bo słuchają użytkowników. otwarty kod również pozwala samemu co nieco poprawić, do czego zachęcam bo kod jest bardzo dobrze opisany. a jak ktoś nie czuje się na siłach w zmianie źródeł to polecam skrypty. sam byłem pozytywnie zaskoczony ich szybkością działania pisząc spellchecker - tokenizacja ze sprawdzaniem pisowni półmegowego projektu i zaprezentowaniem błędów w formie tabeli trwa na 5 letnim sprzęcie mniej niż 3s.
Uważam, że to stwierdzenie też jest napisane na wyrost. Projekty zajmują na ogół nie więcej niż kilka MB. Wysłanie takiej ilości danych na każdym w miarę rozsądnym łączu nie powinno zająć bardzo długo. A przed wysłaniem projektu na serwer warto usunąć kopie zapasowe z podkatalogu omegat, bo to one głównie rozpychają projekt, a w trybie grupowym i tak nie są do niczego potrzebne.
optymalizacja, optymalizacja i jeszcze raz optymalizacja. w manualu jasno jest opisane co powinno znaleźć się repo, a co kategorycznie nie ma tam miejsca. poprawnie wrzucony do repo projekt ma: pliki źródłowe (folder source), plik projektu, plik tmx z tłumaczeniem, plik segmentacji, plik ustawień indywidualnych filtrów, pliki słownika (jeśli używany), pliki ignored i learned words, glosariusz główny (modyfikowalny) oraz glosariusze pomocnicze oraz pamięci tłumaczeniowe, którymi wspomagamy się przy tłumaczeniu. wrzucanie do repo jakichkolwiek innych plików nie ma sensu.

tak przygotowany projekt, nawet jeśli jest duży to zasysany jest w całości tylko raz przy rozpoczynaniu pracy. później wymiana informacji ogranicza się do różnic w plikach tłumaczeń, glosariusza, learned, ignored, i wszystkich ewentualnych wcześniej wrzuconych, w których zajdzie potrzeba aktualizacji.

jeśli ktoś wrzuca do repo wszystko jak leci, a tym bardziej są to pliki które zmianom ulegają automatycznie (np. omega-level1.tmx, omega-level2.tmx, omega-omega.tmx), a są tam całkowicie zbędne, to sam utrudnia sobie i innym robotę. nie bez znaczenia jest interwał autozapisu - jeśli ustawimy go na mniej niż 10-15 minut, albo co gorsza mamy nawyk ręcznego zapisu po każdym segmencie, to również niepotrzebnie generujemy ruch na łączach.

dlatego też radziłbym każdemu, kto obwinia Omegę o problemy i niedoróbki, by sprawdził swój tok pracy, bo większość 'kłopotów' wynika z niedostosowania się do możliwości/ograniczeń programu i/lub sprzętu/netu (przyznać się, kto ma alokowane dla javy więcej niż standardowe pół giga ramu?).
Obrazek

Awatar użytkownika
mziab
Posty: 459
Rejestracja: 20 maja 2008, o 23:11
Grupa: mteam
Kontakt:

Re: [PORADNIK] Wszystko, co musisz wiedzieć o programie Omeg

Postautor: mziab » 7 sie 2013, o 15:28

z tym ja się zgodzić nie mogę;-) moduł jest całkiem stabilny, pod warunkiem, że zostaną zachowane odpowiednie warunki pracy
Z rzeczy drobnych przychodzi mi na myśl to, że przed wrzuceniem do repozytorium projekt MUSI mieć plik project_save.tmx, inaczej próby synchronizacji zakończą się komunikatem błędu. W przypadku nowych projektów nie ma jeszcze żadnych tłumaczeń, a co za tym idzie tego pliku. Trzeba więc dodać chociaż jeden przetłumaczony segment, zanim prześle się projekt na serwer, żeby ominąć problem.

Poza tym chodziło mi też o konieczność posiłkowania się zewnętrznym klientem svn do paru rzeczy, które moim zdaniem powinny robić się same bez interwencji użytkownika:

Na przykład, jeśli zmienię opcje projektu, segmentacji czy pliki źródłowe, muszę użyć klienta svn do wysłania zmian. To jeszcze jest w miarę zasadne, bo takie rzeczy powinien robić admin. Nie chcielibyśmy, żeby każda przypadkowa zmiana opcji przez jednego z tłumaczy (a z tym się parę razy spotkałem) miała wpływ na całe repozytorium. Swoją drogą, tu kłania się też zupełny brak podziału na role, dokładniejszej konfiguracji uprawnień, ale to temat na inną dyskusję.

W każdym razie, kiedy już takie zmiany zostaną ręcznie wysłane do repo, synchronizowana jest tylko pamięć tłumaczeniowa i glosariusz. Żeby otrzymać resztę zmian, trzeba samemu wykonać "svn up" (lub analogiczny krok) poza Omegą. I stąd dość często łatwiej jest po prostu powiedzieć tłumaczowi (który niekoniecznie musi być technikiem i mieć zainstalowanego klienta svn), żeby ponownie pobrał wtedy projekt.

Krótko mówiąc, są to drobiazgi, które można obejść i z którymi zdecydowanie da się żyć, ale w moim odczuciu psują nieco komfort pracy. Stąd nie nazwałbym tej funkcji w pełni dopracowaną, a najwyżej dopracowaną w pewnym określonym zakresie. Będę szczęśliwy, jeśli te problemy znikną albo zostaną rozwiązane w elegancki sposób, ale przyznaję, że to, co istnieje, jest już całkiem funkcjonalne.
"Człowieka można przedstawić w postaci ułamka, w którym licznikiem są jego właściwości, a mianownikiem - mniemanie o sobie. Im większy mianownik, tym mniejszy cały ułamek." - Lew Tołstoj

cienislaw
Posty: 267
Rejestracja: 3 cze 2013, o 08:41
Grupa: GameSub

Re: [PORADNIK] Wszystko, co musisz wiedzieć o programie Omeg

Postautor: cienislaw » 7 sie 2013, o 16:32

zajęło mi rok dostosowanie się do 'filozofii' jaką posługuje się aktualny prowadzący projekt (Didier Briel). nie ukrywam, że początkowo byłem podobnie nastawiony - to jest zbędne, to działa do dupy, to na pół gwizdka, a to totalna kaszanka, a nie przydatna funkcja. mottem Didiera jest: "it's bug to you, others call it a feature." oraz: "It's not because they are not useful for you that they are not useful for others." można się oczywiście z nią nie zgadzać. nic nie stoi na przeszkodzie, by samemu zaimplementować wymagane zmiany, lub co wydaje się lepszym rozwiązaniem, zwłaszcza dla nieprogramistów - logicznie uzasadnić konieczność wprowadzenia takowych.

wszystko to co tu wymieniłeś to konsekwencje przyjętych założeń projektowych. a jeśli założenia danego modułu są spełnione, to nie ma tutaj mowy o błędach czy też niedopracowaniu ze strony twórców. jeśli uważasz, że jest inaczej zapraszam na grupę dyskusyjną lub bezpośrednio buglistę projektu, gdzie możesz przekonywać autorów do swoich racji.

Omega lubi dobrze przygotowane projekty zespołowe, takie, których aktualizować nie trzeba, bo prowadzący robotę się przyłożył i zrobił na starcie wszystko co i jak należy. a jeśli nawet zachodzi potrzeba aktualizacji niesynchronizowanych plików, zdecydowanie szybciej i łatwiej jest powiedzieć komuś, by zrobił jeszcze raz checkout niż instalował klienta svn. ostatnia rzecz - Omega nie jest i nie będzie pełnym klientem SVN/GIT, dlatego też nie należy się spodziewać się opcji 'wrzuć projekt do repo' czy 'skonwertuj projekt na zespołowy', a tym samym rozbudowanego panelu admina dla projektów zespołowych.
Obrazek

Awatar użytkownika
mziab
Posty: 459
Rejestracja: 20 maja 2008, o 23:11
Grupa: mteam
Kontakt:

Re: [PORADNIK] Wszystko, co musisz wiedzieć o programie Omeg

Postautor: mziab » 7 sie 2013, o 16:52

Ponieważ spodziewałem się, że to nie tyle bugi, co świadomie wprowadzone uproszczenia, nie zgłaszałem ich twórcom programu. W każdym razie, dzięki za potwierdzenie. Jako programista jestem w stanie zrozumieć czemu tak to rozwiązano i to zaakceptować, a nie mierzi mnie na tyle, żeby się o to kłócić :)

Co mierzi mnie trochę bardziej to brak dokumentacji API dla skryptów. Parę przykładowych skryptów i zgadywanie na podstawie nazw klas programu to trochę za mało, żeby poczuć się w pełni wygodnie. Ale moduł scripting był do niedawna rozwijany niezależnie i trochę jako zabawka, więc może niedaleka przyszłość przyniesie zmiany w tym zakresie. Wielu rzeczy dowiedziałem się niejako przypadkiem, na przykład tego, że po dorzuceniu jython.jar można używać pythona :)
"Człowieka można przedstawić w postaci ułamka, w którym licznikiem są jego właściwości, a mianownikiem - mniemanie o sobie. Im większy mianownik, tym mniejszy cały ułamek." - Lew Tołstoj

cienislaw
Posty: 267
Rejestracja: 3 cze 2013, o 08:41
Grupa: GameSub

Re: [PORADNIK] Wszystko, co musisz wiedzieć o programie Omeg

Postautor: cienislaw » 7 sie 2013, o 18:28

nie ma API dla skryptów. GUI w skryptach to Swing, a dostępne funkcje to wszystko to co znajdziesz w źródłach Omegi - odwołujesz się bezpośrednio do tych samych modułów/obiektów, jakie używa Omega w czasie działania. kwestia użycia języka skryptowego też jest praktycznie dowolna. większość ludzi używa groovy, bo ma działające przykłady, które nie bójmy się tego powiedzieć - hackuje. tak powstał mój spellchecker i większość skryptów Kos-a (w których i tak wszystko rozbija się o kod przetwarzający tekst, bo prezentacja wyniku w tabeli to detal). dzięki za info o jythonie - chociaż nie mam problemów z javą, to większość kodu w ostatnich latach robię w pythonie, a do tego groovy jest lekko wkr&*^& jeśli chodzi o tworzenie GUI w Swingu.

co mogę powiedzieć od siebie to to, że nie ma co się bać pisać do twórców. kilka rzeczy zgłosiłem z czapy (bo tak by mi było lepiej), parę było konkretnych (np. pokazywanie zawartości tagów w XLIFFie, nie usuwanie taga z początku i/lub końca segmentu) i te zostały zaimplementowane. do tego kod jest całkiem dobrze komentowany i jak już znajdziesz to czego szukasz, to bardzo łatwo się modyfikuje. co prawda jeszcze nie zdobyłem się na napisanie własnego filtra, ale to tylko i wyłącznie ze względu na wcześniejszą obróbkę danych w Okapi i export do XLIFFa. łatwiej jest napisać kilka regex-ów czy parser w pythonie, niż za każdym razem kolejny filtr do Omegi;-)
Obrazek


Wróć do „Poradniki”



Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości