🎯 Назначение
Многоязычная поддержка веб-приложения с автоматическим определением языка и настройкой предпочтений пользователя.
🎭 Пользовательская история
- Как пчеловод из любой страны,
- я хочу пользоваться приложением на родном языке,
- чтобы понимать все функции и данные без языкового барьера.
🚀 Ключевые преимущества
- Глобальная доступность: поддержка нескольких языков снимает барьеры для международных пользователей.
- Автоопределение: язык определяется по настройкам браузера.
- Контроль пользователя: ручной выбор языка с сохранением предпочтений.
- Локализованный опыт: даты, числа и текст отображаются согласно выбранному языку.
🔧 Технический обзор
Система интернационализации (i18n) с автоопределением языка браузера при регистрации и входе. Пользователь может сменить язык в настройках аккаунта; переводы применяются ко всем элементам интерфейса и форматированию дат.
📋 Критерии приёмки
- Автоопределение языка при регистрации и входе.
- Переключатель языка в настройках на app.gratheon.com/account.
- Сохранение предпочтения в профиле между сессиями.
- Перевод всего текста интерфейса на выбранный язык.
- Форматирование дат по локали.
- Немедленное обновление интерфейса при смене языка.
🔠 Логика поддерживаемых языков
Порядок языков в интерфейсе и конфигурации определяется коммерческим потенциалом - по совокупному ВВП носителей каждого языка. Это обеспечивает приоритетную поддержку языков крупнейших экономических рынков (английский, китайский, немецкий, испанский и др.).
🚫 Вне области
- Поддержка языков с письмом справа налево (RTL).
- Расширенное локальное форматирование сверх дат.
- Пользовательские переводы.
- Динамическая смена языка без перезагрузки страницы.
🏗️ Подход к реализации
- Определение: заголовок Accept-Language браузера.
- Хранение: предпочтение в профиле пользователя.
- Переводы: ключевые файлы с fallback на язык по умолчанию.
- Даты: locale-aware форматирование.
- UI: перерисовка компонентов после смены языка.
📊 Метрики успеха
-
90% точности автоопределения для поддерживаемых языков.
- <2 секунды на смену языка.
-
95% покрытия переводами основных элементов UI.
- Удержание пользователей, не говорящих по-английски.
- Нулевых поломок вёрстки из-за длины текста.
🔗 Связанные функции
📚 Ресурсы
💬 Заметки
Функция реализована с базовым переключением языка. Планируется: поддержка locale для чисел и переводы множественных форм.
Будущие улучшения:
- Locale пользователя для регионального форматирования.
- Переводы множественных форм для грамматической точности.
Последнее обновление: 18 ноября 2025
Следующий пересмотр: декабрь 2025