CI/CD
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 して、生成された出力をコミットします。
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 --wait
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 --waitは、前回の実行以降に変更された内容だけを翻訳し(.lingo/lock.jsonで追跡)、実行が完了するまで待ってから、出力を書き込みます。--waitがない場合、プッシュは実行の送信後すぐに終了するため、コミットの手順ではコミット対象が見つかりません。ブランチに直接コミットする代わりにプルリクエストを作成するには、変更を専用のブランチにプッシュし、プラットフォームのツール(例:gh pr create)を使ってプルリクエストを作成してください。
デプロイ前に検証する#
ビルド前に lingo check ステップを追加すると、ソース文字列に未翻訳がある場合にパイプラインを失敗させられます。
lingo check関連項目#
- GitHub App - runner やシークレット不要で、継続的ローカライゼーションを管理運用。
- lingo push - スコープ指定パターン、
--backfill-missing、リトライ動作。 - Configuration -
.lingo/config.jsonと lockfile。