Translation services

Modifié dans la version 4.13: Prior to Weblate 4.13, the services were configured in the Configuration.

The support for several machine translation and translation memory services is built-in. You can install a service more than once with different settings. An administrator can configure installations for the whole site under Translation services in Interface de gestion. Workspace administrators can configure installations for their workspace, and project administrators can configure them for a project:

../_images/project-machinery.webp

Note

They come subject to their terms of use, so ensure you are allowed to use them how you want. Third-party services can receive source strings, translations, and related context from Weblate.

The services translate from the source language as configured at Configuration des composants, see Langue source.

Installations from the site, workspace, and project are combined for a project. You can exclude an inherited installation, or all inherited installations of one service, in workspace or project settings. Pausing an installation keeps its configuration for later use.

Select a service in the listing to open its details, settings, and controls. Installed services use their numeric installation ID in the detail-page URL. The detail page provides selectors to use in Automation workflows. Inherited services link to their owning scope when you have permission to manage them. The listing summarizes basic configuration such as the model, source-language selection, and region, together with the installation ID and slug. Credentials, API URLs, and free-form prompts are excluded from these summaries.

A Rate limited badge indicates that Weblate has temporarily paused requests after a provider error. The default cooldown is 30 minutes, but its duration varies by service and provider-supplied retry delays; see cooldown configuration. It applies to one installation, including all projects inheriting it. Separate installations have independent cooldowns, even when they use the same provider credentials.

Administrators can use Reset rate limit on the installation’s detail page at its owning site, workspace, or project scope. This clears Weblate’s translation and rephrasing cooldowns without clearing cached suggestions. It does not reset the provider’s quota; another provider error can apply the cooldown again. Inherited installations show the status, but their cooldown cannot be reset from a consuming workspace or project.

The Logs tab on an installation’s detail page lists errors from fetching supported languages, translations, and rephrased suggestions, including provider rate limits. Logs belong to the installation, including when it is used by inheriting projects. Only administrators who can manage the installation at its owning scope can read its logs. Inherited services link to these logs when you have the required permission.

Messages retain provider diagnostics with URLs and configured secrets redacted. Providers can echo translation content in their messages, so logs can still contain source strings or translations. Errors are kept for 30 days by default; configure MACHINERY_ERROR_KEEP_DAYS to change retention. Old entries are removed daily. Removing an installation also removes its logs.

Every installation has a numeric ID and can have an optional slug. Select one installation in automatic translation, Automation, or AI review with service:id or service:slug. A bare service name is accepted when only one active installation of that service applies to the project. A non-empty slug must be unique among all installations visible to a project, including inherited installations. Separate projects can use the same slug. Saved slug selectors follow the installation currently using that slug. Services without configuration settings can be installed once per scope and must not overlap with enabled inherited installations. Exclude an inherited installation before enabling another one in a lower scope. Each scope can contain up to 20 installations, including paused ones.

For install_machinery --update, specify a unique --slug or --id when more than one site installation of a service exists.

Translation service installations can also be configured via the API REST de Weblate.

Configured translation services provide suggestions in the Automatic suggestions tab of the translation editor and can be selected for Traduction automatique.

Priority of machine translation and translation memory services

Mémoire de traduction Weblate matches with 100% score take priority over machine translation services. If 100% match in translation memory is found, no machine translation is performed. If several 100% matches occur, the first one returned by the database is used.

Each machine translation service has a predefined maximum score it can produce. The use of installed translation services is ordered according to their maximum score. For each string with translation score lower than the service’s maximum, the service is asked to produce a translation. Translations with a score exceeding the current one are accepted.

For explicit ordering and a separate score threshold for each service, use Apply translation memory before machine translation. This workflow completes one translation pass before selecting the strings for the next service.

Source strings for the machine translation

Ajouté dans la version 5.11.

The origin of source strings for all third-party services can be configured. This can be used to tweak the service to get the best results. Following choices are available:

Automatic selection

Chooses the best source language automatically.

This is the default behavior.

Component source language

Uses the component source language.

This was the behavior before the 5.11 release.

Secondary language defined in project or component

Use project Langue secondaire or component Langue secondaire.

Falls back to the automatic selection of the source language if the secondary language not configured.

LLM translation context

LLM-based translation services receive additional context about each translated string, when available. This includes the string context or monolingual key, additional explanation, configured secondary-language translation, plural information, failing quality checks, and placeholder contents. Matching glossary entries are passed with their explanations and selected flags, so duplicate glossary terms can be disambiguated.

You can add target-language-specific instructions in Language-specific instructions using a JSON object mapping language codes to text. Language codes have to exist in Weblate and are matched exactly; whitespace is not ignored. Each instruction can contain up to 1000 characters. Weblate first looks for the exact target language code and then falls back to the base language code.

The added metadata is used only to guide the generated suggestion; the returned translation still has to preserve the source placeholders and markup. Weblate also sends a short previous chat exchange to LLM services to demonstrate the expected JSON response format. The exchange uses bundled translated examples when available for the source and target language pair, or language-neutral formatting examples otherwise. Existing translations for the same target language can be appended as additional examples.

Alibaba

Ajouté dans la version 5.3.

Service ID:

alibaba

Maximum score:

80

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

key

ID de la clé d’accès

secret

Secret de la clé d’accès

region

ID de la région

Alibaba Translate is a neural machine translation service for translating text and it supports up to 214 language pairs.

Anthropic

Ajouté dans la version 5.16.

Service ID:

anthropic

Maximum score:

90

Advanced features:
Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

base_url

URL de l’API Anthropic

URL de base de l’API Anthropic. Laissez ce champ vide pour utiliser l’URL par défaut.

model

Modèle anthropique

Choix disponibles :

claude-haiku-4-5 – Claude Haiku 4.5

claude-sonnet-5 – Claude Sonnet 5

claude-opus-5 – Claude Opus 5

claude-fable-5-1 – Claude Fable 5.1

claude-opus-4-8 – Claude Opus 4.8

claude-fable-5 – Claude Fable 5

custom – Custom model

persona

Personnalité du traducteur

Describe the translator’s role or expertise. For example: “You are an experienced medical translator.”

style

Translation style

Describe the desired translation style. For example: “Use informal language.”

language_instructions

Instructions spécifiques à la langue

Enter a JSON object mapping target language codes recognized by Weblate to additional translation instructions. Each instruction can contain up to 1000 characters. For example: {« de »: « Use formal address. »}

key

Clé d’API

custom_model

Nom de modèle personnalisé

Obligatoire lorsque ‘Modèle personnalisé’ est sélectionné. Entrez l’identifiant du modèle utilisé par l’API.

max_tokens

Jetons maximum

Maximum number of tokens in the generated response.

Performs translation using Anthropic’s Claude models.

The Anthropic API provides access to the Claude family of models, which are known for their strong reasoning and language capabilities. You need an API key from Anthropic to use this service.

The model choices favor current generally available Claude models. Previously offered models remain selectable while Anthropic continues to support them.

Use persona and style fields to further fine-tune translations. These will be used in a prompt for Claude and allow you to change the style of the translations.

The service automatically uses Glossaire, see Glossaries in translation services.

Apertium APy

Service ID:

apertium-apy

Maximum score:

88

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

url

URL de l’API

Une plateforme de traduction automatique de logiciels libres fournissant des traductions dans un nombre limité de langues.

La méthode recommandée pour utiliser Apertium consiste à exécuter votre propre serveur Apertium-APy.

Amazon Translate

Service ID:

aws

Maximum score:

88

Advanced features:
Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

key

ID de la clé d’accès

secret

Clé secrète d’API

region

Nom de la région

formality

Formalité

Choix disponibles :

empty value – Default

FORMAL – Formal

INFORMAL – Informal

brevity

Concision

Privilégiez les traductions plus courtes lorsque cela est possible.

Choix disponibles :

empty value – Default

ON – Enabled

profanity

Langage grossier

Masquer les mots grossiers dans le texte traduit.

Choix disponibles :

empty value – Default

MASK – Mask profanity

Amazon Translate is a neural machine translation service for translating text to and from English across a breadth of supported languages. The service requires the TranslateFullAccess Managed Policy.

The service automatically uses Glossaire, see Glossaries in translation services.

Azure OpenAI

Ajouté dans la version 5.8.

Service ID:

azure-openai

Maximum score:

90

Advanced features:
Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

base_url

URL de l’API

model

Modèle LLM

persona

Personnalité du traducteur

Describe the translator’s role or expertise. For example: “You are an experienced medical translator.”

style

Translation style

Describe the desired translation style. For example: “Use informal language.”

language_instructions

Instructions spécifiques à la langue

Enter a JSON object mapping target language codes recognized by Weblate to additional translation instructions. Each instruction can contain up to 1000 characters. For example: {« de »: « Use formal address. »}

key

Clé d’API

azure_endpoint

URL du point d’accès Azure OpenAI

URL du point d’accès de l’instance, par exemple : https://my-instance.openai.azure.com.

deployment

Déploiement de Azure OpenAI

Nom unique de déploiement du modèle.

Performs translation using OpenAI hosted on Azure.

Voir aussi

OpenAI

Baidu

Service ID:

baidu

Maximum score:

90

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

key

ID client

secret

Secret client

Service de traduction automatique fourni par Baidu.

Ce service utilise une API et vous devez obtenir un identifiant et une clé API auprès de Baidu pour l’utiliser.

Voir aussi

Baidu Translate API

CyrTranslit

Ajouté dans la version 5.7.

Service ID:

cyrtranslit

Maximum score:

100

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

Machine translation service using the Cyrtranslit library.

This service converts text between Cyrillic and Latin scripts for languages that have both scripts.

DeepL

Service ID:

deepl

Maximum score:

91

Advanced features:
Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

url

URL de l’API

key

Clé d’API

formality

Formalité

Utilise la formalité spécifiée si la langue n’est pas spécifiée comme (in)formelle

context

Contexte de traduction

Décrire le contexte de la traduction afin d’améliorer la précision de la traduction.

next_gen

Utiliser un modèle de nouvelle génération

Préférer next-gen LLM par rapport au modèle de traduction automatique classique.

DeepL is a paid service providing good machine translation for a few languages. You need to purchase DeepL API subscription.

API URL to use with the DeepL service. Configure the base endpoint without an API version; Weblate selects the appropriate DeepL API version for each request. For a legacy subscription requiring API v1, configure https://api.deepl.com/v1/ instead.

Modifié dans la version 2026.9.1: Support for explicitly configured DeepL API v1 endpoints has been restored.

https://api.deepl.com/ (default in Weblate)

Is meant for API usage on the paid plan, and the subscription is usage-based.

https://api-free.deepl.com/

Is meant for API usage on the free plan, and the subscription is usage-based.

Weblate supports DeepL formality, it will choose matching one based on the language (for example, there is de@formal and de@informal).

The translation context can optionally be specified to improve translations quality. Read more on that in DeepL translation context documentation.

The service automatically uses Glossaire, see Glossaries in translation services. Glossary integration is not available with API v1.

Rephrasing existing translations

When a string is already translated, Weblate can send the stored target text to the DeepL Write API /v2/write/rephrase endpoint and show the improved text as an additional machine translation suggestion.

This requires a DeepL API Pro subscription using https://api.deepl.com/. Rephrasing is skipped when using the free API endpoint.

Only languages supported by the DeepL Write API are eligible. The stored translation is sent as plain text, without the XML placeholder handling used for DeepL translation. Rephrase suggestions use a slightly lower score than DeepL translations so automatic translation keeps preferring the translate result. Successful rephrases are cached; this still performs an extra API request on cache miss and may increase API usage and billing.

eTranslation

Service ID:

etranslation

Maximum score:

90

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

key

Application name

secret

Mot de passe

domain

Default language domain

Choix disponibles :

GEN – General Text (GEN)

SPD – EU Formal Language (SPD)

ECB – Finance (ECB)

ECJ – European Court of Justice (ECJ)

IPO – EIP Case Law (Intellectual Property) (IPO)

_OTHER – Other domain code

other_domain

Other domain code

Enter a domain code from eTranslation when selecting Other domain code.

component_domains

Component language domains

JSON object mapping full component paths to domain codes, for example {« my-project/privacy-policy »: « SPD »}.

Register an application with the European Commission to obtain its application name and password, then configure eTranslation in Automatic suggestions. The credentials are sent with HTTP Basic authentication. The default language domain is GEN (General Text). Select one of the documented domains by name, or select Other domain code to enter a code returned by eTranslation. The service’s domains endpoint supplies available domain codes and their supported language pairs. The API also lists QE (Quality Estimation) and NER, but their use as translation domains is not described in the domain documentation.

Use Component language domains to select a different domain for individual components. Enter a JSON object whose keys are full component paths, including category segments where applicable. Use the domain codes shown in parentheses in the Default language domain choices:

{"my-project/privacy-policy": "SPD"}

Components absent from the mapping use Default language domain. The mapping belongs to the eTranslation service configuration, not to component settings. Project-level service configuration overrides the site-wide service configuration as it does for other suggestion services. Suggestions show the domain used for each translation.

eTranslation returns text through an asynchronous callback. Set SITE_DOMAIN to the publicly reachable domain and enable HTTPS so the callback URL is accessible from eTranslation. All Weblate application processes must share the configured cache. Weblate waits up to 15 seconds for each text suggestion; a later callback cannot populate that suggestion. Text snippets longer than 5,000 characters are skipped.

Glosbe

Service ID:

glosbe

Maximum score:

90

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

Dictionnaire gratuit et mémoire de traduction pour presque toutes les langues vivantes.

The API is gratis to use, but usage of the translations is subject to the license of the used data source. There is a limit of calls that may be done from one IP in a set period of time, to prevent abuse.

Voir aussi

Site Web Glosbe

Google Cloud Translation Basic

Service ID:

google-translate

Maximum score:

90

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

key

Clé d’API

Machine translation service provided by the Google Cloud services.

This service uses the Google Translation API v2, and you need to obtain an API key and turn on billing in the Google API console.

Google Cloud Translation Advanced

Service ID:

google-translate-api-v3

Maximum score:

90

Advanced features:
Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

credentials

Informations du compte pour le service Google Translate

Saisissez une clé JSON pour le compte de service.

project

Projet Google Translate

Saisissez l’identifiant numérique ou alphanumérique de votre projet Google Cloud.

location

Emplacement de Google Traduction

Choisissez une région Google Cloud Translation utilisée pour le projet Google Cloud ou la plus proche de chez vous.

bucket_name

Nom du Google Storage bucket

Saisir le nom du Google Storage bucket utilisé pour enregistrer les fichiers du glossaire.

Machine translation service provided by the Google Cloud services.

This service uses the Google Translation API v3 and you need credentials in JSON format to access it.

In order to use this service, you first need to go through the following steps:

  1. Select or create a Cloud Platform project.

  2. Enable billing for your project.

  3. Enable the Cloud Translation.

  4. Setup Authentication.

Optionally, you can configure the service to use Glossaire by setting up a Bucket:

  1. Create a Google Cloud bucket.

  2. Set bucket location to « us-central1 ».

  3. Grant “Storage Admin” permission to the Service Account.

Traducteur linguistique IBM Watson

Supprimé dans la version 5.13.1: This service was withdrawn by vendor as of 10 December 2024.

LibreTranslate

Ajouté dans la version 4.7.1.

Service ID:

libretranslate

Maximum score:

89

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

url

URL de l’API

key

Clé d’API

LibreTranslate is a free and open-source service for machine translations. The public instance requires an API key, but LibreTranslate can be self-hosted and there are several mirrors available to use the API for free.

https://libretranslate.com/ (official public instance)

Requires an API key to use outside of the website.

LTEngine

Ajouté dans la version 5.17.1.

Service ID:

ltengine

Maximum score:

89

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

url

URL de l’API

key

Clé d’API

LTEngine provides a local LibreTranslate-compatible API backed by large language models. For many Weblate installations, native LLM services such as Ollama can be a better fit because Weblate can send translation context directly to the model. Use LTEngine when you specifically want its local translation engine or future LTEngine translation improvements.

Azure AI Translator

Service ID:

microsoft-translator

Maximum score:

90

Advanced features:
Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

key

Clé d’API

base_url

URL racine de l’application

Choix disponibles :

api.cognitive.microsofttranslator.com – Global (non-regional)

api-apc.cognitive.microsofttranslator.com – Asia Pacific

api-eur.cognitive.microsofttranslator.com – Europe

api-nam.cognitive.microsofttranslator.com – North America

api.translator.azure.cn – China

api.cognitive.microsofttranslator.us – Azure US Government cloud

endpoint_url

URL du service d’authentification

La région ou le multi-services peuvent être définis en utilisant le champ Région ci-dessous.

Choix disponibles :

api.cognitive.microsoft.com – Global

api.cognitive.azure.cn – China

api.cognitive.microsoft.us – Azure US Government cloud

region

Région du service d’authentification

category

Catégorie

Spécifiez un ID de catégorie système personnalisé pour l’utiliser à la place de l’identifiant général.

Machine translation service provided by Microsoft in Azure portal as one of Cognitive Services.

Weblate implémente Translator API V3.

The service automatically uses Glossaire via dynamic dictionary, see Glossaries in translation services.

Translator Text API V2

La clé que vous utilisez avec Translator API V2 peut être utilisée avec l’API 3.

Translator Text API V3

You need to register at Azure portal and use the key you obtain there. With new Azure keys, you also need to set region to locale of your service.

You can also specify a custom category to use custom translator.

Indication

For Azure China, please use your endpoint from the Azure Portal.

Mistral

Ajouté dans la version 2026.7.

Service ID:

mistral

Maximum score:

90

Advanced features:
Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

base_url

URL de base de l’API Mistral

URL de base de l’API Mistral, si elle diffère de l’URL par défaut de Mistral

model

Modèle Mistral

Avec le choix “automatique”, Weblate sélectionne le premier modèle disponible via l’API à partir de la liste prédéfinie.

Choix disponibles :

auto – Automatic selection

mistral-small-latest – Mistral Small 4

ministral-14b-latest – Ministral 3 14B

ministral-8b-latest – Ministral 3 8B

ministral-3b-latest – Ministral 3 3B

mistral-large-latest – Mistral Large 3

mistral-medium-latest – Mistral Medium 3.5

custom – Custom model

persona

Personnalité du traducteur

Describe the translator’s role or expertise. For example: “You are an experienced medical translator.”

style

Translation style

Describe the desired translation style. For example: “Use informal language.”

language_instructions

Instructions spécifiques à la langue

Enter a JSON object mapping target language codes recognized by Weblate to additional translation instructions. Each instruction can contain up to 1000 characters. For example: {« de »: « Use formal address. »}

key

Clé d’API

custom_model

Nom de modèle personnalisé

Obligatoire lorsque ‘Modèle personnalisé’ est sélectionné. Entrez l’identifiant du modèle utilisé par l’API.

Automatic and predefined model selection queries the service model-listing endpoint. Automatic selection prefers general-purpose models that balance translation quality, response time, and price, trying other available models in the displayed order. Choose Custom model when using a compatible gateway that does not provide model discovery; Weblate sends the configured model identifier directly to the chat endpoint.

ModernMT

Ajouté dans la version 4.2.

Service ID:

modernmt

Maximum score:

90

Advanced features:
Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

url

URL de l’API

key

Clé d’API

context_vector

Vecteur de contexte

Liste de IDs:poids mémoire séparés par des virgules. Par exemple :1234:0.123,4567:0.456

The service automatically uses Glossaire, see Glossaries in translation services.

Voir aussi

ModernMT API

MyMemory

Service ID:

mymemory

Maximum score:

100

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

email

Courriel de contact

username

Nom d’utilisateur

key

Clé d’API

Vaste mémoire de traduction dotée d’une traduction automatique.

Free, anonymous usage is currently limited to 100 requests/day, or to 1000 requests/day when you provide a contact e-mail address in email. You can also ask them for more.

Voir aussi

MyMemory website

Netease Sight

Service ID:

netease-sight

Maximum score:

90

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

key

ID client

secret

Secret client

Service de traduction automatique fourni par NetEase.

Ce service utilise une API, et vous devez obtenir une clé et un secret auprès de NetEase.

Ollama

Ajouté dans la version 5.15.

Service ID:

ollama

Maximum score:

90

Advanced features:
Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

base_url

URL de l’API

URL de base de l’API Ollama, accessible depuis le serveur Weblate. La valeur par défaut est http://localhost:11434 ; « localhost » fait référence à l’environnement dans lequel Weblate s’exécute.

model

Modèle Ollama

Nom du modèle décrit dans le catalogue Ollama.

persona

Personnalité du traducteur

Describe the translator’s role or expertise. For example: “You are an experienced medical translator.”

style

Translation style

Describe the desired translation style. For example: “Use informal language.”

language_instructions

Instructions spécifiques à la langue

Enter a JSON object mapping target language codes recognized by Weblate to additional translation instructions. Each instruction can contain up to 1000 characters. For example: {« de »: « Use formal address. »}

Performs translation using Ollama models.

The Ollama API allows for the use of open source models for translations either locally installed or remotely accessed via the Ollama service. Note that before configuring your models, you should have Ollama installed and downloaded the models you wish to use.

Use persona and style fields to further fine-tune translations. These will be used in a prompt for Ollama and allow you to change the style of the translations.

The service automatically uses Glossaire, see Glossaries in translation services.

Voir aussi

OpenAI

Ajouté dans la version 5.3.

Service ID:

openai

Maximum score:

90

Advanced features:
Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

base_url

URL de base de l’API OpenAI

URL de base de l’API OpenAI, si elle est différente de l’URL OpenAI par défaut

model

Modèle OpenAI

Avec le choix “automatique”, Weblate sélectionne le premier modèle disponible via l’API à partir de la liste prédéfinie.

Choix disponibles :

auto – Automatic selection

gpt-5.6-luna – GPT-5.6 Luna

gpt-5.4-mini – GPT-5.4 mini

gpt-5-mini – GPT-5 mini

gpt-5.4-nano – GPT-5.4 nano

gpt-5-nano – GPT-5 nano

gpt-5.6-terra – GPT-5.6 Terra

gpt-5.4 – GPT-5.4

gpt-5 – GPT-5

gpt-5.6 – GPT-5.6 Sol

gpt-5.5 – GPT-5.5

gpt-4.1-mini – GPT-4.1 mini

gpt-4o-mini – GPT-4o mini

gpt-4.1-nano – GPT-4.1 nano

gpt-4.1 – GPT-4.1

gpt-4o – GPT-4o

gpt-4-turbo – GPT-4 Turbo

gpt-4 – GPT-4

gpt-3.5-turbo – GPT-3.5 Turbo

custom – Custom model

persona

Personnalité du traducteur

Describe the translator’s role or expertise. For example: “You are an experienced medical translator.”

style

Translation style

Describe the desired translation style. For example: “Use informal language.”

language_instructions

Instructions spécifiques à la langue

Enter a JSON object mapping target language codes recognized by Weblate to additional translation instructions. Each instruction can contain up to 1000 characters. For example: {« de »: « Use formal address. »}

key

Clé d’API

custom_model

Nom de modèle personnalisé

Obligatoire lorsque ‘Modèle personnalisé’ est sélectionné. Entrez l’identifiant du modèle utilisé par l’API.

Réalise la traduction en utilisant OpenAI.

The OpenAI API is powered by a diverse set of models with different capabilities and price points. Automatic selection chooses the best model available, but you might want to choose a specific model that matches your needs.

Automatic and predefined model selection queries the service model-listing endpoint. Automatic selection prefers current general-purpose models that balance translation quality, response time, and price, using older GPT models only as compatibility fallbacks. Choose Custom model when using an OpenAI-compatible gateway that does not provide model discovery; Weblate sends the configured model identifier directly to the chat completions endpoint.

Use persona and style fields to further fine-tune translations. These will be used in a prompt for OpenAI and allow you to change the style of the translations.

The service automatically uses Glossaire, see Glossaries in translation services.

Modifié dans la version 5.7: Support for custom model and base URL was added.

SAP Translation Hub

Service ID:

sap-translation-hub

Maximum score:

100

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

url

URL de l’API

key

Clé d’API

username

Nom d’utilisateur SAP

password

Mot de passe SAP

enable_mt

Activer la traduction automatisée

domain

Domaine de la traduction

L’ID d’un domaine de traduction, par exemple : BC. Si vous n’indiquez pas de domaine, la méthode recherche les traductions dans tous les domaines disponibles.

Service de traduction automatique fourni par SAP.

You need to have a SAP account (and the SAP Translation Hub enabled in the SAP Cloud Platform) to use this service.

You can also configure whether to also use machine translation services, in addition to the term database.

Note

To access the Sandbox API, you need to set url and key.

To access the productive API, you need to set url, username and password.

Systran

Service ID:

systran

Maximum score:

90

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

key

Clé d’API

Machine translation service provided by Systran.

This service uses an API, and you need to obtain API key at <https://translate.systran.net/en/account>.

tmserver

Service ID:

tmserver

Maximum score:

100

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

url

URL de l’API

You can run your own translation memory server by using a tmserver protocol.

  • The original tmserver was bundled with the translate-toolkit.

  • amaGama server is an enhanced version of tmserver.

Note

There currently does not seem to be a maintained server for this.

Weblate

Service ID:

weblate

Maximum score:

100

Configuration:

This service has no configuration.

Weblate machine translation service can provide translations based on the exact matches of a string in the currently existing strings in a Translated, Approved, or Read-only states inside Weblate.

Mémoire de traduction Weblate

Service ID:

weblate-translation-memory

Maximum score:

100

Configuration:

This service has no configuration.

Use Mémoire de traduction as a machine translation service. Any string that has been translated before (or uploaded to the translation memory) can be translated in this way. This suggestion source works with fuzzy matching.

Note

Recreating Mémoire de traduction reduces capabilities of this TM source.

Yandex

Service ID:

yandex

Maximum score:

90

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

key

Clé d’API

Service de traduction automatique fourni par Yandex.

Ce service utilise une API de traduction, et vous devez obtenir une clé API auprès de Yandex.

Yandex v2

Ajouté dans la version 5.1.

Service ID:

yandex-v2

Maximum score:

90

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

key

Clé d’API

Service de traduction automatique fourni par Yandex.

This service uses a Translation API, and you need to obtain an API key from Yandex Cloud.

Youdao Zhiyun

Service ID:

youdao-zhiyun

Maximum score:

90

Configuration:

source_language

Sélection de la langue source

Choix disponibles :

auto – Automatic selection

source – Component source language

secondary – Secondary language defined in project or component

key

ID client

secret

Secret client

Service de traduction automatique fourni par Youdao.

Ce service utilise une API, et vous devez obtenir un identifiant et une clé API auprès de Youdao.

Traduction automatique personnalisée

You can also implement your own machine translation services using a few lines of Python code. Place the code in a module Weblate can import (see Création d’un module Python or Customizing code) and add fully qualified class name to WEBLATE_MACHINERY.

The rate_limit_window service class attribute controls the cooldown after Weblate detects rate limiting or certain service failures. Its default is 1800 seconds. When a service returns a retry delay, Weblate uses it instead: retry-after-ms takes precedence over Retry-After (seconds or an HTTP date), followed by Google RetryInfo details. Invalid delays are ignored. Valid delays can be shorter or longer than the service default.

Services with documented short-term throttling can override the default; for example, add rate_limit_window = 60 to your service class to retry after one minute. Translation and rephrasing use the same window with separate cooldown state.

Built-in services use a 60-second cooldown for Alibaba, Amazon Translate, Anthropic, Baidu, Google Cloud Translation Basic and Advanced, LibreTranslate, Mistral, OpenAI, and Azure OpenAI. Other services retain the default.

Cooldown expiry permits another request; it does not guarantee that a daily or billing quota has reset. The window also applies to custom endpoints configured for a service. Existing cached cooldowns expire at their original time.

"""
Machine translation example.

This example uses fictional http://example.com/ service to translate the
strings.
"""

from __future__ import annotations

from typing import TYPE_CHECKING

from weblate.machinery.base import MACHINERY_DEFAULT_THRESHOLD, MachineTranslation

if TYPE_CHECKING:
    from weblate.auth.models import User
    from weblate.machinery.base import DownloadTranslations
    from weblate.trans.models import Unit


class SampleTranslation(MachineTranslation):
    """Sample machine translation interface."""

    name = "Sample"

    def download_languages(self) -> list[str]:
        """Return list of languages your machine translation supports."""
        response = self.request("get", "http://example.com/languages")
        return response.json()["languages"]

    def download_translations(
        self,
        source_language: str,
        target_language: str,
        text: str,
        unit: Unit | None,
        user: User | None,
        threshold: int = MACHINERY_DEFAULT_THRESHOLD,
    ) -> DownloadTranslations:
        """Return tuple with translations."""
        response = self.request(
            "get",
            "http://example.com/translate",
            params={
                "source_language": source_language,
                "target_language": target_language,
                "text": text,
            },
        )

        for translation in response.json()["translations"]:
            yield {
                "text": translation,
                "quality": 100,
                "service": self.name,
                "source": text,
            }