Vue(三十三)国际化解决方案


摘自:https://blog.csdn.net/qq_41485414/article/details/81093999

(1)第一种方式:中英文两套页面

  优点:技术含量最低

  缺点:占内存,响应慢,麻烦

(2)第二种方式:谷歌插件

  优点:简单快捷,利用谷歌翻译

  缺点:翻译不完全准确,而且有谷歌的搜索栏,不是很好

  实现方法:

<div id="google_translate_element" style="position:absolute;bottom:10px;right:10px;z-index:2000;opacity:0.7">div>
<script>
        function googleTranslateElementInit() {
         
            new google.translate.TranslateElement(
                {
                    //pageLanguage: 'en',
                    layout: google.translate.TranslateElement.InlineLayout.SIMPLE
                }, 
                'google_translate_element'
            );
         
        }
    </script>
    <script src="https://translate.google.cn/translate_a/element.js?cb=googleTranslateElementInit"></script>

(3)第三种方式:插件translate.js

  优点:简单

  缺点:不适合大型网站

  实现方法:

  https://wangchujiang.com/translater.js/

  在页面上出现中文的地方写上中文和英文两种注释,然后通过切换来达到翻译页面的目的(Jquery)

DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>title>
        <script src="js/translater.js" type="text/javascript" charset="utf-8">script>
    head>
    <style type="text/css">
        button{margin-top: 1rem;}
        span{margin-top: 1rem;color: crimson;}
        div{margin-top: 1rem;}
        a{margin-top: 1rem;}
        input{margin-top: 1rem;}
    style>
    <body>
        <span>
            切换语言:
            
            
        span>
        <a href="javascript:tran.setLang('en');">Englisha>
        <a href="javascript:tran.setLang('cn');">中文a> 
        <select name="language" id="languager">
        <option value="chinese">
            中文
            
            
        option>
        <option value="english">
            英文
            
            
        option>
        select><br />
        <span>
            按钮:
            
            
        span>
        <button id='btn-addAlarmToEvent' type="button" class="btn btn-success">删除
        
        
        button><br /><br />
        
        <span>
            段落:
            
            
        span>
        <p>这是一段话
            
            
        p><br />
        
        <div id="test">
        <span>
                层级:
                
                
        span>
               这是一个层级    
        div><br />
        <span>
            另一个层级:
            
            
        span>
        <div id="test1">
         
        div><br />
        <span>
            超链接:
            
            
        span>
        <a href="">
            点击测试
            
            
        a><br />
        <span>
            超链接:
            
            
        span>
        
        <a href="test.html?lang=jp">
            点击进日语
            
            
        a>
        <span>
            输入框:
            
            
        span>
        
        <input type="submit" id="tj" name="" value="提交" />
        <input type="button" name="an" id="" value="这是一个按钮" />
    body>
    <script src="js/jquery-1.11.2.min.js" type="text/javascript" charset="utf-8">script>
    <script type="text/javascript">
         /* 初始化翻译的js,第一种写法,用href链接切换语种 */
         var tran = new Translater({
         });
         /* 第二种用法,其实都是一样,都是将默认的语种改为用户需要的语种 */
         $('#test').append("");
         $('#test1').text("这是层级的另一种写法").append("")
         $("#languager").on("change", function(e){
        var language=$(this).val();
        if(language=="chinese"){
            var tran;
            tran = new Translater();
            if (tran.getLang() === "default") tran.setLang('cn');
            var tran = new Translater({
                lang:"cn"
            });
        }else{
            var tran;
            tran = new Translater();
            if (tran.getLang() === "default") tran.setLang('en');
            var tran = new Translater({
                lang:"en"
            });
        }
    }); 
    script>
html>

(4)第四种方式:i18N

  优点:响应快,适合大中小型网站

  缺点:麻烦,难点多

  实现方法:vue可以使用elementui实现

  http://element-cn.eleme.io/#/zh-CN/component/i18n