国际化 (i18n)
SoloKit UI 内置了国际化支持,目前支持中文和英文两种语言。本文档将介绍如何配置和使用国际化功能。
支持的语言
SoloKit UI 目前支持以下语言:
zh- 中文 (默认)en- 英文
基本设置
你可以在使用组件时直接设置语言:
import { Waitlist } from "@solokit/ui";
function MyPage() {
return (
<Waitlist
title="Join our waitlist"
description="We're launching soon. Sign up to be notified."
language="en" // 使用英文
/>
);
}使用ThemeI18nProvider
为了在整个应用中统一管理语言设置,你可以使用ThemeI18nProvider:
import { ThemeI18nProvider } from "@solokit/ui";
export default function App({ Component, pageProps }) {
return (
<ThemeI18nProvider initialLanguage="zh" initialTheme="system">
<Component {...pageProps} />
</ThemeI18nProvider>
);
}ThemeI18nProvider同时管理主题和语言设置,是ThemeProvider和国际化功能的便捷组合。
在组件中使用翻译
如果你需要在自己的组件中使用SoloKit的翻译系统,可以使用useTranslation钩子:
import { useTranslation } from "react-i18next";
import "../i18n"; // 引入SoloKit的i18n配置
function MyCustomComponent() {
const { t, i18n } = useTranslation();
return (
<div>
<h1>{t("waitlist.defaultTitle")}</h1>
<p>{t("waitlist.defaultDescription")}</p>
<button
onClick={() =>
i18n.changeLanguage(i18n.language === "zh" ? "en" : "zh")
}
>
{i18n.language === "zh" ? "Switch to English" : "切换到中文"}
</button>
</div>
);
}