i18n
TShock 借助 GetText.NET
实现多语言支持。
CI(持续集成)系统会基于 TShock 中的实际使用情况,自动构建并推送更新后的 .po
文件(语言文件的源文件)。
若需使用本地化字符串而非标准字符串,可调用 GetString()
方法。例如,用 GetString("Invalid command!")
替代 "Invalid command!"
。
系统已添加测试语言文件,可将部分短语转换为 道本语(意为“好的语言”)。如需使用,可将环境变量 TSHOCK_LANGUAGE
设置为 tok
。例如:TSHOCK_LANGUAGE=tok dotnet run --project TShockLauncher
,然后执行 die
命令即可体验。
.po
到 .mo
的自动编译需安装 msgfmt
(可通过 Git Bash 或直接安装 gettext
获取)。若未安装,调试模式下将无法在 i18n
文件夹中编译 .mo
文件。此时,建议从 GitHub 下载最新构建产物,提取所需的 .mo
文件并放入 i18n
文件夹。
i18n 系统的基础框架由 Janet Blackquill(@pontaoski)构建。为感谢其贡献,我们以她的名义向 KDE 项目 捐赠了小额款项。
若想为 TShock 的本地化/国际化贡献力量,可通过 Crowdin 提交修改。Crowdin 上的变更会由 @cardinal-system 通过 GitHub 拉取请求自动合并。当前活跃的语言项目包括:简体中文、俄语、乌克兰语(俄语)、西班牙语、日语、土耳其语、德语、法语、魁北克法语和道本语。如需添加新的语言项目,请在 TShock 的 Discord 服务器中告知相关人员。