Похоже, проблема с этим выпуском Unity, я проголосовал за него здесь и жду, когда Unity исправит это.
Если бы содержание достаточно длинно, я предложил бы некоторый частотный анализ букв.
Но для нескольких слов я думаю, что Ваш лучший выбор состоит в том, чтобы сравнить их с английским словарем и принять вход, если половина из них соответствует.
Я думаю, что самый эффективный путь состоял бы в том, чтобы попросить, чтобы пользователи отправили английский текст только :)
Можно показать выбор языка, выпадающий по текстовой области с английским / Другой как опции. Когда пользователь выбирает "Другой", отключите текстовую область с сообщением, что только английский язык поддерживается [в данный момент].
Google имеет API JavaScript, который имеет реализацию обнаружения языка. У меня есть только игра, протестированная с ним, никогда не использовал его в производстве.
http://code.google.com/apis/ajaxlanguage/documentation/#Detect
Вы уже делаете обработку естественного языка, если Ваш модуль не понимает, какой язык текст был затем или модулем, не работает или вход, не был на корректном языке.
Попробуйте базирующееся статистическое распознавание языка n-граммы. Это - ссылка на демонстрацию алгоритма с помощью этой техники, существует также ссылка на статью, описывающую алгоритм там. Попробуйте демонстрацию, она работает вполне хорошо даже на очень кратких текстах (3-4 слова).
Вы могли разбить фразу в слова и проверить словарь (существуют некоторые, что можно загрузить, это может представлять интерес), но это потребовало бы, чтобы словарь, который Вы использовали, был достаточно хорош.
Это также упало бы для имен собственных (мое имя не находится в словаре, например).
Попытка:
http://wordlist.sourceforge.net/
Для списка английских слов.
Необходимо будет остерегаться имен, например, "Канберры" или "Bill Clinton". Они не появятся в списке слов. Я предлагаю просто проверить, использована ли для своей выгоды первая буква как первая попытка.
Расширения Firefox Переключателя Словаря имеют опцию обнаружить правильный словарь, поскольку я ввожу.
Я предполагаю, что это проверяет слова по установленным словарям и выбирает тот, дающий меньше ошибок...
Вы не можете ожидать, что все слова текста будут в словаре: сокращения, имена собственные, опечатки... Около, некоторые слова характерны для нескольких языков: французская рок-группа даже сделала заголовки их дисков, чтобы иметь (другое) значение и на французском языке и на английском языке. Таким образом, это - статистическая вещь: если больше, чем x % слов найдены в хорошем английском словаре, возможности являются пользовательскими типами на этом языке (даже если существуют ошибки, как, вероятно, в этом ответе, так как я не собственные англичане).
Возможно, вам поможет статья " Обеспечение того, чтобы пользователь отправлял только английский текст [PHP] ". Код написан на PHP, но достаточно мал, чтобы его можно было легко переписать.