feat(settings): schedule picker, toggle placement, sub-theme docs link

- Replace the Telegram "Notification Time" free-text field with a guided
  cron builder: @every + number + unit (s/m/h), the @hourly/@daily/@weekly/
  @monthly macros, and a Custom option that seeds a valid 6-field crontab
  (cron runs with seconds enabled) as an escape hatch.
- Move "Restart Xray After Auto Disable" from the External Traffic tab to
  Panel Settings, where it belongs.
- Add a "Template guide" link to the Sub Theme Directory setting pointing at
  docs/custom-subscription-templates.md.
- Localize all new strings across every locale.
This commit is contained in:
MHSanaei
2026-06-12 19:19:31 +02:00
parent 90e6217749
commit c7a0188772
16 changed files with 321 additions and 21 deletions
+13 -1
View File
@@ -1005,7 +1005,18 @@
"telegramChatId": "Chat ID Telegram của quản trị viên",
"telegramChatIdDesc": "Nhiều Chat ID phân tách bằng dấu phẩy. Sử dụng {'@'}userinfobot hoặc sử dụng lệnh '/id' trong bot để lấy Chat ID của bạn.",
"telegramNotifyTime": "Thời gian thông báo của bot Telegram",
"telegramNotifyTimeDesc": "Sử dụng định dạng thời gian Crontab.",
"telegramNotifyTimeDesc": "Tần suất bot Telegram gửi báo cáo định kỳ. Chọn một khoảng thời gian có sẵn, hoặc chọn Tùy chỉnh để nhập biểu thức crontab.",
"notifyTime": {
"every": "@every — lặp lại theo khoảng thời gian",
"hourly": "@hourly — mỗi giờ",
"daily": "@daily — mỗi ngày lúc 00:00",
"weekly": "@weekly — mỗi tuần",
"monthly": "@monthly — mỗi tháng",
"custom": "Tùy chỉnh (crontab)",
"seconds": "Giây",
"minutes": "Phút",
"hours": "Giờ"
},
"tgNotifyBackup": "Sao lưu Cơ sở dữ liệu",
"tgNotifyBackupDesc": "Bao gồm tệp sao lưu cơ sở dữ liệu với thông báo báo cáo.",
"tgNotifyLogin": "Thông báo Đăng nhập",
@@ -1036,6 +1047,7 @@
"subAnnounceDesc": "Văn bản thông báo hiển thị trong ứng dụng VPN",
"subThemeDir": "Thư mục giao diện Đăng ký",
"subThemeDirDesc": "Đường dẫn tuyệt đối đến thư mục chứa mẫu tùy chỉnh (index.html/sub.html) cho trang đăng ký (ví dụ: /etc/3x-ui/sub_templates/my-theme/). Để trống để dùng trang mặc định.",
"subThemeDirDocs": "Hướng dẫn mẫu ↗",
"subEnableRouting": "Bật định tuyến",
"subEnableRoutingDesc": "Cài đặt toàn cục để bật định tuyến trong ứng dụng khách VPN. (Chỉ dành cho Happ)",
"subRoutingRules": "Quy tắc định tuyến",