Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Сервис определения языка старницы в инете
цитата
06/11/08 в 01:43
 _4eburek
Нужно что то примерно такое
Ввожу в поле на сайте УРЛ страницы в инете, нажимаю кнопку и сервис мне пишет : что бла бла бла на такой то странице УРЛ текст написан на португальском языке, или что написан на французском ? Есть такое ? Ну очень надо.
цитата
06/11/08 в 02:07
 sergio21
Наверное, надо парсить код страницы на содержимое тэга <meta name="language" content="...">
Если он там есть, конечно...
Пару строчек кода в примитивной парсилке.
цитата
06/11/08 в 09:14
 Alexandur
Чтобы определить язык страницы, нужно понимать этот язык.
Так что, опознание возможно только по косвенным признакам.

Как уже сказали
Код:
<meta name="language" content="fr" />
или
<meta http-equiv="content-language" content="pl">

либо для сайтов в xhtml
Код:
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
или
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-pt" lang="pt-pt" dir="ltr">


ещё можно посмотреть на charset, но тоже далеко не всегда по нему можно определить
Код:
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">


Ну и доменная зона icon_smile.gif
цитата
06/11/08 в 09:42
 _4eburek
А просто по тексту на странице какой нибудь онлайн переводчик не сможет определить что ли какой язык ему дали переводить?
цитата
06/11/08 в 17:49
 Alexs
тут еще прикол может быть что сайт в зависемостьи от ip и от языка броузера может от довать разные страницы
цитата
06/11/08 в 19:02
 sergio21
_4eburek писал:
А просто по тексту на странице какой нибудь онлайн переводчик не сможет определить что ли какой язык ему дали переводить?

"Это вряд-ли..." (Сухов, "Белое солнце пустыни")
цитата
06/11/08 в 19:40
 TRUE_AND_FALSE
Можно попробывать проверять сграбленный текстовый контент на признаки того или иного языка. Допустим брать на инглиш буквы A, O, E и русские А, О, Е так же французкие и немецкие. И тупо парсить текст на эти буквы. Найдутся буквы значит к токому языку пренадлежит. Еще не эксперементировал smail101.gif
цитата
06/11/08 в 22:03
 Klirik
Гуглю можно понасильничать icon_smile.gif, если проверяемая пага проиндексирована.
В выдаче гугли есть линк "Перевести эту страницу/Translate this page", в этой линке, в параметре sl - искомый язык страницы, а в hl - твой или заданный.
И насколько я помню, если hl=sl, то этот линк "Перевести эту страницу/Translate this page", не появится, т.к. язык проверяемой страницы, тот же что и твой.
Вот почти алгоритм парсилки )
цитата
08/11/08 в 04:11
 Sirgey
TRUE_AND_FALSE писал:
Можно попробывать проверять сграбленный текстовый контент на признаки того или иного языка. Допустим брать на инглиш буквы A, O, E и русские А, О, Е так же французкие и немецкие. И тупо парсить текст на эти буквы. Найдутся буквы значит к токому языку пренадлежит. Еще не эксперементировал smail101.gif


Универсального решения не существует, гугль тоже ошибается, чисто "приблизительно проверяет". Зависит от того насколько хочешь ебаться. Если для масс, то всё верно пишут: возьми по тонне текстов разных языков, переведи в юникод и запиши топ кодов (топ 10).

Далее страницу приводи к юникоду и ищи наиболее подходящий топ.

Если в странице что - то указано в хедере (допустим CP1251) - значит смотри что это за кодировка, как правило 1251 - россия, коды всех стран можно найти.

Ещё смотри что отдаёт сервер, как правило он отдаёт (для дедиков) нужную кодировку.

Что ещё... введи список предлогов, в юникоде, как правило они встречаются в одном или двух языках, а ежели и в трёх, то эти языки родственны, и пофиг какой именно из них. Переводи страницу в юникод и ищи стопку слов, далее с какого языка больше нашёл - тот и папа icon_smile.gif

В общем комбинируй, любой метод по отдельности может не сработать или дать неверные результаты.


Эта страница в полной версии