Помощник
|
Онлайн перевод |
ZhukV
|
Сообщение
#1
|
||
|
|
||
|
|||
ZhukV
|
Сообщение
#2
|
|
Псс, что с гуглом творится....... ?????
Вот кусок кода: [PHP] /** * Translate text * * @param $text [string] * Text * * @param $lang_source [string] * Language source * * @param $desc_source [string] * Destination source * * @return [string] * Translated text */ function _google_translate($text, $lang_source = 'en', $lang_dest = 'en', $separate = NULL) { if ($lang_source == $lang_dest || !$lang_source || !$lang_dest || !array_key_exists($lang_source, _google_translate_get_languages()) || !array_key_exists($lang_dest, _google_translate_get_languages())) { return $text; } $limit = variable_get('google_translate_query_limit_char', 1000); $strlen = strlen ($text); $base_url = 'http://ajax.googleapis.com/ajax/services/language/translate'; $queries_version = variable_get('google_translate_query_version', '1.0'); $langpair = $lang_source . '|' . $lang_dest; $queries = array(); if ($strlen < $limit) { $queries[] = array( 'q' => $text, 'v' => $queries_version, 'langpair' => $langpair ); } else { $separate = !empty($separate) ? $separate : variable_get('google_translate_query_separate', "\n"); $temp = explode($separate, $text); $query = array_shift($temp); $temp_strlen = strlen($query); foreach ($temp as $t) { if ($temp_strlen + strlen($t) + strlen($separate) > $limit) { $queries[] = array( 'q' => $query, 'v' => $queries_version, 'langpair' => $langpair, 'count' => strlen($query) ); $query = $t; $temp_strlen = strlen($query); } else { $temp_strlen += (strlen($t) + strlen($separate)); $query .= $separate . $t; } } $queries[] = array( 'q' => $query, 'v' => $queries_version, 'langpair' => $langpair ); } unset ($temp, $temp_strlen, $query); $result = ''; foreach ($queries as $key_query => $query) { $url = url($base_url, array('query' => $query, 'absolute' => TRUE)); $options = array( 'method' => 'POST', 'headers' => array( 'referer' => 'http://google.com' ) ); $temp_result = drupal_http_request($url, $options); //sleep(2); unset ($queries[$key_query]); if ($temp_result->code != 200) { watchdog('google_tranlsate', t('Error translate text. Reason: <b>!reason</b>. [Count char:<b>!count</b>]', array('!reason' => $temp_result->status_message, '!count' => strlen($query['q']))), array(), WATCHDOG_ERROR); drupal_set_message(t('Error translate text.'), 'error'); return FALSE; } $temp_result->data = drupal_json_decode($temp_result->data); $result .= $temp_result->data['responseData']['translatedText'] . (count($queries) ? $separate : ''); } return $result; } [/PHP] Обошел предел в 2000 символов. Если просто запускать скрипт, то переводит без проблем, пробивал даже 10000 символов. Но если поставить на цыкл (есть парсер с онлайн переводом), переводит раз через два. Уже пробивал ставить задержки, ничерта не помогает. Может кто стыкался с такой проблемой? |
|
|
SOKOJI |
10.6.2011, 10:48;
Ответить: SOKOJI
Сообщение
#3
|
|
Вообще, гугл собирался отключать api для переводчика. Может, с этим связано?
|
|
|
forest69 |
10.6.2011, 12:27;
Ответить: forest69
Сообщение
#4
|
|
А если вот этот попробовать?\
http://www.translate.ru/Webmastertools.aspx Я им всегда пользуюсь. Переводит хорошо |
|
|
ZhukV
|
Сообщение
#5
|
|
forest69, спс, но мне не нужно переводить полностью весь сайт.
Идея такова: Есть американський сайт. Его нужно пропарсить в режиме реально времени, перед занесением в БД, перевести на человеческий руский. |
|
|
NiKON_hb |
11.6.2011, 0:22;
Ответить: NiKON_hb
Сообщение
#6
|
|
|
Google отключил Translate API, http://code.google.com/intl/ru-RU/apis/language/ <- подтверждение "Google Language API Family (Deprecated)"
Да и "на человеческий руский" вам не переведет ни один переводчик (программа). Жаль что такое API закрыли.
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат | 55 | arendator | 35107 | Вчера, 2:12 автор: arendator |
|
366.cash - Обменник криптовалют онлайн | 7 | DenisP366 | 1904 | 21.4.2024, 16:14 автор: DenisP366 |
|
Прием платежей онлайн c Paykassma | Процессинг платежей с 2019 | Платежный шлюз | Merchant Accounts ✅✅✅ | 0 | paykassma | 465 | 16.4.2024, 13:45 автор: paykassma |
|
Онлайн магазин качественных аккаунтов Продажа аккаунтов - соц сети, почтовые, фрихостинг, популярных служб |
120 | Alanamana | 73184 | 5.4.2024, 7:35 автор: Alanamana |
|
Ищу подработку Онлайн. Копипастер, скачивание/загрузка видео, модератор, регистрации |
3 | angel737 | 7099 | 30.3.2024, 14:45 автор: jack |
Текстовая версия | Сейчас: 26.4.2024, 0:07 |