AI translation
Ownlate does not translate anything by itself — it asks a provider. You can connect your own account with any of six engines, or use the platform’s built-in one if your plan includes it.
Providers
Section titled “Providers”| Provider | Settings it accepts | Default |
|---|---|---|
| OpenAI | model, systemPrompt | gpt-4o |
| Anthropic | model, systemPrompt | claude-haiku-4-5 |
| Mistral | model, systemPrompt | mistral-large-latest |
| DeepL | formality: default, more, less | default |
| Google Translate | — | — |
| Azure Translator | region | global |
Connect one from Integrations — see Integrations for how credentials are stored and tested. An AI integration can be scoped to one project or to the whole workspace; a project without its own falls back to the workspace one.
Which providers you may connect depends on your plan. See Plans and billing.
The prompt
Section titled “The prompt”For the three chat models, Ownlate sends a system prompt that names the source and target languages and asks for the translation and nothing else. If you set systemPrompt on the integration, yours is used instead — this is where you put your tone of voice, your product’s register, or an instruction to leave placeholders untouched.
DeepL, Google and Azure take no prompt; for those, control comes from the provider’s own settings.
The built-in engine
Section titled “The built-in engine”If your plan includes it, you can translate without connecting anything. The built-in engine runs on the platform’s own key and is metered separately from your word allowance, in characters:
builtInAiCharLimiton your plan is what you may use per period.usedBuiltInAiCharson your subscription is what you have used.- A plan with a limit of zero has no built-in engine — connect your own provider instead.
Characters are counted as the source text’s UTF-16 length, and the counter moves before the translation is returned, so a translation you discard still counts.
Translating one segment
Section titled “Translating one segment”In the editor, AI translate fills the current field. The result is a draft in your field, not a submitted translation — you read it, fix it and submit as usual.
Over the API:
curl -X POST \ "https://api.ownlate.com/v1/workspaces/$WORKSPACE_ID/segments/$SEGMENT_ID/auto-translate" \ -H "Authorization: Bearer $OWNLATE_API_KEY" \ -H 'Content-Type: application/json' \ -d '{"sourceLanguage":"en","targetLanguage":"de","useBuiltIn":true}'Pass integrationId instead of useBuiltIn to pick a specific provider. With neither, Ownlate uses the project’s active AI integration, or the workspace’s.
Translating a whole language
Section titled “Translating a whole language”Pre-translate with a machine translation source runs the same call over every untranslated segment in the background, and lands the results in needs_review. Put the translation memory ahead of it in the source list so that anything you have already translated is reused rather than paid for again.
What it is costing you
Section titled “What it is costing you”Workspace → Metrics reports what the machine has done for you:
- how many segments were auto-translated,
- how many characters that came to,
- an estimate of the spend in USD.
The estimate is exactly that — an estimate from character counts and typical provider pricing. Your provider’s invoice is the authority.