计算机之家


 
标题: [原创] 关于WinHex13.8R4的language.dat文件的中文化问题
ynafa
技术精英
Rank: 11Rank: 11Rank: 11Rank: 11



技术精英组  
UID 14810
精华 1
积分 358
帖子 122
威望 348
现金 947 币币
存款 1600 币币
阅读权限 11
注册 2007-3-16
状态 离线
 
发表于 2007-3-20 02:08  资料  个人空间  短消息  加为好友            
国际英文域名注册全部仅售48元一年
关于WinHex13.8R4的language.dat文件的中文化问题

关于WinHex13.8R4language.dat文件的中文化问题

    即使我用Visual Localize 6.12简体中文注册授权版对WinHex.exe文件进行了完整的中文化处理,但菜单和对话框的部分内容还是英文版,经过研究发现,是language.dat文件在做怪。起初,为了省事,就直接修改网络上发布WinHex13.6R7language.dat中文语言文件使用。可是发现基本上已经能够使用。但是,所有应该出现【确定】按钮位置,确定这两个字不见了,成了白板,实在不完美!有朋友戏称:这是白板确定的简体中文版!有感于此,决定研究language.dat文件的结构,进行再次中文化,实现完美的简体中文版。
    准备工作:英文版的language.dat文件有193KB179999字节),太大了!必须精简成只保留英文内容的文件。使用WinHex12.8R6简体中文版打开,选块开始→选块结束,编辑保存到文件,得到39.7KB40679字节)的language.dat文件。然后使用Hex Workshop将第714字节用00填充:
为了对此language.dat文件进行中文化,必须弄清楚language.dat文件开头第34字节和第56字节的含义:
    第34字节表示:默认语言、多国语言总数:WinHex的默认语言是英语,16进制ASCII代码A5;多国语言有德语、法语、西班牙语、葡萄牙语、意大利语,总数5种,16进制表示为05。因此,当翻译为简体中文语言时要进行改写:A5052205
    第56字节表示:默认语言本文件中占有的字节总数,此处D99E16进制)=4066510进制)字节,加上第11414字节,正好是40679字节。因此,当翻译完毕后,检查右下角中文language.dat文件的字节数,减去14字节,点Hex Workshop自带的基数转换器按钮,将其转换为16进制值,用此值填充改写D99E
WinHexlanguage.dat文件的字符块结构为:
0000 默认语言扩展语言数 默认语言字节数 扩展语言1字节数 扩展语言2字节数 扩展语言3字节数 扩展语言4字节数 扩展语言5字节数 默认语言字符串1 00默认语言字符串2 00默认语言字符串3 00……00默认语言字符串N00
    每个字符串都以00为字符串结束标志,全部扩展语言字符串结束标志为再加00,依次也可以这样理解它的结构:
0000 语种描述 语言字节数 语言字符串 0000  (语言字符串之间用00分隔)
    按照汉化新世纪《汉化教学文集》的说法,WinHex13.8R4language.dat文件字符块结构应该归属于长度 ASCII字串。
    了解了上述基本知识后,就可以用Hex WorkshopWinHexlanguage.dat进行简体中文翻译作业了,只是一定要记住:翻译完毕,一定要修改翻译后的16进制字节数。

                                              ynafa@126.com 2007.03.20

[ 本帖最后由 ynafa 于 2007-3-20 02:27 编辑 ]



 附件: 您所在的用户组无法下载或查看附件
本帖最近评分记录
davidson   2007-3-27 22:58  威望  +11   原创内容
davidson   2007-3-27 22:58  现金  +10   原创内容
顶部
松下顶级双核现正热卖中
wuyoucaoa
铜牌会员
Rank: 7Rank: 7Rank: 7


热心会员(一等荣誉)  
UID 5185
精华 0
积分 1406
帖子 1978
威望 1406
现金 52 币币
存款 7313 币币
阅读权限 7
注册 2006-7-23
状态 离线
 
发表于 2007-3-20 08:04  资料  个人空间  短消息  加为好友 
长长见识.






顶部
 

 
 
当前时区 GMT+8, 现在时间是 2008-10-14 19:45