Related
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.
Out member Indra created an Universal Rom with a "Crossbow look".
He replaced every icon 1 by 1 into Universal's shellres.dll (and it works).
I made a dump of the Universal Rom and my Wizard Rom (with imgfs_tools), after that I
located the file where the icons are in, in the Wizard Rom (the file: shellres.96.dll) but after
editing this file (in the dump, made with imgfs_tools) by replacing some icons (with Resource Hacker)
and after that building a new Rom does not work.
A lot of icons (that I didn't changed) are not there anymore...?
So I wanted to copy the shellres.96.dll file directly from my device, but then I get an access denied error.
So, can someone supply my with the shellres.96.dll file from a Wizard Rom (not a Wizard rom dump!) or
can someone tell me what I did wrong with the replacing of the icons?
regards,
Molski
I also want to know how...and where can we find the icons???
Cheers,
I also want to know how????????????
Hi molski.
It just so happens I was working on using systems native icon in LVMTime to make it compatible with WM 6.
In VGA devices (like Uni) the icons are in shellres.192.dll. The number stands for "pixels per inch" the system reports.
This is only OS + ExtROM, does not include radio nor splashes nor SPL.
This is basically the same OS+ExtROM as found on Sprint's latest official ROM 3.56, MINUS all that Sprint bloatware (OnDemand, AudibleAir, Sprint Music, etc.) occupying both OS and ExtROM space. I also removed Sprint Navigation and Sprint TV from the ROM and ExtROM (respectively) because I want more control on how Sprint programs are installed (into the device vs into SD card); I have the separate CAB installers for Sprint Navigation (TeleNav) and Sprint TV so I can install them the way I want. I also removed the ringtones from the ROM because I don't like Windows Mobile's approach to copying ringtones from ROM (\Windows) to internal memory (\Windows\Rings) which effectively results in unnecessary file duplication within device memory, but I have stored the removed ringtones into an SD card so I can later add them either to \Windows\Rings (with no wasted copies in ROM) or to \Storage Card\Windows\Rings.
The amount of memory I gained this way was used to (1) update the core fonts (Courier New, Tahoma) to the latest versions found on Windows Vista (the versions found on the original ROM date way back to 1999, even in WM6.1! plus WM only includes regular-face Courier New, I had to add bold/italic/bold-italic versions), (2) add smartphone fonts Nina and Segoe Condensed, (3) add the Windows Vista version of Japanese font TTC MS Gothic/MS PGothic/MS UI Gothic (the AC3 compressed version is still outdated, version goes back to 1999 ), (4) replace the USA wince.nls with the Japanese wince.nls (which includes all charsets found on USA wince.nls + adds Shift-JIS, JIS, and EUC-JP), (5) add the WM6 Japanese IME files, (6) update the SymbolPad's config file to allow inputting almost all the Pan-Euro characters found in Vista's Tahoma and all math symbols included in MS Gothic, (7) add PQzII with some customized bitmaps so you can map CTRL, ALT, and IME to any buttons you want, (8) add PHM RegEdit, Notepad and a few other PPC PowerToys (I also added MADE because it is more powerful than Notepad), (9) add KT_Capt (print screen!), and (10) add FontOnStorage (yes, a very old program that dates back to WinCE 3.0, but still works on WM6.1 as long as the fonts in your SD card don't conflict with those already in internal memory). I preserved Adobe Reader LE, the Camera app, and IA Zip.
I modified the registry entries to (1) enable ClearType and menu animations (but disabled HTC's EnlargeMenu because it doesn't play nice with menu animation), (2) set internet cache/cookies/history to load onto SD card, (3) display both date and time (and AM/PM) in title bar, (4) enable font linking so Tahoma can work together with MS UI Gothic to display full Latin/Greek/Cyrillic/Japanese, (5) enable and configure the Japanese IMEs, and (6) set the new black Vista-like HTC theme as the default rather than WM6.1's solid-green default theme or Sprint's annoyingly-bright orange theme (although both themes are still included if you want to use them).
I used NBHExtract on the original stock ROM to extract the NB files, then NBSplit/ImgfsFromNB/ImgfsToDump to dump the OS, then PKGTool to convert dump to packages, then the usual ROM-kitchen procedures (remove unwanted files, add wanted files/packages with some help from CAB Extractor and InitFlashFiles Generator, modify RGU entries, regenerate DSM files with BuildDSM, modify packages.sof with XVI32, and dump XIP with RomMaster), then BuildOS to "bring packages to a boil" into new dump, then ImgfsFromDump/ImgfsToNB/NBMerge to "simmer" new OS.nb, then HTC Extended ROM Editor to remove the Sprint bloatware from ExtROM.nb, then finally NBHGen to "bake" both OS.nb and ExtROM.nb into the new ROM.
As I said above, the radio and splash image NBs are not included in this 82.2-MB ROM; adding the radio and splashes, the ROM grows to 94.1 MB, which is still 2.5 MB smaller than the stock ROM (even after adding that big, uncompressed Japanese font MS Gothic which is about 8 MB, but that's because the font itself is smaller than the whole combination of OnDemand/AudibleAir/SprintMusic/TeleNav/ringtones).
I thank pof/TheBlasphemer, mamaich/Tadzio, bepe, AnDim, and bot for all the executables they made that made my ROM cooking possible.
For those Sprint Mogul owners who don't want outdated fonts, annoying bloatware, or duplicated-in-device ringtones, my ROM can be downloaded via RapidShare:
http://rapidshare.com/files/144942116/Sprint_Mogul_3.56_OS_ExtROM_only_by_Unicode787Plus.exe.html
congrats! I just cooked my first couple roms a few nights ago, and one for my girlfriends titan too. its fun and addictive!
Sprint Navigation (TeleNav) and Sprint TV installer CABs
For those who download and flash my Sprint Mogul ROM and still want TeleNav and Sprint TV in their Moguls, they're attached to this message. Just copy them to an SD card and install them, easy! (You can install them either into internal memory or into SD, makes no difference!)
Will later post the ringtones I removed from my ROM.
Sprint Mogul ringtones
Ringtones removed from my ROM are attached to this message. For some reason I had to split them into two different ZIP files because xda-developers constantly refused my single 2.18-MB ZIP (even after using Legacy ZIP 2.0 compression method)
MMS
There is no way to add MMS (PIC/VIDEO)? I'm not using the 8525, i have a new MOGUL (SPRINT)
Sorry, I don't use MMS at all (and VERY VERY RARELY use SMS), so I don't know how to add MMS support to Mogul. For that you'll have to ask either mamaich or bepe in either this forum or ppcgeeks.
If I flash your cooked rom.. and I dont like it ... can I flash back the original rom.
mrfordwrench
What is up with the battery icon on the upper right. It looks like it is broken. Is it supposed to be that way. Otherwise everything works great.
What exactly is the PQzII for?
Mrfordwrench
mrfordwrench said:
If I flash your cooked rom.. and I dont like it ... can I flash back the original rom.
mrfordwrench
Click to expand...
Click to collapse
Yes you can flash back the original ROM - by redownloading it from the HTC website. Same procedure if you try any other custom ROM - like mamaich's or NoChem's kitchens...
Battery icon
mrfordwrench said:
What is up with the battery icon on the upper right. It looks like it is broken. Is it supposed to be that way. Otherwise everything works great.
What exactly is the PQzII for?
Mrfordwrench
Click to expand...
Click to collapse
Read my private message - that explains the purpose of PQzII.
As for the battery icon, I don't know. If you disable date/clock display on the title bar (either by doing so from Settings or by messing up with the Registry), then you'll see a useless battery icon instead of the clock. HTC's own custom battery indicator (shows only on Today screen) is a bit more accurate, but not as accurate as Palm Treo's own custom title-bar battery icon. If I could somehow copy Palm's battery-icon code (cannot do so directly from the phone - it seems to be copy-protected, and I don't have access to a Treo WinMo kitchen) and transplant it into my next Mogul ROM, then I would be happy.
Hi Dear,
I was looking for the same thing you done. I just wanted to remove some of the programs (like office mobile, pdf, audible air, sprint navigation etc) and not to added anything else to that original rom. The process you described over here is quite short and not elaborative. I tried and reached upto the step of generating "imgfs.bin" but thereafter i was hanged and i could not do any more i.e. dumping, packaging and the reverse process. Can you do me a favour and give some detailed steps or if possible can you give me the link providing details on this as well as all the required softwares (I done all these steps on command propmpt, is there any better way like grapical interfece)
Very eagrly waiting for your reply.
Regards
Tarun Kabra
Cooking ROM
tarun_kabra said:
Hi Dear,
I was looking for the same thing you done. I just wanted to remove some of the programs (like office mobile, pdf, audible air, sprint navigation etc) and not to added anything else to that original rom. The process you described over here is quite short and not elaborative. I tried and reached upto the step of generating "imgfs.bin" but thereafter i was hanged and i could not do any more i.e. dumping, packaging and the reverse process. Can you do me a favour and give some detailed steps or if possible can you give me the link providing details on this as well as all the required softwares (I done all these steps on command propmpt, is there any better way like grapical interfece)
Very eagrly waiting for your reply.
Regards
Tarun Kabra
Click to expand...
Click to collapse
Once you have generated imgfs.bin, you must dump it with a tool named ImgfsToDump.exe. It will create a folder containing the whole dumped image. Then you must use another tool, PKGTool.exe, to unpackage the dump folder into its constituent package subfolders (called packages). Now it's just a matter of removing unneeded files (be careful here, you don't want to remove files that are needed by WinMo itself) and updating outdated fonts (Courier New and Tahoma) with newer versions (you will first need to find on which pacakges they are located, then copy the new versions onto those same package folders) and, optionally, adding new fonts, input methods, or other programs onto the Custom subfolder. You will also need to edit some RGU registry entries (each package may have one) in order to activate some features or input methods. Then you will need to run another tool, BuildDSM.exe, to reprocess the edited packages. Then it's time to build a new dump from the new and edited packages: you will need to download BuildOS for this. BuildOS has a tool called BuildOS.exe, but running such a tool is tricky since you can't just double-click on it (it will crash), you must run it from some batch file located just outside the folder containing the tool; BuildOS.exe will convert the packages back into a new dump. Then it's just the matter of reconverting the dump into a new Imgfs.bin (with ImgfsFromDump.exe), inserting Imgfs.bin into a new NB file (the ROM itself) with ImgfsToNb.exe, then repackaging the NB file into the final NBH ROM with NBMerge.exe.
This is roughly all I can remember. You can optionally seek help from other fellow users, since I learned my technique from one or several of them: mamaich, no2chem, maybe Asukal...
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.
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.