一键实现全站多语言化:translate.js 极简集成指南,支持Vue 、React 框架。 - 实践

365bet官网最新网址 📅 2026-01-21 02:44:22 ✍️ admin 👁️ 3585 ❤️ 957
一键实现全站多语言化:translate.js 极简集成指南,支持Vue 、React 框架。 - 实践

文章目录什么是 translate.js?✨ 核心优势 三分钟快速集成(非npm包集成)1. 通过cdn js方式集成2. 自定义样式(示例)3. 高级配置项 框架集成方案Vue 单文件组件运行效果 性能优化建议⚠️ 常见问题解决总结

什么是 translate.js?translate.js 是由 zvo.cn 团队开发的轻量级前端翻译库(仅 28KB),支持全站内容实时翻译。它通过智能解析 DOM 结构,结合云端翻译引擎和本地词库混合模式,为网站提供流畅的多语言体验。

官方地址:https://translate.zvo.cn/index.html体验地址:https://res.wang.market/translate/demo.html

✨ 核心优势✅ 支持 100+ 语言实时互译✅ 智能缓存机制减少重复请求✅ 自动保留 HTML 标签结构✅ 支持 Google/DeepL 等多翻译引擎✅ 免费版提供基础翻译能力(商用建议授权) 三分钟快速集成(非npm包集成)1. 通过cdn js方式集成只需在项目的 index.html 页底部添加如下代码

本人集成在 vue3 项目中, index.html 可以在根目录也可以在public目录,完整示例如下:

Vite App

2. 自定义样式(示例)

/* 自定义语言切换器样式 */

.translate_selectLanguage_tag {

position: fixed;

bottom: 20px;

right: 20px;

z-index: 9999;

background: #4a6cf7;

color: white;

padding: 8px 15px;

border-radius: 20px;

cursor: pointer;

box-shadow: 0 3px 10px rgba(74, 108, 247, 0.4);

}

3. 高级配置项

translate.setAutoDiscriminateLocalLanguage(); // 自动识别用户语言

translate.ignore.class.push('no-translate'); // 跳过指定 class 元素

// 使用 Google 引擎(需配置代理)

translate.setServiceProvider('google', {

proxyUrl: 'https://your-proxy-domain.com/translate'

});

// 自定义词汇映射(覆盖机器翻译)

translate.mapping.addVocabulary({

"首页": "HomePage",

"联系我们": "Contact Us"

});

框架集成方案Vue 单文件组件npm 引用

npm install i18n-jsautotranslate

main.js 引用

// main.js

import './assets/main.css'

import { createApp } from 'vue'

import App from './App.vue'

// import translate from 'i18n-jsautotranslate';

// // 是否显示语言切换栏

// translate.selectLanguageTag.show = true;

// // 监控页面动态渲染的文本进行自动翻译

// translate.listener.start();

const app = createApp(App);

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

app.mount('#app');

app页面引用

// App.vue

运行效果

性能优化建议本地缓存加速translate.setCache(true); 启用 localStorage 缓存翻译结果

预加载语言包translate.loadLanguage('english'); 用户访问时提前加载

排除动态内容translate.execute(); 在 AJAX 加载后手动执行翻译

CDN 加速 自托管库文件: