• 如何在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 中使用
    
    
    1. 在 .js 文件中使用
    import i18n from '/src/language/i18nConfig'
    const $t = i18n.global.t
    console.log($t('hello'))
    console.log($t('homeModule.hi'))
    

    本文到此便已经记录完毕,仅作为对工作中遇到的一些问题的记录,方便后面翻看,如有大佬有更好的方法,感谢不吝赐教!!!

  • 相关阅读:
    Mysql数据库时间和系统时间不一致问题
    短视频SEO优化教程 自媒体SEO优化技巧方法
    如何查看Docker中cuda的版本?
    一点笔记--关于P!=NP、AI、chatGPT
    java-php-python-ssm在线课堂辅助系统计算机毕业设计
    Shell基础练习2
    MachineLearning 11. 机器学习之随机森林生存分析(randomForestSRC)
    蓝桥杯刷题(三)
    故障诊断实验台 | PT500mini轴承齿轮箱转子故障实验台
    一招教你如何高效批量导入与更新数据
  • 原文地址:https://www.cnblogs.com/JJpeng/p/17694017.html