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

В этой статье:

  • Перед началом работы
  • Распознать язык фразы
  • Указать наиболее вероятные языки
  1. Пошаговые инструкции
  2. Определение языка текста

Определение языка текста с помощью Translate

Статья создана
Yandex Cloud
Обновлена 2 апреля 2025 г.
  • Перед началом работы
  • Распознать язык фразы
  • Указать наиболее вероятные языки

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

Примечание

Метод detectLanguage возвращает код языка заданного текста. Если определить язык невозможно, поле кода языка в ответе будет пустым.

Перед началом работыПеред началом работы

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

Примеры ниже разработаны для выполнения в операционных системах MacOS и Linux. Чтобы выполнить их в системе Windows, ознакомьтесь с особенностями работы с Bash в Microsoft Windows.

Для аутентификации от имени сервисного аккаунта вы можете использовать API-ключ или IAM-токен, для аутентификации от имени пользовательского аккаунта — только IAM-токен.

Получите данные вашего аккаунта для аутентификации в API Translate:

API-ключ
IAM-токен
  1. Если у вас еще нет сервисного аккаунта, создайте его.

  2. Назначьте сервисному аккаунту роль ai.translate.user на каталог.

  3. Получите идентификатор каталога, в котором создан ваш сервисный аккаунт. Идентификатор каталога должен передаваться в теле каждого запроса в поле folderId.

  4. Создайте API-ключ с областью действия yc.ai.translate.execute.

    Передавайте полученный ключ в заголовке Authorization каждого запроса в формате:

    Authorization: Api-Key <API-ключ>
    
  1. Получите идентификатор любого каталога, на который у вашего аккаунта есть роль ai.translate.user или выше. Идентификатор каталога должен передаваться в теле каждого запроса в поле folderId.

  2. Получите IAM-токен для аккаунта на Яндексе, федеративного аккаунта или сервисного аккаунта.

    Передавайте полученный токен в заголовке Authorization каждого запроса в формате:

    Authorization: Bearer <IAM-токен>
    

Распознать язык фразыРаспознать язык фразы

В этом примере мы определим, на каком языке написана фраза Hello, world.

Чтобы определить, на каком языке написан текст, передайте его в теле запроса detectLanguage:

cURL
export FOLDER_ID=<идентификатор_каталога>
export API_KEY=<API-ключ>
export TEXT="Hello, world"
curl \
  --request POST \
  --header "Content-Type: application/json" \
  --header "Authorization: Api-Key ${API_KEY}" \
  --data "{\"folderId\": \"${FOLDER_ID}\", \"text\": \"${TEXT}\"}" \
  "https://translate.api.cloud.yandex.net/translate/v2/detect"

Где:

  • FOLDER_ID — идентификатор каталога, полученный перед началом работы.
  • Где API_KEY — API-ключ, полученный перед началом работы. Если для аутентификации вы используете IAM-токен, измените заголовок Authorization на "Authorization: Bearer <IAM-токен>".

В ответе сервис вернет код языка, на котором написан текст:

{
    "languageCode": "en"
}

Указать наиболее вероятные языкиУказать наиболее вероятные языки

В некоторых языках одно и то же слово пишется одинаково. Например, слово рука пишется одинаково в английском, немецком, шведском и голландском языках — hand. Если переданный текст состоит из таких слов, то Translate может ошибиться при определении языка текста.

Чтобы избежать ошибки, вы можете указать языки в поле languageCodeHints, которым надо отдать приоритет при определении языка текста:

cURL
{
    "folderId": "<идентификатор_каталога>",
    "languageCodeHints":["ru", "de"],
    "text": "hand"
}

Где:

  • folderId — идентификатор каталога, полученный перед началом работы.
  • languageCodeHints — языки, которым отдается приоритет при определении языка текста.
  • text — текст для перевода в виде строки.

Сохраните тело запроса в файле, например body.json, и передайте его с помощью метода detectLanguage:

export API_KEY=<API-ключ>
curl \
  --request POST \
  --header "Content-Type: application/json" \
  --header "Authorization: Api-Key ${API_KEY}" \
  --data '@body.json' \
  "https://translate.api.cloud.yandex.net/translate/v2/detect"

{
    "languageCode": "de"
}

Где API_KEY — API-ключ, полученный перед началом работы. Если для аутентификации вы используете IAM-токен, измените заголовок Authorization на "Authorization: Bearer <IAM-токен>".

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

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