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

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

  • 仕組み

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

  • セットアップ

プラットフォーム

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

GitHub

Lingo.dev では、GitHub 上で継続的ローカライゼーションを実行する方法を 2 つ用意しています。マネージドな GitHub App を使う方法と、GitHub Actions ジョブ内で @lingo.dev/cli を実行する方法です。

どちらを使うべき?

まずは GitHub App から始めるのがおすすめです。サーバー側で動作し、push や pull request に自動で反応するうえ、runner も API キーの secret も lockfile の管理も不要です。ほかの CI ステップと一緒に、自分のパイプライン内でローカライゼーションを動かしたい場合は GitHub Actions を選んでください。

GitHub App(推奨)#

GitHub App は、GitHub 上で継続的ローカライゼーションを実行するもっとも手軽な方法です。一度インストールしてエンジンを指定すれば、以後はすべての push と pull request に自動で反応します。

  1. GitHub App ページからアプリをインストールし、リポジトリへのアクセスを許可します。
  2. リポジトリのルートに .lingo/config.json をコミットし、bucket とロケール、さらにアプリが使用するエンジンの engineId を記述します。ファイル形式については Configuration を参照してください。
  3. あとは push するだけです。アプリが変更されたコンテンツをサーバー側でローカライズし、結果をコミットで反映するか、必要に応じて pull request を作成して、.lingo/lock.json を自動で最新の状態に保ちます。

アプリはサーバー側で動作するため、管理すべき runner も、保存しておく LINGO_API_KEY secret も、実行する lockfile コマンドも必要ありません。

GitHub Actions#

自分のパイプライン内でローカライゼーションを実行する場合は、ジョブに CLI をインストールして lingo push を実行し、その後、既存のツールで結果をコミットするか pull request を作成します。

API キーは、LINGO_API_KEY という名前のリポジトリ secret として保存してください(Settings > Secrets and variables > Actions)。CLI は環境変数からそれを読み取ります。

現在のブランチにコミットする#

.github/workflows/localize.yml を作成します。

yaml
name: Localize
on:
  push:
    branches: [main]
permissions:
  contents: write
jobs:
  localize:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - name: Install Lingo.dev CLI
        run: npm install -g @lingo.dev/cli
      - name: Localize
        run: lingo push
        env:
          LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
      - name: Commit translations
        run: |
          git config user.name "Lingo.dev"
          git config user.email "support@lingo.dev"
          git add .
          git diff --staged --quiet || git commit -m "feat: update translations"
          git push

これにより、変更されたコンテンツがローカライズされ、push のたびに結果がそのブランチへ直接コミットされます。

pull request を作成する#

直接コミットする代わりに、レビューを通して翻訳を反映したい場合は、結果をブランチに push して pull request を作成します。この例では GitHub CLI を使用します。これは GitHub ホスト型 runner に標準でインストールされています。

yaml
name: Localize
on:
  push:
    branches: [main]
permissions:
  contents: write
  pull-requests: write
jobs:
  localize:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - name: Install Lingo.dev CLI
        run: npm install -g @lingo.dev/cli
      - name: Localize
        run: lingo push
        env:
          LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
      - name: Open pull request
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          git config user.name "Lingo.dev"
          git config user.email "support@lingo.dev"
          branch="lingo/translations-${{ github.run_id }}"
          git checkout -b "$branch"
          git add .
          git diff --staged --quiet && exit 0
          git commit -m "feat: update translations"
          git push origin "$branch"
          gh pr create --fill --base "${{ github.ref_name }}" --head "$branch"

PRベースのワークフローでは、Settings > Actions > General > Allow GitHub Actions to create and approve pull requests を有効にしてください。

同じジョブは feature branch でも動作します。どこでローカライゼーションを実行するかは、on.push.branches フィルター(たとえば branches-ignore: [main])を変更して制御できます。

次のステップ#

GitHub App
マネージド運用の代替手段。runner、secret、lockfileは不要
CLI リファレンス
コマンド、設定、CI での使い方
高度なパターン
ローカライゼーションのチェック、マージコンフリクト、ワークフローの選び方
GitLab CI/CD
GitLab CI/CD連携を設定

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

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