[Q] How to edit *.kdb files,used by EzInput? - Windows Mobile Development and Hacking General

I have been doing a Bulgarian layout for the HD2 default keyboard, and the result will be posted soon ( A very early version can be found in the HD2 forum) After some reading, I found (or suspect) that the input of the keyboard in Phone and compact mode is controlled by KDB files. So is the full qwerty keyboard in xt9 mode. My work is based on editing the russian layout files, and while editing the xml files is not a problem, the kdb is a different story.
Can these kdb files be opened and edited in a readable mode? Doing this might help others to create layouts for their languages not present at the moment.
Thank you.

To me, KDB files are encrypted databases of Keypass (http://keepass.info/)
http://filext.com/file-extension/KDB

1)Well, any good way to decrypt them?
2) While searching, I found at least 4 other types of files, ending with .kdb. On some sites there was info about HEX ID. Does anyone know how to get the HEX id of a file?( Just to be sure this is keepass file)

KDB files can be decrypted... as soon as you've got Keypass AND the key !
This is one of the most encrypted software in the mobile's world...
Don't even think about decrypting your file without these !

Related

Way to make your Language OS for Universla

the way to OS Localize your Universal
*****the files and tools you need*******
*imgfs_tool by mamaich
*boot_hv_tool by mamaich
http://forum.xda-developers.com/viewtopic.php?t=34171&start=0
*HTC-64 Encodetool by bal666
http://forum.xda-developers.com/viewtopic.php?p=191164#191164
*hex editor (i used Heiw32 accroding to suggestion of Mamaich)
*NotePad in Windows
*Other high performanced Editor(if you have)
*Resource Hacker or PE Editor + Resource Tunner to edit mui
*Signcode.exe and sign with certificate
-----sorry can not write all in here,,, pls go to link---
http://www.asukal.jp/WM5_MUI/the way to OS Localize your Universal.mht
***********additional information 2006-May-15**********
regarding to initflashfiiles.dat and initboji.dat
i tired to write initflashfiles.dat in Japanese chalachtor, but not in CODE,
seems to work.
*write initflashfiles.dat in Japanese to specify Japanese Localized shell folders and Japanese re-named Short cuts. then add into rom.
also deleate both of 2 old dat files from rom.
then flash it back to my Uni, the localized shell folders were created!
this can save a lot of time to create the Localized ROM :shock:
But,,, still testing that ROM can work correctry.......or not.
<some appurication buttons can not assained if without initboji.dat>
*************2006-May 22 aditional********************
@ to edit the dll or exe from AKU2 rom, they have some difference.
Strings can be edited only with Platform Builder now.
pls reffer to this thread
http://forum.xda-developers.com/viewtopic.php?t=49423&highlight=
Can I have your instructions?
Hi Asukal(sama):
I'm trying to localize my Universal to my local language.
I'm stuck now before boot set-up process after hard reset.
So, I would like to ask you several questions.
Could you show me your instructions / suggestions?
1) Certification Store (way 2-1)
You said I have to take out CertificationStore from registry file.
I could not find any key of "CertificationStore", so I compared my registry before and after SDK_Cert installation.
I found there are some differences in registry file, which are:
HKEY_LOCAL_MACHINE\Comm\Security\SystemCertificates\SPC\Certificates\XXXXX] –- 3 keys
HKEY_LOCAL_MACHINE\Comm\Security\SystemCertificates\Privileged Execution Trust Authorities\Certificates\XXXXX] – 3 keys
[HKEY_LOCAL_MACHINE\Comm\Security\SystemCertificates\Unprivileged Execution Trust Authorities\Certificates\XXXXX] – 2 keys
I removed "\" that locates on each line of hex data and write these keys on default.hv file.
However, the start-up process just after hard reset didn't start...
I also found some other differences on registry files, which seems certification file update time.
Do I have to put update time keys on default.hv file?
Or am I still missing something?
2) MUI (way 2-2)
I could sign *.mui files with SDK_Cert.
You said PE header must be corrected if I cannot sign *.mui.
In other words, you mean I don't have to correct PE headers because I can sign my *.mui?
As far as I checked my *.mui files, it seems OK.
3) iniboj.dat (way 3)
I could dump iniboj.dat and initflashfiles.dat and translated them to my language.
Of course I saved in Unicode (UTF-16) and removed the first 2 byte "ff fe".
When I run "delfile.exe", I noticed "delfile.exe" showed the error message that "delfile.exe" could not find iniboj.dat.
But I could add iniboj.dat with "addfile.exe".
Is this a normal message from "delfile.exe"? FYI, my base ROM is Qtek's AKU2; 1.30.77.
4) *.hv files (way 4)
I think the following is the keys that I must change.
[HKEY_LOCAL_MACHINE\System\Explorer\Shell Folders]
"StartUp"="\\Windows\\StartUp"
"Recent"="\\Windows\\Recent"
"Programs"="\\Windows\\Programs"
"Favorites"="\\Windows\\Favorites"
"Desktop"="\\Windows\\Desktop"
Even I changed these keys, I cannot start my start-up process...
Are these keys enough to start start-up process?
I appreciate any suggestions / supports / instructions!!
Thank you.
hi! Camrade!
Re Qeuestions
1;certificate sotre. 3 entries are correct.
@But i am not sure what you removed???
i did not remove any thing and copy it to HV.
@yes update time must be in HV also.
like follows.
without this. no work as sertificate authentification.
[HKEY_LOCAL_MACHINE\Comm\Security\SystemCertificates\Privileged Execution Trust Authorities]
"UpdateTime"=hex:\
00,e0,46,50,1c,96,c5,01
2;if your mui can be signed, they should be workable.
but i am afraid your mui of core-dll Strings Table were broken.
PLS reffer this thread about that!
http://forum.xda-developers.com/viewtopic.php?t=49423&highlight=
if you are not sure, pls send me one of them to check it.
3:re-iniboj.dat, as you told me the eror message of delfile.exe will notice you, because i doesnt exisit in rom files. it was in XIP area.
But dont mind that. procceed it!
4;Shell folders; that is enough in hv, to just specify the loaction of Shell folder.<this also discribed in shellres.dll.
But no start up menu if there were localized Shell folders by failed initialized 2 dat files.
@the os can boot even the shellres.dll.xxxx.mui is not worked,
just missing Programs in StarMenu.
Now i am afraid your shellres____mui is read by OS, but it was incorrect.
@to change the Dr.Johnson screen to Japanes one, replace "stylus2.192.gif" and "stylus1.192.gif" with ones from JP os.
But the fisrt sentence before Stylus work for Dr.Johnson is from Shellres.mui, so your are failed in to read shellres_mui if it was still english.
Good luck!
Almost completed
Thank you, Asukal!
With your responses and instructions, I can finally boot my Universal with my language from boot screen!
I’ll make init*.dat file and try to make more localized ROM.
It seems a little difficult (complicated) to make initflashfiles.dat file translating to Unicode character code. But I’ll try!
Again, Thank you very much!!
shugoh
pls try to write iniflshfile.dat in Katakana, instead of Code,
i did try this some part of them just now.
Seems to be worked. But not sure .........didnt test all of in this dat,
just a part of it.
if the Katakana written dat was workable, it will be so easy to create
the Shell folders in Japanese................ :lol:
Hi Asukal,
I also want to join but I don't have the hex editor....the process is so complicated and the "key" is we have you on this website that do cook the ROM for us. Thanks a lot again.
If you have invented some easy installation files that want me to try, please let me know. I tried to edit the latest O2 ROM but unsuccessful....
Cheers,
chris_khho said:
Hi Asukal,
I also want to join but I don't have the hex editor....the process is so complicated and the "key" is we have you on this website that do cook the ROM for us. Thanks a lot again.
If you have invented some easy installation files that want me to try, please let me know. I tried to edit the latest O2 ROM but unsuccessful....
Cheers,
Click to expand...
Click to collapse
free hex editors can be downloaded.
many kinds of hex editors were in web.
Anyway, if i need something need test, i will call u! :lol:
Hi, Asukal:
This my be very stupid question...
I could translate html portion of shellres.dll with your instruction.
However, I still cannot do of tapres.sll and tshres.dll.......
Maybe this is because the type of resouce is different from shellres's.
So I tried to move html of tapres and tshres to another resources using PB because the other tools I have doesn't work...
When I wanted to save modified resource on PB, PB said I could not save the new resource because PB could not load resources from executable file...
I know this question is the basic one if I want to use PB.
But if you can show (a) hint(s) to me, I would appreciate your support very much.
Thank you!
shugoh
i guess PB can only save the files as "*****.exe" or "******.dll",
but not as a "******.dll.xxxxx.mui"
so you must save it as "anyname_you_want.dll" with out xxxx.mui to other folder.
then go to next step, because files edited with PB can not to be signed.
To enable to be signed, go following steps.
1;Open "any dll" or exe which havs correct PE header with Restorator.
2;Dlelete all of resources from this dll or exe.<make empty dll>
3:On another window of Resotrator ,
Open "anyname_you_want.dll" edited and save by PB
4rag and drop all resources exept "255" resource from
"anyname_you_want.dll" to "empty.dll"
5;save this empty.dll filled with resources of "anyname_you_want.dll",
as the name of your tagert xxxx.mui
6:Close all windows of resotrator.
7;try to sign on that mui, you may able to sign on that!
Good luck
Thank you for your instruction about PB and html.
however, I still cannot save modified file even though I put file name with *.exe or *.dll.
As my test, I opened x86 file and modified its file and I can save the modified. But still cannot tapres and tshres.......
I also tried some WM5 files, but not succeeded in saving it...orz
I installed all PB functions but for MIPS or SH4, which should not necessary for WM5.
The attaced is the error massage appreared when I wanted to save modifed WM file. (I installed Japanese PB, so error message is in Japanese)
"ta.dll" is only a temporary name for modified tapres.
I appresitate your any comments.
Thank you.
shugoh
I did it!!
Asukal:
I finally can make localized tapres and tsh with your recommended tools!!
Please see my blog at your convenience!
I'll try to localize folders with init*.dat files!!
Thank you very much!!
(If I have difficulties on making init*.dat files, I may ask you suggestions after I make every effort I can make,)
Thanks again
shugoh
Hi, Asukal
I can localize init*.dat file according to your post on May-15.
As you said, it seems OK that we can describe folder names on both *.dat file, not Unicode Code #.
So far I have no trouble with these *.dat files.
Thank you.
shugoh
Glad to here that!
You have done! you r a MAN!
Keep on going Dark Side!
Hello, Asukal
I'm back...
I have had a strange problem. As a matter of fact, I haven't solved this problem even though I could make Universal ROM in my language.
When I make my Universal hard & soft reset, I always see 2 white bold lines above and below "Windows Mobile" on 2nd splash screen.
I found these lines don't appear when I change mui regional setting. I mean no white lines on 2nd splash when I change:
1) shellres.dll.0411.mui to shellres.dll.0409.mui
2) shellresapps.dll.0411.mui to shellresapps.dll.0409.mui
(I'm trying to change English ROM to Japanese.)
0411 and 0409 have exactly same contents; I just change their name and place them on "windows" folder.
3) Change mui setting both of the following from 411 to 409.
[HKEY_LOCAL_MACHINE\MUI]
"SysLang"=dword:00000411
[HKEY_CURRENT_USER\MUI]
"CurLang"=dword:411
With these changes, I can boot my Universal without white lines and Uni seems working well. (Of course, all letters except for the ones in these 2 mui are in English. But I suppose I can see Japanese if I change all 0411.mui to 0409.mui. (Haven't tested)
I also noticed I didn't change the region code in init*.dat. (i.e. LOC_0409_DIRWINDOWSHELP, not LOC_0411_DIRWINDOWSHELP)
So I changed init*.dat files and made new ROM with 0411.mui (incl. shellres & shellresapps).
However, there were still 2 white bold lines on 2nd splash...
I haven't added:
[HKEY_LOCAL_MACHINE\Security\ColdInit]
"Locale"=dword:00000411
"ColdInit2Done"=dword:00000001
"ColdInit1Done"=dword:00000001
Because my Uni has always stuck before the initial setup (screen alignment and Dr. Johnson etc.).
This time, I added these keys per your instruction, but I'm stuck again...
Do I have to add [HKEY_LOCAL_MACHINE\Security\ColdInit] ?
This would not directly relate to my experience, but I think I can find where I made mistakes.
I appreciate your response.
Thank you.
on my rom, i changed
LOC_0409_DIRWINDOWSHELP, to LOC_0411_DIRWINDOWSHELP
also i added folows
HKEY_LOCAL_MACHINE\Security\ColdInit]
but i dont think those are not reason of your problem,
did you tried to edit new one from versin nbf??
i guees the ROM was crashed,,, i never happend,
you think some reason of registry,,,
how about htis,,,
[HKEY_LOCAL_MACHINE\ControlPanel\Stylus\192DPI]
"FontArray"="500,600,900,1000,1200"
"CurFont"=dword:384
this is the for Screen resolution.
But in my case,,without this,, not happend problems like you,,,,
strange,,,,
Hi, Asukal:
I finally find the root cause of 2 bold lines on welcomehead screen!
the mui file taking charge of screen alignment on start-up set-up process causes this problem. I made the new one with PB and solved this problem!!
(I made the previous one with another tool...)
I'm very glad to inform you this and appreciate your supports very much!!!
P.S. However, I'm still stuck with Coldinit... But this is not an issue.

HOWTO: programmaticaly create a shortcut to a file/folder

hi,
I need to create a shortcut to a file or folder using eVC++ 4.0, anybody knows how to do this??
Thaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanx alot
Mohammad
It's very easy:
Just create a file (with lnk extension)
and write to it:
10#"my_app.exe" -launch
this is what it means:
10 - length of the string after #. This value doesn't have to be accurate because it is usually ignored.
"my_app.exe" - path and name of the target of the shortcut.
-launch - command line parameters (if you have any)
You can also add: ?incon.exe,0 to take an icon from another exe / dll
Thaaaaaaaaaaaaaaank you very very much,
but I need a small thing, could you please provide me with a complex example so I can understand all features supported for shortcuts.
Thank you again,
Mohammad
Mo.
A number of us have posted about the structure of the .lnk file.
Search against my username for the word completeness.
V
now, I searched and got how the thing works, but I have a problem with coding this stuff:
When I attemp to write to shortcut file like this:
strData.Format(_T("%d#\"%s\""),strFilename.GetLength(), element.strPathname);
ShortcutFile.Write(strData,strData.GetLength()*2);
The file is not written correctly, what I get is the data I wrote in the file with a square charecter after each letter like this:
#□4□0□"□\□S□t□o□r□a□g□e□ □C□a□r□d□\□M□y□P□r□o□g□r□a□m□.□E□x□e□"□
so how can I solve this? and does it relate to unicode?
That's because you are trying to write it in UNICODE. This adds zero to every byte.
You must use fopen, fprintf, fclose functions or just create an array of char and use FileWrite to create an ASCII text file.
Thanks levenum,
but isn't windows ce file system unicode based? if so, how can I use ASCII format to write unicode filenames?
Thanks alot
Mohammad
#include <Oleauto.h>
......
char convertUshortToChar(unsigned short in)
{
char con='\0';
VarI1FromUI2(in,&con);
return con;
}
and add Oleaut32.lib to the list of object/library moduals in you project settings.
just call that for each unicode character that you want to be ascii and write the result to file.
Two things:
a) The file system may be UNICODE, but shortcuts are ASCII text. Also ASCII functions like fopen are supported.
b) There is a much easier way to convert UNICODE to ASCII:
mbstowcs(unicodeStrBuffer, asciiStrBuffer);
OK, I did it, but I think that there is a problem with Windows mobile, and it is a big problem.
Till now, I beleive that you cannot create a shortcut to a unicode-named file, I failed to do that, File explorer was not successful, Resco Explorer was not better.
Worse, they do not tell you that you cant create the shortcut, they create the shortcut for you and when you try to open it they conclude that the path was not found!!.
Very bad huh?
Mohammad
I thought that all file names are in unicode?? Use my shortcut creator in GSMbeam file open dialog to try and make a shortcut to a file named like you said. If that shortcut dose not work send me the file in question and I will try and see whats going on.
Ok, I downloaded your program and tried to create a shortcut for an arabic-named file, simply it did not work.
I know its not a bug in ur program, its a bug in Windows Mobile, it is mainly a bug in the design itself, how does Micro$oft design windows mobile to be unicode based while non-ascii characters are not supported in the shell links, its really a shame.
You can be sure that this will happen with asian characters along with Farsi, Hebrew, Arabic and all non-ascii characters.
Programmatically, what happens is as follows:
1. A program converts a filename from unicode to ASCII to save it in the .lnk file.
2. If the file name contains non-ASCII characters, those will be converted to NULL character.
3. When the shell tries to resolve the link target it does not recognise the filename because some characters are NULL.
Thats what I found out!!
Take this file name for example (Arabic): 2مرحبا.mp3
Try to solve the issue, and please inform us whatever happens with you..
Best Regards,
Mohammad
So the problem is how to get the shell to read unicode in lnk files. I re-wrote a lnk file in unicode to see if it would work but it would not. There are a lot of non english ppc users, surely this problem has come up before?
As an experiment I also made shortcut to a folder using utf-8, I think that contains arabic characters and also the ascii characters. After removing some garbage that my editor put at the front of the lnk file worked fine. Try making a shortcut in notepad and saving it as a utf-8 file then rename it on your device but make sure there is no extra characters.
أنا قادر على أكل الزجاج و هذا لا يؤلمني. -- I think those characters are arabic and they are copied of a utf-8 table site so if the shell can read a utf-8 lnk that contains english letters then maybe it can do the arabic too.
Actually, non English UNICODE characters are translated in to extended ASCII codes (128 - 255). When the system needs to translate these codes back to UNICODE it relies on code page definitions in the wince.nls file.
If your locale is properly set to Arabic and you have a valid nls installed (ether you have Arabic ROM or some sort of Arabic language support installed) you should be able to reference Arabic file names using ASCII links.
So, can I depend on string conversion functions we discussed before in this topic to convert characters according to my code page?
I have an arabic ROM installed on my Wizard, it is the i-mate rom on O2 device, so the arabizer doesnt work well, may be because the serial number of the O2 device.
Anyway, I should invistigate this issue on my friend's JamIn device, and we should come up with a workaround for this wiered problem.
Regards all,
Mohammad
OK,
I have tried creating a shortcut on my friend's arabic-enabled JamIn device, the shortcut refers to arabic-named file and it worked good.
levenum, you are right, it depends on the code page on each device, so your device will not be able to create a shortcut to an arabic named file.
Mohammad

[REF] ROM translate discussion room

Hi everybody out there!!!
I decide to start this thread, because many of us have same problems when try to translate a rom.
To start with something here is a basic procedure in translation:
- You have to change the MUI dll for one of your lenguage. I use a stock rom as base.
- Have to change the Initflashfiles.txt. Many "cookers" said to delete the first two bytes and save, other are not completly accord with that. I try both ways.
- Have to change the MUI and NUI values in registry
- Have to change the welcome.exe by the one in your base rom.
With this you can obtain a translated rom, but with no menor problems:
- Contacts doesn't open
- Phone doesn't open
- Many times the commanager doesn't work
Clearly I miss something (probably many things)
Hopping that the "Translators" of the forum can give us some advices or directions
Great initiative Humrod.
I'm hoping too that some Guru may help us.
Anyway i'm reserving this post as a memo of every steps i had to do to translate my current WWE ROM to a FR ROM.
Edit 30 Nov 2008
Here is the exact steps i use to translate the 3.07.707.02 Elfin WWE ROM to French.
I've use 3 Rom to achieve this goal
3.07.707.02 Elfin WWE (this is my base)
an Elfin French rom
a French shipped Diamond rom (from where i've taken the mui)
Ok, so hand on :
Extract the 3 ROMs
Remove all OEM\*0409 folder from 3.07.707.02
Remove all SYS\*0409 folder from 3.07.707.02
Copy the folder OEM_Lang_040C from any elfin french rom to the destination rom (you could also translate manually the rgu and provxml contained in the OEM_Lang_0409 folder).
Copy at least SYS\*040C folders to the 3.07.707.02 rom.
Cook, reboot! and voila your translated rom is ready.
Humrod, by following those steps you won't need to replace any programs or anything else... it's just working.
Good initiative Although I dont see this discussion device specific, so moving it to dev & hacking
ababrekar said:
Good initiative Although I dont see this discussion device specific, so moving it to dev & hacking
Click to expand...
Click to collapse
great Humrod! i think thid thread is gonna be very helpfull for all of us that have been discovering how to cook in other languajes than WWE with the metod of test and failure... maybe these thread even could have a link in the cooking class...
actually, i have made my custom room, ultra fast, but i've been trying to translate it into 0C0A, have everyhing done bt it doesn't boot...
@Ababreaker: im pretty sure humrod meant these thread for his elfin...
Very nice thread. A more detailed tutorial about the procedure will be nice too.
As for the apps that don't work, I beleive that the reason is the incompatible mui files from wm6 to wm6.1. I didn't have problems with any application in wm6, but in wm6.1 some apps like phone, messaging, task manager doesn't work. For phone app I descover that the tapres.dll mui file is responsible, and for messages I think that is the mms..something(I don't remember the name). And for others I think that is the shellres.dll mui file that does the main programs translations. So I think that these three, at least files(and maybe more) needed to translated again for wm6.1.
Hope these info will be helpful for you.
Yeah! dancer69 i think so that there are diferences between wm6 and wm 6.1
in fact one of the first thing i did was translate the MUI files. After tedious work it was not inoff. You have to change the soo too. The problem is when you want to upgrade the system.
Right know i think the right way could be to elect and share one rom to work togheter. I have a very clean Onix, very clean AB UC DXS 14.1 and for spanish speakers the Hto Ultra clean 6.1
BTW: I post it on Elfin because think is not the same on other devices, and we need to share comments with elfin translators.
First of all sorry for my english, i hope everybody can understandme....
Ok, i think it would be good to start with a little basics ("procedure") of translating the rom... off course modifications/corrections are welcome...
I think the tools we need are these:
- A good resource editor, i've try some of them, and IMHO, these are the best: XN Explorer (Freeware), and PE Explorer (Paid, 30 days trial)
- MSigner in order to sign the translated muis or anything
- Initflashfiles editor or simply use a text editor which doesn´t add the (un)famous two bytes to the files and change the .dat for .txt
- HV editor (This tool adds the double-slashes for directories in registry)
The last two tools often are part of kitchens, as Hyper Core (the one I use) or the Hybrid Kitchen
Ok, those tools are the ones that I´ve been using, if somebody wants to add more, well welcome...
I won´t go deep in the fact that you need to dump the ROM and get it into Packages... how this is made?, in this forum there are several threads about that, I recommend you this for excellence...
Once you´ve got the packages, notice that there are folders that have some of the following four caracters, depending on the original ROM language:
Code:
0401 Arabic ARA.MUI
0402 Bulgarian BG.MUI
041a Croatian HR.MUI
0405 Czech CS.MUI
0406 Danish da.MUI
0413 Dutch (Standard) NL.MUI
0425 Estonian ET.MUI
040b Finnish FI.MUI
040c French (Standard) FR.MUI
0407 German GER.MUI
0408 Greek EL.MUI
0409 World Wide English (WWE).MUI
040d Hebrew HEB.MUI
040e Hungarian hu.MUI
0410 Italian IT.MUI
0411 Japanese JPN.MUI
0412 Korean KOR.MUI
0426 Latvian LV.MUI
0427 Lithuanian LT.MUI
0414 Norwegian no.MUI
0415 Polish pl.MUI
0416 Portuguese (Brazil) Br.MUI
0816 Portuguese (Standard) PT.MUI
0418 Romanian RO.MUI
0419 Russian RU.MUI
0804 Simplified Chinese CHS.MUI
0c0a Spanish (Modern Sort) ES.MUI
041b Slovak SK.MUI
0424 Slovenian SL.MUI
041d Swedish SV.MUI
041e Thai TH.MUI
0404 Traditional Chinese CHH.MUI
041f Turkish TR.MUI
and more....
- Yes, you must rename those language codes of the folder name, with the one you want to translate the ROM into. And inside of those folders, there will be some files with extension .mui (I´m assuming you know what these MUIS are, if not: Wikipedia). These files have the language code in their name, and yes, you must replace (NOT RENAME) them with the correspondent in your language but... Where you get them? you can translate them one by one , or you can get them one by one from a dumped ROM in your language ... or just download them from this thread, fortunately they post all the needed MUIs and help html´s of several languages, so you can get it from there.
- Once you've collect them, all you have to do (an this is the tedious part), is look every folder of the "target" ROM and find in which folder goes each mui and place them there...
There will always be some mui or dll that you can´t find in your language, so the only alternative is to translate it yourself:
- Open the resource editor of your choice (links above), find the MUI and translate everything you see that can be translated... Save it (dah!)
- You must Sign the file or it won´t work at all...whit Msigner (link above) you can do that.
- That´s all with the translation thing...
I think this post is too big, so i´ll continue in the next
- Now, you have to modify a file named initflashfiles.dat (look for it in folder OEM_Lang_XXXX inside SYS), This initflashfiles.dat contains and creates all the addresses to all the folders that exist in the ROM. Just use the Initflashfiles Editor (links above) and follow the instructions.... You must carefully translate what you need to translate (like My Documents, My Music, Program Files, etc. I recommend you not to translate folders like Application data, or System, or some folders inside Windows...) It is very important to remember or write down what changes you´ve made, because you will need them in order to modify the registry... Follow the instructions of the Initflashfiles Editor or the Editor of your preferred Kitchen. Return it to SYS/OEM_Lang_XXXX
- The next thing to do is modify the registry....there are several parts of the registry in different places of the ROM folders, there are three types of files we´ll modify: user.hv and default.hv, all of the .rgu inside any folder and all of the .provxml inside any folder.
- Default.hv and User.hv: these are the main parts of the registry, you can find them inside the folder SYS/Metadata. Modify them with HV Editor (links above) and follow instructions, remember to save in Unicode and add the word REGISTRY4 at the beginning of the file and a blank line at the end (just follow the instructions of the Editor). What you need to change is all reference to all the folders with the information that you already change in initflashfile.dat, and many other information you see you can translate.
Use the find tool to find all reference to the "Original ROM Language Code", and replace it with the "Target ROM Language Code", don´t do "Replace all" because there are CLASS´s or strings that can contain those numbers and have nothing to do whit language.... (THIS GOES TO .HV, .RGU AND .PROVXML). Look especially for:
Code:
[HKEY_LOCAL_MACHINE\MUI]
"Enable"="1"
"SysLang"="0409" (for example, you don´t have to use necessary 0409 English...)
[HKEY_LOCAL_MACHINE\System\Autoupdate]
"ClientLCID"="0409"
[HKEY_LOCAL_MACHINE\nls]
"SystemLCID"="0409"
"DefaultLCID"="0409" (Tip: This entry modifies the "Regional Setting" country of your choice see [URL="http://msdn.microsoft.com/en-us/library/ms834426.aspx#locplatform30_codepages"]here[/URL] for detail)
[HKEY_LOCAL_MACHINE\nls\overrides]
"LCID"="0409" (Tip: This entry modifies the "Regional Setting" country of your choice)
[HKEY_CURRENT_USER\MUI]
"CurLang"="0409"
I can´t tell you what exactly to change or translate, because you´ll see how big the registry is (yes, it will take a long time to edit it), all i can is give you some tips:
- Find strings like @="Something", usually these are Titles or Names, or strings like Nm="blahblah", BUT NOT ALWAYS, be carefull...
- Find descriptions, like "Audio File" or "Google Maps KMZ", BUT NOT ALWAYS, be carefull...
- References to folders (did you write down the changes you made in initflashfiles.dat? i told you to...), be sure that all references to folders have double backslashes (\\) like ...="\\Windows\\animated.gif"
- Do not change nothing if you´re not sure, better ask before re-do everything again.
Once you modified those hv´s, follow the instructions to save them, and return them to SYS/Metadata.
- .rgu files: you´ll find them in almost every folder in the Packages! In OEM and SYS, but not all of them contains things you can translate, you must open each one whit Notepad, DEACTIVATE "Word Wrap", and look carefully, in many cases, strings you already translated in the hives (default and user.hv), need to be translated here again. I don´t recommend you to just to erase them from the hives or the rgu, at least you´re pretty sure what you´re doing.... Follow the tips of the hives as well.... And when you´re done, SAVE AS UNICODE (generally these files are protected, so you must modify this attribute before you can save it).
- .provxml: these are just XML files, and usually have the language code in the name change it. You can edit it with notepad, and save as UNICODE. Same as above....But!... is not necessary to add double backslash in the folder references...
Ok, that´s it but not all... you need to change some files like welcome.exe, notes.exe and others that can come out dependig on what you´re including in your ROM...that´s the reason of this thread!!
Well, i hope this would be usefull people.
Remember, any correction/suggestion/modification are very welcome....
Happy cooking!!
Thanks jonbus for this tutorial... some very valuable tips, i'm sure lot of people will appreciate.
Anyway, jonbus don't you have to make others modifications like CLSID in registry too?
In my current WWE to French rom translation, i'm facing a strange situation where some programs do not work note.exe, phone (cprog.exe) and contacts but the rest of the ROM is fully functionnal...
EDIT :
Ok you've edited so i'll edit too
For the French translation :
There is no need to change welcome.Exe
You must change note.exe
Don't know what to do for the phone to work
Don't know what to do for the contacts to work
Demo[95] said:
Thanks jonbus for this tutorial... some very valuable tips, i'm sure lot of people will appreciate.
Anyway, jonbus don't you have to make others modifications like CLSID in registry too?
In my current WWE to French rom translation, i'm facing a strange situation where some programs do not work note.exe, phone (cprog.exe) and contacts but the rest of the ROM is fully functionnal...
EDIT :
Ok you've edited so i'll edit too
For the French translation :
There is no need to change welcome.Exe
You must change note.exe
Don't know what to do for the phone to work
Don't know what to do for the contacts to work
Click to expand...
Click to collapse
Yes off course! in CLSID you will find references to folders (CSLID are identifiers, so they must refer to some archive in some moment..) as I said, it´s a tedious thing to modify registry, is waaay to big...you have to be extra-careful and have your eyes wide open 8)
About those files...yes that strange, changing welcome.exe and notes does not work in all ROM, dunno why...anyway, you can check it with a resource editor to see whats inside it, just for curiosity...
For phone and contacts, have you try to replace tapres.dll? because not always we can find their respective mui file (tapres.dll.xxxx.mui)... or try to find the mui....
Good luck!!
Hola jonbus, good tutorial!!
we can talk in Spa, but for the others in forum, you know
I'm not sure about the chage of the MUI files. I made some experiments and after change, the lenguage is still english (in my case). When i cook in prophet, this works perfect, but in Elfin......so so.
Ok. I'm in the same situaction of Demo95: I have a full working translated rom but for the phone and contacts. I resolve the phone issue, by change not either the phone related files, but the com manager too, but for me this solution is not too good, because the result is a rom partially actualized.
As first conclusion is evident that some in the system related for this files is imcompatible with the lenguage in change and I'm focused now in the Xip.
In case of some results i will post it here.
I think that the problem is the specific mui files, that maybe are for a different version of these applications. I don't know much about cooking but I have more experience in mui translations. I suggest to make a translation of these mui files(maybe a part of them just for testing) from the original english rom's files and copy them to device to test them on the fly.
Don't forget to unsign and resign them before use them(and be sure that the signing is successful). For phone application I've found that the mui is the tapres, witch I think it haven't a lot of strings for translation.
the way I do it is like this..
I download a shiped rom in the language any device will do. Then I dump that rom and then just use all the folder that end with _0XXX (_040C is french) copy them to my rom. now most of the things will work out of the box.
now you will mostly only have to work within the OEM_Lang_0XXX because thats where the most customacation of the device is done. Initflashfile.dat and the .rgu are what would be needed some changes but in many cases Initflashfile will work without editing. the rgu has the button mapping.
also there is a oemTranslate.xml or HTCtransulate.xml (might be spelled wrong don't have a kitchen here) this one translates the backlight deviceinfo and such into the right language. ther might be some missing or some to many in there if you used a shiped rom for an other divices.. and can cause a blank icon in settings/system.
What I did with my multilanguage roms.. I copied all the lang files into the same kitchen and made Option.xml files for all of them.
excample:
Code:
<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<Items>
<Item name="French" group="Language" checked="False">
<Tip></Tip>
<Guid type="p">76129d77-24e3-493f-b0fb-597ed4c04c6d</Guid>
</Item>
</Items>
you need to add a Guid type line with the number of all dsm files that are related for that language in this case french. now make a new txt document and save it as unicode and name it package.dsm you can do this to as many languages you like.
place the Option.xml and package.dsm file in a folder for them self one for each language.
this methot can also be used when making several roms lets say Full, medium and small.
I used the offical kaiser roms to make the multiroms but they don't work on some of the newer builds where I had to use language files from diamond.
hope this will help someone
humrod said:
Hola jonbus, good tutorial!!
we can talk in Spa, but for the others in forum, you know
I'm not sure about the chage of the MUI files. I made some experiments and after change, the lenguage is still english (in my case). When i cook in prophet, this works perfect, but in Elfin......so so.
Ok. I'm in the same situaction of Demo95: I have a full working translated rom but for the phone and contacts. I resolve the phone issue, by change not either the phone related files, but the com manager too, but for me this solution is not too good, because the result is a rom partially actualized.
As first conclusion is evident that some in the system related for this files is imcompatible with the lenguage in change and I'm focused now in the Xip.
In case of some results i will post it here.
Click to expand...
Click to collapse
Claro Humrod!
I agree with you about a ROM partially actualized, but, that´s the reason , i presume, for the malfunction or incompatibility of the MUIs, probably the are several differences betwen an update and another...
dancer_69 said:
I think that the problem is the specific mui files, that maybe are for a different version of these applications. I don't know much about cooking but I have more experience in mui translations. I suggest to make a translation of these mui files(maybe a part of them just for testing) from the original english rom's files and copy them to device to test them on the fly.
Don't forget to unsign and resign them before use them(and be sure that the signing is successful). For phone application I've found that the mui is the tapres, witch I think it haven't a lot of strings for translation.
Click to expand...
Click to collapse
Well, as i told yu, the tapres did the job! Yes that´s what we must do, translate the muis that are giving problem...
gullum said:
the way I do it is like this..
I download a shiped rom in the language any device will do. Then I dump that rom and then just use all the folder that end with _0XXX (_040C is french) copy them to my rom. now most of the things will work out of the box.
now you will mostly only have to work within the OEM_Lang_0XXX because thats where the most customacation of the device is done. Initflashfile.dat and the .rgu are what would be needed some changes but in many cases Initflashfile will work without editing. the rgu has the button mapping.
also there is a oemTranslate.xml or HTCtransulate.xml (might be spelled wrong don't have a kitchen here) this one translates the backlight deviceinfo and such into the right language. ther might be some missing or some to many in there if you used a shiped rom for an other divices.. and can cause a blank icon in settings/system.
What I did with my multilanguage roms.. I copied all the lang files into the same kitchen and made Option.xml files for all of them.
excample:
Code:
<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<Items>
<Item name="French" group="Language" checked="False">
<Tip></Tip>
<Guid type="p">76129d77-24e3-493f-b0fb-597ed4c04c6d</Guid>
</Item>
</Items>
you need to add a Guid type line with the number of all dsm files that are related for that language in this case french. now make a new txt document and save it as unicode and name it package.dsm you can do this to as many languages you like.
place the Option.xml and package.dsm file in a folder for them self one for each language.
this methot can also be used when making several roms lets say Full, medium and small.
I used the offical kaiser roms to make the multiroms but they don't work on some of the newer builds where I had to use language files from diamond.
hope this will help someone
Click to expand...
Click to collapse
I´ve made that in a couple of rom i cooked, i leave two or three folders OEM_LANG and so, but obviusly it was a big rom....and not only those folders need to be changed, inside every OEM package sometimes you can find some language files, not only Muis, but dlls and exes, just like the case of welcome.exe (tapres.dll has its own Mui), and, not always you can find an oficial rom in your language, and if you use two different updates of diferent languages there´s not always compatibility, thats what happen with these 3.07 and 3.10...
I´ve use two of your roms and they were awsome! specially the manila2d
Lets keep on it and see how to figure it out!
P.D.
In htc.com, we can find the update but you must type your device serial, i don´t know why mine doesn´t work, maybe there we can find the oficial update in our language....has somebody tried?
jonbus said:
In htc.com, we can find the update but you must type your device serial, i don´t know why mine doesn´t work, maybe there we can find the oficial update in our language....has somebody tried?
Click to expand...
Click to collapse
I've tried but it didn't work for me too... It's simply because HTC block phone serial that have been sold by a provider... I've tried to find the last originale rom on GOOGLE but without success..
Hi gullum, i'm follow your work since I was on a prophet, and learn a lot.
About your comment: you change the hole file or just the mui inside?
is possible to create a mui for a file that originally haven't?
seems that this tread is for our interest only.....
we can continue by PM...
Well it seems nobody care....
Anyway i guess i've finally found a way to completely translate from WWE to French; I haven't enought time to explain how i did it right now but will write it down tomorrow.
Ok sounds good, I'll be expecting
humrod said:
Hi gullum, i'm follow your work since I was on a prophet, and learn a lot.
About your comment: you change the hole file or just the mui inside?
is possible to create a mui for a file that originally haven't?
Click to expand...
Click to collapse
It's possible if the program supports mui translation. You can rename an exe or dll file to exe.0xxx.mui or dll.0xxx.mui and translate all strings in another language. I have done this with resco explorer 6 with succsess and some other apps that I don't remember the names.

[Solved] How can I translate Enhanced Menu SoftKeys

Dear Colleagues,
I'm trying to cook a ROM in Polish. I have handled almost all the translations, but I have a problem to find the place to translate Soft Keys when a system menu is used (see my screenshots). On the bottom there is still written "Close" and "Back" instead of Polish wordings.
These softkeys appear in many programs like File Explorer, pOutlook, Office applications, Notes, Windows Calendar, Windows Contacts and some others even though for each of these applications I have a proper *0415.mui files (found or edited myself), and all every other text in these applications (also menu items) is correctly translated.
It seems like there is some mui file, or reg entry which covers general menu appearance and texts but I cannot find it. I searched all my mui files for "Close" and "Back" strings (ASCII, Unicode and Hex) with Total Commander but without any outcome. Also searched in the registry of a cooked ROM for these strings. Also without results.
Does any of you guys have an idea where can I change these strings? Or do you have an idea how else can I search for them?
The sys build is: 21887, perhaps this is an important information.
Thanks in advance
Skrobel
CUIHandler.dll.<yourlang>.mui
(Menu Enhancement package from HTC)
OndraSter said:
CUIHandler.dll.<yourlang>.mui
(Menu Enhancement package from HTC)
Click to expand...
Click to collapse
Thank you very much!
But I have the file, it's translated and signed. It has only 3 string resources 102 (Back), 104 (Close) and 105 (Redy), but all three I do already have in my 0415 language (and of course all resources are marked as 1045). But the SoftKeys in menu still appear in English...
These two (three) Back&Close&Back are from this file, I know it, I translated it many times from chinese ROMs. Are you cooking the right file?
I hope so... In the original package there was no 0409.mui so I don't even know if the IDs have chaned. I took the 0415 mui from the stock ROM 21887 stock ROM.
And honestly I don't have influence on the package itself 'cause I work on dump not the full kitchen system.
EDIT: Ah, perhaps this helps: The menu enhancement package version is: 1_1_20191232_00 perhaps somebody of you has the correct 0409 or even chinese mui file for exactly this package?
EDIT2: I viewed the CUIHandler.dll with HexEditor. But I couldn't find there any of above mentioned strings even in English. Since there is no english nor chinese mui file for this library, I don't know where the system finds the strings afterall. Strange.
I've asked the original ROM Author - Jackos - for sending me the Menu_Enhancement packages. And here it is:
http://forum.xda-developers.com/attachment.php?attachmentid=404044&d=1284905153
As you can see, no mui files. But somehow the system still knows what to write in English...
Do you have any more ideas how to force these three words to appear in another languages?
Sorry I'm an ass, I said correct package (Menu Enhancement), but wrong file, I ment HTCMenuEnhance.dll.<yourmui>.mui
Sorry once again
Ahoj!
OndraSter, you are not an ass You're brilliant!
I just renamed my original CUIHandler.dll.0415.mui into HTCMenuEnhance.dll.0415.mui and it worked at last!
Actually I copied the file not renamed it as TC couldn't remove file "in ROM". But the most important thing is it works!
Now I started to wonder why!
Is it possible, that when one doesn't use Menu Enhancements these 3 strings are controlled by CUIHandler, and if one uses Menu Enhancement this function is "overtaken" by HTCMenuEnhance.dll?
Dou you have somewhere in your archives a HTCMenuEnhance.dll.xxxx.mui file from any other Menu_enhancement package (any language - even chinese or Czech)? I just wan't to check if there are no other strings that should be there. And I don't know how to create a mui out of whole dll (where to look for the resource IDs).
Zatím děkuji
Skrobel
These menus are "enhanced" by HTC, making dll CUIHandler.dll (forced name by MS) and enabled in registry. HTC has in latest versions of Menu Enhancement renamed the dll to HTCMenuEnhancement.dll, that's the all problem here, the string table is the same, just 3 recods (Close&Back&Close I think). Same as for original (old) CUIHandler iirc.
Thanks again, I am happy now. Problem solved!
OndraSter said:
These menus are "enhanced" by HTC, making dll CUIHandler.dll (forced name by MS) and enabled in registry. HTC has in latest versions of Menu Enhancement renamed the dll to HTCMenuEnhancement.dll, that's the all problem here, the string table is the same, just 3 recods (Close&Back&Close I think). Same as for original (old) CUIHandler iirc.
Click to expand...
Click to collapse
Hi Ondra
Thank you very much, I was lookinf for this for ages
Díky Ondro
Tohle jsem hledal a dnes během hledání jiné věci našel.

[Q]Hebrew keyboard [CM7 ROM] Nightly from Endless (kcm+kl files for hebrew)

I've got the
umts_milestone2-keypad.kl
umts_milestone2-keypad-hebrew.kcm.bin
files from the stock rom and changed their names to qwerty.kl qwerty.kcm.bin and replaced the files in the cm7 accordingly using the adb shell.
Now I can write in Hebrew using the keyboard but I can't write in English with the physical keyboard i.e. the TOGGLE_LANG (key 167 as it seems from the .kl file) button doesn't do anything.
Is there any way to make the TOGGLE_LANG switch between languages?
Also is there anyway to make the alt-lock button work?
Edit:
Well after a few more searches I've found out how to edit and build the KCM file and so I created a way for me to write en+he (base: he, alt:en, alt+shift:caps en).
but still the question stands unanswered so if anyone knows that'll be awesome. thanks
Hebrew Keyboard.7z contains the original KL and KCM files from stock.
Hebrew Keyboard2.7z contains the KL and KCM files with the en+he.​

Categories

Resources