【星露谷】漢化 SMAPI 的教程(給有時間肝的開發(fā)者)
全網(wǎng)首發(fā),漢化 SMAPI 最專業(yè)教程,是的你沒有看錯,漢化 SMAPI,不是漢化模組。我自己實在沒有心思去漢化 SMAPI 了,所以寫個教程希望有時間肝的人能去做。

首先聲明漢化 SMAPI 所需的技術(shù)和條件:已經(jīng)能夠熟練安裝 SMAPI、對 Windows 操作熟練、熟悉程序相關(guān)概念、對英語無抗拒(能熟練運用機(jī)翻即可)、對代碼無抗拒(不會寫代碼無所謂)、硬盤有好幾個 GB 空間可以浪費、全程需要網(wǎng)絡(luò)。

漢化 SMAPI 只有一種方法:工程重編譯,而且每次更新都需要重新來過,如果你打算做,請做足心理準(zhǔn)備。本文演示所用環(huán)境:Windows 10 專業(yè)版 22H2、SMAPI 3.18.2

安裝 Visual Studio 2022
官網(wǎng)地址:https://visualstudio.microsoft.com/zh-hans
選擇下載 Community 社區(qū)版

等待安裝程序安裝完畢后進(jìn)入界面
應(yīng)該會自動進(jìn)入【工作負(fù)荷】的選項卡界面,如果沒有就手動點一下相應(yīng)的選項
然后勾選【.NET 桌面開發(fā)】

在右側(cè)的可選內(nèi)容中,按需勾選

轉(zhuǎn)到【單個組件】選項卡頁面,必須勾選【.NET 5.0 Runtime】

(可選)建議勾選【.NET 可移植庫目標(biāo)包】
完成后點擊窗口最右下角的【安裝】或者是【修改】
等待下載并安裝完成,首次啟動請根據(jù)自身需要調(diào)整設(shè)置

(可選但強(qiáng)烈建議)把游戲放到 C 盤默認(rèn)位置
可在 Steam 游戲?qū)傩灾幸苿影惭b文件
切勿使用盜版資源
僅限 Steam 平臺,WeGame 平臺的版本不可用于漢化 SMAPI

正確安裝 SMAPI
確保游戲為最新版本
確保你將要漢化的 SMAPI 版本與已安裝的 SMAPI 版本保持一致
確??梢杂?SMAPI 正確啟動游戲

下載目標(biāo)版本的 SMAPI 工程文件
倉庫地址:https://github.com/Pathoschild/SMAPI
轉(zhuǎn)到 Release 發(fā)行版,下載目標(biāo)版本的?Source code(zip)

解壓下載的壓縮包

在 src 文件夾中,打開?SMAPI.sln 文件

等待 Visual Studio 完成自動還原

確保【解決方案資源管理器】中所有項目已加載

確?!惧e誤列表】中的錯誤項為0,警告信息除框架過期外沒有其他兼容性問題

漢化之前,必須確保可以正確生成,否則一切都是徒勞
點擊頂部菜單欄【生成】菜單中的【生成解決方案】

必須生成成功,否則請先解決所有錯誤


開始漢化
SMAPI 工程所用編程語言為 C#,不需要你會寫,你只需要找到每個需要翻譯字符串然后更改內(nèi)容即可,如果能看懂基礎(chǔ)語法最好
首先漢化安裝程序,展開 SMAPI.Installer 項目

Program.cs 文件中,需要漢化的地方例如

以這種橙棕色顯示的文字為字符串,語法上兩個英文的雙引號中間是字符串,但注意不是所有的字符串都可以漢化,很多地方只是在傳遞值,一旦修改直接報廢,相信做漢化工作的你一眼就能看出哪些是需要漢化的內(nèi)容。例如上圖,可以漢化成如下

InteractiveInstaller.cs 文件中,是安裝程序的主體流程,你會找到很多熟悉的內(nèi)容,依次漢化即可


SMAPI 項目是 SMAPI 的主體程序,此項目中需要漢化的地方很多,而且非常分散,請保持耐心仔細(xì)尋找,我在這里列出來沒有任何意義,他可能在未來的更新中改動。如果你實在找不到要翻譯的句子在哪里,嘗試在整個解決方案中搜索


生成安裝程序
首先還是確保可以生成成功,錯誤列表里這些語法改進(jìn)可以全部忽略(只要能跑,就不要去瞎動)
回到文件夾,找到?prepare-install-package.ps1 文件

右鍵【使用 PowerShell】運行

請務(wù)必正確輸入目標(biāo) SMAPI 版本號,否則將導(dǎo)致一連串的問題

等待生成完畢,時間較長,自動程序運行期間請勿點擊窗口內(nèi),否則會被暫停,標(biāo)題欄將會顯示【選擇 Windows PowerShell】,鼠標(biāo)右鍵窗口內(nèi)可以繼續(xù)自動程序

生成完成后,窗口自動關(guān)閉
回到文件夾根位置,將會多出一個 bin 文件夾,這就是生成的安裝程序



此時運行?install on Windows.bat 會報錯丟失?install.dat 文件

這個 dat 文件需要手動打包,找到位置:internal\windows\bundle

這個 bundle 文件夾就是 install.dat?文件所包含的內(nèi)容,現(xiàn)在需要將這些內(nèi)容以 zip 格式保存到?install.dat 文件,這里注意操作,千萬千萬千萬切記切記切記不要套娃,一旦套娃,全體用戶將為你而閃爍(bushi)
直接選中所有內(nèi)容,右鍵選擇第三方壓縮軟件的添加到 zip,切記不要選成其他格式了,否則 SMAPI 無法解壓


將文件名改為?install.dat


將該文件放到上一級文件夾,可以直接拖到上一級

回到上一級文件夾,此時 bundle 文件夾不再需要,刪除它即可
按照此操作,linux 和 macOS 兩個文件夾內(nèi)的操作同理,但是切記不要把 Windows 的?install.dat 文件直接復(fù)制過去了,否則全體用戶又要為你而閃爍了(bushi)
此時再運行?install on Windows.bat,即可正常運行了


發(fā)布安裝程序
現(xiàn)在你可以將該文件夾壓縮成 zip 來發(fā)布到網(wǎng)絡(luò)上

