# python: initialize_gt URL: https://generaltranslation.com/zh/docs/python/api/initialize-gt.mdx --- title: initialize_gt description: initialize_gt 设置函数的 API 参考 --- ## 概览 `initialize_gt` 函数用于为 Flask 或 FastAPI 应用配置 General Translation。 必须在使用任何翻译函数之前调用一次。 设置会自动从当前工作目录中的 `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) ``` *** ## 注意事项 * 在使用 `t` 或其他任何翻译函数之前,必须**先调用一次** `initialize_gt`。 * 在 Flask 中,它会注册一个用于检测区域设置的 `before_request` 钩子。 * 在 FastAPI 中,它会注册用于检测区域设置的中间件,并包装应用生命周期以进行预加载。