Как начать работать с Translate
В этом разделе вы научитесь переводить текст, используя Translate API.
Перед началом
Чтобы воспользоваться примерами, установите cURL.
Получите данные вашего аккаунта для авторизации:
- На странице биллинга убедитесь, что платежный аккаунт находится в статусе
ACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его. - Получите IAM-токен, необходимый для аутентификации.
- Получите идентификатор любого каталога, на который у вашего аккаунта есть роль
ai.translate.user
или выше.
-
Выберите способ аутентификации:
-
Получите IAM-токен, используемый в примерах.
-
Создайте API-ключ. Передайте API-ключ в заголовке
Authorization
в следующем формате:Authorization: Api-Key <API-ключ>
-
-
Назначьте сервисному аккаунту роль
ai.translate.user
или выше на каталог, в котором он был создан.Не указывайте в запросах идентификатор каталога — сервис использует каталог, в котором был создан сервисный аккаунт.
-
Аутентифицируйтесь в CLI от имени федеративного пользователя.
-
С помощью CLI получите IAM-токен, необходимый для аутентификации:
yc iam create-token
-
Получите идентификатор любого каталога, на который у вашего аккаунта есть роль
ai.translate.user
или выше.
Перевести текст с любого языка
Чтобы перевести текст, передайте его с помощью метода translate:
В этом примере показано, как перевести на русский язык две строки с текстом: Hello
и World
. Язык исходного текста будет определен автоматически.
-
Создайте файл с телом запроса (например,
body.json
):{ "folderId": "<идентификатор каталога>", "texts": ["Hello", "World"], "targetLanguageCode": "ru" }
Где:
folderId
— идентификатор каталога, полученный перед началом работы.texts
— текст для перевода в виде списка из строк.targetLanguageCode
— язык, на который переводится текст, в формате ISO 639-1. Вы можете узнать код языка вместе со списком поддерживаемых языков.
-
Передайте файл на перевод, выполнив команду:
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-токен, полученный перед началом работы.