Override the strings.xml on the fly - Android Q&A, Help & Troubleshooting

Hi,
I want to change the string displayed for an app on the fly. I will download the new strings.xml from a server and would now like to change the strings of the app accordingly.
Could anyone please help as to how to achieve this in android.
Thanks in advance.

Related

Need help with starter app in eclipse

Hello,
I am very new to eclipse and java programming and I am attempting to create a simple soundboard as a starter project. I have already created my raw folders and have all my files in the correct folder. I have my main.xml setup and my layout prepared with the graphics icons etc. Just the last part I cannot figure out. In the properties for the button I have enabled the button to be clickable and enabled soundfx. My guess was I have to create a Onclick string and assign the sound file to the string and button. I am feeling kind of lost if anyone can help me out would be greatly appreciated.
Leigh G.

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

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
Extract strings.xml from your target apk using apktool. read more
Translate strings.xml to your language. (I had developed a tool for it and would share it later)
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.
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.
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!
The first step is, hand your xml file (strings.xml). Read OP
Run XML_translator.exe and select the file to translate. (language selectors are not working now and hardcoded to CN->EN)
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.
Thank you very much.
I made a request for this feature in the request thread sometime back, but no developer was interested. . 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.
nqk said:
Thank you very much.
I made a request for this feature in the request thread sometime back, but no developer was interested. . 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.
Click to expand...
Click to collapse
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
Yay , now yunpan/tencent/baidu drive shall all become translated
I was thinking about it latest two weeks and someone made it! Impressive!
nice work.. i'm waiting the translate strings tool..
This is really impressive.
Thank you very much for you work m8.
I'm on stock N4, and can't get this module to work. I decompiled and translated strings.xml, but there's no change in app. Should be translated strings.xml compiled back, before putting it to sdcard?
Great module, thx for your work. Also very interested in your translation tool. Also been thinking a lot about how to automate APK translation but to no avail.
Some features that i was thinking that can be added BUT not sure if they can be implemented:
- Load list of installed apps via GUI;
- Decompile the apk and extract the strings to a full app name folder (No idea if apk can be decompile from within an app)
- Tell user to edit the strings.xml
- Check if strings.xml was edited and in case it was prompt for reboot.
joluke said:
Some features that i was thinking that can be added BUT not sure if they can be implemented:
- Load list of installed apps via GUI;
- Decompile the apk and extract the strings to a full app name folder (No idea if apk can be decompile from within an app)
- Tell user to edit the strings.xml
- Check if strings.xml was edited and in case it was prompt for reboot.
Click to expand...
Click to collapse
I'm new and still learning android development. Im planning to integrate translating utility inside this app and would allow users to translate any app on the fly on the device.
geekon said:
I'm on stock N4, and can't get this module to work. I decompiled and translated strings.xml, but there's no change in app. Should be translated strings.xml compiled back, before putting it to sdcard?
Click to expand...
Click to collapse
make sure, you have copied translated xml in resOverloader\[your app full name]\strings.xml in internal memory (sdcard).
Bug: translated apps show an escaping slash-chars.
Can you add a possibility:
- to download and update of translation resources from github for all installed apps? In such case you should only define a resource location URL.
- for localization of res/layout/*.xml & res/xml/*.xml & etc
Is there a opportunity to use also preferences.xml?
babuilyas said:
make sure, you have copied translated xml in resOverloader\[your app full name]\strings.xml in internal memory (sdcard).
Click to expand...
Click to collapse
I tried with 4 apps, the results are as follows:
- AppSetting (xposed module): OK
- Nova Launcher: Partially OK, many strings remain in English
- Omniswitch (OmniRom): Not working (all texts are still in English)
- Transdroid: OK
:highfive:
nqk said:
I tried with 4 apps, the results are as follows:
- AppSetting (xposed module): OK
- Nova Launcher: Partially OK, many strings remain in English
- Omniswitch (OmniRom): Not working (all texts are still in English)
- Transdroid: OK
:highfive:
Click to expand...
Click to collapse
Share Xposed log and thanks for testing this app.
I saw the log, but didn't find any FC. See if there is anything in translated xml.
Benko111 said:
Great module, thx for your work. Also very interested in your translation tool. Also been thinking a lot about how to automate APK translation but to no avail.
Click to expand...
Click to collapse
i have some more ideas, so i will fork your module and add my ideas.
babuilyas said:
Share Xposed log.
Click to expand...
Click to collapse
Please have a look
https://m.app.box.com/view/f_16953900439
Sent from my Nexus 4
Very pleased.. Share it with all..
Sent from my LG-GEEB using Tapatalk

Can anyone edit this XML for me please

is anyone know how to show all xml letters in notepad++ i have problems in my notepad always showing special characters not the xml format.
install more language packs and use google.

[q] [request] is any one to make a module to change the strings.xml

Can any one make a module which is adding a strings xml to the apk or changes the default strings.xml?
Thanks for your reply from now....!!!

How to Localize an app by downloading the translated strings from a server

How to Localize an app by downloading the translated strings from a server . ( without bundling translations as separate strings.xml within APK ) ?
Normally multiple language support is added to android applications by defining extra strings.xml file corresponding the locale.
Recently I came across an android application which downloads the translations in key:value pair format as json from parent server and updates the UI by replacing the strings with the downloaded translations.
I'm curious about how this works within the android application.
Any insights on this topic would be really helpful.
Thanks
Update :
Please consider the scenario where I have hundreds of TextViews in my app to change, and if I want this change to persist when app is opened next time. Is there a way to persist this change on app, so that I don't have to programatically change the strings every time I load the app, which would essentially slow it down. ?

Categories

Resources