yashsingh1/xdaforums huggingface dataset:
[Miscellaneous Android Development] moshere:
Hi,

I bought Lenovo a690 recently and installed custom root ROM from this site:

http://www.needrom.com/mobile/lenovo-a690-11/

Main issue is of-course that Hebrew is not displaying in RTL fashion.

It'll be great if you can create from this ROM RTL version or send me link for RTL ROM.

This is very important to me - thanks a lot and I'll for sure donate you once it'll work.

Thanks a lot again,

Regards,

Moshe
[Miscellaneous Android Development] sexydj:
Hello Bruno. you doing a great job recently i own a MTK 6575 android 4.1 JB Auin n7105 / Alps F7100 5" note clone

Alps F7100

System (Android 4.1.1)

Model	F7100

Manufacturer	Alps

Device	Htt75_6628_gb2

Product	F7100

Brand	ZLR

Android Version	4.1.1 (Gingerbread)

API Level	10

Build ID	GRK39F

Fingerprint	HTT:4.1.1/GRK39F/1371776701:user/test-keys

Kernel 3.0.31-380934 se.infra@SEP-110#2 SMP PREEMPT Wed Oct 24 23:40:54 KST 2012

Build Number JRO03H.F7100XXALJL

BB Chip MT6575

MS Board htt75_6628_gb2

http://xdaforums.com/showthread.php?t=2354692

after huge battle i managed to kill the system recovery (3e) & replace with CWM 6XXX

here is the backup image i done with CWM. there is an partial Hebrew internet looks ok but app & menu sms contacts facebook & co are backwards mirrored ( Hello= olleH שלום=םולש) if you can fix it Huge can of beer on me! thanks

the zip file https://docs.google.com/file/d/0B78HfCKUUE4PY2haSmtvdmZPdlU/edit?usp=sharing
[Miscellaneous Android Development] sexydj:
:confused:???
[Miscellaneous Android Development] bgcngm:
I am now back from holidays. :cool: Do you still want help fixing your phone?
[Miscellaneous Android Development] sexydj:
Hi Bruno hope you enjoyed from your vacation. Yes i need help on fixing the rtl. Thanks . the Beers on the way Bro..
[Miscellaneous Android Development] sexydj:
Hi Bruno hope you enjoyed from your vacation. Yes i need help on fixing the rtl. Thanks . the Beers on the way Bro.:good:
[Miscellaneous Android Development] sexydj:
hi

Hi Bruno any news with the rom?
[Miscellaneous Android Development] jola:
reversed hebrew fixing

any chance fixing the heb on a fake s4 mini ?

thanks a lot
[Miscellaneous Android Development] silent 92:
HI Bruno

I have a China android phone its model is a7272_sphone running android 2.3.5 gingerbread

It's problem that it writes Arabic from left to right & the letters are not gathered I tried to fix it by rtl patch but its rom is odex not deodex

Can you please help me to deodex my phone or find a solution to the language problem

By the way it's rooted but It doesn't have a custom recovery

I googled this phone found some Russian forums talking about it but didn't mention the language issue
[Miscellaneous Android Development] idoasis:
Bruno,

I have seen that g11i, T9199+(S820), QT-A05, lenovo A60 and

some other mtk6573 phones have Hebrew menus.

Is it possible to take one of those phones Hebrew menus and put it in the H7300?
[Miscellaneous Android Development] idoasis:
You can add a Hebrew locale with an application called "more locale 2"

http://www.androidil.net/forum/%F4%...%E0%F0%E3%F8%E5%E9%E3-%EC%E9%F9%F8%E0%EC.html

But we want to add it in the menus.

I think this link can be usefull.

http://iandroid.co.il/forum/topic15575.html?sid=3657eccdb7361dcc8facca3ffee96730

They say the file framework.res.apk is responsible for the locale.

It is also says they have found a trick to add Hebrew locale in the menu,

Instead of creating a values-iw folder in framework.res.apk we need to create a values-iw-rIL folder.

Maybe if we can get this file from T9199+(s820) or QT-a05

we can have it build in.

Here some pictures of this phones (with reversed Hebrew)

http://imageshack.us/photo/my-images/651/aaaahg.jpg/

http://imageshack.us/photo/my-images/407/qta05menu.jpg/

http://imageshack.us/photo/my-images/402/qta05menu3.jpg/

The question is, what files do we need to replace to also have Hebrew menu?
[Miscellaneous Android Development] bgcngm:
In fact, framework-res.apk needs to be changed so that the phone can be aware of the "new" locale. But that is not the only modification needed. Almost every system .apk needs to be modified as well. For example, Settings.apk contains all strings related to the Settings menu, Contacts.apk contains all strings related to Contacts application, etc...

If you want, I can post some instructions on how to modify the framework-res.apk and the other apk's in order to add the new language.
[Miscellaneous Android Development] oren_b:
Can the modified Star A101 ROM be used on a B63M? This phone uses an MTK6573 CPU, but I would rather verify compatibility before bricking it. If it's not, is there any other ROM I should use to get Hebrew to work?
[Miscellaneous Android Development] bgcngm:
I don't think so, but you can take the risk if you have the original ROM for your B63M phone. Nevertheless, I'll be glad to patch the ROM designed for your phone if you have any link.
[Miscellaneous Android Development] the_bit:
Yet another reverse issue.

Well, I think we do have another issue with reverse Hebrew - Go Launcher EX drawler cause application name be reversed in it's translated part.

Honestly I do not know where the issue is - on phone's libs/resources or in the drawler code itself but:

1, On another phones (both ZTE blade/Cyanomon v7.1 and Galaxy2/stock roms were tested) the Hebrew in drawler is OK

2. On this phone there is no such issue with another launchers/drawlers (few tested - same result)

3. On the same Go Launcher EX the same inscription is OK on desktop/main screen.

Please refer to the attached screen shot.

On the top part left - SenseLauncer's drawler - everything OK there. The same inscription in the Go Launcher Ex drawler (right top) - Hebrew reversed there.

On the bottom left - Go Launcher Ex drawler 'tabs' - All, Recent used, Running. Hebrew reversed there as well.

On the bottom right - Go Launcher Ex main screen (Desktop) - same inscriptions are correct here.

Can anyone explain this?
[Miscellaneous Android Development] bgcngm:
Here you have it...

* link removed *

Well, it is most likely that some other functions (that are being used by GO Launcher EX), not on Canvas.smali but probably on Paint.smali, need alse to be changed. I will look into that.
[Miscellaneous Android Development] sirotag:
hebrew rtl fix for star lt18i

Hello i have star lt18i and i also wanted the Hebrew rtl fix

this a link for my rom:

h tt p : // rapidshare.com/files/1219241916/lt18i_2_3_6.rar

i will be very great full for yours help

Gregory
[Miscellaneous Android Development] eliyahub:
hebrew rtl fix for star A1200

Hi Bruno,

I have Star A1200 phone

Link to system.img

h tt p: narod.ru/disk/46043120001.d007573ed163d75f7a05b4633903c161/system.img.html

can u help me to fix it?

More thanks,

Eliyahu
[Miscellaneous Android Development] the_bit:
There is one more method in Canvas.smali that uses RTLTextUtils:

.method public drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V

Is there a reason it should not be replaced?

---------- Post added at 03:52 AM ---------- Previous post was at 03:46 AM ----------

There are methods in Paint.smali that use RTLTextUtils (if it helps)

.method public breakText(Ljava/lang/String;ZF[F)I

.method public breakText([CIIF[F)I

.method public getTextBounds(Ljava/lang/String;IILandroid/graphics/Rect;)V

.method public getTextBounds([CIILandroid/graphics/Rect;)V

.method public getTextPath(Ljava/lang/String;IIFFLandroid/graphics/Path;)V

.method public getTextPath([CIIFFLandroid/graphics/Path;)V

.method public getTextWidths(Ljava/lang/String;II[F)I

.method public getTextWidths([CII[F)I

.method public measureText(Ljava/lang/String;)F

.method public measureText(Ljava/lang/String;II)F

.method public measureText([CII)F
[Miscellaneous Android Development] bgcngm:
That method was already replaced. It is part of the list on my instructions.

Now those are the ones we should focus. Have you already tried to replace some of those and recompile framework.jar?
[Miscellaneous Android Development] the_bit:
Not yet - have not enough time for this. may be tonight.

I have a lot of issues to change methods and not misplace the change - checking myself 10 times...

As for the missing method - I just mistakenly post wrong method (i.e not this I suggest missed)

the correct one is (original post corrected as well)] :

.method public drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
[Miscellaneous Android Development] bgcngm:
That method is indeed present on madmack's Canvas.smali, but it doesn't exists on MT65x3 ROM builds, so I have skipped it. If you try to add it to framework.jar it results in non-booting ROM. ;)
[Miscellaneous Android Development] the_bit:
Hi, Bruno!

Tried to follow your guideline on odexed VitMOD 2 ROM and got into troubles.

What I did was:

adb push libicuuc-arabic.so /system/lib

adb push framework.jar /system/framework/framework.jar

adb shell rm /system/framework/framework.odex

adb reboot

Now I get endless loop, seems the problem is:

D/dalvikvm( 895): DexOpt: expected optimized DEX, found unoptimized

E/dalvikvm( 895): /system/framework/framework.jar odex has stale dependencies

I/dalvikvm( 895): DexOpt: mismatch dep name: '/data/dalvik-cache/system@framework@framework.jar@classes.dex' vs. '/system/framework/framework.odex'

E/dalvikvm( 895): /system/framework/android.policy.jar odex has stale dependencies

I/dalvikvm( 895): Zip is good, but no classes.dex inside, and no valid .odex file in the same directory

IMO the trouble root is /data/dalvik-cache/system@framework@framework.jar@classes.dex

but it re-creates now on every remove.

Could you help me with it?
[Miscellaneous Android Development] bgcngm:
You can't simple remove an odexed framework and push only the patched framework.jar... I believe that you need to fully deodex the ROM in order to make changes to framework.jar.

Have you checked my PM? I wanted you to confirm if my newly patched framework works.
[Miscellaneous Android Development] the_bit:
As to new framework.jar - see PM
[Miscellaneous Android Development] the_bit:
Well, I got it.

Now if success with de-odexed one - can I just replace in the odexed one framework.odex by /data/dalvik-cache/system@framework@framework.jar@classes.dex ? should it work without re-flashing?
[Miscellaneous Android Development] bgcngm:
Here it is...

* link removed *

It should work without re-flashing, but just in case you may want to clear Dalvik-cache.
[Miscellaneous Android Development] amitkey9:
working on script

Hi Bruno,

I followed your instructions on another Rom, and it works like a charm,

I'm now working on script that will make the switch automatically and create a log file detailing what changed and where,

Once it is ready I want you to try it,

Amit
[Miscellaneous Android Development] leoweins:
Hi

I need help with my phone too

it's Star A3 which is very good phone and it has extended battery

I just miss the RTL fix - I uploaded the framework.jar

please someone try to help me
[Miscellaneous Android Development] amitkey9:
Try this

Hi leoweins

Try this,

Thanks Bruno for your guidance,

Amit
[Miscellaneous Android Development] the_bit:
To be able to help your framework.jar is not enough - you need at whole /system/app and /system/framework folders

---------- Post added at 06:41 PM ---------- Previous post was at 06:39 PM ----------

Why not just post the script here?
[Miscellaneous Android Development] bgcngm:
Well, it can be enough assuming that the ROM is deodexed. ;)
[Miscellaneous Android Development] leoweins:
It's Working!

Yay! it is working for me

my Star A3 is now fully work with hebrew RTL

ofcurse my phone was dexoded - I had an issue that I had to reset phone to factory but it worth it

I also want to know if it possible to write an universal script for mtk6573 hebrew fix - I know alittle scripting maybe I can help

Thank you so much!
[Miscellaneous Android Development] amitkey9:
good to hear

hi leoweins

good to hear that it works for you,

as I mentioned earlier I am working on a script,

the main problem was identifying the lines needed to be corrected in the file,

because in each ROM the file is different i can not just give it the line numbers to replace, but with some "VBS work-arounds" I found the loop for making it work, so this is already solved,

basically the script is already working,

I just need to do some "Finishing Touches" and wrap it in an EXE file,

and again my script is only patching the "Canvas.Smali" file, the whole process of the decompiling and recompiling still needs to be done by the user,

maybe someone with more knowledge in Android like Bruno, could take my work and continue it from there

amit
[Miscellaneous Android Development] oren_b:
B63M

It took me a while to figure out how to root my phone and do nandroid backup/restore, and of course you were right about that ROM, it is not suitable for my B63M. However, I found a ROM that does - snurl.com slash b63mrom1 (unfortunately I'm too new to this forum to post a direct link). If you could patch it to support Hebrew I'd be more than grateful (and needless to say will donate).

Thanks in advance!

Oren
[Miscellaneous Android Development] bgcngm:
Here it goes...

* link removed *
[Miscellaneous Android Development] oren_b:
Thank you Bruno for all the efforts. At last I can enjoy my phone, with contacts, sms and other functions now supporting Hebrew. The calendar has reversed calendar order, but this seems to be easy to solve using external calendars such as Go Widget Calendar, so I don't think any extra efforts are needed.

For other who wish to install this ROM, note that it comes with Italian user interface by default. To solve this just click the settings icon ("Impostazio"), then scroll and select the language settings ("Lingua..."), choose the first option ("Seleziona lingua") and select English (or whichever other language you prefer. Hebrew is not listed, but I don't mind as long as my contacts, calendar and messages all display Hebrew properly).

Next you'll need to install a keyboard that support Hebrew. There are plenty of options on the Android Market. Hacker's Keyboard is quite nice. Just don't forget to check the Hebrew option under the keyboard Input Languages options.

Have fun (and don't forget donate to Bruno for his hard work!)

Oren
[Miscellaneous Android Development] idoasis:
It will be very nice if we have a univeral script for mtk6573 devices.

Of course a script for making a Rom deodex is needed for some devices.
[Miscellaneous Android Development] bgcngm:
Can you please confirm if the patched system.img that I've sent you via PM worked?

You could at least have answered to my private messages... :(
[Miscellaneous Android Development] liorf:
hi bruno,

i have the same problem with my a101.

i've downloaded the system.img and when i try to flash it with the flash tool i get the massege : "system.img is too large and causes region overlap"

can you help me please,thanks
[Miscellaneous Android Development] bgcngm:
Are you using the correct scatter file for A101? The correct one should be here.
[Miscellaneous Android Development] liorf:
sorry for my ignorance,

in the flash tool, where do i put the system.img file? (in recovery or usrdata?)
[Miscellaneous Android Development] bgcngm:
On the partition named ANDROID. :)
[Miscellaneous Android Development] liorf:
like this?
[Miscellaneous Android Development] bgcngm:
Yes, that is correct. But you don't need to flash the whole ROM.

You can deselect all the partitions and flash only system.img (ANDROID partition). But clear Dalvik-cache after flashing. ;)
[Miscellaneous Android Development] amitkey9:
full hebrew - x18i

Hello everyone,

It was an exhausting weekend of the translating more than 4000 lines of XML,

But the result is just worth it,

I managed to translate the interface of my device into Hebrew,

I am at work now, but I hope I'll have time tonight to sit down and write a short guide on what needs to be done to make it work,

What is certain, serch hard for a ROM that suits you best before you start the process, because it's a long and exhausting process, and will probably only work on that selected ROM,

So the guide is on the way, but in short:

Start from the two most important files in the Rom (framework-res.apk, mtkBase-res.apk)

Decompile them and then you create new folders (values-iw, values-iw-rIL) inside the "res" folder, copy in to them the needed XML files from the original " values" folder, open them in something like "notepad++", translate the values,

Compile them back without signing them and then open the files you created and the original files using "WinRAR" and drag the " resources.arsc" component from the file you created to the original file

Amit
[Miscellaneous Android Development] amitkey9:
Interim Report

Hi All,

Meanwhile everything is working OK, no reboots no boot-loops and no malfunctions,

I'm gonna run with it the coming week and if everything is O.K, I'll Upload ​​a torrent link,

For now I'm going to sit down and prepare the guide I promised,

Will be in touch,

Amit :rolleyes:
[Miscellaneous Android Development] idoasis:
Hi Amit,

Thank you very much for your effort!

What device do you have?

Why dont you sign the files?

What dont you use the files you have compiled,

Instead replacing original file resources.arsc?

Does addition of values-iw, values-iw-rIL folders to framework-res.apk add a Hebrew Locale in language choise?
[Miscellaneous Android Development] bgcngm:
The way Amit did it is the best way. You don't have to sign any files. Simply recompile the apk and replace the old resources.arsc with the new one. :)

Yes, after adding those to framework-res.apk you'll get Hebrew on the language list. But don't forget, you have also to edit the other system apk's.
[Miscellaneous Android Development] the_bit:
IMO it is much easier way to get already translated values from some Cyanogen MOD framework-res and system applications.
[Miscellaneous Android Development] idoasis:
Thanks Bruno,

Will replacing the orifinal files by new signed ones cause any problem?

About the mtk6575 devices, they also have a reversed Hebrew problem.

http://www.aliexpress.com/product-g...WCDMA-GSM-CPU-1GHz-512MB-RAM-wholesalers.html

Look at the languages, the Hebrew is reversed.

I guess that mtk6575 framework.jar file is not identical to mtk6573.

So, we will need to wait until you test it and try to fix it:)
[Miscellaneous Android Development] bgcngm:
Yes, or taking it from a ROM of a MT6573 device. Ido has noticed that A101 has Hebrew menus. ;)

Normally system apk's should not be re-signed... If you have already done that job, you can simply take the old files from my ROM, and using WinRAR or 7-zip, drag-and-drop resources.arsc from one apk to another. :)

I bet that the framework of the new MT6575 is equal (at least where the problem is) to the one from MT6573 devices, so my fix should work as well.

EDIT: Just to confirm my assumptions I have checked the framework of a MT6575 phone. As you can see Canvas.smali is equal (Android 2.3.6 vs Android 2.3.5):
[Miscellaneous Android Development] idoasis:
Thanks Bruno,

Thats great news!

Will the mtk6573 flash tool and your custom recovery work on mtk6575 devices?

Now we need to wait and see what device you are going to buy;)
[Miscellaneous Android Development] bgcngm:
Probably not, but that's not a problem because there's a new version of SP Flash Tool (v3.1206.01). It's already available on my MT6575-Tools 4shared folder along with the new USB VCOM drivers.
[Miscellaneous Android Development] the_bit:
Hi, Bruno!

Could you please help me once again? I successfully added iw* folders into framework-res.apk ( well I changed it a month ago already - changed battery charging indicators) and now lock screen option 2 has Hebrew days BUT from left to right. I do believe it is possible to change by editing res/layout/zzz_keyguard_screen_slide_unlock_weekpad.xml file but it will remain reverse also if one change back to English.

Q - can I make iw*- specific layout xml?

Here is the file's content:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:textSize="16.0sp" android:textColor="#fff0f0f0" android:gravity="center" android:layout_gravity="center_vertical" android:layout_width="0.0dip" android:layout_height="fill_parent" android:text="@string/day_of_week_medium_sunday" android:layout_weight="1.0" />
<TextView android:textSize="16.0sp" android:textColor="#fff0f0f0" android:gravity="center" android:layout_gravity="center_vertical" android:layout_width="0.0dip" android:layout_height="fill_parent" android:text="@string/day_of_week_medium_monday" android:layout_weight="1.0" />
<TextView android:textSize="16.0sp" android:textColor="#fff0f0f0" android:gravity="center" android:layout_gravity="center_vertical" android:layout_width="0.0dip" android:layout_height="fill_parent" android:text="@string/day_of_week_medium_tuesday" android:layout_weight="1.0" />
<TextView android:textSize="16.0sp" android:textColor="#fff0f0f0" android:gravity="center" android:layout_gravity="center_vertical" android:layout_width="0.0dip" android:layout_height="fill_parent" android:text="@string/day_of_week_medium_wednesday" android:layout_weight="1.0" />
<TextView android:textSize="16.0sp" android:textColor="#fff0f0f0" android:gravity="center" android:layout_gravity="center_vertical" android:layout_width="0.0dip" android:layout_height="fill_parent" android:text="@string/day_of_week_medium_thursday" android:layout_weight="1.0" />
<TextView android:textSize="16.0sp" android:textColor="#fff0f0f0" android:gravity="center" android:layout_gravity="center_vertical" android:layout_width="0.0dip" android:layout_height="fill_parent" android:text="@string/day_of_week_medium_friday" android:layout_weight="1.0" />
<TextView android:textSize="16.0sp" android:textColor="#fff0f0f0" android:gravity="center" android:layout_gravity="center_vertical" android:layout_width="0.0dip" android:layout_height="fill_parent" android:text="@string/day_of_week_medium_saturday" android:layout_weight="1.0" />
</LinearLayout>
[Miscellaneous Android Development] amitkey9:
Hi,

I really used files from another Rom (A101), but only as a reference point,

the main problem is that there are too many Differences between the two versions,

and when I tried to just take the files from one ROM to the other it did not work,

The funny thing was that I found more similarities between my ROM and a ROM for a Chinese tablet by Ainol (N7A),

then certainly, you can find shortcuts, and because I work on this ROM for a device I'm preparing for my wife, I just want everything to work perfectly,

To be honest the main reason why I invested so much into it is simple, I'm "teaching myself" Android

The files I translated so far are:

framework-res.apk

mtkBase-res.apk

Settings.apk

SettingsProvider.apk

SystemUI.apk

Like I did in the script that changes the Canvas.Smali I now spend most of my effort on building a loop in VB to plow through two files and identify identical lines for me, one English and one in Hebrew,

This will make the whole process of translation more or less automatic,

Wish me luck, :eek:

Amit
[Miscellaneous Android Development] the_bit:
I tried to copy res/layout/zzz_keyguard_screen_slide_unlock_weekpad.xml into res/layout-iw/zzz_keyguard_screen_slide_unlock_weekpad.xml and reverse the order of TextView elements - no luck, week pad appear in LTR order.

I guess reorder TextView elements will do the trick BUT then the week pad order will remain RTL event on english/turc/whatever locale, that is not acceptable option.

Any ideas?
[Miscellaneous Android Development] amitkey9:
RTL-Patch-Tool For CanvasSmali Files

Hello everyone, :D

As I promised,

"here is another step towards freedom",

The file attached here is my first real contribution to our Joint efforts,

ReadMe file included,

Amit

O.K, Just to be on the safe side !

I used a different compiler and replaced the attachment,

Enjoy, :D

Amit
[Miscellaneous Android Development] the_bit:
A virus?

Amit,

Is there any possibility the RTL patch you posted has a trojan?

My enterprise antivirus blocks it