Интернационализация и перевод¶
Панель разделяет язык 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¶
При включённом автопереводе (настройки «Инфраструктура»):
- При скане — сервер может заполнить персидские поля (
title_fa,description_fa) черезenrich.ts. - При смене локали — клиент вызывает
POST /api/translateпакетами для отсутствующих элементов дляfa,ar,ru,zhилиfr. - Результаты попадают в
vulnerability.translations[locale]и отображаются черезvulnDisplay.ts. - Английский подзаголовок под заголовком показывает исходный текст, если перевод отличается.
Цепочка перевода (сервер): MyMemory → LibreTranslate (если настроен) → Ollama как fallback для персидского. Ответы кэшируются в памяти сервера по хэшу текста.
Шрифт и читаемость¶
Масштаб шрифта не зависит от локали — операторы с ослабленным зрением могут увеличить весь текст UI без побочных эффектов zoom браузера на макет.
Чеклист оператора¶
- Включите автоперевод, если неанглоязычные читатели ежедневно работают с описаниями CVE.
- Ожидайте, что первая смена локали после большого скана займёт время (пакетные вызовы API).
- Сохраняйте английские исходные ссылки (NVD/GitHub) как авторитет для тикетов.
Далее: Справочник API