Vue项目中引入translate.js实现国际化自动翻译功能实例

 更新时间:2025年07月22日 09:39:45   作者:_gxy  
translate.js帮你一行代码搞定翻译,支持Google、DeepL、LibreTranslate等多个主流翻译引擎,Node.js和浏览器通用,这篇文章主要介绍了Vue项目中引入translate.js实现国际化自动翻译功能的相关资料,需要的朋友可以参考下

1. translate.js 简介

translate.js 是一个自动翻译组件,具有以下优点:

  1. 自动翻译:自动匹配本地语种,无需手动维护翻译字典。
  2. 利于 SEO:对搜索引擎友好,提升网页的搜索排名。
  3. 使用简单:直接引入即可使用。
  4. 瞬时翻译:使用缓存预加载,翻译速度快。

但也有一些缺点:

  1. DOM 不刷新:DOM 内容刷新时不会自动翻译,需手动调用翻译方法。
  2. 中译英时 DOM 节点仍为中文:获取 DOM 节点时,内容仍为中文,可能影响某些场景。

​2. 安装与引入

​2.1 安装

通过 npm 安装 translate.js

npm i i18n-jsautotranslate

​2.2 引入

在 main.js 中引入并配置 translate.js

import translate from 'i18n-jsautotranslate';

// 设置使用 v2.x 版本
translate.setUseVersion2();

// 是否显示语言切换栏
translate.selectLanguageTag.show = false;

// 监控页面动态渲染的文本进行自动翻译
translate.listener.start();

// Vue 2
Vue.prototype.$translate = translate;

// Vue 3
app.config.globalProperties.$translate = translate;

​3. 使用 translate.js

​3.1 Vue 2 中使用

// 切换语言并翻译
function languageAuto() {
  const language = this.$translate.getLanguage();
  if (language === "zh") {
    this.$translate.changeLanguage("english");
  } else {
    this.$translate.changeLanguage("chinese_simplified");
  }
  this.$translate.execute(); // 执行翻译
}

​3.2 Vue 3 中使用

import { ref, getCurrentInstance } from 'vue';

const instance = getCurrentInstance();
const translate = instance.appContext.config.globalProperties.$translate;

const language = ref("en");

function languageAuto() {
  language.value === "zh" ? (language.value = "en") : (language.value = "zh");
  localStorage.setItem("language", JSON.stringify({ language: language.value }));

  if (language.value === "zh") {
    translate.changeLanguage("chinese_simplified");
  } else {
    translate.changeLanguage("english");
  }
  translate.execute(); // 执行翻译
}

​4. 支持的语言

translate.js 支持多种语言,例如:

  • English:英文
  • chinese_traditional:繁体中文
  • chinese_simplified:简体中文

更多语言支持请参考文档:translate.js 文档

​5. 注意事项

  1. DOM 刷新问题

    • 当 DOM 内容刷新时,translate.js 不会自动翻译,需手动调用 translate.execute()
  2. SEO 优化

    • 虽然 translate.js 对 SEO 友好,但在中译英时,DOM 节点内容仍为中文,需结合 i18n 使用以优化 SEO。
  3. 性能优化

    • translate.js 使用缓存预加载,但频繁翻译可能影响性能,建议合理使用。

​6. 总结

特性说明
自动翻译自动匹配本地语种,无需维护翻译字典
利于 SEO对搜索引擎友好,提升网页搜索排名
使用简单直接引入即可使用
瞬时翻译使用缓存预加载,翻译速度快
DOM 刷新问题DOM 内容刷新时需手动调用翻译方法
中译英 DOM 节点获取 DOM 节点时内容仍为中文

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

相关文章

  • vue如何搭建多页面多系统应用

    vue如何搭建多页面多系统应用

    这篇文章主要为大家详细介绍了vue搭建多页面多系统应用的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • easycom模式开发UNI-APP组件调用必须掌握的实用技巧

    easycom模式开发UNI-APP组件调用必须掌握的实用技巧

    uni-app基于VUE开发,通常组件的使用都是先安装,然后全局或者局部引入,注册,今天通过本文给大家分享easycom模式开发UNI-APP组件调用必须掌握的实用技巧,需要的朋友一起看看吧
    2021-08-08
  • Vue实现todo应用的示例

    Vue实现todo应用的示例

    这篇文章主要介绍了Vue实现todo应用的示例,帮助大家更好的理解和学习使用vue框架,感兴趣的朋友可以了解下
    2021-02-02
  • 详解vue2如何处理xml格式的数据

    详解vue2如何处理xml格式的数据

    这篇文章主要为大家详细介绍了在vue2中如何处理xml格式的数据,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下
    2024-03-03
  • 详解Vue前端对axios的封装和使用

    详解Vue前端对axios的封装和使用

    这篇文章主要介绍了Vue前端对axios的封装和使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Vuex2.0+Vue2.0构建备忘录应用实践

    Vuex2.0+Vue2.0构建备忘录应用实践

    这篇文章主要为大家详细介绍了Vuex2.0+Vue2.0构建备忘录应用实践,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • vue-nuxt 登录鉴权的实现

    vue-nuxt 登录鉴权的实现

    本文主要介绍了vue-nuxt 登录鉴权的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • electron实现打印功能支持静默打印、无感打印

    electron实现打印功能支持静默打印、无感打印

    使用electron开发应用遇到了打印小票的功能,实现途中还是几经波折,下面这篇文章主要给大家介绍了关于electron实现打印功能支持静默打印、无感打印的相关资料,需要的朋友可以参考下
    2023-12-12
  • 一起来学习Vue的组件化

    一起来学习Vue的组件化

    这篇文章主要为大家详细介绍了Vue的组件化,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • 解决ant Design中Select设置initialValue时的大坑

    解决ant Design中Select设置initialValue时的大坑

    这篇文章主要介绍了解决ant Design中Select设置initialValue时的大坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10

最新评论