Sublime Text 手工汉化和插件开发、提交方法教程(一)——手工汉化

来源:互联网 发布:北航 软件考研 编辑:程序博客网 时间:2024/04/29 22:30

  (转载须注明本文原始地址http://write.blog.csdn.net/postedit/8962727和作者“碧海情天 赵亮”及博客地址http://blog.csdn.net/theforever)

目录:
手工汉化 http://blog.csdn.net/theforever/article/details/8962727
插件开发 http://blog.csdn.net/theforever/article/details/8963194
插件发布 http://blog.csdn.net/theforever/article/details/8967507

 

  Sublime Text(以下简称ST)是一个近年推出的编辑文本和程序代码的优秀工具。只要一打开,你就会意识到它和以往的编辑工具的不同,感觉到它在界面安排上的先进性,更美观也更贴心。如果再通过它的中英文介绍材料简单了解一下它的特性,你就会发现,这是一个在以往的文字和代码编辑器基础上,收集了众多用户最迫切需要的一些实际需求并加以实现的让你惊喜的编辑器。功能贴心,界面时尚,这就是它首先能抓住你的特色,接下来你还会发现它有很多非常有用的插件,包括针对各种编程语言的语法补充和提示、zencode、格式化,以及通用的一些功能插件,而所有这些插件都是开放代码的,可查阅学习,也可根据需要进行修改。而且虽然功能强大,ST本身的安装文件体积还不到十M,在低端机上运行也很流畅。所以这绝对是值得你拥有的编辑工具。
  关于使用方法和热键介绍,以及插件安装,都有专门的文章,可以搜索阅读。

  在汉化方面,大多文章都只介绍使用现成的汉化包。这固然方便,但解决不了所有问题。先不提版本更新和汉化包更新的时间差,单说你所安装的一些插件,由于它们常常要额外添加英文菜单项,所以就会导致汉化不完全的现象,不仅是它们添加的菜单自身,还包括ST的顶级菜单都常常会重新覆盖显示为英文。因为汉化包只包括基本的ST功能菜单,它既不知道你还会安装哪些插件,也不可能预先把那些插件产生的菜单项目汉化进去,因为那会生成大量没有实际实现的无用菜单。

  所以了解插件包的机制,学会手工对插件甚至ST汉化,会让你掌握主动,不需等待靠人,就能解决问题。
  首先从汉化ST说起:

  1、在ST的安装文件夹下有个 Packages 文件夹,进入这个文件夹,你可以看到里面文件都是以 sublime-package 为扩展名的,这表示的就是ST插件包。其中很多文件以编程语言名称作为文件名,这些是语法文件,是语法高亮和自动补全的参考。但这个文件夹并非只有这些,还包括默认的主题方案(theme)以及更重要的 Default.sublime-package文件,我们要汉化的菜单文件就包含在里面。

  2、接下来你自然需要知道怎么把菜单文件弄出来进行翻译然后让它生效了。sublime-package这个扩展名并非一种专门的物理文件格式,而是一种逻辑上的文件分类表示,它的实际文件格式其实是ZIP(如果你的软件经验够多,会在不少软件中看到类似的用法),所以只要你把这个扩展名改成ZIP,就可以用任何支持ZIP的解压软件解压成一个文件夹,内含扩展包中所有文件。

  3、在这些文件中找到扩展名为sublime-menu的几个文件,用文本编辑器打开,可以看到所有菜单项都在里面。其中 "caption": "XXXX" 就代表菜单显示的名称。除了 { "caption": "-" } (表示菜单分组间隔线)不要动之外,其余的caption后面的英文用汉语替换即可。

  注意:带有"mnemonic": "某字母"的,表示该菜单的键盘访问键,所以在翻译成汉语时,应该把这个字母用括号括起来,加在汉语的前面或后面。

  4、保存,并且要注意,必须选择编码为UTF8(可以选择不加UTF头BOM),而不能是GBK或GB2312。因为ST想用UTF8统一全球各种字符集,抛弃了对GBK等字符集的自动识别,所以如果存成GBK,ST就不能正确识别汉字部分,会无法显示或显示不正常。

  说到这个地方,顺便说说ST3的菜单中有一项Reopen,其中又含有30来项子菜单,除了UTF16和HEX外,其余一大堆都是欧美的字符集,在系统注册表HKLM\SOFTWARE\Classes\MIME\Database\Codepage下面代码页字符集中都可以找到,但又有些变化。有兴趣的朋友可以尝试一下,看能否把亚洲常见的字符集加进去——但愿ST没有种族歧视到这程度。

  5、应用。要想生效,需要把解压文件夹再压缩回ZIP(注意,要在文件夹里选择所有文件压缩,而不是在文件夹外选择文件夹压缩,那样就会因为目录层级不对而无法生效),然后改回原来的扩展名,并移到原文件夹中。

  建议采用下面的另外一种局部修改方法,更简便且安全:

  1、同上。

  2、在压缩包中只选择扩展名为sublime-menu的几个文件解压出来,放在一个名为Default的文件夹中。

  3、编辑文件并保存,注意事项同上。
  4、剪切 Default文件夹。

  5、在ST中选择“Preferences/偏好”主菜单(右数第二个)->“Browse Packages/浏览扩展包”,系统会打开一个文件夹,按CTRL+V把之前剪切的 Default文件夹粘贴在这里。

  这种方法不需要重新打包并改名,而且可以随时更改,最主要的是会保留原始的 Default.sublime-package文件,以防万一改坏不能复原导致只能重新安装软件。同时这种方法还会在保存文件时立即反映出改变。在下一教程“插件开发”中,可以利用这个方法调试插件。

  以上是ST主体的汉化。通过对扩展包 Default.sublime-package文件里的 sublime-menu 文件进行修改。

  对其它插件进行汉化的方法类似。

  首先要找到插件的文件,ST插件有三个存放位置,一个是ST安装文件夹下面的 Packages 文件夹,一个是在上面第5步找到的 Packages 文件夹,还有一个是和第二个 Packages文件夹同级的Installed Packages文件夹(“Browse Packages/浏览扩展包”之后向上一级就可以看到)。

  插件名称和 sublime-package文件的文件名是对应的,因此很好找到对应的扩展包。找到之后,使用上面两种方法之一进行修改即可。

  汉化的方法至此结束。教程第二部分将会讲解“开发ST插件”的步骤,结合我自己写的一个实例进行示范。