1998/9/3
刚刚学会了如何用 Visual C++ 来中文化,但是一格一格慢慢地修改 resource 有点累人,更何况软体出新版本的速度这么快,一出新版本不是又得要重头翻译全部重来,会疯掉的~~
有了 glossary 这套个程式以後,就可以快速的中文化新版本,省掉很多事罗!!
Glossary 现在有 Windows 介面的版本了!! 字典产生程式是由林洵贤所写,视窗介面程式是由谭臻业所写。你可以在中文化软体联盟的 FTP 站抓到这个程式∶
ftp://cpatch.hort.ntu.edu.tw/patchutil/tool/glossary.zip
要特别注意的是,这个程式是用 Perl 语言写的,所以要执行这个程式,必须要先安装 Perl 的直译器,你可以在 ActiveState Tool 取得 Perl for Win32。
安装 Glossery (Windows 版本) |
下载了 glossary.zip 以後,直接把它解压缩到你喜欢的目录,就可以使用了,不需要安装程式。
如果是第一次使用,必须在 Glossary 中先设定 prel 直译器的程式路径。
按下
Perl...
的按钮,选择 perl.exe 这个档案,然後按下开启旧档
即可!
存成RC档 |
在开始之前,先教大家怎样用 Visual C++ 5.0 将 resource 另存成 .rc 的档案。因为以後常常需要用到。
先用 Visual C++ 5.0 开启 EXE 或 DLL 档的 resource,然後在下拉功能表
File → Save As...
,存档类型的地方选择Resource Script (.rc)
,再按下「存档」就可以了!! 在存档之前最好先建立一个目录放置档案,因为它会把 resource 中所有的 bitmap、icon 都分离出来储存,可能会有一大堆档案,但是我们会用到的只有 .rc 档案而已。我们所存成的 rc 档案也可以用 Vusial C++ 开启再编辑,但是开启时,它原本的 bitmap、icon 档都必须存在,否则会有错误无法开启。
存 .rc 档之前,也可以先将 bitmap、icon 和其他不需要中文化的东西先删除掉,留下要翻译的项目即可。然後再存成 .rc 档案。
产生字典档 |
什么是字典档呢? 就是一行行英文和相对应中文的一个文字档案,像下面这个样子∶
List Help topics\nHelp Index
列出「说明主题」\n说明索引
List Help topics\nHelp Topics
列出「说明主题」\n说明主题
Mail system DLL is invalid.
电子邮件系统之DLL是无效的.
Menu Bar
功能表列
Menu Text
功能表文字
Metafile
中继档字典档有什么好处呢? 当我们中文化的软体出新版本时,不需要全部重新翻译,利用原先翻译好的字典档,只要再加上新增的英文讯息翻译,很快就可以中文化新版的软体了!! 而且这样一行一行的编辑字典档,也比直接在 Visual C++ 中编辑 resource 来的方便简单多了!!
要产生字典档,首先要准备好原始英文软体的 RC 档,和以前翻译过的中文 RC 档。我们可以利用上一节所讲的方法,把英文原始的 EXE (或 DLL) 档和中文的 EXE (或 DLL) 档分别存成 RC 档。
要注意的是,这两个 RC 档案 (中文和英文的) 必须是同一个软体同一个版本。
我们利用 Glossary 来制作字典档。执行 Glossary 之後,选择
产生字典档
的标签,然後分别按下浏览...
,来选择来源 RC 档
(即原来英文的 RC 档)、翻译後 RC 档
(即同一个版本的中文 RC 档),和输出字典档
的档案名称和路径。三个档案路径选择都选择好後,按下
开始制作
就可以了!! 所产生的字典档就是输出字典档
位置所指定的档案。
将字典档排序 |
字典档产生以後,我们就可以直接来编辑修改字典档,把一些不适合或还没完成的翻译做完。它是一个纯文字档案,奇数行是原本英文的讯息,偶数行则是中文翻译。
Glossary 可以先将字典档做一个整理、排序,删除掉重复的翻译。
整理字典档的好处是∶将相同的英文字放在一起,可以统一翻译,不会有前後翻译不同的情况发生。坏处是∶原本的对照档,根据前後区域意义可能有较合适的翻译,但是整理过後,前後区域就没有相关的关系了。
附带说明一点,Glossary 删除重复的原则是,以最後面出现的取代前面的翻译。
执行 Glossary 之後,选择
整理字典档
的标签。在
欲处理之字典档
的地方,按下浏览..
. ,选择字典档的档案路径。最後按下
开始制作
,开始整理字典档。之後你再去编辑字典档,就会发现字典档案内容已经被排序整理过罗!!
利用字典档中文化新的版本 |
最重要的时刻来临了!! 刚才大费周章做出来的字典档终於派上用场了。我们要利用字典档来翻译新版本的程式。
我们要先准备好新版本程式的英文 RC 档。
执行 Glossary 之後,选择
翻译新版本
的标签。分别浏览
字典档
、新版本 RC 档
、翻译後 RC 档
的档案和路径,然後按下 开始制作,就会产生新的、翻译过的 RC 档案了!!完成後再用 Vusial C++ 开启新产生的 RC 档,检查一下,编辑新增 (尚未翻译) 的部份就可以了!!
存回档案 |
编辑完的 RC 档无法直接存回到 EXE 或 DLL 档中,这样没有办法使用啊!! 所以我们要利用 "剪贴" 的方式。
同使用 Visual C++ 开启同版本的 EXE (或 DLL) 档和 RC 档。举例来说,我要将 RC 档中新的 String Table 存到 EXE 档中,照下面的步骤∶
- 先删除 EXE 档中的 String Table。
- 在 RC 档的视窗,选取 RC 档中的 String Table,然後按下复制 (Copy) 功能按钮 (从下拉功能表选也可以)。
- 回到 EXE 档的视窗,按下贴上 (Paste) 按钮,就完成啦!!
其他的 Menu、Dailog 也可以用复制、贴上的方式来做。这样一来就可以把翻译过的东西存回到 EXE 档中了。
使用技巧 |
你可以反覆的使用 Glossary 来产生字典档然後翻译。像我的习惯是,软体一拿来,先用两个英文的 RC 档来制作字典档,当然里面全部都是英文。然後再慢慢编辑翻译字典档。
字典档翻译完成後,用来翻译原来英文的 RC 档,再用 Visual C++ 来做最後的修正,把一个一个 Dailog、Menu 打开,看看有没有不妥的翻译或位置不适当的地方。
如果同一个程式出了新的版本,先用原来旧版本的字典档来翻译新版本的 RC,然後再用 Visual C++ 开启新的 RC 来修改,补上新的翻译。
灵活的运用这些工具,或许你会发现更有效率的方式哦!!