flagflag  

PHP for Google Translate anchor.png

<?php
$api = '....';
$ggl = 'https://www.googleapis.com/language/translate/v2';

$txt = '';
$src = '';
$dst = '';

if (isset($_GET['text'])) $txt = htmlentities($_GET['text'], ENT_QUOTES, 'utf-8');
if (isset($_GET['fr']))   $src = $_GET['fr'];
if (isset($_GET['to']))   $dst = $_GET['to'];
$osrc = $src;

//
if ($src==='auto' || empty($src)) {
       if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
               $langs = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
               $langs = array_reverse($langs);
               foreach($langs as $lang) {
                       $ctr = substr($lang, 0, 2);
                       if ($ctr!=$dst) {
                               $src = $ctr;
                               break;
                       }
               }
       }
       if ($src==='auto' || empty($src)) {
               if      ($dst!=='ja') $src = 'ja';
               else if ($dst!=='en') $src = 'en';
       }
}

//
if (!empty($txt) && !empty($src) && !empty($dst) && strlen($src)==2 && strlen($dst)==2 && $src!=$dst) {
       //
       $url = $ggl.'?key='.$api.'&q='.rawurlencode($txt).'&source='.$src.'&target='.$dst;

       $hndl = curl_init($url);
       curl_setopt($hndl, CURLOPT_RETURNTRANSFER, true);
       $resp = curl_exec($hndl);                         
       curl_close($hndl);

       $decd = json_decode($resp, true);

       if (array_key_exists('data', $decd)) {
               echo $decd['data']['translations'][0]['translatedText'];
       }
       else {
               echo 'ERROR : Google Translate returns error!!';
               error_log('trans.php: osrc = '.$osrc.', src = '.$src.', dist = '.$dst.', text = '.$txt);
               error_log('trans.php: '.print_r($decd, true));
       }
}
else {
       error_log('trans.php: osrc = '.$osrc.', src = '.$src.', dist = '.$dst.', text = '.$txt);
}

Front page   Freeze Diff Backup Copy Rename Reload   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 659, today: 3, yesterday: 0
Last-modified: 2015-12-16 (Wed) 00:06:16 (JST) (3061d) by iseki

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthMay 2024Next Month
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today

Who's Online

100 user(s) are online (23 user(s) are browsing xpwiki)

Members: 0
Guests: 100

more...

Access Counter

Today : 1231912319123191231912319
Yesterday : 1412914129141291412914129
Total : 2345792923457929234579292345792923457929234579292345792923457929
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com