# gt-next: General Translation Next.js SDK: Next.js 速通 URL: https://generaltranslation.com/zh/docs/next/tutorials/examples/next-speedrun.mdx --- title: Next.js 速通 description: 一起来快速创建一个新应用,并用 GT 实现国际化 --- ## 概述 本指南将介绍两件事: * 创建一个新的 Next.js 应用 * 使用 General Translation 为其实现国际化 整个过程应少于 10 分钟。 ## 前置条件 我们假设你有一定的 React 使用经验,并且熟悉 TypeScript。 *** ## 第 1 步:创建新的 Next.js 应用 首先,在终端中切换到你选择的目录,然后运行以下命令: ```bash copy npx create-next-app next-quickstart --ts --tailwind --eslint --app --use-npm --src-dir ``` 随后会出现一个设置向导,直接为每个选项选择默认值即可。 ## 第 2 步:安装相关库 进入 Next.js 项目的根目录,然后运行: ```bash copy cd next-quickstart npm i gt-next npm i gt ``` ## 第 3 步:添加环境变量。 前往 [仪表板](https://generaltranslation.com/en-US/signin)。 在导航栏中打开 Dev API Keys 页面,创建一个新的 API 键和 Project ID。 然后将它们添加到你的 `.env` 文件中。 ```bash copy GT_API_KEY="YOUR_GT_API_KEY" GT_PROJECT_ID="YOUR_GT_PROJECT_ID" ``` ## 第 4 步:运行 CLI 工具 运行 CLI 工具,为你的代码库启用翻译支持。 ```bash copy npx gt setup ``` ## 第 5 步:修改根布局 修改 `src/app/layout.tsx` 文件中 `` 标签的 `lang` prop。 它应使用 `await getLocale()` 来获取当前区域设置。 ```javascript title="src/app/layout.tsx" copy import { GTProvider } from "gt-next"; // [!code highlight] import { getLocale } from "gt-next/server"; // [!code highlight] ... export default async function RootLayout({ children, }: Readonly<{ children: React.ReactNode; }>) { const locale = await getLocale(); // [!code highlight] return ( // [!code highlight] {children} ); } ``` ## 第 6 步:启动应用 你的应用已经完成国际化!🎉 现在来测试一下! 先更改浏览器的语言设置。 * 在 [Chrome](https://support.google.com/chrome/answer/173424) 中更改语言 * 在 [Firefox](https://support.mozilla.org/en-US/kb/use-firefox-another-language) 中更改语言 * 在 [Edge](https://support.microsoft.com/en-us/microsoft-edge/use-microsoft-edge-in-another-language-4da8b5e0-11ce-7ea4-81d7-4e332eec551f) 中更改语言 启动你的 Next.js 应用。 ```bash copy npm run dev ``` 用你常用的浏览器打开应用 (通常访问 [http://localhost:3000](http://localhost:3000)) 。 如果一切都已正确设置,你应该会看到应用以你在浏览器中设置的语言显示。 *** ## 故障排查 **浏览器 cookie** 检查浏览器中与你的应用相关的 cookie。 General Translation 会使用 cookie 存储用户的语言偏好。 这个 cookie 的名称是 `generaltranslation.locale`,你只需将其删除即可。 它位于 `localhost:3000` 下。 然后,再确认你使用的是所需的首选语言, 刷新页面。 完成这些操作后,你就不需要再担心清除 cookie 了。 如何检查 cookie: * [Chrome](https://support.google.com/chrome/answer/95647) * [Firefox](https://support.mozilla.org/en-US/kb/delete-cookies-remove-info-websites-stored) * [Safari](https://support.apple.com/en-mn/guide/safari/sfri11471/16.0/mac/11.0) * [Edge](https://support.microsoft.com/en-us/microsoft-edge/delete-cookies-in-microsoft-edge-63947406-40ac-c3b8-57b9-2a946a29ae09) *** ## 注意事项 * 使用 `` 组件翻译任意 JSX。 * 如果切换语言后翻译未生效,请检查浏览器的 cookie。 ## 后续步骤 * 给我们的 GitHub 仓库 [gt-next](https://github.com/General-Translation/gt-next) 点个 Star。 * 配置[从右到左语言支持](/docs/next/guides/rtl)。