CLI には専用の ci コマンドはありません。CI でローカライズを行う方法は 2 つあります。Lingo.dev GitHub App にサーバー側で任せる方法(GitHub では推奨)か、自分のパイプライン内で lingo push を実行して、その結果をコミットする方法です。
オプション 1: GitHub App(推奨)#
リポジトリに Lingo.dev GitHub App をインストールします。コミット済みの .lingo/config.json(engineId を含む)を指定しておけば、push や pull request に自動で反応し、変更されたソース文字列を検出して使用中のエンジンで翻訳し、結果をブランチにコミットするか pull request を作成します。runner も API キーのシークレットも不要で、lockfile を管理する必要もありません。
オプション 2: 自前の runner で lingo push を実行する#
Node.js 22+ が使える CI 環境であれば、CLI を直接実行できます。API キー(シークレットとして保存)で認証し、push して、生成された出力をコミットします。
yaml
name: Translate
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
- run: npm install -g @lingo.dev/cli
- run: lingo push
env:
LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
- name: Commit translations
run: |
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 pushlingo push は前回の実行以降に変更された内容だけを翻訳し(.lingo/lock.json で追跡)、完了まで待機して出力を書き出します。ブランチに直接コミットする代わりに pull request を作成したい場合は、変更を専用ブランチに push し、プラットフォームのツール(例: gh pr create)で PR を作成してください。
デプロイ前に検証する#
ビルド前に lingo check ステップを追加すると、ソース文字列に未翻訳がある場合にパイプラインを失敗させられます。
bash
lingo check関連項目#
- GitHub App - runner やシークレット不要で、継続的ローカライゼーションを管理運用。
- lingo push - スコープ指定パターン、
--backfill-missing、リトライ動作。 - Configuration -
.lingo/config.jsonと lockfile。
