汉化辅助工具(2008/12/8 0:17 更新)

字体: | 打印

First of all: 圆通快递是垃圾!

下面是正文:

本来打算汉化Timeless Kingdoms for 1.010,由于不喜欢在editplus里进行大量文本工作,所以写了这个东西
主窗体(也就这一个窗体……):
图1


1.jpg



图2


2.jpg



图3


3.jpg



中间部分是打开后的原文-译文对照表
点击其中的一条后,会把译文部分的文本信息放在下面的文本框中,以供修改
当修改完成后,可以直接按下或者上箭头,中间部分会自动选择当前条目下或者上一条目,这样翻译的时候就不需要用鼠标来回点了

软件对每一个翻译过的词条会保存下来,当下一次选中一个已经被翻译过的条目时,会自动把记录的译文放在下面文本框里。比如截图里面的两个“练习剑”,只需要翻译第一个,然后按下箭头第二个就会自己添进去了,因为这两条的英文都是“Practice Sward”

接下来看菜单:
上面“文件”里的没什么意思了,只说那个“给所有中文添加空格”。这个是为了在把整个文件翻译完后,可以批量得为所有中文字符加一个空格做的,添加完后就能在下面看到效果。

下面的文本框中右键菜单有两个条目,分别是添加空格和去除空格;点击添加空格后,会给每一个中文后面加一个空格,而删除空格则会去除掉每一个左面挨着中文字符的空格。这个主要是方便修改大段译文的。

下面是一个例子

QUOTE:

dlga_lord_suggest_action:lord_suggest_become_marshall|我 任 命 你 为 {playername}王 国 的 元 帅。
dlga_lord_suggest_become_marshall:lord_pretalk|噢!是 真 的 吗?我 真 是 太 荣 幸 了!
dlga_lord_suggest_action:lord_suggest_attack_enemy_castle|去 攻 打 敌 人 的 城 镇 或 城 堡。
dlga_lord_suggest_action:lord_suggest_go_to_friendly_town|回 到 友 军 的 城 镇。
dlga_lord_suggest_action:lord_suggest_attack_enemy_party|进 攻 敌 军 的 战 队。
不晓得{}里面的叫什么,不过程序处理出来的格式是对的。

程序编译环境:
Windows 2008 中文,Visual Studio 2008 TS 英文,.net Framework 3.5(执行环境只需要这个就可以了)

QUOTE:

下载(括号里面是文件更新日期)

exe文件下载2008/12/1 1:10):

MnB Translater Helper.rar
(2008-12-08 00:20:12, Size: 297 kB, Downloads: 61)



源代码2008/12/8 0:17):

MnB Translater Helper_src.part1.rar
(2008-12-08 00:20:12, Size: 234 kB, Downloads: 13)


MnB Translater Helper_src.part2.rar
(2008-12-08 00:20:12, Size: 234 kB, Downloads: 8)


MnB Translater Helper_src.part3.rar
(2008-12-08 00:20:12, Size: 56.6 kB, Downloads: 4)



Timeless Kingdom的不完全版中文语言包2008/11/17):

Timeless Kingdom cn_s.rar
(2008-11-17 15:55:58, Size: 182 kB, Downloads: 88)


或者这个帖子:
http://bbs.mountblade.com.cn/vie ... &extra=page%3D1

禅达归来语言包2008/12/1 1:10):

cn_s.rar
(2008-12-01 01:13:32, Size: 187 kB, Downloads: 0)



The Eagle and The Radiant Cross(老鹰和光明十字)汉化包2008 12/7 23:21):
http://bbs.mountblade.com.cn/vie ... e%3D1&frombbs=1

QUOTE:

更新日志:

2008/11/12 13:54
   解决了一个小问题:有些时候,首行的词条会被自动置空
  对于不满意的翻译,可以把翻译框置空,然后点选任意其他词条,那么软件就会把那个不满意的翻译恢复到改变前的样子
  更新了正则表达式,可以正确处理中文标点和奇怪的符号了,比如这样的:★○●

2008/11/13 00:45
  添加了一个用来显示原文的文本框,这样翻译的时候会更方便
  修正了一些小问题,已经测试了翻译了一小段文字

2008/11/17 10:39
  *添加了语言文件提取功能,可以不用折腾游戏了
  *添加了词典生成功能,可以根据已有的译文语言包和与原文语言包生成字典文件
  在加载csv文件时,会使用已有的字典对文件内容进行替换似的“翻译”,可以节省一些体力劳动
  加*的两样功能目前只在Native中做过了测试

2008/11/17 15:53
  更新了由于疏忽造成的两个错误
  更新上面的程序界面图片
  并附送一个不完全翻译的Timeless Kingdom中文语言包(Mod新加的人名和地名没有翻译,因为……懒……)

2008/11/17 22:38
  添加了简单的过滤功能,可以选择“查看全部(默认)/已翻译/未翻译”,来显示特定的词条
  显示全部词条时,会把未翻译的词条的背景设置为淡红色
  在翻译框中按Esc键可以把内容重置为:该词条被翻译过了 ? 翻译过的文本 :原文
  重写了部分代码

2008/11/18 16:53
  修正了提取字典时误删除“多余空格”的问题
  修正了提取语言文件时的问题(factions.csv和troops.csv文件最上面的两行,会导致玩家名称被限定为Player)
  现在提取的语言文件已经和游戏程序提取的语言文件100%一样了(WinMerge验证的)

2008/11/21 1:29
  修正了已知的问题:
    现在在“只显示翻译条目”时,进行修改不会有任何问题了
    解决了在某些时候,软件不能正常的添加新词到词典的问题
  改善了一些UE:
    现在可以在主菜单里选择查看方式了,这样可以避免右键点击列表条目带来的不方便
    现在可以通过把鼠标移动到列表区或者原文区,然后使用鼠标滚轮来滚动其内容了
    给提取语言文件的窗口增加了多线程处理,避免了可能会出现的长时间停止响应
  重写了部分代码,因为原来的代码味道有些坏
  以上功能和改善都已经测试过,现在Timeless Kingdom汉化工作继续中,尚未发现到新的问题
  更新了可执行文件和代码

2008/11/22 10:30
  修正了昨天晚上老杨发现的几个问题:
    一个很sb的菜鸟级问题(b4我吧……T_T)
    M&B注册表信息损坏或者丢失导致一个csv文件无法找到的问题(现在不依靠注册表来定位游戏目录了)

2008/11/22 13:14
  修正了提取原版语言文件似的一个问题,已测试Native和Timeless Kingdom。不过对于又包含不同的en语言包的Mod有一些问题,因为现在程序在提取语言信息时没有考虑那些已经存在了的en语言文件
  批量处理空格功能,将不对紧跟着一个全角标点的中文字符进行加空格操作
  添加了批量去除空格功能
  合并批量添加、移除空格到一个菜单中

  对于在Mod中又附带了en语言补充文件的Mod的相关处理工作正在进行中

2008/11/22 14:51
  已经完成自带en扩展文件包的Mod的语言文件提取功能(使用Heart of Mercy测试的,不过遗憾的是WinMergy比较我的程序提取的和使用游戏提取的语言文件时会显示不同,因为编码不同,不过实际上,根据肉眼遍历,已经是一致的了)

2008/12/1 1:10
  更新了几个测试的时候没有出现过,而今天却出现的小问题(估计是上次发布到今天用的时候中间又改什么东西了……)
  附带了一个正在用的字典文件
  附带一个刚做的“禅达归来”Mod的基本完整的语言包

2008/12/8 0:17
  修补了一个在更新中丢掉的小功能
  没有添加其他新的功能
如果在使用中还有什么问题或者需求的话,请在这里跟帖~

非常感谢汉化组和Mod作者(老杨、老李、暗暗、阿晾)对我的大力支持

[ 本帖最后由 Rivendare 于 2008-12-8 00:20 编辑 ]


我也来说两句 查看全部评论 相关评论

  • alixyang (2008-11-10 13:40:59)

    还没仔细看源码   对于中英文标点的判断和处理是怎样的?

    中文站正需要相关的专业或业余程序员来完成汉化及资料整理相关工作  
    由程序而转modder也是相当的容易....
  • Rivendare (2008-11-10 14:03:39)

    中文标点似乎有些问题,因为现在在用的那个正则似乎只匹配中文字符
    so,可以用这个正则表达式来替换掉程序里面EraseSpace和AddSpace方法里的表达式:

    QUOTE:

    [^a-zA-Z0-9|,|\.|\\|/|;|:|'|"|\[|\]|\{|\}|-|=|_|+|`|~|!|@|$|%|^|&|*|\(|\)|\s|#]
  • alixyang (2008-11-10 17:45:51)

        这些是英文标点。 所有ASCII码处理应该相同 ---- 不用加空格

    中文标点其实就是字库里用到的  你加我们的QQ群吧
  • Rivendare (2008-11-10 18:30:43)

    就是把这些排除除外,剩下的都给加个空格……
    貌似我把键盘上能看到的都打上去了,因为懒得找对应的编码范围……


    群在那里哦,木有看到……

    虾米时候Timeless Kingdom才有汉化捏…… >_<
  • alixyang (2008-11-11 11:16:28)

    167,183,8211,8212,8216,8217,8220,8221,8230,8242,12289-12291,12296-12305,65281-65283,65287-65289,65292-65295,65306,65307,65311,65339-65344,65374,

    ! " # ' ( ) , - . / : ; ? [ \ ] ^ _ ` ~ §  · – — ‘ ’ “ ” … ′ ″ 、 。 〃 〈 〉 《 》 「 」 『 』 【 】 〖〗

    这是所有的常用汉字标点,简繁体通用    编码为UNICODE

    至于群号  你都没看我的介绍吧
  • Rivendare (2008-11-11 11:49:29)

    这些符号能被正常处理了~
    所有的英文字母,半角数字、标点和符号都不会被加上空格
  • alixyang (2008-11-14 22:41:59)

    更新了哈  想问问汉化文本是你直接从txt提取的  还是从骑砍主程序里生成的   

    另外一个实用的功能:  对比新版MOD和native原版 以及同一MOD的新旧版本 自动复制已翻译部分
      这个同样可以节省大量重复劳动   骑砍主程序本身做的不是很好
  • rubik (2008-11-15 00:15:26)

    QUOTE:

    原帖由 alixyang 于 2008-11-14 22:41 发表
    更新了哈  想问问汉化文本是你直接从txt提取的  还是从骑砍主程序里生成的   

    另外一个实用的功能:  对比新版MOD和native原版 以及同一MOD的新旧版本 自动复制已翻译部分
      这个同样可以节省大量重复劳动  ...
    我一直都是用游戏自带的抽取文本功能,查漏补缺的. 用旧汉化包,然后进游戏再提取文本,游戏程序就能把旧版汉化在新版里没有用的都去掉,而且会把内容重复的(比如菜单里重复出现的go back)也去掉,只留一个,新增的地方后面自动加{***}. 所以抽取汉化文本一般只需要几分钟.
    唯一有问题的是:当分割符左边的内容没有变,而右边的内容变了的时候. 游戏程序是根据分割符左边的内容来判断是否翻译过.这样就导致这个时候,相关条目的汉化还是维持旧版的或者native的, 而且不容易察觉. 比如有的MOD关于兵种的名字就偷懒,分割符左边的还是原版的维吉亚XXX兵,芮尔典XXX兵,罗多克XXX兵…… 只是把显示名给改了. 这样的MOD在汉化的时候,要格外小心,只是简单的抽取文本来查漏,你并不会发现有兵种需要翻译的. 而实际兵种名字可能要全盘重翻,这个又回到老路了. 就是从txt文本里手工把这些东西抽取出来.

    [ 本帖最后由 rubik 于 2008-11-15 00:26 编辑 ]
  • Rivendare (2008-11-17 10:55:56)

    注释中提到一个错误,不过已经修复了,但是这条注释忘记删掉了
    so,看代码的时候看到的话请无视掉它~

    [ 本帖最后由 Rivendare 于 2008-11-17 21:14 编辑 ]
  • alixyang (2008-11-17 18:10:19)

    Studio 2008 好大   我都没装过....  

    谢谢你的努力,汉化组可以省下大量时间来做真正的工作了。

    圆通.......   我替你证明你说得对。  不过你把字改小点免得管理员以为是广告把帖子删了那才叫个可惜......

    [ 本帖最后由 alixyang 于 2008-11-17 18:12 编辑 ]
  • Rivendare (2008-11-17 18:22:24)

    删掉偶再发,嘿嘿~~

    上午发布的帖子,下午用这个东西按照你在那个TK帖子里面的回复做了一下测验,发现了几个小不过很严重的逻辑问题,然后更新了一下
    现在的应该不会有大问题了,小问题可能还会有,因为基础的结构不好,不过不会影响大的方面了,程序目前还在重构和完善中,谢谢支持哈~~
  • Rivendare (2008-11-17 22:48:22)

    貌似#Develop是可以打开VS的项目文件的,不过我不喜欢#Develop,因为它装上之后自动强制关联的一些文件类型,很不爽,尽管这是个相当优秀的开源软件

    准备把汉化也作为一个项目来对待,而不是像现在那样看成独立的文件来对待,不过不知道什么时候才能做成那样,真主保佑我科目2一次通过,阿弥陀佛(画个十字……)
  • alixyang (2008-11-21 12:46:33)

    这么重要的更新,在底楼说明一下嘛   差点错过了...   已加精华,呼唤汉化组的过来测试....
  • B52B51 (2008-11-21 19:07:32)

    弱弱地问下,这是干嘛用的
  • Rivendare (2008-11-21 19:12:14)

    比如(比如!!不是真的!!!- -b)Bow出新的版本了,制作汉化文件的时候可以用这个东西来提取语言文件(不用启动游戏了),然后根据以前的BOW的中文语言文件,批量替换旧有的词条,酱紫就可以只关注新的版本里添加的就有的版本里没有的心的词条,可以省一些时间
  • sword-assassin (2008-11-27 18:45:14)

    我不懂,不过这个帖子我会收藏下来好好看~
  • 葵花宝屁 (2008-12-08 21:58:53)

    兄弟,你的压缩包有问题啊?!

    解压缩后,打不开程序!显示错误!赶紧修复一下。


    截图1.jpg

  • Rivendare (2008-12-10 21:49:09)

    我俩错误提示怎么都不一样……我这里在某些时候提示有异常(数组越界),不过点继续就好了(只有第一次会这样)
    你的没见过,是不是没装.net framework 3.5?