Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Translate
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Перевод текста
    • Повышение точности перевода
    • Определение языка текста
    • Получение списка поддерживаемых языков
  • Концепции
    • Обзор
    • Дообучение моделей
    • Поддерживаемые языки
    • Глоссарии
    • Поддержка глоссариев
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • TranslationService
    • REST
      • v2
        • Обработка ошибок
        • Диагностика ошибок
        • Обзор
        • Translation
          • Обзор
          • detectLanguage
          • listLanguages
          • translate
      • v1 (DEPRECATED)
        • Обзор
        • Перевод текста
        • Определение языка текста
        • Список поддерживаемых языков
        • Формат ответа
  • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • Правила до 1 января 2019 года
  • Вопросы и ответы
  1. Начало работы

Как начать работать с Translate

Статья создана
Yandex Cloud
,
улучшена
  • Перед началом
  • Перевести текст с любого языка

В этом разделе вы научитесь переводить текст, используя Translate API.

Перед началом

Чтобы воспользоваться примерами, установите cURL.

Получите данные вашего аккаунта для авторизации:

Аккаунт пользователя на Яндексе
Сервисный аккаунт
Федеративный аккаунт
  1. На странице биллинга убедитесь, что платежный аккаунт находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его.
  2. Получите IAM-токен, необходимый для аутентификации.
  3. Получите идентификатор любого каталога, на который у вашего аккаунта есть роль ai.translate.user или выше.
  1. Выберите способ аутентификации:

    • Получите IAM-токен, используемый в примерах.

    • Создайте API-ключ. Передайте API-ключ в заголовке Authorization в следующем формате:

      Authorization: Api-Key <API-ключ>
      
  2. Назначьте сервисному аккаунту роль ai.translate.user или выше на каталог, в котором он был создан.

    Не указывайте в запросах идентификатор каталога — сервис использует каталог, в котором был создан сервисный аккаунт.

  1. Аутентифицируйтесь в CLI от имени федеративного пользователя.

  2. С помощью CLI получите IAM-токен, необходимый для аутентификации:

    yc iam create-token
    
  3. Получите идентификатор любого каталога, на который у вашего аккаунта есть роль ai.translate.user или выше.

Перевести текст с любого языка

Чтобы перевести текст, передайте его с помощью метода translate:

CLI
Python
PHP

В этом примере показано, как перевести на русский язык две строки с текстом: Hello и World. Язык исходного текста будет определен автоматически.

  1. Создайте файл с телом запроса (например, body.json):

    {
        "folderId": "<идентификатор каталога>",
        "texts": ["Hello", "World"],
        "targetLanguageCode": "ru"
    }
    

    Где:

    • folderId — идентификатор каталога, полученный перед началом работы.
    • texts — текст для перевода в виде списка из строк.
    • targetLanguageCode — язык, на который переводится текст, в формате ISO 639-1. Вы можете узнать код языка вместе со списком поддерживаемых языков.
  2. Передайте файл на перевод, выполнив команду:

    export IAM_TOKEN=<IAM-токен>
    curl --request POST \
      --header "Content-Type: application/json" \
      --header "Authorization: Bearer ${IAM_TOKEN}" \
      --data '@<путь_до_файла_json>' \
      "https://translate.api.cloud.yandex.net/translate/v2/translate"
    

    Где IAM_TOKEN — IAM-токен, полученный перед началом работы.

    В ответе сервис вернет переведенные строки текста:

    {
        "translations": [
            {
            "text": "Привет",
            "detectedLanguageCode": "en"
            },
            {
            "text": "Мир",
            "detectedLanguageCode": "en"
            }
        ]
    }
    

В этом примере показано, как перевести на русский язык две строки с текстом: Hello и World. Язык исходного текста будет определен автоматически.

Создайте файл с телом запроса (например, body.py):

import requests

IAM_TOKEN = '<IAM-токен>'
folder_id = '<идентификатор каталога>'
target_language = 'ru'
texts = ["Hello", "World"]

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
)

print(response.text)

Где:

  • folder_id — идентификатор каталога, полученный перед началом работы.
  • texts — текст для перевода в виде списка из строк.
  • target_language — язык, на который переводится текст, в формате ISO 639-1. Вы можете узнать код языка вместе со списком поддерживаемых языков.
  • IAM_TOKEN — IAM-токен, полученный перед началом работы.

В этом примере показано, как перевести на русский язык две строки с текстом: Hello и World. Язык исходного текста будет определен автоматически.

Создайте файл с телом запроса (например, body.php):

$IAM_TOKEN = '<IAM-токен>';
$folder_id = '<идентификатор каталога>';
$target_language = 'ru';
$texts = ["Hello", "World"];

$url = 'https://translate.api.cloud.yandex.net/translate/v2/translate';

$headers = [
    'Content-Type: application/json',
    "Authorization: Bearer $IAM_TOKEN"
];

$post_data = [
    "targetLanguageCode" => $target_language,
    "texts" => $texts,
    "folderId" => $folder_id,
];

$data_json = json_encode($post_data);

$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_json);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);

$result = curl_exec($curl);

curl_close($curl);

var_dump($result);

Где:

  • folder_id — идентификатор каталога, полученный перед началом работы.
  • texts — текст для перевода в виде списка из строк.
  • target_language — язык, на который переводится текст, в формате ISO 639-1. Вы можете узнать код языка вместе со списком поддерживаемых языков.
  • IAM_TOKEN — IAM-токен, полученный перед началом работы.

Что дальше

  • Узнайте подробнее о сервисе в концепциях
  • Посмотрите другие инструкции
  • Прочитайте про способы аутентификации в API

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

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Перед началом
  • Перевести текст с любого языка