CrowdInからの翻訳マージ

CrowdInは、gitlab.pot ファイルを自動的にCrowdInサービスと同期し、新しく追加された外部化文字列を翻訳者のコミュニティに提示します。

GitLabCrowdIn Botは、新しく承認された翻訳投稿をlocale/<language>/gitlab.poファイルにマージするためのマージリクエストも作成します。gitlab-crowdin-bot](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&utf8=%E2%9C%93&state=opened&author_username=gitlab-crowdin-bot)によって作成された[マージリクエストで、新しくマージされたマージリクエストを確認できます。

バリデーション

デフォルトでは、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で議論されているように、翻訳をもう一度ダブルチェックする必要があります。

翻訳のマージ

すべての翻訳が良好と判断され、パイプラインがパスしたら、翻訳を master ブランチにマージすることができます。 翻訳をマージする際には、Remove source branchチェックボックスをチェックし、新しい翻訳がマージされた後に CrowdIn が master ブランチからmaster-i18n を再作成するようにしてください。

私たちはこのプロセス全体を自動化することを検討しています。

マージリクエストを再作成します。

CrowdIn は、古いマージリクエストが閉じられたりマージされたりすると、すぐに新しいマージリクエストを作成します。 しかし、master-i18n ブランチを毎回再作成するわけではありません。 CrowdIn にブランチを再作成させるには、開いているマージリクエストをすべて閉じ、master-18nを削除してください。

これはマージリクエストにマスターで修正された失敗が含まれている場合に必要になります。

GitLabインテグレーションをCrowdInで再現します。

*注:これらの手順はGitLabチームメンバーにのみ有効です。

何らかの理由でCrowdInのGitLabインテグレーションが存在しない場合、以下の手順で再作成することができます:

  1. gitlab-crowdin-bot としてGitLabにサインインします(GitLabチームメンバーの場合は、GitLab共有の1Passwordアカウントで認証情報を確認します)。
  2. GitLabインテグレーションでCrowdinにサインイン
  3. Settings > Integrations > GitLab > Set Up Integrationに移動します。
  4. gitlab-org/gitlab リポジトリを選択します。
  5. Select Branches for Translationで、以下を選択します。master
  6. Service Branch Namemaster-i18n