自動提案の設定#

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

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

../_images/project-machinery.webp

注釈

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

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

参考

自動提案

Alibaba#

バージョン 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=Greetings&target_lang=JA&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#

バージョン 4.16 で追加.

サービス ID:

ibm

設定:

url

API URL

key

API キー

警告

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

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

LibreTranslate#

バージョン 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

認証サービス地域

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#

バージョン 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#

バージョン 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 の設定が必要です。

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#

バージョン 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 は設定したクラスの使用を開始します。