|
ドキュメント
デモを予約プラットフォーム
プラットフォームMCPCLIAPIワークフロー
ガイド変更履歴

継続的ローカリゼーション

  • 仕組み

継続的ローカライゼーション

  • セットアップ

プラットフォーム

  • GitHub App
  • GitHub
  • GitLab CI/CD
  • Bitbucket Pipelines
  • 高度なパターン

Bitbucket Pipelines

Bitbucket では、パイプラインステップ内で @lingo.dev/cli を実行します。インストール後に lingo push を実行すると、変更されたソース文字列が使用中のエンジン経由で翻訳され、結果をコミットするか、Bitbucket 標準の機能でプルリクエストを作成できます。

前提条件

あらかじめ .lingo/config.json をリポジトリにコミットしておく必要があります(engineId、ソース/ターゲットのロケール、files パターンを含む)。あわせて、Lingo.dev API キーをリポジトリ変数として保存してください。設定ファイルの作成方法は CLI クイックスタート を参照してください。

認証#

CLI は LINGO_API_KEY 環境変数を使って認証します。キーは secured なリポジトリ変数として追加し、パイプラインステップから参照できるようにします。

Repository settings > Repository variables で LINGO_API_KEY を追加し、secured に設定してください。

コミットをリポジトリにプッシュしたり、プルリクエストを作成したりするには、パイプラインに Git の書き込み権限も必要です。一般的には、リポジトリ SSH キー(Repository settings > SSH keys)か、Read & write repositories(PR モードでは pull requests も)スコープ付きのリポジトリアクセストークンを使い、それを BB_TOKEN などの secured なリポジトリ変数として保存します。

ワークフロー例#

直接コミット(デフォルト)#

CLI をインストールして lingo push を実行し、翻訳済みファイルをブランチへコミットします。

yaml
image: node:22

pipelines:
  branches:
    main:
      - step:
          name: Translate
          script:
            - npm install -g @lingo.dev/cli
            - lingo push
            - git config user.name "lingo-bot"
            - git config user.email "support@lingo.dev"
            - git add .
            - git diff --cached --quiet || git commit -m "chore: update translations"
            - git push origin HEAD:main

lingo push は前回の実行以降に変更された分だけを翻訳し(.lingo/lock.json で追跡)、実行の完了を待ってから出力をディスクに書き込みます。

プルリクエストモード#

翻訳を main に直接コミットする代わりに専用ブランチへプッシュし、その後 Bitbucket の機能でプルリクエストを作成します。

yaml
image: node:22

pipelines:
  branches:
    main:
      - step:
          name: Translate
          script:
            - npm install -g @lingo.dev/cli
            - lingo push
            - git config user.name "lingo-bot"
            - git config user.email "support@lingo.dev"
            - git checkout -b lingo/translations
            - git add .
            - git diff --cached --quiet || git commit -m "feat: update translations"
            - git push origin lingo/translations
            # Open a PR from lingo/translations into main via the Bitbucket UI or API

モノレポ#

設定ファイルがワークスペース内にある場合は、サブディレクトリから CLI を実行します。CLI は作業ディレクトリを基準に .lingo/config.json を解決します。

yaml
image: node:22

pipelines:
  branches:
    main:
      - step:
          name: Translate
          script:
            - cd apps/web
            - npm install -g @lingo.dev/cli
            - lingo push

パイプライン変数#

変数必須説明
LINGO_API_KEYはいLingo.dev API キー。secured なリポジトリ変数として保存します。
BB_TOKENプッシュ/PR の書き込み権限用Git がコミットやプルリクエストの作成に使うリポジトリアクセストークン(または SSH キー)。

それ以外の設定、つまりソース ロケール、ターゲット ロケール、ファイルパターン、どのエンジンを経由するかは、パイプライン変数ではなく .lingo/config.json に記述します。

デプロイ前の確認#

未翻訳のソース文字列が1つでもあればパイプラインを失敗させるには、lingo check ステップを追加します。

yaml
- step:
          name: Check translations
          script:
            - npm install -g @lingo.dev/cli
            - lingo check

次のステップ#

GitHub App
GitHub で手間なく進める継続的ローカライゼーション
GitHub Actions
GitHub Actions ジョブで CLI を実行
GitLab CI/CD
GitLab パイプラインで CLI を実行
高度なパターン
翻訳チェック、マージ競合、ワークフローの選び方

このページは役に立ちましたか?

Max PrilutskiyMax Prilutskiy·更新済み 29日前·1分で読めます