Oldal: Kezdőlap / Android OS, Bemutató, Fejlesztés / Oldal: Android honosítás 3. rész – Honosítás és Update csomag

Android honosítás 3. rész – Honosítás és Update csomag

2010. június 3. | 33 hozzászólás | Kategória: Android OS, Bemutató, Fejlesztés

Elég sok idő telt el a masodik rész óta, remélhetőleg minden érdeklődő ki tudta próbálni az korábbi részekben leírt dolgokat. Tehát van néhány kibontott apk fájlunk, egy telefonunk, ami most magyarítani szeretnénk. Elöljáróban néhány szót a res mappa működéséről. A leggyakoribb könyvtárak, amiket itt találhatunk a következők.

drawable. Itt a programcsomag által használt grafikai elemek, és néhány xml fájl található, melyek a grafikus elemek elhelyezkedését/viselkedését befolyásolják.

layout. Az itt található xml fájlok szabják meg az alkalmazás ablakainak/képernyőinek/widgeteinek/stb. kinézetét, elrendezését.

values. Számunkra ez igen fontos, hiszen többek között a nyelvi fájlokat is tárolja ez a mappa, amibe később részletesebben is belenézünk.

xml. A program által használt leíró fájlok, amelyek különböző adatokat tartalmazhatnak és a program működését befolyásolják.

Észrevehettétek, hogy néhány mappából több változat is létezik, ami számunkra nagyon fontos. Különböző nyelveknek, telefon típusoknak külön mappát tudunk készíteni. Hogy is működik ez? Példának vegyük az 1.6-os Launcher.apk-t. Ebben a csomagban van egy drawable könyvtár, amiben a program képeit találjuk, valamint van egy drawable-land és egy drawable-port mappa. Attól függően, hogy a telefon álló vagy fekvő módban van, a szükséges elemeket a drawable-land és drawable-port mappákból fogja venni. Hasonlóan ehhez, a values mappában az alapértelmezett angol fájlokat találjuk, például a values-it az olasz nyelvi fájlokat hordozza. Ha létrehoznánk egy values-it-land mappát, akkor a fekvő módhoz tartozó olasz szövegeket innen töltené be. Ezen a logikán tovább haladva, hozzunk létre egy values-hu mappát, amivel hozzá is foghatunk a magyarításhoz. A values mappában több xml fájlban van, de nekünk nem lesz mindre szükségünk. Ha megtekintjük a values-it mappát, akkor könnyedén lemásolhatjuk, hogy vajon mely fájlokra van szükségünk a magyar lokalizáció létrehozásához. Másoljuk át a strings.xml-t a values mappából a values-hu mappába. A nyelvi fájlok az Androidtól megszokott xml formátumban vannak tárolva. Windows felhasználók, figyelem! A fájlokat UTF-8 kódolással kell menteni, különben nem fognak működni az ékezetes karakterek. Windows alatt ajánlom az ingyen letölthető notepad2 alkalmazást. Én Linux rendszeren a geditet használom. Nyissuk meg a values-hu mappából a strings.xml-t, és nézzük meg a szerkezetét.

<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="application_name">Home</string>
<string name="uid_name">Android Core Apps</string>
<string name="folder_name">Folder</string>
<string name="chooser_wallpaper">Select wallpaper from</string>
...
</resources>

A stringek felépítése egyszerű: <string name="string_neve">Szöveg</string>.

Ezek alapján fordítsuk le a fenti angol szöveget:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="application_name">Főképernyő</string>
<string name="uid_name">Android Alkalmazások</string>
<string name="folder_name">Mappa</string>
<string name="chooser_wallpaper">Válasszon hátteret</string>
...
</resources>

Ennyi lenne. Nem kell patchelni a forráskódot, hogy elhelyezzük a magyarítást, nem kell beírogatni a magyar stringeket a kódba, egyszerűen átmásoljuk az angol fájlokat a -hu végű mappákba, és lefordítjuk őket. Van azért néhány dolog, amire figyelni kell.

A “\” karakter a backspace. Az Android rendszer érzékeny a különböző különleges karakterekre, mert sokat operátorként használ fel (“, ~, ‘, stb.) Ezek előtt a karakterek előtt “\” jelet szokás kitenni, így értesítve a rendszert, hogy a következő karakter egy írásjel lesz. Sok helyen fordul elő változó, ami valamilyen adattal, vagy szöveggel lesz felcserélve: Shortcut \”%s\” created… Itt látszik, hogy az idézőjelek backspace-vel vannak ellátva, a “%s” pedig egy változó, ahova a rendszer az ikon nevét fogja behelyettesíteni. Ilyenkor érdemes végiggondolni, hogy nyelvtanilag mennyire lenne helyes a mondat, ha a változót ott hagynánk ahol van, pl.: Ikon “Gmail” létrehozva. vagy inkább “Gmail” ikon létrehozva. Nagyon figyeljünk oda, hogy a string nevét ne írjuk át, ne töröljük ki a <> jeleket. Amennyiben kész a magyarítás, az előzőekben ismertetett módon fordítsuk újra, írjuk alá, és hozzuk létre az update csomagot.

Maga az update csomag egy .zip fájl, és hasonlóan kell kinéznie, mint a ROM-nak, amiből a csomag származik. Az update csomagnak van egy fontos könyvtára, a META-INF/com/google/android, ahol találunk egy update-script nevű fájlt. Ebben van meghatározva, hogy hogyan történjen az update. Ezt mindig az adott ROM update scriptjéből érdemes értelemszerűen kibogarászni, de a következő parancsok általában működnek.

show_progress 0.5 0

copy_dir PACKAGE:system SYSTEM:

show_progress 0.5 10

A fentiekből látszik, hogy az update folyamat a system könyvtárat fogja felülírni az általunk mellékelt fájlokkal. Ezek után másoljuk be az apk fájlunkat a helyére. (A pontos helyét nézzük meg az eredeti update csomagban, amiből kivettük.) Ez nálam a system/app/Launcher.apk. Majd a kedvenc archívumkezelőnkkel készítsük el a zip csomagot. Szinte készen vagyunk, már csak az aláírás szükséges. Sajnos az apk csomagoktól eltérő metódust kell alkalmaznunk, ebben segítséget találunk ezen a hivatkozáson.
Innentől kezdve már csak újra kell indítanunk a telefont Recovery módban, csinálni egy backupot, és flashelni a kapott fájlt.

Sok sikert kívánok a magyarításhoz, és bombázzatok a kérdéseitekkel!

Szerző: Apoth

Hasonló bejegyzések

Hozzászólások követése

33 hozzászólás ehhez: “Android honosítás 3. rész – Honosítás és Update csomag”

  1. sxboy hozzászólása:

    Értékeld!  0Thumb upThumb down

    Akarjuk mondani, második rész óra. Ha ez a harmadiknak készült.

  2. Tommy_Angelo hozzászólása:

    Értékeld!  0Thumb upThumb down

    Sziasztok!
     
    Nagyon profi leírás, sok sikert mindenkinek aki belefog, remélem lesznek olyan userek, akik megcsinálják Milestone-ra és később közzéteszik!
     
    Üdv: G

  3. Apoth hozzászólása:

    Értékeld!  0Thumb upThumb down

    “remélem lesznek olyan userek, akik megcsinálják Milestone-ra és később közzéteszik!”
    Nem ez nem erről szól. Csináld meg magadnak

  4. Apoth hozzászólása:

    Értékeld!  0Thumb upThumb down

    Cak én nem látom az első hsz-t?

  5. András hozzászólása:

    Értékeld!  0Thumb upThumb down

    Sziasztok!
    Esetleg lehetne kérni hogy lépésről, lépésre leírja valaki hogy hogyan is kell a 2.1-es androidot felrakni a telefonra?
    Onnantól kezdve,hogy fél éve megvettem a telefont (független), és azóta nem piszkáltam, csak használtam…
    Köszönöm!

  6. Apoth hozzászólása:

    Értékeld!  0Thumb upThumb down

    Milyen telefon, milyen romot szeretnél?

  7. András hozzászólása:

    Értékeld!  0Thumb upThumb down

    Olyan romot szeretnék,ami már 2.1es gyors,és stabil. Illetve esetleg olyan ami nem 2-3 smsben küldi az ékezetes üzeneteket.
    Előre is köszönöm!

  8. Apoth hozzászólása:

    Értékeld!  0Thumb upThumb down

    Aha, és milyen telefon?

  9. András hozzászólása:

    Értékeld!  0Thumb upThumb down

    és tényleg
    HTC Hero

  10. Apoth hozzászólása:

    Értékeld!  0Thumb upThumb down

    Én G1-es vagyok, de szerintem itt nézz szét: http://forum.xda-developers.com/forumdisplay.php?f=512
     

  11. LouiS hozzászólása:

    Értékeld!  0Thumb upThumb down

    @András: hát sajnos ilyen nem lesz soha. Már ami az sms küldést illeti. A varázsszó: unicode.

  12. Apoth hozzászólása:

    Értékeld!  0Thumb upThumb down

    Igen, sajna ez így van.

  13. KezDesire hozzászólása:

    Értékeld!  0Thumb upThumb down

    Sziasztok! Bocsi hogy ide írok..de itt van a legfrissebb bejegyzés!
    Tanácsot akarok kérni tőletek!
     
    Most szeretnék venni telefont..egy okostelefont,és hát már egy ideje nézegetem a HTC Desire-t! Csak attól félek h nem fogotm tudni kihasználni a tudását, és a végén oda lyukadok ki h feleslegesen vettem meg! Nos,hát amire használnám az netezés…e-mailezés, office cuccok(word excel ppt) nézegetése, zenehallgatás,stb. Viszont az az igazság h netezni és e-mailezni csak wifin keresztül szeretnék rajta…mivel nem rendelkezem mobilnettel,viszont szinte állandóan elérhető wifi hálózat közelben vagyok..otthon..egyetemen..szerintetek megérné nekem ezt a telefont megvenni? A másik kérdésem..h az adatforgalmat..azt ténylegesen ki lehet kapcsolni a Desire-ben, és nem kell attól tartanom h ha akarom ha nem felkapcsolódik a mobilnetre..amivel jó nagy méretű számlát okozna nekem)? Mobil adatforgalmat egyáltalán nem szeretnék használni, csakis wifi-t!
    Tudom elég kezdő kérdések..de háát az is vagyok..:$!
    A segitséget előre is köszönöm!

  14. Apoth hozzászólása:

    Értékeld!  0Thumb upThumb down

    Ha attól félsz, hogy nem tudod kihasználni a tudását, azt ajánlom, keress olcsóbb készüléket. Ugyan nekem nem jön be, de nézegesd a Pulse-t nem HTC, és nem high end telefon, viszont a 2.1-es szoftverrel remekül működik, ráadásul a T-Mobile most jól levitte az árát: 2 éves hűséggel részletre valami 3000-3500, nem tudom pontosan.
    Az adatforgalmat a megfelelő programmal ki lehet kapcsolni, illetve wifire lehet korlátozni. Természetesen ha figyelmetlen vagy, jó nagy számlát tudsz csinálni, ezért érdemes hálózati adatforgalom figyelő, és ki/be kapcsoló programot telepíteni a marketből.

  15. KezDesire hozzászólása:

    Értékeld!  0Thumb upThumb down

    Értem,értem! Szóval akkor a mobil adatforgalmat simán a settingsbe nem is lehet kilőni?  Az árával nincs problémám, és a kihasználhatóság..háát..igazából egy gyors,megbízható és széleskörben “formázható” telefont szeretnék venni…és ugy vagyok vele..h inkább tudjon kicsivel többet..mint amire nekem most per pill szükségem van, minthogy  vegyek egy kevesebb tudású telefont,ami lehet h nem most, de 2 hónap mulva már vmijen számomra tudásbeli hiányossága miatt gátoljon..
    Már csak egyedül ez az adatforgalom dolog nem tiszta számomra… :/

  16. Apoth hozzászólása:

    Értékeld!  0Thumb upThumb down

    Ki lehet kapcsoni  Bátran vedd meg

  17. LouiS hozzászólása:

    Értékeld!  0Thumb upThumb down

    És szerintem a szolgáltatónál is lehet kérni, hogy neked nem kell semmilyen adatforgalom, korlátozzanak ők is. Mellesleg kb. 2000 forint körüli összegért (a T-nél biztosan) kapsz 500 mega mobilnetet, vagy pl. 5000 forintos havidíjért ott a Médiamánia S, amiben benne foglaltatik az 500 mega net, plusz 50 “ingyen’” SMS, és lebeszélhető teljes egészében. Esetleg érdemes megnézegetned a díjcsomagokat is. Telenorban sajna nem vagyok otthon, ahogy Vodában sem.
     

  18. Tommy_Angelo hozzászólása:

    Értékeld!  0Thumb upThumb down

    Apoth: Ehhez sajnos kicsi az angoltudásom. Értem én amit olvasok, de egy ilyen fordítás tuti kifogna rajtam. :S

  19. Apoth hozzászólása:

    Értékeld!  0Thumb upThumb down

    Igazából már nem is nagyon kell fordítani, inkább javítani az elírásokat. Az Android (és persze a google addonjai) 99%-ban le vannak fordítva/át vannak véve a stringek más romokból.

  20. KezDesire hozzászólása:

    Értékeld!  0Thumb upThumb down

    Igen, ezen hogy a szolgáltatónál le lehet e tiltatni az adatforgalmat,ezen én is gondolkodtam,utána érdeklődök…de, azis megoldás lenne ha egyszerüen  a mobil adatforgalom beáálitásokat kitörölném a telefonból,vagy rossz megoldás?

  21. xsipi78 hozzászólása:

    Értékeld!  0Thumb upThumb down

    Sziasztok!
    HTC Tattoo-ra szeretnék magyarosítást.
    Ha valakinek megvan már de esetleg még javítani kellene vagy tesztelni akkor nagyon szívesen vagy beszállnék.
     

  22. LouiS hozzászólása:

    Értékeld!  0Thumb upThumb down

    xsipi78: morelocale a marketből, de nem lesz teljesen magyar. Azt a pár szót pedig meg lehet tanulni angolul…

  23. moljozo hozzászólása:

    Értékeld!  0Thumb upThumb down

    köszönöm

  24. albandi hozzászólása:

    Értékeld!  0Thumb upThumb down

    Hali! Htc desire hd magyarítás lehetséges?

  25. LouiS hozzászólása:

    Értékeld!  0Thumb upThumb down

    Helló!

    HTC Desire HD-ben benne van a magyarítás.

  26. Apoth hozzászólása:

    Értékeld!  0Thumb upThumb down

    Különben meg minden lehetséges

  27. babati hozzászólása:

    Értékeld!  0Thumb upThumb down

    Üdv. all. Egy htc desire-re akarnék magyar nyelvet varázsolni. Nem vagyok egy béna gyerek, de androidba még nem nyúltam bele. Tud nekem adni valaki egy fonalat amin elindulhatnék? Előre is nagyon szépen megköszönném. Hy

  28. T.Kriszta hozzászólása:

    Értékeld!  0Thumb upThumb down

    Sziasztok! Remélem nézi még valaki ezt a fórumot… Nekem Samsung Montém van (ami nem androidos), és láttam külföldi oldalakon, hogy van hozzá valami Android patch. Itt tud valaki valamit erről, hogy mégis azt hogy kellene, mert nem vagyok jó angolból és nem értem…
    Előre is köszönöm! Üdv.

  29. cxs hozzászólása:

    Értékeld!  0Thumb upThumb down

    Motorola Defy-t vki nem magyarosítaná le?

  30. Kun György hozzászólása:

    Értékeld!  0Thumb upThumb down

    Sziasztok!
    Szeretnék kérdezni: 0 tapasztalat és 0 tudás android területen,csak win mobillal harcoltam idáig,az már megy.
    Vettem egy e-pad -et, kínai, asszem 2.3-as android van rajta,ha van ilyen.. igazából ír és ad lehetőséget lokalizálásra,de ettől nem lett magyar a kicsike.
    Hogy klll ezeken romot kell cserélni vagy nyelvi csomag megy rá? Kérlek segítsetek,ha lehet konkrét,lépésről lépésre, ha tud valaki.
    Előre is köszönöm, tisztelettel: Kun gy.

  31. Turcsán Miklós hozzászólása:

    Értékeld!  0Thumb upThumb down

    Sziasztok!
     
    Egy Redbull RBM2 Cyanogen mod 7.1 romot szeretnék fordítani. A kérdésem az lenne hogy melyik mappában érem el a nyelvi fájlokat? Az egész menürendszert szeretném fordítani. Vagy esetleg van ehhez a romhoz magyar nyelvi frissítés?
     
    Tisztelettel
     
    Turcsán Miklós

  32. Bácsi Gyula hozzászólása:

    Értékeld!  0Thumb upThumb down

    Sziasztok!
    Nekem van egy WM 8650-es gépem, amin uberoid van. valahogy lehet honosítani, de nem találom a nyelvi fájlokat. Ha valaki tud segíteni…
    Előre is köszönöm!

  33. Addamz hozzászólása:

    Értékeld!  0Thumb upThumb down

    a “\” karakter nem a backspace, hanem backslash
    A backspace a visszatörlés gomb az enter felett^^

Hozzászólás írása

Amennyiben szeretnéd, hogy a saját avatárképed megjelenjen a hozzászólásod mellett, regisztrálj a gravatar.com oldalon, majd látogass vissza!