# generaltranslation: General Translation Core SDK: Обзор
URL: https://generaltranslation.com/ru/docs/core.mdx
---
title: Обзор
description: Обзор библиотеки generaltranslation
---
## Введение
Библиотека `generaltranslation` — это основная библиотека i18n в GT, содержащая вспомогательные функции и классы для перевода и форматирования.
Она часто используется вместе с пакетами для фреймворков, такими как `gt-next` и `gt-react`, но может применяться и как автономная библиотека.
import Video from '@/components/Video';
```typescript title="index.ts"
import { GT } from 'generaltranslation';
const gt = new GT({
apiKey: 'your-api-key',
projectId: 'your-project-id',
sourceLocale: 'en',
targetLocale: 'es',
});
// Перевод контента
const result = await gt.translate('Hello, world!', 'es');
// "¡Hola, mundo!"
// Форматирование чисел, дат, валют
const formattedPrice = gt.formatNum(29.99, { style: 'currency', currency: 'USD' });
const formattedDate = gt.formatDateTime(new Date());
// "$29.99"
// "9/25/2025"
// Работа с локалями
const localeProps = gt.getLocaleProperties('fr-CA');
const isValid = gt.isValidLocale('de');
// { language: "fr", region: "CA", ... }
// true
```
***
## Установка
```bash
npm install generaltranslation
```
```bash
yarn add generaltranslation
```
```bash
bun add generaltranslation
```
```bash
pnpm add generaltranslation
```
***
## Примеры
Существует два основных типа перевода: перевод строк и перевод файлов.
### Настройка
Чтобы включить перевод, необходимо указать ID проекта и API-ключ.
Подробнее см. в описании метода [`constructor`](/docs/core/class/constructor).
```typescript
const gt = new GT({
apiKey: 'your-api-key',
projectId: 'your-project-id',
targetLocale: 'es',
});
```
### Перевод строк
Подробнее см. в описании метода [`translate`](/docs/core/class/methods/translation/translate).
```typescript
try {
const result = await gt.translate('Hello, world!');
console.log(result); // "¡Hola, mundo!"
} catch (error) {
console.error('Ошибка перевода:', error.message);
}
```
### Перевод файлов
Файлы переводятся в виде заданий.
Чтобы запустить задание, загрузите файл.
Если загрузить несколько файлов, будет запущено несколько заданий.
Подробнее см. в методах [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files)
и [`queryFileData`](/docs/core/class/methods/translation/query-file-data).
```typescript
// Файлы для загрузки
const files = [
{
source: {
fileName: 'src/components/Button.tsx',
fileFormat: 'TSX',
locale: 'en',
content: '...',
},
},
];
// Загрузить исходные файлы
await gt.uploadSourceFiles(files);
```
***
## Оглавление
### Класс GT
Основной класс для перевода и работы с локалью:
* **[Конструктор](/docs/core/class/constructor)** - Инициализация экземпляра GT с конфигурацией
* **[setConfig](/docs/core/class/set-config)** - Обновление конфигурации экземпляра GT
#### Методы перевода
* **[translate](/docs/core/class/methods/translation/translate)** - Основная функциональность перевода
* **[translateMany](/docs/core/class/methods/translation/translate-many)** - Пакетный перевод
* **[setupProject](/docs/core/class/methods/translation/setup-project)** - Инициализация проекта
* **[checkJobStatus](/docs/core/class/methods/translation/check-job-status)** - Проверка прогресса задания
* **[getProjectData](/docs/core/class/methods/translation/get-project-data)** - Получение информации о проекте
* **[uploadSourceFiles](/docs/core/class/methods/translation/upload-source-files)** - Загрузка файлов для перевода
* **[uploadTranslations](/docs/core/class/methods/translation/upload-translations)** - Загрузка существующих переводов
* **[enqueueFiles](/docs/core/class/methods/translation/enqueue-files)** - Постановка файлов в очередь на обработку
* **[queryFileData](/docs/core/class/methods/translation/query-file-data)** - Проверка статуса перевода
* **[downloadFile](/docs/core/class/methods/translation/download-file)** - Скачивание одного файла
* **[downloadFileBatch](/docs/core/class/methods/translation/download-file-batch)** - Скачивание нескольких файлов
* **[querySourceFile](/docs/core/class/methods/translation/query-source-file)** - Получение информации об исходном файле
#### Методы форматирования
* **[formatMessage](/docs/core/class/methods/formatting/format-message)** - Форматирование локализованного текста
* **[formatNum](/docs/core/class/methods/formatting/format-num)** - Форматирование чисел
* **[formatDateTime](/docs/core/class/methods/formatting/format-date-time)** - Форматирование даты и времени
* **[formatRelativeTime](/docs/core/class/methods/formatting/format-relative-time)** - Форматирование относительного времени с явным указанием единицы времени
* **[formatRelativeTimeFromDate](/docs/core/class/methods/formatting/format-relative-time-from-date)** - Форматирование относительного времени по объекту Date
* **[formatCutoff](/docs/core/class/methods/formatting/format-cutoff)** - Форматирование усечения текста
* **[formatListToParts](/docs/core/class/methods/formatting/format-list-to-parts)** - Форматирование списка с разбиением на части
#### Методы локали
* **[getLocaleName](/docs/core/class/methods/locales/get-locale-name)** - Получить отображаемое имя локали
* **[getLocaleProperties](/docs/core/class/methods/locales/get-locale-properties)** - Получить полную информацию о локали
* **[getLocaleDirection](/docs/core/class/methods/locales/get-locale-direction)** - Получить направление текста для локали
* **[getLocaleEmoji](/docs/core/class/methods/locales/get-locale-emoji)** - Получить эмодзи флага для локали
* **[getRegionProperties](/docs/core/class/methods/locales/get-region-properties)** - Получить информацию о регионе и его свойствах
* **[isValidLocale](/docs/core/class/methods/locales/is-valid-locale)** - Проверить корректность кода локали
* **[resolveAliasLocale](/docs/core/class/methods/locales/resolve-alias-locale)** - Преобразовать канонические локали в локали-алиасы
* **[resolveCanonicalLocale](/docs/core/class/methods/locales/resolve-canonical-locale)** - Преобразовать локали-алиасы в каноническую форму
* **[standardizeLocale](/docs/core/class/methods/locales/standardize-locale)** - Стандартизировать формат кода локали
* **[isSameDialect](/docs/core/class/methods/locales/is-same-dialect)** - Проверить, представляют ли локали один и тот же диалект
* **[isSameLanguage](/docs/core/class/methods/locales/is-same-language)** - Проверить, представляют ли локали один и тот же язык
* **[isSupersetLocale](/docs/core/class/methods/locales/is-superset-locale)** - Проверить иерархические отношения между локалями
* **[determineLocale](/docs/core/class/methods/locales/determine-locale)** - Найти наиболее подходящую локаль по предпочтениям
* **[requiresTranslation](/docs/core/class/methods/locales/requires-translation)** - Определить, нужен ли перевод
### Служебные функции
#### Функции форматирования
* **[formatMessage](/docs/core/functions/formatting/format-message)** - автономное форматирование текста
* **[formatNum](/docs/core/functions/formatting/format-num)** - автономное форматирование чисел
* **[formatDateTime](/docs/core/functions/formatting/format-date-time)** - автономное форматирование даты и времени
* **[formatRelativeTime](/docs/core/functions/formatting/format-relative-time)** - автономное форматирование относительного времени
* **[formatRelativeTimeFromDate](/docs/core/functions/formatting/format-relative-time-from-date)** - автономное форматирование относительного времени на основе Date
* **[formatCutoff](/docs/core/functions/formatting/format-cutoff)** - автономное форматирование усечения текста
* **[formatListToParts](/docs/core/functions/formatting/format-list-to-parts)** - автономное форматирование списка с разбиением на части
#### Функции для работы с локалями
* **[getLocaleName](/docs/core/functions/locales/get-locale-name)** - Автономная утилита для получения имени локали
* **[getLocaleProperties](/docs/core/functions/locales/get-locale-properties)** - Автономная утилита свойств локали
* **[getLocaleDirection](/docs/core/functions/locales/get-locale-direction)** - Автономная утилита направления текста
* **[getLocaleEmoji](/docs/core/functions/locales/get-locale-emoji)** - Автономная утилита эмодзи
* **[getRegionProperties](/docs/core/functions/locales/get-region-properties)** - Автономная утилита свойств региона
* **[isValidLocale](/docs/core/functions/locales/is-valid-locale)** - Автономная проверка локали
* **[resolveAliasLocale](/docs/core/functions/locales/resolve-alias-locale)** - Автономное разрешение локали-алиаса
* **[standardizeLocale](/docs/core/functions/locales/standardize-locale)** - Автономная стандартизация локали
* **[isSameDialect](/docs/core/functions/locales/is-same-dialect)** - Автономное сравнение диалектов
* **[isSameLanguage](/docs/core/functions/locales/is-same-language)** - Автономное сравнение языков
* **[isSupersetLocale](/docs/core/functions/locales/is-superset-locale)** - Автономная проверка иерархии локалей
* **[determineLocale](/docs/core/functions/locales/determine-locale)** - Автономное согласование локали
* **[requiresTranslation](/docs/core/functions/locales/requires-translation)** - Автономная проверка необходимости перевода
### Типы и интерфейсы
Определения TypeScript:
* **[GTConstructorParams](/docs/core/types/gt-constructor-params)** - Параметры конфигурации
* **[LocaleProperties](/docs/core/types/locale-properties)** - Подробная информация о локали
* **[TranslationResult](/docs/core/types/translation-result)** - Типы ответов перевода
* **[TranslateManyResult](/docs/core/types/translate-many-result)** - Ответ пакетного перевода
* **[FileToTranslate](/docs/core/types/file-to-translate)** - Конфигурация перевода файлов
* **[EnqueueFilesOptions](/docs/core/types/enqueue-files-options)** - Параметры добавления файлов в очередь
* **[Entry](/docs/core/types/Entry)** - Структура записи перевода
* **[EntryMetadata](/docs/core/types/entry-metadata)** - Метаданные записи
* **[Content](/docs/core/types/Content)** - Определения типов контента
* **[Variable](/docs/core/types/Variable)** - Структура переменной
* **[VariableType](/docs/core/types/variable-type)** - Определения типов переменных
* **[JsxElement](/docs/core/types/jsx-element)** - Тип элемента JSX
* **[JsxChild](/docs/core/types/jsx-child)** - Тип дочернего элемента JSX
* **[JsxChildren](/docs/core/types/jsx-children)** - Тип дочерних элементов JSX
* **[DataFormat](/docs/core/types/data-format)** - Спецификации формата данных
* **[CustomMapping](/docs/core/types/custom-mapping)** - Конфигурация пользовательского сопоставления
***
## Следующие шаги
* **[Начните работу с классом GT](/docs/core/class/constructor)**
* **[Изучите методы перевода](/docs/core/class/methods/translation/translate)**
* **[Узнайте об утилитах для работы с локалями](/docs/core/class/methods/locales/get-locale-name)**
* **[Ознакомьтесь с параметрами форматирования](/docs/core/class/methods/formatting/format-message)**
* **[Ознакомьтесь с автономными функциями](/docs/core/functions/formatting/format-message)**
Сведения об использовании в конкретных фреймворках см. в документации [Next.js](/docs/next) или [React](/docs/react).