Каталог, который забыл два языка
В задании стояли три языка интерфейса: немецкий, английский, русский. Первая версия, которую написал агент, открылась только на русском. Как это случилось и что мы поняли о многоязычном каталоге.
Прототип каталога с самого начала работал на трёх языках: переключатель RU / DE / EN в шапке, переведены все надписи, даже названия языков изданий. В задании для ИИ-агента это было записано прямо: интерфейс каталога и кабинета читателя — на русском, немецком и английском.
Что получилось
Первая собранная версия открылась на русском. Переключателя не было, немецкого и английского тоже. Для библиотеки в Тюбингене это означало, что большинство возможных читателей просто не смогли бы пользоваться каталогом.
Агент не отказался от требования и не спорил с ним. Он его просто не выполнил: большое задание упростилось, и деталь, которая казалась второстепенной, выпала.
Как мы описали многоязычность во второй раз
- Язык при первом открытии определяется по браузеру. Если язык браузера не поддерживается — открывается язык по умолчанию, который задаёт библиотекарь (изначально немецкий).
- Выбор читателя запоминается, а у вошедшего читателя сохраняется в профиле и работает на любом устройстве.
- Тексты библиотеки — название, правила выдачи, часы работы — вводятся отдельно для каждого языка. Нет перевода — показывается язык по умолчанию.
- Все надписи — через словари, ни одной фразы прямо в разметке. Кабинет библиотекаря сначала был только на русском, но тоже строился на словарях — и позже получил немецкий и английский без переделки.
- Даты и числа форматируются по выбранному языку.

Ошибка второго уровня
Когда языки появились, всплыла тонкость. Названия языков изданий были сделаны для двухбуквенных кодов: en, de, fr. А в каталоге коды трёхбуквенные, по стандарту MARC: eng, ger, lat. В фильтре вместо «английский» стояло бы «eng». Такие вещи не видны в коде, пока не посмотришь на настоящие данные.
А позже, уже при съёмке скриншотов для этого журнала, нашлось и третье: в выгрузке языки записаны вразнобой — «ger, eng», «ger.», «Fre», «jap.». Katlog показывал каждый вариант как отдельный язык, и в фильтре их набралось 37. После разбора и приведения к кодам MARC осталось 15 настоящих языков, а нестандартные значения попали в «Качество данных».