返回首页

前端项目多语言功能实现(Nuxt)

布莱克2025-11-25 22:19
Tip:文章封面与内容无关,作者旅游时拍摄,因为没什么值得把四季都错过!

关于前端项目如何实现多语言功能(Nuxt)

多语言配置

  • 在Nuxt项目安装的插件是@nuxtjs/i18n(版本是8.0.0,不同版本的nuxt和i18n之间有依赖关系)
  • 在nuxt.config.js中添加多语言的配置项
export default {
  i18n: {
    locales: ['zh', 'en'],  //支持的语言列表
    lazy: true,  //懒加载语言文件
    defaultLocale: 'zh',  //设置默认语言
    detectBrowserLanguage: false,  //禁用浏览器语言自动检测
    strategy: 'no_prefix',  //URL中不显示语言前缀
    vueI18n: './locales/index.js'  //Vue I18n 配置文件的路径
  },
}

多语言文件通常放在 locales/ 目录下

locales/
  ├── zh.js
  ├── en.js
  └── index.js

index.js文件内容

import en from './en'
import zh from './zh'

export default defineI18nConfig(() => ({
  legacy: false,
  locale: 'zh',
  fallbackLocale: 'zh',
  messages: {
    zh,
    en
  }
}))

多语言文件en.js

export default {
  name: 'black'
}

在Vue页面中使用:

<template>
  <div>{{ t('name') }}</div>
</template>
<script setup>
  import { useI18n } from 'vue-i18n'
  const { t } = useI18n()
</script>

简单的例子如上所示,实现多语言切换🥇🥇

assistant