Словарь на основе китайского
Один из проектов, который самураи реализовывали на Хактоне − cловарь языков на основе китайского. В чем его фишка?

Китайский язык состоит из иероглифов, а иероглифы в свою очередь состоят из графем. Графемы − это базовые неделимые иероглифы, по сути графемы являются своеобразным китайским алфавитом. Таким образом, в иероглифах графемы можно выделить визуально, например:

Для слова 咖啡 − kāfēi − "кофе" используется два иероглифа с графемами 口 - 力 - 口 и 口 - 非. Если присмотреться, их можно различить. По отдельности графемы 口 - 力 - 非 обозначают: "рот" - "сила" - "горький", а вместе эти графемы по смыслу напоминает кофе, не так ли?

Конечно, правило работает не всегда так, но в любом случае все иероглифы состоят из графем. Зная это, мы придумали следующую структуру данных и сложили ее в телеграм, как сообщения следующего формата для иероглифов:
И такого формата для графем:

Информация связана на уровне данных − иероглифы знают о своих графемах, если это добавлено в данные. Следовательно, эти ресурсы могут превратиться в карточки, если просто сделать UI под мобильное устройство. Как это выглядит в коде можно посмотреть здесь.

Что дальше?

- В приложении можно будет хранить свою персональную базу данных по выученным словам, как китайским, так и любым другим.

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

Если изучение языков для тебя − хобби, ты точно оценишь подход и практичность словаря. Позже мы поделимся доступами к нему, следи за новостями!

Георгий Иванников / Clojure full-stack Engineer at Health Samurai




Подписывайся на ежемесячную рассылку. Наши ребята регулярно делятся профессиональным опытом в формате статей, live-coding, видео, рекомендаций. Будет полезно!

Еще не решился работать у нас?
Контакты
hr@health-samurai.io
US / Montenegro / Portugal / Finland / Russia
Локации
Made on
Tilda