Kilka słów wstępuPowszechnie wiadomo, że do tłumaczenia gier Java, znajdziemy dość sporo narzędzi, i chociaż jest kilka producentów „nie przetłumaczalnych” to i tak nie jest jeszcze tak źle.
My zajmiemy się jednak Androidem, systemem który osiągnął nie przewidywalną dla niektórych (Apple, MS) popularność; system na który znajdziemy tysiące aplikacji i gier- jednak większość po angielsku, a przecież przyjemnie byłoby pograć sobie w swoim ojczystym języku
Ten mały poradnik pokazuję krok po kroku, jak przetłumaczyć przynajmniej niektóre gry, i zdecydowaną większość aplikacji, napisanych dla Androida.
PrzygotowaniaPotrzebne aplikacje :Środowisko JAVA (JRE)Narzędzie apktoolZ apktools dokładniej potrzebujemy tego: Skrypty decompile/compileProgram do podpisywania aplikacjiPrzydałby się też jakiś normalny edytor - najlepiej
Notepad++.
W przypadku niektórych gier pliki z tekstem mają format, który możemy otworzyć Tradu (plik binarny z offsetem)
Przygotowanie narzędziZ tym to już każdy powinien sobie poradzić:
- Instalujemy Jave
- Wypakowujemy wszystkie archiwa (apktools, atscript) do jednego folderu.
TłumaczymyProces tłumaczenia pokaże na przykładzie gry FrozenBubble, która przechowuję tekst w akurat tym samym miejscu co większość aplikacji.
Samą grę ściągniemy z Marketu, albo też z linku:
1.Wrzucamy nasz plik
Frozenbubble.apk do folderu gdzie wypakowaliśmy nasze narzędzia.
2.Teraz przeciągamy nasz plik z grą na decompile.bat. Program powinien w parę sekund skończyć swoją pracę, i rozpakować wszystko do folderu frozenbubble.
3. Wchodzimy do świeżo stworzonego folderu, i następnie do kolejnych: res i values, w którym znajduje się plik z naszym tekstem czyli
strings.xml4. Otwieramy znaleziony plik w edytorze- i jak widać nie jest znowu żadna czarna magia- wystarczy tylko przetłumaczyć tekst i zapisać.
PS: Czasami okazuję się, że tekst jest jeszcze w grafice, która w przypadku FrozenBubble, i wielu aplikacji będzie w katalogu res/drawable.
5. Teraz gdy wszystko już przetłumaczyliśmy, wracamy do folderu z apktool, gdzie wystarczy przeciągnąć folder z naszą grą na skrypt compile.bat
6.Po chwili pojawi się nam nowy plik frozenbubble.apk z naszym tłumaczeniem
7. OK, mamy aplikację w apk, i niby wszystko dobrze, ale wrzucamy program na telefon - i co - no właśnie błąd- ponieważ program trzeba podpisać.
8. Podpisanie jest bardzo proste:
Ściągamy one_click_signer :
Teraz plik apk który stworzył nam apktools wrzucamy do folderu z tym programem, uruchamiamy skrypt one_click_signer.cmd, i wpisujemy nazwę naszego pliku apk (wraz z rozszerzeniem apk ), a następnie oczywiście Enter.
Program podpiszę naszą grę, kluczem, tworząc aplikację o nazwie signed-frozenbubble.apk co pozwoli nam na bezproblemową instalację programu.
Tłumaczenie – problemy1. Oczywiście wszystko super gdy tekst znajduję się w strings.xml, co jednak zrobić gdy go tam nie ma?
Cóż, teraz musimy pokombinować, jednak na 90% będzie gdzieś w folderze assets.
Przykładem może być Angry Birds, które przechowuję swoje pliki z tekstem w assets/data/localization, a plik TEXTS_BASIC.dat można śmiało otworzyć w Tradu.
Ogólnie w przypadku wielu gier które są przekonwertowane z Javy, tekst jest przechowywany w podobnym formatach, tyle, że wszystko jest gdzieś zakopane w folderze assets.
2. Gra nie działa po przetłumaczeniu.
Jeśli gra nie działa, to istnieją dwie możliwości: pogrzebaliśmy za bardzo(zmieniliśmy nie to co trzeba), lub producent sprawdza sumę kontrolną plików -wtedy trzeba by przejrzeć zdekompilowane pliki class, jednak jest to już większa jazda.
Źródło mobilevice.pl Autor: adammo