Manual
CLI
API
Log in Get started free

CI and CLI settings

Create project keys, link a repository, and copy the configuration for your pipeline.

Project settings โ†’ CI & CLI is where you set up a pipeline that pushes source strings from your repository and pulls approved translations back with the ct command line tool. The commands themselves are described in the CLI documentation.

Repository #

Under Repository you can link a GitHub or GitLab repository, so the app sets up the pipeline for you. See GitHub and GitLab. Without a connection, the card points you to Organization settings โ†’ Integrations and you can set up the pipeline by hand with the snippets on this page.

Project keys #

A project key lets a pipeline talk to Continuous Translations. It only works for this project.

  1. Choose New key.
  2. Enter a Name, for example GitHub Actions. Use one key per pipeline.
  3. Choose the Access:
AccessWhat the key can do
Push and pullRead the project, create and update keys, read and write translations.
Pull onlyRead the project and read translations.
  1. Choose Create. The key is shown once. Copy it and store it as the secret CT_API_KEY in your CI settings. On GitLab, store it as a masked CI/CD variable.

Each key in the list shows its name, access, who created it and when it was last used. Choose Revoke to disable it: pipelines using that key stop working immediately.

Tip

Use Account settings โ†’ API Keys for personal keys that work across projects. See Account settings.

Set up your repository #

The page shows two ready-to-copy files:

  • ct.yml, for the root of the repository. It contains the project number, the format and the paths of the source file and the translation files, for example:

    YAML
    project: 12
    format: json
    source: locales/en.json
    translations: locales/{lang}.json
  • .github/workflows/translations.yml, a GitHub Actions workflow that runs npx @continuous-translations/cli push on pushes and pull requests, using CT_API_KEY.

Add npx @continuous-translations/cli pull --require-complete 100 to a release job to download the approved translations. The step fails while a language is incomplete, so a release never ships half-translated. On GitLab, run the same commands in a job.

See the CLI setup and CI examples for more.