Unity游戲文本提取(一)——I2 Localization插件
這篇文章要介紹一下是用I2 Localization插件的Unity游戲的文本提取。(不涉及字體替換)
特征:
????1.使用dnSpy反編譯Assembly-Csharp.dll,可以在其中找到名為I2.Loc和l2.Loc.SimpleJSON的命名空間(圖中紅框中的兩個(gè))。

????????2.通過AssetStudio解包后能夠在MonoBehaviour類型的資源中找到I2Languages。

特征2同時(shí)也是我們需要提取的文本。

通過UABE—dump出I2Languages的內(nèi)容,

將文本拉到最底下,可以找到一個(gè)mLanguages這個(gè)變量,這是一個(gè)數(shù)組存儲(chǔ)了多個(gè)語言的內(nèi)容,可以自行添加自己所需要的語言,或者直接對(duì)原有的語言進(jìn)行修改。

回到最上面,可以找到mTerms的數(shù)組變量,這里是這個(gè)插件的核心,數(shù)組里面Term,每一個(gè)Term綁定了游戲內(nèi)組件的文本信息。
每一個(gè)Term中的Languages的保存了對(duì)應(yīng)設(shè)置的文本內(nèi)容(詳細(xì)請(qǐng)看圖中標(biāo)注),如果是要漢化則可以擴(kuò)充數(shù)組或者修改其中一個(gè)語言的內(nèi)容即可(建議是對(duì)原有的語言進(jìn)行修改)。

這里需要注意的是原游戲內(nèi)可能不存在中文字體,所以在漢化完后還要替換中文的字體。
標(biāo)簽: