chore: 保存工作副本——客户端授权新契约(双端点/验签/令牌/周检)与桌面会话可靠性改进
This commit is contained in:
1 parent
f71eef0eba
commit
ae6093c9b3
163 files changed
+4911
-2494
No files matched your search
@@ -13,7 +13,7 @@
|
||||
"ai": "AI-модели",
|
||||
"aiDesc": "AI-провайдеры",
|
||||
"about": "О приложении",
|
||||
"aboutDesc": "Версия и данные",
|
||||
"aboutDesc": "Версия, контакты и диагностика",
|
||||
"account": "Аккаунт",
|
||||
"accountDesc": "Email, лицензия и устройство"
|
||||
},
|
||||
@@ -88,10 +88,10 @@
|
||||
},
|
||||
"ssh": {
|
||||
"connection": "Подключение",
|
||||
"keepAlive": "Keep-alive",
|
||||
"keepAliveDesc": "Отправлять SSH keep-alive в простое; отключать только после нескольких сбоев",
|
||||
"keepAlive": "Поддержание связи",
|
||||
"keepAliveDesc": "В простое слать протокол SSH keep-alive (не вводить в оболочку). Защищает от NAT, не обходит удалённый TMOUT",
|
||||
"autoReconnect": "Авто-переподключение",
|
||||
"autoReconnectDesc": "Автоматически повторять после неожиданного разрыва",
|
||||
"autoReconnectDesc": "Пока вкладка открыта, после неожиданного разрыва переподключаться (новая оболочка). Закрытие вкладки, простой и удалённый TMOUT не удерживаются силой",
|
||||
"timeout": "Тайм-аут подключения",
|
||||
"timeoutDesc": "Максимальное время ожидания при установке SSH (секунды)",
|
||||
"maxReconnect": "Попытки переподключения",
|
||||
@@ -104,7 +104,8 @@
|
||||
"suspend": "Фоновая приостановка",
|
||||
"suspendDesc": "Через сколько минут приостанавливать простаивающие фоновые вкладки (активные Shell/SFTP остаются)",
|
||||
"keepAliveInterval": "Интервал keep-alive (сек)",
|
||||
"keepAliveIntervalDesc": "Как часто опрашивать сервер (как ClientAliveInterval). При нестабильной сети — ≤15 с"
|
||||
"keepAliveIntervalDesc": "Как часто опрашивать сервер (как ClientAliveInterval). При нестабильной сети — ≤15 с",
|
||||
"sessionPolicyHint": "Keep-alive держит TCP-канал, а не политику удалённого сеанса. Bash TMOUT, sshd ClientAlive и простой GPO Windows по-прежнему действуют. Долгие задачи — через tmux/screen на сервере."
|
||||
},
|
||||
"security": {
|
||||
"credentials": "Защита учётных данных",
|
||||
@@ -122,16 +123,25 @@
|
||||
},
|
||||
"about": {
|
||||
"tagline": "Простой и удобный нативный терминал для эксплуатации",
|
||||
"appVersion": "Приложение v{{version}}",
|
||||
"copyVersion": "Копировать сведения о версии",
|
||||
"runtime": "Среда выполнения",
|
||||
"system": "Система",
|
||||
"localData": "Локальные данные",
|
||||
"appVersion": "v{{version}}",
|
||||
"copyVersion": "Скопировать версию, систему и пути для GitHub",
|
||||
"copyDiagnostics": "Копировать диагностику",
|
||||
"copyPath": "Копировать путь",
|
||||
"resources": "Ресурсы",
|
||||
"wechat": "WeChat",
|
||||
"copyWechat": "Скопировать WeChat ID",
|
||||
"github": "Обсуждения",
|
||||
"githubDesc": "https://github.com/L00J/opsxshell/discussions",
|
||||
"releases": "Релизы",
|
||||
"releasesDesc": "Установщики и заметки к выпуску",
|
||||
"licenseLink": "Лицензия",
|
||||
"licenseLinkDesc": "MIT License",
|
||||
"diagnostics": "Диагностика",
|
||||
"sessionsSettings": "Сеансы и настройки",
|
||||
"masterKeyPath": "Мастер-ключ",
|
||||
"privacyNote": "Пароли и passphrase шифруются в Rust (AES-256-GCM). Без истории команд и без аудита-бастиона.",
|
||||
"license": "Лицензия MIT · Rust · XTerm.js",
|
||||
"logPath": "Журнал приложения"
|
||||
"license": "MIT License · Rust · XTerm.js",
|
||||
"logPath": "Журнал приложения",
|
||||
"reportBug": "Сообщить об ошибке",
|
||||
"reportBugDesc": "Открывает GitHub issue с текущей версией и платформой"
|
||||
},
|
||||
"ai": {
|
||||
"presets": "Пресеты провайдеров",
|
||||
@@ -151,13 +161,15 @@
|
||||
"saved": "Сохранено",
|
||||
"retest": "Пожалуйста, перепроверьте",
|
||||
"testFailed": "Сбой проверки подключения",
|
||||
"available": "OK · {{latency}} мс",
|
||||
"available": "Готово · {{latency}} мс",
|
||||
"savedKeepBlank": "Сохранено — оставьте пустым, чтобы сохранить",
|
||||
"notRequired": "Не требуется",
|
||||
"otherModels": "Другие модели…",
|
||||
"customModel": "Своя модель",
|
||||
"backToList": "Назад к списку",
|
||||
"apiKeyOptional": "API Key (не требуется)",
|
||||
"apiKey": "API-ключ",
|
||||
"apiKeyOptional": "API-ключ (не требуется)",
|
||||
"endpoint": "Адрес API",
|
||||
"advanced": "Дополнительно",
|
||||
"allowHttp": "Разрешить HTTP (localhost/LAN)",
|
||||
"setActive": "Сделать активным",
|
||||
@@ -175,26 +187,26 @@
|
||||
}
|
||||
},
|
||||
"account": {
|
||||
"title": "Account",
|
||||
"email": "Email",
|
||||
"emailDesc": "Used for checkout and license claims",
|
||||
"plan": "Current plan",
|
||||
"planFree": "Free",
|
||||
"title": "Аккаунт",
|
||||
"email": "Почта",
|
||||
"emailDesc": "Контактная почта для оплаты и получения лицензии",
|
||||
"plan": "Текущий план",
|
||||
"planFree": "Бесплатный",
|
||||
"planYearly": "Pro на год",
|
||||
"planPerpetual": "Pro бессрочно",
|
||||
"planTrial": "Pro пробный",
|
||||
"expires": "Expires {{date}}",
|
||||
"lifetime": "Lifetime",
|
||||
"devices": "Seats: up to {{count}} devices",
|
||||
"deviceId": "This device ID",
|
||||
"saveEmail": "Save email",
|
||||
"activate": "Activate license",
|
||||
"pasteLicense": "Paste LIC- license key",
|
||||
"clear": "Clear local license",
|
||||
"deactivate": "Deactivate this device",
|
||||
"upgrade": "Upgrade",
|
||||
"saved": "Saved",
|
||||
"activateOk": "Activated",
|
||||
"expires": "Действует до {{date}}",
|
||||
"lifetime": "Бессрочно",
|
||||
"devices": "Места устройств: до {{count}}",
|
||||
"deviceId": "ID этого устройства",
|
||||
"saveEmail": "Сохранить почту",
|
||||
"activate": "Активировать лицензию",
|
||||
"pasteLicense": "Вставьте лицензию LIC-",
|
||||
"clear": "Удалить локальную лицензию",
|
||||
"deactivate": "Отключить активацию на этом устройстве",
|
||||
"upgrade": "Перейти на Pro",
|
||||
"saved": "Сохранено",
|
||||
"activateOk": "Активировано",
|
||||
"deviceList": "Привязанные устройства",
|
||||
"loadingDevices": "Загрузка устройств…",
|
||||
"noDevices": "Нет привязанных устройств",
|
||||
|
||||
Reference in new issue
Block a user