# generaltranslation: General Translation Core SDK: translate
URL: https://generaltranslation.com/ru/docs/core/class/methods/translation/translate.mdx
---
title: translate
description: Справка по API метода `translate` в GT
---
## Обзор
Метод `translate` — основная функция перевода в библиотеке GT.
Он переводит содержимое из исходной локали в указанную целевую с помощью сервисов перевода на базе ИИ.
```typescript
const gt = new GT({
apiKey: 'your-api-key',
projectId: 'your-project-id'
});
const result = await gt.translate('Hello, world!', 'es');
console.log(result); // "¡Hola, mundo!"
```
Метод поддерживает несколько типов содержимого, включая обычный текст, формат сообщений ICU и сообщения в стиле i18next, а также необязательные метаданные для повышения точности перевода.
**Требуется аутентификация:**
Для использования метода `translate` в экземпляре GT должны быть настроены и `apiKey` (или `devApiKey`), и `projectId`.
***
## Справочник
### Параметры
### TranslateManyEntry
Параметр `source` может быть как обычной строкой, так и объектом:
```typescript
type TranslateManyEntry = string | { source: Content; metadata?: EntryMetadata };
```
### TranslateOptions
Параметр `options` может быть строкой локали (сокращённая форма для `targetLocale`) или объектом:
```typescript
type TranslateOptions = {
targetLocale: string;
sourceLocale?: string;
modelProvider?: string;
};
```
### Описание параметров
| Параметр | Описание |
| --------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `source` | Содержимое для перевода. Обычная строка или объект с `source` (Content) и необязательным `metadata` (EntryMetadata). |
| `options` | Строка целевой локали (например, `'es'`) или объект параметров с `targetLocale`, необязательным `sourceLocale` и `modelProvider`. |
| `timeout` | Необязательный тайм-аут запроса в миллисекундах. |
### Возвращаемое значение
```typescript
Promise
```
* **TranslationResult**: Содержит переведённое содержимое и метаданные
* **TranslationError**: Содержит информацию об ошибке, если перевод завершился неудачей
***
## Поведение
### Определение типа содержимого
Метод автоматически определяет тип содержимого по параметру `source`:
* **Строка**: Обрабатывается как обычный текст или формат сообщений ICU
* **Элементы JSX**: Обрабатываются как JSX-контент в стиле React
* **Объекты**: Обрабатываются как структурированные форматы сообщений
### Определение локали
* Целевая локаль проверяется на соответствие стандарту BCP-47
* Пользовательские сопоставления локалей применяются, если они настроены
* Для API-запросов используются стандартные коды локалей
### Сокращённая форма `options`
Вы можете передать строку в параметр `options` как сокращённую форму для `{ targetLocale: string }`:
```typescript
// Это эквивалентные варианты:
await gt.translate('Hello', 'es');
await gt.translate('Hello', { targetLocale: 'es' });
```
***
## Примеры
### Перевод простой строки
```typescript
const result = await gt.translate('Welcome to our application', 'fr');
```
### С объектом параметров
```typescript
const result = await gt.translate('Welcome to our application', {
targetLocale: 'fr',
sourceLocale: 'en',
});
```
### С метаданными источника
```typescript
const result = await gt.translate(
{ source: '{count, plural, other {{count} items}}', metadata: { dataFormat: 'ICU', context: 'Item count display' } },
{ targetLocale: 'es' }
);
```
### С тайм-аутом
```typescript
const result = await gt.translate('Hello, world!', 'es', 5000);
```
***
## Примечания
* Переводит указанную строку в целевую локаль и возвращает промис
* Внутри использует `translateMany` с одной записью
## Что дальше
* **[Переводите несколько элементов с помощью translateMany](/docs/core/class/methods/translation/translate-many)**
* **[Узнайте о параметрах EntryMetadata](/docs/core/types/entry-metadata)**
* **[Изучите тип TranslationResult](/docs/core/types/translation-result)**