Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,762 changes: 2,762 additions & 0 deletions package-lock.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
"test": "vitest"
},
"dependencies": {
"@bufbuild/buf": "^1.61.0",
"@bufbuild/protobuf": "^2.9.0",
"@meshtastic/protobufs": "npm:@jsr/meshtastic__protobufs@^2.7.12-1",
"ste-simple-events": "^3.0.11",
Expand Down
80 changes: 40 additions & 40 deletions packages/web/public/i18n/locales/ru-RU/channels.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,70 +2,70 @@
"page": {
"sectionLabel": "Каналы",
"channelName": "Канал: {{channelName}}",
"broadcastLabel": "Первичный",
"channelIndex": "Кн {{index}}",
"import": "Импортировать",
"broadcastLabel": "Основной",
"channelIndex": "Канал {{index}}",
"import": "Импорт",
"export": "Экспорт"
},
"validation": {
"pskInvalid": "Введите правильный {{bits}} бит PSK."
"pskInvalid": "Пожалуйста, введите действительный {{bits}} битный PSK."
},
"settings": {
"label": "Настройки канала",
"description": "Настройка шифрования, MQTT и пр"
"description": "Криптография, MQTT и прочие настройки"
},
"role": {
"label": "Роль",
"description": "Телеметрия устройства отправляется через ГЛАВНЫЙ. Только один ГЛАВНЫЙ разрешен",
"description": "Телеметрия устройства отправляется через ОСНОВНОЙ. Разрешен только один ОСНОВНОЙ",
"options": {
"primary": "ГЛАВНЫЙ",
"disabled": "ЗАПРЕЩЕННЫЙ",
"primary": "ОСНОВНОЙ",
"disabled": "ОТКЛЮЧЕН",
"secondary": "ВТОРИЧНЫЙ"
}
},
"psk": {
"label": "Pre-Shared Ключ",
"description": "Поддерживаемая длина PSK: 256-бит, 128-бит, 8-бит, Пустое (0-бит)",
"generate": "Сгенерировать"
"label": "Предварительно разделяемый ключ",
"description": "Поддерживаемые длины PSK: 256-бит, 128-бит, 8-бит, Пустой (0-бит)",
"generate": "Создать"
},
"name": {
"label": "Имя",
"description": "ЗАПРЕЩЕННЫЙ"
"description": "Уникальное имя для канала <12 байт, оставьте пустым для значения по умолчанию"
},
"uplinkEnabled": {
"label": "Выгрузка Разрешена",
"description": "Отправлять сообщения из местного mesh в MQTT"
"label": "Восходящая связь включена",
"description": "Отправлять сообщения из локальной сети в MQTT"
},
"downlinkEnabled": {
"label": "Загрузка Разрешена",
"description": "Отправлять сообщения из MQTT в местный mesh"
"label": "Нисходящая связь включена",
"description": "Отправлять сообщения из MQTT в локальную сеть"
},
"positionPrecision": {
"label": "Позиция",
"description": "Точность позиции для отправки в канал. Можно запретить.",
"label": "Местоположение",
"description": "Точность местоположения для обмена с каналом. Может быть отключено.",
"options": {
"none": "Не делиться позицией",
"precise": "Точная позиция",
"metric_km23": "Около 23 километров",
"metric_km12": "Около 12 километров",
"metric_km5_8": "Within 5.8 kilometers",
"metric_km2_9": "Within 2.9 kilometers",
"metric_km1_5": "Около 1,5 километров",
"metric_m700": "Около 700 метров",
"metric_m350": "Около 350 метров",
"metric_m200": "Около 200 метров",
"metric_m90": "Около 90 метров",
"metric_m50": "Около 50 метров",
"imperial_mi15": "Около 15 миль",
"imperial_mi7_3": "Within 7.3 miles",
"imperial_mi3_6": "Within 3.6 miles",
"imperial_mi1_8": "Within 1.8 miles",
"imperial_mi0_9": "Within 0.9 miles",
"imperial_mi0_5": "Within 0.5 miles",
"imperial_mi0_2": "Около 0,2 миль",
"imperial_ft600": "Около 600 футов",
"imperial_ft300": "Около 300 футов",
"imperial_ft150": "Около 150 футов"
"none": "Не делиться местоположением",
"precise": "Точное местоположение",
"metric_km23": "В пределах 23 километров",
"metric_km12": "В пределах 12 километров",
"metric_km5_8": "В пределах 5.8 километров",
"metric_km2_9": "В пределах 2.9 километров",
"metric_km1_5": "В пределах 1.5 километров",
"metric_m700": "В пределах 700 метров",
"metric_m350": "В пределах 350 метров",
"metric_m200": "В пределах 200 метров",
"metric_m90": "В пределах 90 метров",
"metric_m50": "В пределах 50 метров",
"imperial_mi15": "В пределах 15 миль",
"imperial_mi7_3": "В пределах 7.3 миль",
"imperial_mi3_6": "В пределах 3.6 миль",
"imperial_mi1_8": "В пределах 1.8 миль",
"imperial_mi0_9": "В пределах 0.9 миль",
"imperial_mi0_5": "В пределах 0.5 миль",
"imperial_mi0_2": "В пределах 0.2 миль",
"imperial_ft600": "В пределах 600 футов",
"imperial_ft300": "В пределах 300 футов",
"imperial_ft150": "В пределах 150 футов"
}
}
}
34 changes: 17 additions & 17 deletions packages/web/public/i18n/locales/ru-RU/commandPalette.json
Original file line number Diff line number Diff line change
@@ -1,51 +1,51 @@
{
"emptyState": "Результаты не найдены..",
"emptyState": "Результаты не найдены.",
"page": {
"title": "Меню"
"title": "Меню команд"
},
"pinGroup": {
"label": "Закрепить меню"
"label": "Закрепить группу команд"
},
"unpinGroup": {
"label": "Открепить меню"
"label": "Открепить группу команд"
},
"goto": {
"label": "Перейти",
"command": {
"messages": "Сообщения",
"map": "Карта",
"config": "Настройка",
"config": "Конфигурация",
"nodes": "Узлы"
}
},
"manage": {
"label": "Управление",
"command": {
"switchNode": "Выбрать узел",
"switchNode": "Переключить узел",
"connectNewNode": "Подключить новый узел"
}
},
"contextual": {
"label": "Контекст",
"label": "Контекстные",
"command": {
"qrCode": "QR Код",
"qrCode": "QR код",
"qrGenerator": "Генератор",
"qrImport": "Импортировать",
"scheduleShutdown": "Расписание выключения",
"qrImport": "Импорт",
"scheduleShutdown": "Запланировать выключение",
"scheduleReboot": "Перезагрузить устройство",
"resetNodeDb": "Стереть базу данных узлов",
"resetNodeDb": "Сбросить базу данных узлов",
"dfuMode": "Войти в режим DFU",
"factoryResetDevice": "Сброс устройства к заводским установкам",
"factoryResetConfig": "Factory Reset Config",
"factoryResetDevice": "Сброс устройства к заводским настройкам",
"factoryResetConfig": "Сброс конфигурации к заводским настройкам",
"disconnect": "Отключиться"
}
},
"debug": {
"label": "Debug",
"label": "Отладка",
"command": {
"reconfigure": "Перенастроить",
"clearAllStoredMessages": "Удалить все сохранённые сообщения",
"clearAllStores": "Очистить всё локальное хранилище"
"clearAllStoredMessages": "Очистить все сохраненные сообщения",
"clearAllStores": "Очистить все локальное хранилище"
}
}
}
}
96 changes: 48 additions & 48 deletions packages/web/public/i18n/locales/ru-RU/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"apply": "Применить",
"addConnection": "Добавить подключение",
"saveConnection": "Сохранить подключение",
"backupKey": "Бэкап ключа",
"backupKey": "Резервная копия ключа",
"cancel": "Отмена",
"connect": "Подключиться",
"clearMessages": "Очистить сообщения",
Expand All @@ -15,27 +15,27 @@
"disconnect": "Отключиться",
"export": "Экспорт",
"generate": "Создать",
"regenerate": "Создать снова",
"regenerate": "Создать заново",
"import": "Импортировать",
"message": "Сообщение",
"now": "Сейчас",
"ok": "Лады",
"ok": "ОК",
"print": "Печать",
"remove": "Удалить",
"requestNewKeys": "Запрос нового ключа",
"requestPosition": "Запрос позиции",
"requestNewKeys": "Запросить новые ключи",
"requestPosition": "Запросить позицию",
"reset": "Сброс",
"retry": "Повторить",
"save": "Сохранить",
"setDefault": "Установить по умолчанию",
"unsetDefault": "Убрать умолчание",
"unsetDefault": "Убрать по умолчанию",
"scanQr": "Сканировать QR код",
"traceRoute": "Отследить маршрут",
"submit": "Отправить"
},
"app": {
"title": "Meshtastic",
"fullTitle": "Веб клиент Meshtastic"
"fullTitle": "Веб-клиент Meshtastic"
},
"loading": "Загрузка...",
"unit": {
Expand All @@ -48,12 +48,12 @@
},
"hopsAway": {
"one": "{{count}} прыжок до",
"plural": "{{count}} прыжков",
"unknown": "? прыжков"
"plural": "{{count}} прыжков до",
"unknown": "Неизвестное количество прыжков"
},
"megahertz": "МГц",
"kilohertz": "кГц",
"raw": "raw",
"raw": "сырые",
"meter": {
"one": "Метр",
"plural": "Метров",
Expand Down Expand Up @@ -92,74 +92,74 @@
"plural": "Месяцев"
},
"year": {
"one": "Year",
"plural": "Years"
"one": "Год",
"plural": "Лет"
},
"snr": "Сигнал/шум",
"snr": "SNR",
"volt": {
"one": "Volt",
"plural": "Volts",
"suffix": "V"
"one": "Вольт",
"plural": "Вольт",
"suffix": "В"
},
"record": {
"one": "Records",
"plural": "Records"
"one": "Запись",
"plural": "Записей"
},
"degree": {
"one": "Degree",
"plural": "Degrees",
"one": "Градус",
"plural": "Градусов",
"suffix": "°"
}
},
"security": {
"0bit": "Empty",
"8bit": "8 bit",
"128bit": "128 bit",
"256bit": "256 bit"
"0bit": "Пустой",
"8bit": "8 бит",
"128bit": "128 бит",
"256bit": "256 бит"
},
"unknown": {
"longName": "Неизвестно",
"shortName": "UNK",
"notAvailable": "N/A",
"shortName": "НЕИЗВ",
"notAvailable": "Н/Д",
"num": "??"
},
"nodeUnknownPrefix": "!",
"unset": "UNSET",
"unset": "НЕ УСТАНОВЛЕНО",
"fallbackName": "Meshtastic {{last4}}",
"node": "Node",
"node": "Узел",
"formValidation": {
"unsavedChanges": "Unsaved changes",
"unsavedChanges": "Несохраненные изменения",
"tooBig": {
"string": "Too long, expected less than or equal to {{maximum}} characters.",
"number": "Too big, expected a number smaller than or equal to {{maximum}}.",
"bytes": "Too big, expected less than or equal to {{params.maximum}} bytes."
"string": "Слишком длинно, ожидается не более {{maximum}} символов.",
"number": "Слишком большое значение, ожидается число не более {{maximum}}.",
"bytes": "Слишком большой размер, ожидается не более {{params.maximum}} байт."
},
"tooSmall": {
"string": "Too short, expected more than or equal to {{minimum}} characters.",
"number": "Too small, expected a number larger than or equal to {{minimum}}."
"string": "Слишком коротко, ожидается не менее {{minimum}} символов.",
"number": "Слишком маленькое значение, ожидается число не менее {{minimum}}."
},
"invalidFormat": {
"ipv4": "Invalid format, expected an IPv4 address.",
"key": "Invalid format, expected a Base64 encoded pre-shared key (PSK)."
"ipv4": "Неверный формат, ожидается IPv4 адрес.",
"key": "Неверный формат, ожидается предварительно разделяемый ключ (PSK) в кодировке Base64."
},
"invalidType": {
"number": "Invalid type, expected a number."
"number": "Неверный тип, ожидается число."
},
"pskLength": {
"0bit": "Key is required to be empty.",
"8bit": "Key is required to be an 8 bit pre-shared key (PSK).",
"128bit": "Key is required to be a 128 bit pre-shared key (PSK).",
"256bit": "Key is required to be a 256 bit pre-shared key (PSK)."
"0bit": "Ключ должен быть пустым.",
"8bit": "Требуется 8-битный предварительно разделяемый ключ (PSK).",
"128bit": "Требуется 128-битный предварительно разделяемый ключ (PSK).",
"256bit": "Требуется 256-битный предварительно разделяемый ключ (PSK)."
},
"required": {
"generic": "This field is required.",
"managed": "At least one admin key is requred if the node is managed.",
"key": "Key is required."
"generic": "Это поле обязательно для заполнения.",
"managed": "Требуется хотя бы один ключ администратора, если узел находится в управляемом режиме.",
"key": "Ключ обязателен."
},
"invalidOverrideFreq": {
"number": "Invalid format, expected a value in the range 410-930 MHz or 0 (use default)."
"number": "Неверный формат, ожидается значение в диапазоне 410-930 МГц или 0 (использовать по умолчанию)."
}
},
"yes": "Yes",
"no": "No"
}
"yes": "Да",
"no": "Нет"
}
Loading