soon-i18n-react
安装
npm install soon-i18n-react
完整示例
soon-admin 后台管理系统 soon-admin-react-nextjs
或者
npx degit https://github.com/leafio/soon-i18n/packages/soon-i18n-react/demo
使用说明
创建实例
import { createI18n } from "soon-i18n-react";const global_locales = { zh: { g_welcome: "全局:欢迎 {name}" }, en: { g_welcome: "Global: Welcome {name}" },} as const;type Lang = "zh" | "en";
export const { tLocales, useLocales, useLang, getLang, setLang } = createI18n( { lang: "zh" as Lang, fallbacks: ["en"] }, global_locales);
在 js/ts 中使用
import { tLocales } from "../lang";export const showToast = () => { const t = tLocales({ zh: { tip: "哈哈,一条中文提醒!!!" }, en: { tip: "Aha, an English tip" }, }); alert(t("tip"));};
在组件中使用
import { useLocales } from "../lang";
const Content = () => { const t = useLocales({ zh: { hello: "你好" }, en: { hello: "Hello" }, }); return <div>{t("hello")}</div>;};export default Content;
切换语言
import { useLang } from "../lang";
const SwitchLang = () => { const [lang, setLang] = useLang(); const handleToggle = () => { setLang(lang === "en" ? "zh" : "en"); }; return <button onClick={handleToggle}>{lang}</button>;};export default SwitchLang;