Home

tr.php (7.18kB)


<?php

//Fast Translator

//Uses the Babelfish Translation Service

//By Joey C.  http://jwcxz.com/

//Still being developed.

//TODO:                                                                           STATUS:

//1.  Implement focus triangle to point where the accents will be placed.         [Done.]

//2.  Convert the explode() functions to REGEX.                                   Maybe not.

//3.  Port the displaying to AJAX.  Maybe offer an AJAX and non-AJAX version?     [Done.]

if ($_REQUEST['lp']=="es_en" || $_REQUEST['lp']=="en_es") {

     if ($_REQUEST['lp']=="es_en") {

           $trtext = str_ireplace("'a", "á", $_REQUEST['trtext']);

           $trtext = str_ireplace("'e", "é", $trtext);

           $trtext = str_ireplace("'i", "í", $trtext);

           $trtext = str_ireplace("'o", "ó", $trtext);

           $trtext = str_ireplace("'u", "ú", $trtext);

           $trtext = str_ireplace("~n", "ñ", $trtext);                                                            

     }

     else $trtext = $_REQUEST['trtext'];

#      $tr = fopen("http://babelfish.altavista.com/tr?tt=urltext&lp={$_REQUEST['lp']}&trtext=".urlencode($trtext), 'r');

     $tr = fopen("http://babelfish.yahoo.com/translate_txt?lp={$_REQUEST['lp']}&trtext=".urlencode($trtext), 'r');

     $content = stream_get_contents($tr);

     $content = explode('<div id="result"><div style="padding:0.6em;">', $content);

     $content = explode("</div></div>", $content[1]);

     echo $content[0];

}      

else {

?>

     <html>

     <head>

     <style type="text/css">

     body { font-family: Calibri, Tahoma, Arial; font-size: 12pt }

     #trbox { text-align:center; width: 90%; background-color: #CCFFCC; padding: 20px; border: 1px solid #000000; margin: 5px auto 20px; }

     #trtools { width: 90%; padding: 20px; text-align: center; margin: 0px auto 0px; border: 1px solid #000; background-color: #DFD; height: 100px }

     #trinputs { text-align:center; float: left; width: 80%; }

     #traccbox { text-align: center; float: right; width: 18%; border: 1px solid #000; padding: 3px; background-color: #AAFFAA}

     

     a.acchar, a.cchar:link, a.cchar:visited { color: #000; text-decoration: none; border: 1px solid #7F7; background-color: #BFB; padding: 2px; }

     a.acchar:hover { color: #000; text-decoration: none; border: 1px solid #7F7; background-color: #5F5; padding: 2px; }

     a.cchar:active { color: #000; text-decoration: none; border: 1px solid #7F7; background-color: #BFB; padding: 2px; }

     

     #title { text-align:center; margin: 0px auto 0px }

     #subtitle { text-align:center; margin: 0px auto 3px; font-weight: bold }

     #info { text-align:center; margin: 0px auto 10px }

     

     input { width: 75%; padding: 10px; background: #DDD; border: 1px solid #777; color: #777 }

     input:hover { border: 1px solid #000; color: #000 }

     input:focus { background: #FFF; border: 1px solid #000; color: #000 }      

     </style>

     

     <title>JoeyJWC Labs :: Fast Translation</title>

     <script language="javascript">

     function switchFocus(newfoc) {

             accbox = newfoc

             if (newfoc=='es_en') { blankfoc = 'en_es' }

             else { blankfoc = 'es_en' }

             eval( 'document.'+newfoc+'.'+newfoc+'AccImg.src=\'arrow.gif\';' );

             eval( 'document.'+blankfoc+'.'+blankfoc+'AccImg.src=\'blank.gif\';' );

     }

     

     

     function createRequestObject() {  //Shamelessly copied and modified from http://mikeoncode.blogspot.com/2006/02/ajax-project-to-get-you-going.html

           var ro;

           var browser = navigator.appName;

           if(browser == "Microsoft Internet Explorer"){

                 ro = new ActiveXObject("Microsoft.XMLHTTP");

           }

           else{

                 ro = new XMLHttpRequest();

           }

           return ro;

     }

           

     var http = createRequestObject();

           

     function sndReq(formlp, formtrtext) {

           document.getElementById('trbox').innerHTML = '<img src="working.gif" alt="Working, please wait..." />';

           http.open('GET', 'tr.php?lp='+formlp+'&trtext='+escape(formtrtext));

           http.onreadystatechange = handleResponse;

           http.send(null);

     }

           

     function handleResponse() {

           if(http.readyState == 4){

                 var response = http.responseText;

                 document.getElementById('trbox').innerHTML = unescape(response);

           }

     }

     </script>

     </head>

     <body>

     <h1 id="title">Fast Translator</h1>

     <p id="subtitle">By <a href="http://jwcxz.com/">Joey C.</a> (<a href="viewsrc.php?filename=tr.php">View Source</a>)</p>

     <p id="info">This service makes use of the <a href="http://babelfish.altavista.com/">Babel Fish Translation Service</a> by AltaVista</p>

     

     

     <div id="trbox">&nbsp;</div>

     

     <div id="trtools">

     <div id="trinputs">

           <form action="javascript:sndReq('es_en', document.getElementById('trtextes').value);document.es_en.trtext.select();" name="es_en">

                 <input type="hidden" name="lp" value="es_en" />

                 Spanish to English: <input type="text" name="trtext" id="trtextes" onFocus="switchFocus('es_en');" />

                 <img name="es_enAccImg" src="arrow.gif" />

           </form>

           <form action="javascript:sndReq('en_es', document.getElementById('trtexten').value);document.en_es.trtext.select();" method="POST" name="en_es">

                 <input type="hidden" name="lp" value="en_es" />

                 English to Spanish: <input type="text" name="trtext" id="trtexten" onFocus="switchFocus('en_es');" />

                 <img name="en_esAccImg" src="blank.gif" />

           </form>

     </div>

     

     <div id="traccbox"><p class="accline">

           <a class="acchar" onMouseOver="Aaccbox = accbox;" onClick="eval('document.'+Aaccbox+'.trtext.value+=\'Á\';'); eval('document.'+Aaccbox+'.trtext.focus();');" onFocus="document.es_en.trtext.focus();" href="#">Á</a>

           <a class="acchar" onClick="eval('document.'+accbox+'.trtext.value+=\'É\';'); eval('document.'+accbox+'.trtext.focus();');" href="#">É</a>

           <a class="acchar" onClick="eval('document.'+accbox+'.trtext.value+=\'Í\';'); eval('document.'+accbox+'.trtext.focus();');" href="#">Í</a>

           <a class="acchar" onClick="eval('document.'+accbox+'.trtext.value+=\'Ñ\';'); eval('document.'+accbox+'.trtext.focus();');" href="#">Ñ</a>

           <a class="acchar" onClick="eval('document.'+accbox+'.trtext.value+=\'Ó\';'); eval('document.'+accbox+'.trtext.focus();');" href="#">Ó</a>

           <a class="acchar" onClick="eval('document.'+accbox+'.trtext.value+=\'Ú\';'); eval('document.'+accbox+'.trtext.focus();');" href="#">Ú</a>

           <a class="acchar" onClick="eval('document.'+accbox+'.trtext.value+=\'Ü\';'); eval('document.'+accbox+'.trtext.focus();');" href="#">Ü</a></p><p class="accline">

           <a class="acchar" onClick="eval('document.'+accbox+'.trtext.value+=\'á\';'); eval('document.'+accbox+'.trtext.focus();');" href="#">á</a>

           <a class="acchar" onClick="eval('document.'+accbox+'.trtext.value+=\'é\';'); eval('document.'+accbox+'.trtext.focus();');" href="#">é</a>

           <a class="acchar" onClick="eval('document.'+accbox+'.trtext.value+=\'í\';'); eval('document.'+accbox+'.trtext.focus();');" href="#">í</a>

           <a class="acchar" onClick="eval('document.'+accbox+'.trtext.value+=\'ñ\';'); eval('document.'+accbox+'.trtext.focus();');" href="#">ñ</a>

           <a class="acchar" onClick="eval('document.'+accbox+'.trtext.value+=\'ó\';'); eval('document.'+accbox+'.trtext.focus();');" href="#">ó</a>

           <a class="acchar" onClick="eval('document.'+accbox+'.trtext.value+=\'ú\';'); eval('document.'+accbox+'.trtext.focus();');" href="#">ú</a>

           <a class="acchar" onClick="eval('document.'+accbox+'.trtext.value+=\'ü\';'); eval('document.'+accbox+'.trtext.focus();');" href="#">ü</a></p>

     </div>

     </div>

     </body>

     </html>

<?php } ?>