zcy:sos!!!汉化中dialog出现乱码,语系已改。
我正在学习汉化,在win2000,vc++6.0下进行,menu汉化处理后是正确的,但dialog却是乱码的,急欲了解,请告知,或传相关的资料给我。
大宇:什么软件?方便的话传上来大家分析分析...:)
这样便于有的放矢...
zcy:很抱谦!软件存在版权问题,其是一个工业测量软件。
mago:愚蠢地回答是你对话框的字体改了吗?
还有哦,对话框可能调用的是其他的dll,而那些你并没有注意到,特别是大型软件,尤其如此。
zcy:字体改为9,宋,对于调用其他的dll,我再查一查。
大宇:拙见...
乱码肯定是由语系造成的,如果没有改变语系,设为宋体,恐显示就不大对头了;:),不过也有个别软件语系改为中国后,也会显示乱码,这种情况的对话框的语系不改则正常,不过字号好象小一点:)。具体情况不清楚,说不好,例如winzip的对话框以数字开头作ID的可修改语系,以字符开头的则不能改,改了就乱:)再试试吧,限于水平,先说到这,祝好!
zcy:太伟大了,真不愧是老法师,谢谢,有问题还请多指教
zcy:大宇兄,可否传seatools给我,在几处下载均碰壁。....
大宇:不会吧?!,天涯难寻,就去海角:)
到这里下吧,驭海人,seatools的作者主页http://extend.hk.hi.cn/~seadvr/hanhua/seatools10.zip
zcy:谢谢!顺利地找到了!
zcy:大宇兄,又要麻烦你了,在汉化过程中有几个问题,请多多指教!!
1.在一个*.DLL文件中,有version,且在string table中有二个string table,一个包含了hint的内容,一个包含了最下端提示框的内容,不管改哪一个语系,总有另一个出现乱码,而二个有不能同时将语系改为CHANA[P.R.C],应该如何处理?
2下拉框中的内容如何修改?
3.汉化后,有些编辑框内的缺省值丢失,如何处理?
4.汉化后,有的中文内容的后几个字无法显示出来,如何处理?但其中文串长比英文串长短。
领导在催我完成任务了,可我还有哪么多的问题,请大宇兄救一救了。
大宇:最好来几幅图,我替你保密:)
一下了这么多问题我也很晕呀。主要是看得不很明白:)
1.一般来讲,好象没碰到字串表不能汉化的问题,version的语言名能否改变,看看如何
2.下拉框是什么?
3.编辑框的缺省值失踪,是汉化过度了吧。
4.中文串短于英文串,应该没有问题,调整显示的长度试试。
说不清呀,抓几幅图看看,这样清楚一点:)
zcy:version的语系修改都不影响这个问题
在窗口的上面的乱码在一个string table项中出现,下面的提示栏文字在另一个string table 项中出现。
string table
string table (English[u.k]) (这里包含窗口上乱码的内容)
string table (Germany[Germany])(这里包含窗口下面提示栏的内容)
目前将germany 该为 china,如果将english改为china则上面是正确的,而下面则出现乱码。而二个string table项不能同时改为china,version语系改不改都一样。
WWP:……
关于2.你汉化时看不到字串很可能是ASCII字串;关于4.是对话框中的还是字串表中的字串?
大宇:WWP兄神龙再现,快来救我:)
兄台怎么上次知难行易后就找不着了,想念得紧。:)关于zcy友提出的问题,我也是糊里又糊涂,呵呵。zcy友抓的图没有给后缀,试了试,原来是jpg,看不清楚:(
两种语言的字串表,如果改成english不知会如何?
WWP兄来救救急,我很想帮帮zcy友,可不知该如何下手呀?!
另zcy友,可将你的4种情况的具体表现抓成图,gif格式最好,小一点无所谓...
BTW,其它朋友也来发表发表意见?怎么都藏起来,以后俺不到你们的论坛里灌水,嘿嘿。是谁?他们自己知道:)
Ronnier:一些个人看法:
没法不贴啊,看看下面的帖子,有某人拿着“宁愿自己淹死也不把水往外灌”相威胁,不得已……
1.一个String Table是英语,一个是德语(语系)?它们不能同时改为中文?这是怎么回事呢?除非它们拥有相同的ID,否则应该是不可能的啊,如果真的是拥有相同ID的话,试着将其中一个改为“中性”。
2.那些没有汉化到的E文是ASCII字串。
3.缺省值丢失,试着找是否有与原英文字串对应的ASCII串,也将其汉化。
4.显示不了是什么意思?把这个项目的宽度调大试试?
不知你这个是什么软件,纸上谈兵,瞎说而已。^_^
大宇:不要着急,慢慢来:)
乱码很讨厌,最近有朋友说,即使改了语系,有的软件也会出现乱码,真是....
楼上Ronnier的方法值得一试,嘻,我还没想到改中性呢:)
那些你找不到的字符是ascii字符,在rc文件里找不到。需用其它的工具如字符串替换器来提取。
建议先看一下汉化新世纪的有关教学文章,伟乾、明白、chinease等的文章。
当初你的对话框乱码是如何解决的,是有的ID没有改语系吗?我以前给你的意见其实取自吕达嵘关于汉化winzip的心得,不过有所联想而已,因为做过的软件不多,没碰到过类似情况,不好妄加评述。
提个小小建议,我从你汉化的图中看到的如“(O)选项”,如果译成“选项(O)”是不是更好一点:)
zcy:谢谢各位仁兄的大力相助!
将其中一个string table的语系改为“中性”,乱码就没有了,哈哈!!!多谢,多谢!!!
Ronnier:所以说有的时候中庸之道也不错哦。:)
zcy:很不好意思。又要请教各位了!!!
在把所有的exe,dll文件初步汉化后,仔细走了一下程序,发现还有一个没有汉化,再搜寻一边,仍没有找到exe,dll,通过用资源管理器中字符串内容匹配,找到相关文件,但其扩展名为:DLG,无法用VC++打开,如何处理???
大宇:这样来做...
笨一点的办法用HW和UE打开后修改。
更好的办法是用字串替换器或cxa来提取ascii和unicode,修改后写入。
VC++无法读取很正常,没有一个工具是包打天下的:)
建议系统阅读一下教学文章,世纪里都有,然后再找一些不同语言编写的小程序练练,欢迎加入汉化队伍:)
-----------------------------
编注:本文引自大宇论坛。