当前位置: 首页 > news >正文

保姆级 i18n 使用攻略,绝对不踩坑(帮你踩完了)

  1. 最好是单独打开要使用i18n的项目,在工作区中i18n插件不能正常工作,猜测原因可能是配置文件在工作区中找不到要翻译的源文件。
  2. 很多人在这里都没说清楚,搞了好久
  3. 在根目录创建 .vscode 文件夹
  4. 粘贴以下代码
  5. 注意:翻译器的appid需要自行获取,如果翻译要求不是特别严格用百度的翻译引擎就行,项目不打的话申请每个月免费的5w字符就完全够用了。
  6. 百度翻译开放平台
  7. {"i18n-ally.localesPaths": ["src/i18n", "src/i18n/locales"],"i18n-ally.keystyle": "nested","i18n-ally.sortKeys": true,"i18n-ally.enabledParsers": ["json", "js"],"i18n-ally.sourceLanguage": "zh","i18n-ally.displayLanguage": "zh","i18n-ally.enabledFrameworks": ["vue"], // 框架"i18n-ally.translate.engines": ["baidu"], // 翻译器"i18n-ally.translate.baidu.appid": "翻译器的appid粘贴到这里", // 翻译器api-appid"i18n-ally.translate.baidu.apiSecret": "翻译器的密钥粘贴到这里", // 翻译器api-Secret"vue-i18n.i18nPaths": "src\\i18n,src\\i18n\\locales" // 要翻译的 i18n 文件路径
    }
  8. 打开 vscode 的扩展商店,搜索 i18n ,下载下面这两个扩展
  9. 完成之后会看见下面这个图标
  10. 下载相关包
  11. npm i vue-i18n
  12. 配置多语言,在根目录 src 文件夹下创建文件夹 i18n ,在 i18n 文件夹下创建 locals文件夹和 index.js 文件,在locals文件夹下创建 en.js 和 zh.js 文件,如果有其他语言要翻译按照国际语言缩写规则创建就行,具体如图
  13. 在main.js中插入如下代码
  14. import i18n from './i18n' // 引入 i18n 实例new Vue({router,i18n,  // 挂载i18n 实例到 Vue 原型,使整个项目可用 this.$i18n 访问render: h => h(App)
    }).$mount('#app')
    
  15. 在 i18n 文件夹下的 index.js 具体代码
  16. // src/i18n/index.js
    import Vue from 'vue'
    import VueI18n from 'vue-i18n'
    import zh from '@/i18n/locales/zh.json' // 中文语言包
    import en from '@/i18n/locales/en.json' // 英文语言包
    import { Locale } from 'vant'
    // 我用的是 vant 这里主要看你使用什么UI了,热门UI都有自己的多语言引入方法
    import enUS from 'vant/es/locale/lang/en-US'
    import zhCN from 'vant/es/locale/lang/zh-CN'Vue.use(VueI18n)const messages = {'zh-CN': {...zh,...zhCN},'en-US': {...en,...enUS}
    }// 从 localStorage 读取初始语言(默认中文)
    const savedLang = localStorage.getItem('lang') || 'zh-CN'
    export const getLocale = () => {return savedLang
    }
    const CURRENT_LANG = getLocale()
    Locale.use(CURRENT_LANG, messages[CURRENT_LANG])
    export default new VueI18n({locale: savedLang, // 当前语言messages // 所有语言包
    })
  17.  在js中写 this.$t('loading') 使用,html 中省略掉 this
  18.   <div class="wrapper"><van-loading size="24px" vertical style="padding-top: 50px">{{ $t('loading') }}</van-loading></div>
  19. 此时把光标放到代码 (logout )上别动会出现
  20. 点击这个笔的图标,编辑器顶部会出现输入框,可以输入要显示的内容
  21. 注意:不要傻傻的一个一个点击下面的地球仪图标去一个个翻译,配置好这里点击左侧的多语言插件图标
  22. 点击这里的地球仪图标就可以批量翻译了。
  23.  只要你按照我写的步骤来,你的代码中就会直接显示你配置的主要语言
  24. 结束,觉得内容有用的话,点个赞吧,踩了无数坑总结的,感谢!

http://www.xdnf.cn/news/1469125.html

相关文章:

  • 《C++ printf()函数的深度解析》
  • vue 经常写的echarts图表模块结构抽取
  • 串口通信—UART
  • 大尺度空间模拟预测与数字制图技术
  • 面向制造与装配的公差分析:成本控制与质量提升方法​
  • 拿到一组数据在mars3d上渲染报错排查思路
  • HTML 各种标签的使用说明书
  • 【AI总结】在 Peewee 中基于 MySQL 实现“动态表名”——从连接到查询的完整实战
  • nVisual从入门到精通—用户操作
  • 【Kubernetes】知识点总结5
  • Vue用户管理系统代码逐行详解
  • 【Linux】系统部分——进程间通信1(管道)
  • 从零到上线:直播美颜SDK中人脸美型功能的技术实现与效果优化
  • 【ARDUINO】ESP8266的AT指令返回内容集合
  • 【教程】快速入门golang
  • (计算机网络)DNS解析流程及两种途径
  • 51单片机-串口通信
  • 系统性学习数据结构-第三讲-栈和队列
  • 通信安全员【单选题】考试题库及答案
  • Android的DTBO详解
  • SQL Server 原生备份与第三方备份:哪个更适合您的组织?
  • 服务器测试网速教程:基于iperf进行测试带宽
  • 基于单片机金属探测器设计
  • 「数据获取」《中国包装业发展研究报告(2008)》
  • 人大金仓:创建数据库分区
  • AI助力决策:告别生活与工作中的纠结,明析抉择引领明智选择
  • 基于单片机老人居家环境健康检测/身体健康检测设计
  • EI会议:第三届大数据、计算智能与应用国际会议(BDCIA 2025)
  • 解释一下roberta,bert-chinese和bert-case有啥区别还有bert-large这些
  • 大基座模型与 Scaling Law:AI 时代的逻辑与困境