Перейти к содержимому

Локализация интерфейса

Поддерживаемые языки интерфейса, резервное поведение и процесс поддержки переводов Repovio.

Repovio предоставляет веб-интерфейс на английском (en), немецком (de), испанском (es), французском (fr), итальянском (it), голландском (nl), польском (pl) и португальском языках. (pt). Языковое меню в шапке приложения доступно каждому авторизованному пользователю. Выбор языка сохраняет предпочтения в файле cookie браузера repovio-locale и применяет их при будущих посещениях.

Английский является детерминированным значением по умолчанию и резервным вариантом. Если настройки браузера или сохраненный файл cookie не определяют поддерживаемый языковой стандарт, Repovio отображает английский язык. Форматирование даты, времени и чисел использует выбранный языковой стандарт.

Элементы входа и флаги языков

Страницы входа и создания первого администратора предлагают под формой выбор языка с текущим языком и флагом. Во время загрузки отображается занятость. Отдельная кнопка темы переключает системную, светлую и тёмную темы и сохраняет выбор. Значок показывает текущий выбор; подсказка и доступное имя описывают его и следующее действие.

Меню показывает декоративные локальные SVG-флаги рядом с названиями языков на родном языке. Названия остаются доступными метками; флаги их не заменяют. Соответствие языка стране: en → GB, de → DE, es → ES, fr → FR, it → IT, nl → NL, pl → PL, pt → PT.

Файлы в apps/web/public/flags взяты из flag-icons v7.5.0 под включённой лицензией MIT. Внешние запросы изображений не нужны. При добавлении языка добавьте флаг и соответствие в useLocales.

Добавление или обновление локали

  1. Добавьте или обновите apps/web/i18n/locales/<locale>.json, используя en.json в качестве полной ссылки на ключ.
  2. Зарегистрируйте его языковой код, имя файла и собственное отображаемое имя в apps/web/nuxt.config.ts.
  3. Сохраните все ключи сообщений в en.json; набор веб-тестов проверяет эту четность для каждой поставляемой локали.
  4. Добавьте сообщения на английском и немецком языках для каждой новой строки интерфейса, видимой пользователю, а затем добавьте соответствующий перевод в каждую поставляемую локаль.
  5. Запустите pnpm --filter @repovio/web test, pnpm --filter @repovio/web typecheck и соответствующий тест драматурга.

Имена поставщиков, имена репозиториев, имена рабочих процессов и другие данные, предоставленные поставщиком, остаются неизменными, поскольку они не являются копией интерфейса Repovio.