TeaCon 茶后谈第 414 期
随着自动汉化更新模组为广大中文玩家所熟知,「i18n」这个名词也时常出现在模组玩家的交谈中。但实际上,「i18n」是 internationalization,即「国际化」的缩写,指的是「使得一个软件可以被翻译成各国语言」。我们常说的「汉化」,实际上属于「本地化」(localization,缩写成 l10n)。Minecraft 及其模组,一般通过“语言文件”的方式,实现国际化:开发者给游戏内的每一条文本起一个名字,称之为本地化键;游戏显示文本时,按照本地化键,从当前语言对应的语言文件,如 zh_cn.lang/zh_cn.json 中,找到该本地化键对应的文本并显示。然而,许多国内外开发者,至少在作品最初的几个版本中,有意或无意地忽视了国际化/本地化的重要性;与此同时,当时的 MCP 对某些方法的命名不甚妥当,一定程度上也造成了开发者的概念混淆,以至开发中误用了不恰当的方法。值得庆幸的是,随着新兴模组开发教程中对国际化的讲解日渐完善,加上各混淆表的命名风格以及 Minecraft 底层代码自身的改进,此类问题目前已基本绝迹;而更可喜的是,随着「在 CurseForge、Modrinth、GitHub 等平台分享作品」成为全球 Minecraft 模组、整合包创作社群的流行趋势,越来越多的模组、整合包作者有机会接触到使用其他语言的玩家,从而意识到了国际化/本地化的重要性。推倒「语言墙」的工作虽然仍然任重道远,但我们能感受到玩家、开发者、翻译贡献者各方的努力;整个社群正在相向而行。【本期编辑:3TUSK、NoName德里奇】