跳到主要内容

🌎 多语言

Ultra-GPT 由许多贡献者(如 @Cs4K1Sr4C)的帮助下,拥有多种语言的翻译。我们始终在努力改进翻译,但如果您发现有问题或遗漏,请随时进行必要的更新或在 GitHub 上提交工单!

我们使用 i18next 处理前端翻译。它的工作原理是我们为每种语言创建一个文件夹,例如 next/public/locales

next/public/locales
> en
...
> zh

对于应用程序中的每个组件,我们将它们的翻译命名空间化。例如,我们的 ChatWindow 使用 chat 命名空间,其翻译将在每个文件夹下的 chat.json 中找到。翻译是键值对,其中键表示所需的文本,值表示给定语言的翻译。

来自 chat 命名空间的示例:

  • 英语:"EMBARKING_ON_NEW_GOAL": "Embarking on a new goal:"
  • 西班牙语:"EMBARKING_ON_NEW_GOAL": "Embarcándose en un nuevo objetivo:"

添加新语言

要添加新语言,请进入我们的 i18 配置并添加新语言环境

next/next-i18next.config.js
i18n: {
defaultLocale: "en",
locales:
[
"en",
...,
// 在此处插入新的语言代码
],
...

然后转到我们的语言定义,并将可用语言列表添加到该部分

next/src/utils/languages.ts
export const availableLanguages: Language[] = [
ENGLISH,
{ code: "fr", name: "Français", flag: "🇫🇷" },
// ...
{ code: "tr", name: "Türkçe", flag: "🇹🇷" },
// 在此处插入新语言
];

之后,您必须在 next/public/locales 中创建一个具有您的语言代码的新文件夹,并为应用程序的所有命名空间添加翻译。请注意,这些值可能无法热重载,因此您必须手动重新启动下一个服务器。