Merging translations from CrowdIn
原文:https://docs.gitlab.com/ee/development/i18n/merging_translations.html
Merging translations from CrowdIn
CrowdIn 自动将gitlab.pot
文件与 CrowdIn 服务同步,将新添加的外部化字符串呈现给翻译者社区.
GitLab CrowdIn Bot还会创建合并请求,以接受新批准的翻译提交并将其合并到locale/<language>/gitlab.po
文件中. 检查gitlab-crowdin-bot
创建的合并请求,以查看新的和合并的合并请求.
Validation
默认情况下,CrowdIn 使用提交消息中的[skip ci]
提交翻译. 这样做是为了避免运行一堆管道. 在合并翻译之前,请确保触发管道以验证翻译,我们进行了静态分析,以验证 CrowdIn 不执行的操作. 为master-i18n
分支在https://gitlab.com/gitlab-org/gitlab/pipelines/new
(需要开发人员访问权限)处创建一个新管道.
如果存在验证错误,最简单的解决方案是拒绝 CrowdIn 中有问题的字符串,并在注释中注明解决该问题所需的内容. 有一个问题提示自动完成这一过程. 拒登将排除无效翻译,合并请求将在几分钟内更新.
将 CrowdIn 端的集成暂停一会可能很方便,因此翻译不会持续进行. 这可以通过在CrowdIn 集成设置页面上单击” Pause sync
来完成.
解决所有故障后,需要再次检查翻译,如机密问题 https://gitlab.com/gitlab-org/gitlab/-/issues/19485
.
Merging translations
当发现所有翻译都很好并且流水线通过时,这些翻译可以合并到 master 分支中. 合并翻译时,请确保选中” 删除源分支”复选框,以便 CrowdIn 在合并新翻译后从 master 重新创建master-i18n
.
我们正在讨论使整个过程自动化 .
Recreate the merge request
一旦关闭或合并旧的 CrowdIn,它就会创建一个新的合并请求. 但是它不会每次都重新创建master-i18n
分支. 要强制 CrowdIn 重新创建分支,请关闭所有打开的合并请求并删除master-18n
.
当合并请求包含已在主服务器上修复的故障时,可能需要这样做.
Recreate the GitLab integration in CrowdIn
*注意:这些说明仅适用于 GitLab 团队成员.
If for some reason the GitLab integration in CrowdIn does not exist, it can be recreated by the following steps:
- 以
gitlab-crowdin-bot
身份登录到 GitLab(如果您是 GitLab 团队成员,请在 GitLab 共享的1Password 帐户中找到凭据 - 使用 GitLab 集成登录 Crowdin
- 导航到设置>集成> GitLab>设置集成
- Select
gitlab-org/gitlab
repository - 在”
Select Branches for Translation
,选择”master
- 确保
Service Branch Name
为master-i18n