Vue项目引入translate.js 国际化自动翻译组件

建议 translate.js 配合 i18 使用

本文只介绍 translate.js 的引入和使用方式

无论什么库 在翻译上 都不会做到 ( 100%翻译 && 100%准确 ) 所以不要吹毛求疵

官方文档:translate.js 前端翻译

该组件优点:

  • 自动翻译 自动匹配本地语种
  • 利于SEO 对搜索引擎友好
  • 使用简单 直接引入使用即可
  • 瞬时翻译 使用了缓存预加载

该组件缺点

  • 正因为利于SEO 假设中译英 获取DOM节点的时候还是中文
  • DOM不刷新 DOM内容刷新时 不会自动翻译 所以最好配合 i18 使用

1. 安装

复制代码
npm i i18n-jsautotranslate

2. 引入

在main.js内

复制代码
import translate from 'i18n-jsautotranslate'
translate.setUseVersion2() //设置使用v2.x 版本
translate.selectLanguageTag.show = false //是否显示切换栏
translate.listener.start()
Vue.prototype.$translate = translate

3. 使用

只保留关键代码

大体逻辑是在 localStorage 里存入一个 val 根据这个 val 去判断要切换的语种

复制代码
<div @click="languageAuto()"> 一键翻译 </div>



data() {
  return {
    language: '',
  }
},


// 翻译
languageAuto() {
  this.language == 'zh' ? (this.language = 'en') : (this.language = 'zh')
  localStorage.setItem('language', `{"language":"${this.language}"}`)
  if (this.language == 'zh') {
    console.log('转为中文')
    this.$translate.changeLanguage('chinese_simplified')
  }
  if (this.language == 'en') {
    console.log('转为英文')
    this.$translate.changeLanguage('english')
  }
  this.$translate.execute() //进行翻译
},
相关推荐
kyriewen7 小时前
我关掉了Copilot:因为我写的代码出现在了别人的建议里
前端·javascript·ai编程
SmartRadio8 小时前
STM32WLE5 LoRa Smart TDMA 完整协议栈实现(工程级可直接编译)-【1】
javascript·stm32·单片机·嵌入式硬件·lora·自组网·smart tdma
竹林8188 小时前
用 wagmi v2 踩坑两天,我终于搞懂了多链钱包切换
前端·javascript
吃乔巴的糖8 小时前
Vue 3 打印模板设计器 (print-canvas-designer)
前端·vue.js
子云zy8 小时前
JS 对象与包装类:new 做了什么?字符串为什么有 length?
前端·javascript
茶底世界之下10 小时前
你的 Mac 里,藏着一支 AI 开发团队
前端·javascript
小白学大数据10 小时前
Playwright 爬虫:Python 爬取 JS 渲染的 JSP 网站
开发语言·javascript·爬虫·python·数据分析
前端Hardy10 小时前
这个前端动画库,火了!
前端·javascript
GISer_Jing10 小时前
WebGL|Three.js渲染管线核心技术解析
java·javascript·webgl
Qhappy12 小时前
某里v2反混淆 codec 化路上踩到的两个隐蔽坑:被清零的 salt 与 opaque loop bound
javascript·算法