i´m trying to change the settings.apk icon.....
so
1) i rename the apk to .zip
2) open the archive
3) replace the original with another .png
4) save the new archive
now comes the strange part,
after saving my archive, i only got half the size of the original archive but it contains exactly the same files (4,4 mb <--> 2 mb)
i did the same way when i changed all folder icons in the arc launcher and it worked without any trouble
--------------
and is there a way to have two icons for the same app?
for example:
settings in app drawer ---> white icon
settings in widget menu ---> black icon
or does android automatically use the same icons for both?
still didn´t solve this problem ;(
tried via root manager and using 7zip under windows....filesize stayed the same but didn´t work.
and when i changed the icon, i couldn´t open the widget menu or go to options --> settings
oh boy....
try this :
1.) do all your customizing with this apk ...
2.) copy AndroidManifest.xml & META-INF (folder) from original settings.apk to your new settings.apk
3.) put in update.zip to flash in CWM, or push to system/app manually, check if permissions are ok (rw-r-r)
this worked for me theming framework-res.apk from FR18b2 ...
without copying AndroidManifest.xml & META-INF (folder) from old to new file, i always had bootloop ...
if it´s still not working, you can try and
1.) decompile with apkmanager or apktool
2.) do your customizing
3.) compile apk
4.) copy AndroidManifest.xml & META-INF (folder) from original settings.apk to your new settings.apk
5.) flash
tried your first hint but it didn´t work......
so, when i try to open the widgets i get this message:
sony ericsson home (process com.sonyericsson.home) gets force closed
maybe it has something to do with that?
i deleted lglauncher.apk and launcher2.apk and replaced it with a modified arc launcher as main launcher
---------------
im thankful for your advises but i have ZERO knowledge and experience in stuff like adb, apktool, scripts and stuff...
i can handle illustrator or photoshop
if it´s not working, i think i have to let my idea go.....
Hi~
I want to edit the systemUI.apk of CM7.1.5. But, it is an odex Rom. So I gonna deodex the SystemUI.apk in order to edit "\smali\com\android\systemui\statusbar".
And here is the question:
After I finished the edit work, what should I do? Just put the SystemUI.apk into /system/app or I need to odex it?
Thanks a lot if you can help me~
If you only want to change icons (png files) you can simply open it with winzip or a similar program, change the png files (you must add them without compression), then simply put the modified file in system/apps, I use Root Explorer, but you must change permissions according to other files (rw-r--r--). Copy the modified apk in /system, change permissions and then move it to system/app, then reboot to recovery and zipalign entire system. No need to wipe cache.
enrsil1983 said:
If you only want to change icons (png files) you can simply open it with winzip or a similar program, change the png files (you must add them without compression), then simply put the modified file in system/apps, I use Root Explorer, but you must change permissions according to other files (rw-r--r--). Copy the modified apk in /system, change permissions and then move it to system/app, then reboot to recovery and zipalign entire system. No need to wipe cache.
Click to expand...
Click to collapse
Not only icons and background, I also need to change something in floder "Dex"
Combined compiler would be more convenient
apk+odex
My English is very poor
I hope you can understand
Are from the Chinese students why not Chinese
My Chinese is very good.
金刚狼 said:
Combined compiler would be more convenient
apk+odex
My English is very poor
I hope you can understand
Are from the Chinese students why not Chinese
My Chinese is very good.
Click to expand...
Click to collapse
狼哥。。我是Angeeks的Hank_Fisher,也是1群的没人性。。。。。。
[GUIDE + ROM] Rom Translation Tutorial + Minimoto 1.7 & MavROM 4.5 Italian Version
THIS GUIDE IS FOR PEOPLE THAT KNOW WHAT ARE DOING! DO NOT TELL ME THAT I BRICKED YOUR PHONE OR STUFF LIKE THAT, YOU ARE RESPONSIBLE OF WHAT HAPPENS TO YOUR PHONE, BE CAREFUL!
Here are the Italian versions of Minimoto 1.7 and MavROM 4.5:
Minimoto 1.7
MavROM 4.5
(The MavROM has 2 files to flash: first the D3-MavROM-4.5.zip original file and then the MavROM-AOSPICSTheme.zip that contains the translation plus the ICS theme. If you want to translate another theme, or just the basic rom, you can extract the language files from the theme .zip following the guide!)
Every Droid 3 owner out of the English/Spanish area knows that every D3 ROM comes out with only two languages preloaded in it, right? well...if you know well english (or spanish!) maybe i have something for you!
Ok, i hope this guide could be helpful to everyone like me that wanted to find a non-english, non-spanish Gingerbread ROM for Droid 3.
After some studies, and a lot of searching too, i've found the best (i think) way to translate roms. Oh and this guide is good for every android phone out there! Let's start!
Part 1 - Download all the stuff! (plays Monkey Island music )
Our needs are very few, what you need with this is a lot of patience, and knowing some english could help.
- A rooted Droid 3 (or any other phone)
- The ROM you want to translate
- WinRAR / 7-Zip
- Notepad / Notepad++ (Highly recommended!!!) http://notepad-plus-plus.org/
- Java Development Kit www.java.com
- APK Manager/APK Multi-Tool, since now i will call them APKM and APKMT ( i used APK Manager, but multi-tool should be fine anyway) http://apkmultitool.com/?q=node/5
- Google Translator Toolkit http://translate.google.com/toolkit/
- Safestrap (optional, but very, very recommended)
- MoreLocale2 or another language changing program
Note 1: If APK Manager/Multi-Tool bother you with something about java not found do this: http://wiki.answers.com/Q/How_do_you_stop_the_error_%27java%27_is_not_recognized_as_an_internal_or_external_command_operable_program_or_batch_file
Note 2: In APKMT, the commands are a little different from APKM, e.g. in APKM the "set project" command is listed as 22 and in APKMT is listed as 24....the functions we'll use are the same, just read the description if you're not sure and you'll be fine
Ok, let's take the stuff out of the box!
Part 2 - The extraction point
Open the .zip containing your ROM's files with WinRAR / 7-Zip and extract the folder "system" somewhere (i recommend to create a folder for your translation project) once the process is done, we can basically do two things: Decompile the apps or decompile the frameworks, the process is the same, but you have to go really really REALLY careful with framework apks, or once you flashed the ROM what you've got is a translated BOOTLOOP. So be careful. With apps you can mostly screw a functionality up, like SMS or Phone, but nothing too messy.
Anyway you can solve the problem with a new flash with the corrected ROM, or the original, untranslated ROM.
Ok let's start with the frameworks: we've usually got 3 differents frameworks and those are
framework-res.apk
blur-res.apk
moto-res.apk
Those apks contain mainly everything written all around the phone, like pop-up messages, status bar, app permissions and a lot of other stuff.
We'll use framework-res.apk.
If there isn't, create a folder in the same folder where you have installed APKM/APKMT, called "place-apk-here-for-modding" without quotes, then copy inside it the framework-res.apk.
Now you have to open the Script.bat file, and once you get into the main window, digit 22 (APKM) or 24 (APKMT) and press enter to select the current project, now digit the number corresponding to the desired apk (it should be 1 if you have only framework-res.apk) and press enter. now digit 9 (APKM/APKMT) and enter and you'll decompile the apk. Now you should have a folder, inside the "projects" folder of APKM/APKMT named just as the decompiled apk. Inside it, you'll find a folder called "res" open it and you'll be right into the core of the translation:
Note: if you get an error after decompiling, try with option 10 (APKM/APKMT), and drag and drop the necessary framework over the prompt when APKM/APKMT ask, press a key, and if you get another error try with another framework (D3 has 3 of them) until you get the job done. If nothing works, probably there's a problem with the apk you want to decompile.
Note 2: You could need to have frameworks installed into folder C:\Users\YourPCUSername\apktool\framework. You can do this either with apktool via cmd or manually copying the 3 frameworks into this folder (create it if needed) and renaming them this way:
- framework-res.apk => 1.apk
- moto-res.apk => 2.apk
- blur-res.apk => 3.apk
Then you should be able to decompile 99% of apks with option 9.
You'll find a bunch of folder, but we are interested in the "values" ones, if you have to translate the app, you'll see something like this:
- values
- values-es
- values-es-rUS
the first folder contains the english files, the second contains the spanish files, and the third contains some other files for spanish variants.
Open the "values" folder and inside it there are some .xml files, we will always use only 3 of those at most:
- strings.xml (the file containing mainly all the text strings of the apk, if you find this, then you have to translate it, if not, just pass over this apk, it doesn't contain text)
- arrays.xml (the file that contains some text data for drop lists, you'll not find this often, but if you find it, translate it)
- plurals.xml (the file that contains plural words, this is very rare to find, but if you want to make good translations, then, translate!!)
Now get back to "res" and create a folder called "values-xx" where xx is your language code, for example i made a values-it folder, but you'll write values-fr, values-de, values-idunno etc.
You'll put here, all the XMLs we're gonna translate now!
Part 3 - Bring out the dictionary!
The game is getting harder, now you have to use your better weapon: Google Translation Toolkit. But first, let's look into XML!
Open the "strings.xml" file with Notepad++, and look at the records structure:
<string name="aerr_application">The application %1$s (process %2$s) has stopped unexpectedly. Please try again.</string>
You have to change ONLY and i repeat ONLY the text between "<string name="aerr_application">" and "</string>"!
Now some rules:
- See that "%1$s" weirdness? that is a jolly word that Android replace with a variable data, in other words DO NOT TOUCH IT! just imagine that you'll see there something like "The application *Temple Run* (process XYZ) has stopped etc. etc.
- If you have to put an apostrophe or some other weird character, always put quotes at the beginning and at the end of the string just like in the translated string down there, it's good to always put them, And GTT (Google Translator Toolkit) does that.
- If the string you have to translate looks like code stuff, probably you should leave it untranslated, something like:
<item>@string/resolutionSummaryWideScreenTV</item>
<item>MOTOCAMSETTING_REVIEW_TIME_4_SEC</item>
see? DON'T TOUCH IT! BAD TRANSLATOR! BAD!
This is the resulting, translated string:
<string name="aerr_application">"L'applicazione %1$s (processo %2$s ) si è fermato in modo imprevisto. Si prega di riprovare."</string>
Ok, now we can translate without detonating the phone, but framework-res has something like 1300 rows of text!
WHOA! let's use GTT!! http://translate.google.com/toolkit/
Once you are on the main screen of the tool, click on the red "Upload" button on the upper left, then in the page you found after, click on "Browse..." and select your file inside your PC.
Set all the stuff down there, like the name, the language and everything else, and click "Upload for translation"...here comes the magic...
The XML is translated! sort of...
You now have to look if GTT has done the work well...let's look into this page:
- You can see that now the entries are divided in boxes, you can click onto the left panes' boxes and edit the content.
- Play a little with the interface, you have to get familiar with it if you want to translate a ROM!
- Look to spaces and returns, GTT mess them, and you should correct the format.
- Text is coloured: i'll tell you what those fancy colours ACTUALLY mean
- Orange: this means you've edited the text into the box
- Red: text coloured in red came right out of Google Translate, and 70% of times, it will be gibberish, so look carefully into it, this will be the work where you'll spend more time.
- Blue: this is a sneaky bastard, it says that he found a "100% matching" translation in his database, but it has a 30% chance to be total nonsense, be careful with it.
- Green: this colour is fine, you probably have translated this in past, or someone did it for you, anyway, it will be 99% correct, if the past translation was correct.
- Brown: this happens rarely, usually where it founds a colon (the symbol ":" ok?? :angel: ) and for some reason, it goes random, usually you need a very little effort to correct it.
- Purple: THIS is a funny one. when purple comes out (usually with a wildcard character like "%1$s") the translator often goes TOTALLY random and write some idiocy. rewrite the text from scratch.
Once you've managed to translate everything, and if you're sure to have completed everything, click (if you want) on "Complete" in the upper right corner of the page, and then we need to download our work, to do that, click on "File" (upper left) and then "Download". Save the .xml file in your values-xx folder, and check one last time with Notepad++ the number of lines, the spaces and the format in general, at this point we're ready for the final part!
Part 4 - Repack everything!
Now the situation is this: you have the "project" folder containing all the decompiled apks folders, with the "values-xx" directory in it, we now have to recompile everything and put apks into the ROM. Let's see how:
- Open APKM/APKMT and select the project you want to recompile
- digit 11(APKM/APKMT)
- Look if you got errors, if yes, look into the log 20(APKM) or 23(APKMT) and see what the problem is, if you look carefully you will identify where is your error log, probably it's a messed tag, or something easy to resolve, correct the issue, and go ahead, restarting from digiting 11 (Compile)
- Press Y and enter
- Press Y and enter (yes, 2 times)
- Now wait for APKM/APKMT to stop spitting lines out and it'll tell you something. Read it, but the substance is: go in the APKM/APKMT folder, look for a "keep" directory, delete the "resource.arsc" file, get back on the APKM/APKMT prompt window, and press a key.
- Once everything is completed, you now have a file called unsignedframework-res.apk (or unsigned*nameoftheapkyouhavecompiled*.apk)
- The next, is the point i still didn't get, but it works...maybe XDA guys can explain better this...anyway, we now have to sign apks...i saw that this shouldn't be necessary, but otherwise i've got a lot of errors and force closes and stuff like that...soooo, at least for D3, sign it!
- We have 2 choice for signing...if you have only a few apks to decompile, you can just select the project and digit 12(APKM) or 13(APKMT) and sign it but if you have translated a whole ROM and you want to sign all the apks at once, create, if not exists, a folder called "place-apk-here-for-signing" and put all the unsigned apks there...you now have to digit 16(APKM) or 18(APKMT) and the apks will all be signed automatically.
- Rename the apks removing the "signed" part from the name.
We're now ready to pack the ROM: i usually create a "system" folder somewhere else that i will put directly into the ROM's zip, but you can do it by hand (boring). I'll show you my method for now:
- create a "system" directory
- inside it, create a "framework" and an "app" folder
- put into the framework one, all the frameworks (easy, huh?) and into the app directory, put all the other apks.
- open the ROM zip and drag and drop the system folder into the ROM in order to overwrite the existing one.
Our freshly translated ROM is ready to be flashed and brick or burn your phone! (ok, no, this is not true...maybe...)
Anyway, download the zip on your phone and flash it with the recovery you want.
I RECOMMEND TO DO THE FIRST TEST ON A SAFESTRAP, AND ONLY IF YOU'RE SURE THE ROM IS SAFE, INSTALL IT ONTO YOUR MAIN SLOT! I'VE WARNED YOU!
Part 5 - Polish your creation!
When the ROM is installed, and if it boot correctly, First install MoreLocale2 or other similar apps, and add, your language, with the correct ISO codes and look around to see if something is untranslated...if yes, go back, to APKM/APKMT and find the apk you need to modify, translate, repack, flash the ROM and again until you've got a perfectly translated ROM!
The tutorial is ended, i hope you liked it, and if you want to correct, critic, ask, or anything, just tell me!
Tips: If you want to avoid the MoreLocale stuff, you can edit the build.prop, into the folder "system" of the ROM you'll find this file, open it with Notepad++ and look for these lines:
ro.product.locale.language=xx
ro.product.locale.region=YY
You have to put here your ISO language code, but i noticed that on D3 it doesn't always works...so, try but i don't guarantee success.
If i remember something, i'll integrate the post
Coming Soon:
Screenshots!
Corrections!
Hi, people i saw that the guide hit 1,000 views and it's a lot of clicks! so i'd like to know if there is something that you would see in this guide, or if you need some more guides, maybe more D3 specific (or less specific! ) i spent a lot of time tweaking and tuning this phone and i can share what i've learned from it! If you want a custom translated rom, i could work on it, especially in Italian or French!
tl;dr -> Tell me what improvements you want to see!
Buongiorno FrankieDedo,
I have read your tutorial and try to translate the Framework res.apk from Minimoto 1.7 into German. (I am Greek just translate it for a German friend)
First i translated the three files (arrays.xml, plurals.xml, strings.xml), put the files into framework-res.apk\res\values-de, recompiled and signed everything without errors.
Then i edit the build.prop ro.product.locale.language = de and ro.product.locale.region = DE
Flashed the rom zip without problems.
After the initial setup i downloaded more local 2 and set it up to german, unfortunately the system itself is still in english (most of the apps are in german now)
Also I have decompiled your framework-res.apk but i cant find your italian values folder.
I've attached my decompiled framework-res.apk, maybe you can help me.
Thank you very much !
michalakis said:
Buongiorno FrankieDedo,
I have read your tutorial and try to translate the Framework res.apk from Minimoto 1.7 into German. (I am Greek just translate it for a German friend)
First i translated the three files (arrays.xml, plurals.xml, strings.xml), (...)
Click to expand...
Click to collapse
I'm looking into this, my framework lacks the Italian translation, you're right, i've uploaded a zip without it, i'll update that too soon.
I don't know why your framework shouldn't work, i give a look at it and it looks ok, it just have some text rows more than the english one, it could be the problem, but i don't think so... Anyway, can you tell me if when you factory reset the phone you see some texts in german and then they disappear?
Yes, at the start setup for 1 sec than it turns to English.
But after a factory reset booting without the SIM, the text at the start setup don't turn to German.
So with SIM the phone recognize the im in Germany and turns the text for 1 sec to German.
Must i change something else in the build.prop ?
I Started over again and with mavRom 4.5 now it works
michalakis said:
I Started over again and with mavRom 4.5 now it works
Click to expand...
Click to collapse
i'm glad you've made it, maybe the problem with the other rom was some missing file or something missing in the decompiling/translation/compiling process... and thanks for letting me know that the minimoto zip doesn't have the translated! as soon as i get home, i'll upload a new file!
Fixed the Italian Minimoto, with translated framework.
FrankieDedo said:
Fixed the Italian Minimoto, with translated framework.
Click to expand...
Click to collapse
is this guide valid only for these 2 roms or i can use it to translate any custom rom of any smartphone?? and another question: if in \system\framework there are framework-res.apk, lidroid-res.apk and twframework-res.apk and the other files are .jar, i must modify only these 3 apks?
thanks in advance for the answers!
Blade.94 said:
is this guide valid only for these 2 roms or i can use it to translate any custom rom of any smartphone?? and another question: if in \system\framework there are framework-res.apk, lidroid-res.apk and twframework-res.apk and the other files are .jar, i must modify only these 3 apks?
thanks in advance for the answers!
Click to expand...
Click to collapse
Sorry for my late answer, :angel: anyway:
I wrote this guide after messing around with Droid 3, but it is good more or less for every rom, so you can translate nearly everything with this method (i heard that for HTC phones things are a little more messy, but i might be wrong)
For the apks to translate: if you translate the frameworks alone you should have translated roughly a 75%-80% of the phone system, but another important apk is the "Settings" one... if you are a maniac like me you can decompile every system app and look for missing language folders...
I'm sure at 99% that you'll always have to touch ONLY apks, and not .jar or external .xml or whatever so, yes go along with your apks
Ciao!
FrankieDedo said:
Sorry for my late answer, :angel: anyway:
I wrote this guide after messing around with Droid 3, but it is good more or less for every rom, so you can translate nearly everything with this method (i heard that for HTC phones things are a little more messy, but i might be wrong)
For the apks to translate: if you translate the frameworks alone you should have translated roughly a 75%-80% of the phone system, but another important apk is the "Settings" one... if you are a maniac like me you can decompile every system app and look for missing language folders...
I'm sure at 99% that you'll always have to touch ONLY apks, and not .jar or external .xml or whatever so, yes go along with your apks
Ciao!
Click to expand...
Click to collapse
grazie per la tua risposta! sei stato molto chiaro!