如何在Vue3中配置国际化语言i18n

这篇具有很好参考价值的文章主要介绍了如何在Vue3中配置国际化语言i18n。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 安装 vue-i18n

npm i vue-i18n -S

2. 创建一个i8n的配置文件 如:i18nConfig.js

// 配置 vue-i18n 实现国际化语言设置
import { createI19n } from 'vue-i18n'

import zh_cn from '../language/zh-CN'
import en_us from '../language/en-US'
import CONFIG from '../../confing'

const messages = {
	// 目前只配置了中英两种语言
	'zhCn': zh_cn,
	'en': en_US
}

const lang = CONFIG.locale

const i18n = createI18n({
	legacy: false,
	locale: lang, // 选择使用哪种语言
	messages
})

export default i18n

3. 新建语言文件 zh-CN.js 和 en-US.js

  • zh-CN.js 文件
// zh-CN.js 文件
const zh = {
	hello: '你好',
	// 根据业务需要,还可以分组规划,让代码更清晰
	homeModule: {
		hi: '嗨'
	}
}

export default zh
  • en-US.js 文件
// en-US.js 文件
const en = {
	hello: 'hello',
	// 根据业务需要,还可以分组规划,让代码更清晰
	homeModule: {
		hi: 'hi'
	}
}

export default en
  • CONFIG.js 文件
// CONFIG.js 文件
const CONFIG = {
	locale: 'zhCN' // zhCn —— 中文,en —— 英文
}

export default CONFIG

4. 在 main.js 里面全局配置

// main.js 文件
......
import i18n from '../src/language/i18nConfig'
......

app.use(i18n)

......

通过上面四步即可配置完毕

下面说一下如何使用,分三种情况

  1. 在 .vue 组件中的 template 使用
<template>
	<div>{{ $t('hello') }}</div>
	<div>{{ $t('homeModule.hi') }}</div>
</template>
  1. 在 .vue 组件中的 script 中使用
<script setup>
	const instance = getCurrentInstance() // 获取当前组件实例
	const $t = instance.appContext.config.globalProperties.$t
	console.log($t('hello'))
	console.log($t('homeModule.hi'))
</script>
  1. 在 .js 文件中使用
import i18n from '/src/language/i18nConfig'
const $t = i18n.global.t
console.log($t('hello'))
console.log($t('homeModule.hi'))

本文到此便已经记录完毕,仅作为对工作中遇到的一些问题的记录,方便后面翻看,如有大佬有更好的方法,感谢不吝赐教!!!文章来源地址https://www.toymoban.com/news/detail-706495.html

到了这里,关于如何在Vue3中配置国际化语言i18n的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • i18n(国际化)代码简单实现

    各个国家都有各个国家的语言,如果网站需要让全世界的人使用,那就需要进行国际化功能开发 国际化我知道的一共有两种,其中一种是不同国家不同网站,也就是说页面风格都不一样。另外一种是网站都是一样的,只是里面的文字不同罢了。第一种没啥好说了,毕竟都是两

    2024年02月07日
    浏览(47)
  • Spring之国际化:i18n

    学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需写作干货注入能量… 热爱写作,愿意让自己成为更好

    2024年02月03日
    浏览(41)
  • SpringBoot - SpringBoot整合i18n实现消息国际化

    在我们开发WEB项目的时候,项目可能涉及到在国外部署或者应用,也有可能会有国外的用户对项目进行访问,那么在这种项目中, 为客户展现的页面或者操作的信息就需要根据客户系统的环境来使用不同的语言,这就是我们所说的项目国际化。 1. MessageSource源码 Spring中定义了

    2024年02月03日
    浏览(39)
  • 【angular】实现简单的angular国际化(i18n)

    实现简单的angular国际化。本博客实现中文版和法语版。 将 Hello i18n! 变为 中文版:你好 i18n! 或 法语版:Bonjour l’i18n ! 。 创建一个项目: 在集成终端中打开。 添加本地化包: 在html中添加格式化标识: 现在运行一下,页面是: 生成翻译模板语言包: 生成了一个文件夹: l

    2024年02月08日
    浏览(39)
  • spring6-国际化:i18n | 数据校验:Validation

    1.1、i18n概述 国际化也称作i18n,其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数。由于软件发行可能面向多个国家,对于不同国家的用户,软件显示不同语言的过程就是国际化。通常来讲,软件中的国际化是通过配置文件来实现的,假设要支撑两种语言,

    2024年02月08日
    浏览(36)
  • next.js app目录 i18n国际化简单实现

    最近在用next写一个多语言的项目,找了好久没找到简单实现的教程,实践起来感觉都比较复杂,最后终于是在官方文档找到了,结合网上找到的代码demo,终于实现了,在这里简单总结一下。 此教程适用于比较简单的项目实现,如果你是刚入门next,并且不想用太复杂的方式去

    2024年04月22日
    浏览(29)
  • SpringBoot 国际化(i18n) 支持中文键(KEY)的解决方法

    前言: 项目中要解决“中英文”切换的问题,想法是输入key例如“你好”,然后去国际化文件找对应的中文key,然后进行输出,如果没有定义这个key,则输出“你好”。但是中文key在properties文件中会已unicode编码输出,使用中文key时获取不到对应的value。 解决方法: 重构$.

    2024年02月16日
    浏览(25)
  • electron+vue3全家桶+vite项目搭建【六】集成vue-i18n 国际化

    已发现 9.2.2版本的vue-i18n 如果使用cnpm安装,打包会报错,使用npm或者pnpm安装依赖没有问题 如果需要多语言支持,那么最好在项目搭建之初我们就集成好国际化 vue i18n官网 demo项目地址 关于多窗口国际化不同步更新状态的问题解决方案 1.我们现在src下面创建locals目录,里面创

    2023年04月12日
    浏览(60)
  • vue-i18n 实现国际化,支持切换不同语言

    需求:后台管理系统,可以实现语言切换 实现过程:用的i18n来实现的语言切换,网上能看到好多模板,根据自己的需求,修改一下即可使用,大概都是差不多的,因为涉及到后端,所以要跟后端协商一致决定去写,我的设计思路是跟着后端设计更改的,如下: 1.语言是后端接

    2024年02月12日
    浏览(30)
  • 微信小程序配置实现中英文国际化语言切换

    目录 1,在根目录新建文件夹和js文件 2. 在main.js中设置全局语言状态(默认设置为中文) 3. 页面添加  语言切换按钮(登录页面) 4. 在需要显示的页面导入使用 根目录新建一个locales.js文件, 通用的一些函数可以放在此文件该文件夹下 ,如下图所示 配置中英文字段,字段要一

    2024年02月12日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包