Crusader-Kings-II-2.6.3-Chinese-Localization icon indicating copy to clipboard operation
Crusader-Kings-II-2.6.3-Chinese-Localization copied to clipboard

请问一下,关于翻译文件的编码问题。

Open cupen opened this issue 7 years ago • 6 comments

image

我用文本编辑器打开了几个翻译文件如 /localisation/text1.csv 其中的中文部分用 GBK 显示正常,但里边还包含法文、德文、西班牙文,而这些文字字符并不能在 GBK 下正常显示,换用 ISO 8859-7 才正常。此外,一些“占位标记(临时起名,指的是这些:§Y[GetTitledFirstName]?)”似乎也包含非 GBK 字符

所以有几点疑问:

  1. 这些翻译文本似乎由多种编码组成的啊?
  2. 如果要更改翻译的话,该如何编辑才不至于破坏原有内容呢?

cupen avatar Sep 30 '17 17:09 cupen

@cupen CK2本身不支持双字节,只支持西欧编码(我自己使用的是ISO 8859-1)。因此,为实现汉化,必须破解主程序。 一般汉化者没有这种能力,只好有什么破解用什么,破解程序怎么读你就怎么改localisation。

言归正传:

  1. 是的,这些文本是由ISO 8859-1和GBK混合编写的。破解后的主程序按ISO 8859读各种标识符(譬如,§Ytext§!中的text会被显示为黄色/Yellow),按GBK读文本。

  2. 主流高级文本编辑器似乎都可以正常修订翻译。

    • 52汉化组的做法,是将原始文本中的标识符全部替换为ASCII基础字符组合,形如<ISO8859-SS-Y>,再进行汉化;在最终文本嵌合时,批量替换回原始标识符。许多个人汉化也使用这种策略。
    • 如果是小修改,有个稍微繁琐的办法:在GBK下汉化,并注意不要碰到各类长空格和问号(常见标识符一般在GBK下会变成这样),甚至干脆以半角空格隔开。汉化完成后,切回ISO 8859,将偶然手滑导致的爆炸的§Y§!等等改正,并直接保存。

Lolisky avatar Oct 01 '17 01:10 Lolisky

@Lolisky 学习了,感谢您的回复。

cupen avatar Oct 09 '17 02:10 cupen

是不是先个简单的脚本提取中文出来,并可以嵌回去。然后只维护提取出来的纯中文文本比较好。

cloudwu avatar Oct 09 '17 02:10 cloudwu

@cloudwu 有道理。 想了想,转成如 gettext 那种 po 格式,可以更好的利用一些翻译辅助工具的功能。 ;p 至少查漏不需要用正则了。

cupen avatar Oct 09 '17 03:10 cupen

@cloudwu @cupen

P社的localisation并不包含所有文本,更具体地说,P社不认为人名和地名需要本地化,把它们塞满了各个角落甚至直接写进事件脚本。52汉化组的测试版补丁本身就是不断变动的一堆人协作出来、不断修正的一组文本。这个项目作为其修订版,是两三个人在不断merge主文本的过程中敲敲打打修修补补出的东西。

也就是说,在下列妖怪中:

  • P社自己打散的文本
  • P社自己的bug
  • 测试版补丁中的遗漏
  • 我们自己手滑搞出来的编码问题

即使我们做出花儿来,也只能改善最后一项hhhh

*好消息是52汉化组的工作形式正在逐步向zanata协作迁移,坏消息是等各组都迁移完P社诸萌可能已经全面改用UTF-8、上述问题的基础不复存在了

Lolisky avatar Oct 09 '17 06:10 Lolisky

@Lolisky 好吧,这也许就是命运。

cupen avatar Oct 09 '17 10:10 cupen