国际化
许多创业公司希望将他们的平台推广到不同的国家,所以平台的多语言支持是必不可少的。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 等工具帮助你生成,这可以大大节省你的时间和成本。