Self-hosted localization, deployed on your own Vercel account.

Database
Connected
API key
Set
Deployment Protection
Make sure Vercel Deployment Protection is enabled so this dashboard and /cli/token are private.

Get started

  1. 1. Connect your CLI to this deployment.
    npx languine@selfhosted login --url https://languine-tau.vercel.app
  2. 2. From your project root, initialize the config (this also creates a project on your deployment).
    npx languine@selfhosted init
  3. 3. Translate.
    npx languine@selfhosted translate
The @selfhosted dist-tag pins the v4 CLI that talks to your deployment. npx languine@latest still resolves to the legacy 3.x CLI (hosted backend) and is left untouched. Need the API key? Open /cli/token.

Automate in CI

Run translations on every push with the official GitHub Action. The snippet below is pre-filled with prj_x9xvbmpzss2ilsb3hzcc4vng (internationalization).

  1. 1. In your application's GitHub repo, add two values under Settings → Secrets and variables → Actions:
    • LANGUINE_API_KEY (Secret) — same key as /cli/token.
    • LANGUINE_BASE_URL (Variable) — https://languine-tau.vercel.app.
  2. 2. Drop this into .github/workflows/languine.yml:
    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_x9xvbmpzss2ilsb3hzcc4vng
              create-pull-request: 'true'
The action defaults to the selfhosted CLI dist-tag, so it talks to this deployment, not the legacy hosted backend. With create-pull-request: 'true' it opens a PR per run; flip to 'false' to commit directly.

Projects

internationalization
prj_x9xvbmpzss2ilsb3hzcc4vng · internationalization
7/6/2026