Как мне проверить язык? ASP.NET - PullRequest
0 голосов
/ 14 февраля 2010

В текстовом поле приложения мне нужно проверить, чтобы убедиться, что пользователь вводит только текст на английском языке. Я знаю, что некоторые языки, такие как испанский, используют английский алфавит. Как проверить текст, чтобы убедиться, что он:

  • Только на английском языке
  • Поддерживает только языки, которые используют английский набор символов (испанский и т. Д.)

Спасибо

РЕДАКТИРОВАТЬ: Извините, что не достаточно ясно. Это приложение находится в рабочем состоянии, и когда я проверяю базу данных SQL, в которой хранится текст, появляется много строк с надписью «??? ?????». При дальнейшем исследовании выясняется, что это вызвано тем, что текст не на английском языке сохраняется в базе данных. Например, перейдите на страницу новостей Google, выберите Google Корея в раскрывающемся списке, скопируйте текст на корейском языке и сохраните его в базе данных сервера SQL

Любой

Ответы [ 4 ]

0 голосов
/ 17 февраля 2010

Под "английским набором символов", я полагаю, вы имеете в виду набор символов ASCII .

Вы можете перебрать каждый символ и посмотреть, находится ли он в диапазоне ASCII.

0 голосов
/ 14 февраля 2010

Вы можете попробовать сравнить со словарем английского языка (например, в OpenOffice есть словарь, который вы можете использовать бесплатно, хотя в этом не уверен), если большинство используемых слов распознаются этим словарем.

Вы также можете выполнить некоторый анализ текста и проверить вхождение каждого символа или короткой последовательности, например «th» и т. Д. Каждый язык имеет определенные вхождения символов, и это может помочь вам определить, на каком языке написан текст.

Я бы не запрещал определенные символы, потому что, по крайней мере, в именах специальные символы встречаются довольно часто.

Надеюсь, у вас есть представление о некоторых возможностях.
С наилучшими пожеланиями, Оливер Ханаппи

0 голосов
/ 14 февраля 2010

Если это текст небольшого размера, попробуйте найти веб-службу английского словаря и попытаться найти слова. Если поиск не удается, скорее всего, у вас есть опечатка или что-то из другого языка. Я не нашел тот, который принимает большие блоки текста, но есть веб-сервис, который работает из базы данных dict.org :

DictService

0 голосов
/ 14 февраля 2010

Одним из способов является использование словаря английского языка / Проверка правописания, если допустимо английское / испанское слово

очень хороший образец это

Это так просто, как следует

NetSpell.SpellChecker.Spelling SpellChecker = 
             new NetSpell.SpellChecker.Spelling SpellChecker()

SpellChecker.Text = MyTextBox.Text;
SpellChecker.SpellCheck();

Домашняя страница NetSpell: http://www.loresoft.com/NetSpell

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...