Translation services

バージョン 4.13 で変更: Weblate 4.13 以前では、サービスは 設定 で設定していました。

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 管理画面. Workspace administrators can configure installations for their workspace, and project administrators can configure them for a project:

../_images/project-machinery.webp

注釈

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.

各サービスは、コンポーネント構成 で設定した原文の言語から翻訳されます。参照: 原文の言語。

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 Weblate の REST API.

Configured translation services provide suggestions in the Automatic suggestions tab of the translation editor and can be selected for 自動翻訳.

参考

自動提案

機械翻訳と翻訳メモリ サービスの優先順位

Weblate 翻訳メモリ の 100% スコアの一致は、機械翻訳サービスよりも優先されます。翻訳メモリで 100% の一致が見つかった場合、機械翻訳は実行されません。複数の 100% 一致が発生した場合、データベースによって返された最初の一致が使用されます。

各機械翻訳サービスには、それが生成できる事前定義された最大スコアがあります。インストールされた翻訳サービスの使用は、それらの最大スコアに従って順序付けられます。サービスの最大スコアよりも低い翻訳スコアを持つ各文字列に対して、そのサービスは翻訳を生成するように要求されます。現在のスコアを超過するスコアを持つ翻訳は受け入れられます。

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.

機械翻訳用の原文

Added in version 5.11.

すべてのサードパーティサービスにおける原文文字列の起点が設定できます。最良の結果を得るためにサービスの微調整のために使用できます。以下の選択肢が利用可能です:

自動選択

最良の原文言語を自動的に選択します。

これがデフォルトの動作です.

コンポーネントの原文言語

コンポーネントの原文言語を使用する。

これは 5.11 リリース前の挙動でした。

プロジェクトまたはコンポーネントに設定された第二言語

プロジェクト 第二言語 またはコンポーネント 第二言語 を使用します。

第二言語が設定されていない場合、原文言語の自動選択にフォールバックします。

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

Added in version 5.3.

サービス ID:

alibaba

Maximum score:

80

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

key

アクセス キー ID

secret

アクセス キー シークレット

region

リージョン ID

Alibaba Translate は、テキストを翻訳するためのニューラル機械翻訳サービスで、最大 214 の言語ペアに対応しています。

Anthropic

Added in version 5.16.

サービス ID:

anthropic

Maximum score:

90

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

base_url

Anthropic API URL

Anthropic API のベース URL。空欄の場合はデフォルトの URL が使用されます。

model

Anthropic モデル

設定できる値:

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 -- カスタムモデル

persona

翻訳者の人物像

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

言語別の手順

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

API キー

custom_model

カスタム モデル名

Required when ‘Custom model’ is selected. Enter the model identifier used by the API.

max_tokens

最大トークン数

Maximum number of tokens in the generated response.

Anthropic's Claude モデルを使用して翻訳を実行します。

Anthropic API は、優れた推論能力と言語処理能力で知られる Claude 系モデルへの接続を提供します。このサービスを利用するには、Anthropic が発行する API キーが必要です。

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

人物像と翻訳スタイル フィールドを使用して、翻訳をさらに詳細設定します。これらは Claude へのプロンプトに組み込まれ、翻訳の文体を変更することができます。

このサービスは自動的に 用語集 を使用します。参照: Glossaries in translation services。

Apertium APy

サービス ID:

apertium-apy

Maximum score:

88

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

url

API URL

限定した言語セットに対して翻訳を提供するリブレソフトウェアの機械翻訳プラットフォームです。

Apertium が推奨する使用方法は、Apertium-APy サーバーを独自に実行することです。

Amazon Translate

サービス ID:

aws

Maximum score:

88

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

key

アクセス キー ID

secret

API 秘密鍵

region

リージョン名(地域名)

formality

フォーマリティ

設定できる値:

empty value -- Default

FORMAL -- Formal

INFORMAL -- Informal

brevity

Brevity

Prefer shorter translations when supported.

設定できる値:

empty value -- Default

ON -- Enabled

profanity

Profanity

Mask profane words in translated text.

設定できる値:

empty value -- Default

MASK -- Mask profanity

Amazon Translate は、対応している多くの言語間でテキストを英語に、またその逆に翻訳したりするためのニューラル機械翻訳サービスです。このサービスには、TranslateFullAccess 管理ポリシーが必要です。

このサービスは自動的に 用語集 を使用します。参照: Glossaries in translation services。

Azure OpenAI

Added in version 5.8.

サービス ID:

azure-openai

Maximum score:

90

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

base_url

API URL

model

LLMモデル

persona

翻訳者の人物像

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

言語別の手順

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

API キー

azure_endpoint

Azure OpenAI のエンドポイント URL

インスタンスのエンドポイント URL、例: https://my-instance.openai.azure.com。

deployment

Azure OpenAI のデプロイ

モデル固有のデプロイメント名。

Azure 上で動作する OpenAI を使用して翻訳を実行します。

参考

OpenAI

Baidu

サービス ID:

baidu

Maximum score:

90

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

key

クライアント ID

secret

クライアント シークレット

Baidu が提供する機械翻訳サービス。

このサービスは API を使用しています。使用するには、Baidu から ID と API キーを取得してください。

CyrTranslit

Added in version 5.7.

サービス ID:

cyrtranslit

Maximum score:

100

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

Cyrtranslit ライブラリを使用した機械翻訳サービス。

このサービスは、キリル文字とラテン文字の両方の文字セットを持つ言語のテキストを相互変換します。

DeepL

サービス ID:

deepl

Maximum score:

91

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

url

API URL

key

API キー

formality

フォーマリティ

言語が敬称または親称として指定されていない場合は、指定された語調を使用します

context

翻訳情報

翻訳の正確性を高めるために、翻訳の文脈を記述します。

next_gen

次世代モデルを使用

従来の機械翻訳モデルよりも、次世代 LLM を優先する。

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.

バージョン 2026.9.1 で変更: Support for explicitly configured DeepL API v1 endpoints has been restored.

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

有料プラン用の API を使用し、使用量をもとにしたサブスクリプションです。

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

無料プラン用の API を使用し、使用量をもとにしたサブスクリプションです。

Weblate は DeepL の敬称と親称に対応しており、言語(例えば de@formal と 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 用語集, 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

サービス ID:

etranslation

Maximum score:

90

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

key

Application name

secret

パスワード

domain

Default language domain

設定できる値:

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

サービス ID:

glosbe

Maximum score:

90

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

ほぼすべての使用している言語の、無料の辞書と翻訳メモリ。

API は無料で使用できますが、翻訳機能は使用するデータ ソースのライセンスに従います。不正使用を防止するために、設定時間内に 1 つの IP から呼び出せる回数には制限があります。

Google Cloud Translation Basic

サービス ID:

google-translate

Maximum score:

90

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

key

API キー

Google Cloud サービスが提供する機械翻訳サービス。

このサービスは、Google Translation API v2 を使用するので、API キーの取得と Google API コンソールでの課金の有効化が必要です。

Google Cloud Translation Advanced

サービス ID:

google-translate-api-v3

Maximum score:

90

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

credentials

Google 翻訳サービスのアカウント情報

サービスアカウントの JSON キーを入力してください。

project

Google 翻訳プロジェクト

Google Cloud プロジェクトの数字または英数字 ID を入力してください。

location

Google 翻訳の地域

Google Cloud プロジェクトで使用しているリージョン、またはあなたの最寄りの Google Cloud Translation リージョンを選択してください。

bucket_name

Google Storage バケット名

用語集ファイルを保存する Google Cloud Storage のバケット名を入力してください。

Google Cloud サービスが提供する機械翻訳サービス。

このサービスは Google Translation API v3 を使用しており、アクセスするには JSON 形式の認証情報が必要です。

このサービスを利用するために必要な実行手順:

  1. Cloud Platform プロジェクトを選択または作成する。

  2. プロジェクトの課金を有効にする。

  3. クラウド翻訳を有効にする。

  4. 認証の初期設定。

オプションで、バケットを設定して 用語集 を使用するサービスの設定方法:

  1. Google Cloud バケットを作成する。

  2. バケットの場所を "us-central1" に設定する。

  3. サービス アカウントに 'ストレージ管理者' 権限を付与する。

IBM Watson Language Translator

Removed in version 5.13.1: このサービスは、2024 年 12 月 10 日付でベンダーにより提供終了となりました。

LibreTranslate

Added in version 4.7.1.

サービス ID:

libretranslate

Maximum score:

89

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

url

API URL

key

API キー

LibreTranslate は、無料のオープンソースの機械翻訳サービスです。公開するインスタンスには API キーが必要ですが、LibreTranslate は自己ホストにインストールできます。また、API を無料開放しているミラーサイトもあります。

https://libretranslate.com/ (公式に公開されたインスタンス)

外部から Web サイトに接続するには API キーが必要です。

LTEngine

Added in version 5.17.1.

サービス ID:

ltengine

Maximum score:

89

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

url

API URL

key

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

サービス ID:

microsoft-translator

Maximum score:

90

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

key

API キー

base_url

アプリケーション ベース URL

設定できる値:

api.cognitive.microsofttranslator.com ‐‐ 全世界(地域設定無し)

api-apc.cognitive.microsofttranslator.com ‐‐ アジア太平洋地域

api-eur.cognitive.microsofttranslator.com -- ヨーロッパ

api-nam.cognitive.microsofttranslator.com -- 北米

api.translator.azure.cn -- 中国

api.cognitive.microsofttranslator.us -- Azure 米国政府クラウド

endpoint_url

認証サービスの URL

以下の地域欄で、地域サービスまたはマルチサービスを指定することができます。

設定できる値:

api.cognitive.microsoft.com ‐‐ 全世界

api.cognitive.azure.cn -- 中国

api.cognitive.microsoft.us -- Azure 米国政府クラウド

region

認証サービス地域

category

カテゴリー

独自のシステムカテゴリ ID を指定して、一般的なカテゴリの代わりに使用してください。

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

Weblate は Translator API V3 を実装しています。

このサービスは、動的辞書 を介して 用語集 を自動的に使用します。参照: Glossaries in translation services。

Translator Text API V2

Translator API V2 で使用するキーは、API 3 にも使用できます。

Translator Text API V3

Azure ポータルに登録して、そこで取得したキーを使用します。新しい Azure キーを使用する場合は、サービスの言語に対して リージョン の設定も必要です。

カスタム トランスレーター を使用してカスタム カテゴリを指定することもできます。

ヒント

Azure China の場合は、Azure ポータルからエンドポイントを使用してください。

Mistral

Added in version 2026.7.

サービス ID:

mistral

Maximum score:

90

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

base_url

Mistral API ベース URL

Mistral の既定の URL と異なる場合、Mistral API のベース URL

model

Mistral モデル

With ‘Automatic selection’, Weblate selects the first model available through the API from its predefined preference list.

設定できる値:

auto -- 自動選択

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 -- カスタムモデル

persona

翻訳者の人物像

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

言語別の手順

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

API キー

custom_model

カスタム モデル名

Required when ‘Custom model’ is selected. Enter the model identifier used by the 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

Added in version 4.2.

サービス ID:

modernmt

Maximum score:

90

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

url

API URL

key

API キー

context_vector

コンテキストベクトル

メモリー ID:ウェイト のコンマ区切りのリスト。例: 1234:0.123,4567:0.456

このサービスは自動的に 用語集 を使用します。参照: Glossaries in translation services。

参考

ModernMT API

MyMemory

サービス ID:

mymemory

Maximum score:

100

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

email

連絡先メールアドレス

username

ユーザー名

key

API キー

大量の翻訳メモリと機械翻訳。

現在、無料の匿名使用での制限は、100 リクエスト / 日。メールアドレス に連絡先のメールアドレスを指定した場合の制限は、1000 リクエスト / 日。追加は、応相談。

Netease Sight

サービス ID:

netease-sight

Maximum score:

90

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

key

クライアント ID

secret

クライアント シークレット

NetEase が提供する機械翻訳サービス。

このサービスは API を使用するので、NetEase からキーとシークレットの取得が必要です。

Ollama

Added in version 5.15.

サービス ID:

ollama

Maximum score:

90

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

base_url

API URL

Base URL of the Ollama API, reachable from the Weblate server. The default is http://localhost:11434; localhost refers to the environment where Weblate runs.

model

Ollama モデル

Ollama カタログに掲載されているモデルの名前。

persona

翻訳者の人物像

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

言語別の手順

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."}

Ollama を使用して翻訳を実行します。

Ollama API は、ローカルにインストールされているか、 リモートで Ollama サービスを経由してアクセスされる、翻訳のためのオープンソースモデルを使用可能にします。注記: モデルを設定する前に、 Ollama installed 状態にし、使用したいモデルをダウンロードしておく必要があります。

人物像と翻訳スタイル フィールドを使用して、翻訳をさらに詳細設定します。これは Ollama のプロンプトで使用することにより翻訳スタイルを変更できます。

このサービスは自動的に 用語集 を使用します。参照: Glossaries in translation services。

OpenAI

Added in version 5.3.

サービス ID:

openai

Maximum score:

90

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

base_url

OpenAI API ベース URL

OpenAI の既定の URL と異なる場合、OpenAI API のベース URL

model

OpenAI モデル

With ‘Automatic selection’, Weblate selects the first model available through the API from its predefined preference list.

設定できる値:

auto -- 自動選択

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 -- カスタムモデル

persona

翻訳者の人物像

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

言語別の手順

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

API キー

custom_model

カスタム モデル名

Required when ‘Custom model’ is selected. Enter the model identifier used by the API.

OpenAI を使用して翻訳を実行します。

OpenAI API は、さまざまな機能と価格帯を備えたさまざまなモデルの組み合わせがあります。自動選択では利用可能な最適なモデルが選択されますが、用途に合った特定のモデルを選択することもできます。

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.

人物像と翻訳スタイル フィールドを使用して、翻訳をさらに詳細設定します。これは OpenAI のプロンプトで使用することにより翻訳スタイルを変更できます。

このサービスは自動的に 用語集 を使用します。参照: Glossaries in translation services。

バージョン 5.7 で変更: カスタム モデルとベース URL に対応しました。

SAP Translation Hub

サービス ID:

sap-translation-hub

Maximum score:

100

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

url

API URL

key

API キー

username

SAP ユーザー名

password

SAP パスワード

enable_mt

機械翻訳の有効化

domain

翻訳のドメイン

翻訳ドメインの ID(BC など)。ドメインを指定しない場合、このメソッドは使用可能なすべてのドメインで翻訳を検索します。

SAP が提供する機械翻訳サービス。

このサービスを使用するには、SAP アカウント(および SAP Cloud Platform で有効な SAP Translation Hub)が必要です。

また、用語データベースだけでなく、機械翻訳サービスを使用するかどうかも構成できます。

注釈

サンドボックス API にアクセスするには、 url および key の設定が必要です。

productive API に接続するには、url、username および password の設定が必要です。

シストラン

サービス ID:

systran

Maximum score:

90

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

key

API キー

シストランが提供する機械翻訳サービス。

このサービスは API を使用するので、<https://translate.systran.net/en/account> から API キーの取得が必要です。

tmserver

サービス ID:

tmserver

Maximum score:

100

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

url

API URL

tmserver プロトコルを使用すると、独自の翻訳メモリサーバーを運用できます。

  • 元の tmserver は translate-toolkit に同梱されていました。

  • amaGama サーバーは、tmserver の拡張版です。

注釈

現在、これを継続的にメンテナンスしているサーバーは存在しないようです。

Weblate

サービス ID:

weblate

Maximum score:

100

設定:

このサービスには設定がありません。

Weblate の機械翻訳サービスは、Weblate内の 翻訳済み、 承認済み、または 翻訳禁止 状態 に現在存在する文字列と完全に一致する場合に翻訳を提供できます。

Weblate 翻訳メモリ

サービス ID:

weblate-translation-memory

Maximum score:

100

設定:

このサービスには設定がありません。

機械翻訳サービスとして 翻訳メモリ を使用します。過去に翻訳された(または翻訳メモリにアップロードされた)文字列は、この方法で翻訳できます。この提案ソースは、あいまい一致で機能します。

注釈

翻訳メモリ を再作成すると、この TM ソースの機能が低下します。

Yandex

サービス ID:

yandex

Maximum score:

90

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

key

API キー

Yandex が提供する機械翻訳サービス。

このサービスは Translation API を使用するので、Yandex から API キーの取得が必要です。

Yandex v2

Added in version 5.1.

サービス ID:

yandex-v2

Maximum score:

90

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

key

API キー

Yandex が提供する機械翻訳サービス。

このサービスは Translation API を使用するので、Yandex Cloud から API キーの取得が必要です。

Youdao Zhiyun

サービス ID:

youdao-zhiyun

Maximum score:

90

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

source -- コンポーネントの原文言語

secondary -- プロジェクトまたはコンポーネントに設定された第二言語

key

クライアント ID

secret

クライアント シークレット

Youdao が提供する機械翻訳サービス。

このサービスは API を使用するので、Youdao から ID と API キーの取得が必要です。

カスタム機械翻訳

また、数行の Python コードを使用して、独自の機械翻訳サービスを実装することもできます。Weblate がインポートできるモジュールにコードを配置し(Python モジュールの作成 または コードのカスタマイズ を参照)、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,
            }