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:

  1. gitlab-crowdin-bot身份登录到 GitLab(如果您是 GitLab 团队成员,请在 GitLab 共享的1Password 帐户中找到凭据
  2. 使用 GitLab 集成登录 Crowdin
  3. 导航到设置>集成> GitLab>设置集成
  4. Select gitlab-org/gitlab repository
  5. 在” Select Branches for Translation ,选择” master
  6. 确保Service Branch Namemaster-i18n