网站多语言前端翻译translate.js 在vue项目中的使用方法

06-01 1779阅读

网站多语言前端翻译translate.js 在vue项目中的使用方法

需求

客户网站,想要多语言版本的,通常的解决办法有两种:

1、最直接的办法:编写两种,或者多种语言版本的网站,也就是一个网站有几种语言,就重新编写几种对应的html模板,常用于中英文网站,语言版本较少的情况

2、因为客户语言版本较多,所以第一种方法就不太适用了,百度查找了一段时间,发现了一个神奇的翻译工具

translate.js 前端翻译:【两行js实现html全自动翻译。无需改动页面、无语言配置文件、无API Key、对SEO友好!】

前端翻译:https://translate.zvo.cn/41162.html

能力一:前端翻译

加入一个js文件及两行js代码,即可让你现有页面具有几百种语种切换能力。零门槛!详细参见 translate.js

能力二:翻译html的能力

传入html源码,指定要范围为什么语种,能将翻译之后的html源码返回。详细参见 translate.api

能力三:整站翻译及独立绑定域名 (TCDN)

将您现有的网站,翻译成全新其他语种网站,可以绑定域名并支持搜索引擎收录和排名。基于现有网站,无需改动源站,翻译全站网页,绑定独立域名,保证搜索收录。

详细参见 TCDN

根据需求,我的项目直接使用第一种前端翻译就能实现了!

index.html页面引入

  
     
  window.onload = function() {
      // 页面完全加载后执行的代码
      console.log('页面已加载完毕!');
      translate.language.setDefaultTo('chinese_simplified'); //设置本地语种(当前网页的语种)。如果不设置,默认就是 'chinese_simplified' 简体中文。 可填写如 'english'、'chinese_simplified' 等,具体参见文档下方关于此的说明
      translate.selectLanguageTag.languages = 'english,chinese_simplified,portuguese,french'
      translate.language.translateLanguagesRange = ['chinese_simplified'];
      //translate.setDocuments(document.getElementById('app'))
      translate.service.use('client.edge'); 
      translate.listener.start();    //开启html页面变化的监控,对变化部分会进行自动翻译。注意,这里变化区域,是指使用 translate.setDocuments(...) 设置的区域。如果未设置,那么为监控整个网页的变化
      translate.selectLanguageTag.show = false;   //是否显示 select选择语言的选择框,true显示; false不显示
      //translate.execute();      ///在vue页面中使用 window.translate.execute();
  }; 
  

vue页面中调用

onMounted(async ()=>{
  console.log('onMounted开始')  
  lang.value=window.sessionStorage.getItem('lang')
  //其它方法
  //最后执行翻译
  window.translate.execute()
  console.log("onMounted结束")
})

网站多语言前端翻译translate.js 在vue项目中的使用方法

注意:

1、在index.html中引入translate.js配置

2、在vue中需要翻译的地方执行:window.translate.changeLanguage(‘english’);

3、执行一定放到最后内容渲染完了,再执行,防止翻译漏了内容

如果在vue里面进行调用,比如你vue页面中有个切换语言的按钮,点击后进行切换为某种语言,千万不要在vue页面中引入 translate.js ,这样会造成重复引入重复翻译, vue中使用时只需要前面加个windows就好了,

比如 主动进行语言切换 不是vue的情况正常使用是 translate.changeLanguage(‘english’);

而在vue代码中触发则是 window.translate.changeLanguage(‘english’);

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码