首页 前端知识 translate.js实现自动翻译页面(无需配置语言包)

translate.js实现自动翻译页面(无需配置语言包)

2025-03-12 12:03:09 前端知识 前端哥 235 51 我要收藏
 插件链接地址:

translate: 两行js实现html全自动翻译,页面无需改动,无语言配置文件,无API Key,对SEO友好!

支持语种:

/language.json

存在问题:

页面中类似弹窗那种,初始化时未显示的那部分,无法直接翻译,只能翻译可视区域内,无法翻译部分还需借助vue-i18n处理。

在html页面中使用:
<body>
   <div>普京将对中国进行国事访问热</div>
   <div>歌手导演洪啸:报名确认好档期呀热</div>
   <div>扫码可领个人劳动补贴?不实</div>
   <div>普京将对中国进行国事访问热</div>
   <div>歌手导演洪啸:报名确认好档期呀热</div>
   <div>扫码可领个人劳动补贴?不实</div>
   <div>普京将对中国进行国事访问热</div>
   <div>歌手导演洪啸:报名确认好档期呀热</div>
   <div>扫码可领个人劳动补贴?不实</div>
   <div>普京将对中国进行国事访问热</div>
   <div>歌手导演洪啸:报名确认好档期呀热</div>
   <div>扫码可领个人劳动补贴?不实</div>
   <div>普京将对中国进行国事访问热</div>
   <div>歌手导演洪啸:报名确认好档期呀热</div>
   <div>扫码可领个人劳动补贴?不实</div>
   <div id="translate">
        <span>2</span>
   </div>
</body>
<script src="https://cdn.staticfile.net/translate.js/3.1.7/translate.js"></script>
<script> 
translate.language.setDefaultTo('russian');   //chinese_traditional-繁体   chinese_simplified-简体  english-英语
translate.execute(); 
</script>

vue中使用:

项目入口文件:index.html
引入:<script src="https://cdn.staticfile.net/translate.js/3.1.7/translate.js"></script>
<script>
    translate.ignore.class.push('global_lang_btn');  //忽略不翻译的元素节点
    let lang = localStorage.getItem("current_lang");  //页面刷新后能获取到之前设置的语种
    if(lang){
        translate.language.setDefaultTo(lang);
        translate.execute();
    } 
<script>



<el-dropdown placement="bottom">
    <span class="el-dropdown-link">
        <img src="@/assets/image/Language.svg" />
    </span>
    <el-dropdown-menu slot="dropdown">
        <el-dropdown-item>
            <span class="ignore" @click="setLang('zh')">中文简体</span>
        </el-dropdown-item>
        <el-dropdown-item>
            <span class="ignore" @click="setLang('hk')">中文繁體</span>
        </el-dropdown-item>
        <el-dropdown-item>
                <span class="ignore" @click="setLang('en')">English</span>
        </el-dropdown-item>
    </el-dropdown-menu>
</el-dropdown>



js:
setLang(lang){
    localStorage.setItem("current_lang",lang);
    translate.changeLanguage(lang);  //不跳页面直接切换语言
    //this.$nextTick(()=>{  //设置菜单下的选中状态的距离左侧的距离
        //this.$refs.bgBarRef.style.width=this.$refs.navRefs[0].offsetWidth+"px";
    //})
    this.$i18n.locale = lang;
}

转载请注明出处或者链接地址:https://www.qianduange.cn//article/23335.html
标签
评论
会员中心 联系我 留言建议 回顶部
复制成功!