Configuring automatic suggestions

Geändert in Version 4.13: Prior to Weblate 4.13, the services were configured in the Konfiguration.

The support for several machine translation and translation memory services is built-in. Each service can be turned on by the administrator for whole site or at the project settings:

../_images/project-machinery.png

Bemerkung

They come subject to their terms of use, so ensure you are allowed to use them how you want.

The services translate from the source language as configured at Component configuration, see Ausgangssprache.

Amagama

Dienst-ID

amagama

Konfiguration

This service has no configuration.

Special installation of tmserver run by the authors of Virtaal.

Apertium APy

Dienst-ID

apertium-apy

Konfiguration

url

API-URL

A libre software machine translation platform providing translations to a limited set of languages.

The recommended way to use Apertium is to run your own Apertium-APy server.

AWS

Neu in Version 3.1.

Dienst-ID

aws

Konfiguration

key

Zugangsschlüssel-ID

secret

Geheimer API-Schlüssel

region

Name der Region

Amazon Translate is a neural machine translation service for translating text to and from English across a breadth of supported languages.

Baidu

Neu in Version 3.2.

Dienst-ID

baidu

Konfiguration

key

Client-ID

secret

Client-Geheimnis

Machine translation service provided by Baidu.

This service uses an API and you need to obtain an ID and API key from Baidu to use it.

Siehe auch

Baidu Translate API

DeepL

Neu in Version 2.20.

Dienst-ID

deepl

Konfiguration

url

API-URL

key

API-Schlüssel

DeepL is paid service providing good machine translation for a few languages. You need to purchase DeepL API subscription or you can use legacy DeepL Pro (classic) plan.

API-URL zur Verwendung mit dem DeepL-Dienst. Zum Zeitpunkt des Schreibens gibt es die v1-API sowie eine kostenlose und eine kostenpflichtige Version der v2-API.

https://api.deepl.com/v2/ (Voreinstellung in Weblate)

Ist für die API-Nutzung des kostenpflichtigen Angebots gedacht, und das Abonnement ist nutzungsabhängig.

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

Ist für die API-Nutzung des kostenlosen Angebots gedacht, und das Abonnement ist nutzungsabhängig.

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

Ist für CAT-Tools gedacht und kann mit einem Benutzerabonnement verwendet werden.

Previously Weblate was classified as a CAT tool by DeepL, so it was supposed to use the v1 API, but now is supposed to use the v2 API. Therefore it defaults to v2, and you can change it to v1 in case you have an existing CAT subscription and want Weblate to use that.

Am einfachsten finden Sie dies heraus, indem Sie eine URL wie die folgende in Ihrem Browser öffnen:

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

Ersetzen Sie die XXX durch Ihren auth_key. Wenn Sie ein JSON-Objekt erhalten, das „Bonjour“ enthält, haben Sie die richtige URL; wenn nicht, probieren Sie die anderen drei aus.

Glosbe

Dienst-ID

glosbe

Konfiguration

This service has no configuration.

Free dictionary and translation memory for almost every living language.

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.

Siehe auch

Glosbe website

Google Translate

Dienst-ID

google-translate

Konfiguration

key

API-Schlüssel

Maschineller Übersetzungsdienst von Google.

This service uses the Google Translation API, and you need to obtain an API key and turn on billing in the Google API console.

Google Translate-API v3

Dienst-ID

google-translate-api-v3

Konfiguration

credentials

Google Translate Kontoinformationen

project

Google Translate-Projekt

location

Google Translate-Gebiet

Maschineller Übersetzungsdienst, der von Google Cloud-Diensten bereitgestellt wird.

LibreTranslate

Neu in Version 4.7.1.

Dienst-ID

libretranslate

Konfiguration

url

API-URL

key

API-Schlüssel

LibreTranslate ist ein freier und quelloffener Dienst für maschinelle Übersetzungen. Die öffentliche Instanz erfordert einen API-Schlüssel, aber LibreTranslate kann selbst gehostet werden, und es gibt mehrere Mirrors, welche die API kostenlos nutzen.

https://libretranslate.com/ (offizielle öffentliche Instanz)

Für die Nutzung außerhalb der Website ist ein API-Schlüssel erforderlich.

Microsoft Terminology

Neu in Version 2.19.

Dienst-ID

microsoft-terminology

Konfiguration

This service has no configuration.

The Microsoft Terminology Service API allows you to programmatically access the terminology, definitions and user interface (UI) strings available in the Language Portal through a web service.

Microsoft Translator

Neu in Version 2.10.

Dienst-ID

microsoft-translator

Konfiguration

key

API-Schlüssel

endpoint_url

Endpunkt-URL der Anwendung

base_url

Basis-URL der Anwendung

Verfügbare Auswahlmöglichkeiten:

api.cognitive.microsofttranslator.com – Global (non-regional)

api-apc.cognitive.microsofttranslator.com – Asia Pacific

api-eur.cognitive.microsofttranslator.com – Europe

api-nam.cognitive.microsofttranslator.com – North America

api.translator.azure.cn – China

region

Anwendungsgebiet

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

Weblate implements Translator API V3.

Translator Text API V2

The key you use with Translator API V2 can be used with API 3.

Translator Text API V3

You need to register at Azure portal and use the key you obtain there. With new Azure keys, you also need to set region to locale of your service.

Hinweis

For Azure China, please use your endpoint from the Azure Portal.

ModernMT

Neu in Version 4.2.

Dienst-ID

modernmt

Konfiguration

url

API-URL

key

API-Schlüssel

Siehe auch

ModernMT-API,

MyMemory

Dienst-ID

mymemory

Konfiguration

email

Kontakt E-Mail

username

Benutzername

key

API-Schlüssel

Huge translation memory with machine translation.

Free, anonymous usage is currently limited to 100 requests/day, or to 1000 requests/day when you provide a contact e-mail address in email. You can also ask them for more.

Siehe auch

MyMemory website

Netease Sight

Neu in Version 3.3.

Dienst-ID

netease-sight

Konfiguration

key

Client-ID

secret

Client-Geheimnis

Automatische Übersetzung bereitgestellt von NetEase.

Dieser Dienst verwendet eine API, und Sie müssen Schlüssel und Geheimnis von NetEase abrufen.

SAP Translation Hub

Dienst-ID

sap-translation-hub

Konfiguration

url

API-URL

key

API-Schlüssel

username

SAP-Benutzername

password

SAP-Passwort

enable_mt

Maschinelle Übersetzung aktivieren

Machine translation service provided by SAP.

Sie müssen über ein SAP-Benutzerkonto verfügen (und den SAP Translation Hub in der SAP Cloud Platform aktiviert haben), um diesen Dienst nutzen zu können.

You can also configure whether to also use machine translation services, in addition to the term database.

Bemerkung

To access the Sandbox API, you need to set url and key.

To access the productive API, you need to set url, username and password.

tmserver

Dienst-ID

tmserver

Konfiguration

url

API-URL

You can run your own translation memory server by using the one bundled with Translate-toolkit and let Weblate talk to it. You can also use it with an amaGama server, which is an enhanced version of tmserver.

  1. Zuerst sollten Sie einige Daten in den Übersetzungsspeicher importieren:

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. Starten Sie tmserver, um Ihre Anfragen abzuhören:

tmserver -d /var/lib/tm/db
  1. Configure Weblate to talk to it, the default URL is http://localhost:8888/tmserver/.

Weblate

Dienst-ID

weblate

Konfiguration

This service has no configuration.

Weblate machine translation service can provide translations for strings that are already translated inside Weblate. It looks for exact matches in the existing strings.

Weblate-Übersetzungsspeicher

Neu in Version 2.20.

Dienst-ID

weblate-translation-memory

Konfiguration

This service has no configuration.

Use Übersetzungsspeicher as a machine translation service. Any string that has been translated in past (or uploaded to the translation memory) can be translated in this way.

Yandex

Dienst-ID

yandex

Konfiguration

key

API-Schlüssel

Automatische Übersetzung bereitgestellt von Yandex.

This service uses a Translation API, and you need to obtain an API key from Yandex.

Youdao Zhiyun

Neu in Version 3.2.

Dienst-ID

youdao-zhiyun

Konfiguration

key

Client-ID

secret

Client-Geheimnis

Machine translation service provided by Youdao.

This service uses an API, and you need to obtain an ID and an API key from Youdao.

Custom machine translation

You can also implement your own machine translation services using a few lines of Python code. This example implements machine translation in a fixed list of languages using dictionary Python module:

#
# 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}

You can list your own class in WEBLATE_MACHINERY and Weblate will start using that.