Ok heres whats going on I'm attempting to translate this awesome launcher from here. http://www.joymms.com/english/ from Chinese to English
So that it looks like like the English part of the attached picture.
These are the instructions. I'm putting the decompiled files in Zip in the attachment. If you don't know Chinese send your Chinese to zergburger unless you are totally confident in Google translate.
You have to use apktool to decompile the apk, go through the smali files and find the \uxxx unicode strings. Take these strings and put them in a site like this: http://people.w3.org/rishida/tools/conversion/ which will convert the utf16 to the actual characters. You can then take that and paste it into google translator or whatever and translate the information.
Than put the new translated Charters back into the converter than take the string codes and replace the codes in the file save it than send them to me so I can compile all of them.
Good luck I really like this application and this is gonna take a while
Thank you samspoon for the instructions
Total 631 Smili files
3 Translated
117 That need Translation
2.5% complete
Code:
Need Translation:
AndroidWindows7$18
AndroidWindows7$19
AndroidWindows7$20
AndroidWindows7$21
AndroidWindows7$23
AndroidWindows7$24
AndroidWindows7$26
AndroidWindows7$30
AndroidWindows7$32
AndroidWindows7$33
AndroidWindows7
AppBarClock$1
AppBarClock$3
AudioStatus$1
BaseWindow
CalendarPicker
ChineseCalendar
DesktopIcons$3$1
DesktopIcons$3
DownloadProcessBar$1
DownloadProcessBar$4
DownloadProcessBar
Execute
ExecuteNaviBar
InstalledApps$1
InstalledApps
MainApp
MessageBubble$6
MessageBubble$7
MessageBubble
MyComputer$12$1
MyComputer$12
MyComputer$13$1
MyComputer$13
MyComputer$14
MyComputer$16
MyComputer$18$1
MyComputer$18
MyComputer
RandomChat$3
RandomChat
RunningAppBar$1$1
RunningAppBar$1
RunningAppBar$8$1
RunningAppBar$8
RunningAppBar$10$1
RunningAppBar$10
RunningAppBar
SelectDir$3
SelectDir
Setting$1$2
Setting$1
Setting
SettingDesktopBg$3
SettingDesktopBg
SettingDesktopIcon$1
SettingDesktopIcon$3
SettingDesktopIcon$5
SettingDesktopIcon$9
SettingDesktopIcon$SelectedListAdapter
SettingDesktopIcon
SettingSideBar
SettingStartMenuIcon$1$1
SettingStartMenuIcon$1
SettingStartMenuIcon$3
SettingStartMenuIcon$7
SettingStartMenuIcon$SelectedListAdapter
SettingStartMenuIcon
SideBarCalendar$1
SideBarCalendar$3
SideBarClock$3
SideBarMessageTips$1
SideBarMessageTips
SideBarUserStatus$1
SideBarUserStatus$4
SideBarUserStatus
SideBarWeather$1
SideBarWeather$4
SideBarWeather$6
SideBarWeather$8
SideBarWeather$9
SideBarWeather
StartMenu$2
StartMenu$3
StartMenu$4
StartMenu$5
StartMenu$6
StartMenu$7
StartMenu$8
StartMenu$9$1
StartMenu$9
StartMenu
SystemInfo
TaskListAdapters$ServiceListAdapter
TaskManagerCtrl
UnInstalledApps$2$1$1
UnInstalledApps$2$1
UnInstalledApps$2
UnInstalledApps
Usage$1$1
Usage$1$2
Usage$1
Usage
UserInfo$4
UserInfo$6
UserInfo
UserLogin$1
UserLogin$3
UserLogin$5
UserLogin
UserPass$3
UserPass
UserPreRegist
WeatherCity$7
WeatherCity
WindowsIE$5
WindowsIE
Code:
Are Translated:
AboutUs$4
AboutUs$5
AboutUs
I'm in the process of translating/organizing
Samspoon's version http://www.multiupload.com/9IWXYZ4L7Q
Just a word of advice but you should setup some format for translating... I.e say you have a string that you modify:
(for examples sake)
const-string v8, "\u78c1\u76d8\u5bb9\u91cf\u4fe1\u606f\u83b7\u53d6\u5931\u8d25"
now according to google translate this is close to "Failed to read disk"
so if you formatted the string so the old is there along with the new something like this:
const-string v8, "[[[\u78c1\u76d8\u5bb9\u91cf\u4fe1\u606f\u83b7\u53d6\u5931\u8d25]]][[[Failed to read disk]]]"
You could then make a bash script that will go through and replace the string with the proper translated information... You could then take these strings to search future updates to the app to make translating easier on you. Just a piece of advice not sure how good you are with scripting but if you are serious about this might as well make it workable for updates. Any format would do I was just giving you advice.
Hell pulling the strings into a single file and then having it like
STRING~TRANSLATED
in a flat file would allow you to do a mass-sed on all smali files i.e
for translated in $( cat translation )
do
string=echo $translated|cut -d~ -f1
english=echo $translated|cut -d~ -f2
for file in $( ls /path/to/smali/*.smali )
do
sed -e "s/$string/$english/" $file
done
done
at least that way you can easily keep updated and also allow for other languages to be localized.
samspoon said:
Just a word of advice but you should setup some format for translating... I.e say you have a string that you modify:
(for examples sake)
const-string v8, "\u78c1\u76d8\u5bb9\u91cf\u4fe1\u606f\u83b7\u53d6\u5931\u8d25"
now according to google translate this is close to "Failed to read disk"
so if you formatted the string so the old is there along with the new something like this:
const-string v8, "[[[\u78c1\u76d8\u5bb9\u91cf\u4fe1\u606f\u83b7\u53d6\u5931\u8d25]]][[[Failed to read disk]]]"
You could then make a bash script that will go through and replace the string with the proper translated information... You could then take these strings to search future updates to the app to make translating easier on you. Just a piece of advice not sure how good you are with scripting but if you are serious about this might as well make it workable for updates. Any format would do I was just giving you advice.
Hell pulling the strings into a single file and then having it like
STRING~TRANSLATED
in a flat file would allow you to do a mass-sed on all smali files i.e
for translated in $( cat translation )
do
string=echo $translated|cut -d~ -f1
english=echo $translated|cut -d~ -f2
for file in $( ls /path/to/smali/*.smali )
do
sed -e "s/$string/$english/" $file
done
done
at least that way you can easily keep updated and also allow for other languages to be localized.
Click to expand...
Click to collapse
That pushes the limits of my skills, but I will put the translated versions all together to make future updates easier. I'm only in college I'm not a pro yet
You guys rock! you are all pros! yew cin dew eeeet!!! =) go go go!
here translate this txt file. I used magicks to strip the text from the smali files and removed duplicate lines. Instead of 431 lines to translate I brought it down to 296.
Format your translation like such so I can easily script it:
"THISISTHEUTFSTUFF"~"THISISTHETRANSLATEDSTRING"
For example:
"\u672c\u5730\u78c1\u76d8(C"~"Local Disk (C"
Once this is done I can inject this fairly easily back into the apk.
OH YEAH... One thing: In the strings you might see stuff like \n\n or just one. ANY STRING THAT HAS A BACKSLASH FOLLOWED BY 1 CHARACTER SHOULD BE RETAINED IN THE STRING. THIS IS USED FOR FORMATTING. \n IS A NEW LINE!
For example:
"\u7248\u6743\u6240\u6709 CopyRight 2009-2010\n\n\u5f00\u53d1\u5546\uff1a\u4e0a\u6d77\u5b87\u7a7a\u8f6f\u4ef6\u6709\u9650\u516c\u53f8"~"Copyright 2009-2010 \n\n Developer: Shanghai Aerospace Software Ltd."
I attached a txt file that has already been converted to the actual characters as well for the lazy peeps
Girls voice for the top of the hour...
We need to find a really hot sexy girls voice for the top of the hour sound...
samspoon said:
here translate this txt file. I used magicks to strip the text from the smali files and removed duplicate lines. Instead of 431 lines to translate I brought it down to 296.
Format your translation like such so I can easily script it:
"THISISTHEUTFSTUFF"~"THISISTHETRANSLATEDSTRING"
For example:
"\u672c\u5730\u78c1\u76d8(C"~"Local Disk (C"
Once this is done I can inject this fairly easily back into the apk.
Click to expand...
Click to collapse
Wait explain, what did you do and where did this come from
Stalte said:
Wait explain, what did you do and where did this come from
Click to expand...
Click to collapse
Linux is your friend!
hotrodownloads sampson$ apktool d AndroidWindows7.apk
hotrodownloads sampson$ cd AndroidWindows7/smali/App/Windows7
hotrod:AndroidWindows7 sampson$ for i in $( ls ); do grep -e "const-string" $i | fgrep "\u" | sed -e "s/const-string v[0-9], //" >> ~/Translation;done
hotrod:AndroidWindows7 sampson$ cd ~
hotrod:~ sampson$ sed -i -e "s/ "/"/" Translation
hotrod:~ sampson$ awk '!x[$0]++' Translation > Translation.txt
hotrod:~ sampson$ cat Translation|wc -l
431
hotrod:~ sampson$ cat Translation.txt |wc -l
296
hotrod:~ sampson$ vim Translation.txt
hotrod:~ sampson$
Had to pretty up translation.txt a little bit because it missed 2 const-strings but can't win them all.
Ok I finished the organizing and I'm about to start the translating I would like to see everyone who loves this pitch in a little bit and i mean with the translating.
@samspoon
If I could get you all of the strings and there translations could you do your quick trick to put them back into the apk??
Woops - forgot to search recursively... Missed a *ton* of ****
and yeah... There's some caveats though... the \n thing and if there are "s you need to keep the utf code and not use the " or it breaks the app. Aside from that works gravy... I'll have a rough google translated version up in a bit as well as all the missed strings
580 strings :\
Man, I wish I was as half as smart as you guys. Then I could be of some assistance. Im going to hang a picture up in my house with candles burning on both sides of you guys if you get this working.
Sent from my top secret hand held device. (first of all....hand held)
samspoon said:
Woops - forgot to search recursively... Missed a *ton* of ****
and yeah... There's some caveats though... the \n thing and if there are "s you need to keep the utf code and not use the " or it breaks the app. Aside from that works gravy... I'll have a rough google translated version up in a bit as well as all the missed strings
580 strings :\
Click to expand...
Click to collapse
Are these all the strings for the entire app
Here's a really rough translation... pretty much enough to let you play around with it.
Honestly I don't even know if this is worth translating considering you have to pay them to get full features. Sure, I could patch the software to work without registering but that isn't very legal.
Also looks like I missed a few strings. Tell me if you want to keep going on
samspoon said:
Here's a really rough translation... pretty much enough to let you play around with it.
Honestly I don't even know if this is worth translating considering you have to pay them to get full features. Sure, I could patch the software to work without registering but that isn't very legal.
Also looks like I missed a few strings. Tell me if you want to keep going on
Click to expand...
Click to collapse
Are you serious you have to pay for it??? Damn I'm about to jump ship over that one
Keep going. Has enough features to be useful.
Sent from my top secret hand held device. (first of all....hand held)
noxiouskill said:
Keep going. Has enough features to be useful.
Sent from my top secret hand held device. (first of all....hand held)
Click to expand...
Click to collapse
Ok ok still going but could someone get me a cracked version because i'm about to spend 6 hours on this thing and I would at least like the full version for myself
Edit: 3 down 117 to go
Stalte said:
Ok ok still going but could someone get me a cracked version because i'm about to spend 6 hours on this thing and I would at least like the full version for myself
Edit: 3 down 117 to go
Click to expand...
Click to collapse
To get any crack version lets get the must important things first n thats a English version to let evryone used it n than someone will get there hands on it n it's easier to make any mods or crack versions etc....even though it does have a pay version. These version still got alot of features. N its still useful
Sent from my PC36100 using XDA App
Related
Well, I am currently fooling around with my ADP1 and the one thing that bothers me the most is the fact that the keyboard isnt that well suited for me as Norwegian characters arent easily accessible (I need to hold a in order to get å, etc). I was just wondering if its possible to change what the alt-modifier chars do? (alt+k returns a " for example). I would love to have it as I have on my Touch Pro, where Fn + certain keys give me my norwegian letters
Thanks!
you can write your own key layout map by modifying existing english one.
tell me, if you are interested in and i can guide you
I might be interested in this as well... Depends on how hard it is to do!
Thanks,
Christopher
Here is the thing:
You should take qwerty.kcm file
http://android.git.kernel.org/?p=pl...b_plain;f=emulator/keymaps/qwerty.kcm;hb=HEAD
which is a text file needed to generate key layout.
This file is actually not exact from G1 keyboard, because some meta-symbols are from another key layout.
If you open it, you can find 7 columns like this:
Code:
F 'F' '3' 'f' 'F' '[' '['
The first and the second tells you what key is being considered.
Forth - what symbole would be produced, when you press the key
Fifth - the same, but with _shift_
Sixth - the same, but with _alt_
So what you need to do, is to edit certain column and add symbol you need.
For example both x and alt+x produce the same char 'x', so you can change alt+'x' on whatever you want.
The best way is to enter a Unicode code for you symbols, if they are not covered with ASCII. Based on this:
http://www.fiskeklubben.org/charcters/digitized.html
you should use 00E6 for æ. In this file it should be typed as 0x00E6
When you insert character you need and adjust some other characters, you can send this layout to me and I will generate binary file for layout, which you can use on your G1
Well, it should be easier than it seems to be.
hmm, looking at the qwerty.kcm file, it doesnt all make sense. Take x for example. Fn+x should give x, as you said.. but in the .kcm file, x is displayed like this:
X 'X' '9' 'x' 'X' '8' 0xEF00
Where the the FN-coloumn shows an 8 instead of x. Any idea why?
That is because I don't have layout file for G1.
This file is for some common android device, and fn-keys (or you can call it alt-keys) differs.
So first we need to modify it in order to match with real G1 keyboard.
There is also qwerty2.kcm file
http://android.git.kernel.org/?p=pl..._plain;f=emulator/keymaps/qwerty2.kcm;hb=HEAD
may be it is closer to real G1, but anyway does not match 100%
Ah, will take some time to edit it to match the G1. Il work on it though! What do I do with the binary layout after you're done though?
Thanks for the help
You should backup your G1 layout file and replace with new.
Ive made this one, Not 100% sure its fully correct, but it should do the trick!
I compiled it (though I have to change euro and pound symbols into unicode).
Code:
R 'R' '7' 'r' 'R' 0x00A3 0x20AC
S 'S' '7' 's' 'S' '|' 0x00DF
T 'T' '8' 't' 'T' 0x20AC 0x00A3
I tried it with emulator, seems to work fine.
The idea is: to replace /system/usr/keychars/trout-keypad-v3.kcm.bin with new file.
Here are the details:
I do not write exact instruction, hope you realize how to log into device and copy files.
Now, log to your device. Be sure you have system in rw mode.
otherwise you have to remount:
#mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
navigate to /system/usr/keychars/
#cd /system/usr/keychars/
if you type ls you can see a whole bunch of files, I recommend to backup them all.
if you have busybox installed (if you don't, you'll have to do it manually by dd if= of=)
Code:
#cd /system/usr/keychars/
#mkdir backup
#busybox cp * ./backup/
now you need to replace a file trout-keypad-v3.kcm.bin with attached
Changes should affect newly started applications and it should take some time to affect already running (other words you have to type a lot into them in order they run garbage collector and reload keylayout)
Other thing, if your phone is not US G1 your system may be using other file to read layout (not trout-keypad-v3.kcm.bin ). You can check it if you type getevent:
Code:
# getevent
add device 1: /dev/input/event4
name: "compass"
add device 2: /dev/input/event3
name: "trout-nav"
could not get driver version for /dev/input/mouse1, Not a typewriter
add device 3: /dev/input/event2
name: "trout-keypad-v3"
add device 4: /dev/input/event1
name: "synaptics-rmi-touchscreen"
could not get driver version for /dev/input/mouse0, Not a typewriter
could not get driver version for /dev/input/mice, Not a typewriter
add device 5: /dev/input/event0
name: "h2w headset"
As you can see mine using
Code:
add device 3: /dev/input/event2
name: "trout-keypad-v3"
Finally, if you'll succeed, we can write a fancy guide for other people.
WARN: if you mess up badly with layouts you probably won't be able to start telnetd from G1 keyboard and other stuff like this.
So be sure you can login to your G1 from pc with root access and revert changes. I am using JF 1.3, so I can log in via adb shell with root any time from my pc.
Thanks for the guide! I have a question regarding the qwerty file though. What about the keys on the G1's keyboard that is not in the qwerty file? Such as the @-key?
Untouchab1e said:
Thanks for the guide! I have a question regarding the qwerty file though. What about the keys on the G1's keyboard that is not in the qwerty file? Such as the @-key?
Click to expand...
Click to collapse
I don't know, what would happen if you do not map all keys (probably it will yield an error upon certain key or just give nothing), but @ is present in your layout:
Code:
AT '@' '@' '@' '@' '@' 0x2022
I have a question please.
Usualy double click on the up arrow key change the keyboard layout to full upper case, is there any way to set that the double clicking on it will change the layout to other language and not upper case?
I understood that there is a difficult with changing the layout, maybe that may be a nice solution at least for some of us.
zrubi
I don't think there is a strait forward way to do it by now.
But soon (Feb 2009 I think) T-Mobile will introduce G1 to some European countries other then GB, so Google have to develope some easy way to change layouts by this time.
worry said:
zrubi
I don't think there is a strait forward way to do it by now.
But soon (Feb 2009 I think) T-Mobile will introduce G1 to some European countries other then GB, so Google have to develope some easy way to change layouts by this time.
Click to expand...
Click to collapse
Hi!
worry, first of all, thank you for all your research and work on keyboard layout. I've been following your research here and on russian forums.
I've also investigated this topic a bit and found the following following property described at http://www.kandroid.org/android_pdk/keymaps_keyboard_input.html as the one which would allow to switch the layout dynamically without kcm file substitution, but unfortunately it does NOT work.
setprop android.keychar.trout-keypad-v3 /system/usr/keychars/qwerty_ru.kcm.bin
Do you have any new information on this topic?
Do you happen to know how French and German keyboard layout switch is implemented (if there is any switching at all)?
Thank you!
i wanna change my @ button to a /
This is incredible! One step closer to be able to switch keyboard layouts on G1.
Thank you, guys!
How can I change the characters which's showed when I hold a char on keyboard ? (for an example : hold "A" and see)
And how can I creat a new type rule ? For an example I type double "A" an it become "Â", and if type triple "A" , it will return "AAA" and creat an option to on/off this feature ?
worry said:
...you can send this layout to me and I will generate binary file for layout, which you can use on your G1
Click to expand...
Click to collapse
So how exactly does one generate the binary file? I'm eager to know so I wouldn't need to ask people to do that for me when trying out layouts
Does anyone have the .kcm (not .kcm.bin) file for US G1 or ADP? (I guess it's trout-keypad-v3.kcm) or know where I can find it?
/Mats
Props to zinx for pointing it out, this is just an automated script for the nooblets.
gather up your apk's (mainly the ones in /system/app although maybe some other applications have some as well) and throw them where you'd like
copy paste this:
Code:
#!/bin/bash
echo -n > apks.txt
echo -n > output.txt
for x in `find . -name "*.apk"`
do
unzip -p $x | strings | grep -i "android.provider.Telephony.SECRET_CODE"
if [ $? -eq 0 ]; then
echo $x >> apks.txt
fi
done
for x in `cat apks.txt`
do
mkdir "$x.folder"
mv $x $x.folder
done
for x in `cat apks.txt`
do
unzip -d $x.folder $x.folder/$x
done
for x in `cat apks.txt`
do
bin2xml $x.folder/AndroidManifest.xml > $x.folder/AndroidManifest.decoded.xml
done
for x in `find . -name "AndroidManifest.decoded.xml"`
do
echo "$x:" >> output.txt
cat $x | grep -i host | sed 's/android:host=\"/*#*#/' | sed 's/\" \/>/#*#*/' | sed 's/\t\t\t\t\t//' >> output.txt
done
save as secrets.sh (on your computer)
download this: http://android-random.googlecode.com/files/axml2xml.pl
rename it to bin2xml and make sure it's somewhere in your $PATH
Code:
chmod a+x secrets.sh
./secrets.sh
cat output.txt
you should get output of a bunch of codes you can enter into your dialer.
cyanogen mod 3.6.8.1 output:
Code:
$ cat output.txt
./Phone.apk.folder/AndroidManifest.decoded.xml:
./VoiceDialer.apk.folder/AndroidManifest.decoded.xml:
*#*#8351#*#*
*#*#8350#*#*
./QxdmLog.apk.folder/AndroidManifest.decoded.xml:
*#*#564#*#*
./Ftp.apk.folder/AndroidManifest.decoded.xml:
*#*#9696#*#*
./Talk.apk.folder/AndroidManifest.decoded.xml:
*#*#gtalk#*#*
*#*#8255#*#*
./HtcLog.apk.folder/AndroidManifest.decoded.xml:
*#*#7269#*#*
./Settings.apk.folder/AndroidManifest.decoded.xml:
*#*#4636#*#*
./Contacts.apk.folder/AndroidManifest.decoded.xml:
(of course *#*#gtalk#*#* wouldn't work, but all the ones with numbers do, again it's a primitive script for ease of use)
enjoy
EDIT:
oh yea.. for clarification:
Code:
*#*#8255#*#* -> Google Talk Service Monitor (Talk.apk)
*#*#4636#*#* -> Testing / Debug info (Settings.apk)
*#*#9696#*#* -> FTP Testing / App (Ftp.apk)
*#*#8351#*#* -> *#*#VDL1#*#* Voice Dialer Logging Enabled (VoiceDialer.apk)
*#*#8350#*#* -> *#*#VDL0#*#* Voice Dialer Logging Disabled (VoiceDialer.apk)
*#*#7269#*#* -> Standard device logging (Device [logcat?], AT commands, Kernel [dmesg?], and optional log to flash memory) (HtcLog.apk)
*#*#564#*#* -> QXDM Logging Front end (QxdmLog.apk)
Excuse the ignorance - but what are these used for/good for?
wondering myself
im also wondering what it is good for to. O mystical haykuro care to explain a little more.....
im guessing you setup what he said, and u put in whatever code you inserted for the w.e app you want to run? lol
It makes sense, it hides apps, and makes them only open if you dial that string of numbers and symbols
edit: After actually reading the code, it seems to just enable some special debugging type logs, not just any app.
clintz said:
It makes sense, it hides apps, and makes them only open if you dial that string of numbers and symbols
Click to expand...
Click to collapse
somewhat.. Talk.apk (google talk) for example, isn't hidden, just has a hidden class that users can't access unless you type in it's corresponding code.
very interesting...
clintz said:
It makes sense, it hides apps, and makes them only open if you dial that string of numbers and symbols
edit: After actually reading the code, it seems to just enable some special debugging type logs, not just any app.
Click to expand...
Click to collapse
Awesometown.
Thanks for this - now it makes me feel like a spy.
Too much work/too lazy..
The 4636 one is the one i use to lock the phone into 3g only mode = )
wow
very interesting must try it now
soba5150 said:
The 4636 one is the one i use to lock the phone into 3g only mode = )
Click to expand...
Click to collapse
This is so cool I just did that
Yes, many phones have a "secret code" interface for accessing hidden operations. Does this mean Android apps could register their own secret codes?
pretty much useless but cool
known unknowns are never useless. thanks haykuro
Ummm...in all fairness this isn't a dev topic. Plenty of other threads that were closer to developmental topics got trashed.
People as good as Haykuro should lead by example, not encourage posting in incorrect forums.
pinetreehater said:
Ummm...in all fairness this isn't a dev topic. Plenty of other threads that were closer to developmental topics got trashed.
People as good as Haykuro should lead by example, not encourage posting in incorrect forums.
Click to expand...
Click to collapse
to each his own.. you do have the right to be wrong... perfectly fair... these codes might help in debugging later? isn't debugging part of developing?
pinetreehater said:
Ummm...in all fairness this isn't a dev topic. Plenty of other threads that were closer to developmental topics got trashed.
People as good as Haykuro should lead by example, not encourage posting in incorrect forums.
Click to expand...
Click to collapse
Oh here we go again
xREVOx said:
to each his own.. you do have the right to be wrong... perfectly fair... these codes might help in debugging later? isn't debugging part of developing?
Click to expand...
Click to collapse
I believe it is sir!
pinetreehater said:
Ummm...in all fairness this isn't a dev topic. Plenty of other threads that were closer to developmental topics got trashed.
People as good as Haykuro should lead by example, not encourage posting in incorrect forums.
Click to expand...
Click to collapse
Why do some people feel the need to play Thread Police.
Thanks for this Haykuro!
Hi, I'm using ICS stock keyboard cause I find it the most accurate and fast keyboard so far (in my opinion of course).
It has a bit clumsy way to change language but it's ok.
My main problem is it doesn't have Hebrew dictionary in it, and the only way I found to add words is 1 by 1.
Does anyone know of a way to import dictionary or mass add or something ?
My NS is open and rooted, so there's no problem with that.
P.S: I would be glad if you won't suggest me other keyboards and try to help me with this one, thanks
best i could find http://forum.xda-developers.com/showthread.php?t=1369148
sean1984 said:
best i could find http://forum.xda-developers.com/showthread.php?t=1369148
Click to expand...
Click to collapse
Thanks for your time, but it didn't help me much :\
I prefer to stay with the stock keyboard and not to download a modified one.
I downloaded the "ICS keyboard user dictionary" from the market:
https://market.android.com/details?...kLmxhdGluLnByb3ZpZGVycy51c2VyZGljdGlvbmFyeSJd
and when I press at the keyboard settings on personal dictionary it gives me a choice to choose it, but when I choose it, it's the same as the stock personal dictionary, also add words 1 by 1.
Any other suggestions ? It's funny cause technically it doesn't sounds too complex to just import words to the dictionary, is there any system file I can do it with ?
maybe this? http://forum.xda-developers.com/showthread.php?t=647009
I'm sorry but I don't understand, where exactly do I find the stock keyboard udm\udb file, and if I do find it, how can I edit it and add bunch of words at once ?
Bump. Is there any way to add dictionary to stock keyboard. Maybe a dictionary from swiftkeyx? (Finnish dictionary)
I'd be willing to attempt to tackle this, since I do this in my personal build with the English dictionary file, but I do not know where to locate the proper file for the languages requested. I downloaded the SwiftKey X files for Suomi (to see if this is possible), but it appears that SKX uses a different format. I don't know how feasible that route will be...
Google downloads its dictionary files onto the phone from http://www.gstatic.com/android/keyboard/dictionarypack/XX_general.dict (where XX is the corresponding two letter country/language code, e.g. en_general.dict for English), but I either: don't know the proper country/language code or it simply isn't offered. Hopefully somebody more familiar with this process can chime in.
would also really appreciate if this is possible!
Sorry delete this.
Bumping this up because I need this too and it's so frustrating how nothing comes up when I try to search for it and I always end up unto this thread. So I finally decided to post. :/
I tried to build a swiss-german dialect dictionary for the ICS-Keyboard. There is somewhere a guide about th is from CyanogenMod.
The workflow is like that:
1) Get a so called "text corpus" which means: a lot of text from your language from different sources like books, literature, letters, wikipedia, news. For many languages there are already huge text-corpuses. But you can build your own corpus.
2) Then you need to sort this huge text into one file, i use notepad2 or notepad++ to "search & replace" every space with a newline character, then sort this list alphabetically, then count all word occurencies.
3) Then I use excel to come up with a list with the most used words on top, and with lower frequencies top-down, which looks like that:
Code:
word - frequency
the - 218192
a - 202912
in - 190231
not - 182931
and so on.
4) Then you must built an XML from that list with the following structure:
Code:
<wordlist>
<w f="255">ja</w>
<w f="254">nid</w>
<w f="253">isch</w>
<w f="252">und</w>
<w f="251">so</w>
<w f="250">du</w>
<w f="249">das</w>
...
<w f="1">zwüüsch</w>
<w f="1">zykle</w>
<w f="1">zytte</w>
<w f="1">zyttli</w>
</wordlist>
Notice that the frequency max. is 255 and the min. is 1, so you have to come up with some math to get from your absolute frequencies in the excel-file to the relative frequencies in the XML file. On some how-to guides there are python scripts and stuff like this to automate this, but I preffer excel to do that.
5) So after you finally built your XML you just need the makedict.jar from google to compile a binary file with the extension .dict, which can then be added to the keyboard apk.
Those ar basically the steps, search for some how-to guides to find more accurately explaned steps.
underlines said:
I tried to build a swiss-german dialect dictionary for the ICS-Keyboard. There is somewhere a guide about th is from CyanogenMod.
The workflow is like that:
1) Get a so called "text corpus" which means: a lot of text from your language from different sources like books, literature, letters, wikipedia, news. For many languages there are already huge text-corpuses. But you can build your own corpus.
2) Then you need to sort this huge text into one file, i use notepad2 or notepad++ to "search & replace" every space with a newline character, then sort this list alphabetically, then count all word occurencies.
3) Then I use excel to come up with a list with the most used words on top, and with lower frequencies top-down, which looks like that:
Code:
word - frequency
the - 218192
a - 202912
in - 190231
not - 182931
and so on.
4) Then you must built an XML from that list with the following structure:
Code:
<wordlist>
<w f="255">ja</w>
<w f="254">nid</w>
<w f="253">isch</w>
<w f="252">und</w>
<w f="251">so</w>
<w f="250">du</w>
<w f="249">das</w>
...
<w f="1">zwüüsch</w>
<w f="1">zykle</w>
<w f="1">zytte</w>
<w f="1">zyttli</w>
</wordlist>
Notice that the frequency max. is 255 and the min. is 1, so you have to come up with some math to get from your absolute frequencies in the excel-file to the relative frequencies in the XML file. On some how-to guides there are python scripts and stuff like this to automate this, but I preffer excel to do that.
5) So after you finally built your XML you just need the makedict.jar from google to compile a binary file with the extension .dict, which can then be added to the keyboard apk.
Those ar basically the steps, search for some how-to guides to find more accurately explaned steps.
Click to expand...
Click to collapse
Wow, where ever did you find this? I tried searching for something like this but have had no luck so I opted to post to this thread instead. Will try this as soon as I have free time.
Sent from my Nokia 2700c using Tapatalk 2.
Any progress on this one?
Now with swipe built into the fast 4.2 stock keyboard I'd really like to add Hebrew dictionary.
Sent from my Galaxy Nexus
hey guys yesterday i found this cool launcher ...
i downloaded it and it works on i9100 miui v4, but the only problem is that i cant understand anything in it
plz guys I need someone can translate this launcher
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
YOU CAN DOWNLOAD IT FROM HERE
Edit: Thankfully SifJar is working now on the translation.
The majority of it is now translated (to a degree). Only weather (and cities) are Chinese + the choices are limited to chinese cities
Download Latest Translated version HERE
Looks like a kinda nice launcher. I took a look to try and see how much work it would be to do a translation: I used grep to search in res\layout for "text" (which will generally be followed by something needing translated), and there is quite a bit needing translated by the looks of things.
EDIT: About 128 phrases.
EDIT: There is also array.xml and strings.xml in res\values. I've done both of them, there wasn't much there:
array.xml: https://www.dropbox.com/s/yl6hru5wap17ld5/arrays.xml
strings.xml: https://www.dropbox.com/s/24n0t6pdc4in9gd/strings.xml
rough list of stuff needing translated in res\layout: https://www.dropbox.com/s/td30sfgk3waijiw/grep.txt
There are also a few images in res\drawable that contain Chinese characters
EDIT: If I have time at some stage, I may try to translate some more of it. Don't have time right now, but it does seem like a nice launcher.
thx man ! ...
however, to noobs like me, what does all this mean ?
if you can recompile the apk and reupload a translated/semi-translated version it would be really cool
I tried to recompile it, but I must have done it wrong because it won't install...
EDIT: Think I need to sign it, I'll figure that bit out tomorrow. Never done this sort of thing before, so I didn't realise I had to do that.
EDIT: OK, here is a very early version: {link gone, see first post for current link}
The only noticeable difference is the title of the app now shows as "Nine Latitude 3D" which seems to be the right name I think. There are a few other bits and pieces translated (e.g. some weather stuff), but I can't find where they are displayed.
I will try and do some work on this tomorrow if I find time and present a progress update within 24 hours.
EDIT: Note that translation will be done using Google Translate, as I don't speak Chinese. I'll make educated guesses based on the results as to what each string should read, but some may be inaccurate.
Very nice man... Thx for your time
Sent from my GT-I9100 using Tapatalk 2
Randomly came across this and find this launcher very interesting! Would definitely love for this to be translated into English! May even have a little gift for that person! :beer:
Sent from my SGH-I777 using xda premium
SifJar said:
I tried to recompile it, but I must have done it wrong because it won't install...
EDIT: Think I need to sign it, I'll figure that bit out tomorrow. Never done this sort of thing before, so I didn't realise I had to do that.
EDIT: OK, here is a very early version: https://www.dropbox.com/s/7rwqqe10kymggtz/nine_latitude_3d.apk
The only noticeable difference is the title of the app now shows as "Nine Latitude 3D" which seems to be the right name I think. There are a few other bits and pieces translated (e.g. some weather stuff), but I can't find where they are displayed.
I will try and do some work on this tomorrow if I find time and present a progress update within 24 hours.
EDIT: Note that translation will be done using Google Translate, as I don't speak Chinese. I'll make educated guesses based on the results as to what each string should read, but some may be inaccurate.
Click to expand...
Click to collapse
Thanks for the translation.
Can you please put the english xmls on values folder and the original(chinesse) on values-cn(or whatever code used for chinesse), because if the device is setting to another language than english, the chinesse xmls used.
nice find
keep us update PLS
Need translation .
Sent from my HTC Wildfire S A510e
dancer_69 said:
Thanks for the translation.
Can you please put the english xmls on values folder and the original(chinesse) on values-cn(or whatever code used for chinesse), because if the device is setting to another language than english, the chinesse xmls used.
Click to expand...
Click to collapse
OK, will do that from now on. Will hopefully have a bit more translated today, and so will do as you suggested with the next release. This is my first time translating, so I wasn't completely sure exactly what way it should be done. Thanks for the advice.
EDIT: Translated about 30 more strings or thereabouts, should probably get this "finished" today (I say "finished" because it won't be a great translation, and will probably take a bit of trial and error still to come up with more accurate translations)
EDIT: There are a few more strings that I initially thought, but I should still be able to do this today I reckon.
Finished translating everything in \res I can find. But it seems most stuff must be in smali or something I guess (anyone a bit experienced know if this could be right?). There is still a fair bit in Chinese here.
Anyway, here's the current link: {link removed, see first post for current link}
I'll try and look into smali, but there are a LOT of .smali files in this, and I don't even know where to start. But I will have a look and see if I can figure out a bit more. From all the smali files I have looked at so far, there is no Chinese in any of them. So I don't really know where all the rest of the Chinese is.
EDIT: I don't know very much about smali files, but I have found that lines like this one are Chinese:
Code:
const-string v1, "\u6b63\u5728\u4e0b\u8f7d,\u8bf7\u7a0d\u540e..."
I have managed to work out how to convert this to Chinese (and then I can translate to English), but it is a very laborious process requiring to convert each character individually, certainly with the tools I have found so far.
EDIT: Unless I can find a better way to do this, I'll post instructions for what I've worked out so far and give up personally. I don't really have time to spend translating like this.
thanks a lot for your work and time
Little bit translation. OK thanks . I have few problems like galary , music Widgets not working.
Sent from my HTC Wildfire S A510e
idhbar said:
Little bit translation. OK thanks . I have few problems like galary , music Widgets not working.
Sent from my HTC Wildfire S A510e
Click to expand...
Click to collapse
Those problems aren't anything to do with me. They don't work without the translation either (for me, at least).
In case people miss my above post, I have figured out how to translate more, but it is a very long drawn out process, which isn't worth the hassle for me at least, so unless I find a much better way to do this, I will probably give up soon. But I will post directions for said long drawn out process in case anyone else wants to continue where I leave off.
@sifjar I know the widget prob associated with launcher , no relation with translation. Thanks again for your great effort . Anyone facing the widget problem ?
Sent from my HTC Wildfire S A510e
OK, so I'm done with translating this I am afraid. The translation of the .smali files is just far too long and laborious a process, especially when I don't really want the launcher that badly. I was doing this more as an experience building exercise, sort to "see if I could", and I now know that I could but it would be a lot of effort. Anyway, as promised, here is a tutorial for translating the .smali files, and hence the rest of the launcher.
EDIT: This method is slightly more difficult and laborious than necessary. See my post on the next page for a simpler method which encompasses steps 9+10.
Requirements
Android SDK installed
apktool - https://code.google.com/p/android-apktool/
grep - http://gnuwin32.sourceforge.net/packages/grep.htm
Decent text editor e.g. Notepad++
A few sites linked below
The latest copy of my partial translation (see above)
Guide
1. Setup apktool and grep properly so you can run them from the command line anywhere you want.
2. Open a command line where you have the APK of the launcher.
3. Run this command:
Code:
apktool d nine_latitude_3d.apk
4. Navigate into the nine_latitude_3d.apk folder created
5. Navigate into the smali folder inside that one
6. Open a command prompt and use the following command:
Code:
grep string *.smali > results.txt
7. Open results.txt in Notepad++. This file will show you which .smali files contain strings, and what those strings are. You're interested in ones which look like this:
Code:
const-string v1, "\u6b63\u5728\u4e0b\u8f7d,\u8bf7\u7a0d\u540e..."
8. Open the .smali file containing the first string you found, then use Ctrl+F to find that first string
9. Now you need to convert that string into Chinese. Each Chinese character is represented by a hexadecimal number, seperated by \u. So in the above example, the first character is the hexadecimal number 0x6b63 [0x just indicates this is a hex number, you can ignore this, I just put it there to be more "correct"]. To convert to Chinese, you need the number in decimal. You can convert between hex and decimal here: http://www.statman.info/conversions/hexadecimal.html - copy the hex number into the box and click "to decimal". In this example, it is 27491.
10. You can convert from decimal to Chinese character here: http://www.chinese-tools.com/tools/converter-unichar.html - you need to put &# before each decimal number and ; after each. You can convert more than one at a time. So for my above example string, I would convert each number to decimal and end up with this:
Code:
&# 27491;&# 22312;&# 19979;&# 36733,&# 35831;&# 31245;&# 21518
but without the spaces (if I don't put the spaces, the forum automatically converts them to Chinese
(note that when there is a comma between characters, a semi-colon is not necessary)
11. This will give you a Chinese string such as the following:
Code:
正在下载,请稍后
Translate this with Google Translate or whatever to get something like this:
Code:
Downloading, please wait
12. Back in your .smali file replace the string, so the end result would be something like this:
Code:
const-string v1, "Downloading, please wait..."
13. Repeat steps 8-12 for every string found in the first .smali file
14. Repeat steps 8-13 for every .smali file where a string was found
15. Navigate into the first sub folder of the smali folder ("a") and repeat steps 6-14, translating every string
16. Do the same for all the other sub folders of the smali folder
17. Once you have translated every string in every smali file, navigate back out of the smali folder and then back out of the nine_latitude_3d folder
18. Open a command window and type the following:
Code:
apktool b nine_latitude_3d nine_latitude_eng.apk
19. Sign nine_latitude_eng.apk
20. Test the APK and hope it works
Like I said, it is very laborious. Considering there are probably at least a few hundred strings, and each takes maybe a minute or two (compared to the strings in the XMLs in \res\layout, which took a few seconds each), it would take many hours to complete the translation.
SifJar said:
Finished translating everything in \res I can find. But it seems most stuff must be in smali or something I guess (anyone a bit experienced know if this could be right?). There is still a fair bit in Chinese here.
Anyway, here's the current link: https://www.dropbox.com/s/ozhy41i4tpd0occ/nine_latitude_eng.apk
I'll try and look into smali, but there are a LOT of .smali files in this, and I don't even know where to start. But I will have a look and see if I can figure out a bit more. From all the smali files I have looked at so far, there is no Chinese in any of them. So I don't really know where all the rest of the Chinese is.
EDIT: I don't know very much about smali files, but I have found that lines like this one are Chinese:
Code:
const-string v1, "\u6b63\u5728\u4e0b\u8f7d,\u8bf7\u7a0d\u540e..."
I have managed to work out how to convert this to Chinese (and then I can translate to English), but it is a very laborious process requiring to convert each character individually, certainly with the tools I have found so far.
EDIT: Unless I can find a better way to do this, I'll post instructions for what I've worked out so far and give up personally. I don't really have time to spend translating like this.
Click to expand...
Click to collapse
I can help you.......!! I have a good knowledge in xmls and somewhat in smali......i can join you in translating....maybe i'll join you by monday!!! I am not a chineese too.....we can try n bring out fantastic launcher!!
What do you think??
balamu96m said:
I can help you.......!! I have a good knowledge in xmls and somewhat in smali......i can join you in translating....maybe i'll join you by monday!!! I am not a chineese too.....we can try n bring out fantastic launcher!!
What do you think??
Click to expand...
Click to collapse
I decided to run a little test. I set grep to search for \u, which appears in every string needing translated. I made it search in all the sub folders of smali. The resultant results.txt was 302 lines long. i.e. there are about 302 strings needing translated. This is far too huge a task for me to take on. If you want to do it, go ahead, but I'm afraid I simply don't have time.
EDIT: I might try and make a script to automate the process, somewhat at least.
SifJar said:
I decided to run a little test. I set grep to search for \u, which appears in every string needing translated. I made it search in all the sub folders of smali. The resultant results.txt was 302 lines long. i.e. there are about 302 strings needing translated. This is far too huge a task for me to take on. If you want to do it, go ahead, but I'm afraid I simply don't have time.
EDIT: I might try and make a script to automate the process, somewhat at least.
Click to expand...
Click to collapse
Finding out the no. of strings to be translated is a great step!!
Translating is using google translate only na??
Why not share work??
I'll try to translate at least 15 strings a day...u too try the same....at the end of 10 days we would have completed translating!!
If you can make a script, it will be great!!
Also, in the launcher, how to go to the app drawer?? I can see only running apps??
balamu96m said:
Finding out the no. of strings to be translated is a great step!!
Translating is using google translate only na??
Why not share work??
I'll try to translate at least 15 strings a day...u too try the same....at the end of 10 days we would have completed translating!!
If you can make a script, it will be great!!
Also, in the launcher, how to go to the app drawer?? I can see only running apps??
Click to expand...
Click to collapse
You switch between screens by swiping at the bottom. One of them will show apps. You can change the apps displayed by tapping the circle thing at the right side and choosing one of the other options (it has options for user apps, system apps and I think favourite apps). The apps are displayed on multiple pages within the apps screen, swiping across where the app icons are shown should reveal the rest of your apps. Although I don't think it displays all of my apps, but I haven't checked too thoroughly.
As for translating, I certainly won't be doing anything until I have made a script at the very least (I reckon I should hopefully be able to create a script that will replace all the \uXXXX in the strings with the the corresponding Chinese characters, so that it will just be a copy & paste to Google Translate and back, the way it was with the strings in the XMLs). If I can't get a script like that to work, I probably won't be working on this anymore, sorry.
EDIT: If I do get a script like that to work, it'll take much less time. I did about 120 strings or something like that in about half an hour earlier I think.
Interacting with the Clipboard from the shell can be difficult.
It used to be easier and you could use service call clipboard ...
Nowadays Clipboard only takes ClipData.
Ok, you could still do it using the service executable but you'd have a long list of opaque numbers.
I wrote a regular executable (not using any Java itself) to fill the Clipboard with your text.
It works for UTF-8, although I haven't gotten it to work pretty-like on Windows.
(I got the CHCP 65001, but I don't have a font for the console.)
Code:
# /data/local/tmp/copyclip 'I want to go to 中关村科贸电子城.'
This is an ELF64, you have to be rooted, it's a beta and everything is subject to change.
It works on A10. Later Android might need some fixes for attribution tags.
You should rename it to plain "copyclip".
Just park it somewhere (/data/local/tmp is fine) and chmod 755 it.
I've made a few tiny tweaks.
You can do the paste automatically, but there's a rub.
The input keyevent is pretty stupid because it rolls out a whole zygote just to inject a key.
Still, if you don't expect performance you can always:
Code:
# ./copyclip 'The short tedious text' && input keyevent 279
Normally, I do either a USB HID device or a key injector daemon if I want performance.
As noted previously, copyclip itself doesn't roll out a zygote, so it's quick.
Edit: Update again March 7th.
Yet another fine tuning.
I'm thinking about -e processing like echo has.
copyclip can be found in my sig.
Hmm, that's interesting. There were big changes in ClipData from A10 to A11.
This wouldn't work if you are on A11.
There's a two new versions out that works for at least A9, A10 & A11, either 32 bit or 64 bit.
If you're not rooted you'll probably get:
Code:
Error: Package android does not belong to 2000
You'll find it in the sig.
I'd appreciate any feedback on success/failure.
It seems like this would be really useful for entering snippets of Unicode text selected from the desktop.
input text can't handle Unicode.
One of the reasons that I'm having fun with this is the efficiency of not using app_process/Zygote/Java.
Code:
Poke3:/ # time input text Hello
0m00.51s real 0m00.28s user 0m00.20s system
Poke3:/ # time /data/local/tmp/copyclip Hello
0m00.04s real 0m00.01s user 0m00.02s system
Yow! I love talking to myself! I'm 7 posts in and no interruptions from somebody who wants to know something.
I just posted (Win32) adbclip.exe, an amazing accessory that works in concert with (Android) copyclip.
If you're on your desktop you can go to some nice Korean (or Japanese or Arabic or English) website, select some text and then paste it to the Android clipboard!
Amazing, eh?
All the details are in my sig, or more directly: http://www.temblast.com/copyclip.htm.
The Android utility copyclip has been updated:
You can style the text bold with -b and/or italic with -i
You can pipe other shell commands to it: date | /data/local/tmp/copyclip