
Languine
CLIAI localization: deploy the server to your own Vercel account (Postgres and AI Gateway included; enable deployment protection afterwards), then run npx languine@selfhosted translate to translate locale files with LLMs. A GitHub Action can open PRs. Needs a Vercel account and Node.js.
Languine
Self-hosted, Vercel-native AI localization. Click Deploy. Run npx languine. That's it.
One-click deploy
What the button does:
- Forks this repo to your GitHub account.
- Creates a Vercel project with
apps/webas the root. - Provisions serverless Postgres via the Vercel Marketplace —
DATABASE_URLis auto-injected. - Prompts you for
LANGUINE_API_KEY(any random string) and an optionalAI_MODELslug. - Builds and deploys. The build automatically runs
drizzle-kit migrateagainst your fresh database.
After the first deploy, do these two things:
- Enable Deployment Protection. In your Vercel project: Settings → Deployment Protection → turn on Vercel Authentication (or Password Protection). This gates the dashboard and
/cli/token. Without this, your API key is publicly visible. - Open the dashboard (
https://<your-deployment>.vercel.app). It shows a status checklist and ready-to-paste CLI commands.
That's it. No additional integrations to configure — Vercel AI Gateway authenticates automatically via the project's OIDC token.
Use the CLI
The self-hosted CLI ships under the
selfhostednpm dist-tag so it doesn't disturb users still pointed at the legacy hosted backend. Install it withnpx languine@selfhosted ...(or pin"languine": "^4"in yourpackage.json).npx languine@latestcontinues to resolve to the legacy 3.x CLI for the old hosted service.
In any project that needs translations:
npx languine@selfhosted login --url https://languine.your-team.vercel.app
npx languine@selfhosted init
npx languine@selfhosted translate
languine login opens /cli/token in your browser. Because Deployment Protection is on, only authorized owners can see the page — copy the API key, paste it into the CLI prompt.
languine init creates a project on your deployment via tRPC (project.create) and writes the returned projectId into languine.json. You don't need to provision anything from the dashboard.
For non-interactive use (CI, scripts):
export LANGUINE_BASE_URL=https://languine.your-team.vercel.app
export LANGUINE_API_KEY=<the-key-you-set-on-vercel>
npx languine@selfhosted translate
GitHub Action
name: Languine
on:
push:
branches: [main]
jobs:
translate:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v4
- uses: languine-ai/languine@v4
with:
api-key: ${{ secrets.LANGUINE_API_KEY }}
base-url: ${{ vars.LANGUINE_BASE_URL }}
project-id: prj_xxxxxxx
create-pull-request: 'true'
Environment variables
| Variable | Required | Source | Description |
|---|---|---|---|
LANGUINE_API_KEY | Yes | Set at deploy | Single API key shared between the dashboard, CLI and Action. Generate with openssl rand -hex 32. |
DATABASE_URL | Yes | Auto-injected | Postgres connection string from the Vercel Marketplace integration you picked at deploy. |
AI_MODEL | No | Set at deploy | Vercel AI Gateway model slug. Defaults to openai/gpt-4.1. Examples: anthropic/claude-sonnet-4, openai/gpt-4.1-mini. |
AI_GATEWAY_API_KEY | No | Local dev only | Only needed when running locally outside Vercel. In production the Gateway uses the project's OIDC token. |
Architecture
- Hosting: Vercel (Next.js 16, App Router, Node.js runtime).
- Database: Serverless Postgres from the Vercel Marketplace + Drizzle ORM.
- Background jobs: Vercel Workflows (
workflowSDK) — durable, resumable, observable. - AI: Vercel AI Gateway (
@ai-sdk/gateway+ AI SDK v6) — single configurable model. - Auth: Single
LANGUINE_API_KEYfor the CLI/Action; the dashboard is gated by Vercel Deployment Protection.
flowchart LR
Dev[Developer] -->|languine| CLI
GHA[GitHub Action] -->|x-api-key| Web
CLI -->|x-api-key| Web[apps/web on Vercel]
Web --> Workflows[Vercel Workflows]
Workflows --> Gateway[Vercel AI Gateway]
Gateway --> Models[OpenAI / Anthropic / ...]
Web --> DB[(Postgres)]
Workflows --> DB
Owner[Owner browser] -->|Deployment Protection| Web
Local development
git clone https://github.com/languine-ai/languine
cd languine
bun install
cp apps/web/.env.example apps/web/.env # fill in DATABASE_URL etc.
bun dev
Set AI_GATEWAY_API_KEY in apps/web/.env so the Gateway can authenticate when not running on Vercel.
Tests
bun test # everything
bun test --filter @languine/web # just the web app
bun test --filter languine # just the CLI
License
MIT © Midday Labs AB
Recursos relacionados

Lingo.dev CLI
CLILingo.dev's official CLI: lingo push sends JSON, YAML, Markdown, PO, XLIFF, Android/Xcode strings and other files from your repo to its LLM localization engine, and lingo pull brings translations back; CI-ready. Needs a Lingo.dev account; usage-based pricing with a free sandbox.
lingodotdev/lingo.dev5.4k
attranslate
CLIOffline translation sync for coding agents: hands only new strings in JSON, YAML, PO, CSV and other locale files to the agent for translation and never overwrites human-edited translations, saving tokens. Needs Node.js; calls no translation API itself.
fkirc/attranslate358
Crowdin CLI
CLICrowdin's official CLI: push source files and pull translations back in place, track progress, manage glossaries and TM, and run machine or AI pre-translation, with JSON output for agents. Needs a Crowdin account (free trial; free for open source) and a token; crowdin init sets up config.
crowdin/crowdin-cli321
Lokalise CLI v2
CLILokalise's official CLI (lokalise2) covering the Lokalise API v2: upload and download language files and manage keys, translations, screenshots, translation tasks and contributors. Needs a Lokalise account (paid, 14-day free trial) and an API token passed via --token.
lokalise/lokalise-cli-2-go124
SimpleLocalize CLI
CLISimpleLocalize's official CLI: upload and download translation files, trigger machine and AI auto-translation, publish translations to the CDN, and extract translation keys from source code for CI. Needs a SimpleLocalize account and project API key; paid service with a 14-day free trial.
simplelocalize/simplelocalize-cli80
locize-cli
CLILocize's official CLI: sync local translation files with the Locize platform, add, remove and look up keys, download published translations, manage versions and branches, and export JSON, XLIFF, PO, CSV or Excel for translators. Needs a Locize account, project ID and API key; free plan available.
locize/locize-cli71