Скрипт может переводить текст, используя сайт Yahoo Babelfish.
Скрипт посылает HTTP-запрос на сайт Babelfish Yahoo для перевода указанного текста между двумя заданными языками.
Лицензия BSD.
Системные требования скрипта:
PHP не младше 5.0 версии; Посылка HTTP запросов, используя прокси с авторизацией → Скачайте этот скрипт, если вам нужно использовать прокси для отправки HTTP-запроса к Babelfish.
Исходник скрипта
// API__MODULE_BABELFISH (INTERFACE)
// CLS__MODULE_BABELFISH (CLASS)
interface api__module_babelfish
{
public static function babelfish_translate( $string_text, $string_from = 'en', $string_to = 'de' );
}
class cls__module_babelfish implements api__module_babelfish
{
private static $babelfish_service = 'http://babelfish.yahoo.com/translate_txt';
private static $babelfish_fields = array('ei'=>'UTF-8','doit'=>'done','fr'=>'bf-home','intl'=>'1','tt'=>'urltext','btnTrTxt'=>'Translate');
public static function babelfish_translate( $string_text, $string_from = 'en', $string_to = 'de' ){
$babelfish_query = '';
foreach( (array)self::$babelfish_fields as $string_key => $string_value ){
$babelfish_query .= $string_key.'='.$string_value.'&';
}
$babelfish_query .= 'lp='.$string_from.'_'.$string_to.'&trtext='.urlencode($string_text);
if( class_exists('cls__shell_proxy') && cls__shell_proxy::proxy_isset() ) {
$string_result = cls__shell_proxy::proxy_get( self::$babelfish_service.'?'.$babelfish_query );
} else {
$resource_query = fopen( self::$babelfish_service.'?'.$babelfish_query, "r" );
if( is_resource( $resource_query ) ){
$string_result = '';
while( !feof( $resource_query ) ){
$string_result .= fread( $resource_query, 1024 );
}
fclose( $resource_query );
} else $string_result = '';
}
preg_match('!(?<=id\=\"result\">).*?(?=\<\/div\>)!sm', $string_result, $array_result );
return strip_tags($array_result[0]);
}
}
Скачать архивы
Скачать zip-архив со скриптом.
Скачать tar.gz-архив со скриптом.
24 мар. 2012
2,888
0
Добавить комментарий