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で再現します。
何らかの理由でCrowdInのGitLabインテグレーションが存在しない場合、以下の手順で再作成することができます:
-
gitlab-crowdin-bot
としてGitLabにサインインします(GitLabチームメンバーの場合は、GitLab共有の1Passwordアカウントで認証情報を確認します)。 - GitLabインテグレーションでCrowdinにサインイン
- Settings > Integrations > GitLab > Set Up Integrationに移動します。
-
gitlab-org/gitlab
リポジトリを選択します。 -
Select Branches for Translation
で、以下を選択します。master
-
Service Branch Name
。master-i18n