# General Translation React SDKs (gt-react, gt-next): 使用 SPA 翻译进行开发
URL: https://generaltranslation.com/zh/docs/react/guides/developing-spa-translations.mdx
---
title: 使用 SPA 翻译进行开发
description: 介绍如何在开发单页 React 应用时预览 General Translation 的翻译。
related:
links:
- /docs/react/guides/storing-translations
- /docs/react/guides/configuring
- /docs/react/guides/translating-jsx
- /docs/react/guides/managing-locales
---
# 使用 SPA 翻译进行开发
开发翻译可让你在编辑 SPA 时预览翻译后的内容。使用此功能需要 GT 编译器 和开发 API 密钥。
**前提条件:**
* 一个已按 [SPA Quickstart](/docs/react/react-spa-quickstart) 配置好的单页 React 应用
* 一个以 `gtx-dev-` 开头的开发 API 密钥
## 设置 [#setup]
### 1. 安装编译器
将 `@generaltranslation/compiler` 作为开发依赖安装:
```bash
npm i -D @generaltranslation/compiler
```
```bash
yarn add --dev @generaltranslation/compiler
```
```bash
bun add --dev @generaltranslation/compiler
```
```bash
pnpm add --save-dev @generaltranslation/compiler
```
### 2. 添加编译器插件
为你的打包工具添加相应的插件。以 Vite 为例:
```ts title="vite.config.ts"
import react from '@vitejs/plugin-react';
import { vite as gtCompiler } from '@generaltranslation/compiler'; // [!code highlight]
import { defineConfig } from 'vite';
import gtConfig from './gt.config.json'; // [!code highlight]
export default defineConfig({
plugins: [gtCompiler({ ...gtConfig }), react()], // [!code highlight]
});
```
`@generaltranslation/compiler` 还导出了 `webpack`、`rollup` 和 `esbuild` 插件。导入与你使用的 bundler 对应的插件。
```ts
import { webpack as gtCompiler } from '@generaltranslation/compiler';
```
### 3. 添加开发凭据
在 [dash.generaltranslation.com](https://dash.generaltranslation.com/signup) 获取开发 API 密钥,或运行:
```bash
npx gt auth
```
然后将你的 project ID 和开发 API 密钥添加到 `.env.local` 中:
```bash title=".env.local"
VITE_GT_PROJECT_ID="your-project-id"
VITE_GT_DEV_API_KEY="your-dev-api-key"
```
然后,将这些参数传给初始化函数:
```ts
await initializeGTSPA({
...gtConfig,
projectId: import.meta.env.VITE_GT_PROJECT_ID,
devApiKey: import.meta.env.VITE_GT_DEV_API_KEY,
loadTranslations,
});
```
**仅限开发环境:** 请使用以 `gtx-dev-` 开头的键。切勿在浏览器代码中暴露以 `gtx-api-` 开头的生产环境键。
### 4. 开始开发
启动开发服务器,并切换到非默认区域设置。编辑可翻译内容时,编译器会记录这些更改,`gt-react` 会请求更新后的开发翻译。
## Next steps
- /docs/react/guides/storing-translations
- /docs/react/guides/configuring
- /docs/react/guides/translating-jsx
- /docs/react/guides/managing-locales