i18n: localize sidebar theme toggle, xray-status badge, and nodes menu

The sidebar theme submenu (Theme / Dark / Ultra dark) and the dashboard's
Xray status badge ("Xray is running" etc.) were hardcoded English strings.
Wire them through vue-i18n: ThemeSwitch.vue uses menu.theme/dark/ultraDark,
and XrayStatusCard.vue derives the badge text from the existing
pages.index.xrayStatus{Running,Stop,Error,Unknown} keys (status.js no
longer carries an English stateMsg field).

The "Nodes" menu item was already keyed as menu.nodes but only en-US and
fa-IR had a translation; add it to the other 11 languages, matching the
wording each file already uses for pages.nodes.title.
#4201
This commit is contained in:
MHSanaei
2026-05-10 11:55:37 +02:00
parent 444b05cac9
commit cf5767acd1
15 changed files with 33 additions and 20 deletions
+1
View File
@@ -94,6 +94,7 @@
"ultraDark": "داكن جدًا",
"dashboard": "نظرة عامة",
"inbounds": "الإدخالات",
"nodes": "النودز",
"settings": "إعدادات البانل",
"xray": "إعدادات Xray",
"logout": "تسجيل خروج",
+1
View File
@@ -94,6 +94,7 @@
"ultraDark": "Ultra Oscuro",
"dashboard": "Estado del Sistema",
"inbounds": "Entradas",
"nodes": "Nodos",
"settings": "Configuraciones",
"xray": "Ajustes Xray",
"logout": "Cerrar Sesión",
+1
View File
@@ -94,6 +94,7 @@
"ultraDark": "Sangat Gelap",
"dashboard": "Ikhtisar",
"inbounds": "Masuk",
"nodes": "Node",
"settings": "Pengaturan Panel",
"xray": "Konfigurasi Xray",
"logout": "Keluar",
+1
View File
@@ -94,6 +94,7 @@
"ultraDark": "ウルトラダーク",
"dashboard": "ダッシュボード",
"inbounds": "インバウンド一覧",
"nodes": "ノード",
"settings": "パネル設定",
"xray": "Xray設定",
"logout": "ログアウト",
+1
View File
@@ -94,6 +94,7 @@
"ultraDark": "Ultra Escuro",
"dashboard": "Visão Geral",
"inbounds": "Inbounds",
"nodes": "Nós",
"settings": "Panel Settings",
"xray": "Xray Configs",
"logout": "Sair",
+1
View File
@@ -94,6 +94,7 @@
"ultraDark": "Очень темная",
"dashboard": "Дашборд",
"inbounds": "Подключения",
"nodes": "Узлы",
"settings": "Настройки",
"xray": "Настройки Xray",
"logout": "Выход",
+1
View File
@@ -94,6 +94,7 @@
"ultraDark": "Ultra Koyu",
"dashboard": "Genel Bakış",
"inbounds": "Gelenler",
"nodes": "Düğümler",
"settings": "Panel Ayarları",
"xray": "Xray Yapılandırmaları",
"logout": "Çıkış Yap",
+1
View File
@@ -94,6 +94,7 @@
"ultraDark": "Ультра темна",
"dashboard": "Огляд",
"inbounds": "Вхідні",
"nodes": "Вузли",
"settings": "Параметри панелі",
"xray": "Конфігурації Xray",
"logout": "Вийти",
+1
View File
@@ -94,6 +94,7 @@
"ultraDark": "Siêu tối",
"dashboard": "Trạng thái hệ thống",
"inbounds": "Đầu vào khách hàng",
"nodes": "Nút",
"settings": "Cài đặt bảng điều khiển",
"logout": "Đăng xuất",
"xray": "Cài đặt Xray",
+1
View File
@@ -94,6 +94,7 @@
"ultraDark": "超暗色",
"dashboard": "系统状态",
"inbounds": "入站列表",
"nodes": "节点",
"settings": "面板设置",
"xray": "Xray 设置",
"logout": "退出登录",
+1
View File
@@ -94,6 +94,7 @@
"ultraDark": "超深色",
"dashboard": "系統狀態",
"inbounds": "入站列表",
"nodes": "節點",
"settings": "面板設定",
"xray": "Xray 設定",
"logout": "退出登入",
+1 -2
View File
@@ -280,8 +280,7 @@ func (s *Server) startTask() {
go func() {
time.Sleep(time.Second * 5)
// Statistics every 10 seconds, start the delay for 5 seconds for the first time, and staggered with the time to restart xray
s.cron.AddJob("@every 10s", job.NewXrayTrafficJob())
s.cron.AddJob("@every 5s", job.NewXrayTrafficJob())
}()
// check client ips from log file every 10 sec