文字游戏的汉化
来源:互联网 发布:最新网络传销公司名单 编辑:程序博客网 时间:2024/05/17 02:52
这篇文章的定位有点困难,大约是针对有点RE能力,看过些教程,又没有实际搞过汉化的人。
里面没啥技术性的东西,都是些小经验。
-----------------------------------------------------------------------------------------------------------
1)哪些部分要汉化
大约有4个部分,人名、文本、选择项和章节名。各个游戏不同,并不一定都有。人名和文本比较显而易见,选择项一般来说不会出现在序章中,有时会被忽略(而且选择这边很容易出问题,所以第一次至少要测试到第一个选择之后)。章节名一般在存档的时候出现。
什么不需要汉化的:图片名、音效名、背景音乐名,CV名,动画名、脚本名,效果名等等。不过也不绝对,自行观察。
2)程序部分的修改
程序部分主要改3个地方,CreateFont的Charset,SJIS的边界检查,如函数(IsDBCS),EnumFontFamilies的Charset。
还有就是改系统菜单,对话框等,一般来说到资源里面去改,用ResScope即可。
3)文本导出的格式
我还是推荐Agemo格式,配合AgemoEditor使用。蓝山魔导之类的软件可以用来做测试版本,不要用来做整个游戏的汉化。
这里讲点编码的事情,首先要搞清楚Unicode和ANSI的区别,API后面W和A的区别。
把SJIS转成GB可以使用码表,也可以使用API函数(MultiByteToWideChar, WideCharToMultiByte)。用API的话有个麻烦就是发生问题察觉不到,比如1byte的A5,日文环境中是·,但是转成Unicode再转GB,最后肯定变成?。还有就是Unicode包容SJIS,但是GB并不包容SJIS,比如♪ (音符)。转到GB后就没了。
如果是PC平台,源程序又不是使用Unicode,那么还是转成GB吧,那些GB中不存在的编码翻译看到会删除掉。如果提供给翻译的是Unicode,那么这些符号还是会保存下来,再转成GB导入之后,就等着看??吧。
如果不是PC平台,或者是需要制作字库的情况,那还不如用Unicode。
最后就是要善于使用比较软件,BeyondeCompare可以比较SJIS-GB,Unicode-GB,非常厉害。
4)编程方面
注意unsigned和signed的区别。
char ch = 0xff;
printf("%d", ch == 0xff);
上面是老代码了,不过一直会和这些东西打交道,所以要注意。
5)关于封包
如果包本来不大,而且里面的东西基本上都改动了,比如脚本文件,那么就把各个文件打成包直接给出好了。但如果包很大,而修改的只是少数,比如图片,这个时候就要有些考虑。如果修改之后的图比原来的小,那么原位塞入。如果比原来的图大,那么就放到文件最后,原来的空间就放在那里不要动。看似是浪费了原来的空间,但保持了这个包大多数地方没有变化,最后用Patch软件比较原始包和修正后的包就可以生成补丁程序了。
- 文字游戏的汉化
- 欧拉路的应用--文字游戏
- UNIX的各种文字游戏
- 文字游戏
- 文字游戏
- 杂谈中国的一些文字游戏
- 源于一个文字游戏的题目
- 灯谜--一个海纳百川的文字游戏
- 续谈中国的一些文字游戏
- 再谈中国的一些文字游戏
- 又谈中国的一些文字游戏
- 十个有趣的英文文字游戏(下)
- 十个有趣的英文文字游戏(上)
- ink-面向文字游戏的预处理脚本语言
- 皇帝的新装:百度图书搜索1500万的文字游戏
- python入门(一) 一个简单的python文字游戏()
- 一些文字游戏....
- 英文文字游戏
- 咱也谈谈打工皇帝唐骏
- 20个开发人员非常有用的Java功能代码
- 解决CHM文件打开无法显示网页的问题
- 浅谈AutoResetEvent的用法
- CSDN加为好友挂了吗?
- 文字游戏的汉化
- Flex程序与包装页面(wrapper)通信方法小结
- asp.net中TreeView异步延迟加载
- Asp.Net动态添加控件,并获取其值
- 排名并列问题
- 创建Windows版的Android SDK
- Cms 项目 前记
- jquery
- 调试Shoppingbook项目心得