Машинний переклад
Передбачено вбудовану підтримку декількох служб комп’ютерного перекладу. Цю підтримку може бути увімкнено адміністратором за допомогою параметра MT_SERVICES
для кожної із служб. Переклади регламентуються відповідними умовами використання, тому переконайтеся, що ви зможете використовувати їх у бажаний для вас спосіб.
Початкову мову можна налаштувати у розділі Налаштування проєкту.
amaGama
Особливий екземпляр tmserver, яким керують розробники Virtaal.
Увімкніть цю службу додаванням weblate.machinery.tmserver.AmagamaTranslation
до MT_SERVICES
.
Дивись також
Apertium
Платформа перекладу вільного програмного забезпечення, яка забезпечує переклади обмеженим набором мов.
Рекомендованим способом використання Apertium є запуск вашого власного сервера Apertium-APy.
Увімкніть цю службу додаванням weblate.machinery.apertium.ApertiumAPYTranslation
до MT_SERVICES
і встановіть MT_APERTIUM_APY
.
Дивись також
AWS
Нове в версії 3.1.
Amazon Translate — служба перекладу на основі нейронних машин для перекладу тексту англійською мовою і з англійської мови для декількох підтримуваних мов.
Увімкніть цю службу додаванням
weblate.machinery.aws.AWSTranslation
доMT_SERVICES
.Установіть модуль boto3.
Налаштуйте Weblate.
Програмний інтерфейс комп’ютерного перекладу Baidu
Нове в версії 3.2.
Служба комп’ютерного перекладу, яка надається Baidu.
Ця служба використовує програмний інтерфейс — вам слід отримати у Baidu ідентифікатор і ключ до програмного інтерфейсу, щоб скористатися нею.
Увімкніть цю службу додаванням запису weblate.machinery.baidu.BaiduTranslation
до MT_SERVICES
і встановленням MT_BAIDU_ID
та MT_BAIDU_SECRET
.
Дивись також
MT_BAIDU_ID
, MT_BAIDU_SECRET
Програмний інтерфейс перекладу Baidu
DeepL
Нове в версії 2.20.
DeepL є платною службою, яка надає якісні комп’ютерні переклади декількома мовами. Вам слід придбати передплату на DeepL API або можете скористатися застарілим тарифним планом DeepL Pro (classic).
Увімкніть цю службу додаванням weblate.machinery.deepl.DeepLTranslation
до MT_SERVICES
і встановіть MT_DEEPL_KEY
.
Підказка
Якщо у вас є передплата на інструменти комп’ютерного перекладу, буде зроблено припущення, що ви користуєтеся «v1 API», а не типовим «v2» у Weblate (це, насправді, не версія програмного інтерфейсу у цьому випадку). Якщо ви користуєтеся безкоштовним, а не оплачуваним тарифним планом, вам слід використовувати https://api-free.deepl.com/
, а не https://api.deepl.com/
. Скоригувати значення обох параметрів можна за допомогою MT_DEEPL_API_URL
.
LibreTranslate
Нове в версії 4.7.1.
LibreTranslate — безкоштовна служба комп’ютерного перекладу із відкритим кодом. Для доступу до відкритого екземпляра потрібен ключ до програмного інтерфейсу. Втім, LibreTranslate можна розгорнути на власному сервері. Існує також декілька дзеркал, програмним інтерфейсом яких можна користуватися безкоштовно.
Увімкніть цю службу додаванням weblate.machinery.libretranslate.LibreTranslateTranslation
до MT_SERVICES
і встановіть MT__LIBRETRANSLATE_API_URL
. Якщо для доступу до вашого екземпляра потрібен ключ до програмного інтерфейсу, вам також слід встановити MT_LIBRETRANSLATE_KEY
.
Glosbe
Вільний словник та пам’ять перекладів для майже будь-якої із актуальних мов.
Доступ до програмного інтерфейсу є безплатним, але його прив’язано до використаного ліцензування початкових даних. Кількість викликів з однієї адреси IP обмежено протягом встановленого періоду часу для запобігання зловмисному використанню.
Увімкніть цю службу додаванням weblate.machinery.glosbe.GlosbeTranslation
до MT_SERVICES
.
Дивись також
Перекладач Google
Служба комп’ютерного перекладу, яка надається Google.
Ця служба використовує програмний інтерфейс Перекладача Google — вам слід отримати ключ до програмного інтерфейсу і увімкнути облік у консолі програмного інтерфейсу Google.
Щоб увімкнути цю службу, додайте weblate.machinery.google.GoogleTranslation
до MT_SERVICES
і встановіть MT_GOOGLE_KEY
.
Дивись також
Google Translate API V3 (розширений)
Служба комп’ютерного перекладу, яка надається хмарними службами Google.
Ця служба відрізняється від попередньої тим, що використовує інший спосіб розпізнавання. Щоб увімкнути службу, додайте weblate.machinery.googlev3.GoogleV3Translation
до MT_SERVICES
і встановіть
Якщо не працюватиме location, вам, ймовірно, також слід вказати MT_GOOGLE_LOCATION
.
Когнітивні служби перекладу Microsoft
Нове в версії 2.10.
Служба комп’ютерного перекладу, яка надається Microsoft на порталі Azure як одна з когнітивних служб.
У Weblate реалізовано програмний інтерфейс перекладача версії 3.
Щоб увімкнути цю службу, додайте weblate.machinery.microsoft.MicrosoftCognitiveTranslation
до MT_SERVICES
і встановіть MT_MICROSOFT_COGNITIVE_KEY
.
Текстовий програмний інтерфейс перекладача версії 2
Ключ, яким ви користуєтеся для доступу до програмного інтерфейсу перекладача версії 2, може бути використано і для програмного інтерфейсу версії 3.
Текстовий програмний інтерфейс перекладача версії 3
Вам слід зареєструватися на порталі Azure і скористатися отриманим там ключем. З новими ключами Azure вам також слід встановити MT_MICROSOFT_REGION
у значення локалі вашої служби.
Служба термінології Microsoft
Нове в версії 2.19.
За допомогою програмного інтерфейсу служби термінології Microsoft ви можете програмно отримувати доступ до термінології, визначень та рядків інтерфейсу користувача, які доступні на порталі мов за допомогою вебслужби.
Увімкніть цю службу додаванням weblate.machinery.microsoftterminology.MicrosoftTerminologyService
до MT_SERVICES
.
Дивись також
ModernMT
Нове в версії 4.2.
Увімкніть цю службу додаванням weblate.machinery.modernmt.ModernMTTranslation
до MT_SERVICES
і налаштуйте MT_MODERNMT_KEY
.
Дивись також
Програмний інтерфейс ModernMT, MT_MODERNMT_KEY
, MT_MODERNMT_URL
MyMemory
Величезна пам’ять перекладів із комп’ютерним перекладом.
Вільний анонімний доступ у поточній версії обмежено 100 запитами за день або 1000 запитами за день, якщо ви надасте адресу електронної пошти у MT_MYMEMORY_EMAIL
. Ви також можете попросити власників служби збільшити кількість запитів.
Увімкніть цю службу додаванням weblate.machinery.mymemory.MyMemoryTranslation
до MT_SERVICES
і встановіть MT_MYMEMORY_EMAIL
.
Дивись також
MT_MYMEMORY_EMAIL
, MT_MYMEMORY_USER
, MT_MYMEMORY_KEY
, сайт MyMemory
Програмний інтерфейс комп’ютерного перекладу NetEase Sight
Нове в версії 3.3.
Служба комп’ютерного перекладу, яка надається NetEase.
Ця служба використовує програмний інтерфейс — вам слід отримати ключ і пароль від NetEase.
Увімкніть цю службу додаванням weblate.machinery.youdao.NeteaseSightTranslation
до MT_SERVICES
і встановіть MT_NETEASE_KEY
і MT_NETEASE_SECRET
.
Дивись також
MT_NETEASE_KEY
, MT_NETEASE_SECRET
Платформа перекладу NetEase Sight
tmserver
Ви можете запустити ваш власний сервер пам’яті перекладів скориставшись сервером із Translate-toolkit і повідомивши Weblate, що слід обмінюватися даними з цим сервером. Ви також можете скористатися сервером amaGama, який є удосконаленою версією tmserver.
Спочатку вам варто імпортувати якісь дані до пам’яті перекладів:
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/"
Дивись також
MT_TMSERVER
, tmserver Installing amaGama, Amagama, пам’ять перекладів Amagama
Переклад Yandex
Служба комп’ютерного перекладу, яка надається Yandex.
Ця служба використовує програмний інтерфейс перекладу — вам слід отримати ключ до програмного інтерфейсу від Yandex.
Увімкніть цю службу додаванням weblate.machinery.yandex.YandexTranslation
до MT_SERVICES
і встановіть MT_YANDEX_KEY
.
Дивись також
MT_YANDEX_KEY
, Програмний інтерфейс перекладу Yandex, Yandex.Translate
Програмний інтерфейс комп’ютерного перекладу Youdao Zhiyun
Нове в версії 3.2.
Служба комп’ютерного перекладу, яка надається Youdao.
Ця служба використовує програмний інтерфейс — вам слід отримати у Youdao ідентифікатор і ключ до програмного інтерфейсу, щоб скористатися нею.
Увімкніть цю службу додаванням weblate.machinery.youdao.YoudaoTranslation
до MT_SERVICES
і встановіть 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
Служба комп’ютерного перекладу, яка надається SAP.
Вам знадобиться обліковий запис SAP (і увімкнений концентратор перекладів SAP на «хмарній» платформі SAP), щоб скористатися цією службою.
Увімкніть цю службу додаванням weblate.machinery.saptranslationhub.SAPTranslationHub
до MT_SERVICES
і встановіть відповідний доступ або до програмного інтерфейсу пісочниці, або до промислового програмного інтерфейсу.
Примітка
Щоб отримати доступ до програмного інтерфейсу пісочниці, вам слід встановити MT_SAP_BASE_URL
і MT_SAP_SANDBOX_APIKEY
.
Щоб отримати доступ до програмного інтерфейсу, вам слід встановити MT_SAP_BASE_URL
, MT_SAP_USERNAME
і MT_SAP_PASSWORD
.
Нетиповий комп’ютерний переклад
Ви також можете реалізувати власні служби комп’ютерного перекладу за допомогою декількох рядків коду мовою Python. У цьому прикладі реалізовано комп’ютерний переклад для фіксованого списку мов за допомогою модуля dictionary
Python:
#
# 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 розпочне використовувати його.