自動提案

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

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

../_images/project-machinery.webp

注釈

それぞれのサービスに利用規約があるので、自分の希望する使用方法が可能かどうかを確認してください。

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

参考

自動提案

Alibaba

Added in version 5.3.

サービス ID:

alibaba

設定:

key

アクセス キー ID

secret

アクセス鍵シークレット

region

リージョン ID

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

Amagama

サービス ID:

amagama

設定:

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

特別にインストールされて動作している、Virtaal の作成者自身が作成した tmserver

Apertium APy

サービス ID:

apertium-apy

設定:

url

API URL

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

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

Amazon Translate

サービス ID:

aws

設定:

key

アクセス キー ID

secret

API 秘密鍵

region

リージョン名(地域名)

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

Baidu

サービス ID:

baidu

設定:

key

クライアント ID

secret

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

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

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

DeepL

サービス ID:

deepl

設定:

url

API URL

key

API キー

formality

フォーマリティ

言語が(イン)フォーマルとして指定されていない場合は、指定された形式を使用します

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 に変更できます。

使用する URL を確認する最も簡単な方法は、ブラウザーで次のような URL を開く事:

https://api.deepl.com/v2/translate?text=Hello&target_lang=FR&auth_key=XXX

XXX を自分の auth_key に置き換えます。"Bonjour" を含む JSON オブジェクトを受信した場合は正常な URL です。異なる場合は、他の 3 種類を試してください。

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

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

Glosbe

サービス ID:

glosbe

設定:

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

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

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

Google Cloud Translation Basic

サービス ID:

google-translate

設定:

key

API キー

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

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

Google Cloud Translation Advanced

サービス ID:

google-translate-api-v3

設定:

credentials

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

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

project

Google 翻訳プロジェクト

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

location

Google 翻訳の地域

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

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

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

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

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

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

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

  4. 認証の初期設定。

IBM Watson Language Translator

Added in version 4.16.

サービス ID:

ibm

設定:

url

API URL

key

API キー

警告

このサービスはベンダーによって非推奨となっており、2024 年 12 月 10 日をもって完全に廃止されます。

IBM Watson Language Translator は、テキストをある言語から別の言語に翻訳します。このサービスは、複数のドメイン固有のモデルを提供します。

LibreTranslate

Added in version 4.7.1.

サービス ID:

libretranslate

設定:

url

API URL

key

API キー

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

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

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

Azure AI Translator

サービス ID:

microsoft-translator

設定:

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

カテゴリ

Specify a customized system category ID to use it instead of general one.

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

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

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

Translator Text API V2

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

Translator Text API V3

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

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

ヒント

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

ModernMT

Added in version 4.2.

サービス ID:

modernmt

設定:

url

API URL

key

API キー

参考

ModernMT API

MyMemory

サービス ID:

mymemory

設定:

email

連絡先メールアドレス

username

ユーザー名

key

API キー

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

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

Netease Sight

サービス ID:

netease-sight

設定:

key

クライアント ID

secret

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

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

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

OpenAI

Added in version 5.3.

サービス ID:

openai

設定:

key

API キー

model

OpenAI モデル

設定できる値:

auto -- 自動選択

gpt-4-1106-preview -- GPT-4 Turbo

gpt-4 -- GPT-4

gpt-3.5-turbo -- GPT-3.5 Turbo

persona

翻訳者の人物像

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

style

翻訳ファイル

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

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

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

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

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

SAP Translation Hub

サービス ID:

sap-translation-hub

設定:

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 の設定が必要です。

Systran

サービス ID:

systran

設定:

key

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

サービス ID:

tmserver

設定:

url

API URL

Translate-toolkit に付属したサーバーを使用して、独自の翻訳メモリ サーバーを実行し、Weblate とやり取りできます。また、tmserver の拡張版である amaGama サーバーでも使用できます。

  1. まず、翻訳メモリにデータをインポートする:

build_tmdb -d /var/lib/tm/db -s en -t cs locale/cs/LC_MESSAGES/django.po
build_tmdb -d /var/lib/tm/db -s en -t de locale/de/LC_MESSAGES/django.po
build_tmdb -d /var/lib/tm/db -s en -t fr locale/fr/LC_MESSAGES/django.po
  1. tmserver を起動して、要求をリッスンする:

tmserver -d /var/lib/tm/db
  1. Weblate と通信するように設定します。デフォルトの URL は http://localhost:8888/tmserver/ です。

Weblate

サービス ID:

weblate

設定:

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

Weblate 機械翻訳サービスは、Weblate 内で既に翻訳されている文字列の翻訳を提供できます。既存の文字列の完全一致を検索します。

Weblate 翻訳メモリ

サービス ID:

weblate-translation-memory

設定:

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

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

Yandex

サービス ID:

yandex

設定:

key

API キー

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

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

Yandex v2

Added in version 5.1.

サービス ID:

yandex-v2

設定:

key

API キー

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

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

Youdao Zhiyun

サービス ID:

youdao-zhiyun

設定:

key

クライアント ID

secret

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

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

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

カスタム機械翻訳

また、数行の Python コードを使用して、独自の機械翻訳サービスを実装できます。Python モジュール dictionary を使用して、言語の固定リストでの機械翻訳を実装する例:

# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later

"""Machine translation example."""

import dictionary  # type: ignore[import-not-found]

from weblate.machinery.base import DownloadTranslations, MachineTranslation


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

    name = "Sample"

    def download_languages(self):
        """Return list of languages your machine translation supports."""
        return {"cs"}

    def download_translations(
        self,
        source,
        language,
        text: str,
        unit,
        user,
        threshold: int = 75,
    ) -> DownloadTranslations:
        """Return tuple with translations."""
        for t in dictionary.translate(text):
            yield {"text": t, "quality": 100, "service": self.name, "source": text}

独自のクラス一覧を WEBLATE_MACHINERY に設定すると、Weblate は設定したクラスの使用を開始します。