Размышляя над словарём, я видел 2 модели.
Первая - это стандартное серверное приложение. Наподобие https://www.ironau.ru/vortaro.php или https://gaf.lezgichal.ru/. Когда сайт - лишь средство связи с сервером, где хранятся слова и осуществляется поиск.
Вторая модель - мобильное оффлайн приложение, которое скачивается с Google Play / AppStore. Все слова у тебя на телефоне, и ты можешь искать без интернета.
Как это часто бывает с техническими проблемами, здесь нет единственно верного решения. Каждая модель имеет свои преимущества и недостатки, и лучше всего было бы постараться реализовать гибридную модель.
С той инфраструктурой, что имеет наш сайт, раздел словарей реализуется в следующем виде. Пользователь заходит на карту, выбирает языки, открывает словарь. Начинается загрузка словарных данных в кэш браузера. Далее эти загруженные словари доступны на компьютере или телефоне и без интернета.
Плюсы такого подхода:
— После начальной загрузки, автономный доступ к словарями.
— Возможность заносить новые слова, которые будут доступны другим пользователям.
— Полная открытость всех языковых данных, которые всё так же буду храниться в репозитории.
Минусы:
— В худшем случае, если не получится далее улучшить кэширование, придётся ждать секунд 20 при каждой смене языков. Тесты показали, что 4 языка, по 12 тыс. (пустых) словарных единиц в каждом, загружаются и заносятся в локальное хранилище за 11 секунд.
— На данный момент на сайте нет встроенного механизма оповещения об обновлении языковых данных. Так что пользователь не имеет возможности прямо на сайте узнать, если в исходный словарь была загружена новая порция данных, и ему нужно перезагрузить локальную копию.
Post #90
5.58K