# 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 для определения локали и оборачивает жизненный цикл приложения для предварительной загрузки.