<!-- LLM_VERSION_INFO
FORMAT: text/markdown
CONTENT_TYPE: article
ORIGINAL_URL: https://lingo.dev/en/docs/integrations
ALTERNATE_VERSION: en/docs/integrations/index.html (text/html)
EXTRACTION_DATE: 2026-04-18T22:16:40.465Z

This is the markdown version with text-only content (images converted to alt-text).
For rich formatting with images, request the HTML version at: en/docs/integrations/index.html
-->

# Continuous Localization

Lingo.dev integrates directly into your CI/CD pipeline to keep translations in sync with your code. On every push, it detects what content changed, translates it using your connected [localization engine](/content/en/docs/platform/engines/index.html) - with glossary rules, brand voice, and per-locale model configuration applied consistently - and commits the results or opens a pull request. Incomplete translations never reach production.

## How it works

The CI/CD integration runs as a step in your existing pipeline. It needs two things: your [`i18n.json`](/content/en/docs/cli/configuration/index.html) configuration and an API key.

On each run, the integration:

1. **Discovers source files** - reads your [bucket configuration](/content/en/docs/cli/configuration/index.html) to find translatable content
2. **Detects changes** - compares against the [`i18n.lock`](/content/en/docs/cli/lockfile/index.html) lockfile to identify new or modified strings, so only the delta gets translated
3. **Translates** - sends changed content through your configured [localization engine](/content/en/docs/platform/engines/index.html) with all rules applied - glossary, brand voice, per-locale model settings
4. **Writes results** - updates target locale files in place
5. **Commits or opens a PR** - depending on the workflow you choose

Because only changed strings are translated, runs are fast and cost-efficient - even across dozens of locales.

## Workflow options

Four workflow patterns cover most team setups:

| Workflow                        | Trigger               | Output                                    |
|---------------------------------|----------------------|-------------------------------------------|
| Commit to main                  | Push to `main`       | Translations committed directly to `main` |
| PR from main                    | Push to `main`       | Pull request with translations            |
| Commit to feature branch        | Push to feature branch| Translations committed to the branch     |
| PR from feature branch          | Push to feature branch| Pull request from the branch             |

The first option - commit to main - is the simplest. Translations appear automatically with zero developer intervention. The PR-based options add a review step before translations land.

For details on choosing between these, see [Advanced Patterns](/content/en/docs/integrations/advanced/index.html).

## Supported platforms

Lingo.dev provides first-party integrations for major CI/CD platforms:

| Platform                 | Integration                       |
|--------------------------|----------------------------------|
| [GitHub Actions](/content/en/docs/integrations/github/index.html) | Official GitHub Action         |
| [GitLab CI/CD](/content/en/docs/integrations/gitlab/index.html) | Official Docker image          |
| [Bitbucket Pipelines](/content/en/docs/integrations/bitbucket/index.html) | Official Bitbucket Pipe       |

Each integration handles authentication, git operations, and PR creation natively for its platform. Any CI/CD environment that supports Node.js can also run the integration directly via the [Lingo.dev CLI](/content/en/docs/cli/index.html).

## Next Steps

[Setup](/content/en/docs/integrations/setup/index.html) - Configure CI/CD for your project  
[GitHub Actions](/content/en/docs/integrations/github/index.html) - Set up the official GitHub Action  
[Advanced Patterns](/content/en/docs/integrations/advanced/index.html) - Workflow selection, translation checks, merge conflicts  
[CLI Reference](/content/en/docs/cli/index.html) - The CLI that powers CI/CD integration
