# gt-node: General Translation Node.js SDK: initializeGT URL: https://generaltranslation.com/zh/docs/node/reference/functions/initialize-gt.mdx --- title: initializeGT description: 在服务器启动时一次性配置 General Translation 的 gt-node 库。initializeGT 的 API 参考。 --- 配置 General Translation 以在 Node.js 运行时中使用。在调用任何其他翻译函数之前,先调用一次 `initializeGT`,以设置区域设置、凭据和翻译交付。 ## 概览 [#overview] 在服务器入口文件的开头调用 `initializeGT`。它不会自动读取任何环境变量或配置文件——所有值都需要显式传入。完整的选项列表请参阅[配置参考](/docs/node/reference/config)。 ```ts import { initializeGT } from 'gt-node'; initializeGT({ defaultLocale: 'en', locales: ['en', 'es', 'fr'], projectId: 'your-project-id', }); ``` 签名: ```ts initializeGT(config: InitializeGTParams): void ``` *注意:在使用 [`withGT`](/docs/node/reference/functions/with-gt)、[`getGT`](/docs/node/reference/functions/get-gt)、[`getMessages`](/docs/node/reference/functions/get-messages) 或任何其他翻译函数之前,必须先调用 `initializeGT`。如果先调用这些函数,就会抛出错误。* ## 工作原理 [#how-it-works] * **一次性初始化。** 在服务器初始化期间只调用一次 `initializeGT`。它会设置区域设置配置、翻译缓存,以及按请求存储区域设置的机制。 * **交付模式。** 提供 `projectId` 以从 General Translation CDN 加载翻译,或使用 [`loadTranslations`](/docs/react/reference/functions/load-translations) 加载你自己的源内容。若要在开发环境中进行按需翻译,还需提供 `devApiKey`。 * **同步。** 该调用会立即返回,不会等待网络请求。 ## 参数 [#parameters] | 参数 | 描述 | 类型 | 可选 | 默认值 | | ------------------- | ---------------------------------------------- | -------------------- | -- | --- | | [`config`](#config) | 配置对象。请参阅[配置参考文档](/docs/node/reference/config)。 | `InitializeGTParams` | 否 | — | ### `config` [#config] **类型** `InitializeGTParams` · **必填** 一个整合了区域设置、凭证、缓存和 dictionary 选项的对象。该对象是必填的,但其中每个字段都是可选的。所有字段都记录在[配置参考](/docs/node/reference/config)中。常用字段: * `defaultLocale` — source 区域设置和后备区域设置 (默认值为 `'en'`) 。 * `locales` — 支持的目标区域设置。 * `projectId` — 项目 ID;设置后会启用 CDN 加载器。 * `devApiKey` — 用于按需翻译的开发 API 密钥。 * `loadTranslations` — 返回某个区域设置翻译内容的自定义加载器。 * `customMapping` — 区域设置别名和属性覆盖。 ## 返回值 [#returns] **类型** `void` ## 示例 [#examples] ```ts title="server.js" // 基本设置 import { initializeGT } from 'gt-node'; initializeGT({ defaultLocale: 'en', locales: ['en', 'es', 'fr', 'ja'], projectId: process.env.GT_PROJECT_ID, }); ``` ```ts title="server.js" // 使用自定义翻译加载器 import { initializeGT } from 'gt-node'; initializeGT({ defaultLocale: 'en', locales: ['en', 'es'], loadTranslations: async (locale) => { const res = await fetch(`https://my-api.com/translations/${locale}`); return res.json(); }, }); ``` ## 注意事项 [#notes] * 必须在运行任何翻译函数之前先调用一次 `initializeGT`。 * 如果你使用 General Translation 云服务,请提供 `projectId`;在开发环境中,还需要提供 `devApiKey`。 * `loadTranslations` 选项让你可以使用自己的翻译来源,而不是 General Translation CDN。