Умный словарь для кильдинского саамского языка
Авторы: Артём Бойко (БКЛ231), Виктория Жукова (БКЛ232), Александр Мокеев (БКЛ233)
Данное приложение фактически является усовершенствованным поисковиком по трём саамско-русским словарям: Куруч Р. Д., Антоновой А. А. и Керта Г. М. (все они находятся в открытом доступе).
Основное назначение словаря -- по услышанному слову определять его орфографическую запись. Для поиска введите услышанное слово в строку поиска и нажмите на кнопку "Искать" или на клавишу Enter. После этого поисковик предложит возможные варианты, основываясь на том, трудности с различением каких кильдинских саамских звуков возникают у носителей русского языка. Результаты отображаются в порядке от наиболее вероятного к наимение вероятному.
Приложение работает на языке Python. ВАЖНО: Python должен быть версии 3.11 или выше! Для установки приложения достаточно загрузить репозиторий себе на компьютер. Это можно сделать через Git Bash:
- Выберите папку
- Откройте в ней Git Bash
- Склонируйте репозиторий
git clone https://github.com/AjnoEO/Klever
- В вашей папке создастся папка
Klever
, в которой и содержится наш проект
Перед запуском следует установить все зависимости.
- Откройте терминал, в котором вы привыкли работать, в папке
Klever
- Установите зависимости
pip install -r requirements.txt
- Если команда выше не сработала, можно попробовать:
python -m pip install -r requirements.txt
Для начала работы запустите файл main.py
в корне папки Klever
.
dictionaries
: папка с тремя размеченными словарями в файлах формата dsl
example_saami_words
: папка с записями нескольких саамских слов; их можно послушать и попробовать на слух найти в нашем словаре, проверив его работоспособность.
mix_ups
: папка с двумя файлами; в groups.json
описаны фонемы и их признаки, а в mix_ups.csv
-- возможные структуры путаниц (путаница -- пара звуков, которые можно в определённой позиции перепутать друг с другом)
.gitignore
: технический файл; хранит информацию о том, какие файлы с локальных комьютеров не надо загружать в git при его обновлении
README.md
: файл, который вы сейчас читаете :) Содержит информацию о проекте, его структуре.
convert_dict.py
: конфертирует словари из формата dsl в json
customtkinter_ext.py
: расширяет возможности CustomTkinter по обработке текста: создаёт функцию для удобного и красивого вывода словарной статьи
customtkinter_formatting_manager.py
: создаёт классы для форматирования статей
info_about_dict.txt
: содержит информацию о работе проекта, которая выводится внутри самого приложения
main.py
: содержит основной интерфейс программы. Если мы так и не сделаем установочный файл, для начала работы приложения придётся запускать этот
markup_parser.py
: обрабатывает файл словаря json
mix_ups_parser.py
: обрабатывает путаницы
requirements.txt
: содержит требования и список модулей для работы проекта
style.json
: содержит оформление интерфейса
utils.py
: вспомогательную функцию, которая уменьшает количество аргументов у подаваемой в неё функции
Для создания приложения использовалась библиотека CustomTkinter. При написании кода использовалась документация CustomTkinter и документация Tkinter
За помощью мы обращались также к обсуждениям CustomTkinter на GitHub и сайту StackOverflow
Словари взяты в формате DSL с сайта саамские словари
Для парсинга разметки DSL использовался справочник по DSL