A model gets most strings right. A native reader still spots the ones it got wrong. With suggestions, that reader fixes the wording on your site, you review it in Coroid, and the change reaches your repository as a normal pull request.
This is how Coroid maintains its own product in thirteen languages. The steps below assume the project is set up as described in Translate your project.
Enable contributions
Contributions need two things in .coroid/i18n.json: the project's suggestion
binding and an engine version that supports them. On the Contributors tab,
choose Propose enabling contributions. Coroid opens a task that adds both,
and you merge its pull request. Until then, the tab explains what is missing.
Invite contributors
Choose Invite contributor, enter an email address and the languages they can translate.
- Review. Keep Review suggestions before applying on for new contributors. With it off, a suggestion is approved at once, but only when its source text matches your synced repository.
- No seat. A contributor is not added to your organisation and does not use a member seat. Access covers only this project and the chosen languages.
- Invitations expire. The person signs in or creates an account with the invited address and accepts within seven days.
Revoking access stops new suggestions and keeps the person's history.
The picker on your site
Contributors suggest from your site, where they see the text in context.
- Under Configuration → Site origins, add each site address, one HTTPS origin per line, and enable it. New origins stay off until an owner or admin enables them.
- On the Contributors tab, choose Prepare site integration task. The
task adds Coroid's picker package to your site. It loads only when the page
address contains
?coroid-translate=1, so ordinary visitors download nothing. - A contributor opens your site with that parameter, clicks a string, and the Coroid popup opens with the key, the source and the current translation.
Kostenloser Versand ab 50 € und 30 Tage Rückgabe.
Bestellung prüfen- Key
- ui · cart.checkout
- English source
- Proceed to checkout
- Current translation
- Weiter zur Kasse gehen
Keep the parts in braces and angle brackets exactly as they are.
A customer site in translation mode: the contributor clicks a heading and suggests a better German wording in the Coroid popup. Illustrative data.
The popup checks placeholders before sending. Contributors sign in to Coroid in the popup; your site never handles their credentials. Anonymous suggestions are not accepted.
Review
The Suggestions tab lists every suggestion with its key, language, source, the current translation and the proposed one. Filter by status or language, then approve or reject each one. You can also reject several at once.
- Storefront
- Docs site
- Mobile app
cart.checkoutdeLena · German- en
- Proceed to checkout
- de
- Weiter zur Kasse gehen
- de
- Zur Kasse
ApproveRejectproduct.inStockfrHugo · French- en
- In stock
- fr
- En stock
- fr
- Disponible
ApproveRejectnav.dealsdeLena · GermanThe submitted source differs from the synced repository.
- en
- Weekly deals
- de
- Angebote
- de
- Angebote der Woche
ApproveReject
The Suggestions tab: corrections waiting for review, checked against the synced source. Illustrative data.
Coroid compares each suggestion's source with your synced default branch. If the source changed after the contributor saw it, approval is off and the row says so; reject it and the contributor can suggest again.
| Status | Meaning |
|---|---|
| Needs review | Waiting for a reviewer |
| Approved | Ready for the next correction task |
| Queued | A correction task is applying it |
| Applied | Written in a pull request; live once that merges and deploys |
| Source changed | The source text changed before it was applied |
| Invalid | It failed the engine's checks, for example a broken placeholder |
| Rejected | A reviewer turned it down |
Apply approved suggestions
There are two ways to turn approved suggestions into a pull request. Both use
the same correction task: it runs the pinned engine's apply-claim command,
checks each source again, writes only target catalogues, and reports what was
applied, what went stale and what was invalid.
- Now. On the Suggestions tab, choose Prepare correction task. One task takes up to 500 approved suggestions across the project.
- Every night. On the Automations tab, choose Install nightly corrections. The schedule runs at 02:00 UTC, makes no model call, and files a task only when something is approved. Pause or resume it from the schedule in the Factory.
Strings merged outside Coroid
People also change strings in pull requests Coroid did not write. Install Translate strings merged outside Coroid on the Automations tab. When such a pull request merges into your default branch, Coroid reads the translation check it already ran on the pull request. If strings were left missing or stale, it files one translation task for that merge. If nothing is left to translate, nothing happens.
This needs the Translations control on pull requests and the Review every PR automation, so the check runs before the merge.
Audits and notices
The Translation audit control checks every catalogue on a schedule. To hear when one fails, install Failed audit notices on the Automations tab. It sends one message through the messaging tools your organisation connected, such as Slack or email. Failures from task QA and pull requests do not notify; they already appear where the work is.
Moving settings to another organisation
Settings export and import carry the nightly schedule and both hook automations. They arrive paused on the destination project, site origins arrive disabled, and contributors are not copied: invite them again in the new organisation.