Машинний переклад

Передбачено вбудовану підтримку декількох служб комп’ютерного перекладу. Цю підтримку може бути увімкнено адміністратором за допомогою параметра 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 — служба перекладу на основі нейронних машин для перекладу тексту англійською мовою і з англійської мови для декількох підтримуваних мов.

1. Turn on this service by adding weblate.machinery.aws.AWSTranslation to MT_SERVICES.

  1. Встановіть модуль boto3.

  2. Налаштуйте Weblate.

Програмний інтерфейс комп’ютерного перекладу Baidu

Нове в версії 3.2.

Служба комп’ютерного перекладу, яка надається Baidu.

Ця служба використовує програмний інтерфейс — вам слід отримати у Baidu ідентифікатор і ключ до програмного інтерфейсу, щоб скористатися нею.

Увімкніть цю службу додаванням запису weblate.machinery.baidu.BaiduTranslation до MT_SERVICES і встановленням MT_BAIDU_ID та MT_BAIDU_SECRET.

DeepL

Нове в версії 2.20.

DeepL є платною службою, яка надає якісні комп’ютерні переклади декількома мовами. Вам слід придбати передплату на DeepL API або можете скористатися застарілим тарифним планом DeepL Pro (classic).

Увімкніть цю службу додаванням weblate.machinery.deepl.DeepLTranslation до MT_SERVICES і встановіть MT_DEEPL_KEY.

Підказка

Якщо у вас є передплата на інструменти комп’ютерного перекладу, буде зроблено припущення, що ви користуєтеся «v1 API», а не типовим «v2» у Weblate (це, насправді, не версія програмного інтерфейсу у цьому випадку). Ви можете перемкнути версію програмного інтерфейсу за допомогою параметра MT_DEEPL_API_VERSION.

Glosbe

Вільний словник та пам’ять перекладів для майже будь-якої із актуальних мов.

Доступ до програмного інтерфейсу є безкоштовним, але його прив’язано до використаного ліцензування початкових даних. Кількість викликів з однієї адреси IP обмежено протягом встановленого періоду часу для запобігання зловмисному використанню.

Увімкніть цю службу додаванням weblate.machinery.glosbe.GlosbeTranslation до MT_SERVICES.

Дивись також

Сайт Glosbe

Перекладач 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.

MyMemory

Величезна пам’ять перекладів із комп’ютерним перекладом.

Вільний анонімний доступ у поточній версії обмежено 100 запитами за день або 1000 запитами за день, якщо ви надасте адресу електронної пошти у MT_MYMEMORY_EMAIL. Ви також можете попросити власників служби збільшити кількість запитів.

Увімкніть цю службу додаванням weblate.machinery.mymemory.MyMemoryTranslation до MT_SERVICES і встановіть MT_MYMEMORY_EMAIL.

Програмний інтерфейс комп’ютерного перекладу NetEase Sight

Нове в версії 3.3.

Служба комп’ютерного перекладу, яка надається NetEase.

Ця служба використовує програмний інтерфейс — вам слід отримати ключ і пароль від NetEase.

Увімкніть цю службу додаванням weblate.machinery.youdao.NeteaseSightTranslation до MT_SERVICES і встановіть MT_NETEASE_KEY і MT_NETEASE_SECRET.

tmserver

Ви можете запустити ваш власний сервер пам’яті перекладів скориставшись сервером із Translate-toolkit і повідомивши Weblate, що слід обмінюватися даними з цим сервером. Ви також можете скористатися сервером amaGama, який є удосконаленою версією tmserver.

  1. Спочатку вам варто імпортувати якісь дані до пам’яті перекладів:

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
  1. Запустіть tmserver для очікування на ваші запити:

tmserver -d /var/lib/tm/db
  1. Налаштуйте Weblate на обмін даними зі службою:

MT_TMSERVER = "http://localhost:8888/tmserver/"

Переклад Yandex

Служба комп’ютерного перекладу, яка надається Yandex.

Ця служба використовує програмний інтерфейс перекладу — вам слід отримати ключ до програмного інтерфейсу від Yandex.

Увімкніть цю службу додаванням weblate.machinery.yandex.YandexTranslation до MT_SERVICES і встановіть MT_YANDEX_KEY.

Програмний інтерфейс комп’ютерного перекладу 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 - 2021 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 розпочне використовувати його.