Скрипт может переводить текст, используя сайт 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-архив со скриптом.

captcha