Onboarding agencies
Invite external translators into the editor when you can; fall back to a file hand-off when the agency will not leave its own tooling.
| Model | The agency | Use when |
|---|---|---|
| In-editor | Signs in to Comvi and edits directly | Ongoing relationship, live collaboration, TM and glossary in reach |
| File hand-off | Translates an export in its own tool; you import the result | One-off projects, or an agency committed to its own tooling |
Invite into the editor
Section titled “Invite into the editor”-
Invite each person from Organization → Members with Invite member, one invite per person. Give them the Translator role: they can create and edit values, run machine translation and comment, but cannot approve, touch keys or namespaces, or import or export. See Roles & permissions.
-
Restrict to one project with Restrict to project on the invite. A member scoped to a single project does not count against the plan’s member limit. There is no namespace-level access, so scoping an agency to
marketingis a line in the brief and a filter they set themselves. -
Restrict to the contracted languages with Restrict to languages, which appears once a project is selected, or later from Organization → Members → Change role or Settings → Project Access → Change role & languages.
-
Share the brief from the template.
-
Assign a reviewer on your side. Every value the agency saves lands as
Needs Review, and an internal Editor moves it toTranslated. See Translator and reviewer workflow. -
Notify the reviewer (optional) with a webhook on
translation.createdandtranslation.updated; the agency’s first pass is nearly allcreatedevents.
An invitation is valid for 7 days. Resend sends the same link without extending the window and refuses once expired; cancel an expired invitation and send a new one. A person who already has a Comvi account is added immediately with a notification email.
Brief template
Section titled “Brief template”# Project brief: <Project name>
## Product- What it is: <one sentence>- Who uses it: <audience, formality level>- Live at: <staging + production URLs>
## Voice and tone- Formal / casual: <pick one, give examples>- Humor / wit: <yes / no>- Brand terms that must NOT be translated: <list; also in the glossary with Translatable unchecked>
## Scope- Languages in scope: <list>- Namespaces in scope: <list>- Deadline: <date>- Approximate word count: <N>
## How to work- Check the translation memory panel first. Accept a 100% match unless the context differs.- Read the key's Internal notes and AI translation context before translating.- Glossary terms are highlighted in the source. Use the term marked Correct, never one marked Forbidden.- ICU placeholders ({name}, {count, plural, …}) must appear in every target unchanged.- Flag an ambiguous source string as a comment on the key rather than guessing.
## Contact- Questions: <Slack channel / email>- Reviewer: <name, timezone>Before they start
Section titled “Before they start”- Populate the glossary with product names, UI labels and untranslatable brand terms. Leave Translatable unchecked on the ones that must appear unchanged, so the Non-translatable Modified check flags any target that changes them. See Glossaries.
- Fill in the key context fields. Team-facing notes go in Internal notes (not sent to MT), anything a provider should see in AI translation context (sent to MT).
- Warm the translation memory. It is organization-wide, so other projects’ work is already available. For a language new to the organization, the agency’s first few hundred translations become the matches for the rest.
During the engagement, read the Languages page weekly: the bar per language splits into
Translated, Needs Review and Not Translated. A Needs Review count that grows faster
than it shrinks means the bottleneck is your reviewer. Answer comments quickly; a translator
with an unanswered question guesses or stops.
File hand-off
Section titled “File hand-off”-
Export the scope. Open Export, pick the languages and namespaces, set the status filter to
Not Translatedwith empty values included. Formats are JSON and i18next v4 JSON; XLIFF, CSV and PO are listed as coming soon, so an agency that requires XLIFF needs a converter on its side. -
Write the brief with the format rules added: ICU placeholders, line breaks, escaping, one worked source and target pair.
-
Check what comes back: UTF-8 only, every source placeholder present in the target, source and target not swapped, file structure unchanged. Comvi does not verify placeholder parity on save or on import.
-
Import, then send the batch to review. An import writes every non-empty value as
Translatedwith you as reviewer. Select the imported rows on the Translations page and use Status → Mark as Needs Review. -
Pay from the approved count after review rather than raw delivery, and say so in the brief.
Offboard
Section titled “Offboard”- Remove the member from Organization → Members on the last day.
- Export a snapshot of the languages they worked on. Per-key history already records who changed what; an export is easier to read later.
- Delete any API key you issued them under API keys.
- Note in the project description who covered which languages.