ColorSchemer Studio 2.0 汉化笔记
2009年3月1日星期日
先说一下该软件的非标资源汉化:
ColorSchemer 2.0 源程序是以 Borland Delphi 开发的。用 Sisulizer 2008 汉化完毕标准资源后,构建一个汉化半成品的ColorSchemer Studio.exe文件,再用 UEStudio 将其打开查看,比如这里我们查找非标字符串“Unable to load "”,如下图:
可以看到图中显示十六进制编辑模式下,“FF FF FF FF”后面紧邻的数值就是后面非标字符串的字符串长度计数器。一般对 Delphi 开发的程序进行非标汉化时,不仅要汉化字符串,而且要修改相应的字符串长度计数器。汉化新世纪有这类辅助计算工具“字符串Hex长度计算器”下载。上面我们将“Unable to load "”汉化为“无法加载 "”,比原来英文字符串少了 6 位(不足的空位补 0),这样我们需要把图中十六进制值 10 改为 0A。
下面说一些特别要注意的地方:
用 Sisulizer 2008 生成的ColorSchemer Studio.exe文件在运行时会发现有两处控件发生字符错位问题,如下图:
解决此问题的方法是,用Resource Hacker 打开ColorSchemer Studio.exe文件,将 RC 数据 TFRMAIN 窗体中的第一处“Font.Height”值改为正值(这里我用的数值为 13,采用字体 Tahoma)即可,见下图:
有一种情况,如果用Sisulizer 2008 构建汉化文件时没有让它自动更改字符集,会出现颜色收藏夹里部分字体显示不全的现象,见下图:
解决办法是,将 RC 数据 TFRAFAVORITES 窗体中第一处字符集更改为“Font.Charset = GB2312_CHARSET”,字体改为“Font.Name = '宋体'”,见下图:
为何本人用Sisulizer 2008 构建汉化文件时没有让它自动字符集呢?原因是 ColorSchemer 2.0 在软件界面有三处位置用到了特殊字体“Marlett”,它只有在“Font.Charset = DEFAULT_CHARSET”情况下才能显示正确的字符。见下图:
如果启用了Sisulizer 2008 默认更改字符集功能,也可以手动改回来,分别是在 RC 数据 TFRAMIXER以及 TFRPRINT 窗体中,见下图能正常显示的修改结果:


最后说一下非标资源中“Websafe”与“Make Websafe”这两个字符串的汉化。将“Websafe”译为“网页安全色”时字符不够,且程序中是将其作为常量进行比较调用,也无法直接进行非标挪移,折衷的办法是译为“安全色”,在非标资源搜索中找到的第一个“Websafe”就是判断比较常量,字符本身也显示在程序主窗体下边工具栏的标签里;“Make Websafe”主要显示在鼠标右键以及工具栏图标的工具提示字符,对它不能作为一个整体进行中文字符替换,而是要拆分为“Make ”与“Websafe”。“Make ”本身在程序中也作为判断比较常量,非标中一共出现三次,必须保证这三处的中文替换字符一致,否则程序出错,这里“Make ”译为“ 获取”(空格移到前面),为了保持右键菜单美观,后面的“ 复制”“ 设置为基准颜色”“ 重命名...”“ 删除”等在替换时都在前面多加了一个空格。将“Make Websafe”替换为“ 获取安全色”时,其字符串长度计数不能忘记计算前面的空格,即为 0B。见图:

0 评论:
发表评论