fix(web): update Russian translations for various components
Обновлены переводы на русский язык для компонентов, включая карточки мониторинга, сетевые панели и настройки. Исправлены описания и метки для улучшения пользовательского интерфейса, а также добавлены новые элементы для поддержки локализации в компонентах, таких как DataGrid и ResourcePage.
This commit is contained in:
1 parent
e0d695f2a4
commit
653bc6cc91
43 files changed
+214
-192
No files matched your search
@@ -4,7 +4,7 @@ import { apiKeyRoleRu } from '@/lib/ui-labels'
|
||||
|
||||
export const API_KEY_ROLE_ITEMS: ReadonlyArray<{ value: ApiKeyRole; label: string }> = [
|
||||
{ value: 'viewer', label: `${apiKeyRoleRu('viewer')} — только чтение` },
|
||||
{ value: 'editor', label: `${apiKeyRoleRu('editor')} — CRUD без применения` },
|
||||
{ value: 'editor', label: `${apiKeyRoleRu('editor')} — изменение данных без применения` },
|
||||
{ value: 'operator', label: `${apiKeyRoleRu('operator')} — полный доступ` },
|
||||
{ value: 'node', label: `${apiKeyRoleRu('node')} — только API ноды` },
|
||||
]
|
||||
|
||||
@@ -38,7 +38,7 @@ describe('isReadyCheckOk', () => {
|
||||
|
||||
describe('readyCheckStatusLabel', () => {
|
||||
it('labels memory and failures', () => {
|
||||
expect(readyCheckStatusLabel('memory', true)).toBe('Memory')
|
||||
expect(readyCheckStatusLabel('memory', true)).toBe('В памяти')
|
||||
expect(readyCheckStatusLabel('ok', true)).toBe('В норме')
|
||||
expect(readyCheckStatusLabel('unavailable', false)).toBe('Недоступно')
|
||||
})
|
||||
|
||||
@@ -54,7 +54,7 @@ export function readyCheckStatusLabel(value: ReadyCheckValue, ok: boolean): stri
|
||||
}
|
||||
if (typeof value === 'string') {
|
||||
const n = value.trim().toLowerCase()
|
||||
if (n === 'memory') return 'Memory'
|
||||
if (n === 'memory') return 'В памяти'
|
||||
if (n === 'ok' || n === 'ready' || n === 'healthy' || n === 'true') return 'В норме'
|
||||
if (n) return value
|
||||
}
|
||||
|
||||
@@ -61,18 +61,45 @@ const JOB_STATUS_RU: Record<string, string> = {
|
||||
paused: 'Приостановлен',
|
||||
disabled: 'Выключен',
|
||||
archived: 'В архиве',
|
||||
block: 'block',
|
||||
accept: 'accept',
|
||||
block: 'Блокировать',
|
||||
accept: 'Принимать',
|
||||
}
|
||||
|
||||
export function jobStatusRu(status: string): string {
|
||||
return JOB_STATUS_RU[status.toLowerCase()] ?? status
|
||||
}
|
||||
|
||||
const BGP_SESSION_STATE_RU: Record<string, string> = {
|
||||
Idle: 'Простой',
|
||||
Connect: 'Соединение',
|
||||
Active: 'Поиск',
|
||||
OpenSent: 'Open отправлен',
|
||||
OpenConfirm: 'Open подтверждён',
|
||||
Established: 'Установлена',
|
||||
}
|
||||
|
||||
export function bgpSessionStateRu(state: string | null | undefined): string {
|
||||
if (!state) return '—'
|
||||
if (state === 'Established') return 'Установлена'
|
||||
return state
|
||||
return BGP_SESSION_STATE_RU[state] ?? state
|
||||
}
|
||||
|
||||
export function speakerRoleRu(role: string | null | undefined): string {
|
||||
switch (role) {
|
||||
case 'master':
|
||||
return 'Основной'
|
||||
case 'primary':
|
||||
return 'Основной'
|
||||
case 'secondary':
|
||||
return 'Резервный'
|
||||
case 'speaker':
|
||||
return 'Спикер'
|
||||
default:
|
||||
return role?.trim() || '—'
|
||||
}
|
||||
}
|
||||
|
||||
export function cdnSourceKindRu(kind: string): string {
|
||||
return kind === 'json' ? 'JSON' : 'Текст'
|
||||
}
|
||||
|
||||
export function speakerOnlineLabel(agentOk: boolean | undefined): string {
|
||||
|
||||
Reference in new issue
Block a user