feat(ui): redesign the overview page as a trend-first command deck

Replace the ten-small-cards overview with an action bar, four vitals
tiles carrying 72-sample sparklines seeded from /server/history, a
two-series throughput chart, a TCP/UDP connections chart, and a
grouped system strip (uptime xray|os, panel ram|threads, ip
addresses). StatusCard and XrayStatusCard are deleted; every modal
stays reachable from the action bar, the Xray error message moves
into a tooltip on the state pill, and the panel version text keeps
opening the update modal (the dev-channel switch lives there) even
when no update is available. Live values sit beside the
upload/download and tcp/udp legends, a health sentence appears only
when a vital crosses the shared warn/crit thresholds now exported
from models/status, and load average is left to System History.

The sidebar becomes an auto-collapsed 72px icon rail that expands as
an overlay on hover: rail width, brand-row height and menu paddings
are pinned so nothing shifts during the transition, the collapsed-menu
tooltips are disabled, hover state survives the per-page sidebar
remounts (with a matches(':hover') resync), and the manual collapse
trigger is gone.

Sparkline gains rgb()/rgba() support in its fill gradient, a
showLegend prop so pages stop reaching into its internals, and loses
a dependency-less repaint effect that doubled canvas paints. Chart
tooltips show clock time via the new TimeFormatter.formatClock;
accents come from theme tokens instead of status.cpu.color. Verified
by screenshot at 390/800/1150/1280/1400/1600px in light and dark,
en and fa-IR, plus programmatic geometry checks on the sidebar.
Locale files gain 8 keys and lose 9 dead ones across all 13
languages.
This commit is contained in:
Sanaei
2026-07-29 20:17:37 +02:00
parent 87ebcc7a6f
commit c3fa73d5a0
30 changed files with 1467 additions and 765 deletions
+12 -8
View File
@@ -106,7 +106,6 @@
"routing": "التوجيه",
"outbounds": "الصادرات",
"apiDocs": "توثيق API",
"link": "إدارة",
"donate": "تبرع",
"hosts": "المضيفات",
"docs": "التوثيق",
@@ -127,12 +126,9 @@
},
"index": {
"cpu": "المعالج",
"logicalProcessors": "المعالجات المنطقية",
"frequency": "التردد",
"swap": "التبديل",
"storage": "تخزين",
"memory": "الذاكرة",
"threads": "خيوط",
"xrayStatus": "Xray",
"stopXray": "إيقاف",
"restartXray": "إعادة تشغيل",
@@ -153,7 +149,6 @@
"xrayStatusRunning": "شغالة",
"xrayStatusStop": "متوقفة",
"xrayStatusError": "خطأ",
"operationHours": "مدة التشغيل",
"systemHistoryTitle": "تاريخ النظام",
"historyTitleCpu": "استخدام المعالج",
"historyTitleMem": "استخدام الذاكرة",
@@ -171,7 +166,6 @@
"historyTabLoad": "الحِمل",
"historyTabConnections": "الاتصالات",
"historyTabDiskUsage": "استخدام القرص",
"charts": "الرسوم البيانية",
"xrayMetricsTitle": "مقاييس Xray",
"xrayTitleHeap": "ذاكرة الكومة المخصصة",
"xrayTitleSys": "الذاكرة المحجوزة من نظام التشغيل",
@@ -200,7 +194,6 @@
"overallSpeed": "السرعة الكلية",
"upload": "رفع",
"download": "تنزيل",
"totalData": "إجمالي البيانات",
"sent": "مرسل",
"received": "مستقبل",
"xraySwitchVersionDialog": "هل تريد حقًا تغيير إصدار Xray؟",
@@ -250,7 +243,18 @@
"exportDatabasePgDesc": "انقر لتنزيل نسخة PostgreSQL (.dump) من قاعدة بياناتك الحالية إلى جهازك.",
"importDatabasePgDesc": "انقر لاختيار ورفع نسخة احتياطية من PostgreSQL (.dump) أو قاعدة بيانات SQLite (.db) أو ملف ترحيل SQLite لاستعادة قاعدة البيانات. سيؤدي هذا إلى استبدال جميع البيانات الحالية.",
"migrationDownload": "تنزيل ملف الترحيل",
"migrationDownloadPgDesc": "انقر لتنزيل قاعدة بيانات SQLite بامتداد .db مبنية من بيانات PostgreSQL الخاصة بك، جاهزة لتشغيل هذه اللوحة على SQLite."
"migrationDownloadPgDesc": "انقر لتنزيل قاعدة بيانات SQLite بامتداد .db مبنية من بيانات PostgreSQL الخاصة بك، جاهزة لتشغيل هذه اللوحة على SQLite.",
"avg": "متوسط",
"peak": "ذروة",
"free": "متاح",
"openSockets": "مقابس مفتوحة",
"throughputSub": "إجمالي الواجهة",
"avgWindow": "متوسط الفترة",
"healthWarm": "{list} — مرتفع قليلاً",
"healthCritical": "{list} — حرج",
"panel": "اللوحة",
"threads": "الخيوط",
"uptime": "مدة التشغيل"
},
"inbounds": {
"totalDownUp": "إجمالي المرسل/المستقبل",
+12 -8
View File
@@ -107,7 +107,6 @@
"routing": "Routing",
"outbounds": "Outbounds",
"apiDocs": "API Docs",
"link": "Manage",
"donate": "Donate",
"docs": "Documentation",
"openMenu": "Open menu"
@@ -127,12 +126,9 @@
},
"index": {
"cpu": "CPU",
"logicalProcessors": "Logical Processors",
"frequency": "Frequency",
"swap": "Swap",
"storage": "Storage",
"memory": "RAM",
"threads": "Threads",
"xrayStatus": "Xray",
"stopXray": "Stop",
"restartXray": "Restart",
@@ -153,7 +149,6 @@
"xrayStatusRunning": "Running",
"xrayStatusStop": "Stopped",
"xrayStatusError": "Error",
"operationHours": "Uptime",
"systemHistoryTitle": "System History",
"historyTitleCpu": "CPU Usage",
"historyTitleMem": "Memory Usage",
@@ -171,7 +166,6 @@
"historyTabLoad": "Load",
"historyTabConnections": "Connections",
"historyTabDiskUsage": "Disk Usage",
"charts": "Charts",
"xrayMetricsTitle": "Xray Metrics",
"xrayTitleHeap": "Allocated Heap Memory",
"xrayTitleSys": "Memory Reserved from OS",
@@ -200,7 +194,6 @@
"overallSpeed": "Overall Speed",
"upload": "Upload",
"download": "Download",
"totalData": "Total Data",
"sent": "Sent",
"received": "Received",
"xraySwitchVersionDialog": "Do you really want to change the Xray version?",
@@ -250,7 +243,18 @@
"exportDatabasePgDesc": "Click to download a PostgreSQL dump (.dump) of your current database to your device.",
"importDatabasePgDesc": "Click to select and upload a PostgreSQL backup (.dump), a SQLite database (.db), or a SQLite migration dump to restore your database. This replaces all current data.",
"migrationDownload": "Download Migration",
"migrationDownloadPgDesc": "Click to download a .db SQLite database built from your PostgreSQL data, ready to run this panel on SQLite."
"migrationDownloadPgDesc": "Click to download a .db SQLite database built from your PostgreSQL data, ready to run this panel on SQLite.",
"avg": "avg",
"peak": "peak",
"free": "free",
"openSockets": "open sockets",
"throughputSub": "Interface total",
"avgWindow": "Avg over window",
"healthWarm": "{list} — running warm",
"healthCritical": "{list} — critical",
"panel": "Panel",
"threads": "Threads",
"uptime": "Uptime"
},
"inbounds": {
"totalDownUp": "Total Sent/Received",
+12 -8
View File
@@ -106,7 +106,6 @@
"routing": "Enrutamiento",
"outbounds": "Salidas",
"apiDocs": "Documentación de la API",
"link": "Gestionar",
"donate": "Donar",
"hosts": "Hosts",
"docs": "Documentación",
@@ -127,12 +126,9 @@
},
"index": {
"cpu": "CPU",
"logicalProcessors": "Procesadores lógicos",
"frequency": "Frecuencia",
"swap": "Swap",
"storage": "Almacenamiento",
"memory": "Memoria",
"threads": "Hilos",
"xrayStatus": "Xray",
"stopXray": "Detener",
"restartXray": "Reiniciar",
@@ -153,7 +149,6 @@
"xrayStatusRunning": "En ejecución",
"xrayStatusStop": "Detenido",
"xrayStatusError": "Error",
"operationHours": "Tiempo de Funcionamiento",
"systemHistoryTitle": "Historial del Sistema",
"historyTitleCpu": "Uso de CPU",
"historyTitleMem": "Uso de Memoria",
@@ -171,7 +166,6 @@
"historyTabLoad": "Carga",
"historyTabConnections": "Conexiones",
"historyTabDiskUsage": "Uso de Disco",
"charts": "Gráficos",
"xrayMetricsTitle": "Métricas de Xray",
"xrayTitleHeap": "Memoria Heap Asignada",
"xrayTitleSys": "Memoria Reservada del SO",
@@ -200,7 +194,6 @@
"overallSpeed": "Velocidad general",
"upload": "Subida",
"download": "Descargar",
"totalData": "Datos totales",
"sent": "Enviado",
"received": "Recibido",
"xraySwitchVersionDialog": "¿Realmente deseas cambiar la versión de Xray?",
@@ -250,7 +243,18 @@
"exportDatabasePgDesc": "Haz clic para descargar un volcado de PostgreSQL (.dump) de tu base de datos actual en tu dispositivo.",
"importDatabasePgDesc": "Haz clic para seleccionar y subir una copia de seguridad de PostgreSQL (.dump), una base de datos SQLite (.db) o un volcado de migración de SQLite para restaurar tu base de datos. Esto reemplaza todos los datos actuales.",
"migrationDownload": "Descargar migración",
"migrationDownloadPgDesc": "Haz clic para descargar una base de datos SQLite .db creada a partir de tus datos de PostgreSQL, lista para ejecutar este panel en SQLite."
"migrationDownloadPgDesc": "Haz clic para descargar una base de datos SQLite .db creada a partir de tus datos de PostgreSQL, lista para ejecutar este panel en SQLite.",
"avg": "media",
"peak": "pico",
"free": "libre",
"openSockets": "sockets abiertos",
"throughputSub": "Total de la interfaz",
"avgWindow": "Media del periodo",
"healthWarm": "{list} — algo elevado",
"healthCritical": "{list} — crítico",
"panel": "Panel",
"threads": "Hilos",
"uptime": "Tiempo activo"
},
"inbounds": {
"totalDownUp": "Subidas/Descargas Totales",
+12 -8
View File
@@ -106,7 +106,6 @@
"routing": "مسیریابی",
"outbounds": "خروجی‌ها",
"apiDocs": "مستندات API",
"link": "مدیریت",
"donate": "حمایت مالی",
"hosts": "میزبان‌ها",
"docs": "مستندات",
@@ -127,12 +126,9 @@
},
"index": {
"cpu": "پردازنده",
"logicalProcessors": "پردازنده‌های منطقی",
"frequency": "فرکانس",
"swap": "سواپ",
"storage": "ذخیره‌سازی",
"memory": "حافظه",
"threads": "نخ‌ها",
"xrayStatus": "Xray",
"stopXray": "توقف",
"restartXray": "راه‌اندازی مجدد",
@@ -153,7 +149,6 @@
"xrayStatusRunning": "در حال اجرا",
"xrayStatusStop": "متوقف",
"xrayStatusError": "خطا",
"operationHours": "مدت‌کارکرد",
"systemHistoryTitle": "تاریخچه سیستم",
"historyTitleCpu": "مصرف پردازنده",
"historyTitleMem": "مصرف حافظه",
@@ -171,7 +166,6 @@
"historyTabLoad": "بار",
"historyTabConnections": "اتصالات",
"historyTabDiskUsage": "مصرف دیسک",
"charts": "نمودارها",
"xrayMetricsTitle": "متریک‌های Xray",
"xrayTitleHeap": "حافظه‌ی Heap تخصیص‌یافته",
"xrayTitleSys": "حافظه‌ی رزروشده از سیستم‌عامل",
@@ -200,7 +194,6 @@
"overallSpeed": "سرعت کلی",
"upload": "آپلود",
"download": "دانلود",
"totalData": "داده‌های کل",
"sent": "ارسال شده",
"received": "دریافت شده",
"xraySwitchVersionDialog": "آیا واقعاً می‌خواهید نسخه Xray را تغییر دهید؟",
@@ -250,7 +243,18 @@
"exportDatabasePgDesc": "برای دانلود یک دامپ PostgreSQL (.dump) از پایگاه داده فعلی روی دستگاهتان کلیک کنید.",
"importDatabasePgDesc": "برای انتخاب و بارگذاری یک پشتیبان PostgreSQL (.dump)، پایگاه‌دادهٔ SQLite (.db) یا فایل مهاجرت SQLite جهت بازیابی پایگاه داده کلیک کنید. این کار همه داده‌های فعلی را جایگزین می‌کند.",
"migrationDownload": "دانلود فایل مهاجرت",
"migrationDownloadPgDesc": "برای دانلود یک پایگاه‌دادهٔ SQLite با پسوند ‎.db که از داده‌های PostgreSQL شما ساخته می‌شود کلیک کنید؛ آمادهٔ اجرای این پنل روی SQLite."
"migrationDownloadPgDesc": "برای دانلود یک پایگاه‌دادهٔ SQLite با پسوند ‎.db که از داده‌های PostgreSQL شما ساخته می‌شود کلیک کنید؛ آمادهٔ اجرای این پنل روی SQLite.",
"avg": "میانگین",
"peak": "اوج",
"free": "آزاد",
"openSockets": "اتصال باز",
"throughputSub": "کل اینترفیس",
"avgWindow": "میانگین بازه",
"healthWarm": "{list} — رو به گرم شدن",
"healthCritical": "{list} — بحرانی",
"panel": "پنل",
"threads": "نخ‌ها",
"uptime": "مدت کارکرد"
},
"inbounds": {
"totalDownUp": "دریافت/ارسال کل",
+12 -8
View File
@@ -106,7 +106,6 @@
"routing": "Pengalihan",
"outbounds": "Outbound",
"apiDocs": "Dokumentasi API",
"link": "Kelola",
"donate": "Donasi",
"hosts": "Host",
"docs": "Dokumentasi",
@@ -127,12 +126,9 @@
},
"index": {
"cpu": "CPU",
"logicalProcessors": "Prosesor logis",
"frequency": "Frekuensi",
"swap": "Swap",
"storage": "Penyimpanan",
"memory": "Memori",
"threads": "Thread",
"xrayStatus": "Xray",
"stopXray": "Hentikan",
"restartXray": "Mulai ulang",
@@ -153,7 +149,6 @@
"xrayStatusRunning": "Berjalan",
"xrayStatusStop": "Berhenti",
"xrayStatusError": "Error",
"operationHours": "Waktu Aktif",
"systemHistoryTitle": "Riwayat Sistem",
"historyTitleCpu": "Penggunaan CPU",
"historyTitleMem": "Penggunaan Memori",
@@ -171,7 +166,6 @@
"historyTabLoad": "Beban",
"historyTabConnections": "Koneksi",
"historyTabDiskUsage": "Penggunaan Disk",
"charts": "Grafik",
"xrayMetricsTitle": "Metrik Xray",
"xrayTitleHeap": "Memori Heap Teralokasi",
"xrayTitleSys": "Memori Dicadangkan dari OS",
@@ -200,7 +194,6 @@
"overallSpeed": "Kecepatan keseluruhan",
"upload": "Unggah",
"download": "Unduh",
"totalData": "Total data",
"sent": "Dikirim",
"received": "Diterima",
"xraySwitchVersionDialog": "Apakah Anda yakin ingin mengubah versi Xray?",
@@ -250,7 +243,18 @@
"exportDatabasePgDesc": "Klik untuk mengunduh dump PostgreSQL (.dump) dari basis data Anda saat ini ke perangkat Anda.",
"importDatabasePgDesc": "Klik untuk memilih dan mengunggah cadangan PostgreSQL (.dump), basis data SQLite (.db), atau dump migrasi SQLite guna memulihkan basis data Anda. Ini menggantikan semua data saat ini.",
"migrationDownload": "Unduh migrasi",
"migrationDownloadPgDesc": "Klik untuk mengunduh basis data SQLite .db yang dibuat dari data PostgreSQL Anda, siap menjalankan panel ini di SQLite."
"migrationDownloadPgDesc": "Klik untuk mengunduh basis data SQLite .db yang dibuat dari data PostgreSQL Anda, siap menjalankan panel ini di SQLite.",
"avg": "rerata",
"peak": "puncak",
"free": "tersisa",
"openSockets": "soket terbuka",
"throughputSub": "Total antarmuka",
"avgWindow": "Rerata periode",
"healthWarm": "{list} — mulai tinggi",
"healthCritical": "{list} — kritis",
"panel": "Panel",
"threads": "Thread",
"uptime": "Waktu aktif"
},
"inbounds": {
"totalDownUp": "Total Terkirim/Diterima",
+12 -8
View File
@@ -106,7 +106,6 @@
"routing": "ルーティング",
"outbounds": "アウトバウンド",
"apiDocs": "API ドキュメント",
"link": "リンク管理",
"donate": "寄付",
"hosts": "ホスト",
"docs": "ドキュメント",
@@ -127,12 +126,9 @@
},
"index": {
"cpu": "CPU",
"logicalProcessors": "論理プロセッサ",
"frequency": "周波数",
"swap": "スワップ",
"storage": "ストレージ",
"memory": "メモリ",
"threads": "スレッド",
"xrayStatus": "Xray",
"stopXray": "停止",
"restartXray": "再起動",
@@ -153,7 +149,6 @@
"xrayStatusRunning": "実行中",
"xrayStatusStop": "停止",
"xrayStatusError": "エラー",
"operationHours": "システム稼働時間",
"systemHistoryTitle": "システム履歴",
"historyTitleCpu": "CPU 使用率",
"historyTitleMem": "メモリ使用率",
@@ -171,7 +166,6 @@
"historyTabLoad": "負荷",
"historyTabConnections": "接続数",
"historyTabDiskUsage": "ディスク使用量",
"charts": "チャート",
"xrayMetricsTitle": "Xray メトリクス",
"xrayTitleHeap": "割り当て済みヒープメモリ",
"xrayTitleSys": "OS から確保したメモリ",
@@ -200,7 +194,6 @@
"overallSpeed": "全体の速度",
"upload": "アップロード",
"download": "ダウンロード",
"totalData": "総データ量",
"sent": "送信",
"received": "受信",
"xraySwitchVersionDialog": "Xrayのバージョンを本当に変更しますか?",
@@ -250,7 +243,18 @@
"exportDatabasePgDesc": "現在のデータベースの PostgreSQL ダンプ (.dump) を端末にダウンロードするにはクリックしてください。",
"importDatabasePgDesc": "データベースを復元するために PostgreSQL バックアップ (.dump)、SQLite データベース (.db)、または SQLite 移行ダンプを選択してアップロードするにはクリックしてください。現在のすべてのデータが置き換えられます。",
"migrationDownload": "移行ファイルをダウンロード",
"migrationDownloadPgDesc": "PostgreSQL のデータから作成した .db SQLite データベースをダウンロードします。このパネルを SQLite で実行する準備が整います。"
"migrationDownloadPgDesc": "PostgreSQL のデータから作成した .db SQLite データベースをダウンロードします。このパネルを SQLite で実行する準備が整います。",
"avg": "平均",
"peak": "ピーク",
"free": "空き",
"openSockets": "オープンソケット",
"throughputSub": "インターフェース合計",
"avgWindow": "期間平均",
"healthWarm": "{list} — 高めです",
"healthCritical": "{list} — 危険水準",
"panel": "パネル",
"threads": "スレッド",
"uptime": "稼働時間"
},
"inbounds": {
"totalDownUp": "総アップロード / ダウンロード",
+12 -8
View File
@@ -106,7 +106,6 @@
"routing": "Roteamento",
"outbounds": "Saídas",
"apiDocs": "Documentação da API",
"link": "Gerenciar",
"donate": "Doar",
"hosts": "Hosts",
"docs": "Documentação",
@@ -127,12 +126,9 @@
},
"index": {
"cpu": "CPU",
"logicalProcessors": "Processadores lógicos",
"frequency": "Frequência",
"swap": "Swap",
"storage": "Armazenamento",
"memory": "Memória",
"threads": "Threads",
"xrayStatus": "Xray",
"stopXray": "Parar",
"restartXray": "Reiniciar",
@@ -153,7 +149,6 @@
"xrayStatusRunning": "Em execução",
"xrayStatusStop": "Parado",
"xrayStatusError": "Erro",
"operationHours": "Tempo de Atividade",
"systemHistoryTitle": "Histórico do Sistema",
"historyTitleCpu": "Uso da CPU",
"historyTitleMem": "Uso de Memória",
@@ -171,7 +166,6 @@
"historyTabLoad": "Carga",
"historyTabConnections": "Conexões",
"historyTabDiskUsage": "Uso de Disco",
"charts": "Gráficos",
"xrayMetricsTitle": "Métricas do Xray",
"xrayTitleHeap": "Memória Heap Alocada",
"xrayTitleSys": "Memória Reservada do SO",
@@ -200,7 +194,6 @@
"overallSpeed": "Velocidade geral",
"upload": "Upload",
"download": "Download",
"totalData": "Dados totais",
"sent": "Enviado",
"received": "Recebido",
"xraySwitchVersionDialog": "Você realmente deseja alterar a versão do Xray?",
@@ -250,7 +243,18 @@
"exportDatabasePgDesc": "Clique para baixar um dump do PostgreSQL (.dump) do seu banco de dados atual para o seu dispositivo.",
"importDatabasePgDesc": "Clique para selecionar e enviar um backup do PostgreSQL (.dump), um banco de dados SQLite (.db) ou um dump de migração do SQLite para restaurar seu banco de dados. Isso substitui todos os dados atuais.",
"migrationDownload": "Baixar migração",
"migrationDownloadPgDesc": "Clique para baixar um banco de dados SQLite .db criado a partir dos seus dados do PostgreSQL, pronto para executar este painel no SQLite."
"migrationDownloadPgDesc": "Clique para baixar um banco de dados SQLite .db criado a partir dos seus dados do PostgreSQL, pronto para executar este painel no SQLite.",
"avg": "média",
"peak": "pico",
"free": "livre",
"openSockets": "sockets abertos",
"throughputSub": "Total da interface",
"avgWindow": "Média do período",
"healthWarm": "{list} — um pouco alto",
"healthCritical": "{list} — crítico",
"panel": "Painel",
"threads": "Threads",
"uptime": "Tempo ativo"
},
"inbounds": {
"totalDownUp": "Total Enviado/Recebido",
+12 -8
View File
@@ -106,7 +106,6 @@
"routing": "Маршрутизация",
"outbounds": "Исходящие",
"apiDocs": "Документация API",
"link": "Управление",
"donate": "Поддержать",
"hosts": "Хосты",
"docs": "Документация",
@@ -127,12 +126,9 @@
},
"index": {
"cpu": "ЦП",
"logicalProcessors": "Логические процессоры",
"frequency": "Частота",
"swap": "Подкачка",
"storage": "Диск",
"memory": "Память",
"threads": "Потоки",
"xrayStatus": "Xray",
"stopXray": "Стоп",
"restartXray": "Перезапуск",
@@ -153,7 +149,6 @@
"xrayStatusRunning": "Запущен",
"xrayStatusStop": "Остановлен",
"xrayStatusError": "Ошибка",
"operationHours": "Время работы системы",
"systemHistoryTitle": "История системы",
"historyTitleCpu": "Загрузка ЦП",
"historyTitleMem": "Использование памяти",
@@ -171,7 +166,6 @@
"historyTabLoad": "Нагрузка",
"historyTabConnections": "Соединения",
"historyTabDiskUsage": "Использование диска",
"charts": "Графики",
"xrayMetricsTitle": "Метрики Xray",
"xrayTitleHeap": "Выделенная память кучи",
"xrayTitleSys": "Память, зарезервированная у ОС",
@@ -200,7 +194,6 @@
"overallSpeed": "Общая скорость передачи трафика",
"upload": "Загрузка",
"download": "Скачать",
"totalData": "Общий объем трафика",
"sent": "Отправлено",
"received": "Получено",
"xraySwitchVersionDialog": "Переключить версию Xray",
@@ -250,7 +243,18 @@
"exportDatabasePgDesc": "Нажмите, чтобы скачать дамп PostgreSQL (.dump) текущей базы данных на ваше устройство.",
"importDatabasePgDesc": "Нажмите, чтобы выбрать и загрузить резервную копию PostgreSQL (.dump), базу данных SQLite (.db) или миграционный дамп SQLite для восстановления базы данных. Это заменит все текущие данные.",
"migrationDownload": "Скачать файл миграции",
"migrationDownloadPgDesc": "Нажмите, чтобы скачать базу данных SQLite (.db), собранную из ваших данных PostgreSQL и готовую для запуска панели на SQLite."
"migrationDownloadPgDesc": "Нажмите, чтобы скачать базу данных SQLite (.db), собранную из ваших данных PostgreSQL и готовую для запуска панели на SQLite.",
"avg": "среднее",
"peak": "пик",
"free": "свободно",
"openSockets": "открытых сокетов",
"throughputSub": "Всего по интерфейсу",
"avgWindow": "Среднее за период",
"healthWarm": "{list} — повышенная нагрузка",
"healthCritical": "{list} — критический уровень",
"panel": "Панель",
"threads": "Потоки",
"uptime": "Время работы"
},
"inbounds": {
"totalDownUp": "Отправлено/получено",
+12 -8
View File
@@ -106,7 +106,6 @@
"routing": "Yönlendirme",
"outbounds": "Giden Bağlantılar",
"apiDocs": "API Belgeleri",
"link": "Yönet",
"donate": "Bağış Yap",
"hosts": "Host'lar",
"docs": "Belgeler",
@@ -127,12 +126,9 @@
},
"index": {
"cpu": "CPU",
"logicalProcessors": "Mantıksal İşlemciler",
"frequency": "Frekans",
"swap": "Takas",
"storage": "Depolama",
"memory": "RAM",
"threads": "İş Parçacığı",
"xrayStatus": "Xray",
"stopXray": "Durdur",
"restartXray": "Yeniden Başlat",
@@ -153,7 +149,6 @@
"xrayStatusRunning": "Çalışıyor",
"xrayStatusStop": "Durduruldu",
"xrayStatusError": "Hata",
"operationHours": "Çalışma Süresi",
"systemHistoryTitle": "Sistem Geçmişi",
"historyTitleCpu": "CPU Kullanımı",
"historyTitleMem": "Bellek Kullanımı",
@@ -171,7 +166,6 @@
"historyTabLoad": "Yük",
"historyTabConnections": "Bağlantılar",
"historyTabDiskUsage": "Disk Kullanımı",
"charts": "Grafikler",
"xrayMetricsTitle": "Xray Metrikleri",
"xrayTitleHeap": "Ayrılan Yığın Belleği",
"xrayTitleSys": "İşletim Sisteminden Ayrılan Bellek",
@@ -200,7 +194,6 @@
"overallSpeed": "Genel Hız",
"upload": "Yükleme",
"download": "İndirme",
"totalData": "Toplam Veri",
"sent": "Gönderilen",
"received": "Alınan",
"xraySwitchVersionDialog": "Xray sürümünü gerçekten değiştirmek istiyor musunuz?",
@@ -250,7 +243,18 @@
"exportDatabasePgDesc": "Mevcut veritabanınızın PostgreSQL dökümünü (.dump) cihazınıza indirmek için tıklayın.",
"importDatabasePgDesc": "Veritabanınızı geri yüklemek için bir PostgreSQL yedeği (.dump), SQLite veritabanı (.db) veya SQLite taşıma dökümü seçip yüklemek üzere tıklayın. Bu, tüm mevcut verilerin yerini alır.",
"migrationDownload": "Geçiş Dosyasını İndir",
"migrationDownloadPgDesc": "PostgreSQL verilerinizden oluşturulan ve bu paneli SQLite üzerinde çalıştırmaya hazır bir .db SQLite veritabanı indirmek için tıklayın."
"migrationDownloadPgDesc": "PostgreSQL verilerinizden oluşturulan ve bu paneli SQLite üzerinde çalıştırmaya hazır bir .db SQLite veritabanı indirmek için tıklayın.",
"avg": "ort.",
"peak": "tepe",
"free": "boş",
"openSockets": "açık soket",
"throughputSub": "Arayüz toplamı",
"avgWindow": "Dönem ortalaması",
"healthWarm": "{list} — yükseliyor",
"healthCritical": "{list} — kritik",
"panel": "Panel",
"threads": "İş parçacıkları",
"uptime": "Çalışma süresi"
},
"inbounds": {
"totalDownUp": "Toplam Gönderilen/Alınan",
+12 -8
View File
@@ -106,7 +106,6 @@
"routing": "Маршрутизація",
"outbounds": "Вихідні",
"apiDocs": "Документація API",
"link": "Керувати",
"donate": "Підтримати",
"hosts": "Хости",
"docs": "Документація",
@@ -127,12 +126,9 @@
},
"index": {
"cpu": "ЦП",
"logicalProcessors": "Логічні процесори",
"frequency": "Частота",
"swap": "Підкачка",
"storage": "Сховище",
"memory": "Пам’ять",
"threads": "Потоки",
"xrayStatus": "Xray",
"stopXray": "Стоп",
"restartXray": "Перезапуск",
@@ -153,7 +149,6 @@
"xrayStatusRunning": "Запущено",
"xrayStatusStop": "Зупинено",
"xrayStatusError": "Помилка",
"operationHours": "Час роботи",
"systemHistoryTitle": "Історія системи",
"historyTitleCpu": "Завантаження ЦП",
"historyTitleMem": "Використання пам’яті",
@@ -171,7 +166,6 @@
"historyTabLoad": "Навантаження",
"historyTabConnections": "З’єднання",
"historyTabDiskUsage": "Використання диска",
"charts": "Графіки",
"xrayMetricsTitle": "Метрики Xray",
"xrayTitleHeap": "Виділена пам’ять купи",
"xrayTitleSys": "Пам’ять, зарезервована в ОС",
@@ -200,7 +194,6 @@
"overallSpeed": "Загальна швидкість",
"upload": "Завантаження",
"download": "Завантажити",
"totalData": "Загальний обсяг даних",
"sent": "Відправлено",
"received": "Отримано",
"xraySwitchVersionDialog": "Ви дійсно хочете змінити версію Xray?",
@@ -250,7 +243,18 @@
"exportDatabasePgDesc": "Натисніть, щоб завантажити дамп PostgreSQL (.dump) вашої поточної бази даних на ваш пристрій.",
"importDatabasePgDesc": "Натисніть, щоб вибрати та завантажити резервну копію PostgreSQL (.dump), базу даних SQLite (.db) або міграційний дамп SQLite для відновлення бази даних. Це замінить усі поточні дані.",
"migrationDownload": "Завантажити файл міграції",
"migrationDownloadPgDesc": "Натисніть, щоб завантажити базу даних SQLite (.db), створену з ваших даних PostgreSQL і готову для запуску панелі на SQLite."
"migrationDownloadPgDesc": "Натисніть, щоб завантажити базу даних SQLite (.db), створену з ваших даних PostgreSQL і готову для запуску панелі на SQLite.",
"avg": "середнє",
"peak": "пік",
"free": "вільно",
"openSockets": "відкритих сокетів",
"throughputSub": "Разом за інтерфейсом",
"avgWindow": "Середнє за період",
"healthWarm": "{list} — підвищене навантаження",
"healthCritical": "{list} — критичний рівень",
"panel": "Панель",
"threads": "Потоки",
"uptime": "Час роботи"
},
"inbounds": {
"totalDownUp": "Всього надісланих/отриманих",
+12 -8
View File
@@ -106,7 +106,6 @@
"routing": "Định tuyến",
"outbounds": "Outbound",
"apiDocs": "Tài liệu API",
"link": "Quản lý",
"donate": "Quyên góp",
"hosts": "Hosts",
"docs": "Tài liệu",
@@ -127,12 +126,9 @@
},
"index": {
"cpu": "CPU",
"logicalProcessors": "Bộ xử lý logic",
"frequency": "Tần số",
"swap": "Swap",
"storage": "Lưu trữ",
"memory": "Bộ nhớ",
"threads": "Luồng",
"xrayStatus": "Xray",
"stopXray": "Dừng",
"restartXray": "Khởi động lại",
@@ -153,7 +149,6 @@
"xrayStatusRunning": "Đang chạy",
"xrayStatusStop": "Dừng",
"xrayStatusError": "Lỗi",
"operationHours": "Thời gian hoạt động",
"systemHistoryTitle": "Lịch sử hệ thống",
"historyTitleCpu": "Mức sử dụng CPU",
"historyTitleMem": "Mức sử dụng bộ nhớ",
@@ -171,7 +166,6 @@
"historyTabLoad": "Tải",
"historyTabConnections": "Kết nối",
"historyTabDiskUsage": "Sử dụng đĩa",
"charts": "Biểu đồ",
"xrayMetricsTitle": "Chỉ số Xray",
"xrayTitleHeap": "Bộ nhớ Heap đã cấp phát",
"xrayTitleSys": "Bộ nhớ dành riêng từ HĐH",
@@ -200,7 +194,6 @@
"overallSpeed": "Tốc độ tổng thể",
"upload": "Tải lên",
"download": "Tải xuống",
"totalData": "Tổng dữ liệu",
"sent": "Đã gửi",
"received": "Đã nhận",
"xraySwitchVersionDialog": "Bạn có chắc chắn muốn thay đổi phiên bản Xray không?",
@@ -250,7 +243,18 @@
"exportDatabasePgDesc": "Nhấn để tải xuống bản kết xuất PostgreSQL (.dump) của cơ sở dữ liệu hiện tại về thiết bị của bạn.",
"importDatabasePgDesc": "Nhấn để chọn và tải lên bản sao lưu PostgreSQL (.dump), cơ sở dữ liệu SQLite (.db) hoặc tệp kết xuất di trú SQLite nhằm khôi phục cơ sở dữ liệu của bạn. Thao tác này sẽ thay thế toàn bộ dữ liệu hiện tại.",
"migrationDownload": "Tải tệp di trú",
"migrationDownloadPgDesc": "Nhấp để tải xuống cơ sở dữ liệu SQLite .db được tạo từ dữ liệu PostgreSQL của bạn, sẵn sàng chạy bảng điều khiển này trên SQLite."
"migrationDownloadPgDesc": "Nhấp để tải xuống cơ sở dữ liệu SQLite .db được tạo từ dữ liệu PostgreSQL của bạn, sẵn sàng chạy bảng điều khiển này trên SQLite.",
"avg": "TB",
"peak": "đỉnh",
"free": "trống",
"openSockets": "socket đang mở",
"throughputSub": "Tổng theo giao diện mạng",
"avgWindow": "Trung bình trong khoảng",
"healthWarm": "{list} — đang cao",
"healthCritical": "{list} — nguy cấp",
"panel": "Panel",
"threads": "Luồng",
"uptime": "Thời gian chạy"
},
"inbounds": {
"totalDownUp": "Tổng tải lên/tải xuống",
+12 -8
View File
@@ -106,7 +106,6 @@
"routing": "路由",
"outbounds": "出站",
"apiDocs": "API 文档",
"link": "管理",
"donate": "捐赠",
"hosts": "主机",
"docs": "文档",
@@ -127,12 +126,9 @@
},
"index": {
"cpu": "CPU",
"logicalProcessors": "逻辑处理器",
"frequency": "频率",
"swap": "交换空间",
"storage": "存储",
"memory": "内存",
"threads": "线程",
"xrayStatus": "Xray",
"stopXray": "停止",
"restartXray": "重启",
@@ -153,7 +149,6 @@
"xrayStatusRunning": "运行中",
"xrayStatusStop": "停止",
"xrayStatusError": "错误",
"operationHours": "系统正常运行时间",
"systemHistoryTitle": "系统历史",
"historyTitleCpu": "CPU 使用率",
"historyTitleMem": "内存使用率",
@@ -171,7 +166,6 @@
"historyTabLoad": "负载",
"historyTabConnections": "连接数",
"historyTabDiskUsage": "磁盘使用量",
"charts": "图表",
"xrayMetricsTitle": "Xray 指标",
"xrayTitleHeap": "已分配的堆内存",
"xrayTitleSys": "向操作系统保留的内存",
@@ -200,7 +194,6 @@
"overallSpeed": "整体速度",
"upload": "上传",
"download": "下载",
"totalData": "总数据",
"sent": "已发送",
"received": "已接收",
"xraySwitchVersionDialog": "您确定要更改 Xray 版本吗?",
@@ -250,7 +243,18 @@
"exportDatabasePgDesc": "点击将当前数据库的 PostgreSQL 转储(.dump)下载到您的设备。",
"importDatabasePgDesc": "点击选择并上传 PostgreSQL 备份(.dump)、SQLite 数据库(.db)或 SQLite 迁移导出文件以恢复您的数据库。此操作将替换所有当前数据。",
"migrationDownload": "下载迁移文件",
"migrationDownloadPgDesc": "点击下载由 PostgreSQL 数据构建的 .db SQLite 数据库,可用于在 SQLite 上运行本面板。"
"migrationDownloadPgDesc": "点击下载由 PostgreSQL 数据构建的 .db SQLite 数据库,可用于在 SQLite 上运行本面板。",
"avg": "均值",
"peak": "峰值",
"free": "剩余",
"openSockets": "打开的套接字",
"throughputSub": "网卡总计",
"avgWindow": "窗口均值",
"healthWarm": "{list} — 偏高",
"healthCritical": "{list} — 危险",
"panel": "面板",
"threads": "线程",
"uptime": "运行时间"
},
"inbounds": {
"totalDownUp": "总上传 / 下载",
+12 -8
View File
@@ -106,7 +106,6 @@
"routing": "路由",
"outbounds": "出站",
"apiDocs": "API 文件",
"link": "管理",
"donate": "捐贈",
"hosts": "Hosts",
"docs": "文件",
@@ -127,12 +126,9 @@
},
"index": {
"cpu": "CPU",
"logicalProcessors": "邏輯處理器",
"frequency": "頻率",
"swap": "交換空間",
"storage": "儲存",
"memory": "記憶體",
"threads": "執行緒",
"xrayStatus": "Xray",
"stopXray": "停止",
"restartXray": "重新啟動",
@@ -153,7 +149,6 @@
"xrayStatusRunning": "運行中",
"xrayStatusStop": "停止",
"xrayStatusError": "錯誤",
"operationHours": "系統正常執行時間",
"systemHistoryTitle": "系統歷史",
"historyTitleCpu": "CPU 使用率",
"historyTitleMem": "記憶體使用率",
@@ -171,7 +166,6 @@
"historyTabLoad": "負載",
"historyTabConnections": "連線數",
"historyTabDiskUsage": "磁碟使用量",
"charts": "圖表",
"xrayMetricsTitle": "Xray 指標",
"xrayTitleHeap": "已配置的堆積記憶體",
"xrayTitleSys": "向作業系統保留的記憶體",
@@ -200,7 +194,6 @@
"overallSpeed": "整體速度",
"upload": "上傳",
"download": "下載",
"totalData": "總數據",
"sent": "已發送",
"received": "已接收",
"xraySwitchVersionDialog": "您確定要變更 Xray 版本嗎?",
@@ -250,7 +243,18 @@
"exportDatabasePgDesc": "點擊將目前資料庫的 PostgreSQL 傾印(.dump)下載到您的裝置。",
"importDatabasePgDesc": "點擊選擇並上傳 PostgreSQL 備份(.dump)、SQLite 資料庫(.db)或 SQLite 遷移匯出檔以還原您的資料庫。此操作將取代所有目前的資料。",
"migrationDownload": "下載遷移檔案",
"migrationDownloadPgDesc": "點擊下載由 PostgreSQL 資料建立的 .db SQLite 資料庫,可用於在 SQLite 上執行本面板。"
"migrationDownloadPgDesc": "點擊下載由 PostgreSQL 資料建立的 .db SQLite 資料庫,可用於在 SQLite 上執行本面板。",
"avg": "均值",
"peak": "峰值",
"free": "剩餘",
"openSockets": "開啟的通訊端",
"throughputSub": "網路介面總計",
"avgWindow": "視窗均值",
"healthWarm": "{list} — 偏高",
"healthCritical": "{list} — 危險",
"panel": "面板",
"threads": "執行緒",
"uptime": "執行時間"
},
"inbounds": {
"totalDownUp": "總上傳 / 下載",