# python: initialize_gt
URL: https://generaltranslation.com/ru/docs/python/api/initialize-gt.mdx
---
title: initialize_gt
description: Справочник API для функции инициализации initialize_gt
---
## Обзор
Функция `initialize_gt` настраивает General Translation для приложения Flask или FastAPI.
Её нужно вызвать один раз до использования любых функций перевода.
Параметры автоматически загружаются из файла `gt.config.json` в текущем рабочем каталоге.
Любые именованные аргументы переопределяют значения из файла конфигурации.
```python
from flask import Flask
from gt_flask import initialize_gt
app = Flask(__name__)
initialize_gt(app)
```
```python
from fastapi import FastAPI
from gt_fastapi import initialize_gt
app = FastAPI()
initialize_gt(app)
```
## Справка
### Параметры
str',
optional: true,
description: 'Пользовательский колбэк для определения локали. По умолчанию локаль определяется по заголовку Accept-Language.',
},
"load_translations?": {
type: '(locale: str) -> dict[str, str]',
optional: true,
description: 'Пользовательская функция загрузки переводов для локали.',
},
"eager_loading?": {
type: 'bool',
optional: true,
default: 'True',
description: 'Выполнять предварительную загрузку всех переводов при запуске.',
},
"config_path?": {
type: 'str',
optional: true,
description: 'Путь к файлу gt.config.json. По умолчанию используется "gt.config.json" в текущем рабочем каталоге.',
},
"load_config?": {
type: '(path: str | None) -> GTConfig',
optional: true,
description: 'Пользовательский загрузчик конфигурации, заменяющий стандартный.',
},
}}
/>
### Возвращает
`I18nManager` — настроенный экземпляр менеджера переводов.
***
## Файл конфигурации
Создайте `gt.config.json` в корневой директории проекта. Все поля необязательны:
```json title="gt.config.json"
{
"projectId": "your-project-id",
"defaultLocale": "en",
"locales": ["es", "fr"],
"cacheUrl": "https://custom-cache.example.com"
}
```
Параметры из `gt.config.json` используются по умолчанию. Любые именованные аргументы, переданные в `initialize_gt`, переопределяют их.
***
## Примеры
### Минимальная настройка (с файлом конфигурации)
```python
from flask import Flask
from gt_flask import initialize_gt
app = Flask(__name__)
initialize_gt(app)
```
### С настраиваемым загрузчиком переводов
```python
from flask import Flask
from gt_flask import initialize_gt
app = Flask(__name__)
def load_translations(locale: str) -> dict[str, str]:
# Загрузите переводы из вашего источника
...
initialize_gt(app, load_translations=load_translations)
```
### С настраиваемым определением локали
```python
from flask import Flask
from gt_flask import initialize_gt
app = Flask(__name__)
def get_locale(request):
return request.args.get("lang", "en")
initialize_gt(app, get_locale=get_locale)
```
***
## Примечания
* `initialize_gt` нужно вызвать **один раз** перед использованием `t` или любой другой функции перевода.
* Во Flask он регистрирует хук `before_request` для определения локали.
* В FastAPI он регистрирует middleware для определения локали и оборачивает жизненный цикл приложения для предварительной загрузки.