自動提案

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

複数の機械翻訳および翻訳メモリのサービスに標準で対応しています。各サービスは、管理者がサイト全体複数の機械翻訳サービスと翻訳メモリ サービスに対応しています。各サービスは、管理者がサイト全体(管理画面自動提案 の下)またはプロジェクト設定から有効にします。

../_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.

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

プロジェクトごとの自動提案も、Weblate の REST API を使って設定できます。

参考

自動提案

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

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

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

機械翻訳用の原文

Added in version 5.11.

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

自動選択

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

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

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

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

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

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

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

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

LLM translation context

LLM-based automatic suggestion 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. The added metadata is used only to guide the generated suggestion; the returned translation still has to preserve the source placeholders and markup.

Alibaba

Added in version 5.3.

サービス ID:

alibaba

最大スコア:

80

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

key

アクセス キー ID

secret

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

region

リージョン ID

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

Anthropic

Added in version 5.16.

サービス ID:

anthropic

最大スコア:

90

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

base_url

Anthropic API URL

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

model

Anthropic モデル

設定できる値:

claude-sonnet-4-5 -- Claude Sonnet 4.5(推奨)

claude-haiku-4-5 -- Claude Haiku 4.5

claude-opus-4-5 -- Claude Opus 4.5

custom -- カスタムモデル

persona

翻訳者の人物像

翻訳の正確性を高めるために、翻訳者の人物像を記述します。例: 「あなたはリスの繁殖業者です。」

style

翻訳ファイル

翻訳スタイルについて説明します。例: 「くだけた言い回しを使用する」

key

API キー

custom_model

カスタム モデル名

モデルが「カスタムモデル」に設定されていた場合のみ必要

max_tokens

最大トークン数

応答で生成するトークン数の上限です。

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

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

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

このサービスは自動的に 用語集 を使用します。参照: 自動提案における用語集

Apertium APy

サービス ID:

apertium-apy

最大スコア:

88

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

url

API URL

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

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

Amazon Translate

サービス ID:

aws

最大スコア:

88

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

key

アクセス キー ID

secret

API 秘密鍵

region

リージョン名(地域名)

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

このサービスは自動的に 用語集 を使用します。参照: 自動提案における用語集

Azure OpenAI

Added in version 5.8.

サービス ID:

azure-openai

最大スコア:

90

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

base_url

API URL

model

LLMモデル

persona

翻訳者の人物像

翻訳の正確性を高めるために、翻訳者の人物像を記述します。例: 「あなたはリスの繁殖業者です。」

style

翻訳ファイル

翻訳スタイルについて説明します。例: 「くだけた言い回しを使用する」

key

API キー

azure_endpoint

Azure OpenAI のエンドポイント URL

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

deployment

Azure OpenAI のデプロイ

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

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

参考

OpenAI

Baidu

サービス ID:

baidu

最大スコア:

90

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

key

クライアント ID

secret

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

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

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

CyrTranslit

Added in version 5.7.

サービス ID:

cyrtranslit

最大スコア:

100

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

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

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

DeepL

サービス ID:

deepl

最大スコア:

91

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

url

API URL

key

API キー

formality

フォーマリティ

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

context

翻訳情報

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

next_gen

次世代モデルを使用

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

DeepL は有料サービスであり、複数の言語向けに優れた機械翻訳を提供しています。DeepL API サブスクリプションを購入するか、DeepL Pro (classic) プランを使用してください。

DeepL のサービスで使用する API の URL です。執筆時点では、v1 API の他に、v2 API の無料版と有料版があります。

https://api.deepl.com/v2/ (Weblate のデフォルト)

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

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

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

https://api.deepl.com/v1/

CAT ツール用を使用し、ユーザー単位でサブスクリプションを使用できます。

注釈

以前 Weblate は DeepL によって CAT ツールとして分類されていたため、v1 API を使用することになっていましたが、現在は v2 API を使用することになっています。そのため、デフォルトは v2 になっており、デフォルトの CAT サブスクリプションを持っていて Weblate がそのサブスクリプションを使用したい場合は v1 に変更できます。

Weblate は DeepL の敬称と親称に対応しており、言語(例えば de@formalde@informal があります)に応じたものが選択されます。

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

このサービスは自動的に 用語集 を使用します。参照: 自動提案における用語集

Glosbe

サービス ID:

glosbe

最大スコア:

90

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

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

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

Google Cloud Translation Basic

サービス ID:

google-translate

最大スコア:

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

最大スコア:

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

最大スコア:

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

最大スコア:

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

最大スコア:

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 を指定して、一般的なカテゴリの代わりに使用してください。

Cognitive Services のひとつとして Azure portal でマイクロソフトが提供する機械翻訳サービス。

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

このサービスは、動的辞書 を介して 用語集 を自動的に使用します。参照: 自動提案における用語集

Translator Text API V2

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

Translator Text API V3

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

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

ヒント

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

ModernMT

Added in version 4.2.

サービス ID:

modernmt

最大スコア:

90

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

url

API URL

key

API キー

context_vector

コンテキストベクトル

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

このサービスは自動的に 用語集 を使用します。参照: 自動提案における用語集

参考

ModernMT API

MyMemory

サービス ID:

mymemory

最大スコア:

100

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

email

連絡先メールアドレス

username

ユーザー名

key

API キー

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

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

Netease Sight

サービス ID:

netease-sight

最大スコア:

90

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

key

クライアント ID

secret

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

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

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

Ollama

Added in version 5.15.

サービス ID:

ollama

最大スコア:

90

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

base_url

API URL

Ollama API のベース URL。デフォルトは localhost およびポート 11434 です。

model

Ollama モデル

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

persona

翻訳者の人物像

翻訳の正確性を高めるために、翻訳者の人物像を記述します。例: 「あなたはリスの繁殖業者です。」

style

翻訳ファイル

翻訳スタイルについて説明します。例: 「くだけた言い回しを使用する」

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

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

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

このサービスは自動的に 用語集 を使用します。参照: 自動提案における用語集

OpenAI

Added in version 5.3.

サービス ID:

openai

最大スコア:

90

高度な機能:
設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

base_url

OpenAI API ベース URL

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

model

OpenAI モデル

設定できる値:

auto -- 自動選択

gpt-5-nano -- GPT-5-nano

gpt-5-mini -- GPT-5-mini

gpt-5.2 -- GPT-5.2

gpt-5.1 -- GPT-5.1

gpt-5 -- GPT-5

gpt-4.1-nano -- GPT-4.1-nano

gpt-4.1-mini -- GPT-4.1-mini

gpt-4.1 -- GPT-4.1

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

gpt-4o -- GPT-4o

o3-mini -- o3-mini

30 -- 承認済み

o1-mini -- o1-mini

o1 -- o1

o1-pro -- o1-pro

custom -- カスタムモデル

persona

翻訳者の人物像

翻訳の正確性を高めるために、翻訳者の人物像を記述します。例: 「あなたはリスの繁殖業者です。」

style

翻訳ファイル

翻訳スタイルについて説明します。例: 「くだけた言い回しを使用する」

key

API キー

custom_model

カスタム モデル名

モデルが「カスタムモデル」に設定されていた場合のみ必要

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

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

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

このサービスは自動的に 用語集 を使用します。参照: 自動提案における用語集

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

SAP Translation Hub

サービス ID:

sap-translation-hub

最大スコア:

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 に接続するには、urlusername および password の設定が必要です。

シストラン

サービス ID:

systran

最大スコア:

90

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

key

API キー

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

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

tmserver

サービス ID:

tmserver

最大スコア:

100

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

url

API URL

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

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

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

注釈

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

Weblate

サービス ID:

weblate

最大スコア:

100

設定:

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

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

Weblate 翻訳メモリ

サービス ID:

weblate-translation-memory

最大スコア:

100

設定:

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

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

注釈

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

Yandex

サービス ID:

yandex

最大スコア:

90

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

key

API キー

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

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

Yandex v2

Added in version 5.1.

サービス ID:

yandex-v2

最大スコア:

90

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

key

API キー

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

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

Youdao Zhiyun

サービス ID:

youdao-zhiyun

最大スコア:

90

設定:

source_language

原文の言語を選択

設定できる値:

auto -- 自動選択

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

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

key

クライアント ID

secret

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

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

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

カスタム機械翻訳

また、数行の Python コードを使用して、独自の機械翻訳サービスを実装することもできます。Weblate がインポートできるモジュールにコードを配置し(Python モジュールの作成 または コードのカスタマイズ を参照)、WEBLATE_MACHINERY に完全修飾クラス名を追加してください。

"""
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):
        """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,
        target_language,
        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,
            }