Двуязычный каталог ПДД и дорожных знаков
Платформе по теории вождения нужен был не просто банк вопросов — нужен был весь свод правил дорожного движения: структурированный, с поиском и читаемый и на русском, и на узбекском. На этом рынке ПДД (правила дорожного движения — официальный документ) являются юридической основой для каждого экзаменационного вопроса. Студенты не просто заучивают ответы — им нужно понимать правила, из которых эти ответы вытекают. Сверху — более 200 дорожных знаков, у каждого свой официальный рисунок, юридическое описание, категория и контекст применения. Всё это должно было отдаваться через API в Telegram Mini App — быстро, структурированно и всегда в синхроне с действующим законодательством.
иерархия и перекрёстные ссылки
Мы построили каталог ПДД как иерархическую систему контента: главы содержат пронумерованные пункты, а каждый пункт может включать форматированный текст, инлайн-картинки и перекрёстные ссылки на другие пункты или конкретные дорожные знаки. Перекрёстные ссылки оказались критичным архитектурным решением. Правила дорожного движения не существуют в вакууме — пункт о приоритете на перекрёстках ссылается на правила о светофорных сигналах, которые ссылаются на правила о дорожной разметке. Мы смоделировали это явными типизированными отношениями в базе, а не зашитыми в текст ссылками. Тогда при обновлении или перенумерации пункта (что происходит при изменениях в законе) ссылки обновляются автоматически, а не превращаются в битые линки, разбросанные по сотням записей.
дорожные знаки в масштабе
База дорожных знаков — отдельный зверь. Более 200 знаков, и каждому нужно чистое изображение в едином формате, категория (запрещающие, предупреждающие, информационные, приоритета и т. д.) и полные описания на обоих языках. Изображения приходили из официальных источников, но в диких форматах — разные разрешения, разный фон, часть — фотографиями физических знаков, а не чистыми векторами. Мы привели всё к единообразному формату с одинаковыми отступами и прозрачным фоном, отдаём их как статические файлы по предсказуемым путям. API возвращает метаданные знака с URL изображения, а фронтенд рендерит их в фильтруемой сетке по категориям. Просто — но привести 200+ изображений к единому виду заняло больше ручной работы, чем мы ожидали.
workflow ревью переводов
Слой перевода — то место, где этот проект либо работает, либо разваливается. Текст правил дорожного движения — не бытовой контент, это юридический язык, где одно двусмысленное слово меняет смысл. Полагаться на машинный перевод или поверхностное двуязычное ревью мы не могли. Система хранит русский и узбекский контент как параллельные записи, связанные общим каноническим ID, со статусом перевода: «approved», «draft» или «needs review». Когда меняется русский исходник (потому что закон поправили), соответствующая узбекская запись автоматически переходит в статус «needs review». Админ-панель показывает эти расхождения как приоритизированную очередь работ, чтобы переводчики всегда точно знали, что устарело. Это закрыло самый опасный сценарий отказа: уверенную подачу неправильных переводов юридического контента.
версионирование при изменениях закона
Обновления контента заслуживают отдельного упоминания, потому что это постоянная реальность этой системы. Правила меняются — иногда отдельный пункт, иногда переструктурируется целая глава. Архитектура должна была поддерживать частичные обновления, не ломая сеть перекрёстных ссылок. Мы добились этого версионированными записями: у каждого пункта есть номер версии, а перекрёстные ссылки указывают на канонический ID, а не на конкретную версию. При обновлении контента система создаёт новую версию, сохраняя старую доступной для пользователей, начавших готовиться при предыдущем своде. Деталь мелкая — но она избавляет от раздражающего опыта, когда у пользователя в закладках вдруг оказывается правило с другим текстом, чем то, что он вчера учил.
один источник истины
Результат — система контента, которая служит авторитетным справочным слоем для всей платформы. Вопросы в обучающем движке ссылаются на соответствующие пункты ПДД. AI-консультант (отдельный модуль) обращается к тому же контенту при объяснении правил. Дорожные знаки появляются по контексту, когда они уместны в вопросе. Всё питается из одного источника истины. Урок здесь — об уважении к весу контента. Это не блог и не каталог товаров — это юридический текст, на который люди опираются при сдаче государственного экзамена. Дополнительная жёсткость в workflow переводов и системе версионирования поначалу казалась оверинжинирингом, но каждый раз, когда закон менялся посреди семестра, мы радовались, что она есть.