雅恋吧 关注:1,724贴子:22,433
  • 8回复贴,共1

【翻译&技术】雅恋・月咏之梦程式汉化测试

取消只看楼主收藏回复

我的期末考试结束了!大学第一个学期就这样结束了,感觉有点不舍,不过终於有时间来研究下这游戏了~
先说游戏引擎:与CIRCUS马戏团社通用?!求内幕
然后顺手查了下CIRCUS其他游戏的汉化分析等,於是⋯⋯
http://bbs.pediy.com/showthread.php?t=89506 感谢你的指引
首先上雅恋OD分析

这玩意和之前那个游戏OD几乎完全一致啊?!看来找对路了。
於是按指引弄下来那个C++解包程式,编译⋯⋯失败,我用的不是Windows
於是再查文档再改用stdio.h,编译成功,只是解出来的有点奇怪而且好像少了点啥⋯⋯

至少出字了,看来思路是对的。
换Python直接暴力拆包,然后上iconv转编码。这次虽然奇怪的东西多了好多,但是完整了。

说干就干,我简单测试翻译了一句(文本来自吧内),输入进一个txt然后iconv -t Shift-JIS,嗯还好本句话可以仅使用Shift-JIS输出,於是 xxd 然后把原文替换掉,覆盖,进入程式测试⋯⋯

成功!
(下面的乱码是因为我没把后面那些字给删掉,这个以后再弄,替换为空白也行,只是我想省点事测试下)
看来汉化有戏了啊~
写完这些已经早上5点了⋯⋯果然一放假就可以从美国时间倒回中国时间再倒回英国时间再倒回美国时间,算了不说了,先睡~
以上文字以CC-BY-SA 3.0 or later (unported) 发布。© Copyright Some right reserved. Steph


1楼2014-12-18 18:03回复
    早上好~目前汉化还在测试阶段。为了减小工作量,目前限制:
    1、仅限使用Shift-JIS中的汉字(就是用日文字体能显示的汉字)
    2 、翻译后的文本暂时不能比翻译前的文本长
    先试试翻译序章?我不懂日文所以哪位方便翻译完我修改进去?以下是我弄到的文本,顺便求检查~
    ◆参号の目覚め◆
    ぼんやりとした梦の中。
    “わたし”という存在を认识する前に、
    わたしは“わたし”を呼ぶ声を闻いた。
    この声に{こた/応}えたい。
    そう思ったわたしは、手のひらの热を頼りに、
    その世界から抜け出した。
    {あか/朱}と{あお/苍}が残した、
    大切な“言叶”だけを抱いて――。
    ◆あらすじ终了
    {あか/朱}と{あお/苍}――。
    たのしそうに{たわむ/戯}れ、交じり合う光。
    それは、ひとたび动きをとめ、
    じっとこちらの様子をうかがう。
    光はやがて――。
    ――ふわりと消えた。
    たったひとつの“言叶”だけを残して。
    それは、与えられたもの。
    とても大切なもの。
    ……。
    たい……せつ?
    だれの……?
    わたし、の……?
    「あなたは……」
    “あなた”……?
    “わたし”……?
    “わたし”って……?
    …………。
    ……わからない。
    だけど。
    “わたし”は{こた/応}えたかった。
    わたしを呼ぶその声に。
    「……无垢、だな」
    「……ん」
    ……ここ、は。
    「……目は覚めたか?」
    左手に感じる、优しい温もり。
    わたしとは违う――他人の热。
    {あいまい/暧昧}な意识の中、
    わたしはゆっくりと{まぶた/睑}を持ち上げた。
    <EOF>


    3楼2014-12-19 01:04
    回复
      刚刚测试过,请无视第二条规定。
      第一条规定可以在 http://personal.psu.edu/svz5160/os/Miyako/l10n 上面测试,如果Round-trip后的结果与Round-trip前一致就说明第一条测试通过。
      话说Shift-JIS好像没有「哪」这个字?


      4楼2014-12-19 02:27
      回复
        刚刚在尝试了许多次并且翻遍了整个Shift-JIS表后,悲伤地发现了一个很严重的问题——Shift-JIS没有定义「你」这个字?!
        整个游戏翻译完之后完全不用「你」字但是却不会有违和感的可能性有多大?
        或许我该考虑下换字模了?但是我想偷懒啊啊啊


        6楼2014-12-19 14:43
        收起回复
          今日总结:有些常用字确实不在Shift-JIS表里面,目前采用重写原话的方式解决。
          以及序章部分的翻译完成:(使用http://tieba.baidu.com/p/1990046784此处翻译,有改动。)
          http://personal.psu.edu/svz5160/os/Miyako/l10n/s_00_pr01.mes
          使用方式:直接下载链接文件然后覆盖至 MIYAKO/AdvData/MES 下。替换同名文件。
          目前已知Bug:历史纪录由於某些原因是乱的,有些句子出现了两次,而另一些却消失了。游戏过程还是正常的。


          7楼2014-12-19 16:17
          收起回复
            今天上午的成果:发现了对话文字都在 4D 与 00 之间。同时了解了乱掉的历史纪录的原因。
            既然现在成功弄出来了第一部份汉化,那就算这次汉化测试结束了吧~刚好我也要回国了,会有点忙。
            最后来总结下整个测试过程:
            1、雅恋・月咏之梦使用CIRCUS游戏引擎
            2、对话文字在MES文件中,采用每字节 -32 (每字 -8224)的方式加密,与其他CIRCUS游戏一致
            3、文字编码 SHIFT-JIS
            4、历史纪录是通过读取文件头部的索引生成的,所以不改索引时加长或缩短文本会导致历史纪录乱掉
            5、暂时使用wxHexEditor汉化出序章
            6、写出几个程式脚本用於简单的封包、解包等,下载地址见后
            7、翻译文本限制在原文字数以下,及可以用SHIFT-JIS编码,可达到最高稳定性。字数不足时填充 61 20
            分享文件:
            1、解包——文件全文 +32 :http://personal.psu.edu/svz5160/os/Miyako/l10n/unPack.py
            2、封包——以上的逆运算:http://personal.psu.edu/svz5160/os/Miyako/l10n/rePack.py
            3、解文本——仅提出文本:http://personal.psu.edu/svz5160/os/Miyako/l10n/splitText.py
            4、解出的文本——压缩包:http://personal.psu.edu/svz5160/os/Miyako/l10n/MiyakoText.tar.bz2
            5、解出的文本——SJIS编码:http://personal.psu.edu/svz5160/os/Miyako/l10n/SJIS/ + fileName.sjis
            6、解出的文本——UTF-8编码:http://personal.psu.edu/svz5160/os/Miyako/l10n/TXT/ +fileName.txt
            以上程式脚本采用 Python 3 编写,在Mac OS X Yosemite及GNU/Linux Gentoo与Ubuntu上测试通过。尚未在Windows上测试,但是可能可用。用法:something.py inputFile outputFile
            下一步:
            1、继续手工汉化给自己玩玩 或
            2、研究代码,写好汉化套件,然后组建汉化组 或
            3、弃坑,提供一切可提供技术细节,然后交给专业汉化组 或
            4、犯懒,弃坑
            纠结中⋯⋯不过选4的可能性有点大,一个人的汉化组什麼的真心没法干活。
            最后加个小尾巴:
            技术帝=RTFM+STFW+逻辑
            版权声明:以上所有本人发表文字采用创用 CC 姓名标示-相同方式分享 3.0 国际或更高版本 授权条款授权。
            © Copyright Some right reserved. Steph


            9楼2014-12-20 02:20
            回复
              临出发前本年度最后一次境外更新:最新版 s_00_pr01.mes 已覆盖上传。
              各位如果有空的话来测试下?
              下载:http://personal.psu.edu/svz5160/os/Miyako/l10n/s_00_pr01.mes
              然后复制到游戏目录下 AdvData/MES 文件夹中替换同名文件。
              请记得提前做好原来的文件的备份,不然以后想弄回原版就麻烦了。
              只是序章而已,所以大家进入游戏后点 从头开始 就可以看到汉化过的序章了。
              历史纪录神马的我死活弄不好,可以就当个Bug无视了吗?是否会影响游戏性?
              除了历史纪录以外的所有奇怪的问题麻烦在下面回覆~因为我没法测试到所有方面,就请大家帮忙测试下了~当然翻译问题如果有更好的翻译也可以提一下。
              顺便留下一个电邮: admin@hanfubk.com 可以找到我,如果我有一段时间不上贴吧了的话。


              12楼2014-12-21 02:14
              回复
                效率比我预想中的要快⋯⋯
                测试版网页版打包器:
                http://personal.psu.edu/svz5160/os/Miyako/l10n/test
                (警告:未来变成正式版后此链接将失效)
                按照说明操作(提示:本人内心扭曲於是顺手写成了英文版ww)
                其实就是上传文件,然后点第一个带链接的 here 两次。如果没出错就会把你带到下载文件的文件夹中。
                然后把文件下载到 MIYAKO/AdvData/MES 中覆盖同名文件。
                希望明天我可以把网页及各种说明写好。


                16楼2014-12-25 17:43
                回复
                  今天把网站整理了一下,现在把首页弄成中文了,其余页面将逐步更新。
                  项目网站: http://personal.psu.edu/svz5160/os/Miyako/l10n
                  备用网址: http://steph.hanfucw.com/Miyako/l10n
                  然后QQ群号码:193306351,大家随意加入吧~
                  这个贴子的使命到这裏也差不多该结束了。以后内容更新我大概会扔到网站首页,自我感觉良好的已翻译 MES档将会扔进 http://personal.psu.edu/svz5160/os/Miyako/l10n/Release 目录下。以后的重大更新将会新开贴说。
                  本贴所有本人发言除了3楼外均采用创用 CC 姓名标示-相同方式分享 3.0 国际或更高版本 授权条款授权。
                  所有代码均按照GNU GPL 3.0或更高版本授权。
                  © Copyright Some right reserved. Steph


                  18楼2014-12-26 14:21
                  回复