Merge pull request #461 from polyzium/ru-translaton-fix

Russian translaton fix + more translation keys
This commit is contained in:
wenjie
2025-04-27 02:48:36 -07:00
committed by GitHub
4 changed files with 92 additions and 10 deletions

View File

@@ -195,7 +195,12 @@ const en = {
deviceKey: 'Device Key',
community: 'Community',
hostname: 'Hostname',
hostnameUpdated: 'Hostname updated. Reboot to apply.'
hostnameUpdated: 'Hostname updated. Reboot to apply.',
ipType: {
'Wired': 'Wired',
'Wireless': 'Wireless',
'Other': 'Other'
}
},
appearance: {
title: 'Appearance',
@@ -232,6 +237,7 @@ const en = {
},
advanced: 'Advanced Settings',
swap: {
title: 'Swap',
disable: 'Disable',
description: 'Set the swap file size',
tip: "Enabling this feature could shorten your SD card's usable life!"

View File

@@ -48,6 +48,7 @@ const ru = {
finishBtn: 'Готово'
},
screen: {
title: 'Экран',
video: 'Видеорежим',
resolution: 'Разрешение',
auto: 'Автоматическое',
@@ -66,6 +67,7 @@ const ru = {
resetHdmi: 'Перезагрузить HDMI подсистему'
},
keyboard: {
title: 'Клавиатура',
paste: 'Вставка текста',
tips: 'Поддерживаются только стандартные буквы и символы клавиатуры',
placeholder: 'Текст для ввода',
@@ -74,6 +76,8 @@ const ru = {
ctrlaltdel: 'Ctrl+Alt+Del'
},
mouse: {
title: 'Мышь',
cursor: 'Стиль курсора',
default: 'Курсор по умолчанию',
pointer: 'Курсор: указатель',
cell: 'Курсор: крест',
@@ -84,7 +88,16 @@ const ru = {
absolute: 'Абсолютный режим',
relative: 'Относительный режим',
requestPointer: 'Используется относительный режим. Нажмите на рабочий стол для захвата мыши.',
resetHid: 'Перезагрузить HID-подсистему'
resetHid: 'Перезагрузить HID-подсистему',
hidOnly: {
title: 'Режим только HID',
desc: 'Если мышь и клавиатура перестали отвечать, и перезагрузка HID-подсистемы не помогает, это может быть связано с несовместимостью между NanoKVM и устройством. Попробуйте включить режим только HID для улучшения совместимости.',
tip1: 'Включение режима только HID отключит виртуальный USB-диск и виртуальную сеть',
tip2: 'В режиме только HID отключена возможность монтирования образов',
tip3: 'NanoKVM автоматически перезагрузится после переключения режима',
enable: 'Включить режим только HID',
disable: 'Выключить режим только HID'
}
},
image: {
title: 'Образы',
@@ -94,6 +107,7 @@ const ru = {
mountFailed: 'Монтирование образа не удалось',
mountDesc:
'В некоторых системах необходимо отсоединить виртуальный диск на удаленном хосте перед монтированием образа.',
refresh: 'Обновить список образов',
tips: {
title: 'Как загрузить',
usb1: 'Подключите NanoKVM к вашему компьютеру через USB.',
@@ -130,6 +144,16 @@ const ru = {
serialPort: 'COM-порт',
serialPortPlaceholder: 'Введите COM-порт',
baudrate: 'Скорость передачи',
parity: 'Чётность',
parityNone: 'Нет',
parityEven: 'Чётная',
parityOdd: 'Нечётная',
flowControl: 'Управление потоком',
flowControlNone: 'Нет',
flowControlSoft: 'Программное',
flowControlHard: 'Аппаратное',
dataBits: 'Бит данных',
stopBits: 'Стоп-бит',
confirm: 'ОК'
},
wol: {
@@ -147,10 +171,16 @@ const ru = {
},
power: {
title: 'Питание',
showConfirm: 'Подтверждение',
showConfirmTip: 'Если включено, операции с питанием потребуют дополнительного подтверждения',
reset: 'Экстренная перезагрузка',
power: 'Питание',
powerShort: 'Питание (короткое нажатие)',
powerLong: 'Питание (длинное нажатие)'
powerLong: 'Питание (длинное нажатие)',
resetConfirm: 'Вы уверены, что хотите выполнить экстренную перезагрузку?',
powerConfirm: 'Вы уверены, что хотите нажать кнопку питания?',
okBtn: 'Да',
cancelBtn: 'Нет'
},
settings: {
title: 'Настройки',
@@ -164,14 +194,23 @@ const ru = {
image: 'Версия прошивки',
imageTip: 'Версия системного образа NanoKVM',
deviceKey: 'Ключ устройства',
community: 'Сообщество'
community: 'Сообщество',
hostname: 'Имя хоста',
hostnameUpdated: 'Имя хоста изменено. Перезагрузите NanoKVM, чтобы настройки вступили в силу.',
ipType: {
'Wired': 'Проводное',
'Wireless': 'Беспроводное',
'Other': 'Другое'
}
},
appearance: {
title: 'Внешний вид',
display: 'Отображение',
language: 'Язык',
menuBar: 'Панель меню',
menuBarDesc: 'Иконки для отображения в панели меню'
menuBarDesc: 'Иконки для отображения в панели меню',
webTitle: 'Заголовок страницы',
webTitleDesc: 'Изменить заголовок страницы'
},
device: {
title: 'Устройство',
@@ -197,10 +236,33 @@ const ru = {
description: 'Включить удаленный доступ по SSH',
tip: 'Задайте сильный пароль перед включением (Аккаунт - Пароль - Обновить)'
},
advanced: 'Дополнительные настройки',
swap: {
title: 'Файл подкачки',
disable: 'Отключить',
description: 'Задать размер файла подкачки',
tip: 'Включение этой опции может негативно сказаться на долговечности SD-карты!',
},
mouseJiggler: {
title: 'Дрожалка для мыши',
description: 'Включите данную опцию, если хост засыпает',
disable: 'Отключить',
absolute: 'Абсолютный режим',
relative: 'Относительный режим'
},
mdns: {
description: 'Включить сервис обнаружения mDNS',
tip: "Выключите, если нет необходимости"
},
hidOnly: 'Режим только HID',
disk: 'Виртуальный диск',
diskDesc: 'Смонтировать виртуальный USB диск на удаленном хосте',
network: 'Виртуальная сеть',
networkDesc: 'Смонтировать виртуальное сетевое устройство на удаленном хосте'
networkDesc: 'Смонтировать виртуальное сетевое устройство на удаленном хосте',
reboot: 'Перезагрузка',
rebootDesc: 'Вы уверены, что хотите перезагрузить NanoKVM?',
okBtn: 'Да',
cancelBtn: 'Нет'
},
tailscale: {
title: 'Tailscale',
@@ -246,19 +308,33 @@ const ru = {
available: 'Доступно обновление. Вы уверены, что хотите обновить?',
updating: 'Начато обновление. Пожалуйста, подождите...',
confirm: 'Подтвердить',
cancel: 'Отмена'
cancel: 'Отмена',
preview: 'Ранние обновления',
previewDesc: 'Получайте ранний доступ к новым функциям и улучшениям',
previewTip:
'Обратите внимание: в ранних версиях могут быть ошибки или незавершённый функционал!'
},
account: {
title: 'Аккаунт',
webAccount: 'Имя веб-аккаунта',
password: 'Пароль',
updateBtn: 'Обновить',
logoutBtn: 'Выйти'
logoutBtn: 'Выйти',
logoutDesc: 'Вы действительно хотите выйти?',
okBtn: 'Да',
cancelBtn: 'Нет'
}
},
error: {
title: "У нас возникла проблема",
refresh: 'Обновить страницу'
},
fullscreen: {
toggle: 'Полноэкранный режим'
},
menu: {
collapse: 'Свернуть меню',
expand: 'Развернуть меню'
}
}
};

View File

@@ -48,7 +48,7 @@ export const Information = () => {
<div className="flex flex-col space-y-1">
{information.ips.map((ip) => (
<div key={ip.addr} className="flex items-center">
<Tag>{ip.type}</Tag>
<Tag>{t('settings.about.ipType.' + ip.type)}</Tag>
<span>{ip.addr}</span>
</div>
))}

View File

@@ -57,7 +57,7 @@ export const Swap = () => {
<div className="flex items-center justify-between">
<div className="flex flex-col">
<div className="flex items-center space-x-2">
<span>Swap</span>
<span>{t('settings.device.swap.title')}</span>
<Tooltip
title={t('settings.device.swap.tip')}