Простой статистический метод, который я использовал раньше:
Получите приличный объем учебного текста на языке, который вы хотите обнаружить. Разделите его на триграммы, например,
«Привет foobar» в триграммах это:
'Hel', 'ell', 'llo', 'lo', 'o f', 'fo', 'foo', 'oob', 'oba', 'bar'
Для всех исходных данных подсчитайте частоту встречаемости каждой триграммы, предположительно, в поле, где ключ = триграмма и значение = частота. Вы можете ограничить это до 300 самых популярных трехбуквенных комбинаций или что-то еще, если хотите. Где-нибудь рассолите диктовку.
Чтобы узнать, написан ли новый образец текста на том же языке, повторите описанные выше шаги для образца текста. Теперь все, что вам нужно сделать, это вычислить корреляцию между частотами выборочных триграмм и частотами тренировочных триграмм. Вам нужно немного поиграть с ним, чтобы выбрать пороговую корреляцию, выше которой вы готовы считать ввод турецким или нет.
Показано, что этот метод является очень точным, опережая более сложные методы, см.
Cavnar & Trenkle (1994): «Классификация текста на основе N-граммы»
Использование триграмм решает проблему использования списков слов, поскольку в любом языке существует огромное количество слов, особенно с учетом различных грамматических перестановок. Я пытался найти общие слова, проблема в том, что они часто дают ложный положительный результат для какого-то другого языка, или сами имеют много перестановок. Статистический метод не требует много места для хранения и не требует сложного анализа. Кстати, этот метод работает только для языков с системой фонетического письма, он работает плохо, если вообще работает с языками, которые используют идеографический язык (например, китайский, японский, корейский).
В качестве альтернативы в Википедии есть раздел на турецком языке в в удобной таблице распознавания языков.