论坛风格切换切换到宽版
  • 35504阅读
  • 6回复

【原创】如何使用PASSOLO汉化.INI文件 [复制链接]

上一主题 下一主题
离线xxd
 
发帖
472
金钱
0
威望
0
只看楼主 倒序阅读 0 发表于: 2004-06-21
如何使用PASSOLO汉化.INI文件
——PASSOLO宏使用实例
作者 徐小东<laolaotu@163.com>

PASSOLO作为一套开放式的软件本地化工具,其显著特征是可自由定制宏。用户利用PASSOLO宏不仅可以扩展PASSOLO的功能,而且还能简化PASSOLO的工作流程,这实在是一项极好的设计。笔者拟通过实际例子的运用来说明PASSOLO宏对于PASSOLO现有功能的延伸。希望能够令你对PASSOLO加以重新认识。
.INI文件是多语版软件所采用的语言文件类型之一。按照传统的思路,我们在汉化.INI文件时惯用的方法是使用记事本之类的文本编辑器直接进行修改。这种方法的弊端是很明显的,如:不易区分哪些是应该汉化的内容(对于新手而言)、不便利用已经汉化过的资源项目(即无法制作字典实现升级汉化)等等。当然,假如你会使用Alchemy Catalyst的话,也可用其自定解析规则的功能加以处理。但在这里,笔者将给出利用PASSOLO宏来对.INI文件进行处理的方法。
一、      介绍.INI文件的结构
一个典型的.INI文件主要包括三个重要的部分:注释部分、节部分和内容部分。其中,注释部分主要是对相关内容进行说明,或者提请注意的文字,它常常以“;”(即英文状态下的分号)开始,有的独占一行,有的放在行尾。一般来说,节部分与分类有些相似,它主要将关联的资源项目放在一起,通常节名由“[]”(中括号)围住。内容部分是.INI文件的重头戏,它由三项组成:资源ID(如57600),通常是字母(有意义的英语单词)、数字或字母与数字的组合;符号(如=),主要起连接作用;资源内容(如&File),也就是需要翻译的部分。具体说明请见下图。
欢迎访问我的Blog
来看看,提提意见吧。

User Posted Image
离线xxd
发帖
472
金钱
0
威望
0
只看该作者 1 发表于: 2004-06-21
这里需要说明的是,并非所有的.INI文件都是这种结构,所以在处理前还得具体分析。
二、      使用PASSOLO宏处理.INI文件
Step1.下载并安装宏文件
先从http://www.passolo.com/bin/PslIniScan.zip下载宏的压缩包文件,解压后文件为:PslIniScan.bas。接着将此文件复制到PASSOLO安装目录下的Macros(默认情况下,..\Macros为PASSOLO宏的保存目录)文件夹中。至此,完成PASSOLO宏文件的安装。
Step2.对宏文件进行必要的设置
启动PASSOLO应用程序,单击“工具|宏”菜单命令(快捷键Ctrl+M),打开宏对话框。现在,您应该能够看见PslIniScan.bas文件在全局宏文件夹中。先选择它,再单击“设置为系统宏”按钮,将该宏定义为系统宏。然后单击“关闭”按钮离开此对话框。最后,单击“工具|系统宏|启动系统宏”菜单命令,以启用该宏。此时,您可以看看PASSOLO的状态栏,如果显示了系统宏图标,则说明开启成功。
Step3.建立.INI文件汉化方案
建立方案的具体过程笔者就不再赘述了,如果你有不明了的地方,就看看笔者以前所写的拙作吧。这里,笔者只对应该注意的地方提一提。在添加源文件时,要选对文件类型:INI 文件(如图);在设置源语言时,一般将其设置为英语(美国)即可(当然,这得视原始的INI文件而定)。好了,打开源列表和翻译列表看看,是不是有您想要的东西?接下来该怎么做,就不用笔者饶舌了吧。
欢迎访问我的Blog
来看看,提提意见吧。

User Posted Image
离线xxd
发帖
472
金钱
0
威望
0
只看该作者 2 发表于: 2004-06-21
三、      一点补充
补充1:如果你要处理的语言文件扩展名不是.INI,而是其他的诸如.LNG等,但其内部结构与.INI相同,我想是否可以通过更名的方法对其进行处理?即,将你要处理的语言文件扩展名更改为.INI,完成后再改回去。从理论上来讲,我想是可行的,但我没有验证。
补充2:前文说到连接资源ID和资源内容的符号不只“=”(等号)一种,比如“:”(冒号)等,这时该怎么办?我的解决方法是修改PASSOLO宏。修改的部分请见图。
欢迎访问我的Blog
来看看,提提意见吧。

User Posted Image
离线xxd
发帖
472
金钱
0
威望
0
只看该作者 3 发表于: 2004-06-21
本文用到的示例语言文件及修改的宏。
附件: Sample.rar (15 K) 下载次数:124
欢迎访问我的Blog
来看看,提提意见吧。

User Posted Image
离线黑蓝主义
发帖
355
金钱
0
威望
0
只看该作者 4 发表于: 2004-06-21
不错,要是 徐小东 老师能将这个宏扩展一下,适应更多的文件后缀或格式就好了。
另外,请问 徐小东 老师 PASSOLO 能不能在处理多层文件夹中的文档时保持文件夹层级结构?
离线xxd
发帖
472
金钱
0
威望
0
只看该作者 5 发表于: 2004-06-21
QUOTE(黑蓝主义 @ 2004年06月21日 14时37分)
不错,要是 徐小东 老师能将这个宏扩展一下,适应更多的文件后缀或格式就好了。
另外,请问 徐小东 老师 PASSOLO 能不能在处理多层文件夹中的文档时保持文件夹层级结构?

黑蓝主义兄:
兄称偶为老师,偶可真不敢当啊。其实,偶只是把自己在学习过程中的一些心得写出来罢了……偶也常走不少弯路,所以算是一个过来人的提醒吧。偶的目的是与各位汉化朋友交流。偶曾拜读过黑蓝兄关于Alchemy Catalyst的文章,受益匪浅啊。呵呵,互相学习,共同进步。
1.如果有时间的话,我想我会扩展这个宏的,因为不管是对自己还是对别人,这都是一件很有利的事情。
2.PASSOLO虽然不能保持文件夹层级结构,但它的方案同样可以象Alchemy Catalyst一样存贮多个文件。所以,从这点来看,能否保持文件夹层级结构似乎并不重要。另外,在生成目标文件时,PASSOLO提供了更为灵活的功能,可以按照不同的要求自由定制。
欢迎访问我的Blog
来看看,提提意见吧。

User Posted Image
离线刘波

发帖
2998
金钱
200
威望
20
只看该作者 6 发表于: 2004-06-21
徐小东 大大实在厉害。佩服佩服啊!
希望大大顺便研究一下它的宏语言。找出通过宏来修改翻译错误的语句的函数就好了。语言表达不好。恐怕没说明白。举例说明:
比如已经有一个字符串如下: &File 其翻译为: 文件(&D) 。很明显这个快捷键是错误的。不知道能不能通过宏来更改这个呢? 只需要找到怎么更改,不需要知道更改为什么。因为可以通过宏来自动检测出更改的地方和需要怎么更改。

以前我写的那个检测快捷键错误的宏就是受到这点的困扰。一直无法完美。唉
要是能用宏更改的话就完美了。不过虽然我没找到。但是我想应该是可以的吧。