Crusader-Kings-II-2.6.3-Chinese-Localization
Crusader-Kings-II-2.6.3-Chinese-Localization copied to clipboard
请问一下,关于翻译文件的编码问题。
我用文本编辑器打开了几个翻译文件如 /localisation/text1.csv
其中的中文部分用 GBK 显示正常,但里边还包含法文、德文、西班牙文,而这些文字字符并不能在 GBK 下正常显示,换用 ISO 8859-7 才正常。此外,一些“占位标记(临时起名,指的是这些:§Y[GetTitledFirstName]?)”似乎也包含非 GBK 字符
所以有几点疑问:
- 这些翻译文本似乎由多种编码组成的啊?
- 如果要更改翻译的话,该如何编辑才不至于破坏原有内容呢?
@cupen CK2本身不支持双字节,只支持西欧编码(我自己使用的是ISO 8859-1)。因此,为实现汉化,必须破解主程序。 一般汉化者没有这种能力,只好有什么破解用什么,破解程序怎么读你就怎么改localisation。
言归正传:
-
是的,这些文本是由ISO 8859-1和GBK混合编写的。破解后的主程序按ISO 8859读各种标识符(譬如,
§Ytext§!
中的text
会被显示为黄色/Yellow),按GBK读文本。 -
主流高级文本编辑器似乎都可以正常修订翻译。
- 52汉化组的做法,是将原始文本中的标识符全部替换为ASCII基础字符组合,形如
<ISO8859-SS-Y>
,再进行汉化;在最终文本嵌合时,批量替换回原始标识符。许多个人汉化也使用这种策略。 - 如果是小修改,有个稍微繁琐的办法:在GBK下汉化,并注意不要碰到各类长空格和问号(常见标识符一般在GBK下会变成这样),甚至干脆以半角空格隔开。汉化完成后,切回ISO 8859,将偶然手滑导致的爆炸的
§Y
、§!
等等改正,并直接保存。
- 52汉化组的做法,是将原始文本中的标识符全部替换为ASCII基础字符组合,形如
@Lolisky 学习了,感谢您的回复。
是不是先个简单的脚本提取中文出来,并可以嵌回去。然后只维护提取出来的纯中文文本比较好。
@cloudwu 有道理。 想了想,转成如 gettext 那种 po 格式,可以更好的利用一些翻译辅助工具的功能。 ;p 至少查漏不需要用正则了。
@cloudwu @cupen
P社的localisation并不包含所有文本,更具体地说,P社不认为人名和地名需要本地化,把它们塞满了各个角落甚至直接写进事件脚本。52汉化组的测试版补丁本身就是不断变动的一堆人协作出来、不断修正的一组文本。这个项目作为其修订版,是两三个人在不断merge主文本的过程中敲敲打打修修补补出的东西。
也就是说,在下列妖怪中:
- P社自己打散的文本
- P社自己的bug
- 测试版补丁中的遗漏
- 我们自己手滑搞出来的编码问题
即使我们做出花儿来,也只能改善最后一项hhhh
*好消息是52汉化组的工作形式正在逐步向zanata协作迁移,坏消息是等各组都迁移完P社诸萌可能已经全面改用UTF-8、上述问题的基础不复存在了
@Lolisky 好吧,这也许就是命运。