Skip to content

Интернационализация и перевод

Панель разделяет язык UI (подписи, даты, направление макета) и язык содержимого CVE (заголовки и описания из лент, обычно английский). В этой главе — локали, RTL, даты Jalali и автоперевод.

Локали UI

Шесть языков интерфейса заданы в src/i18n/messages/:

Код Направление Примечания
fa RTL Персидские цифры/даты через formatLocale
en LTR Исходные подписи по умолчанию
ar RTL Строки UI на арабском
ru LTR Строки UI на русском
zh LTR Строки UI на китайском
fr LTR Строки UI на французском

Смена языка обновляет <html lang dir>, сохраняет cve-radar:locale и повторно запускает перевод текста CVE, если автоперевод включён.

Перевод содержимого CVE

При включённом автопереводе (настройки «Инфраструктура»):

  1. При скане — сервер может заполнить персидские поля (title_fa, description_fa) через enrich.ts.
  2. При смене локали — клиент вызывает POST /api/translate пакетами для отсутствующих элементов для fa, ar, ru, zh или fr.
  3. Результаты попадают в vulnerability.translations[locale] и отображаются через vulnDisplay.ts.
  4. Английский подзаголовок под заголовком показывает исходный текст, если перевод отличается.

Цепочка перевода (сервер): MyMemory → LibreTranslate (если настроен) → Ollama как fallback для персидского. Ответы кэшируются в памяти сервера по хэшу текста.

Шрифт и читаемость

Масштаб шрифта не зависит от локали — операторы с ослабленным зрением могут увеличить весь текст UI без побочных эффектов zoom браузера на макет.

Чеклист оператора

  • Включите автоперевод, если неанглоязычные читатели ежедневно работают с описаниями CVE.
  • Ожидайте, что первая смена локали после большого скана займёт время (пакетные вызовы API).
  • Сохраняйте английские исходные ссылки (NVD/GitHub) как авторитет для тикетов.

Далее: Справочник API