Try   HackMD

Текст к видео про сайт разговорников

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

В середине июля ко мне обратился лингвист Алексей Козлов с идей создания сайта разговорников малых народов России:

  • Карельский
  • Мокшанский
  • Нанайский
  • Хантыйский

Ученые "в полях" собирают материалы и скидывают их мне в виде Эксель таблиц и аудио файлов.

Моя задача отобразить это на сайте красиво и чтоб каждая фраза звучала.

Сложность в том, что структура у разговорников разная. Где-то есть:

  • несколько диалектов
  • несколько аудио для одной фразы (например: мужской и женский голос)
  • несколько переводов (смысловой и дословный)
  • транскрипция
  • подразделы внутри главы
  • разное именование файлов - нумерацией или текстом

Понадобилось разработать универсальную модель данных упаковку, куда можно аккуратно поместить любой разговорник. И эта модель должна:

  • заполняться из Эксель таблиц
  • связываться с аудио файлами
  • отображаться на сайте

Можно было заставить ученых заполнять всё по строгому общему шаблону: было бы много ненужных полей, правил и путаницы. Но я решил оставить им полную свободу. И вместо этого сделал:

  • гибкую загрузку данных из любой таблицы
  • гибкое связывание с аудио файлами (например, текстовое название файла может отличаться от текста фразы, игнорируются опечатки)

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Так выглядит карельской разговорник с двумя диалектами:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Всё это уже реализовано.

Далее я предложил Алексею добавить пользовательский ввод данных. Чтобы посетители сайта сами могли исправлять и добавлять фразы, а админы модерировали их. Алексей согласился. Над ней я сейчас и работаю.

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