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 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐