Unity游戏文本提取(一)——I2 Localization插件
这篇文章要介绍一下是用I2 Localization插件的Unity游戏的文本提取。(不涉及字体替换)
特征:
1.使用dnSpy反编译Assembly-Csharp.dll,可以在其中找到名为I2.Loc和l2.Loc.SimpleJSON的命名空间(图中红框中的两个)。

2.通过AssetStudio解包后能够在MonoBehaviour类型的资源中找到I2Languages。

特征2同时也是我们需要提取的文本。

通过UABE—dump出I2Languages的内容,

将文本拉到最底下,可以找到一个mLanguages这个变量,这是一个数组存储了多个语言的内容,可以自行添加自己所需要的语言,或者直接对原有的语言进行修改。

回到最上面,可以找到mTerms的数组变量,这里是这个插件的核心,数组里面Term,每一个Term绑定了游戏内组件的文本信息。
每一个Term中的Languages的保存了对应设置的文本内容(详细请看图中标注),如果是要汉化则可以扩充数组或者修改其中一个语言的内容即可(建议是对原有的语言进行修改)。

这里需要注意的是原游戏内可能不存在中文字体,所以在汉化完后还要替换中文的字体。