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

 更新时间:2024年01月10日 08:30:55   作者:RyzenVega  
这篇文章主要给大家介绍了关于Vue项目引入translate.js国际化自动翻译组件的相关资料,除了基本的文本翻译功能之外,jstranslate还提供了一些高级功能,文中通过代码介绍的非常详细,需要的朋友可以参考下

建议 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: zh,
  }
},

// 翻译
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() //进行翻译
},

4.备注

在请求接口数据返回选然后  或者  路由切换后

会出现一半原始语种  一半翻译语种的情况

此时可以在请求拦截器的相应拦截 和 路由后置守卫里添加

this.$translate.execute() //进行翻译

vue 报错的情况下可以如下操作

import Vue from 'vue'

let vm = new Vue()
vm.$nextTick(() => {
   vm.$translate.execute()
})

总结 

到此这篇关于Vue项目引入translate.js国际化自动翻译组件的文章就介绍到这了,更多相关Vue引入translate.js组件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解如何写出一个利于扩展的vue路由配置

    详解如何写出一个利于扩展的vue路由配置

    这篇文章主要介绍了详解如何写出一个利于扩展的vue路由配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • vue编译打包本地查看index文件的方法

    vue编译打包本地查看index文件的方法

    下面小编就为大家分享一篇vue编译打包本地查看index文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • vue项目打包之后生成一个可修改IP地址的文件(具体操作)

    vue项目打包之后生成一个可修改IP地址的文件(具体操作)

    这篇文章主要介绍了vue项目打包之后生成一个可修改IP地址的文件(具体操作),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • 使用Vue3和ApexCharts实现交互式3D折线图

    使用Vue3和ApexCharts实现交互式3D折线图

    ApexCharts 是一个功能强大的 JavaScript 库,用于创建交互式、可定制的图表,在 Vue.js 中,它可以通过 vue3-apexcharts 插件轻松集成,本文给大家介绍了使用Vue3和ApexCharts实现交互式3D折线图,需要的朋友可以参考下
    2024-06-06
  • vuejs选中当前样式active的实例

    vuejs选中当前样式active的实例

    今天小编就为大家分享一篇vuejs选中当前样式active的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • vue中数组加Key方式

    vue中数组加Key方式

    这篇文章主要介绍了vue中数组加Key方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue devserver及其配置方法

    vue devserver及其配置方法

    这篇文章主要介绍了vue devserver及其配置方法,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】

    vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】

    这篇文章主要介绍了vue-video-player,通过自定义按钮组件实现全屏切换效果,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • vue等待数据渲染完成后执行下一个方法问题

    vue等待数据渲染完成后执行下一个方法问题

    这篇文章主要介绍了vue等待数据渲染完成后执行下一个方法问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Vue项目组件化工程开发实践方案

    Vue项目组件化工程开发实践方案

    这篇文章主要介绍了Vue项目组件化工程开发实践方案,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-01-01

最新评论