# generaltranslation: General Translation Core SDK: Конструктор GT URL: https://generaltranslation.com/ru/docs/core/class/constructor.mdx --- title: Конструктор GT description: Справочная документация по конструктору класса GT --- ## Обзор Конструктор `GT` создаёт новый экземпляр класса General Translation, предоставляющий доступ ко всем функциям перевода, форматирования и работы с локалью. ```typescript import { GT } from 'generaltranslation'; const gt = new GT({ apiKey: 'your-api-key', projectId: 'your-project-id', sourceLocale: 'en', targetLocale: 'es' }); ``` Конструктор автоматически проверит наличие переменных среды `GT_API_KEY`, `GT_DEV_API_KEY` и `GT_PROJECT_ID`, поэтому их можно не указывать среди его параметров. Кроме того, он проверит корректность всех переданных кодов локалей. *** ## Справка ### Параметры Объект `GTConstructorParams` поддерживает следующие свойства: | Свойство | Тип | Необязательно | Описание | | --------------- | --------------- | ------------- | ------------------------------------------------------------------ | | `apiKey` | `string` | ✓ | API-ключ для продакшена сервиса перевода | | `devApiKey` | `string` | ✓ | API-ключ для разработки (имеет приоритет в режиме разработки) | | `projectId` | `string` | ✓ | Уникальный идентификатор проекта | | `sourceLocale` | `string` | ✓ | Исходная локаль по умолчанию для переводов | | `targetLocale` | `string` | ✓ | Целевая локаль по умолчанию для переводов | | `locales` | `string[]` | ✓ | Массив поддерживаемых кодов локалей | | `baseUrl` | `string` | ✓ | Пользовательский базовый URL API (для корпоративных развертываний) | | `customMapping` | `CustomMapping` | ✓ | Пользовательские сопоставления и определения кодов локалей | ### Возвращает Новый экземпляр класса `GT` со всеми доступными методами перевода и работы с локалью. *** ## Примеры ### Основное использование ```typescript import { GT } from 'generaltranslation'; // Минимальная настройка — использует переменные среды const gt = new GT(); ``` ### С учетными данными API ```typescript const gt = new GT({ projectId: 'my-project-id', apiKey: 'my-api-key', targetLocale: 'fr' }); ``` ### С пользовательским сопоставлением локалей Можно указать пользовательское сопоставление. Это позволяет пользователю (1) использовать псевдонимы кодов локалей, (2) переопределять стандартную проверку по BCP 47 и (3) переопределять стандартную информацию о локали из BCP 47. Например, предположим, что вы хотите использовать `cn` как псевдоним для `zh`. Поскольку API General Translation не поддерживает `cn`, необходимо указать пользовательское сопоставление. ```typescript const gt = new GT({ projectId: 'my-project-id', apiKey: 'my-api-key', targetLocale: 'es', customMapping: { 'cn': { code: 'zh' } } }); ``` С пользовательскими сопоставлениями можно делать и многое другое, например задавать собственные имена, добавлять эмодзи и т. д. ```typescript const gt = new GT({ projectId: 'my-project-id', apiKey: 'my-api-key', targetLocale: 'es', customMapping: { 'en-US': { name: 'Mandarin', emoji: '🇫🇷' } } }); ``` *** ## Примечания * Все параметры необязательны, но для вызовов API потребуются `apiKey` и `projectId` * Конструктор сразу проверяет все коды локалей и выдаёт ошибку, если код недопустим * Пользовательские сопоставления имеют приоритет над стандартной проверкой по BCP 47 ## Что дальше * Настройте свой экземпляр с помощью [`setConfig`](/docs/core/class/set-config) * Начните переводить с помощью [`translate`](/docs/core/class/methods/translation/translate) * Узнайте о [типе `GTConstructorParams`](/docs/core/types/gt-constructor-params)