跳到主要内容

国际化

许多创业公司希望将他们的平台推广到不同的国家,所以平台的多语言支持是必不可少的。OneDayBuild 已经支持语言切换,让你通过简单的配置就能使你的平台适应不同用户的使用。

OneDayBuild 使用 Next-intl 作为底层程序。

配置

config.js 文件中,找到 i18n 部分,设置默认语言和提供的语言类型。我们的示例提供了英语和中文两种语言。

 i18n: {
defaultLocale: "en",
locales: ["en", "cn"],
},

然后,在 libs/i18n/i18n.js 文件中,在 locales 部分定义支持的语言。平台会在检测到用户语言时自动切换到相应的语言,并且会在 URL 中这样显示:https://oneday.build/cn/

libs/i18n/messages/ 文件夹包含平台支持的语言包。你可以在这里放置翻译好的语言包,并确保名称与配置项匹配。结构如下:

{
"Index": {
"title": "",
"subtitle": ""
},
}

使用

使用 i18n 后,域名后的所有访问路径都会包含语言。因此,如果你需要在系统中进行直接路径跳转,你需要随时知道当前的语言。你可以使用以下方法获取当前语言值:

import { useLocale } from "next-intl";

export function i18n () {
const locale = useLocale();
<a href={`/${locale}/test`}>Hello</a>
}

在具体页面中,你可以使用以下方法在适当的位置进行占位。

import { useTranslations } from "next-intl";

export default function Home() {
const t = useTranslations("Index");
<h1 className="text-4xl mt-6 font-bold">{t("One")}</h1>
}

生成语言

在平台建设期间,你可以使用英语作为主要语言,完善 en.json 文件。在上线前,你可以补充其他语言包。

对于其他语言包,你可以使用 ChatGPT 等工具帮助你生成,这可以大大节省你的时间和成本。