Raxys Studios
685 subscribers
120 photos
14 videos
63 links
Made with honor in North Caucasus
https://raxys.app
Download Telegram
Разговорник, на данный момент, самая тяжёлая задача в этом проекте. Напомню, основная идея этого модуля - динамическая синхронизация грамматических параметров между переводами одной и той же фразы между языками. Проще объяснить на примере. Вот есть фраза приветствия на и иронском, и на дигорском. При переключении обращения ко второму лицу с единственного, на множественное число на иронском (байрай - байрайут), дигорский так же меняет свою форму (байрайӕ - байрайетӕ). Задумка в том, что возможность вот так "играться" с предложением на языке, даст интуитивно прочувствовать его грамматику. Не настаиваю на том, что это должно быть практически полезно, но это должно быть концептуально интересно. Приведённый пример с осетинскими диалектами довольно прост, но если пойти дальше, и начать сопоставлять языки из разных семей, то всё становится сложнее. В предложении "иди туда", понятие движения имеет 2 формы, в зависимости от числа: "иди" и "идите". В моём же языке, оно имеет 4 формы: "вя", "ря", "бя", "дяная". Первые 3 формы зависят от того, идёт ли обращение к мужчине, женщине, или объекту (животному) соответственно. Таким образом, "вя", "ря", "бя" будут соответствовать русскому "иди", а "дяная" - "идите", и наоборот. Нужна система, которая позволила бы описывать какое-либо предложение, а затем "связывать" его с таким же описанием уже на другом языке. Вообще, по моему сумбурному описанию можно понять, насколько я сам в замешательстве. Здесь никаких обещаний не даю; может получиться, скорее - нет.
Наконец, техническое обновление сайта. Сюда входят и написание документации, и рефакторинг системы, и обновление фреймворка (Vue3), и переход на на новый язык (Typescript). Всё это будет сделано в последнюю очередь, после успеха, либо - провала разговорника. "В последнюю очередь" здесь не означает конец, напротив, чтобы иметь возможность и дальше развивать проект, нужно двигаться в ногу с последними технологиями, а так же вовремя ликвидировать технический долг. А ещё мне просто интересно поработать с чем-то новым. Это что-то новое надо будет основательно изучить, поэтому процесс технического обновления будет начат в конце декабря. Так же напоминаю, что весь код и все материалы размещены и разрабатываются в открытом доступе у меня на репозитории. Кому интересны внутренности проекта, прошу по ссылке.
Как менялась домашняя страница сайта.

Текущая версия. Довольная простая, но не позволяет свободный выбор диалектов. Плохо масштабируется, так как нет поиска по языкам, и каждая карточка занимает довольно много места. В целом, приемлемый вариант для своего времени.

Опыт №1. Уже есть возможность выбора отдельных диалектов, что выполняет требование по функционалу. Зато теперь страница совершенно перегружена, с большим количеством кнопок. Даже если предположить, что пользователь разберётся в этом интерфейсе, для того, чтобы достать нужный язык, нужно довольно много нажатий и прокруток. Это неудобно даже на большом экране, не говоря уже о мобильных устройствах. И это ещё без карты. А если учесть, что обычному пользователю эта языковая иерархия совсем не нужна, то получаем ничем не обоснованную громоздкость.

Опыт №2. Сразу видно, что намного более лёгок, даже по сравнению с текущей версией. Перед пользователем минималистичная карта, а так же несколько маленьких карточек. В левом верхнем углу находится строка ввода, с помощью которой можно искать языки. Поиск довольно гибкий, так, например, при вводе "alan" отобразятся дигорский и иронский, а при вводе "dagestan", отобразятся акушинский и кайтагский (из того, что сейчас есть). При нажатии на языковую карточку, язык помечается как "выбранный" и отображается на карте. После выбора всех интересующих языков / диалектов, можно нажать на стрелку справа от поиска и перейти к просмотру.

Последний вариант по каждому из критериев лучше всех предыдущих реализаций. Ещё предстоит некоторая работа по улучшению интеграции с картой, и по адаптации страницы под мобильные устройства. Изображения всех трёх реализаций представлены ниже, от старого к новому.
На прошлой неделе на сайт был добавлен алфавит Керенского диалекта Агульского языка (баракала, Абдурахӏим). Примечательно то, что данные были добавлены человеком со стороны, к тому же не владеющим какими-либо специальными навыками разработчика.

Это стало возможным благодаря нашим новым веб-интерфейсам редактирования. Редакторы доступны и для раздела фонетики, и для конвертера. Желающие добавить свой язык, или внести правки в уже присутствующий в системе, могут пройти в соответствующий раздел и самостоятельно сформировать JSON-файл, который затем можно отправить нам для загрузки на основной сайт.
Видео с демонстрацией программной части нового разговорника будет записано на следующей неделе.
Попытался объяснить как мог. Много говорю про внутреннюю структуру системы. Кому интересна именно демонстрация интерфейса, могут прыгать сразу на 14:16.

А ещё, оказывается, ветки в твиттере крайне удобны для публикации презентаций в форме 1 твит - 1 слайд. К сожалению, не подумал, как это перенести в формат здешних публикаций, поэтому на этот раз просто дам ссылку на текст.

Итого, система работает, всё получилось. На сайте уже есть 4 фразы, каждая доступна для связанного просмотра на кабардинском, акушинском, и кайтагском. Сейчас будет небольшой перерыв, затем работа над веб-редактором для разговорника. Это будет завершено в ноябре. И вот когда уже будет готов редактор, начнётся добавление самих фраз.

Хотелось бы, для начала, перевести фраз 20 на иронский, дигорский, и кабардинский. Наличие двух близких диалектов, и одного языка из другой семьи, будет хорошей проверкой для системы. К тому же, черкесы Кабарды и осетины - соседи, и им это может быть полезно.
Последние функции поверх готового ядра разговорника:
- отключение показа английского перевода;
- локализация отображаемого контекста;
- показ пояснительных заметок;
- параллельный просмотр морфемного глоссирования через IPA и Leipzig Glossing Rules.

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

Например, при переключении кайтагского глагола "иду" с мужского рода (вянда) на женский (рянда), кабардинский перевод должен оставаться неизменным (сокӏуэ). Это совершенно верно, но это не даст кабардинцу понять что именно изменилось во фразе до тех пор, пока он не посмотрим на английскую карточку с полным контекстом фразы (изобр. 1).

Чтобы создать по-настоящему прямой разговорник без посредников, к каждой фразе теперь можно добавлять перевод контекста (изобр. 2). По сути своей это маленький независимый словарь, позволяющий показывать перевод английского мета-контекста на локальном языке.

На этом месте возникает новая проблема: большая часть информации в локализованном контексте уже известна носителю из грамматики. Например, в кабардинском переводе видно, как слово "абы" (там) показано дважды (изобр. 3), что совсем не нужно и даже делает поиск новой информации менее удобным.

Для решения этой проблемы система теперь создаёт копию мета-контекста и проходит по каждому видимому блоку перевода, вычитая его условия из этой копии (изобр. 4). По итогу в копии остаётся лишь неявная информация, не переданная видимыми блоками. Перевод лишь этой остаточной информации отображается на экране.

Так что теперь кабардинец может видеть изменения грамматического класса в кайтагском без необходимости прибегать к английскому переводу (изобр. 5, 6). Как и все другие функции на сайте, это работает для любого сочетания языков.
Работа над функциональной частью редакторов разговорника завершена. Получились две страницы. Первая - редактор исходного корпуса. Здесь формируется структура разговорника и задаются контексты для исходных фраз. Вторая страница - редактор пользовательской части разговорника, переводчик. Здесь создаётся представление перевода фраз из исходного корпуса на все другие языки.

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

Пока непонятно, как именно собрать такой языковой материал. Будем думать.