🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Merging translations from CrowdIn > 原文:[https://docs.gitlab.com/ee/development/i18n/merging_translations.html](https://docs.gitlab.com/ee/development/i18n/merging_translations.html) * [Validation](#validation) * [Merging translations](#merging-translations) * [Recreate the merge request](#recreate-the-merge-request) * [Recreate the GitLab integration in CrowdIn](#recreate-the-gitlab-integration-in-crowdin) # Merging translations from CrowdIn[](#merging-translations-from-crowdin "Permalink") CrowdIn 自动将`gitlab.pot`文件与 CrowdIn 服务同步,将新添加的外部化字符串呈现给翻译者社区. [GitLab CrowdIn Bot](https://gitlab.com/gitlab-crowdin-bot)还会创建合并请求,以接受新批准的翻译提交并将其合并到`locale/<language>/gitlab.po`文件中. 检查[`gitlab-crowdin-bot`创建](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&utf8=✓&state=opened&author_username=gitlab-crowdin-bot)的[合并请求,](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&utf8=✓&state=opened&author_username=gitlab-crowdin-bot)以查看新的和合并的合并请求. ## Validation[](#validation "Permalink") 默认情况下,CrowdIn 使用提交消息中的`[skip ci]`提交翻译. 这样做是为了避免运行一堆管道. 在合并翻译之前,请确保触发管道以验证翻译,我们进行了静态分析,以验证 CrowdIn 不执行的操作. 为`master-i18n`分支在`https://gitlab.com/gitlab-org/gitlab/pipelines/new` (需要开发人员访问权限)处创建一个新管道. 如果存在验证错误,最简单的解决方案是拒绝 CrowdIn 中有问题的字符串,并在注释中注明解决该问题所需的内容. 有一个[问题](https://gitlab.com/gitlab-org/gitlab/-/issues/23256)提示自动完成这一过程. 拒登将排除无效翻译,合并请求将在几分钟内更新. 将 CrowdIn 端的集成暂停一会可能很方便,因此翻译不会持续进行. 这可以通过在[CrowdIn 集成设置页面](https://translate.gitlab.com/project/gitlab-ee/settings#integration)上单击" `Pause sync`来完成. 解决所有故障后,需要再次检查翻译,如[机密问题](../../user/project/issues/confidential_issues.html) `https://gitlab.com/gitlab-org/gitlab/-/issues/19485` . ## Merging translations[](#merging-translations "Permalink") 当发现所有翻译都很好并且流水线通过时,这些翻译可以合并到 master 分支中. 合并翻译时,请确保选中" **删除源分支"**复选框,以便 CrowdIn 在合并新翻译后从 master 重新创建`master-i18n` . 我们正在讨论使[整个过程自动化](https://gitlab.com/gitlab-org/gitlab/-/issues/19896) . ## Recreate the merge request[](#recreate-the-merge-request "Permalink") 一旦关闭或合并旧的 CrowdIn,它就会创建一个新的合并请求. 但是它不会每次都重新创建`master-i18n`分支. 要强制 CrowdIn 重新创建分支,请关闭所有[打开的合并请求](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&utf8=✓&state=opened&author_username=gitlab-crowdin-bot)并删除[`master-18n`](https://gitlab.com/gitlab-org/gitlab/-/branches/all?utf8=✓&search=master-i18n) . 当合并请求包含已在主服务器上修复的故障时,可能需要这样做. ## Recreate the GitLab integration in CrowdIn[](#recreate-the-gitlab-integration-in-crowdin "Permalink") ***注意:**这些说明仅适用于 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 帐户中](https://about.gitlab.com/handbook/security/#1password-for-teams)找到凭据 2. 使用 GitLab 集成登录 Crowdin 3. 导航到设置>集成> GitLab>设置集成 4. Select `gitlab-org/gitlab` repository 5. 在" `Select Branches for Translation` ,选择" `master` 6. 确保`Service Branch Name`为`master-i18n`