Do not translate
A list you maintain, plus detection for the tokens that behave like DNT. Those segments stop being false positives.
Drop a bilingual file, or let the check run inside the editor your translators already have open. Deterministic rules settle what is certain, a model reads every segment for what they cannot see and your file comes back exactly as it arrived.
Get started with {count} free templates.
Ücretsiz şablonlarla hemen başlayın.
{count} is in the source and missing from the target. Deterministic: same file, same finding, no model involved.
A second model read the finding and agrees. The label sits on the finding; the reviewer still decides.
{count} ücretsiz şablonla hemen başlayın.
The deterministic layer answers the questions that have a right answer, instantly and reproducibly. Then a model reads every segment, including the ones the rules passed, because the errors that cost you a client are the ones no rule can express.
Tags, numbers, placeholders, URLs, empty targets, locked segments, do-not-translate terms, glossary, punctuation, spacing, expansion and locale formats. Instant and reproducible, with every rule set to error, warning, info or off in your profile.
After the rules, a model reads every translated segment, including the ones they passed, for mistranslation, omission, addition, terminology and register. Your text is fenced in the prompt as data, so a segment cannot instruct the model. It runs on the provider your workspace allows: Google Gemini, OpenAI, DeepInfra for open models, or DeepSeek.
A second model reads each rule finding and says whether it agrees, disputes it or cannot tell. The opinion is shown on the finding as a label: AI agrees, AI disputes, AI unsure. A disputed finding stays in the report and is left out of the score. You can also require a second, independent model to review each AI finding before it is kept. The reviewer decides, and the decision is recorded.
Findings with the rule that fired, the exact span in source and target, the second model's opinion and the suggested fix. HTML to read, CSV for a spreadsheet, JSON for your own pipeline.
Every check below is deterministic: same file, same result, no model involved. You decide which of them can fail a delivery.
A critical-only profile turns the cosmetic checks down to info, so a delivery fails on product names, numbers, placeholders, tags and missing targets alone.
A profile is the rule set for a client, a locale or a content type. Clone a default, adjust it and hand it to the person who owns that account.
A list you maintain, plus detection for the tokens that behave like DNT. Those segments stop being false positives.
Brand names that must survive verbatim, plus the localized forms you have approved as correct.
Error, warning, info or off. The same engine can be strict on one account and quiet on another.
Files landing under a known account folder pick up that account's profile, so nobody has to choose it by hand.
Each profile has someone responsible, who can edit it even when their role sits below project manager.
Changes are stored per workspace, not written back over the shipped defaults, and the folder watcher reads the same settings.
Nobody has to log in somewhere new. Pick whichever surface matches how the work already reaches you.
A browser extension that runs the check on the job the translator has open, using their own session, on the hosts it supports: Phrase, XTM Cloud, Smartling and WorldServer.
A Crowdin app with an editor panel and a project report. Crowdin shows the findings for each translation in its editor as a QA check result. A Smartling webhook runs on each published file, and Smartling receives each one as an issue.
Drop a package into a Dropbox folder. The report comes back beside it and the source moves to done.
REST with workspace keys and outgoing webhooks, or a command-line run that exits non-zero when an error-severity finding lands, for a CI step.
The engine reads the bilingual file and reports. Corrections are made by a person in the tool they already use, which is what keeps tags and structure intact.
A failed or timed-out run reports segments as not checked with the reason. It does not report them as passed, because a green tick that checked nothing is worse than no tick.
We run it through the full check and hand back the report with every finding, its evidence and the suggested fix.