Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ML Services
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Translate
  • Начало работы
    • Обзор
    • Поддерживаемые языки
    • Глоссарии
    • Поддержка глоссариев
    • Перевод специальных символов и HTML-разметки
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Аудитные логи Audit Trails
  1. Концепции
  2. Перевод специальных символов и HTML-разметки

Перевод специальных символов и HTML-разметки

Статья создана
Yandex Cloud
Обновлена 10 марта 2025 г.

API Translate возвращает тело ответа в формате JSON. Поэтому при переводе текста, который содержит HTML-разметку и другие специальные символы, некоторые из этих символов могут быть конвертированы в юникод. Например, чтобы кавычка (") не означала конец текста, она заменяется на последовательность из шести символов — \u0022.

Если отправить модели следующий запрос:

{
    "targetLanguageCode": "en",
    "format": "HTML",
    "texts": ["<b>Дорогие коллеги!</b> Поздравляю вас с праздником!"]
}

В ответе вернется результат с конвертированными символами:

{
  "translations": [
    {
      "text": "\u003cb\u003eDear colleagues!\u003c/b\u003e I wish you a happy holiday!",
      "detectedLanguageCode": "ru"
    }
  ]
}

Чтобы получить текст с нужной разметкой, файл JSON необходимо преобразовать с помощью функции нужного языка или любого другого специализированного инструмента. Пример такого преобразования на языке Python с помощью библиотеки requests:

import requests

IAM_TOKEN = '<IAM-токен>'
folder_id = '<идентификатор_каталога>'
target_language = 'en'
texts = ["<b>Дорогие коллеги!</b> Поздравляю вас с праздником!"]

body = {
    "targetLanguageCode": target_language,
    "texts": texts,
    "folderId": folder_id,
}

headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer {0}".format(IAM_TOKEN)
}

response = requests.post('https://translate.api.cloud.yandex.net/translate/v2/translate',
    json = body,
    headers = headers
)

body_dict = response.json()
print(body_dict['translations'])

Результат:

[{'text': '<b>Dear colleagues!</b> I wish you a happy holiday!', 'detectedLanguageCode': 'ru'}]

Была ли статья полезна?

Предыдущая
Поддержка глоссариев
Следующая
Квоты и лимиты
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»