# General Translation Python SDKs: Быстрый старт URL: https://generaltranslation.com/ru/docs/python/quickstart.mdx --- title: Быстрый старт description: Установите Python SDK от General Translation и переведите своё первое приложение на Flask или FastAPI. related: links: - /docs/python/guides/translating-strings - /docs/python/guides/detecting-locale - /docs/python/guides/declaring-variables - /docs/python/guides/storing-translations --- Python SDK от General Translation переводит пользовательские строки в приложениях Flask и FastAPI. Вы один раз инициализируете его в приложении, а затем оборачиваете строки в маршрутах функцией [`t`](/docs/python/reference/functions/t), которая переводит их в локаль текущего запроса. Установите интеграцию для своего фреймворка: `gt-flask` для Flask, `gt-fastapi` для FastAPI. Обе интеграции построены на общем runtime `gt-i18n`, который также можно использовать напрямую в проекте без фреймворка. Python SDK **экспериментальный и нестабильный** — `gt-i18n`, `gt-flask` и `gt-fastapi` пока находятся на версии 0.3.0, и в них возможны ломающие изменения. Требуется Python 3.10 или новее. ## Что умеет Python SDK [#overview] SDK предоставляет: * **Перевод строк** с помощью `t` с использованием синтаксиса сообщений ICU. * **Определение локали для каждого запроса** по заголовку `Accept-Language` или по вашей собственной логике. * **Фиксированные варианты** с [`derive`](/docs/python/reference/functions/derive) и непереводимые значения с [`declare_var`](/docs/python/reference/functions/declare-var). * **Доставку переводов через CDN или локально**, сгенерированных с помощью [General Translation CLI](/docs/cli/quickstart). ## Быстрый старт [#quickstart] Установите интеграцию, добавьте файл конфигурации, инициализируйте её в приложении и переведите строку. ### 1. Установите интеграцию ```bash pip install gt-flask ``` ```bash pip install gt-fastapi ``` ### 2. Настройте локали Создайте файл `gt.config.json` в корне проекта и укажите в нём идентификатор проекта и `locales`. Описание каждого ключа см. в [справочнике по конфигурации](/docs/python/reference/config). ```json title="gt.config.json" { "projectId": "your-project-id", "defaultLocale": "en", "locales": ["es", "fr"] } ``` ### 3. Инициализация в приложении Вызовите `initialize_gt(app)` один раз при запуске. Функция считывает `gt.config.json`, регистрирует определение локали для каждого запроса и заранее загружает переводы. Параметр ключа API не нужен — загрузка через CDN использует `project_id` и `cache_url`. ```python title="app.py" from flask import Flask from gt_flask import initialize_gt, t, get_locale app = Flask(__name__) initialize_gt(app) @app.route("/") def index(): return {"message": t("Hello, world!"), "locale": get_locale()} ``` ```python title="main.py" from fastapi import FastAPI from gt_fastapi import initialize_gt, t, get_locale app = FastAPI() initialize_gt(app) @app.get("/") def index(): return {"message": t("Hello, world!"), "locale": get_locale()} ``` ### 4. Перевод с использованием переменных Используйте плейсхолдеры ICU и передавайте значения в виде именованных аргументов. ```python t("Hello, {name}!", name="Alice") ``` ### 5. Сгенерируйте переводы Используйте [General Translation CLI](/docs/cli/quickstart), чтобы перевести контент перед развертыванием, — тогда переводы будут доступны во время выполнения. ```bash gt translate ``` ## Используйте основную библиотеку без фреймворка [#core] Если вы не используете Flask или FastAPI, установите `gt-i18n` напрямую. В основной библиотеке нет [`initialize_gt`](/docs/python/reference/functions/initialize-gt) — создайте [`I18nManager`](/docs/python/reference/classes/i18n-manager), зарегистрируйте его с помощью [`set_i18n_manager`](/docs/python/reference/functions/set-i18n-manager) и самостоятельно задайте локаль запроса. ```bash pip install gt-i18n ``` ```python from gt_i18n import I18nManager, set_i18n_manager, t manager = I18nManager(default_locale="en", locales=["es", "fr"]) set_i18n_manager(manager) manager.set_locale("es") print(t("Hello, world!")) ``` См. [Перевод строк](/docs/python/guides/translating-strings), чтобы узнать о контексте и переменных, и [Определение локали запроса](/docs/python/guides/detecting-locale), чтобы настроить определение локали. ## Next steps - /docs/python/guides/translating-strings - /docs/python/guides/detecting-locale - /docs/python/guides/declaring-variables - /docs/python/guides/storing-translations