# node: initializeGT
URL: https://generaltranslation.com/zh/docs/node/api/initialize-gt.mdx
---
title: initializeGT
description: initializeGT 初始化函数的 API 参考
---
## 概述
`initializeGT` 函数用于配置 General Translation,以便在 Node.js runtime 中使用。
必须在使用任何翻译函数之前先调用一次。
```js
import { initializeGT } from 'gt-node';
initializeGT({
defaultLocale: 'en-US',
locales: ['en-US', 'es', 'fr'],
projectId: 'your-project-id',
});
```
**必需设置:**
在使用 `withGT`、`getGT`、`getMessages`、`getTranslations` 或任何其他翻译函数之前,必须先调用 `initializeGT`。
请在服务器初始化时调用一次 (例如,在入口文件顶部) 。
## 参考
### 参数
>',
optional: true,
},
"enableI18n?": {
type: 'boolean',
optional: true,
},
"cacheExpiryTime?": {
type: 'number',
optional: true,
},
}}
/>
### 说明
| 属性 | 说明 |
| ------------------ | --------------------------------------------------------------------------- |
| `defaultLocale` | 应用的默认区域设置。默认为 `'en-US'`。 |
| `locales` | 应用支持的区域设置代码数组。 |
| `projectId` | 你的 General Translation 项目 ID,云翻译服务必填。 |
| `devApiKey` | 用于开发环境按需翻译的 API 密钥。 |
| `cacheUrl` | GT 缓存服务的 URL。设为 `null` 可禁用。 |
| `runtimeUrl` | GT runtime 翻译服务的 URL。设为 `null` 可禁用。 |
| `dictionary` | 用于 [`getTranslations`](/docs/node/api/get-translations) 的源语言字典对象。 |
| `loadDictionary` | 用于为给定区域设置加载翻译后字典的异步函数。需要设置 `dictionary`。 |
| `loadTranslations` | 用于从你自己的数据源加载翻译的自定义函数。 |
| `customMapping` | 用于将自定义区域设置代码映射到标准区域设置代码或区域设置属性的映射表。 |
| `enableI18n` | 是否启用 i18n 功能。 |
| `cacheExpiryTime` | 缓存翻译失效前的时间 (以毫秒为单位) 。 |
### 返回值
`void`
***
## 示例
### 基础设置
```js title="server.js"
import { initializeGT } from 'gt-node';
initializeGT({
defaultLocale: 'en-US',
locales: ['en-US', 'es', 'fr', 'ja'],
projectId: process.env.GT_PROJECT_ID,
});
```
### 使用自定义翻译加载器
```js title="server.js"
import { initializeGT } from 'gt-node';
initializeGT({
defaultLocale: 'en-US',
locales: ['en-US', 'es'],
loadTranslations: async (locale) => {
const res = await fetch(`https://my-api.com/translations/${locale}`);
return res.json();
},
});
```
***
## 注意事项
* 在使用任何翻译函数之前,必须先调用一次 `initializeGT`。
* 如果使用 GT 云服务,请提供 `projectId`。在开发环境下,还需要提供 `devApiKey`。
* `loadTranslations` 选项允许你使用自己的翻译来源,而不是 GT 的 CDN。
## 后续步骤
* 请参阅 [`withGT`](/docs/node/api/with-gt),为每个请求提供区域设置上下文。
* 请参阅 [`getGT`](/docs/node/api/get-gt) 和 [`getMessages`](/docs/node/api/get-messages),用于翻译内联字符串。
* 请参阅 [`getTranslations`](/docs/node/api/get-translations),用于基于字典的翻译。