模组:翻译模组

来自Stardew Valley Wiki
跳到导航 跳到搜索

目录

基于 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 的文本。

如何翻译模组

  1. 正常安装模组。
  2. 打开它的 i18n 文件夹(如果你需要的语言文件尚不存在,只需复制 default.json 文件并将它重命名为你需要的语言)。
  3. 编辑所需要的翻译文本 (参阅上方的 翻译是如何工作的)。
  4. 启动游戏并选择你的语言,模组现在应该显示为你翻译后的相应语言。
  5. 将编辑后的文件发送给模组作者,以便他们可以将其添加到正式版本中。

提示:

  • 如果在游戏中看到乱码,请尝试使用 UTF-8 编码保存翻译文件。
  • 可以在不重新启动游戏的情况下测试游戏中的翻译更改。在 SMAPI 控制台中输入 reload_i18n 然后按下回车来重新加载所有翻译(如果模组内部缓存了翻译,则可能无法更新)。

如何提供模组翻译

你可以随时提供翻译。别有压力,无论做出了多少贡献,我们都会非常感谢你的工作!

这是标准流程:

  1. 在 GitHub 上创建一个账户
  2. 查看未完成的翻译请求。如果仅查看你需要的语言,点击“标签 Label”下拉菜单并为其选择 needs:相应语言 标签便可。
  3. 单击一个请求以查看详细信息(包括模组的功能,在何处下载以及需要什么翻译)。
  4. 安装模组并参阅上一章节进行翻译。
  5. 复制你翻译好的文本,然后将其粘贴到 GitHub 请求的注释中。(如果你很熟悉 GitHub 的操作,也可以在模组作者的仓库中创建拉取请求。)

就是这样!模组的作者会将你的翻译添加到模组中,并会在下个版本的模组中添加你翻译的语言。

提示:

  • 如果一个模组有很多内容需要翻译,可以只翻译其中的一小部分。以后也许会有其他人翻译剩下的内容。

对于模组开发者

使用翻译

有关使用翻译的帮助,请参阅 模组:制作指南/APIs/Translation

请求翻译

  1. 在开始前:
    1. 你的模组必须在一个公开的开源平台上,例如 GitHub
      这对其他人查看请求列表非常重要,可以让他们:(a) 检查模组翻译的当前状态,以使其保持最新进度;(b) 必要时回答译者的问题;(c) 如果你长时间未回复议题且议题被关闭,其他人可以创建拉取请求来提交翻译。
    2. 如果你有部分翻译,请将所有缺少的翻译复制到所有翻译文件中,并标记为 // TODO。(这样,翻译人员只需查看指定语言的文件,而无需将其与 default.json 比较)
    3. 确保你会及时查看请求,并且有时间回复问题!如果你在 72 小时内未处理问题,你的请求将被关闭。
    4. default.json 文件必须是英文的。如果你主要使用的语言不是英语,并且在将模组翻译为英语时需要帮助,我们可以帮你!只要选择needs: English copyediting作为标签即可。
  2. 添加以下信息来创建请求
    字段 输入的内容
    标题 需要要翻译的模组名称和版本。
    标签 选择 'needs:' 所需翻译的标签(不要添加“完成”标签,该标签仅用于已完成的请求)。
    描述 提供以下信息:
    • 模组的简要摘要,并附上模组主页的链接。
    • 开源代码的链接。
    • 如果你需要翻译尚未发布的版本,请附上下载该版本模组的链接(可以将其直接附在请求上)。
    • 如有需要,请说明显示文本的位置,或附上屏幕截图等。

    这里有一个请求示例以供参考

  3. 及时检查你的通知,这样在有人提交翻译或是提出问题时才能收到提醒!