Створила англо‑данську систему i18n
Створила систему інтернаціоналізації для англійської та данської мов, що містить 12 027 повідомлень на локаль у 458 файлах namespace, зі словником, дотримання якого забезпечував лінтер, та бюджетом у 400 рядків на файл.
Роботу виконано: 2025

Фото: PDPics / Pixabay 
Фото: Pexels / Pixabay
12,027 повідомлень на локаль — англійською та данською
Ситуація. Платформа працює англійською та данською, а системи перекладу мають властивість розповзатися в хаос. Файли ростуть без обмежень, ключі протікають — присутні в одній локалі й відсутні в іншій, — а правила, властиві кожній мові, застосовуються нерівномірно, тож одна з локалей зрештою читається так, ніби її перекладав комітет, учасники якого між собою не спілкувалися. Для професійного продукту це не дрібна вада — це сприймається як недбалість.
Завдання. Інтернаціоналізація мала масштабуватися — тримати обидві мови узгодженими й коректними, а файли такими, щоб людина й через рік могла їх супроводжувати.
Дія. Її побудовано на next‑intl із правилами, дотримання яких справді забезпечує інструментарій. Для данської зафіксовано словник і стиль — справжні літери æøå, неформальне звертання «du», правильні знаки наголосу в наказовому способі та смислові відповідники для складних іменників, щоб їх перекладали за змістом, а не дослівно, — і лінтер стежить, щоб так і було. Діє жорсткий ліміт у 400 рядків на файл простору імен, а підхід «розділити й злити» дає змогу поділити велику область на вкладені файли, які потім без проблем зливаються назад, замість того щоб один файл ріс нескінченно; саме через цей ліміт 12 027 повідомлень кожної локалі розміщено в 458 файлах, а не в кількох величезних. Перевірка лінтера звіряє ключі між локалями, тож нічого не протікає і не губиться. А збережені перевизначення зливаються за каталогом, а не через крихкі резервні значення верхнього рівня — та сама ідея глибокого злиття, що й для налаштувань.
Результат. Обидві локалі, у яких разом 24 054 повідомлення, лишаються коректними й узгодженими, а файли — придатними до супроводу, хоч кількість рядків і зростає. Якість мови тепер гарантує інструментарій на кожному коміті, і вона вже не псується непомітно щоразу, коли хтось поспіхом додає рядок. Несна конструкція тут — саме ліміт: без обмеження на файл замість 458 файлів було б дванадцять, і ніхто б їх не відкривав.
Попередня робота: Реалізувала повну підтримку Progressive Web App. Читати далі: Побудувала операторський бек‑офіс платформи. Або перегляньте повне портфоліо.
Одна частина довшого переліку — і він увесь на цьому сайті.
Кожен запис написано однаково: ситуація, завдання, що ми зробили і що змінилося.

