模组:翻译模组
← 目录
基于 SMAPI 的模组可以被翻译为游戏支持的任何语言。使用模组时,它们将自动套用为与游戏设置相同的语言,如果缺少相应语言的翻译,游戏会使用模组的默认文本。本页主要说明了如何提供或请求翻译。
对于翻译者
翻译是如何工作的
如果某个模组支持翻译,那么在它的根目录中会有一个 i18n 文件夹,包含了翻译文件,您可以在文本编辑器中(如记事本等)打开这些文件。通常情况下,该文件夹内会有一个名为 default.json 的文件(内含默认的英文文本),有时也会包含下面的部分或全部文件:
语言 | 文件名 |
---|---|
中文 | zh.json |
德语 | de.json |
西班牙语 | es.json |
法语 | fr.json |
意大利语 | it.json |
日语 | ja.json |
韩语 | ko.json |
匈牙利语 | hu.json |
葡萄牙语 | pt.json |
俄语 | ru.json |
土耳其语 | tr.json |
Custom | file name matches the language's LanguageCode field |
每个文件包含的文本如下所示:
{
"translation-key": "简单的可翻译文本",
"translation-key-2": "包含一个 {{token}} 令牌的可翻译文本"
}
第一部分 (在 :
之前的部分) 是翻译的唯一键。这是模组识别翻译的方式,因此请不要更改它。
第二部分 (在 :
之后的部分) 是翻译文本。有时会包含一些令牌,像这样:{{token}}
,模组在运行时将用不同的文本替换,所以不要修改单词左右两边的 {{
以及 }}
。例如:"You have {{count}} gold"
, 玩家实际上在游戏中会看到类似于 You have 500 gold
的文本。
如何翻译模组
- 正常安装模组。
- 打开它的 i18n 文件夹(如果你需要的语言文件尚不存在,只需复制 default.json 文件并将它重命名为你需要的语言)。
- 编辑所需要的翻译文本 (参阅上方的 翻译是如何工作的)。
- 启动游戏并选择你的语言,模组现在应该显示为你翻译后的相应语言。
- 将编辑后的文件发送给模组作者,以便他们可以将其添加到正式版本中。
提示:
- 如果在游戏中看到乱码,请尝试使用 UTF-8 编码保存翻译文件。
- 可以在不重新启动游戏的情况下测试游戏中的翻译更改。在 SMAPI 控制台中输入
reload_i18n
然后按下回车来重新加载所有翻译(如果模组内部缓存了翻译,则可能无法更新)。
如何提供模组翻译
你可以随时提供翻译。别有压力,无论做出了多少贡献,我们都会非常感谢你的工作!
这是标准流程:
- 在 GitHub 上创建一个账户。
- 查看未完成的翻译请求。如果仅查看你需要的语言,点击“标签 Label”下拉菜单并为其选择
needs:相应语言
标签便可。 - 单击一个请求以查看详细信息(包括模组的功能,在何处下载以及需要什么翻译)。
- 安装模组并参阅上一章节进行翻译。
- 复制你翻译好的文本,然后将其粘贴到 GitHub 请求的注释中。(如果你很熟悉 GitHub 的操作,也可以在模组作者的仓库中创建拉取请求。)
就是这样!模组的作者会将你的翻译添加到模组中,并会在下个版本的模组中添加你翻译的语言。
提示:
- 如果一个模组有很多内容需要翻译,可以只翻译其中的一小部分。以后也许会有其他人翻译剩下的内容。
对于模组开发者
使用翻译
有关使用翻译的帮助,请参阅 模组:制作指南/APIs/Translation
请求翻译
- 在开始前:
- 你的模组必须在一个公开的开源平台上,例如 GitHub。
这对其他人查看请求列表非常重要,可以让他们:(a) 检查模组翻译的当前状态,以使其保持最新进度;(b) 必要时回答译者的问题;(c) 如果你长时间未回复议题且议题被关闭,其他人可以创建拉取请求来提交翻译。 - 如果你有部分翻译,请将所有缺少的翻译复制到所有翻译文件中,并标记为
// TODO
。(这样,翻译人员只需查看指定语言的文件,而无需将其与 default.json 比较) - 确保你会及时查看请求,并且有时间回复问题!如果你在 72 小时内未处理问题,你的请求将被关闭。
- default.json 文件必须是英文的。如果你主要使用的语言不是英语,并且在将模组翻译为英语时需要帮助,我们可以帮你!只要选择
needs: English copyediting
作为标签即可。
- 你的模组必须在一个公开的开源平台上,例如 GitHub。
- 添加以下信息来创建请求:
字段 输入的内容 标题 需要要翻译的模组名称和版本。 标签 选择 'needs:' 所需翻译的标签(不要添加“完成”标签,该标签仅用于已完成的请求)。 描述 提供以下信息: - 模组的简要摘要,并附上模组主页的链接。
- 开源代码的链接。
- 如果你需要翻译尚未发布的版本,请附上下载该版本模组的链接(可以将其直接附在请求上)。
- 如有需要,请说明显示文本的位置,或附上屏幕截图等。
这里有一个请求示例以供参考
- 及时检查你的通知,这样在有人提交翻译或是提出问题时才能收到提醒!