Настройка автоматических предложений#
Изменено в версии 4.13: До Weblate 4.13 службы настраивались в Конфигурация.
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.
Службы переводят с исходного языка, как настроено в Настройки компонента, см. Исходный язык.
См.также
Amagama#
- Идентификатор службы:
amagama- Конфигурация:
У этого сервиса нет конфигурации.
Специальная установка tmserver, запущенная авторами Virtaal.
См.также
Apertium APy#
- Идентификатор службы:
apertium-apy- Конфигурация:
urlURL-адрес API
Свободная платформа ПО машинного перевода, обеспечивающая переводы на ограниченный набор языков.
Рекомендуемый способ использования Apertium — запуск собственного сервера Apertium-APy.
См.также
AWS#
Добавлено в версии 3.1.
- Идентификатор службы:
aws- Конфигурация:
keyИдентификатор (ID) ключа доступа
secretСекретный ключ API
regionНазвание региона
Amazon Translate — это сервис машинного перевода при помощи нейронных сетей для перевода текста на английский язык и с английского языка на широкое множество поддерживаемых языков.
См.также
Baidu#
Добавлено в версии 3.2.
- Идентификатор службы:
baidu- Конфигурация:
keyИдентификатор (ID) клиента
secretСекрет клиента
Сервис машинного перевода, предоставляемый Baidu.
Этот сервис использует API, и чтобы его использовать, вам нужно получить от Baidu идентификатор и ключ API.
См.также
DeepL#
- Идентификатор службы:
deepl- Конфигурация:
urlURL-адрес API
keyAPI-ключ
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; если нет, попробуйте остальные три варианта.
Weblate supports DeepL formality, it will choose matching one based on the
language (for example, there is de@formal and de@informal).
См.также
Glosbe#
- Идентификатор службы:
glosbe- Конфигурация:
У этого сервиса нет конфигурации.
Бесплатный словарь и память переводов для почти всех живых языков.
API можно использовать бесплатно, но использование переводов зависит от лицензии используемого источника данных. Для борьбы со злоупотреблениями существует ограничение на количество вызовов API, которое можно выполнить с одного IP в течение установленного периода времени.
См.также
Google Переводчик#
- Идентификатор службы:
google-translate- Конфигурация:
keyAPI-ключ
Сервис машинного перевода, предоставляемый Google.
Этот сервис использует API Переводчика Google, поэтому вам нужно получить ключ API и включить тарифный план в консоли Google API.
См.также
API v3 Google Переводчика#
- Идентификатор службы:
google-translate-api-v3- Конфигурация:
credentialsИнформация учётной записи сервиса Google Переводчик
projectПроект Google Переводчик
locationРасположение Google Переводчика
Сервис машинного перевода, предоставляемый облачными сервисами Google Cloud.
LibreTranslate#
Добавлено в версии 4.7.1.
- Идентификатор службы:
libretranslate- Конфигурация:
urlURL-адрес API
keyAPI-ключ
LibreTranslate - это бесплатная служба машинного перевода с открытым исходным кодом. Публичный экземпляр требует API-ключа, но LibreTranslate может быть размещён самостоятельно, и есть несколько зеркал, доступных для бесплатного использования API.
https://libretranslate.com/(официальный публичный экземпляр)Для использования вне сайта нужен ключ API.
Microsoft Terminology (Терминология Майкрософт)#
- Идентификатор службы:
microsoft-terminology- Конфигурация:
У этого сервиса нет конфигурации.
API терминологической службы Майкрософт позволяет программно получать доступ к терминологии, определениям и строкам пользовательского интерфейса (UI), доступным на языковом портале, через веб-сервис.
Microsoft Translator#
- Идентификатор службы:
microsoft-translator- Конфигурация:
keyAPI-ключ
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 US Government cloudendpoint_urlURL-адрес службы аутентификации
Региональный или многосервисный можно указать с помощью поля «регион» ниже.
Доступные варианты:
api.cognitive.microsoft.com– Глобальныйapi.cognitive.azure.cn– Китайapi.cognitive.microsoft.us– Azure US Government cloudregionРегион службы аутентификации
Сервис машинного перевода, предоставляемый Microsoft на портале Azure в качестве одного из сервисов Cognitive Services.
Weblate реализует API переводчика версии V3.
API переводчика текста версии V2#
Ключ, который вы используете для API переводчика версии V2, можно использовать с API версии 3.
API переводчика текста версии V3#
Вам необходимо зарегистрироваться на портале Azure и использовать полученный там ключ. С новыми ключами Azure вам также потребуется установить параметр region в локаль вашего сервиса.
Подсказка
Для Azure China используйте, пожалуйста, свою конечную точку на портале Azure Portal.
ModernMT#
Добавлено в версии 4.2.
- Идентификатор службы:
modernmt- Конфигурация:
urlURL-адрес API
keyAPI-ключ
См.также
MyMemory#
- Идентификатор службы:
mymemory- Конфигурация:
emailЭл. почта для связи
usernameИмя пользователя
keyAPI-ключ
Огромная память переводов с машинным переводом.
Бесплатное анонимное использование в настоящее время ограничено 100 запросами в день, или 1000 запросами в день при указании контактного адреса электронной почты в параметре email. Также вы можете запросить увеличение лимитов.
См.также
NetEase Sight#
Добавлено в версии 3.3.
- Идентификатор службы:
netease-sight- Конфигурация:
keyИдентификатор (ID) клиента
secretСекрет клиента
Сервис машинного перевода, предоставляемый NetEase.
Этот сервис использует API, поэтому вам необходимо получить от NetEase ключ и секрет.
См.также
SAP Translation Hub#
- Идентификатор службы:
sap-translation-hub- Конфигурация:
urlURL-адрес API
keyAPI-ключ
usernameИмя пользователя SAP
passwordПароль SAP
enable_mtВключить машинный перевод
domainДомен перевода
Идентификатор домена перевода, например: BC. Если вы не укажете домен, метод будет искать переводы во всех доступных доменах.
Сервис машинного перевода, предоставляемый SAP.
Для использования этой службы вам необходимо иметь учётную запись SAP (и иметь SAP Translation Hub включённым в облачной платформе SAP).
Вы также можете указать, следует ли использовать службы машинного перевода в дополнение к базе данных терминов.
Примечание
Для доступа к API Sandbox необходимо задать параметры url и key.
Для доступа к API Productive, вам необходимо задать url, username и password.
tmserver#
- Идентификатор службы:
tmserver- Конфигурация:
urlURL-адрес 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
Настройте Weblate на взаимодействие с ним, URL-адрес по умолчанию —
http://localhost:8888/tmserver/.
IBM Watson Language Translator#
- Идентификатор службы:
ibm- Конфигурация:
urlURL-адрес API
keyAPI-ключ
IBM Watson Language Translator translates text from one language to another. The service offers multiple domain-specific models.
См.также
Weblate#
- Идентификатор службы:
weblate- Конфигурация:
У этого сервиса нет конфигурации.
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#
- Идентификатор службы:
weblate-translation-memory- Конфигурация:
У этого сервиса нет конфигурации.
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- Конфигурация:
keyAPI-ключ
Сервис машинного перевода, предоставляемый Яндексом.
Этот сервис использует API переводчика, поэтому вам необходимо получить от Яндекса ключ API.
См.также
Youdao Zhiyun#
Добавлено в версии 3.2.
- Идентификатор службы:
youdao-zhiyun- Конфигурация:
keyИдентификатор (ID) клиента
secretСекрет клиента
Сервис машинного перевода, предоставляемый Youdao.
Этот сервис использует API, поэтому вам необходимо получить от Youdao идентификатор и ключ API.
Пользовательский машинный перевод#
Также вы можете реализовать собственные сервисы машинного перевода, написав всего несколько строк кода на Python. В этом примере реализован машинный перевод на фиксированный список языков через модуль Python dictionary:
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""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}
Вы можете добавить свой класс в WEBLATE_MACHINERY и Weblate начнёт его использовать.