So, here's a short tutorial on how to create your own dll library and change folder icons.
what you need:
IcoFX get it here : http://icofx.ro/
ResHacker link here : http://delphi.icm.edu.pl/ftp/tools/ResHack.zip
and of cource ICONS get some here: http://www.iconarchive.com/
How it works...
Any customized folder has a shortcut inside pointing out the icon it should use
usually it's a icon.lnk file inside the folder.
and icons are usually stored in a DLL library...
So, what we have to do
1. Get some images and transform them into icon files ( .ico )
2. Create our DLL library
3. make the icon.lnk files that point to our specific icon
let's start.
After installing all the above programs and selecting some icons go and launch IcoFX
now go to Tools / Batch Convert
A new window appears
Add your icons / images,
select your icon sizes
select an output folder
hit ok
After it finishes hit ok.
Now go to Tools - Resource Editor
This should pop up
Now add your created icons
After that, hit save
Save your library with a .dll extension like in the above image.
Bam, you just created your own DLL library
Close the program
now to create the icon.lnk file
create a new text document
inside the shortcut looks like this:
1# is a parameter
myiconlib.dll is your icon library
-33 is the resource number where the icon is located within the resource dll
ok, how to find the right number for your icon:
Open up your DLL library with ResourceHacker
hit expand tree to see all the resources in the file
search for your icon
The icon number is very visible ( look at the image )
write the number in your text file like shown in the image. remember to put the "-"
so, another example:
1#MyLibrary.dll, -12
now, goto file , Save AS
Just to be sure select All Files in the Save as type bar
give the file the name: icon.lnk and hit save.
and you are almost done.
Connect via your phone via Activesync
Copy your Dll library right in the Windows folder
Copy your icon.lnk in the folder you want to customize.
And you are done.
Hope this comes in handy
Happy customizing
Nevermind, got it fixed Sorry for the trouble.
Great info! Thanks for sharing.
works great with changing a folder... how do you change just a shortcut?
Thank you very much
i dont nderstand this part , help please
now to create the icon.lnk file
create a new text document
inside the shortcut looks like this:
i have created the library.dll whit al the icons i want . i just dont understand this part above. i have to crate a new text document inside the shortcut? wich shortcut? i am lost in this part
I can't get it working, i did everything, i checked tree times but nothing works.
I GIVEUP
sorry by my inglish , i have being trying to make this shortcut but nothing works, i have being reading al the esteps over and over , but nothing works.i am tired to try to make i simple shortcut, tired to try to change the estar icon, tired to try to change waiting star icon , i just cant do it, nothing seems to work to me, maybe iam so stupid, KEEP THE GOOD JOB ,
be more specific. what failed ? tell me exactly what u did and we\ll see what went wrong
th_undead said:
be more specific. what failed ? tell me exactly what u did and we\ll see what went wrong
Click to expand...
Click to collapse
Nothing happens I did step by step everything, but icon does not change Does it works on official htc rom Probably that's the problem
did u copy the dll into the windows folder ?
th_undead said:
did u copy the dll into the windows folder ?
Click to expand...
Click to collapse
Yes mate, as i told, did everything
lets see
Please attatch ur dll library qnd ur shortcut and ill take a look at it
Everything seems clear except:
"Copy your icon.lnk in the folder you want to customize."
It's confusing how to customize?
Does anyone still come here?
I followed the tutorial step by step and also I had no success! Could someone help me? Or anyone know which dll is the original folder icon? So I could change them directly in this dll.
I have attached the dll and icon.ink that i created, if someone can help me and verify that is correct.
Thanks
bernabap said:
Does anyone still come here?
I followed the tutorial step by step and also I had no success! Could someone help me? Or anyone know which dll is the original folder icon? So I could change them directly in this dll.
I have attached the dll and icon.ink that i created, if someone can help me and verify that is correct.
Thanks
Click to expand...
Click to collapse
hello it looks ok....do you have reset your phone after copy the dll in Windows folder? This is very important because otherwise it dont will show the image....
Yes I did. Did not work. I tried to see in several dll where is the original icon of the folder to change but can not find.
ok you lost me towards the end. in your example you say your icon is -12, but you have -9 highlighted do you not?
also, how can i use this in a kitchen after i create my folders using oemizer?
Great tutorial, thank you very much!
I've created a tutorial about creating shortcuts to Feature Settings and Applications. Plus adding icons to these links. It has many xda-links to specialized shortcut applications!
For me it resulted in icons for MortScript
Your tutorial about creating icons for folders was missing!! Thanx again!
Senax
didn`t worked
thanks for your tutorial.
i tryed it but i had no success
in resco explorer it works in some cases, in others not and in the start menu i had no success.
Is there a way to change just the contacts and dialer pad to any custome color(love dark blue) on the Eclipse 3 Rom at all?...I have tried ex-dialer but that just adds a dialer.. I want to change to stock dialer..
Thank you
Rich
sorry for typos....I meant custom colors......and... Want to change the stock dialer.
Thank you
hello
no problem, copy your blurdialer.apk from system/app/ to your PC
and open this apk (by winrar) and to change backgroud edit file
go to /res/drawable-hdpi/bg_dialer.jpg
if you need to change dialer number backgroud color
go to /res/drawable-port-hdpi/dialer_background.png
dial numbers are in
/res/drawbale-hdpi-finger/ folder
you make easy edit this files overwrite with old one and, and move back blurdialer.apk when you done to /system/app/ in your droid
Hi Niko..
Thank you soo much!.. I have spent ages trying to do this .. I am a little unclear on some things though... I will put in quotes what I don't quite understand:
1-"open this apk (by winrar)"-- Is that the app winrar?..Like unzip the file then edit the hex numbers? to change the colors?.. I have only done anything remotely closely to that about a year ago..
2-"/bg_dialer.jpg" - what do I edit that with?.. just Notepad? or PaintNet
3-"dialer_background.png"--same question about what do i edit that with and is this just changing hex numbers or actually changing a picture, like changing the colors of pixels? and in that case I guess i need to be very careful to stay in boundaries..like not bleed over a couple pixels?...obviously that would not be a prob if i am just editing hex numbers.. I have never learned code..
4-"you make easy edit this files overwrite with old one and"-- I do not follow this.. I'm sorry...
Thank you again... I don't know why Droid 3 is so difficult to change the contacts list and dialer colors...
Rich
ad1. if you have instaled winrar on your PC you make look in all android applications xxxxxxx.apk and pull out and insert files
ad2. you need to edit by some graphic editor (paintbrush is also ok for that )
ad3. as ad2. you make easy change everything on this picture (but do not change a resolution)
ad4. when you done with editing your images open a orginal APK file with WINRAR and copy there a this new edited images (overwrithe the old one)
and pase edited xxxxxx.apk file to your system/app folder in your Droid 3 phone
sorry for my not easy to understand eng.
Thank you!!.. no problem about eng :good:
Well that was interesting...lol... Thank ** for nandroids...I did not know how to transfer files even with MyPhoneExplorer.. Just kept having probs that I did not know how to fix so I guessed and nope.. I took the dialer.apk..swapped files and put it back...not quite that easily though...and then couldnt even open the dialer nor contacts..I did a backup right before I started playing around.. I need to learn from square one how to do the advanced stuff..
Oh well, One of these days I will look back and laugh that I did not know how to do that...:laugh:
Other phones just had apps that would change the theme of the dialer, but not droid 3 at least not with Eclipse 3 that I have found yet. I love the stability of Eclipse though..
niko99 said:
ad1. if you have instaled winrar on your PC you make look in all android applications xxxxxxx.apk and pull out and insert files
ad2. you need to edit by some graphic editor (paintbrush is also ok for that )
ad3. as ad2. you make easy change everything on this picture (but do not change a resolution)
ad4. when you done with editing your images open a orginal APK file with WINRAR and copy there a this new edited images (overwrithe the old one)
and pase edited xxxxxx.apk file to your system/app folder in your Droid 3 phone
sorry for my not easy to understand eng.
Click to expand...
Click to collapse
Niko- Would you happen to know anything about editing Go Contacts.apk themes using APK Multi-tool? Thank You!!!:fingers-crossed:
I relize that this is the wrong thread for this, however I HAVE LOOKED EVERYWHERE, I have a LG Optimus Zone 2 with the same problem, I don't have the dialers or backgrounds described, I changed all that I could find: LGUSTelephonyProvider in system/app and LGContacts, LGContactsProviders, and LGTeleService in system/priv-app, have tried different dialer apks, and even Holo themer from the x-repository, Can anyone help?
[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!