【nuxt3国际化i18n】vue3+nuxt3+vite+TS国际化的正确做法
vue
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
项目地址:https://gitcode.com/gh_mirrors/vu/vue
免费下载资源
·
1、创建nuxt3请看Nuxt3官网
2、下面是添加i18n的教程,适用于企业前端项目。
添加依赖
依赖
yarn add vue-i18n
yarn add @nuxtjs/i18n@next -D
配置文件nuxt.config.ts
//nuxt.config.ts
export default defineNuxtConfig({
modules: [
'@nuxtjs/i18n',
],
i18n: {
strategy: 'no_prefix', // 添加路由前缀的方式
locales: ["en","zh"], //配置语种
defaultLocale: 'zh', // 默认语种
vueI18n: './i18n/config.ts', // 通过vueI18n配置
},
})
i18n配置
// i18n/config.ts
import en from "assets/lang/en_us.json";
import zh from "assets/lang/zh_cn.json";
export default defineI18nConfig(() => ({
legacy: false, // 是否兼容之前
fallbackLocale: 'en', // 区配不到的语言就用en
messages: {
en,
zh
}
}))
en_us.json
{
"welcome": "hello",
"messages": "world!"
}
zh_cn.json
{
"welcome": "你好",
"messages": "我的世界!"
}
使用
<script setup lang="ts">
import {onMounted} from "vue";
const {locale, setLocale} = useI18n()
onMounted(() => {
console.log("locale--language", locale.value)
})
</script>
<template>
<div>
<v-btn @click="setLocale('en')">英文</v-btn>
<v-btn @click="setLocale('zh')">中文</v-btn>
<p>{{ $t('welcome') }}</p>
<p>{{ $t('messages') }}</p>
</div>
</template>
<style scoped>
</style>
感谢阅读,谢谢,加油。
GitHub 加速计划 / vu / vue
207.55 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5
* chore: fix link broken
Signed-off-by: snoppy <michaleli@foxmail.com>
* Update packages/template-compiler/README.md [skip ci]
---------
Signed-off-by: snoppy <michaleli@foxmail.com>
Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 5 个月前
e428d891
Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
更多推荐
已为社区贡献4条内容
所有评论(0)