LINUX.ORG.RU

автоматический выбор раскладки


0

1

Делаю для датагрида inplace-фильтр и вот решил добавить к нему сахарку в виде автоматического выбора раскладки. Покопался в интернетах и... ничего не нашел. может лор подскажет в какую сторону ковырять?

Под автоматическим выбором раскладки подразумеваю поведение яндекса при поисковом запросе набранном не в той раскладке

Меня даже устроит по идее чтобы поиск был тупо по обоим вариантам, но замена символов через массив соответствий кажется слишком уж костыльным вариантом.

★★★★★

Последнее исправление: Loki13 (всего исправлений: 1)
Ответ на: комментарий от Loki13

Исходники xneur?

А по алгоритму - таки замена (в фоне). Решение о замене применяется после анализа получившегося текста на количество нехарактерных/неиспользующихся сочетаний букв/слогов, может быть, использование словаря для сложных случаев

Uter
()

А что если где-то держать словарь в нужной раскладке, а в приложении сравнивать текущую раскладку, разбивать введенные строки на слова и каждое отдельное слово сравнивать со своим словарем, если текущая раскладка не совпадает с раскладкой словаря? Словарь, наверное, лучше сделать совместимым по формату со словарем какого-нибудь спеллчекера, а-то замучаешься его самостоятельно наполнять.

f1xmAn ★★★★★
()
Ответ на: комментарий от science

А зачем, чтобы он копипасту здоровенных постов в тему сделал ? :-) Будет что то непонятно в уже написанном, тогда имеет смысл кастануть, но сначала таки лучше прочитать что он уже написал

nirolov
()
Ответ на: комментарий от Uter

переключение начинает работать до набора полного слова

Нет:

разбивать введенные строки на слова и каждое отдельное слово сравнивать со своим словарем

слишком медленно

Да в общем-то не слишком, если весь словарь загрузить в ОЗУ. Другой вопрос, что для очень большого словаря потребуется довольно быстрый процессор.

Можно поступить по другому, отлавливать в веденных строках редко встречаемые буквосочетания, например больше 3-х гласных или согласных. Пожалуй, так будет даже правильнее, словарь это слишком страшно.

f1xmAn ★★★★★
()
Ответ на: комментарий от f1xmAn

редко встречаемые буквосочетания

О чем я и говорил - только не просто 3 согласные, а именно те, которые в даном языке встречаются крайне редко, а их соответствие в противоположном языке - значительно чаще. Ну а словарь - для исключений

Uter
()

Подумал-подумал и решил что проще будет тупо фильтровать сразу в обоих раскладках. Сделал 2 массива и перегоняю введенный фильтр, а потом

sSourceFilter.Compare( RowText) || sNewFilter.Compare( RowText)

это и быстрее работает и быстрее пишется(пол часа заняло в сумме с отловом косяков)

Loki13 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.