66
77- [ 贡献方针] ( #贡献方针 )
88 - [ 仓库结构] ( #仓库结构 )
9- - [ 翻译用语共识] ( #翻译用语共识 )
109 - [ 翻译贡献方针] ( #翻译贡献方针 )
1110 - [ 总则] ( #总则 )
1211 - [ Pull Request 相关规定] ( #pull-request-相关规定 )
3029Minecraft-Mod-Language-Package
3130 ├─.github --------------- // GitHub 相关配置文件
3231 ├─config ---------------- // 配置文件
33- │ └─packer - ------------- // 打包器配置文件
32+ │ └─packer ------------- // 打包器配置文件
3433 ├─projects -------------- // 翻译文件
35- │ └─(Minecraft 版本) ---- // 不带 fabric 字样的是用于 Forge 和 NeoForge 模组的
36- │ └─assets
37- │ ├─(CurseForge 项目名称) ---- // 见下
38- │ │ └─(命名空间) ------------- // 见下
39- │ │ └─lang ----------------- // 语言文件文件夹
40- │ │ ├─en_us.json --------- // English (United States) 语言文件
41- │ │ └─zh_cn.json --------- // 中文 (简体) 语言文件
42- │ ├─(Modrinth 项目名称)------- // 见下
43- │ │ └─(命名空间) ------------- // 见下
44- │ │ └─lang ----------------- // 语言文件文件夹
45- │ │ ├─en_us.json --------- // English (United States) 语言文件
46- │ │ └─zh_cn.json --------- // 中文 (简体) 语言文件
47- │ ├─minecraft
48- │ │ └─minecraft -------------- // Minecraft 原版使用的命名空间
49- │ │ ├─font
50- │ │ │ └─glyph_sizes.bin ---- // 全角标点修复文件
51- │ │ └─textures
52- │ │ └─font --------------- // 全角标点修复文件
53- │ └─1UNKNOWN ----------------- // 存放不在 CurseForge 和 Modrinth 上发布的模组
54- │ └─(命名空间)
55- │ └─lang
34+ │ ├─assets
35+ │ │ ├─(项目名称) ------------- // 见下
36+ │ │ │ └─(Minecraft 版本) ---- // 不带 fabric 字样的是用于 Forge 和 NeoForge 模组的
37+ │ │ │ └─(命名空间) -------- // 见下
38+ │ │ │ └─lang ------------- // 语言文件文件夹
39+ │ │ │ ├─en_us.json ----- // English (United States) 语言文件
40+ │ │ │ └─zh_cn.json ----- // 中文 (简体) 语言文件
41+ │ │ ├─minecraft
42+ │ │ │ └─(Minecraft 版本)
43+ │ │ │ └─minecraft ---------- // Minecraft 原版使用的命名空间
44+ │ │ │ ├─font
45+ │ │ │ │ └─glyph_sizes.bin - // 全角标点修复文件
46+ │ │ │ └─textures
47+ │ │ │ └─font ----------- // 全角标点修复文件
48+ │ │ └─1UNKNOWN --------------- // 存放不在 CurseForge 和 Modrinth 上发布的模组
49+ │ │ └─(Minecraft 版本)
50+ │ │ └─(命名空间)
51+ │ │ └─lang
52+ │ ├─packer-example ----- // Packer 配置示例,展示打包策略的用法
53+ │ └─templates ---------- // 资源包模板文件(pack.mcmeta、pack.png 等)
5654 └─src --------------- // 各种自动化工具的源码
5755 ├─Formatter ------- // 格式化工具,曾用于统一翻译文件格式
5856 ├─Language.Core
@@ -61,45 +59,42 @@ Minecraft-Mod-Language-Package
6159 └─Uploader -------- // 上传器,用于将资源包文件上传到文件分发服务器
6260```
6361
64- ** CurseForge 项目名称** :以匠魂为例,它的 CurseForge 页面地址是 ` https://www.curseforge.com/minecraft/mc-mods/tinkers-construct ` ,则 ` CurseForge 项目名称 ` 为 ` tinkers-construct ` 。因为它是唯一的,被用来追溯模组来源 。
62+ ** 项目名称(Project Slug) ** :文件夹名称取自模组在发布平台上的 Slug(URL 中的唯一标识符),仅用于 bot 爬取模组信息,不影响打包等策略 。
6563
66- ** 命名空间(Namespace)** :以匠魂为例,用压缩软件打开模组文件(JAR 格式),它的 en_us.json 的路径为 ` assets/tconstruct/lang/en_us.json ` ,则 ` {命名空间} ` 为 ` assets/ ` 和 ` /lang ` 之间的内容,即 ` tconstruct ` 。一个模组可能有多个命名空间。命名空间介绍见 [ Minecraft Wiki] ( https://zh.minecraft.wiki/w/%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4ID?variant=zh-cn#%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4 ) 。
64+ - ** CurseForge 来源** :以匠魂为例,它的 CurseForge 页面地址是 ` https://www.curseforge.com/minecraft/mc-mods/tinkers-construct ` ,则 Slug 为 ` tinkers-construct ` ,直接用作文件夹名。
65+ - ** Modrinth 来源** :以 Clean F3 为例,它的 Modrinth 页面地址是 ` https://modrinth.com/mod/clean-f3 ` ,则 Slug 为 ` clean-f3 ` 。为了与 CurseForge 上发布的模组作以区分,所有仅在 Modrinth 上发布的模组,需在其 Slug 前添加 ` modrinth- ` 前缀作为区分,即文件夹名为 ` modrinth-clean-f3 ` 。
6766
68- ** Modrinth 项目名称** :以 Modrinth 独占模组 Clean F3 为例,它的 Modrinth 页面地址是 ` https://modrinth.com/mod/clean-f3 ` ,则在 ` mod/ ` 后的内容 ` clean-f3 ` 为 ` {Modrinth 项目名称} ` 的** 主体** 部分,而为了与 Curseforge 上发布的模组作以区分,所有仅在 Modrinth 上发布的模组,在其之前需要添加 ` modrinth- ` 作为区分。综上,它的 ` {Modrinth 项目名称} ` 为 ` modrinth-clean-f3 ` 。
67+ 综上,项目名称即文件夹名,可能是 ` tinkers-construct ` (CurseForge 模组)或 ` modrinth-clean-f3 ` (Modrinth 独占模组),因 Slug 具有唯一性,被用来追溯模组来源。
68+
69+ ** 命名空间(Namespace)** :以匠魂为例,用压缩软件打开模组文件(JAR 格式),它的 en_us.json 的路径为 ` assets/tconstruct/lang/en_us.json ` ,则 ` {命名空间} ` 为 ` assets/ ` 和 ` /lang ` 之间的内容,即 ` tconstruct ` 。一个模组可能有多个命名空间。命名空间介绍见 [ Minecraft Wiki:命名空间] ( https://zh.minecraft.wiki/w/%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4ID?variant=zh-cn#%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4 ) 。
6970
7071仓库中“命名空间”文件夹下的目录结构与[ 资源包] ( https://zh.minecraft.wiki/w/%E8%B5%84%E6%BA%90%E5%8C%85 ) 的相应结构相同,其他可用资源包加载的本地化文件亦可接收。
7172
72- projects 文件夹下只标出模组所属的大版本号,其中的模组翻译文件应满足以下优先级:
73+ ** 项目名称(Project Slug) ** 文件夹下只标出模组所属的大版本号,其中的模组翻译文件应满足以下优先级:
7374
74751 . 模组活跃更新的 Minecraft 版本优先。
75762 . 若所有小版本都活跃更新,则 Minecraft 版本高者优先。
7677
77-
78- * 例:Minecraft 版本 1.19.2 与 1.19.4 均属同一大版本号 1.19 下的子版本。
79- 若某一模组在两个版本上的开发均活跃,由于 1.19.4 的版本号更高,因此优先考虑该模组在 1.19.4 下的译名标准化情况与适配情况。
80- 这一优先级不会影响到模组在其他大版本下(如 1.18、1.12 等)的分支。
81-
82- ## 翻译用语共识
83-
84- 1 . “材料 + 质/制 + 中心词”的翻译,如“铁质涡轮”或“铁制涡轮”,二者皆合理。只需单模组内统一。
85- 2 . 关于“木制品名称”的翻译,可参考 [ #4525 ] ( https://github.com/CFPAOrg/Minecraft-Mod-Language-Package/issues/4525 ) 的解决方法。
86-
78+ - 例:Minecraft 版本 1.19.2 与 1.19.4 均属同一大版本号 1.19 下的子版本。
79+ 若某一模组在两个版本上的开发均活跃,由于 1.19.4 的版本号更高,因此优先考虑该模组在 1.19.4 下的译名标准化情况与适配情况。
80+ 这一优先级不会影响到模组在其他大版本下(如 1.18、1.12.2 等)的分支。
8781
8882## 翻译贡献方针
8983
9084以下内容只针对 [ projects] ( ./projects ) 文件夹下的贡献。
9185
9286### 总则
9387
94- - 翻译** 必须** 符合 [ Minecraft 模组简体中文翻译规范与指南 ] ( https://cfpa.site/TransRules/ ) 的规定 。
95- - ** 拒绝** 接收机器翻译(含生成式 AI)、生硬翻译。
88+ - 翻译** 必须** 遵守 [ Minecraft 模组简体中文翻译指南 ] ( https://cfpa.site/TransRules/ ) 。
89+ - ** 拒绝** 接收机器翻译(含生成式 AI)、生硬翻译(不符合中文表达习惯的) 。
9690 - 若直接提交此类翻译,该 PR 将被打上“生硬翻译”标签。
97- - 若作者不及时进行有效修改,PR 可能会依照本仓库的[ 搁置规则] ( #搁置规则 ) 处理。
98- - 翻译** 必须** 在审校后才能进入仓库。
91+ - 若提交者未及时进行有效修改,依照本仓库的[ 搁置规则] ( #搁置规则 ) 处理。
92+ - 已经过译后编辑,且** 满足指南要求** 的机器翻译可以接收。
93+ - 提交的翻译** 必须** 在审查后才能进入仓库。
9994
10095### Pull Request 相关规定
10196
102- 可查看[ 视频教程] ( https://www.bilibili.com/video/BV1yqgge9EVK/ ) 或[ 文字教程] ( https://github.com/CFPAOrg/Minecraft-Mod-Language-Package/wiki/%E4%BD%BF%E7%94%A8-GitHub-%E6%8F%90%E4%BA%A4%E7%BF%BB%E8%AF%91 ) 来学习。注意,视频或文字教程都只介绍了 Pull Request 的使用方法,贡献方针仍需阅读。同时,我们默认翻译贡献者已拥有一定的 Github 基础知识。
97+ 可查看[ 视频教程] ( https://www.bilibili.com/video/BV1yqgge9EVK/ ) 或[ 文字教程] ( https://github.com/CFPAOrg/Minecraft-Mod-Language-Package/wiki/%E4%BD%BF%E7%94%A8-GitHub-%E6%8F%90%E4%BA%A4%E7%BF%BB%E8%AF%91 ) 来学习。注意,视频或文字教程都只介绍了 Pull Request 的使用方法,贡献方针仍需阅读。同时,我们默认翻译贡献者已拥有一定的 GitHub 基础知识。
10398
10499视频或文字教程中与翻译贡献方针不同的地方,以本方针为准。
105100
@@ -117,11 +112,13 @@ projects 文件夹下只标出模组所属的大版本号,其中的模组翻
117112
118113- ** 必须** 提交 PR 至` main ` 分支。
119114- ** 必须** 路径合规,详见[ 仓库结构] ( #仓库结构 ) 。
120- - ** 必须** 包含简体中文、翻译源语言的语言文件。
121- - 若翻译源语言不是英语,且模组有英语语言文件,则** 必须** 包含英语语言文件。
115+ - ** 必须** 包含简体中文、项目源语言的语言文件。
116+ - 项目源语言是指模组作者使用的语言,且该语言本地化文件是** 由模组作者提供** 的。
117+ - 即使项目源语言不是英语,只要模组有英语语言文件,那么英语语言文件也** 必须** 提交。
122118- ** 建议** 每个 PR 仅含一个模组。
123119 - 若多个模组的中文总行数不超过 200,** 建议** 合并为一个 PR。
124120- ** 建议** 用相关词语填写提交消息(Commit Message),如` 提交 ` 、` 更新 ` 、` 修改 ` 、` 删除 ` 。
121+ - ** 建议** 新创建一个分支(branch)来提交翻译,而不是直接将修改放到你自己的` main ` 分支提交。
125122
126123<!--
127124### Weblate
@@ -136,37 +133,38 @@ projects 文件夹下只标出模组所属的大版本号,其中的模组翻
136133
137134#### 审查规则
138135
139- - 审查的基本依据 ** 是** [ 翻译贡献方针] ( #翻译贡献方针 ) 。
140- - 审查流程 ** 必须** 满足本文档[ 翻译审查] ( #翻译审查 ) 内容所述。
141- - 审查过程中各方 ** 应** 遵守[ 礼仪] ( https://zh.wikipedia.org/wiki/Wikipedia:%E7%A4%BC%E4%BB%AA ) ([ 备用] ( https://share.weiyun.com/LRvx1omf ) )。
136+ - 翻译审查的基本依据 ** 是** [ 翻译贡献方针] ( #翻译贡献方针 ) 。
137+ - 翻译审查的流程 ** 必须** 满足本文档[ 翻译审查] ( #翻译审查 ) 内容所述。
138+ - 翻译审查过程中各方 ** 应** 遵守[ 礼仪] ( https://zh.wikipedia.org/wiki/Wikipedia:%E7%A4%BC%E4%BB%AA ) ([ 备用] ( https://share.weiyun.com/LRvx1omf ) )。
142139
143140#### 审查人
144141
145142- 任何人都能利用 GitHub 提供的[ 相关功能] ( https://docs.github.com/zh/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request ) 来审查 PR 中翻译。所有参与审查的用户即为审查人。
146- - [ CFPA团队] ( https://github.com/CFPAOrg ) 的成员(Member)和[ 仓库] ( https://github.com/CFPAOrg/Minecraft-Mod-Language-Package ) 的协作者(Collaborator)是具有团队官方性质的审查人。
147- - 至少一位具有官方身份的审查人对 PR 给出批准(Approval)审查后,PR 才能合并。
148- - 审查人在给出批准审查后** 应** 给 PR 加上“即将合并”标签,此后需至少等待 24 小时,若等待期间没有新动态则可以合并 PR。
149- - “动态”包括但不限于 PR 作者发送提交(Commit)、审查人提出意见。
143+ - [ CFPA 团队] ( https://github.com/CFPAOrg ) 的成员(Member)和[ 本仓库] ( https://github.com/CFPAOrg/Minecraft-Mod-Language-Package ) 的协作者(Collaborator)是具有团队官方性质的审查人,统称为管理员。
144+ - 至少一位管理员对 PR 给出批准(Approval)意见后,PR 才能合并。
145+ - 管理员在给出批准意见后** 应** 给 PR 加上“即将合并”标签,此后需至少等待 24 小时,若等待期间没有新动态则可以合并 PR。
146+ - “动态”包括但不限于 PR 作者提交(Commit)、审查人评论。
147+ - 管理员有根据常识判断和处置包含不适宜内容 PR 的权力。处置措施包括但不限于:要求使用中立表述、删减、关闭 PR、限制用户提交。
150148
151149#### PR 作者
152150
153151- PR 作者** 应** 对审查作出合理回应,或接受建议,或提出异议。
154- - 在接受审查人的建议后,PR 作者** 应** 解决(Revolve )相应的对话(Conversation)。
155- - 若拒绝审查人的建议,或和审查人的观点相左,PR 作者** 不应** 急于解决(Revolve)对话(Conversation)
152+ - 在接受审查人的建议后,PR 作者** 应** 解决(Resolve )相应的对话(Conversation)。
153+ - 若拒绝审查人的建议,或和审查人的观点相左,PR 作者** 不应** 急于解决对话(Resolve conversation)。
156154- PR 作者** 应** 及时做出回应,否则 PR 可能会按[ 搁置规则] ( #搁置规则 ) 关闭。
157- - PR 作者如遇到 Git/GitHub 操作上的困难,** 应 ** 先询问后操作 ,避免造成混乱。
155+ - PR 作者如遇到 Git/GitHub 操作上的困难,请先询问后操作 ,避免造成混乱。
158156
159157### 搁置规则
160158
161159搁置规则用于解决由于 PR 作者迟迟不出面响应审查要求而导致的 PR 积压问题。
162160
163- 1 . 若 PR 中存在未作者未响应的审查超过 7 天,审查人有权提及(@)PR 作者,提醒其相应审查意见 ,然后加上“即将被搁置”标签。
164- 2 . 若“即将被搁置”标签存在超过 7 天,PR 作者将被视为无法回应。此时
161+ 1 . 若 PR 中存在作者未响应的评论超过 7 天,审查人有权提及(@)PR 作者,提醒其处理相应审查意见 ,然后加上“即将被搁置”标签。
162+ 2 . 若“即将被搁置”标签存在超过 7 天,PR 作者将被视为无法回应。此时:
165163 - 2.1 若存在要求 PR 作者参与的审查意见,PR 将被加上“即将拒收”标签。1 天后 PR 将被关闭。
166164 - 2.2 若审查意见都无需 PR 作者参与,PR 将被加上“即将拒收”标签。1 天缓冲期内官方审查人** 可以** 直接采纳审查意见,并终止计时,转入合并流程。
1671653 . 在 1、2 所述过程中,若 PR 作者做出了回应,标签将被清除,计时重新从 1 开始。
168166
169- 因搁置而关闭的 PR,PR 作者若想继续更新,可重新打开 (Reopen)PR。
167+ 因搁置而关闭的 PR,PR 作者若想继续更新,可联系管理员重新打开 (Reopen)PR。
170168
171169### 公示规则
172170
@@ -198,7 +196,7 @@ projects 文件夹下只标出模组所属的大版本号,其中的模组翻
198196
199197<!-- ### config/spider/config.json
200198
201- > Spider目前暂时停用 ,以下事项仅作参考。
199+ > Spider 目前暂时停用 ,以下事项仅作参考。
202200
203201- `"version"`:游戏版本,**请勿修改**
204202- `"spider_conf"`:爬虫相关设置
@@ -227,12 +225,12 @@ projects 文件夹下只标出模组所属的大版本号,其中的模组翻
227225- 增加新翻译版本
228226 - 需要将所有项填写一遍,同时需要更新 ` .github/workflows/packer.yml ` 、` .github/workflows/pr-packer.yml ` 、` .github\boring-cyborg.yml ` ,以及 [ CFPABot] ( https://github.com/Cyl18/CFPABot ) 等相关服务。没有规划最好不要乱动。
229227- 更改字符替换表
230- - 修改` characterReplacement ` ,格式与已有文本一致。对于** 基础多语种平面(BMP)** 以外的字符,最好用 ** UTF-16 代理对** 书写。
228+ - 修改` characterReplacement ` ,格式与已有文本一致。对于 ** 基础多语种平面(BMP)** 以外的字符,最好用 ** UTF-16 代理对** 书写。
231229 - 同时可能需要修改字体文件。
232230- 处理非文本文件
233231 - 参考 [ Packer-Doc] ( Packer-Doc.md ) 对其的描述。
234232- 停止对某模组的支持
235- - 把该模组的 ` CurseForge 项目名称` 或 ` 命名空间 ` 中的加入相应的 ` exclusionMods ` 或 ` exclusionDomains ` (二者取其一)。
233+ - 把该模组的` 项目名称 ` / ` 命名空间 ` 加入 ` exclusionMods ` / ` exclusionDomains ` (二者取其一)。
236234
237235## 联系我们
238236
0 commit comments