npm install soon-i18n-vue
soon-admin-vue or
npx degit https://github.com/leafio/soon-i18n/packages/soon-i18n-vue/demo
import { createI18n } from "soon-i18n-vue";const en_global = { welcome: "Welcome {name}",}const zh_global = { welcome: "欢迎 {name}",} const global_locales = { zh: zh_global, en: en_global,};export const { tLocales, lang } = createI18n( { lang: "zh", fallbacks: ["en"] }, global_locales);
import { tLocales } from "../lang";export const showToast = () => { const t = tLocales({ zh: { tip: "哈哈,一条中文提醒!!!" }, en: { tip: "Aha, an English tip" }, }); alert(t("tip"));};
<template> <div>{{ t("hello") }}</div></template> <script setup>import { tLocales } from "../lang";const t = tLocales({ zh: { hello: "你好" }, en: { hello: "Hello" },});</script>
<template> <button @click="handleToggle">{{ lang }}</button></template> <script setup>import { lang } from "../lang";const t = tLocales({ zh: { hello: "你好" }, en: { hello: "Hello" },});const handleToggle = () => { lang.value = lang.value === "zh" ? "en" : "zh";};</script>