Автоматические советы

Изменено в версии 4.13: До Weblate 4.13 службы настраивались в Конфигурация.

Встроена поддержка нескольких сервисов машинного перевода и памяти переводов. Каждый сервис может быть включён администратором для всего сайта (в разделе «Автоматические советы» в Интерфейс управления) или в настройках проекта:

../_images/project-machinery.webp

Примечание

They come subject to their terms of use, so ensure you are allowed to use them how you want. Third-party services can receive source strings, translations, and related context from Weblate.

Службы переводят с исходного языка, как настроено в Настройки компонента, см. Исходный язык.

Автоматические предложения для проекта также можно настроить через API REST для Weblate.

Приоритет услуг машинного перевода и памяти переводов

Совпадения в Память переводов Weblate с 100% оценкой имеют приоритет над сервисами машинного перевода. Если найдено 100% совпадение в памяти переводов, машинный перевод не выполняется. Если происходит несколько 100% совпадений, используется первое, возвращённое базой данных.

Каждый сервис машинного перевода имеет предопределённый максимальный балл, который он может выдать. Использование установленных сервисов перевода упорядочено в соответствии с их максимальным баллом. Для каждой строки с баллом перевода ниже максимального балла сервиса, сервису предлагается создать перевод. Переводы с баллом, превышающим текущий, принимаются.

Исходные строки для машинного перевода

Добавлено в версии 5.11.

Источник исходных строк для всех сторонних служб можно настроить. Это можно использовать для настройки службы с целью достижения наилучших результатов. Доступны следующие варианты:

Automatic selection

Автоматически выбирает лучший исходный язык.

Это поведение по умолчанию.

Исходный язык компонента

Использует исходный язык компонента.

Это было поведение до выпуска 5.11.

Вторичный язык, определённый в проекте или компоненте

Используйте проект Вторичный язык или компонент Вторичный язык.

Возвращается к автоматическому выбору исходного языка, если вторичный язык не настроен.

Контекст перевода LLM

Службы автоматических предложений на основе LLM получают дополнительный контекст о каждой переводимой строке, когда он доступен. Это включает контекст строки или одноязычный ключ, дополнительное пояснение, настроенный перевод на втором языке, информацию о множественном числе, непройденные проверки качества и содержимое заполнителей. Добавленные метаданные используются только для направления сгенерированного предложения; возвращаемый перевод по-прежнему должен сохранять исходные заполнители и разметку.

Alibaba

Добавлено в версии 5.3.

Идентификатор (ID) службы:

alibaba

Максимальный балл:

80

Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

key

Идентификатор (ID) ключа доступа

secret

Ключ доступа (секретный)

region

Идентификатор (ID) региона

Alibaba Translate — это сервис машинного перевода текста при помощи нейронных сетей, поддерживающий до 214 языковых пар.

Anthropic

Добавлено в версии 5.16.

Идентификатор (ID) службы:

anthropic

Максимальный балл:

90

Расширенные возможности:
Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

base_url

URL-адрес Anthropic API

Базовый URL Anthropic API. Оставьте поле пустым, чтобы использовать URL-адрес по умолчанию.

model

Антропическая модель

Доступные варианты:

claude-sonnet-4-5 – Claude Sonnet 4.5 (Рекомендуется)

claude-haiku-4-5 – Claude Haiku 4.5

claude-opus-4-5 – Claude Opus 4.5

custom — Пользовательская модель

persona

Личность переводчика

Опишите личность переводчика, чтобы повысить точность перевода. Например: «Вы разводите белок.»

style

Стиль перевода

Опишите стиль перевода. Например: «Используйте неформальный язык.»

key

API-ключ

custom_model

Название настраиваемой модели

Требуется только в том случае, если для модели установлено значение «Своя модель»

max_tokens

Макс. токенов

Максимальное количество токенов, которые могут быть сгенерированы в ответе.

Выполняет перевод с использованием моделей Anthropic Claude.

API Anthropic предоставляет доступ к семейству моделей Claude, которые известны своими мощными рассуждениями и языковыми возможностями. Для использования этой службы вам нужен ключ API от Anthropic.

Используйте поля личности и стиля для дальнейшей точной настройки переводов. Они будут использованы в подсказке для Claude и позволят вам изменить стиль переводов.

Служба автоматически использует Словарь, см. Словари в автоматических предложениях.

Apertium APy

Идентификатор (ID) службы:

apertium-apy

Максимальный балл:

88

Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

url

URL-адрес API

Свободная платформа ПО машинного перевода, обеспечивающая переводы на ограниченный набор языков.

Рекомендуемый способ использования Apertium — запуск собственного сервера Apertium-APy.

Amazon Translate

Идентификатор (ID) службы:

aws

Максимальный балл:

88

Расширенные возможности:
Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

key

Идентификатор (ID) ключа доступа

secret

Секретный ключ API

region

Название региона

Amazon Translate — это сервис машинного перевода при помощи нейронных сетей для перевода текста на английский язык и с английского языка на широкое множество поддерживаемых языков. Для работы сервиса требуется управляемая политика TranslateFullAccess.

Служба автоматически использует Словарь, см. Словари в автоматических предложениях.

Azure OpenAI

Добавлено в версии 5.8.

Идентификатор (ID) службы:

azure-openai

Максимальный балл:

90

Расширенные возможности:
Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

base_url

URL-адрес API

model

Модель LLM

persona

Личность переводчика

Опишите личность переводчика, чтобы повысить точность перевода. Например: «Вы разводите белок.»

style

Стиль перевода

Опишите стиль перевода. Например: «Используйте неформальный язык.»

key

API-ключ

azure_endpoint

Конечный URL приложения Azure

URL конечной точки экземпляра, например: https://my-instance.openai.azure.com.

deployment

Развёртывание Azure OpenAI

Уникальное имя развёртывания модели.

Выполняет перевод с помощью OpenAI, размещенного на Azure.

См. также

OpenAI

Baidu

Идентификатор (ID) службы:

baidu

Максимальный балл:

90

Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

key

Идентификатор (ID) клиента

secret

Секрет клиента

Сервис машинного перевода, предоставляемый Baidu.

Этот сервис использует API, и чтобы его использовать, вам нужно получить от Baidu идентификатор и ключ API.

См. также

API перевода Baidu

CyrTranslit

Добавлено в версии 5.7.

Идентификатор (ID) службы:

cyrtranslit

Максимальный балл:

100

Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

Служба машинного перевода с использованием библиотеки Cyrtranslit.

Данный сервис преобразует текст между кириллицей и латиницей для языков, в которых используются обе письменности.

DeepL

Идентификатор (ID) службы:

deepl

Максимальный балл:

91

Расширенные возможности:
Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

url

URL-адрес API

key

API-ключ

formality

Формальность

Использует указанную формальность, если язык не указан как (не)формальный

context

Контекст перевода

Опишите контекст перевода, чтобы повысить точность перевода.

next_gen

Использовать модель следующего поколения

Отдавать предпочтение большим языковым моделям (LLM) следующего поколения, а не классической модели машинного перевода.

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 использовал её.

Weblate поддерживает формальность DeepL, он выберет соответствующий язык в зависимости от языка (например, есть de@formal и de@informal).

The translation context can optionally be specified to improve translations quality. Read more on that in DeepL translation context documentation.

Служба автоматически использует Словарь, см. Словари в автоматических предложениях.

Glosbe

Идентификатор (ID) службы:

glosbe

Максимальный балл:

90

Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

Бесплатный словарь и память переводов для почти всех живых языков.

API можно использовать бесплатно, но использование переводов зависит от лицензии используемого источника данных. Для борьбы со злоупотреблениями существует ограничение на количество вызовов API, которое можно выполнить с одного IP в течение установленного периода времени.

См. также

Веб-сайт Glosbe

Google Cloud Translation Basic

Идентификатор (ID) службы:

google-translate

Максимальный балл:

90

Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

key

API-ключ

Служба машинного перевода, предоставляемая сервисами Google Cloud.

Этот сервис использует API v2 Переводчика Google, поэтому вам нужно получить ключ API и включить тарифный план в консоли Google API.

Расширенный облачный перевод Google

Идентификатор (ID) службы:

google-translate-api-v3

Максимальный балл:

90

Расширенные возможности:
Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

credentials

Информация учётной записи сервиса Google Переводчик

Введите ключ JSON для учётной записи службы.

project

Проект Google Переводчик

Введите цифровой или буквенно-цифровой идентификатор вашего проекта Google Cloud.

location

Расположение Google Переводчика

Выберите регион перевода Google Cloud, который используется для проекта Google Cloud, или находится ближе всего к вам.

bucket_name

Название Google Storage Bucket

Введите имя хранилища Google Cloud Storage, которое используется для хранения файлов словаря.

Служба машинного перевода, предоставляемая сервисами Google Cloud.

Эта служба использует Google Translation API v3, и для доступа к ней вам потребуются учётные данные в формате JSON.

Чтобы использовать эту службу, сначала необходимо выполнить следующие шаги:

  1. Выберите или создайте проект Cloud Platform.

  2. Включите биллинг для вашего проекта.

  3. Включите Cloud Translation.

  4. Авторизация

При желании вы можете настроить службу на использование Словарь, настроив Bucket:

  1. Создайте корзину Google Cloud.

  2. Установите расположение корзины в «us-central1».

  3. Предоставьте разрешение „Storage Admin“ сервисной учётной записи.

Переводчик языков IBM Watson

Удалено в версии 5.13.1: Эта служба была прекращена поставщиком с 10 декабря 2024 года.

LibreTranslate

Добавлено в версии 4.7.1.

Идентификатор (ID) службы:

libretranslate

Максимальный балл:

89

Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

url

URL-адрес API

key

API-ключ

LibreTranslate - это бесплатная служба машинного перевода с открытым исходным кодом. Публичный экземпляр требует API-ключа, но LibreTranslate может быть размещён самостоятельно, и есть несколько зеркал, доступных для бесплатного использования API.

https://libretranslate.com/ (официальный публичный экземпляр)

Для использования вне сайта нужен ключ API.

LTEngine

Добавлено в версии 5.17.1.

Идентификатор (ID) службы:

ltengine

Максимальный балл:

89

Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

url

URL-адрес API

key

API-ключ

LTEngine предоставляет локальный API, совместимый с LibreTranslate, на основе больших языковых моделей. Для многих установок Weblate собственные службы LLM, такие как Ollama, могут подходить лучше, поскольку Weblate может отправлять контекст перевода непосредственно модели. Используйте LTEngine, когда вам конкретно нужен его локальный движок перевода или будущие улучшения перевода LTEngine.

Azure AI Translator

Идентификатор (ID) службы:

microsoft-translator

Максимальный балл:

90

Расширенные возможности:
Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

key

API-ключ

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 для государственных организаций США

endpoint_url

URL-адрес службы авторизации

Региональный или многосервисный можно указать с помощью поля «регион» ниже.

Доступные варианты:

api.cognitive.microsoft.com – Глобальный

api.cognitive.azure.cn – Китай

api.cognitive.microsoft.us — облако Azure для государственных организаций США

region

Регион службы авторизации

category

Категория

Укажите настраиваемый идентификатор системной категории, чтобы использовать его вместо общего.

Сервис машинного перевода, предоставляемый 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.

Идентификатор (ID) службы:

modernmt

Максимальный балл:

90

Расширенные возможности:
Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

url

URL-адрес API

key

API-ключ

context_vector

Вектор контекста

Разделённый запятыми список заметок «идентификатор»:«вес». Например: 1234:0.123,4567:0.456

Служба автоматически использует Словарь, см. Словари в автоматических предложениях.

См. также

ModernMT API

MyMemory

Идентификатор (ID) службы:

mymemory

Максимальный балл:

100

Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

email

Эл. почта для связи

username

Имя пользователя

key

API-ключ

Огромная память переводов с машинным переводом.

Бесплатное анонимное использование в настоящее время ограничено 100 запросами в день, или 1000 запросами в день при указании контактного адреса электронной почты в параметре email. Также вы можете запросить увеличение лимитов.

См. также

Веб-сайт MyMemory

NetEase Sight

Идентификатор (ID) службы:

netease-sight

Максимальный балл:

90

Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

key

Идентификатор (ID) клиента

secret

Секрет клиента

Сервис машинного перевода, предоставляемый NetEase.

Этот сервис использует API, поэтому вам необходимо получить от NetEase ключ и секрет.

Ollama

Добавлено в версии 5.15.

Идентификатор (ID) службы:

ollama

Максимальный балл:

90

Расширенные возможности:
Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

base_url

URL-адрес API

Базовый URL-адрес API Ollama, по умолчанию localhost и порт 11434.

model

Модель Ollama

Название модели, описанной в каталоге Ollama.

persona

Личность переводчика

Опишите личность переводчика, чтобы повысить точность перевода. Например: «Вы разводите белок.»

style

Стиль перевода

Опишите стиль перевода. Например: «Используйте неформальный язык.»

Выполняет перевод с использованием моделей Ollama.

API Ollama позволяет использовать модели с открытым исходным кодом для переводов, установленные локально или доступные удалённо через службу Ollama. Обратите внимание, что перед настройкой ваших моделей у вас должны быть установлены Ollama и загружены модели, которые вы хотите использовать.

Используйте поля личности и стиля для дальнейшей точной настройки переводов. Они будут использованы в подсказке для Ollama и позволят вам изменить стиль переводов.

Служба автоматически использует Словарь, см. Словари в автоматических предложениях.

См. также

OpenAI

Добавлено в версии 5.3.

Идентификатор (ID) службы:

openai

Максимальный балл:

90

Расширенные возможности:
Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

base_url

Базовый URL API OpenAI

Базовый URL API OpenAI, если он отличается от URL OpenAI по умолчанию

model

Модель OpenAI

Доступные варианты:

auto – Автоматический выбор

gpt-5-nano – GPT-5-nano

gpt-5-mini – GPT-5-mini

gpt-5.2 – GPT-5.2

gpt-5.1 – GPT-5.1

gpt-5 – GPT-5

gpt-4.1-nano – GPT-4.1-nano

gpt-4.1-mini – GPT-4.1-mini

gpt-4.1 – GPT-4.1

gpt-4o-mini – GPT-4o mini

gpt-4o – GPT-4o

o3-mini – o3-mini

o3 — o3

o1-mini – o1-mini

o1 — o1

o1-pro – o1-pro

custom — Пользовательская модель

persona

Личность переводчика

Опишите личность переводчика, чтобы повысить точность перевода. Например: «Вы разводите белок.»

style

Стиль перевода

Опишите стиль перевода. Например: «Используйте неформальный язык.»

key

API-ключ

custom_model

Название настраиваемой модели

Требуется только в том случае, если для модели установлено значение «Своя модель»

Выполняет перевод с помощью OpenAI.

API OpenAI поддерживается разнообразным набором моделей с разными возможностями и ценовыми категориями. Автоматический выбор выбирает лучшую доступную модель, но вы можете выбрать конкретную модель, соответствующую вашим потребностям.

Используйте поля личности и стиля для дальнейшей точной настройки переводов. Они будут использованы в подсказке для OpenAI и позволят вам изменить стиль переводов.

Служба автоматически использует Словарь, см. Словари в автоматических предложениях.

Изменено в версии 5.7: Добавлена поддержка пользовательской модели и базового URL-адреса.

Центр переводов SAP

Идентификатор (ID) службы:

sap-translation-hub

Максимальный балл:

100

Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

url

URL-адрес API

key

API-ключ

username

Имя пользователя SAP

password

Пароль SAP

enable_mt

Включить машинный перевод

domain

Домен перевода

Идентификатор домена перевода, например: BC. Если вы не укажете домен, метод будет искать переводы во всех доступных доменах.

Сервис машинного перевода, предоставляемый SAP.

Для использования этой службы вам необходимо иметь учётную запись SAP (и иметь SAP Translation Hub включённым в облачной платформе SAP).

Вы также можете указать, следует ли использовать службы машинного перевода в дополнение к базе данных терминов.

Примечание

Для доступа к API Sandbox необходимо задать параметры url и key.

Для доступа к API Productive, вам необходимо задать url, username и password.

Systran

Идентификатор (ID) службы:

systran

Максимальный балл:

90

Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

key

API-ключ

Сервис машинного перевода, предоставляемый Systran.

Эта служба использует API, и вам необходимо получить ключ API по адресу <https://translate.systran.net/en/account>.

tmserver

Идентификатор (ID) службы:

tmserver

Максимальный балл:

100

Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

url

URL-адрес API

Вы можете запустить свой собственный сервер памяти переводов, используя протокол tmserver.

  • Оригинальный tmserver был включён в translate-toolkit.

  • Сервер amaGama — это расширенная версия tmserver.

Примечание

В настоящее время, похоже, не существует поддерживаемого сервера для этого.

Weblate

Идентификатор (ID) службы:

weblate

Максимальный балл:

100

Конфигурация:

У этого сервиса нет конфигурации.

Служба машинного перевода Weblate может предоставлять переводы на основе точных совпадений строки с существующими строками в состояниях Переведено, Одобрено или Только для чтения внутри Weblate.

Память переводов Weblate

Идентификатор (ID) службы:

weblate-translation-memory

Максимальный балл:

100

Конфигурация:

У этого сервиса нет конфигурации.

Используйте Память переводов в качестве службы машинного перевода. Любая строка, которая была переведена ранее (или загружена в память переводов), может быть переведена таким образом. Этот источник предложений работает с нечётким сопоставлением.

Примечание

Пересоздание Память переводов снижает возможности этого источника памяти переводов.

Яндекс

Идентификатор (ID) службы:

yandex

Максимальный балл:

90

Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

key

API-ключ

Сервис машинного перевода, предоставляемый Яндексом.

Этот сервис использует API переводчика, поэтому вам необходимо получить от Яндекса ключ API.

Яндекс v2

Добавлено в версии 5.1.

Идентификатор (ID) службы:

yandex-v2

Максимальный балл:

90

Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

key

API-ключ

Сервис машинного перевода, предоставляемый Яндексом.

Этот клиент использует Translation API, и вам необходимо получить ключ API от Яндекс Облака.

Youdao Zhiyun

Идентификатор (ID) службы:

youdao-zhiyun

Максимальный балл:

90

Конфигурация:

source_language

Выбор исходного языка

Доступные варианты:

auto – Автоматический выбор

source – Исходный язык компонента

secondary — Вторичный язык, определённый в проекте или компоненте

key

Идентификатор (ID) клиента

secret

Секрет клиента

Сервис машинного перевода, предоставляемый Youdao.

Этот сервис использует API, поэтому вам необходимо получить от Youdao идентификатор и ключ API.

Пользовательский машинный перевод

Вы также можете реализовать свои собственные сервисы машинного перевода, используя несколько строк кода Python. Поместите код в модуль, который Weblate может импортировать (см. Создание модуля Python или Настройка кода), и добавьте полное имя класса в WEBLATE_MACHINERY.

"""
Machine translation example.

This example uses fictional http://example.com/ service to translate the
strings.
"""

from __future__ import annotations

from typing import TYPE_CHECKING

from weblate.machinery.base import MACHINERY_DEFAULT_THRESHOLD, MachineTranslation

if TYPE_CHECKING:
    from weblate.auth.models import User
    from weblate.machinery.base import DownloadTranslations
    from weblate.trans.models import Unit


class SampleTranslation(MachineTranslation):
    """Sample machine translation interface."""

    name = "Sample"

    def download_languages(self):
        """Return list of languages your machine translation supports."""
        response = self.request("get", "http://example.com/languages")
        return response.json()["languages"]

    def download_translations(
        self,
        source_language,
        target_language,
        text: str,
        unit: Unit | None,
        user: User | None,
        threshold: int = MACHINERY_DEFAULT_THRESHOLD,
    ) -> DownloadTranslations:
        """Return tuple with translations."""
        response = self.request(
            "get",
            "http://example.com/translate",
            params={
                "source_language": source_language,
                "target_language": target_language,
                "text": text,
            },
        )

        for translation in response.json()["translations"]:
            yield {
                "text": translation,
                "quality": 100,
                "service": self.name,
                "source": text,
            }