People Playground

People Playground

54 次評價
People Playground 汉化教程
由 ( σ'ω')σ 發表
自己手操汉化配置,熟悉汉化流程,另外提一句,用正则表达式的汉化才有灵魂!!
2
2
2
   
獎勵
加入最愛
已加入最愛
移除最愛
普通自动汉化
  1. 确认安装目录的游戏位数
    下图为Steam版安装完毕后的初始文件(未运行)

    可以看到 UnityCrashHandler64.exe 文件末尾数字为 64 ,所以该游戏是x64的游戏

  2. 下载 BepInEx
    Releases · BepInEx/BepInEx[github.com]
    下载最新版,看准是 x86 还是 x64 版本,下图为当时的版本


  3. 解压到游戏根目录下,解压完如下图


  4. 下载 Xunity.AutoTranslator
    Releases · bbepis/XUnity.AutoTranslator[github.com]
    选择文件名中包含 AutoTranslatorBepInEx 的压缩包下载(IL2CPP不用下载)


  5. 解压到游戏根目录下
    解压后文件合并进了 BepInEx 文件夹,根目录没有增加文件
    此时的 BepInEx 文件夹结构如下图


  6. 运行游戏,待主界面打开后关闭游戏

  7. 此时根目录多出了如下文件夹


  8. 此时BepInex目录下多出了如下文件夹


  9. 打开 BepInEx/config/AutoTranslatorConfig.ini 文件
    1. 修改翻译引擎
      官方支持的引擎:Translators[github.com]
      [Service] Endpoint=GoogleTranslateV2 改为 [Service] Endpoint=GoogleTranslate
      如果选择 BaiduTranslate ,则需要在下面这里填写id与key,百度API申请链接[api.fanyi.baidu.com]
      [Baidu] BaiduAppId= BaiduAppSecret=

    2. 修改翻译方向
      [General] Language=en FromLanguage=ja 改为 [General] Language=zh FromLanguage=en

    3. 修改字体(解决方块字问题)
      1. 下载字体
        Releases · bbepis/XUnity.AutoTranslator[github.com]


      2. 打开 BepInEx/Translation 文件夹,新建一个 font 文件夹,把压缩包中的两个字体文件解压到 font 文件夹中


      3. 修改 AutoTranslatorConfig.ini 文件
        OverrideFontTextMeshPro= 改为 OverrideFontTextMeshPro=BepInEx\Translation\font\arialuni_sdf_u2018
  10. 运行游戏
进阶润色汉化
  1. 打开 BepInEx\Translation\zh\Text\_AutoGeneratedTranslations.txt 文件
  2. 修改等号后面的中文为你润色的翻译
  3. 除了直接修改翻译,还有正则翻译,语法文档:regex-usage[github.com]
  4. 下面为官方文档的汉化说明,仅供参考,如果某些语句读不懂请看上面的官方英文文档。
正则表达式用法
文本翻译文件也支持正则表达式。永远记住尽可能少地使用正则表达式并尽可能地限制它们以避免性能问题。

正则表达式可以以两种不同的方式应用于翻译。以下两节分别介绍了这两种方式:

标准正则表达式翻译
如果找不到直接查找,标准正则表达式翻译只是直接应用于可翻译文本的正则表达式。
r:"^シンプルリング ([0-9]+)$"=Simple Ring $1
这些由以“r:”开头的未翻译文本标识。

拆分器正则表达式
有时游戏喜欢在将文本显示在屏幕上之前将它们组合起来。这意味着有时很难知道将哪些文本添加到翻译文件中,因为它以多种不同的方式出现。

本节通过在尝试查找指定文本之前应用正则表达式将要翻译的文本拆分为单独的部分来探索解决方案。

例如,假设一个配件(简单戒指)将被翻译为以下行
シンプルリング=Simple Ring
现在假设这出现在整个游戏的多个文本框中,例如「 01 シンプルリング 」和「 02 シンプルリング 」。在翻译文件中提供标准正则表达式来处理这个问题是行不通的,因为每个附件都需要一个正则表达式,而这根本没有性能。

但是,如果我们在尝试查找翻译前先把要翻译的拆分一下,这只需我们在文件中放上一个简单的翻译,像这样:
シンプルリング=Simple Ring

然后只需将以下正则表达式放在翻译文件中:
sr:"^([0-9]{2}) ([\S\s]+)$"=$1 $2

这会将要翻译的文本分成两部分,分别翻译它们并将它们重新组合在一起。

这些由以“sr:”开头的未翻译文本标识。

还值得注意的是,如果配置了此方法,则可以递归使用。这意味着它允许由正则表达式拆分用于翻译的单个字符串流入另一个拆分器正则表达式,依此类推。

除了通过索引标识每个组外,还可以通过名称来标识它们,这使得组可以完全附加。让我们看一个结合了所有这些东西的例子:
sr:"^\[(?<stat>[\w\s]+)(?<num_i>[\+\-]{1}[0-9]+)?\](?<after>[\s\S]+)?$"="[${stat}${num_i}]${after}"
在此示例中,有 3 个命名组,其中两个是可选的(标准正则表达式语法)。替换模式通过用 ${} 将名称括起来来标识这些命名组。

如果标识符名称以 _i 它结尾,则表示不会尝试翻译该字符串,而是按原样传输。通常这并不是真正需要的,因为插件足够聪明,可以确定是否应该翻译某些内容。

那么这个正则表达式会拆分什么?它会像这样拆分字符串:
[DEF+14][ATK+64][DEX+34][AGI]
(?<stat>[\w]+)(?<num_i>[\+\-]{1}[0-9]+)? 匹配了在 “[ ]” 里的文本. 如您所见,这有两个组。第一个是必需的,代表文本。第二个是可选的,表示后面的加号/减号和数字。

(?<after>[\s\S]+) 匹配后面的任何内容。因此,它将尝试像任何其他文本一样翻译该文本,并且可能会直接流回到此拆分器正则表达式中。

正则表达式后处理
使用配置选项 RegexPostProcessing ,还可以对正则表达式的组应用后处理。对于正则 sr: 表达式,它们仅适用于标识符名称以 _i .
游戏内翻译插件快捷键
  • ALT + 0:切换 XUnity AutoTranslator UI。(这是零,不是O)
  • ALT + T:在此插件提供的所有文本的翻译和未翻译版本之间交替。(先F再T)
  • ALT + F:如果配置了 OverrideFont,将在覆盖和默认字体之间切换。
  • ALT + R:重新加载翻译文件。如果您动态更改文本和纹理文件,则很有用。不保证适用于所有纹理。
  • ALT + U:手动挂钩。默认钩子不会总是拾取文本。这将尝试手动进行查找。不会从未启用的框架中挂钩文本组件。(我从未成功过)
汉化效果图
以下汉化效果图皆经过第二部分进阶正则润色汉化





13 則留言
Mortis 2022 年 8 月 9 日 上午 6:37 
想问一下大佬_AutoGeneratedTranslations这个文件直接改等号后面的中文行吗,正则表达式啥的看不懂啊(摆大烂):marijaonlooker:
Mortis 2022 年 8 月 9 日 上午 6:28 
整好力,机翻好难受,回来我自己改改
迷你世界卡卡皇帝。 2022 年 7 月 18 日 上午 12:17 
不小心误删了文件咋办啊
相信国家相信党 2022 年 3 月 28 日 下午 7:30 
看得头都麻了
tomatoiab 2022 年 3 月 15 日 上午 5:31 
担心部分用汉化的人来询问这些文本的意思,所以在想让使用者体验更好的情况下(也有我个人想要进行学习的因素)来询问一下,抱歉打扰了)
tomatoiab 2022 年 3 月 15 日 上午 5:29 
请问是否能指教一二),由于我是刚刚接触正则表达式(准确来说是在看到您的指南后进行的部分学习),虽然成功汉化了inspect界面的人物具体数据,但并未找到合适的方法去让表达式定位到部分文本(例如mod界面的Modifications那一整段介绍,试过hook但是hook不到),所以想来询问下您是通过什么方式汉化的这些文本?
( σ'ω')σ  [作者] 2022 年 3 月 14 日 下午 9:58 
@tomatoiab :steamthumbsup:非常期待,感谢汉化!:Mirro_love:
tomatoiab 2022 年 2 月 25 日 上午 3:07 
感谢对于汉化方面的补充,本人之前仅仅是做好了游戏内的词库)并未做好对于部分细节方面的汉化) 十分感谢补充教程
Hzan 2022 年 2 月 19 日 下午 11:35 
厉害
:steamthumbsup:
樱花绯红 2022 年 2 月 2 日 上午 7:29 
谢谢亲测有用,就是有些地方自动翻译不太准,不过无伤大雅:steamhappy::steamthumbsup: