機械翻訳
複数の機械翻訳サービスに標準で対応しています。管理者は、各サービスを MT_SERVICES
を設定して個別に有効にします。機械翻訳サービスは利用規約の対象となるため、あなたが望む方法で利用できることを確認してください。
原文の言語は、プロジェクトの設定 から設定します。
amaGama
特別にインストールされて動作している、Virtaal の作成者自身が作成した tmserver 。
weblate.machinery.tmserver.AmagamaTranslation
を MT_SERVICES
に追加して、このサービスを有効にします。
Apertium
限定した言語セットに対して翻訳を提供する Libre ソフトウェアの機械翻訳プラットフォームです。
Apertium が推奨する使用方法は、Apertium-APy サーバーを独自に実行することです。
このサービスを有効にするには、MT_SERVICES
に weblate.machinery.apertium.ApertiumAPYTranslation
を追加し、MT_APERTIUM_APY
を設定します。
AWS
バージョン 3.1 で追加.
Amazon Translate は、対応している多くの言語間でテキストを英語に、またその逆に翻訳したりするためのニューラル機械翻訳サービスです。
このサービスを有効にするには、
MT_SERVICES
にweblate.machinery.aws.AWSTranslation
を追加する。boto3 モジュールをインストールする。
Weblate を設定する。
Baidu API machine translation
バージョン 3.2 で追加.
Baidu が提供する機械翻訳サービス。
このサービスは API を使用しています。使用するには、Baidu から ID と API キーを取得してください。
MT_SERVICES
に weblate.machinery.baidu.BaiduTranslation
を追加し、MT_BAIDU_ID
と MT_BAIDU_SECRET
を設定して、このサービスを有効化します。
DeepL
バージョン 2.20 で追加.
DeepL は有料サービスであり、複数の言語向けに優れた機械翻訳を提供しています。DeepL API サブスクリプションを購入するか、DeepL Pro (classic) プランを使用してください。
このサービスを有効にするには、weblate.machinery.deepl.DeepLTranslation
を MT_SERVICES
に追加し、MT_DEEPL_KEY
を設定します。
ヒント
CAT ツールのサブスクリプションがある場合、Weblate で使用するデフォルトの 「v 2」 の代わりに 「v 1 API」 を使用します(これは API のバージョンではない) 。有料プランではなく、無料プランの場合は、https://api-free.deepl.com/
の代わりに https://api.deepl.com/
を使用してください。両方のパラメータを調整するには、MT_DEEPL_API_URL
を設定します。
LibreTranslate
バージョン 4.7.1 で追加.
LibreTranslate は、無料のオープンソースの機械翻訳サービスです。公開するインスタンスには API キーが必要ですが、LibreTranslate は自分のサーバーにインストールできます。また、API を無料開放しているミラーサイトもあります。
このサービスを有効にするには、weblate.machinery.libretranslate.LibreTranslateTranslation
を MT_SERVICES
に追加し、 MT_LIBRETRANSLATE_API_URL
を設定します。インスタンスに API キーが必要な場合は、:setting:'MT_LIBRETRANSLATE_KEY' の設定も必要です。
Glosbe
ほぼすべての使用している言語の、無料の辞書と翻訳メモリ。
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.
このサービスを有効にするには、weblate.machinery.glosbe.GlosbeTranslation
を :setting:`MT_SERVICES`に追加してください。
Google 翻訳
Google が提供する機械翻訳サービス。
このサービスは、Google Translation API を使用するので、API キーの取得と Google API コンソールでの課金の有効化が必要です。
このサービスを有効にするには、MT_SERVICES
に weblate.machinery.google.GoogleTranslation
を追加し、MT_GOOGLE_KEY
を設定します。
Google Translate API V3(Advanced)
Google Cloud サービスが提供する機械翻訳サービス。
このサービスは、認証方法が以前とは異なります。サービスを有効にするには、weblate.machinery.googlev3.GoogleV3Translation
を weblate.machinery.googlev3.GoogleV3Translation
に追加し、次の項目を設定します
ロケーション の設定に失敗した場合は、MT_GOOGLE_LOCATION
も指定してください。
Microsoft Cognitive Services Translator
バージョン 2.10 で追加.
Cognitive Services のひとつとして Azure portal でマイクロソフトが提供する機械翻訳サービス。
Weblate は Translator API V3 を実装しています。
このサービスを有効にするには、weblate.machinery.microsoft.MicrosoftCognitiveTranslation
を MT_SERVICES
に追加し、MT_MICROSOFT_COGNITIVE_KEY
を設定します。
Translator Text API V2
Translator API V2 で使用するキーは、API 3 にも使用できます。
Translator Text API V3
Azure ポータルに登録して、そこで取得したキーを使用します。新しい Azure キーを使用する場合は、サービスの言語に対して MT_MICROSOFT_REGION
の設定も必要です。
Microsoft Terminology Service
バージョン 2.19 で追加.
The Microsoft Terminology Service API を使用すると、Web サービスを使用して、言語ポータルで使用できる用語、定義、およびユーザー インターフェイス(UI)文字列にプログラムからアクセスできます。
このサービスを有効にするには、weblate.machinery.microsoftterminology.MicrosoftTerminologyService
を MT_SERVICES
に追加します。
ModernMT
バージョン 4.2 で追加.
このサービスを有効にするには、weblate.machinery.modernmt.ModernMTTranslation
を:setting:MT_SERVICES に追加し、MT_MODERNMT_KEY
を設定します。
MyMemory
大量の翻訳メモリと機械翻訳。
現在、無料の匿名使用での制限は、100 リクエスト / 日。MT_MYMEMORY_EMAIL
に連絡先のメールアドレスを指定した場合の制限は、1000 リクエスト / 日。追加は、応相談。
このサービスを有効にするには、weblate.machinery.mymemory.MyMemoryTranslation
を MT_SERVICES
に追加し、MT_SERVICES
を設定します。
NetEase Sight API machine translation
バージョン 3.3 で追加.
NetEase が提供する機械翻訳サービス。
このサービスは API を使用するので、NetEase からキーとシークレットの取得が必要です。
このサービスを有効にするには、MT_SERVICES
に weblate.machinery.youdao.NeteaseSightTranslation
を追加し、MT_NETEASE_KEY
と MT_NETEASE_SECRET
を設定します。
tmserver
Translate-toolkit に付属したサーバーを使用して、独自の翻訳メモリ サーバーを実行し、Weblate とやり取りできます。また、tmserver の拡張版である amaGama サーバーでも使用できます。
まず、翻訳メモリにデータをインポートする:
2. Turn on this service by adding weblate.machinery.tmserver.TMServerTranslation
to
MT_SERVICES
.
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
tmserver を起動して、要求をリッスンする:
tmserver -d /var/lib/tm/db
Weblate と通信するように設定する:
MT_TMSERVER = "http://localhost:8888/tmserver/"
Yandex 翻訳
Yandex が提供する機械翻訳サービス。
このサービスは Translation API を使用するので、Yandex から API キーの取得が必要です。
このサービスを有効にするには、weblate.machinery.yandex.YandexTranslation
を MT_SERVICES
に追加し、MT_YANDEX_KEY
を設定します。
Youdao Zhiyun API 機械翻訳
バージョン 3.2 で追加.
Youdao が提供する機械翻訳サービス。
このサービスは API を使用するので、Youdao から ID と API キーの取得が必要です。
このサービスを有効にするには、MT_SERVICES
に weblate.machinery.youdao.YoudaoTranslation
を追加し、MT_YOUDAO_ID
と MT_YOUDAO_SECRET
を設定します。
Weblate
Weblate は、機械翻訳のソースにもなります。これは Woosh フル テキスト エンジンに基づき、完全一致と不完全一致の両方を提供します。
このサービスを有効にするには、weblate.machinery.weblatetm.WeblateTranslation
を MT_SERVICES
に追加します。
Weblate 翻訳メモリ
バージョン 2.20 で追加.
翻訳メモリ は、機械翻訳の候補のソースとしても使用できます。
このサービスを有効にするには、weblate.memory.machine.WeblateMemory
を MT_SERVICES
に追加します。このサービスは、デフォルトで有効です。
SAP Translation Hub
SAP が提供する機械翻訳サービス。
このサービスを使用するには、SAP アカウント(および SAP Cloud Platform で有効な SAP Translation Hub)が必要です。
このサービスを有効にするには、weblate.machinery.saptranslationhub.SAPTranslationHub
を MT_SERVICES
に追加して、サンドボックスまたは運用環境 API に適切なアクセス権を設定します。
注釈
サンドボックス API にアクセスするには、MT_SAP_BASE_URL
および MT_SAP_SANDBOX_APIKEY
の設定が必要です。
productive API にアクセスするには、MT_SAP_BASE_URL
、MT_SAP_USERNAME
、 MT_SAP_PASSWORD
の設定が必要です。
カスタム機械翻訳
また、数行の Python コードを使用して、独自の機械翻訳サービスを実装できます。Python モジュール dictionary
を使用して、言語の固定リストでの機械翻訳を実装する例:
#
# Copyright © 2012–2022 Michal Čihař <michal@cihar.com>
#
# This file is part of Weblate <https://weblate.org/>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
"""Machine translation example."""
import dictionary
from weblate.machinery.base import 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,
search: bool,
threshold: int = 75,
):
"""Return tuple with translations."""
for t in dictionary.translate(text):
yield {"text": t, "quality": 100, "service": self.name, "source": text}
独自のクラス一覧を MT_SERVICES
に設定すると、Weblate は設定したクラスの使用を開始します。