[APK][Xposed] resOverloader - Overload applications res files

Search This thread

siva710

Member
Apr 13, 2014
32
7
Unable to use with Gingerbread 2.3.6 :(

Bro, My phone has Xposed GB framework installed. I downloaded resOverloader v2.0 and tried to install it. But It said, "There is an error while parsing the application". Pls help me.:(
 

afridi.shahriar

Senior Member
May 22, 2014
352
108
Hello community,
I'm very glad to share my first trial of development which ran successfully for me and hope this will be useful for the rest.

I'm a big fan of a few chinese apps (baidu cloud, weiyun). Previously I was able to decompose and translate these apks to english until vendors injected apk signature validations into their apps. I even used these apps in foreign language but the experience were annoying. So I decided to translate these apps with some development. Eventually I came across resXploit by WisdomSky which give me a clue and I started this and it works :good:.

Basically resOverloader overloads strings.xml file for any apk (application). Source code is hosted on github for other devs to incorporate other resources as well. I'm not experienced dev and sharing this here for others and further development.

How to setup
  1. Extract strings.xml from your target apk using apktool. read more
  2. Translate strings.xml to your language. (I had developed a tool for it and would share it later)
  3. Now create resOverloader folder in sdcard.
  4. Find your app full qualified name in applications under settings and create a folder with app full name. (eg. com.baidu.netdisk)
  5. Now copy the translated strings.xml to app folder inside resOverloader.
  6. Restart your phone and it is done.

Hope this will help starters and requesting experience devs to add arrays.xml to this.

Github: https://github.com/babuilyas/resOverloader

Change log:
2.0 : rebuilt with targetSDK 14 and it should work for 2.2+ now. pls confirm.


Thank you for reading... Cheers.
Sorry to say,that,after enabling this module, i (mt6589 chipset, aosp/stock4.2.2) get something near to bootlop, it takes 10 mins to boot!!! After completed booting it automatically hangs and restart within few mins. I just have enabled this module,i dont modified any strings though!! Plz fix this issue
 

babuilyas

Senior Member
Aug 26, 2013
51
58
Karachi
Sorry to say,that,after enabling this module, i (mt6589 chipset, aosp/stock4.2.2) get something near to bootlop, it takes 10 mins to boot!!! After completed booting it automatically hangs and restart within few mins. I just have enabled this module,i dont modified any strings though!! Plz fix this issue
pls share logcat and xposed log. I don't expect this behaviour due to it.

Bro, My phone has Xposed GB framework installed. I downloaded resOverloader v2.0 and tried to install it. But It said, "There is an error while parsing the application". Pls help me.:(
I tried and compiled it with lower target sdk and you reported it does't work on GB. the sources are on github, and i would suggests rebuilt it for your device. this requires little efforts. I had hdd crash and lost much of my data.
 

Jack Phoenix

Member
May 24, 2014
42
9
Sony Xperia Z1 Compact
Nokia X
@babuilyas: Thank you for the great app and for publishing it under a free and open source license! :D

I have a request for assistance, but first, some boring background info and whatnot. As we all know, Android is multi-lingual and definitely speaks my native language, Finnish, but in an ironic twist of fate, Nokia's fork of it ("Nokia X software platform") mostly does not. Some apps (Store, Swype keyboard) have bits and pieces of Finnish left in, but it's fair to say that the Nokia X family of devices just do not support Finnish out-of-the-box.

I had installed MoreLocale 2 earlier on to test out some third-party apps' Finnish translations and potentially to improve them. Later on I rooted the device with Framaroot, installed Xposed Framework and resOverloader. Translating stuff -- and pulling in some translations from Google's official strings.xml files for each system app -- took a fair while, but today the project was in a decent shape so I finally decided to try it out.

Great success? Not quite, I'm afraid. After fiddling a bit with MoreLocale 2 -- I had to switch the system language from Finnish to something else and then back to Finnish to refresh caches or something -- the Launcher UI is mostly translated; the "Search" bar on the main Launcher menu as well as Fastlane aren't, for some reason, although I know there are corresponding translations in the relevant strings.xml files. Email app seems to be fully using the translations, whereas Phone or People, let alone Settings, aren't. Likewise the pulldown menu isn't translated (it's probably a part of Settings or SystemUI, can't remember which one).
UPDATE: So there's some sorta weird caching going on in here. After visiting Phone for the second time, the initial menu showed correctly translated strings, but in the settings menu "Turn on proximity sensor" and whatnot are still in English, despite that I've translated those into Finnish in the strings.xml file that resOverloader should load/loads. Settings doesn't display anything in Finnish, though. The Camera app is also buggy in that it displays the option names in Finnish, but options like "Level 5" or "Internal storage" are displayed in English

Also, when are "double quotes" appropriate in a strings.xml file? Google's official translations wrap like all strings in those, like this:
Code:
<string name="foo">"This is a cool message."</string>

But it seems that the Nokia X -- or at least its Store app -- doesn't like that and the "double quotes" are displayed, too, in addition to the message.

I can post Xposed logs if necessary, although there's nothing exciting going on in there -- just a bunch of "resOverloader found app <app name>" lines for the most part. Likewise I'm more than happy to publish my translations on GitHub -- I just wanted to beta test them first and fix the most obvious, glaring typos before publishing. :p
 
  • Like
Reactions: babuilyas

babuilyas

Senior Member
Aug 26, 2013
51
58
Karachi
@babuilyas: Thank you for the great app and for publishing it under a free and open source license! :D

I have a request for assistance, but first, some boring background info and whatnot. As we all know, Android is multi-lingual and definitely speaks my native language, Finnish, but in an ironic twist of fate, Nokia's fork of it ("Nokia X software platform") mostly does not. Some apps (Store, Swype keyboard) have bits and pieces of Finnish left in, but it's fair to say that the Nokia X family of devices just do not support Finnish out-of-the-box.

I had installed MoreLocale 2 earlier on to test out some third-party apps' Finnish translations and potentially to improve them. Later on I rooted the device with Framaroot, installed Xposed Framework and resOverloader. Translating stuff -- and pulling in some translations from Google's official strings.xml files for each system app -- took a fair while, but today the project was in a decent shape so I finally decided to try it out.

Great success? Not quite, I'm afraid. After fiddling a bit with MoreLocale 2 -- I had to switch the system language from Finnish to something else and then back to Finnish to refresh caches or something -- the Launcher UI is mostly translated; the "Search" bar on the main Launcher menu as well as Fastlane aren't, for some reason, although I know there are corresponding translations in the relevant strings.xml files. Email app seems to be fully using the translations, whereas Phone or People, let alone Settings, aren't. Likewise the pulldown menu isn't translated (it's probably a part of Settings or SystemUI, can't remember which one).
UPDATE: So there's some sorta weird caching going on in here. After visiting Phone for the second time, the initial menu showed correctly translated strings, but in the settings menu "Turn on proximity sensor" and whatnot are still in English, despite that I've translated those into Finnish in the strings.xml file that resOverloader should load/loads. Settings doesn't display anything in Finnish, though. The Camera app is also buggy in that it displays the option names in Finnish, but options like "Level 5" or "Internal storage" are displayed in English

Also, when are "double quotes" appropriate in a strings.xml file? Google's official translations wrap like all strings in those, like this:
Code:
<string name="foo">"This is a cool message."</string>

But it seems that the Nokia X -- or at least its Store app -- doesn't like that and the "double quotes" are displayed, too, in addition to the message.

I can post Xposed logs if necessary, although there's nothing exciting going on in there -- just a bunch of "resOverloader found app <app name>" lines for the most part. Likewise I'm more than happy to publish my translations on GitHub -- I just wanted to beta test them first and fix the most obvious, glaring typos before publishing. :p

Thanks Jack Phoenix for thorough testing resOverloader for wide range of system apps and settings. I haven't test it on settings nor system apks yet as I was very focused to translate chinese apks to english. It actually replaces apk's string.xml content with your content and sometimes when the target apk logic/process is dependent upon content of res' string.xml then we get undefined errors and FC. So when you get unexpected error in any apk try to see logcat and remove the target resource key from your string.xml.
As it works based on xposed framework, so i dont exactly how it manages cache of thousands of overloads and ofcourse thousands of lines for several apks may to lead to caching issues... Thanks again.
 

Jack Phoenix

Member
May 24, 2014
42
9
Sony Xperia Z1 Compact
Nokia X
Thanks Jack Phoenix for thorough testing resOverloader for wide range of system apps and settings. I haven't test it on settings nor system apks yet as I was very focused to translate chinese apks to english. It actually replaces apk's string.xml content with your content and sometimes when the target apk logic/process is dependent upon content of res' string.xml then we get undefined errors and FC. So when you get unexpected error in any apk try to see logcat and remove the target resource key from your string.xml.
As it works based on xposed framework, so i dont exactly how it manages cache of thousands of overloads and ofcourse thousands of lines for several apks may to lead to caching issues... Thanks again.

The attached .txt file contains "adb logcat" output. It's totally unfiltered and as such, almost 10k lines long. There are 31 matches for "Xposed" and 11 matches for "resOverloader".

After posting my previous message, I googled for instructions on how to wipe Dalvik cache (and unsurprisingly enough, ended back on XDA ;)) and did that; interestingly enough it didn't help, but rather it removed a few translations. Strange.

As for Settings, the app name in Launcher is translated, and a few other components/screens seem to be, namely:
  • Settings > Feedback to Nokia (package name com.nokia.feedbacktonokia)
  • Settings > About phone > Status (the screen which contains the device's baseband version, uptime, etc.)
  • Settings > About phone > System updates (package name com.nokia.update)
  • Settings > Mobile data and networks
  • Settings > Dual SIM

As mentioned in my previous post, some apps seem to randomly be using the strings provided by resOverloader, i.e. sometimes they use those strings and sometimes not. Phone and Contacts are totally in English after a reboot, whereas Messaging is always in Finnish (well, save for the three options -- "Always", "Only when silent" and "Never" -- in the Settings menu, under "Vibrate").

Any and all ideas, suggestions and thoughts are very much welcome, as I'd rather not give up on the idea of Finnish Nokia X just yet, given how close to completition the project is. :good:

UPDATE: I went to Settings > Apps > Manage apps > All, chose an individual app (like "Email") to bring up the "App info" screen and pressed "Clear data". This is probably a radical measure -- too radical if this phone were my daily driver -- but since this phone is essentially empty, save for a few (FOSS) custom apps, resOverloader strings (which are backed up on my computer, too) and some screenshots, I was able to do that. Purging the caches this way made the Launcher, People/Contacts and Email show up in Finnish -- especially funny for Launcher, because I don't recall purging its cache, but rather that of a different app. Phone's main screen shows up in Finnish, but Call settings window doesn't. And, ah, Settings itself is a pesky one...
 

Attachments

  • logcat-14-Aug-2014.txt
    421.5 KB · Views: 4
Last edited:
  • Like
Reactions: babuilyas

babuilyas

Senior Member
Aug 26, 2013
51
58
Karachi
The attached .txt file contains "adb logcat" output. It's totally unfiltered and as such, almost 10k lines long. There are 31 matches for "Xposed" and 11 matches for "resOverloader".

After posting my previous message, I googled for instructions on how to wipe Dalvik cache (and unsurprisingly enough, ended back on XDA ;)) and did that; interestingly enough it didn't help, but rather it removed a few translations. Strange.

As for Settings, the app name in Launcher is translated, and a few other components/screens seem to be, namely:
  • Settings > Feedback to Nokia (package name com.nokia.feedbacktonokia)
  • Settings > About phone > Status (the screen which contains the device's baseband version, uptime, etc.)
  • Settings > About phone > System updates (package name com.nokia.update)
  • Settings > Mobile data and networks
  • Settings > Dual SIM

As mentioned in my previous post, some apps seem to randomly be using the strings provided by resOverloader, i.e. sometimes they use those strings and sometimes not. Phone and Contacts are totally in English after a reboot, whereas Messaging is always in Finnish (well, save for the three options -- "Always", "Only when silent" and "Never" -- in the Settings menu, under "Vibrate").

Any and all ideas, suggestions and thoughts are very much welcome, as I'd rather not give up on the idea of Finnish Nokia X just yet, given how close to completition the project is. :good:

UPDATE: I went to Settings > Apps > Manage apps > All, chose an individual app (like "Email") to bring up the "App info" screen and pressed "Clear data". This is probably a radical measure -- too radical if this phone were my daily driver -- but since this phone is essentially empty, save for a few (FOSS) custom apps, resOverloader strings (which are backed up on my computer, too) and some screenshots, I was able to do that. Purging the caches this way made the Launcher, People/Contacts and Email show up in Finnish -- especially funny for Launcher, because I don't recall purging its cache, but rather that of a different app. Phone's main screen shows up in Finnish, but Call settings window doesn't. And, ah, Settings itself is a pesky one...

thanks for sharing your project updates. keep it up... messing with different sys apk will reveal more to you... best of luck
 

sarvesvara.dasa

Senior Member
Apr 4, 2005
709
136
45
Dubai, UAE
Nice work...

---------- Post added at 10:17 AM ---------- Previous post was at 10:10 AM ----------

Can you please share the xml for Baidu application?
 

mrjoy

Senior Member
Aug 24, 2012
2,572
175
The Heaven Of Punjab
i want to ask that whenever i translate the chinese app to English language then at starting it gets translated well but after few minutes it doesn't translate. I mean it starts into chinese language again. Whats the problem?
 

1walter9

Member
Aug 7, 2008
8
0
Spijkenisse
Hi all, I'm not here often but I read everything carefully to understand it. Thank you all for sharing your knowledge

I also like Chinese cloud services, I have translated apps of 360yunpan and Tencent Weiyun. Not Baidu cloud.
I have a problem with translating the BaiduYun_7.5.0.apk. What I've done I will tell below.

1) First resOverloader 2.0.apk installed on my rooted Sony Xperia Z Ultra 4.4.4.
2) ResOverloader folder created on my sd card and not the internal memory (also tried in the internal memory but also did not work)
3) with android multitool the apk file decompiled.
4) I've found the strings.xml file and translated it into English with XML_Translater.
5) The new strings.xml file copied to resOverloader/com.baidu.netdisk.
6) Phone restarted.
7) Run the Baidu app and it diddent translated anything

Can anyone help me? What did i do wrong?
 

SirHat

Member
Sep 12, 2014
25
7
Hi all, I'm not here often but I read everything carefully to understand it. Thank you all for sharing your knowledge

I also like Chinese cloud services, I have translated apps of 360yunpan and Tencent Weiyun. Not Baidu cloud.
I have a problem with translating the BaiduYun_7.5.0.apk. What I've done I will tell below.

1) First resOverloader 2.0.apk installed on my rooted Sony Xperia Z Ultra 4.4.4.
2) ResOverloader folder created on my sd card and not the internal memory (also tried in the internal memory but also did not work)
3) with android multitool the apk file decompiled.
4) I've found the strings.xml file and translated it into English with XML_Translater.
5) The new strings.xml file copied to resOverloader/com.baidu.netdisk.
6) Phone restarted.
7) Run the Baidu app and it diddent translated anything

Can anyone help me? What did i do wrong?

Hi mate, just took a quick look at the apk file for you.

The package name seems right. The only thing I could find is that you called the directory on your SD card 'resOverloader' instead of 'resoverloader'. It's case sensitive and all characters should be lowercase. Can you change that and try again?
 

mrbodk

Member
Dec 13, 2009
28
17
Hi friend maybe this can help you with ResOverloader: http://xdaforums.com/xposed/port-array-xml-plurals-xml-t3077152

Hello friends, ResOverloader module developer has commented that need help to implement the use of arrays.xml , plurals.xml, etc... Currently the module only accepts the strings.xml file.

There is a module that is based on ResOverloader and allows all this!, however, also includes the Russian translation of the system, because it is thought to translate from Chinese to Russian MIUI ROM's .

I tried the DV_Translate1.1_SK module in a stock rom, and it worked perfectly translating an application using arrays.xml and strings.xml modified.

Therefore , I ask for the help of an advanced developer to help us port these characteristics for ResOverloader module or mod DV_Translate, but not including the Russian translation . This would be helpful for all the community, for the easy translation of applications that are not in the native language without decompile it and break signature validations.

How to setup:

ResOverloader:

Extract strings.xml from your target apk using apktool.
Translate strings.xml to your language.
Now create "resOverloader" folder in sdcard.
Find your app full qualified name in applications under settings and create a folder with app full name. (eg. com.baidu.netdisk)
Now copy the translated strings.xml to app folder inside resOverloader.
Restart your phone and it is done.

Github: https://github.com/babuilyas/resOverloader
Download resOverloader_2.0.apk: http://goo.gl/BwZNV6

DV_Translate:

Extract strings.xml, arrays.xml, etc... from your target apk using apktool.
Translate strings.xml, arrays.xml, etc..., to your language.
Now create "dv_translate" folder in sdcard.
Find your app full qualified name in applications under settings and create a folder with app full name. (eg. com.baidu.netdisk)
Now copy the translated strings.xml, arrays.xml, etc..., to app folder inside dv_translate.
Restart your phone and it is done.

Github: https://github.com/DiffeR777/DV_Translate
Download DV_Translate1.1_SK.apk: http://goo.gl/37Ba8S

Thanks everyone. I´m not developer
 

Madakite

Senior Member
Mar 5, 2009
54
2
How do I share the already translated application?
It is that I share it but when installed it with its original language?
Thank you
 

maksnogin

Senior Member
Jan 3, 2014
112
126
No worked

Hi, XML translator.rar no worked, no translated. Im selected ru > en but app translate ru>ru. How fix?
 

makgun

Senior Member
Sep 18, 2013
119
12
Yeah find finally i got it

The module i look for a long time ago. This link is started by me but no one gives me answer but now I found thanks. here
 

supercowz

Senior Member
Apr 2, 2010
1,091
531
paris
Seems not working on lollipop..
Possible to compile sdk22?

Envoyé de mon NX507J en utilisant Tapatalk
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 36
    Hello community,
    I'm very glad to share my first trial of development which ran successfully for me and hope this will be useful for the rest.

    I'm a big fan of a few chinese apps (baidu cloud, weiyun). Previously I was able to decompose and translate these apks to english until vendors injected apk signature validations into their apps. I even used these apps in foreign language but the experience were annoying. So I decided to translate these apps with some development. Eventually I came across resXploit by WisdomSky which give me a clue and I started this and it works :good:.

    Basically resOverloader overloads strings.xml file for any apk (application). Source code is hosted on github for other devs to incorporate other resources as well. I'm not experienced dev and sharing this here for others and further development.

    How to setup
    1. Extract strings.xml from your target apk using apktool. read more
    2. Translate strings.xml to your language. (I had developed a tool for it and would share it later)
    3. Now create resOverloader folder in sdcard.
    4. Find your app full qualified name in applications under settings and create a folder with app full name. (eg. com.baidu.netdisk)
    5. Now copy the translated strings.xml to app folder inside resOverloader.
    6. Restart your phone and it is done.

    Hope this will help starters and requesting experience devs to add arrays.xml to this.

    Github: https://github.com/babuilyas/resOverloader

    Change log:
    2.0 : rebuilt with targetSDK 14 and it should work for 2.2+ now. pls confirm.


    Thank you for reading... Cheers.
    10
    reserved

    Thanks all for praising my work. Here is my translation utility which can help you translate any xml file with auto fixing of literals and escapes within source text.

    How it works!
    1. The first step is, hand your xml file (strings.xml). Read OP
    2. Run XML_translator.exe and select the file to translate. (language selectors are not working now and hardcoded to CN->EN)
    3. Click Start translating.

    The utility will take time and depends on source file length. At the end you will see strings-new.xml file. Rename it to strings.xml and use it with resOverloader.

    I would soon remove the hardcoded part to enable multilingual translations.
    2
    @babuilyas
    It will be great, if you upload your module to Xposed Module Repository
    Thank you
    :)

    Sent from my tablet. Odoslané z môjho tabletu.

    Get it done. resOverloader is now available in Xposed Module Repo and works on 2.2+. Thank you.
    1
    Thank you very much.

    I made a request for this feature in the request thread sometime back, but no developer was interested. :D. I will try it now and report back.

    Edit: IT WORKS. My translated texts show up.

    However, I would like only to see the translated texts when the system language is switched to that language only. So I could see original English texts when the system language is set to English.

    OP could add localized string switching by checking filename suffix against Locale.getDefault().getLanguage(). So if you wanted to add multiple languages to an app, you'd just need strings-en.xml, strings-it.xml, etc etc
    1
    @babuilyas

    Nice work, i'll try to use this for system apps even didn't have apktool for Baidu cloud OS framework