Microsoft Train Simulator 汉化包说明 20050808测试版

长久以来，玩中文化的MSTS一直是中国火车迷的一个心愿。虽然MSTS有英语、德语、法语、日语等多种语言版本，而且MSTS文件也基本是用UNICODE编码的，但是英文版的MSTS不能显示汉字，故汉化一直无法成功。唯有日文版MSTS是具有亚洲语言双字节字符支持功能的，感谢star21提供的日文原版，通过分析比对终于找到了让MSTS显示中文的关键（其实就一个动态链接库里的字体设置是关键，但没有日文版是不可能找到的），MSTS终于汉化成功了！

本汉化包仅包括游戏界面汉化和游戏内容汉字显示的支持，不包括帮助和说明文档的翻译，也不包括MSTS自带线路、任务和车辆部分的文字翻译。汉化包主要由star21以日文为主翻译，本人根据英文校对。目前校对已完成，只剩下最后的核对和推敲和测试，然后就可出正式版了。

2005.8.8  第二遍校对进行中...
2005.8.3  所有汉化部分逐行校对全部完成，只剩下最后的核对和少数疑难翻译的推敲了。mubin报告有部分字符串不该汉化的汉化了，导致编辑器和任务加载出问题，已去除。
2005.8.1  候彭报告编辑器中无法输入汉字，已排除（20050714版及以前是好的）
2005.7.27 编辑器对话框校对了一部分。
2005.7.25 线路地形生成器校对完毕，就剩编辑器对话框了。
2005.7.23 string.dll全部逐行校对完毕，这也就是意味着游戏部分校对已经完成，只剩下编辑器的对话框和线路地形生成器的校对了。当然还有些遗留的翻译疑点留待最后一并处理。
2005.7.21 string.dll 逐行校对过75%了。
2005.7.20 对照游戏界面又进行了些校正。
2005.7.19 string.dll 逐行校对过半了。
2005.7.18 又校对了部分。
2005.7.17 又校对了部分，menu.dll已完成，其余仍未完成。
2005.7.14 解决MSTS编辑器中若干表格显示乱码问题。
2005.7.13 解决Windows 9x下无法正确显示中文问题，但校对结果还来不及整理，故只升级了影响汉字显示的部分。
2005.7.8  第一个预览版


已知的问题：

驾驶室界面显示的时钟、限速、速度等数字，其相对大小随游戏图像分辨率增加而减小，仅在800x600分辨率下与英文版中的数字大小较接近。（该缺陷系日文版中原有缺陷）

另外测试表明由于汉化改变了游戏的字体显示方式，MSTS对插件错误的容错性可能变差。为检查问题是否由汉化引发，可执行批处理切换到纯英文状态对比来判定。如果确定和汉化有关，且故障是可重复出现的，请再切换到“中文语言支持 英文界面”比对，以确定问题是由于修改字符显示方式（支持汉字显示），还是汉化了不该汉化的字符串引起。

安装方法：

1. 如果安装过本汉化包以前版本的话，执行“汉语支持切换”批处理切换到纯英文状态下，后面安装过程会覆盖旧文件，无需卸载；如果安装过日文化包，执行批处理切换到英文状态下，卸载日文化包；如果安装过其它测试版本，则需手动恢复备份文件，恢复到原始英文版状态。如果没有安装过相关文件，则本步骤可跳过。
2. 将本包文件展开到临时目录下，拷贝或移动到MSTS安装目录下，注意要放到正确的目录位置。如果询问是否覆盖文件选择覆盖，本安装包不会替换MSTS原有文件。MSTS安装目录一般在：
C:\Program Files\Microsoft Games\Train Simulator
3. 执行本包提供的“汉语支持切换”批处理就可以切换到中文界面。

为便于插件作者检查兼容性和对照编辑器的中英文术语，语言支持可以有三种状态：

1. 英文语言支持，英文界面（纯英文状态，等同于未安装汉化包，不显示汉字）
2. 中文语言支持，英文界面（可显示汉字）
3. 中文语言支持，中文界面

执行“汉语支持切换.bat”可在1、3两种状态下来回切换，用于检查兼容性。
执行“中英文界面切换.bat”可在2、3两种状态下来回切换，或从1状态切换到3状态，适合用于对照中英文术语。
切换必需在游戏或编辑器已经关闭的情况下进行。

安装后如果有怀疑切换不正确（以前装过汉化包），可检查DLL的文件名，批处理靠改名方式工作，关键是同一文件名不能有.EN和.CN扩展名同时存在，否则就无法改名了。出现这种情况是以前版本卸载不正确或安装时以前版本处于中文状态造成的，可删除所有.CN扩展名文件，执行批处理切换到纯英文状态，然后重新安装。


汉化作者：

MSTS日文原版提供：	star21
中文输出核心分解及调试：子非鱼
游戏界面汉化翻译：	star21。kocoxyz和海子论坛模拟火车版的网友也提供不少建议
MSTS编辑器汉化：	火车喵喵，star21
线路地形生成器汉化：	star21，火车喵喵
MSTS游戏工具汉化：	火车喵喵
汉化校对：		子非鱼


汉化关键动态链接库说明：

Di_keys.dll	字符显示参数设置核心，游戏部分能否显示亚洲文字的关键
String.dll	MSTS游戏和编辑器字符串库，汉化主要修改这里
Menu.dll	MSTS编辑器菜单，编辑器汉化需修改这里，与游戏运行无关	
Dialog.dll	MSTS编辑器对话框，编辑器汉化需修改这里，与游戏运行无关

MSTS的游戏部分在NT核心操作系统下（2000、XP、2003）都是使用Unicode码输出的，也就是说不管在什么语言版本的操作系统上，装了中文包后都可以显示中文和其它各个国家的文字。但是编辑器里大部分不是用Unicode码输出，所以编辑器在别的语言操作系统上显示中文预计会有问题。

为使汉化MSTS在其它语言版本的Windows操作系统下也可正常运行，和提供国际化的核心文件。本包附带了一个Di_keys_intl.dll文件，使用的字体是各种语言Windows中通用都支持的MS Shell Dlg虚拟字体，替换Di_keys.dll后游戏部分应该在各种的语言Windows中（NT核心）都能够正常显示汉化或其它本地化的字符。


MSTS插件中文化展望：

MSTS目前已成功汉化，因只修改了字符串未改动代码，相信完全不会影响游戏稳定性，大家尽可以放心使用。汉化完成后就可让中国MSTS插件也用汉字标注，包括线路、车辆、任务的说明和线路中的站名标注、任务中的消息提示等。但是为保证兼容性起见，希望插件制作者尽可能将汉字和英文或拼音同时标注。已知英文版MSTS显示时有汉字部分会忽略不显示而不是显示空白，所以如果用中文在前，英文或拼音在后方式标注，各种情况下显示效果都会比较理想。

有些人做插件，说明部分完全不写，所以对于说明部分也不敢有过多期望，能用中文写几句就好。但是线路、车辆、任务的显示名称，最好不要用纯中文不含英文字母的名称，不然在英文版中就会显示为空白，让玩家难以选择。另外目前中国车辆都已有英文名，请只用英文名称就好了。至于牵涉到目录名、文件名的名称，强烈建议只用英文字母完全不用中文，否则可能会有严重的兼容性问题，这包括线路、车辆的目录名和各种文件名，任务、车次、运行图、路径、编组的文件名。所有MSTS的文件名在游戏中玩家都是看不到的，只能看到设置的显示名。而显示名也只有线路、车辆、任务、编组的显示名称玩家能看到，所以除了这几个显示名和对应的说明适合用汉字，其它显示名没必要用汉字，而文件名和目录名则一个也没必要用汉字。做插件时最好能考虑到尽可能多的玩家，如果能在发布前用英文和中文支持环境分别测试下就最理想了。只要您稍加注意就能让更多的玩家玩到你的作品，何乐而不为呢？谢谢！

至于对在插件中使用汉字有疑虑的插件制作者（考虑英文MSTS兼容性），由于在游戏部分显示字符串是完全用Unicode处理的，（只是在9X下显示时才会转换为ANSI字符串），而Unicode是和字符集无关的。因此理论上应该不会带来问题，任何文字在英文MSTS下也应该都能工作。当然要想完全消除疑虑还有待大规模测试。


						子非鱼		
					      2005-08-09