linux中web中英文切換(六)

linux中web的中英文切換

調用微軟頁面翻譯API : The Translator Web Widget API   實現自動對頁面進行中英文翻譯

微軟提供的Demo實現上也很簡單,分如下幾步:

  1. 引入The Translator Web Widget API
  2. 監聽dom加載完畢,調用Microsoft.Translator.Widget.Translate()整站翻譯。

http://ww2.sinaimg.cn/large/87c01ec7gy1fsseuwazdxj212w0o1dxu.jpg

 

1、封裝language.js

根據上面的對微軟提供的Demo的研究,我們對此進一步封裝,因爲中英文切換一般都是一次點擊後,往後的統一每個頁面都需要或不需要翻譯,這就需要記錄一個狀態值,這裏選用html5提供的storage來儲存這個狀態,並向外提供一個修改該狀態並刷新頁面的方法。故,該js(language.js)編寫如下:

$(function(){ 
      // do something 
    var script=document.createElement("script");  
    script.type="text/javascript";  
    script.src="http://www.microsoftTranslator.com/ajax/v3/WidgetV3.ashx?siteData=ueOIGRSKkd965FeEGM5JtQ**";  
    document.getElementsByTagName('head')[0].appendChild(script);  


    var value = sessionStorage.getItem("language");
    document.onreadystatechange = function () {
        if (document.readyState == 'complete') {
            if(value==="1"){
                Microsoft.Translator.Widget.Translate('zh-CHS', 'en', onProgress, onError, onComplete, onRestoreOriginal, 2000);
            }
        }
    }
    function onProgress(value) {
    }
    function onError(error) {
    }
    function onComplete() {
        $("#WidgetFloaterPanels").hide();
    }
    function onRestoreOriginal() { 
    }
});

function translate(){
    var value = sessionStorage.getItem("language");
    if(value==="1"){
        sessionStorage.setItem("language", "0"); 
    }else{
        sessionStorage.setItem("language", "1");
    }
    window.location.reload();//刷新當前頁面.
}

2、編寫測試頁面

編寫一個測試頁面(test.html)。要使用上面的language.js,必須進行以下三步:

  1. 設置頁面編碼爲utf-8
  2. 引入jquery和language.js
  3. 設置按鈕的點擊事件,去調用中英文切換函數:translate();

 
  1. <!DOCTYPE html>

  2. <head>

  3. <title>Microsoft Widget API Sample</title>

  4. <meta charset="UTF-8"/>

  5. <script type="text/javascript" src="jquery-1.11.3.js"></script>

  6. <script type="text/javascript" src="language.js"></script>

  7. </head>

  8. <body>

  9. <button id="change">中英文切換</button>

  10. </br></br></br></br></br></br></br></br></br></br></br></br></br></br></br>

  11. <div style="text-align: center" >

  12. 你好

  13. </div>

  14. </body>

  15. <script type="text/javascript">

  16. $("#change").click(function(){

  17. translate();

  18. })

  19. </script>

  20. </html>

 

三、其他

上面編寫的language.js中寫死了中文轉英文(zh-CHS轉en),如果項目需要其他語言的轉換,對language.js進行自定義擴展即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章