Home > JS Text Translation | Javascript AJAX CSS > JS Text Translation - Google gadget (翻訳ガジェット)

JS Text Translation - Google gadget (翻訳ガジェット)


Google の提供している Google Ajax Language API を利用した翻訳ガジェットです。現在35カ国語の言語の翻訳が出来ます。

Google Codeページ

言語選択はセレクトメニューのオプションが35 (言語)もあるので、マウスホイールで選択出来るようにしました。一応クッキーを使って最後に翻訳した言語を次回読み出したときに表示できるようにしてます。長い文章の翻訳はまだ出来ませんが、日本語で200文字程度まで翻訳できます。英語は1000文字程度可能です。下のテキストエリアは翻訳した文章を再変換して文章の意味合いに違いがないか確認するためのものです。素早くできるので忙しい方は重宝すると思います。

this is Javascript code of mousewheel event that change options from select menu.

マウスホイールイベントを使ってセレクトメニューを変換するスクリプト

1    /**************************************************************
2     MouseWheel Event Listener Functions
3    
4     (C) 2007 Samurai-Logic.com
5    ***************************************************************/
6    
7    function load(){
8       if(/msie|chrome|opera/i.test(navigator.userAgent)){
9        window.onmousewheel=document.onmousewheel= showTime;
10       document.onmousemove = musMove;
11      }
12      elseif(/apple/i.test(navigator.userAgent)){ 
13       window.addEventListener( "mousewheel", showTime, false );
14        window.addEventListener("mousemove", musMove,true);
15      } 
16      elseif(/gecko/i.test(navigator.userAgent)){
17       window.addEventListener( "DOMMouseScroll", showTime, false );
18        window.addEventListener("mousemove", musMove,true);
19      }
20   
21   }
22   
23   function musMove(e){
24       if (document.all) //IE 
25       { x= document.body.scrollLeft+event.clientX; y= document.body.scrollTop+event.clientY; }
26       else/*if(document.getElementById)*/ { x= e.pageX;  y= e.pageY;}
27   }
28   
29   function showTime(e){
30       //if(mouse) return; mouse=true; 
31       var delta;
32       if(window.event && window.event.wheelDelta) delta = window.event.wheelDelta;
33       elseif(e.wheelDalta) delta = e.wheelDelta;
34       else delta = -(e.detail);  //Mozilla  
35   
36       delta = (delta<0)? -1 : 1;
37       
38       //temp=document.getElementById("fs");  
39       //var pointL=eval((temp.style.left).replace(/px/,""));    //find out left of fs 
40   
41       if(x>=208)        {el=document.getElementById("fs"); temp=0;}
42       elseif(y>234 && x<100)    {el=document.getElementById("src2");temp=5;}
43       elseif(y>234)        {el=document.getElementById("dst2");temp=4;}
44       elseif(x<100)        {el=document.getElementById("src");temp=2;}
45       elseif(y<31)        {el=document.getElementById("ff"); temp=1;}
46       elseif(y>134)        {el=document.getElementById("dst");temp=3;}
47       elsereturn;
48   
49       eL=eval((el.style.left).replace(/px/,""));
50       eW=eval(parseInt((el.style.width).replace(/px/,"")) + eL);
51       eT=eval((el.style.top).replace(/px/,""));
52       eH=eval(parseInt((el.style.height).replace(/px/,"")) + eT);
53   
54       if((x<eW && x>eL && y<eH && y>eT)){
55          stopDefault(e); 
56          var i=el.selectedIndex;
57          el.selectedIndex=i+delta;
58   
59          if(temp==0) $fs(el);
60          elseif(temp==1) $ff(el);
61          elseif(temp==2) {var src=$id("src").value;  src.selectedIndex+=delta;}
62          elseif(temp==3) {var dst=$id("dst").value;  dst.selectedIndex+=delta;}
63          elseif(temp==4) {var dst=$id("dst2").value; dst.selectedIndex+=delta;}
64          elseif(temp==5) {var src=$id("src2").value; src.selectedIndex+=delta;}
65       }
66       return;
67   }
68   
69   function stopDefault(e) { // stop default mousewheel event 
70         if (document.all) { //IE 
71               event.returnValue = false;
72               event.cancelBubble = true;
73         } else {
74             if(e.stopPropagation){ e.stopPropagation(); } 
75             if(e.preventDefault) { e.preventDefault();  }           
76         }
77       returnfalse;
78   }
79   

Gadget code : Google Ajax Language API

1    /*-------------------------------------------------*/
2        Gadget code : Google Ajax Language API
3        8 Oct. 2008 Samurai-logic.com
4    /*-------------------------------------------------*/
5        google.load("language", "1");
6        google.setOnLoadCallback(init);
7    
8        function init() {
9        var src  = $id('src');
10       var src2 = $id('src2');
11       var dst  = $id('dst');
12       var dst2 = $id('dst2');
13       var i=0;
14   
15         for (l in google.language.Languages) {
16       var lng = l.charAt(0)+(l.toLowerCase()).substring(1,l.length);//.toLowerCase(); 
17   
18       var lngCode = google.language.Languages[l];
19   
20       if (google.language.isTranslatable(lngCode)){
21           src.options.add(new Option(lng, lngCode));
22           src2.options.add(new Option(lng, lngCode));
23           dst.options.add(new Option(lng, lngCode));
24           dst2.options.add(new Option(lng, lngCode));
25           }
26         }
27       if (navigator.cookieEnabled){
28         var txt=document.cookie;        // "formula=10/19/19/10;" 
29         var txt=txt.replace(/[^\/\d]/g,"");
30         cx=new Array();  cx=txt.split("/");
31       }
32   
33       if(!/\d/.test(cx[0]))cx[0]=10;  //10=en, 19=ja 
34       if(!/\d/.test(cx[1]))cx[1]=19;
35       if(!/\d/.test(cx[2]))cx[2]=19;
36       if(!/\d/.test(cx[3]))cx[3]=10;
37   
38       src.selectedIndex=parseInt(cx[0]);  // selectIndex is index number of select 
39       dst.selectedIndex=parseInt(cx[1]);
40       src2.selectedIndex=parseInt(cx[2]);
41       dst2.selectedIndex=parseInt(cx[3]);
42   
43       google.language.getBranding('branding');//google logo 
44       submitChange(1);    //1=true ==> area1 
45       }
46   
47       function submitChange(num) {
48       if(num){
49           var temp = newString(tt[N]);    //temp=string value of current textarea 
50           var val  = $id(temp).value;    //val = data in current textarea 
51           var src  = $id('src').value;    //src language 
52           var dest = $id('dst').value;    //destination language 
53           google.language.translate(val, src, dest, $Res);//HTTP_Request 
54       }else{
55           var val  = $id("area1").value;    //area1 is 2nd textarea 
56           var src  = $id('src2').value;
57           var dest = $id('dst2').value;
58           google.language.translate(val, src, dest, $Res2);//need another function($Res) 
59       }
60       Save();        //save src, dst to cookie 
61       returnfalse;
62       }
63   
64       function $Res(result) {
65       var res = $id("area1");
66       if (result.translation) {
67         var str = result.translation.replace(/&#39;|&#039(\;)?/g,"'").replace(/&quot;/g,"\"").replace(/&amp;/g,"&"); //.replace('>', '&gt;').replace('<', '&lt;'); 
68         res.value = str;
69       }else{
70         res.value = "Error Translating";
71       }
72       }
73   
74       function $Res2(result) {
75       var res = $id("area2");
76       if (result.translation) {
77         var str = result.translation.replace(/&#39;|&#039(\;)?/g,"'").replace(/&quot;/g,"\"").replace(/&amp;/g,"&"); //.replace('>', '&gt;').replace('<', '&lt;'); 
78         res.value = str;
79       }else{
80         res.value = "Error Translating";
81       }
82       }
83   

Comments:0

Comment Form

Home > JS Text Translation | Javascript AJAX CSS > JS Text Translation - Google gadget (翻訳ガジェット)

Return to page top