Перенесла кожен рядок, звернений до користувача, з Python у дерево контенту з 874 файлів трьома мовами, знайшовши непомітно мертві переклади й перевірку, яка мовчки оцінювала лише третину досягнень.
Роботу виконано: серпень 2026
874 файлів контенту — і мертві переклади, які вони виявили
Ситуація. Кожен рядок генератора, який бачить користувач, — кожне досягнення, кожен відгук, кожен заголовок розділу, кожен короткий опис, трьома мовами — зберігався в коді на Python. Через це редагування речення перетворюється на зміну коду, перевірка перекладу — на порівняння з кодом, а з першого погляду неможливо зрозуміти, чи переклад якоюсь мовою повний. До того ж так приховується найважливіший тип збою: переклад може водночас існувати, бути помилковим і бути недосяжним.
Завдання. Рядки треба було винести з коду в дерево вмісту, яке можна підрахувати, порівняти між мовами й перевірити, не запускаючи рендерер.
Дія. У результаті з’явилося 874 файли в каталозі вмісту, упорядковані спершу за типом, а потім за мовою: досягнення, відгуки, короткі описи, посади, компанії, регіони, категорії, послуги, профілі, рекомендації та фрагменти супровідних листів. Файли з полями, розділеними табуляцією, — там, де одиниця — рядок з ідентифікатором, окремі файли — там, де одиниця — абзац. Завантажувач читає їх під час збірки, і з них збирається база даних, тож джерело — дерево, а база даних — похідна від нього. Два висновки з’явилися саме завдяки можливості рахувати. Деякі перекладені рядки вже не мали жодного англійського відповідника — це були мертві записи, які ніде не відображалися і яких ніхто не міг помітити, поки вони були вбудовані в код, бо ключ словника, на який ніщо не посилається, має точнісінько такий самий вигляд, як і той, на який посилаються. А перевірка вмісту, яка мала оцінювати кожне досягнення, читала лише ту підмножину, яку могла знайти, — оцінювала тридцять сім із дев’яноста трьох і звітувала про успіх. Коли корпус став каталогом, обидві проблеми проявилися як розбіжність у кількості файлів.
Результат. Текст тепер можна редагувати, не торкаючись коду, і порівнювати між мовами простим підрахунком. Ціна в тому, що додавання мови стало однозначним, а не поступовим: у дереві неповна мова одразу помітна — у цьому й суть, — але це також означає, що часткові переклади вже не вийде непомітно випускати, поки їх доробляють.
Читати далі: Побудувала міжмовну перевірку контенту, яка падає, коли переклад губить число, вказане англійською, або коли мова вживає не притаманну їй нотацію, — і знайшла два данські описи без метрики та шістнадцять українських фрагментів, що цитували на англійський лад. Або перегляньте повне портфоліо.
Одна частина довшого переліку — і він увесь на цьому сайті.
Кожен запис написано однаково: ситуація, завдання, що ми зробили і що змінилося.