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.
Related
The WM5.0 emulator is working on my PC.
Japanese Emu, S-Chinese emu, and T-CHinese, emulator. also english.
i want dll, mui, exe files from them, to make Japenese or chinese WM5.0
on my Himalaya with english WM5.
Hope someone can help to dump it or make dump tool.
i have a dump tool my friend made for WM2003 emulator, so not worked for WM5.0.
if need emulator image from WM5.0 SDK, i will upload i them.
Please help!
ms would be pretty stupid if they made it possible for one to unload a real rom image from an enulator
as far as i know then all roms have to be 100% made / "compiled" for each pda to work
so unless that emulator was using an 100% image of the rom for the device you want to upload it to later
i doubt it would work
Rudegar said:
ms would be pretty stupid if they made it possible for one to unload a real rom image from an enulator
as far as i know then all roms have to be 100% made / "compiled" for each pda to work
so unless that emulator was using an 100% image of the rom for the device you want to upload it to later
i doubt it would work
Click to expand...
Click to collapse
thanks for your comment,
but plese dont worry i want just take the resourcese from dll or exe, to make mui files to pretend interface of OS.
i used this way to make japanese OS on my Blue Angel with PPC2003se.
Mr, Mamaichi teached this way to me in the past.
for your refference
http://asukal.seesaa.net/article/6114096.html
http://asukal.seesaa.net/article/5052836.html
Japanese site, but you can see the JPGs
ooh got a bit confused then i guess
Asukal
You can dump the ROM image from WM5 emulator with a normal dumprom tool, but first you need to convert image from B000F to the NB format with the command:
perl splitrom.pl PPC_USA_GSM_VR.BIN -wo ROM.BIN -oe 0x82000000
and then dump it as a normal rom:
dumprom.exe ROM.BIN -5 -d C:\ROM_DUMP
I've tested that on english version of emulator.
you'll need splitrom.pl script and a new build of dumprom tool from itsme.
Mamaichi>>>
thanks for your information!
i will try it!!
Thanks Mamaich!
after i got your private message and done it!
i got dumped roms files form mnu!
@Japanese OS image
@Simple chinese OS image
@Smart phone (WM5) japanese image
after succesfull them, the splitrom have error on following emu image.
@English OS image
@Traditional OS image.
i dont know why???
may try to restart windows system and try again
any way, i got it!
thanks!
hi Asukal,
can you please give me the links to your emu images?
i'm too lazy to search.. ;o)))
thanx
buzz
Yes, why not!
Here it it!
http://www.asukal.jp/ROMs/PPC_USA_GSM_VR.rar
20MB <not dumped yet>
i could dumed english image also.
here it it!
http://www.asukal.jp/ROMs/SDK_ENG.rar (17.32MB) dumped files
i dont know why i couldnt up load this as attachment???? :shock:
so i must use my own server :?
Asukal said:
after succesfull them, the splitrom have error on following emu image.
@English OS image
@Traditional OS image.
Click to expand...
Click to collapse
what is the error text? I've dumped english ROM without errors
to mr,mamaich
i got successfult to dump english SDK emu rom after that.
But i took Bin from SDK in another computer.
I guess Bin file which i tryied dump at beggining was broken or have some problem??
or i have already opened and drove this emu image on the Emulator many times so it was not default already.
i have never tried again about T-CHinese Bin.
i think it can be possible if i took out another T-Chinese bin from another SDK.
the error text was...... cant remember exactry because i left that computer coz i am trip in europe now.
maybe.....
This image files has incorrect(or invalid) boot image.....or some like that.
sorry my late rplay.
I am in Germany now and have to visit Milan and paris after here.
thanks
MUI's in wm2005
Hi, everybody!
I followed this thread and successfully created some MUI's for 2005 (I think) but I can't get the device to load them. I tried changing the registry settings (worked for 2003se) but it didn't help.
No changes I made are visible and the files can be deleted, so I guess they are just ignored for some reason.
Can anyone help please :?:
Thank a lot!
that is true, also cant do that.
keep on studying now.
Something different from WM2003!
MUI security signature?
Hallow again!
I think the problem might be with the digital signature Microsoft now requires. :idea:
Also I made the following experiment:
I put the resources in 2003SE MUI officeres and btres and it did load, but when I tried it with shellres or coresres it didn't work.
I think it won't load unsigned system files…
Any ideas?
Any leads will be greatly appreciated!
:lol:
Re: MUI's in wm2005
levenum said:
Hi, everybody!
I followed this thread and successfully created some MUI's for 2005 (I think) but I can't get the device to load them. I tried changing the registry settings (worked for 2003se) but it didn't help.
No changes I made are visible and the files can be deleted, so I guess they are just ignored for some reason.
Can anyone help please :?:
Thank a lot!
Click to expand...
Click to collapse
because on 2003, files are copied to RAM. on 2005 are used directly from ROM.
buzz
Re: MUI's in wm2005
buzz_lightyear. 2005 can also load dlls to RAM, for example when they are started from storage card or built-in storage.
There maybe one more reason. The DLL may be not loaded if your resource DLL does not have some resources that the original DLL has. Or if your DLL is somehow incorrect. You should make a program that calls LoadLibrary() for your MUI DLL and check the error code if it does not load.
For MS Smartphones there was a registry key that allowed to run unsigned applications. Maybe the similar method exists for WM5.
Asukal. I've attached the program that would try to dump shellres.dll of your device to \storage card\shellres.dll. I've tested the program only under emulator, on the real device it may crash.
If it would not crash - you should look into the produced DLL to examine its resources. This dumper would produce DLLs that are unable to load (they have no relocations information), and their size is larger than it should be, but resources should be extracted correctly.
PM me if the program crashes. And it probably would crash. I'll try to do something.
Mr,Buzz and Mr,Mamaichi!
thanks your comments, and i have just back from Paris and too tired to try mamaichi`s testwm5.exe
aftre sleep while, i will try it! (i dont afraid crash! glad to be sarifice!
I'd recommend you to try this tool - http://forum.xda-developers.com/viewtopic.php?t=23520&start=25#152044
To mr,mamaich
The first attached testWM5.exe dumped only dump.dll(?)
the second TESTWM5.exe of the link can extraxt installed files also, and RAM files can be dumped.too.
but not crashed.
i will remake MUI file and test it!
Thanks!
I whant to change something in that mui file but when i open it with resourche editor i see something like (\0x00) or (000)
after some words..
When i edit this words i can't put buck those 000
Example :
22372, "1\0x00"
22373, "2abc\0x00"
22374, "3def\0x00"
22375, "4ghi\0x00"
Also i have Microsoft Visual Studio 2005 & Pocket PC SDK.
In Microsoft Visual Studio 2005 doesn't show those 000, but if i edit with Microsoft Visual Studio 2005 when i go to sign the file give's me error.
Error: Signing Failed. Result = 80070057, (-2147024809)
Click to expand...
Click to collapse
Please any one to know something about that tell me...
Thank's for your time.
Never ever ever use VS to edit resources! It screws up dialog templates and makes MUIs unusable.
The only good way to edit an MUI is Platform Builder. You can download a free evaluation version that will run for 180 days, but even with most options striped on installation it is still around 1GB.
Hope you have a good internet connection.
what version of Platform builder i need to edit mui files from WM 2003 ?
i see difrent version like: 5, 4.2 and other
but i dont know what chose
levenum said:
Never ever ever use VS to edit resources! It screws up dialog templates and makes MUIs unusable.
The only good way to edit an MUI is Platform Builder. You can download a free evaluation version that will run for 180 days, but even with most options striped on installation it is still around 1GB.
Hope you have a good internet connection.
Click to expand...
Click to collapse
Thank's Levenum ...
I sucesfull download the Windows Embedded CE 6.0 Evaluation Edition but it is say This download is a plug-in for Visual Studio 2005 ...
So what i 'm doing??
I nead the Windows Embedded CE 5.0 ??
I also download the 5 version but at the end give one error and say something like:
the download file have been interuptut before the installation finish...
So what can i do and what for those two version i have to download and if you know how can resolve the error problem on version 5??
Sorry for
&
Many many thank's Levenum
Ok i download and install the platform builder 5.0 but when i load the mui file after do my change's and go to save it he say me:
''Cannot save the file.
Cannot load a resource from the executable.''
So what i'm doing wrong??
Thank's adn sorry again....
I explained this in a PM, but just in case others are interested:
Possible causes are:
1) MUI was signed when you edited it.
2) MUI was extracted using WM5test tool by mamiac. (This tool is excellent for dumping ROMs for viewing but files can not be used on the device)
3) PB sometimes does that for no apparent reason (at least to me)
Get another DLL one that is not signed or dumped from device, delete any resources it has and put the resources from the MUI in it. Then save and rename.
levenum said:
I explained this in a PM, but just in case others are interested:
Possible causes are:
1) MUI was signed when you edited it.
2) MUI was extracted using WM5test tool by mamiac. (This tool is excellent for dumping ROMs for viewing but files can not be used on the device)
3) PB sometimes does that for no apparent reason (at least to me)
Get another DLL one that is not signed or dumped from device, delete any resources it has and put the resources from the MUI in it. Then save and rename.
Click to expand...
Click to collapse
Thank's for your help again Levenum but doesn't work.
I try tu build one new .dll but when i put one string (for test) after i try to save but give's me the same error.
''Cannot save the file.
Cannot load a resource from the executable.''
What else can i do ???
Please help me..
I try weeks now to edit five lines
Thank's and sorry...
Sorry, but now I am stomped. I never had PB fail to save a single string to a new 'clean' DLL.
Any chance there is some kind of access problem to the actual location where the file resides? Could it be 'read only' or under restricted permission?
This is really strange...
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.
Hi, i have an Herald with the original windows mobile 6 executable i downloaded on a website and i extracted the RUU_signed.nbh, then i used Hypercore to get the OS.nb and then i got the OEM and SYS folders to start building my ROM the way i like it. First i thought about including my own registry modifications and i know those modification have to be installed in the device at the end of everything to over write the default that get install first so in the OEM folder i created a sub folder i called zzz_My_registry_OEM. As you can see, my attempt there is to put the .rgu file in there and because the name of the folder start by zzz, it will obviously be installed at the end. Is that right? Because if i'm wrong please tell me, i never did that before, its my first time cooking a ROM. Then, i face a new problem. I have the complete list of all the registry tweak i want to put in the .rgu file, i know i have to begin the file by REGEDIT4, the lines starting by ";" are not recognise so i can put a note of what the registry is for (for personnal reminder), then at the end of all my registry tweaks, i have to leave a blank line but... I just dont know how to write the lines properly because i know its some sort of code and i have to write in code. I'll show you precisely what i mean. Here i have a tweak to change the temp file to the storage card and it goes like this:
HKEY_LOCAL_MACHINE\System\FileSys
edit temp path key \Storage card\Volatile
Here an other one to change the language of the slide out keyboard to US:
HKEY_CURRENT_USER\ControlPanel\Keybd
create a new string
Name: Locale
Value: 0409
The problem as you can see, that is good if i tweak the registry of my already installed ROM from a registry editor, thats not valid for a .rgu file while cooking a ROM. But i have no idea how to write those codes properly and i found absolutely no instruction no where. And i have a lot more tweaks like that that i want to do. Is there any one here willing to link me to a detailed and intelligent tutorial or to translate my reg tweaks for me so i can finally nail that once for all? I thank you all in advance for your help. Anything could help because even if you dont have a complete answer, i'll do the job of reading the post and take all the bits together and figure it out. Some of you know a little bit that will complete some that an other one know to finally form the big picture.
Device flashes - Device boots - Device runs the Welcome.exe, but then no Customisation.
Iv recently added some EXT packages into my rom. i made them myself from .cab's with cab2ext. ive tested the .cab's before adding to my rom, they do work. but some programs that did work before adding the new EXT's now dont because of no customisation eg, Task Manager - the one on the today screen and also Windows Live. (iv only noticed these two at the moment but there will be more, to be honest i cant be arsed looking for programs that work or dont work when its quite obvious its because of no Customisation, if i fix that, they will work again.. simples )
Anyway...
I opened the new EXT packages ive added and checked all the files.. eg, .dat .reg and all "FILES" files, i even checked the .lnk's and all seems ok. i then checked them again.. yet everything still looks ok, but something is seriously f*cked!
Also another problem, a wierd one..
When i Soft-Reset/Restart the device, it boots up with the Welcome.exe again? (the Welcome.exe is meant to only run the once and then dissable )
Help? iv almost got my rom the way i want it - ive been working on this rom for 2months and i dont want to start building the rom from scratch...
..again! pmsl
Does anyone have any idea what is wrong, if this has happened to you, how did you fix it?
Thanks!
Rn
Check your runcc.lua, then the conf*.txt files you include in your rom, then all the commands you execute inside them.
One of these commands go wrong in your first boot and so you are stuck on customization.
If you use xda_uc or another user customization method, check those scripts as well.
It may happen, for example, if you try to install a cab and for some reason it fails.
If in your recent packages you overwrite one of your conf*.txt file, this could be the cause.
Ciao
...
cheers dude, thanks for your time and help, i think i understand what you meen..
[1)config*.txt <-- all config files are ok.]
[2)runcc <-- googled and i dont use]
[3)xda_uc <-- googled and i dont use]
raving_nanza said:
iv almost got my rom the way i want it - ive been working on this rom for 2months and i dont want to start building the rom from scratch.....again! pmsl
Click to expand...
Click to collapse
its ok claros, f*ck it dude, its the second time this problem has happened to me, it happened on my first rom too.. (2months ago.lol)
i litteraly started again from scratch (a nice clean slate) ill just start my rom again like i did then which will solve my problem.lol ive got all my programs and setting backed up (*in a messy folder of messy folders )
my new kitchen will basicly be up and running again by the end of the day, its my birthday on wednesday so i may as well set it as the rom date.lol
Raving_1337_Rom_V3 (Alpha)
Cheers anyway dude, muchly appreciated!
Rn
[changed title to solved, @claros]
raving_nanza said:
its ok claros, f*ck it dude, its the second time this problem has happened to me, it happened on my first rom too.. (2months ago.lol)
Click to expand...
Click to collapse
This happened to me at least 20 times, or more
Let's check together what happen at first boot, if I'm wrong anybody else will correct me.
1) files are moved from \windows to other directory according to your app.dat / initflashfiles.dat.
2) .provxml files are parsed to change config values or filesystem
3) welcome is executed, but this command don't stop startup so:
3a) autorun.exe or runcc is executed too to customize rom: these package runs according to the commands inside various config*.txt files in oem packages or sometimes in ext packages
4) user configuration, usually included as a call inside one of conf*.txt files is executed. If you don't use xda_uc, user customization should follow the same syntax as autorun/runcc
5) Last conf*.txt file should include at least a
LOCK: Disabled and a reset
At this point you should have completed the welcome wizard. If not, and your calibration data is not in registry, your are prompted again with welcome wizard at second boot.
Common errors during boot sequence are:
- wince.nls is missing
- app.dat / initflashfiles.dat error, such as creating subfolders inside non existent folders or statements not in unicode format
- registry / provxml errors during setup of welcome.exe itself, for example you disable the whole welcome wizard but don't write calibration data into registry
- chain error inside conf*.txt files, such as config.txt calls config_operator.txt which call config.txt, generating a loop
- a cab or command inside a config*.txt files cannot be installed, for example for lack of space or a missing certificate
What I usually do in these cases is:
- check platformrebuild log file for errors
- save my last tmp/dump folder to check what is really inside the rom and what is really overwritten by what
- If you can connect by activesync to device before reboot, explore the device itself, it's processes and registry
- recompile the rom putting semaphores inside app.reg files, .provxml files, config*.txt file. I usually add an ext package to be included as the last one (ZZZ_Claros_Fix) where I put a special app.reg, a .provxml and a modified copy of config.txt, config_operator.txt, config_end.txt etc etc.. If you don't have a diamond, you can boot without sdcard to avoid any sd_config.txt error
Starting a new kitchen from scratch for me is at least 20 days of work, I'd spend a day more finding a solution
Ciao
claros said:
This happened to me at least 20 times, or more
Click to expand...
Click to collapse
A Mortscript called Autorun.exe
V2 working again, Cheers!
*i started setting up a new kitchen then thought f*ck that!
Rn
Are you saying that you were cooking in mortscript, and the autorun.exe file from the mortscript package over-wrote the one from your OEM package? I think that happened to me once a while ago. I just left out the one from mortscript; I've never needed it before, anyway.
...
yeah a mortscript called Autorun.exe over-wrote my OEM Autorun.exe
i deleted it the mortscript, everythings sound now