LiveMaker游戏汉化的思路与一个一键机翻脚本

Sh
shy2052
LiveMaker游戏汉化的思路与一个一键机翻脚本
基本上,安装pylivemaker,
lmar x
解包出lsb文件,
lmlsb extract
再解包出lns文件,汉化lns里每段文本,
lmlsb batchinsert
封包回lsb文件,利用LiveMaker优先读取零散文件的机制把lsb文件放到游戏根目录即可形成汉化补丁。

但这样做会因为LiveMaker不支持中文而报错。我的思路是,制作一个特殊的字体,把一批日文中不常用的汉字的字形改成另一批中文汉字的字形,让游戏显示这些日文字时我们看到的是中文字,然后把文本中的这些中文字全部替换成对应的日文字,就可以顺利封包显示。

我找了一批常用字,共2333个,附带替换好的字体,一般可以直接使用,只需要改文本里一些生僻字。可在这里下载

如果想自己做字体,我使用的脚本在 https://github.com/shy2052/fontObfuscator ,安装后修改config.py里字体和make_LiveMaker_font.py里文字列表即可使用。
如果做的字体是基于中文字体替换,LiveMaker会不识别,可以用FontForge打开字体,Element -> Font Info -> OS/2 -> Charsets -> MS Code Pages 中按住Ctrl选中932,取消936,并在TTF Names中把左边几个Language由中文改成日语,右边String最好也改成英文的,再在File -> Generate Fonts中重新生成字体。
即使原本是日语也必须有重新生成字体一步,fontObfuscator出来的文件似乎有问题。
网上有些教程会替换系统字体,感觉大可不必,LiveMaker支持自定义字体,只要正确修改即可。

关于菜单的汉化就把上面那句话打脸了,虽然使用lmlsb extractmenu等功能可以修改菜单文字,但LiveMaker的菜单显示并没有自定义字体,所以我最终强行找了意义接近的日文汉字来用。
关于其他图片等资源的汉化,LiveMaker也可以使用补丁的形式,而且pylivemaker也可以把修改的文件打包回原exe。LiveMaker的图片格式比较稀有,得使用官方的工具生成,而且得注意新旧工具版本和游戏版本也不兼容。

下面来隆重介绍一下我写的一键机翻脚本
LGTSS - Livemaker games translate script using the Sakura model

使用了Sakura-13B-Galgame大语言模型,使用llama.cpp加载,可以参照 https://books.fishhawk.top/forum/656d60530286f15e3384fcf8 或 https://github.com/FishHawk/auto-novel/tree/main/sakura-launcher/src 安装。
省流:8G及以上显存的N卡,在 https://huggingface.co/SakuraLLM/Sakura-13B-LNovel-v0.9b-GGUF/tree/main 下载 sakura-13b-lnovel-v0.9b-Q4_K_M.gguf ,显存不足则下载sakura-13b-lnovel-v0.9b-Q2_K.gguf (降低翻译质量),在 https://github.com/ggerganov/llama.cpp/releases 下载 llama-*-bin-win-cublas-cu*-x64.zip (根据你安装的CUDA(https://developer.nvidia.com/cuda-downloads)大版本),运行
server.exe -m .\sakura-13b-lnovel-v0.9b-Q4_K_M.gguf -c 2048 -ngl 20
即可。ngl在8G显存大概可以设成20,在12G显存是36,在16G显存是999,如果报显存不足则改小,报内存不足则加内存条。
A卡使用llama-*-bin-win-clblast-x64.zip理论上也可以,但我没跑通,指跑满RX588的显存也不如纯CPU快。

LGTSS本体安装nodejs即可使用,甚至不需要npm i,只需要安装pylivemaker、启动llama.cpp服务器就可以
node lgtss.js path/to/game.exe
运行。如一切顺利则会直接在游戏目录生成汉化后的lsb。如不顺利则会有一些文件未被汉化,一般是有一些字不能写入导致整个文件失败,需要重新运行命令查看出错的字,然后修改lgtss-translating.json里的翻译,重新运行lgtss。
莱尼
Re: LiveMaker游戏汉化的思路与一个一键机翻脚本
仅镜像
大佬这个有更新吗