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.
static/screenshots/project-settings-ci.pngRepository #
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.
- Choose New key.
- Enter a Name, for example
GitHub Actions. Use one key per pipeline. - Choose the Access:
| Access | What the key can do |
|---|---|
| Push and pull | Read the project, create and update keys, read and write translations. |
| Pull only | Read the project and read translations. |
- Choose Create. The key is shown once. Copy it and store it as the secret
CT_API_KEYin 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.
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:YAMLproject: 12 format: json source: locales/en.json translations: locales/{lang}.json.github/workflows/translations.yml, a GitHub Actions workflow that runsnpx @continuous-translations/cli pushon pushes and pull requests, usingCT_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.