Add Russian language

This commit is contained in:
polyzium
2024-08-23 17:28:50 +03:00
parent 60b4df58f1
commit 8b413344e0
4 changed files with 168 additions and 1 deletions

View File

@@ -6,8 +6,9 @@ import { getLanguage } from '@/lib/localstorage.ts';
import { en } from './en';
import { fr } from './fr';
import { zh } from './zh';
import { ru } from './ru';
const resources = { en, fr, zh };
const resources = { en, fr, ru, zh };
function getCurrentLanguage(): string {
const languages = Object.keys(resources);

164
web/src/i18n/ru.ts Normal file
View File

@@ -0,0 +1,164 @@
export const ru = {
translation: {
language: 'Язык',
changePassword: 'Изменить пароль',
logout: 'Выйти',
keyboard: 'Клавиатура',
images: 'Образы',
loading: 'Загрузка',
empty: 'Пусто',
settings: 'Настройки',
showMouse: 'Показать мышь',
hideMouse: 'Скрыть мышь',
power: 'Питание',
reset: 'Экстренная перезагрузка',
powerShort: 'Питание (короткое нажатие)',
powerLong: 'Питание (длинное нажатие)',
hddLed: 'Индикатор активности хранилища',
checkLibFailed: 'Не удалось проверить библиотеку среды выполнения, попробуйте еще раз',
updateLibFailed: 'Не удалось обновить библиотеку среды выполнения, попробуйте еще раз',
updatingLib: 'Обновление библиотеки среды выполнения. Пожалуйста, обновите страницу после обновления.',
checkForUpdate: 'Проверить обновления',
head: {
desktop: 'Удаленный рабочий стол',
login: 'Войти',
changePassword: 'Изменить пароль',
terminal: 'Терминал'
},
auth: {
login: 'Войти',
placeholderUsername: 'Введите имя пользователя',
placeholderPassword: 'Введите пароль',
placeholderPassword2: 'Введите пароль снова',
noEmptyUsername: 'Имя пользователя не может быть пустым',
noEmptyPassword: 'Пароль не может быть пустым',
noAccount: 'Не удалось получить информацию о пользователе, пожалуйста, обновите веб-страницу или сбросьте пароль',
invalidUser: 'Неверное имя пользователя или пароль',
error: 'Непредвиденная ошибка',
changePassword: 'Изменить пароль',
differentPassword: 'Пароли не совпадают',
illegalUsername: 'Имя пользователя содержит недопустимые символы',
illegalPassword: 'Пароль содержит недопустимые символы',
forgetPassword: 'Забыли пароль?',
resetPassword: 'Сбросить пароль',
reset1: 'Если вы забыли пароль, выполните следующие действия для его восстановления:',
reset2: '1. Войдите в устройство NanoKVM по протоколу SSH;',
reset3: '2. Удалите файл на устройстве: ',
reset4: '3. Используйте учетную запись по умолчанию для входа в систему: ',
ok: 'ОК',
cancel: 'Отмена'
},
screen: {
resolution: 'Разрешение',
fps: 'Частота кадров',
customizeFps: 'Настроить',
quality: 'Качество',
frameDetect: 'Экономия трафика',
frameDetectTip:
"Вычисляет разницу между кадрами и прекращает передачу видеопотока, если на экране удаленного узла не обнаружено никаких изменений."
},
cursor: {
default: 'Курсор по умолчанию',
pointer: 'Курсор: указатель',
cell: 'Курсор: крест',
text: 'Курсор: выбор текста',
grab: 'Курсор: захват',
hide: 'Скрыть курсор',
mode: 'Режим мыши',
absolute: 'Абсолютный режим',
relative: 'Относительный режим',
requestPointer: 'Используется относительный режим. Нажмите на рабочий стол для захвата мыши.',
resetHid: 'Перезагрузить HID-подсистему'
},
image: {
title: 'Образы',
loading: 'Загрузка...',
empty: 'Пусто',
tips: {
title: 'Как загрузить',
usb1: 'Подключите NanoKVM к вашему компьютеру через USB.',
usb2: 'Убедитесь что Виртуальный USB-накопитель смонтирован (Настройки - Виртуальный USB-накопитель).',
usb3: 'Откройте виртуальный USB-накопитель на вашем компьютере и скопируйте файл образа в корневую директорию USB-накопителя.',
scp1: 'Убедитесь что NanoKVM и ваш компьютер находятся в одной и той же сети.',
scp2: 'Откройте терминал на вашем компьютере и используйте команду scp чтобы загрузить файл образа в директорию /data, находящуюся на NanoKVM.',
scp3: 'Например: scp путь-к-образу root@ip-вашего-nanokvm:/data',
tfCard: 'Карта памяти',
tf1: 'Этот метод поддерживается на Linux-системах',
tf2: 'Извлеките карту памяти из NanoKVM (если у вас "полная" (Full) версия, сначала нужно разобрать корпус).',
tf3: 'Вставьте карту памяти в картридер и подключите его в свой компьютер.',
tf4: 'Скопируйте файл образа в директорию /data на карте памяти.',
tf5: 'Вставьте карту памяти в NanoKVM.'
},
},
script: {
title: 'Скрипты',
upload: 'Загрузить',
run: 'Выполнить',
runBackground: 'Выполнить в фоне',
runFailed: 'Не удалось выполнить',
attention: 'Внимание',
delDesc: 'Вы уверены, что хотите удалить этот файл?',
confirm: 'Да',
cancel: 'Нет',
delete: 'Удалить',
close: 'Закрыть'
},
terminal: {
title: 'Терминал',
nanokvm: 'Терминал NanoKVM',
serial: 'Терминал COM-порта',
serialPort: 'COM-порт',
serialPortPlaceholder: 'Введите COM-порт',
baudrate: 'Скорость передачи',
confirm: 'ОК'
},
wol: {
sending: 'Отправка команды...',
sent: 'Команда отправлена',
input: 'Введите MAC-адрес',
ok: 'ОК'
},
about: {
title: 'О системе NanoKVM',
information: 'Информация',
ip: 'IP-адрес',
mdns: 'Доменное имя mDNS',
firmware: 'Версия ПО',
image: 'Версия прошивки',
deviceKey: 'Ключ устройства',
queryFailed: 'Запрос не удался',
community: 'Сообщество'
},
update: {
title: 'Проверить обновления',
queryFailed: 'Получить версию не удалось',
updateFailed: 'Обновление не удалось. Пожалуйста, попробуйте еще раз.',
isLatest: 'У вас уже есть последняя версия.',
available: 'Доступно обновление. Вы уверены, что хотите обновить?',
updating: 'Начато обновление. Пожалуйста, подождите...',
confirm: 'Подтвердить',
cancel: 'Отмена'
},
virtualDevice: {
network: 'Виртуальная сеть',
usb: 'Виртуальный USB-накопитель'
},
tailscale: {
loading: 'Загрузка...',
notInstalled: 'Tailscale не найден! Пожалуйста, установите.',
install: 'Установить',
installing: 'Установка...',
urlPeriod: 'Этот адрес действителен в течение 10 минут',
installed: 'Tailscale уже установлен. Пожалуйста, войдите в систему.',
login: 'Войти',
failed: 'Не удалось установить',
retry: 'Пожалуйста, обновите и попробуйте снова, или попробуйте установить вручную',
download: 'Скачайте',
package: 'установочный пакет',
unzip: 'и разархивируйте его',
upTailscale: 'Переместите tailscale в каталог /usr/bin/ на NanoKVM',
upTailscaled: 'Переместите tailscaled в каталог /usr/sbin/ на NanoKVM',
refresh: 'Обновите текущую страницу'
}
}
};

View File

@@ -18,6 +18,7 @@ export const Language = () => {
const languageItems = [
{ lng: 'en', name: 'English' },
{ lng: 'fr', name: 'Français' },
{ lng: 'ru', name: 'Русский' },
{ lng: 'zh', name: '中文' }
];

View File

@@ -18,6 +18,7 @@ export const Language = () => {
const languageItems = [
{ lng: 'en', name: 'English' },
{ lng: 'fr', name: 'Français' },
{ lng: 'ru', name: 'Русский' },
{ lng: 'zh', name: '中文' }
];