Предположим, у нас есть поле ввода для поиска. а у наших пользователей две раскладки клавиатуры (ан) (фа):
иногда пользователи забывают изменить раскладку клавиатуры,
поэтому вместо => "سلام"
input => "sghl" .
в этом случае Google почти обнаруживает проблему и предлагает правильные результаты.
первый , я не знаю, как называется этот алгоритм.
Я нашел и нашел «Автозаполнение Google Instant» в https://searchengineland.com/how-google-instant-autocomplete-suggestions-work-62592,, но это не мой случай,
проверьте мой скриншот: https://imggmi.com/full/2019/4/12/b411bcbe08dcd1eb02a46487e836a0b2-full.png.html Я пишу "لخخلمث" вместо "Google", но Google предлагает правильный результат.
вторая и главная проблема , я нашел "convert-layout" в https://www.npmjs.com/package/convert-layout, это то, что мне нужно. функция 'fromEn ()' изменяет неправильный ввод на правильный,
так как мой проект угловой, я пишу:
declare var require:any;
var fa = require('convert-layout/fa.js');
let correct = fa.fromEn('sghl');
Я ожидаю получить "سلام", но возвращается "س`شا", и это не правильно.
Я проверил источник в https://github.com/ai/convert-layout/blob/master/fa.json и карта верна:
"s": "س",
"g": "ل",
"h": "ا",
"l": "م",
в чем проблема?
простой редактируемый адрес: https://stackblitz.com/edit/angular-mnnsg9