Az alkalmazás komplett ROM honosításra, ROM deodexre, app signózásra, -fordításra használható!
Manapság ezzel fordítom a honosított alkalmazások nagy részét. Ennek használatát szeretném most bemutatni, de csak önálló app tekintetében, nem térnék ki most a komplett ROM fordítás ügyességeire - erről ITT olvashatsz.
Szükséges:
1. Kezdjük a letöltéssel!
Ezt alul találod meg. Szeretném az érdeklődést figyelemmel kísérni, ezért egy .zip fájlba helyeztem el a fejlesztő oldalára mutató linket, sorry...
A letöltött .zip-et nyisd meg, a benne található mappát helyezd el kedved szerint, célszerű a C:\gyökérbe tenned, tehát így néz ki a helye: C:\jBART-Master - továbbiakban jBART-ként fogjuk említeni.
A benne található data mappát és a jBART.jar állományt SOHA ne töröld le!
2. Kitaláltad már, hogy mit akarsz lefordítani?
Nevezzük x.apk-nak az egyszerűség kedvéért! Helye nem mérvadó, a program ablakában be tudod tallózni, bárhol is legyen. Viszont ezt elkerülheted, ha ezt is a jBART mappába másolod/helyezed át.
3. Kezdés
Nyisd meg a jBART mappát és katt a jBART.jar állományra, tallózd be x.apk-t és katt a Settings gombra:
4. Visszafordítás (Decompile)
Miután a szükséges beállításokat elvégezted a Settings-ben és betallóztad az x.apk fájlt, kattints a Decompile gombra. Ezzel elvégzed a tömörített .apk állomány visszafordítását. Azért mondok tömörítettet, mert az apk fájl tk. egy átnevezett .zip fájl, kipróbálhatod, igaz-e?
Csupán az a bibi, ha átnevezés után kibontod és megnyitod, pont a nyelvi fájlok mappáihoz nem férsz hozzá, ezért kell visszafejteni. Ha a Decompile gomb alatt látható Log gombra kattintasz, nyomon követheted a folyamat részleteit.
A nyitott jBART mappában ezen az útvonalon lesz a munkaterületünk:
\jBART\x.apk.bzproject\decompiled\x.apk\res\
5. Nyelvi fordítás
A nyelvi állományokat alapban 3 fájl tárolhatja:
- arrays.xml (ezt nem mindig kell fordítani)
- plurals.xml (ez nem mindig szerepel)
- strings.xml (ez a f? nyelvi fájl)
kivéve ez alól, ha a fejlesző nem eléggé körültekintő (lusta?!) az app létrehozásakor - ezt úgy értem, nem figyel oda az app teljes idegen nyelvre fordíthatóságára - , és un. .smali fájlokban is hagy egyébként fontos kifejezéseket, amelyeket ezzel a módszerrel ugyan ki lehet bontani, de ehhez a Settingsben be kell állítani ezt a jelölőnégyzetet is:
- Először hozz létre egy values-hu nevű mappát
- A values mappából másold át a fenti állományokat a values-hu mappába
- Nyisd meg sorban az xml állományokat
keress angol kifejezéseket a listában, és készíts egy, az eredetivel releváns fordítást legjobb nyelvi tudásod és programismereted szerint!
Arra nagyon ügyelned kell, hogy a magyar fordítás szöveghossza nagyon ne térjen el (pluszban!) az angol szöveghossztól!
Pl. ilyen az arrays.xml és a strings.xml tartalma a values-hu mappában:
6. Újrafordítás (Compile)
Mikor úgy érzed, hogy elkészültél, következik az app visszafordítása .apk formátumba, immár a tartalmazott magyar nyelvvel.
A jBART felületén katt a Compile gombra, itt ugyanúgy a Log bekapcsolásával láthatod a visszafordítás lépéseit.
A log.txt egyébként bármikor megtekinthető később is a jBART mappában.
A visszafordítás után a következő mappakép látható:
A projektmappában az eddigi decompiled mappa mellett megjelent egy compiled mappa is a fent látható tartalommal.
Ha van saját aláírókulcsod, akkor szignózhatod vele az eredetivel megegyező nevű appot, és készen is vagy.
Mivel a Settingsben beállítottuk, hogy a jBART szignózza is az alkalmazást, ezt meg is tette nekünk egy nyilvános kulccsal, ennek eredménye a signed_x.apk
Tulajdonképpen készen is vagyunk!
Viszont van egy-két buktató, amelyet itt megemlítenék;
- a helyes szövegkódolás
- a kibontás utáni tesztelés
- a fordítás utáni tesztelés
- Mikor megnyitod a Notepad++ segítségével a szövegfájlt, annak valószínűleg ANSI kódolása van. Mielőtt elmented a szerkesztett nyelvi fájlt, a helyes szövegmegjelenés érdekében át kell konvertálnod BOM nélküli UTF-8 kódolásúra.
- Miután kibontottad az alkalmazást és létrehoztad a values-hu mappát, benne a fordítandó állományokkal, csinálj egy próba visszafordítást, hogy így is működőképes-e a művelet! Nincs ugyanis annál bosszantóbb, mikor esetleg több órás fordítás után hibát jelez a jBART az app visszafordításánál és rájössz, hogy feleslegesen dolgoztál!
- A szignózott alkalmazást töltsd fel a készülékedre és teszteld az összes funkcióját, leellenőrizve a fordításod helyességét! Ha saját részre készíted is nagyon fontos lépés ez, ha publikálni is akarod, egyszerűen kihagyhatatlan!
Most, hogy már (majdnem) mindent tudsz, próbáld ki ezeket a gyakorlatban is!
Ha úgy érzed sikerült valami jót, hasznosat létrehoznod, esetleg másnak is hasznára válhat a munkád, küldd be fordításod a SymPDA oldalra, írj nekem az oldal elérhetőségén keresztül, kapsz szerzői jogosultságot és tedd fel leírással, képpel együtt!
Véleményeket, fordítási gondokat, stb. ide a megjegyzésekbe várom. Ha tudok és időm is lesz, szívesen segítek a munkád technikai részében.
Töltsd le itt a linket, egy .zip állományban...
Frissített nyelvi fájl hozzá. Ide mentsd: \jBART-master\data\lang\