Мультиязычная архитектура для open-source платформы
Спроектировал i18n-архитектуру open-source проекта с поддержкой 11 языков. Новый язык добавляется за 30 минут без знания кода.

Задача
NextOrders - open-source платформа доставки, задумывалась для разных стран. Стандартный подход с JSON-файлами переводов быстро превращается в хаос: ключи рассинхронизируются, а контрибьюторы из других стран не могут добавить свой язык без погружения в код. Нужно было сделать так, чтобы перевод мог добавить переводчик, а не программист.
Решение
Построил i18n на nuxt-i18n: один JSON-файл на язык, плоские ключи с неймспейсами. Все ключи типизированы через TypeScript - IDE подсказывает и ругается на пропущенные переводы. Сделал locale-template.json с комментариями - контрибьютор копирует, переименовывает, переводит. Pluralization через ICU - русский, арабский, любой язык работает из коробки. Роутинг с префиксами, автоопределение языка, hreflang теги и RTL-поддержка через CSS logical properties.
Результат
Платформа поддерживает 11 языков. Контрибьюторы из 5 стран добавили свои языки сами - в среднем 30 минут на 120 ключей. Ни один PR с переводом не потребовал помощи с кодом.
Похожие кейсы
Нужно решить похожую задачу?