Lost in translation

Started by AzaToth, September 27, 2005, 03:39:51 PM

Previous topic - Next topic

AzaToth

Doesn't get it to work :( help?
<?php function translate($text, $langpair) {

global $sourcedir;
include_once($sourcedir . '/Subs-Package.php');
$url = 'http://translate.google.com/translate_t?';
$data = array(
'text' => $text,
'langpair' => $langpair,
);
$contents = fetch_web_data($url . http_build_query($data));
preg_match('#\<textarea.*?\>(.*?)\<\/textarea\>#', $contents, $matches);

return $matches[1];
}

function getPairCode($pair) {
$languagePairs = array(
'chinese to english' => 'zh-CN|en',
'english to chinese' => 'en|zh-CN',
'english to french' => 'en|fr',
'english to german' => 'en|de',
'english to italian' => 'en|it',
'english to japanese' => 'en|ja',
'english to korean' => 'en|ko',
'english to portuguese' => 'en|pt',
'english to spanish ' => 'en|es',
'french to english' => 'ft|en',
'french to german' => 'ft|de',
'german to english' => 'de|en',
'german to french' => 'de|fr',
'italian to english' => 'it|en',
'japanese to english' => 'ja|en',
'korean to english' => 'ko|en',
'portuguese to english' => 'pt|en',
'spanish to english' => 'es|en',
);
if(!isset($languagePairs[$pair]))
return '';
return $languagePairs[$pair];
}

?>

<?php array(
'tag' => 'lang',
'type' => 'parsed_equals',
'before' => '<span class="language" $1>',
'content' => '$1',
'after' => '</span>',
'validate' => create_function('&$tag, &$data, $disabled', '
global $context;
if(strtolower($data) != strtolower($context[\'user\'][\'language\'])) {
$pair = getPairCode(strtolower($data) . \' to \' . strtolower($context[\'user\'][\'language\']));
if($pair == \'\') {
$data = \'style="display: none"\';
}
else {
$tag[\'content\'] = translate($tag[\'content\'], $pair);
$data = \'\';
}
}
else
$data = \'\';
'
),
),
?>

Advertisement: