[PORADNIK] Jak fest tłumaczyć gry java.

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

[PORADNIK] Jak fest tłumaczyć gry java.

Postautor: ikskoks » 12 sty 2013, o 12:25

Część I - odnajdowanie plików językowych

Zacznijmy najpierw od rzeczy zdecydowanie najważniejszej na początku - znajdowanie plików tekstowych.


Ale jak to zrobić?
Potrzebne narzędzia: WinRar. Otwieramy archiwum .jar i szukamy. Na co zwracać uwagę?
Plik językowy może być na wierzchu, więc zarówno szukamy w plikach które są na wierzchu, ale również 'podejrzane' bywają katalogi. Najłatwiej odnaleźć pliki językowe jeżeli mamy do czynienia z grą multi językową, wtedy zazwyczaj mamy zbiór plików bardzo podobnie nazwanych. indian_en, indian_de, indian_it .... itd. Jest pierwsza a zarazem i druga wskazówka. Szukamy zbioru plików o podobnej nazwie, szansa że wśród nich będzie ten którego nam potrzeba, jest dość duża. Niestety takie pliki mogą mieć rozszerzenia... albo mogą ich w ogóle nie mieć. Np. w tym momencie gdy tłumaczę Tomb Raidera wszystkie (multi language) mają rozszerzenia txb (zapewne od textbox).
Aby sobie ułatwić szukanie takich grup plików o podobnej nazwie (rozszerzenie) na górze okienka winrarowego dajemy sortowanie po 'typ'. No dobra, ale jest przecież możliwe, że tekst będzie tylko w jednym języku i w jednym pliku, wtedy powyższa metoda nie zadziała. Co wtedy? Cóż trzeba szukać pliku o sugestywnej nazwie.

Na pierwszy rzut idą
lang - skrot od language
lan - podobnie
res - skrót od resources - zasoby
txt - skrót od tekst (text)
str - skrót od string - ciąg
loc - skrót od localization - lokalizacja (właśnie to robimy, lokalizujemy gry)

Oczywiście wprost nie zawsze będzie to podane, może to być plik z numerkiem... dopiskiem...jakimś rozszerzeniem. Bywa różnie Np. teraz szukając przykładu do zrobienia screena, znalazłem w katalogu 'res' kilka plików o nazwach: 'en.lng', 'it.lng', de.lng'. Kumulacja. Dlatego trzeba być elastycznym i kreatywnym w tych poszukiwaniach. Jest tylko kilka utartych schematów nazywania tych plików.
Powyższa lista tyczy się także folderów. Czasami trafia się (na przykładzie gry HeroesSG) kilka katalogów i każdy z nich zawiera pliki z tekstem, elementem wspólnym jest akurat str... od stringów (nie, nie tej bielizny ):
strbudnote
strevt
stritem
strtrip

Co dalej? Są jeszcze 2 dość powszechne sposoby umieszczania tekstu w grach.
Jeden wredny drugi uciążliwy.
Tekst w class'ach. Niestety tutaj trzeba po prostu każdą klasę "czesać", czyli przeglądanie ( w WinRar to 2klik albo alt+v, i jedziesz przez cały tekst szukając jakichś wyrazów (np. angielskich). Albo druga opcja, wypakowujesz wszystkie pliki *class do katalogu z InClassTranslator i próbujesz odpalić każdy po kolei w programie, jeżeli w pliki jest tekst który jest typem "string", to program go wyłapie i wyświetli. Ale UWAGA. Nie wszystkie zmienne w pliki o typie string przechowują tekst językowy. Czasami zmienna odpowiedzialna za działanie gry także jest typu string... więc uważajcie CO tłumaczycie.
No i został nam ostatni powszechny sposób. Pliki językowe bez rozszerzenia. Posłuże się przykładem gry 99 ninjas, jak widzicie w grze jest od groma plików... numerki, literki...i za co się brać? No niestety tutaj przeglądamy po kolei każdy plik (alt+V) i szukamy tekstu... A w 99 ninjas tekst znajduje się chyba w pliku 'a'. Screen poniżej:
1.jpg
Jest również znacznie szybszy i prostszy sposób, do którego potrzebujemy jedynie Total Commandera. Najlepiej opiszę to w punktach:
1) Ściągamy na dysk, wybraną przez siebie grę J2ME.
2) Instalujemy program Total Commander. Opisu instalacji nie będę podawał, bo to mija się z celem. Myślę że każdy sobie poradzi...
3) Następnie metodą "Drag and Drop" przeciągamy plik z grą do programu Total Comander. Później za pomocą skrótu CTRL+A zaznaczymy wszystkie pliki które znajdują się w pliku z grą.
4) Wchodzimy na pasku narzędziowym w TC do Polecenia -> Szukaj -> i zaznaczamy opcję "Znajdź tekst". Potem wpisujemy przykładowy tekst w języku angielskim np. słowo play.
5) Klikamy w przycisk "Zacznij szukać", po czym pojawi nam się takie o to okienko:
2.jpg
6) W oknie które nam się pojawiło szukamy pliku/plików bez rozszerzenia *.class. W moim przypadku jest to plik 2, ale może on mieć również inna nazwę.
7) Teraz pozostaje nam tylko otworzyć plik z grą jakimś Archiwizatorem np. Winrarem i znaleziony plik z tekstem skopiować sobie na Pulpit czy też do jakiegoś folderu.

Część II - dobieranie się do znalezionego pliku językowego

Ok, no to idziemy dalej, skoro już mamy nasz plik (pliki), to trzeba się do nich dobrać. Jak się słusznie pewnie domyślacie co plik to inna historia. Skąd wiedzieć jakim programem dany plik otworzyć? Jak wiadomo niektóre gry mają dedykowane programy (np. Digital Choclate oraz HandyGames mają MobiTransa). Ale jest jeszcze sporo innych firm. I co z ich grami? Cóż ja stosuje taką taktykę "brutal force" po prostu próbuje odpalić znaleziony plik we wszystkim co mam, a uzywam Halo, Mobi PL radsuna (najczęściej działa), MobiTrans, oraz InClassTranslator, a także Notepad++ (wygodny do prac związanych z tłumaczeniem oraz pomocniczych).
Zazwyczaj grę uda się którymś programem otworzyć. A jeżeli nie.. to cóż. Trudno się mówi. Może ktoś kiedyś zrobi plugin/skrypt do jakiegoś istniejącego programu, który Wam umożliwi tłumaczenie.

I jeszcze jedno zdanie co do tłumaczenia. Czasami niektórzy zastanawiają się dlaczego by po prostu nie tłumaczyć Notatnikiem.... Poza oczywistym względem, że tak przetłumaczona gra by nie działała (związane to jest z kilkoma aspektami technicznymi).... Jest jeszcze jeden. Programy do tłumaczenia są o wiele wygodniejsze. Jednak są sytuacje gdy grę można przez Notatnik tłumaczyć? Jak takie coś rozpoznać? Najlepiej do tego się nadają programy z numeracją wersów (np. Notepad++) Otwieramy plik tekstowy tym programem i jeśli widzimy że każdy tekst to nowa linia.... wtedy możemy to tłumaczyć nawet notatnikiem. A dlaczego tak jest? Bo fakt 1 tekst - 1 linia oznacza to, że gra nie zapisuje długości 'stringu' czyli zmiennej w której przechowuje tekst, a czyta po prostu całą linię. I nie ma znaczenia czy napiszesz 'krowa' czy 'konstantynostańczykopolistańczykowianeczka'. Przykład takiego pliku poniżej.
3.jpg
Dobra, skoro wstęp i kwestie techniczne mamy za sobą pora przejść do kolejnej części tego poradnika.

Część 3 - tłumaczenie

Parę razy spotkałem się z tłumaczeniem na podstawie translatora. Jest to karygodne, żałosne i głupie. Niestety najczęściej leniwi młodzi nie znający prawie języka 'tłómacze' tak robią. Jednak ktoś by powiedział, że używa translatora jako wygodnego słownika do niektórych wyrazów.

A teraz kilka słów o konstrukcji języka angielskiego. Zauważyłem niestety kilkukrotnie powtarzające się u paru osób błędy, prawdopodobnie wynikające z niewiedzy. Dlatego warto o tym napisać.

- Szyk zdań. W języku angielskim zdania mają inną konstrukcję niż w polskim, dlatego nie należy tłumaczyć wyrazu po wyrazie... chyba żeby sobie w głowie ułożyć zdanie, a potem je poprawnie po polsku napisać. A tu taki przykład : 'Why you keep calling me like this' przetłumaczony na : 'Dlaczego kontynuujesz nazywanie mnie tak?'. Jak widać wyraz po wyrazie przetłumaczony i za bardzo to nie wyszło. Trzeba było sobie wyrazy przetłumaczyć, a potem sekundkę się wysilić i już mamy ładne poprawne zdanie "Dlaczego wciąż mnie tak nazywasz?"

- Innym popularnym błędem jest fakt tłumaczenia czegoś czego u nas nie ma. Chodzi o zaimki. [zaimki też są u nas ;D Po prostu nie używa się ich w zdaniach w ten sam sposób co w j. angielskim - dop. MC] Na przykładzie tej samej gry mamy przedmiot 'zasłony' najeżdżając na niego kursorem pojawia się ta nazwa. Ale z angielskiego 'They are...' zostało przetłumaczone na 'One są' (zdaje się zakurzone). To 'one' nie jest potrzebne, przecież wiadomo nam o co chodzi. Dlatego trzeba myśleć przy tłumaczeniu i pomijać to co powinno być pominięte.

- Przychodzi mi do głowy jeszcze jedna pułapka w którą można wpaść przy tłumaczeniu z angielskiego. Trzeba bardzo bacznie obserwować postacie... Tzn. ich imiona. Np teraz przez połowe tłumaczenia Tomb Raidera tłumaczyłem teksty o postaci Natla jako 'on'. Wszak często w tekstach nie ma napisanego czy to kobieta czy mężczyzna - uroki języka angielskiego. Dopiero w połowie gry (tłumaczenia) znalazłem tekst traktujący o Natli jako o kobiecie.... No i sporo poprawiania Zwracajcie uwagę na ten drobny fakt.

- I na sam koniec, związki frazeologiczne i idiomy. 'How on earth you menaged to do this' przetłumaczone na 'Jak na tej ziemi udało ci się..." Nie tłumaczy się tego dosłownie. Po 'polskiemu' to może być np. 'Jak u diabła tego dokonałeś?"

- Przy tłumaczeniu pamiętajcie że możecie być troszkę elastyczni, jęzeli wam tekst po angielski jakoś nie pasi, zastąpić go można podobno brzmiącym, z podobnym sensem, oraz w podobnym stylu co cała gra, innym tekstem.

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