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实现国际化自动翻译内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vuex mutations的两种调用方法小结

    vuex mutations的两种调用方法小结

    这篇文章主要介绍了vuex mutations的两种调用方法小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Delete `,` 如何解决(vue eslint与prettier冲突)

    Delete `,` 如何解决(vue eslint与prettier冲突)

    这篇文章主要介绍了Delete `,` 如何解决(vue eslint与prettier冲突)问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • npm安装vue@cli报错的简单处理方式

    npm安装vue@cli报错的简单处理方式

    最近工作中遇到了报错,现在将解决的办法分享给大家,下面这篇文章主要给大家介绍了关于npm安装vue@cli报错的简单处理方式,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • VUE3引入html文件并传值方法举例

    VUE3引入html文件并传值方法举例

    这篇文章主要给大家介绍了关于VUE3引入html文件并传值的相关资料,这是最近在项目中遇到了的一个需求,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • vue前端动态导入文件之import.meta.glob导入图片详细过程

    vue前端动态导入文件之import.meta.glob导入图片详细过程

    在Vue3中你可以使用import.meta.glob来动态加载主题文件,并通过TypeScript实现精确的类型推断,这篇文章主要介绍了vue前端动态导入文件之import.meta.glob导入图片的相关资料,需要的朋友可以参考下
    2025-07-07
  • Vue3使用vue-office插件实现word预览功能

    Vue3使用vue-office插件实现word预览功能

    vue-office是一个支持多种文件(docx、.xlsx、pdf)预览的vue组件库,支持vue2和vue3,这篇文章主要介绍了Vue3使用vue-office插件实现word预览功能,需要的朋友可以参考下
    2024-04-04
  • Vue2中实现输入中文自动转化为拼音且不带音调的实现方案

    Vue2中实现输入中文自动转化为拼音且不带音调的实现方案

    文章介绍了在Vue2中实现输入中文自动转化为拼音且不带音调的几种方案,包括使用pinyin库、自定义指令、计算属性、带防抖的优化版本以及使用其他拼音库,推荐使用方案一和方案三,因其实现简单且易于维护,感兴趣的朋友跟随小编一起看看吧
    2025-12-12
  • vue实现公共组件传值并及时监听到数据更新视图

    vue实现公共组件传值并及时监听到数据更新视图

    这篇文章主要介绍了vue实现公共组件传值并及时监听到数据更新视图方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • 详解在vue-cli中使用graphql即vue-apollo的用法

    详解在vue-cli中使用graphql即vue-apollo的用法

    这篇文章主要介绍了详解在vue-cli中使用graphql即vue-apollo的用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • vue去掉严格开发,去掉vue-cli安装时的eslint或修改配置方式

    vue去掉严格开发,去掉vue-cli安装时的eslint或修改配置方式

    这篇文章主要介绍了vue去掉严格开发,去掉vue-cli安装时的eslint或修改配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04

最新评论