Configuring automatic suggestions
Изменено в версии 4.13: Prior to Weblate 4.13, the services were configured in the Конфигурация.
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:
Примечание
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 Настройки компонента, see Исходный язык.
См.также
Amagama
- Service ID
amagama
- Конфигурация
This service has no configuration.
Special installation of tmserver run by the authors of Virtaal.
См.также
Apertium APy
- Service ID
apertium-apy
- Конфигурация
url
URL для API
Свободная платформа ПО машинного перевода, обеспечивающая переводы на ограниченный набор языков.
Рекомендуемый способ использования Apertium — запуск собственного сервера Apertium-APy.
См.также
AWS
Добавлено в версии 3.1.
- Service ID
aws
- Конфигурация
key
Идентификатор (ID) ключа доступа
secret
Секретный ключ API
region
Имя региона
Amazon Translate — это сервис машинного перевода при помощи нейронных сетей для перевода текста на английский язык и с английского языка на широкое множество поддерживаемых языков.
См.также
Baidu
Добавлено в версии 3.2.
- Service ID
baidu
- Конфигурация
key
Идентификатор (ID) клиента
secret
Секрет клиента
Сервис машинного перевода, предоставляемый Baidu.
Этот сервис использует API, и чтобы его использовать, вам нужно получить от Baidu идентификатор и ключ API.
См.также
DeepL
Добавлено в версии 2.20.
- Service ID
deepl
- Конфигурация
url
URL для API
key
API-ключ
DeepL — это платный сервис, предоставляющий хороший машинный перевод на несколько языков. Вам необходимо приобрести подписку на DeepL API или воспользоваться устаревшим планом DeepL Pro (classic).
URL API для использования с сервисом DeepL. На момент написания статьи существует API вер. 1, а также бесплатная и платная версии API вер. 2.
https://api.deepl.com/v2/
(по умолчанию в Weblate)Предназначена для использования через API на платном тарифном плане, а подписка основана на использовании.
https://api-free.deepl.com/v2/
Предназначена для использования через API на платном тарифном плане, а подписка основана на использовании.
https://api.deepl.com/v1/
Предназначена для CAT-инструментов и может быть использована с подпиской на пользователя.
Ранее Weblate классифицировался DeepL как CAT-инструмент, поэтому предполагалось использовать API версии v1, но теперь предполагается использовать API версии v2. Поэтому по умолчанию параметр имеет значение v2, но вы можете изменить его на v1 в случае, если у вас есть существующая CAT-подписка и вы хотите, чтобы Weblate использовал её.
Самый простой способ узнать, какой из них использовать, - открыть в браузере URL-адрес, подобный следующему:
https://api.deepl.com/v2/translate?text=Hello&target_lang=FR&auth_key=XXX
Замените XXX на ваш auth_key. Если вы получите объект JSON, содержащий «Bonjour», значит у вас правильный URL; если нет, попробуйте остальные три варианта.
См.также
Glosbe
- Service ID
glosbe
- Конфигурация
This service has no configuration.
Бесплатный словарь и память переводов для почти всех живых языков.
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.
См.также
Google Переводчик
- Service ID
google-translate
- Конфигурация
key
API-ключ
Сервис машинного перевода, предоставляемый Google.
Этот сервис использует API Переводчика Google, поэтому вам нужно получить ключ API и включить тарифный план в консоли Google API.
См.также
Google Translate API v3
- Service ID
google-translate-api-v3
- Конфигурация
credentials
Информация учётной записи сервиса Google Translate
project
Проект Google Translate
location
Расположение Google Translate
Сервис машинного перевода, предоставляемый облачными сервисами Google Cloud.
LibreTranslate
Добавлено в версии 4.7.1.
- Service ID
libretranslate
- Конфигурация
url
URL для API
key
API-ключ
LibreTranslate - это бесплатная служба машинного перевода с открытым исходным кодом. Публичный экземпляр требует API-ключа, но LibreTranslate может быть размещён самостоятельно, и есть несколько зеркал, доступных для бесплатного использования API.
https://libretranslate.com/
(официальный публичный экземпляр)Для использования вне сайта нужен ключ API.
Microsoft Terminology
Добавлено в версии 2.19.
- Service ID
microsoft-terminology
- Конфигурация
This service has no configuration.
API терминологической службы Майкрософт позволяет программно получать доступ к терминологии, определениям и строкам пользовательского интерфейса (UI), доступным на языковом портале, через веб-сервис.
Microsoft Translator
Добавлено в версии 2.10.
- Service ID
microsoft-translator
- Конфигурация
key
API-ключ
endpoint_url
Конечный URL приложения
base_url
Базовый URL приложения
Доступные варианты:
api.cognitive.microsofttranslator.com
– Global (non-regional)api-apc.cognitive.microsofttranslator.com
– Asia Pacificapi-eur.cognitive.microsofttranslator.com
– Europeapi-nam.cognitive.microsofttranslator.com
– North Americaapi.translator.azure.cn
– Chinaregion
Регион приложения
Сервис машинного перевода, предоставляемый Microsoft на портале Azure в качестве одного из сервисов Cognitive Services.
Weblate реализует API переводчика версии V3.
API переводчика текста версии V2
Ключ, который вы используете для API переводчика версии V2, можно использовать с API версии 3.
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.
Подсказка
Для Azure China используйте, пожалуйста, свою конечную точку на портале Azure Portal.
ModernMT
Добавлено в версии 4.2.
- Service ID
modernmt
- Конфигурация
url
URL для API
key
API-ключ
См.также
MyMemory
- Service ID
mymemory
- Конфигурация
email
E-mail для контактов
username
Имя пользователя
key
API-ключ
Огромная память переводов с машинным переводом.
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.
См.также
Netease Sight
Добавлено в версии 3.3.
- Service ID
netease-sight
- Конфигурация
key
Идентификатор (ID) клиента
secret
Секрет клиента
Сервис машинного перевода, предоставляемый NetEase.
Этот сервис использует API, поэтому вам необходимо получить от NetEase ключ и секрет.
См.также
SAP Translation Hub
- Service ID
sap-translation-hub
- Конфигурация
url
URL для API
key
API-ключ
username
Имя пользователя SAP
password
Пароль SAP
enable_mt
Включить машинный перевод
Сервис машинного перевода, предоставляемый SAP.
Для использования этой службы вам необходимо иметь учётную запись SAP (и иметь SAP Translation Hub включённым в облачной платформе SAP).
You can also configure whether to also use machine translation services, in addition to the term database.
Примечание
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
- Service ID
tmserver
- Конфигурация
url
URL для API
Вы можете запустить свой собственный сервер памяти переводов, используя сервер, сходящий в поставку с Translate-toolkit, и настроив общение Weblate’а с ним. Также вы можете использовать его с сервером amaGama, который является расширенной версией tmserver’а.
Сперва вам нужно импортировать в память переводов некоторые данные:
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
Configure Weblate to talk to it, the default URL is
http://localhost:8888/tmserver/
.
Weblate
- Service ID
weblate
- Конфигурация
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’а
Добавлено в версии 2.20.
- Service ID
weblate-translation-memory
- Конфигурация
This service has no configuration.
Use Память переводов 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
- Service ID
yandex
- Конфигурация
key
API-ключ
Сервис машинного перевода, предоставляемый Яндексом.
Этот сервис использует API переводчика, поэтому вам необходимо получить от Яндекса ключ API.
Youdao Zhiyun
Добавлено в версии 3.2.
- Service ID
youdao-zhiyun
- Конфигурация
key
Идентификатор (ID) клиента
secret
Секрет клиента
Сервис машинного перевода, предоставляемый Youdao.
Этот сервис использует API, поэтому вам необходимо получить от Youdao идентификатор и ключ API.
Пользовательский машинный перевод
Также вы можете реализовать собственные сервисы машинного перевода, написав всего несколько строк кода на 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}
You can list your own class in WEBLATE_MACHINERY
and Weblate
will start using that.