|
|
|
| Привет всем! У меня вот такой вот вопрос у меня есть сайт я хочу сделать его многоязычном для того чтобы я его не переводил сам а вместо меня translate.google.ru. Я знаю что это делается через парсер но не знаю как :( помогите пожалуйста. Суть таково я в админке добавляю новый страницку нажимаю добавить и ну и работает парсер переводить его через translate.google.ru и обратно в бд вставляет помогите плеез я ваше проста не знаю как делается парсер | |
|
|
|
|
|
|
|
для: Стажер
(10.02.2011 в 22:30)
| | Попробуйте-ка сначала целый текст на английском перевести через такой вот переводчик на русский и почитайте, что получилось.
Кому нужна такая мультиязычность? | |
|
|
|
|
|
|
|
для: Стажер
(10.02.2011 в 22:30)
| |
<?
class GoogleTranslate{
protected static $url = "http://ajax.googleapis.com/ajax/services/language/translate";
protected static $version = "1.0";
protected static function getUrl($url)
{
$useragent='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$html = curl_exec($ch) ;
curl_close($ch);
return $html;
}
public static function get($str, $from = 'ru', $to = 'en')
{
$url = self::$url."?v=".self::$version."&q=".rawurlencode($str)."&langpair=".$from."%7C".$to;
$json = self::getUrl($url);
$data = json_decode($json);
return $data->responseData->translatedText;
}
}
$TEXT='Попробуйте-ка сначала целый текст на английском перевести
через такой вот переводчик на русский и почитайте, что получилось.
Кому нужна такая мультиязычность?';
echo GoogleTranslate::get($TEXT);
// Try and at first the whole text in English translated by an interpreter in Russian here and read what happened.
//Who needs a multilingual?
|
Класс рабочий ,но не до конца доработанный и не оптимизированный ,тренируйтесь сами :) | |
|
|
|
|
|
|
|
для: Косорылый
(10.02.2011 в 23:38)
| | А не легче ли сделать так:
http://translate.google.com/translate?hl=ru&sl=ru&tl=en&u=http://www.yoursite.com (RUS-ENG)
http://translate.google.com/translate?hl=ru&sl=ru&tl=uk&u=http://www.yoursite.com (RUS-UKR)
http://translate.google.com/translate?hl=ru&sl=ru&tl=it&u=http://www.yoursite.com (RUS-ITA)
И т.д. | |
|
|
|
|
|
|
|
для: Deed
(11.02.2011 в 13:58)
| | Нет не легче. Сколько вы текста передадите методом get? | |
|
|
|
|
|
|
|
для: Стажер
(10.02.2011 в 22:30)
| |
<?php
function translateTitleByGoogle ($string, $from = 'ru', $to = 'en') {
$params = array();
$params['v'] = '1.0';
$params['langpair'] = "{$from}|{$to}";
$params['q'] = $string;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://ajax.googleapis.com/ajax/services/language/translate');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, 'http://google.com/');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$body = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($http_code == 200) {
$json_response = json_decode($body);
if ($json_response->responseStatus == 200) {
return $json_response->responseData->translatedText;
}
}
return false;
}
echo translateTitleByGoogle("Тут текст для перевода");
?>
|
| |
|
|
|
|
|
|
|
для: mihdan
(13.02.2011 в 22:47)
| | Гугл юзерагента хочет и рефера пасёт ,иначе много не напереводишь ,выкинет капчу (в лучшем случае) | |
|
|
|