diff --git a/CHANGELOG.md b/CHANGELOG.md
index 43c78d0..76153b3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,23 +1,22 @@
+
# Changelog
## [1.4.2](https://github.com/perfect-panel/ppanel-web/compare/v1.4.1...v1.4.2) (2025-09-15)
-
### 🐛 Bug Fixes
-* Add GitHub template repository link to ProtocolForm header for easier access ([8a0baf3](https://github.com/perfect-panel/ppanel-web/commit/8a0baf3))
-* Add readOnly prop to MonacoEditor and TemplatePreview components for improved content handling ([c4c4d5a](https://github.com/perfect-panel/ppanel-web/commit/c4c4d5a))
+- Add GitHub template repository link to ProtocolForm header for easier access ([8a0baf3](https://github.com/perfect-panel/ppanel-web/commit/8a0baf3))
+- Add readOnly prop to MonacoEditor and TemplatePreview components for improved content handling ([c4c4d5a](https://github.com/perfect-panel/ppanel-web/commit/c4c4d5a))
## [1.4.1](https://github.com/perfect-panel/ppanel-web/compare/v1.4.0...v1.4.1) (2025-09-15)
-
### 🐛 Bug Fixes
-* Add copy subscription functionality to user subscription dashboard and improve localization for new features ([e2a357f](https://github.com/perfect-panel/ppanel-web/commit/e2a357f))
-* Simplify handleInputBlur function by removing unnecessary setTimeout ([6341562](https://github.com/perfect-panel/ppanel-web/commit/6341562))
-* Update TemplatePreview to use MonacoEditor for content display and improve error handling ([1d52642](https://github.com/perfect-panel/ppanel-web/commit/1d52642))
-* Update user dashboard link to correct path ([131693b](https://github.com/perfect-panel/ppanel-web/commit/131693b))
+- Add copy subscription functionality to user subscription dashboard and improve localization for new features ([e2a357f](https://github.com/perfect-panel/ppanel-web/commit/e2a357f))
+- Simplify handleInputBlur function by removing unnecessary setTimeout ([6341562](https://github.com/perfect-panel/ppanel-web/commit/6341562))
+- Update TemplatePreview to use MonacoEditor for content display and improve error handling ([1d52642](https://github.com/perfect-panel/ppanel-web/commit/1d52642))
+- Update user dashboard link to correct path ([131693b](https://github.com/perfect-panel/ppanel-web/commit/131693b))
diff --git a/apps/admin/app/dashboard/nodes/page.tsx b/apps/admin/app/dashboard/nodes/page.tsx
index b5b0baa..e4026c7 100644
--- a/apps/admin/app/dashboard/nodes/page.tsx
+++ b/apps/admin/app/dashboard/nodes/page.tsx
@@ -244,6 +244,7 @@ export default function NodesPage() {
sort: item.sort,
})) as API.SortItem[],
});
+ toast.success(t('sorted_success'));
}
return updatedItems;
}}
diff --git a/apps/admin/app/dashboard/servers/page.tsx b/apps/admin/app/dashboard/servers/page.tsx
index 1756dbe..a810882 100644
--- a/apps/admin/app/dashboard/servers/page.tsx
+++ b/apps/admin/app/dashboard/servers/page.tsx
@@ -361,6 +361,7 @@ export default function ServersPage() {
sort: item.sort,
})) as API.SortItem[],
});
+ toast.success(t('sorted_success'));
}
return updatedItems;
}}
diff --git a/apps/admin/locales/cs-CZ/nodes.json b/apps/admin/locales/cs-CZ/nodes.json
index 7f1e529..f6f2b7a 100644
--- a/apps/admin/locales/cs-CZ/nodes.json
+++ b/apps/admin/locales/cs-CZ/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "Vyberte protokol…",
"select_server": "Vyberte server…",
"server": "Server",
+ "sorted_success": "Úspěšně seřazeno",
"tags": "Štítky",
"tags_description": "Štítek pro skupinování oprávnění (včetně vazby na plán a dodací politiky).",
"tags_placeholder": "Použijte Enter nebo čárku (,) pro přidání více štítků",
diff --git a/apps/admin/locales/cs-CZ/servers.json b/apps/admin/locales/cs-CZ/servers.json
index 80ab93f..fadebaf 100644
--- a/apps/admin/locales/cs-CZ/servers.json
+++ b/apps/admin/locales/cs-CZ/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "Vyberte metodu šifrování",
"server_key": "Klíč serveru",
"service_name": "Název služby",
+ "sorted_success": "Úspěšně seřazeno",
"status": "Stav",
"subscribeId": "ID předplatného",
"subscription": "Předplatné",
diff --git a/apps/admin/locales/de-DE/nodes.json b/apps/admin/locales/de-DE/nodes.json
index c4f46de..f2002cb 100644
--- a/apps/admin/locales/de-DE/nodes.json
+++ b/apps/admin/locales/de-DE/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "Protokoll auswählen…",
"select_server": "Server auswählen…",
"server": "Server",
+ "sorted_success": "Erfolgreich sortiert",
"tags": "Tags",
"tags_description": "Berechtigungsgruppierungs-Tag (einschließlich Planbindung und Lieferrichtlinien).",
"tags_placeholder": "Verwenden Sie Enter oder Komma (,) um mehrere Tags hinzuzufügen",
diff --git a/apps/admin/locales/de-DE/servers.json b/apps/admin/locales/de-DE/servers.json
index 4633b3d..256514d 100644
--- a/apps/admin/locales/de-DE/servers.json
+++ b/apps/admin/locales/de-DE/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "Verschlüsselungsmethode auswählen",
"server_key": "Server-Schlüssel",
"service_name": "Dienstname",
+ "sorted_success": "Erfolgreich sortiert",
"status": "Status",
"subscribeId": "Abonnement-ID",
"subscription": "Abonnement",
diff --git a/apps/admin/locales/en-US/nodes.json b/apps/admin/locales/en-US/nodes.json
index f499f71..0a58e77 100644
--- a/apps/admin/locales/en-US/nodes.json
+++ b/apps/admin/locales/en-US/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "Select protocol…",
"select_server": "Select server…",
"server": "Server",
+ "sorted_success": "Sorted successfully",
"tags": "Tags",
"tags_description": "Permission grouping tag (incl. plan binding and delivery policies).",
"tags_placeholder": "Use Enter or comma (,) to add multiple tags",
diff --git a/apps/admin/locales/en-US/servers.json b/apps/admin/locales/en-US/servers.json
index 3a6d273..df9c99b 100644
--- a/apps/admin/locales/en-US/servers.json
+++ b/apps/admin/locales/en-US/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "Select encryption method",
"server_key": "Server key",
"service_name": "Service name",
+ "sorted_success": "Sorted successfully",
"status": "Status",
"subscribeId": "Subscription ID",
"subscription": "Subscription",
diff --git a/apps/admin/locales/es-ES/nodes.json b/apps/admin/locales/es-ES/nodes.json
index 7f5b8e7..d4a0501 100644
--- a/apps/admin/locales/es-ES/nodes.json
+++ b/apps/admin/locales/es-ES/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "Seleccionar protocolo…",
"select_server": "Seleccionar servidor…",
"server": "Servidor",
+ "sorted_success": "Ordenado con éxito",
"tags": "Etiquetas",
"tags_description": "Etiqueta de agrupación de permisos (incl. vinculación de planes y políticas de entrega).",
"tags_placeholder": "Usa Enter o coma (,) para añadir múltiples etiquetas",
diff --git a/apps/admin/locales/es-ES/servers.json b/apps/admin/locales/es-ES/servers.json
index 58a6c68..a3b1d6c 100644
--- a/apps/admin/locales/es-ES/servers.json
+++ b/apps/admin/locales/es-ES/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "Seleccionar método de cifrado",
"server_key": "Clave del servidor",
"service_name": "Nombre del servicio",
+ "sorted_success": "Ordenado con éxito",
"status": "Estado",
"subscribeId": "ID de suscripción",
"subscription": "Suscripción",
diff --git a/apps/admin/locales/es-MX/nodes.json b/apps/admin/locales/es-MX/nodes.json
index 86ad7a3..a23fa15 100644
--- a/apps/admin/locales/es-MX/nodes.json
+++ b/apps/admin/locales/es-MX/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "Seleccionar protocolo…",
"select_server": "Seleccionar servidor…",
"server": "Servidor",
+ "sorted_success": "Ordenado con éxito",
"tags": "Etiquetas",
"tags_description": "Etiqueta de agrupación de permisos (incl. vinculación de planes y políticas de entrega).",
"tags_placeholder": "Usa Enter o coma (,) para agregar múltiples etiquetas",
diff --git a/apps/admin/locales/es-MX/servers.json b/apps/admin/locales/es-MX/servers.json
index b2bbe46..b556f00 100644
--- a/apps/admin/locales/es-MX/servers.json
+++ b/apps/admin/locales/es-MX/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "Selecciona el método de encriptación",
"server_key": "Clave del servidor",
"service_name": "Nombre del servicio",
+ "sorted_success": "Ordenado con éxito",
"status": "Estado",
"subscribeId": "ID de suscripción",
"subscription": "Suscripción",
diff --git a/apps/admin/locales/fa-IR/nodes.json b/apps/admin/locales/fa-IR/nodes.json
index 33ea7a2..5675dbf 100644
--- a/apps/admin/locales/fa-IR/nodes.json
+++ b/apps/admin/locales/fa-IR/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "پروتکل را انتخاب کنید…",
"select_server": "سرور را انتخاب کنید…",
"server": "سرور",
+ "sorted_success": "با موفقیت مرتب شد",
"tags": "برچسبها",
"tags_description": "برچسب گروهبندی مجوز (شامل پیوند برنامه و سیاستهای تحویل).",
"tags_placeholder": "برای افزودن چندین برچسب از Enter یا ویرگول (,) استفاده کنید",
diff --git a/apps/admin/locales/fa-IR/servers.json b/apps/admin/locales/fa-IR/servers.json
index b169b2c..1fc30b8 100644
--- a/apps/admin/locales/fa-IR/servers.json
+++ b/apps/admin/locales/fa-IR/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "روش رمزنگاری را انتخاب کنید",
"server_key": "کلید سرور",
"service_name": "نام سرویس",
+ "sorted_success": "با موفقیت مرتب شد",
"status": "وضعیت",
"subscribeId": "شناسه اشتراک",
"subscription": "اشتراک",
diff --git a/apps/admin/locales/fi-FI/nodes.json b/apps/admin/locales/fi-FI/nodes.json
index abec700..ca535a7 100644
--- a/apps/admin/locales/fi-FI/nodes.json
+++ b/apps/admin/locales/fi-FI/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "Valitse protokolla…",
"select_server": "Valitse palvelin…",
"server": "Palvelin",
+ "sorted_success": "Lajiteltu onnistuneesti",
"tags": "Tunnisteet",
"tags_description": "Oikeuksien ryhmittelytunniste (mukaan lukien suunnitelman sitominen ja toimituskäytännöt).",
"tags_placeholder": "Käytä Enteriä tai pilkkua (,) lisätäksesi useita tunnisteita",
diff --git a/apps/admin/locales/fi-FI/servers.json b/apps/admin/locales/fi-FI/servers.json
index 8de5434..1a313aa 100644
--- a/apps/admin/locales/fi-FI/servers.json
+++ b/apps/admin/locales/fi-FI/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "Valitse salausmenetelmä",
"server_key": "Palvelimen avain",
"service_name": "Palvelun nimi",
+ "sorted_success": "Lajiteltu onnistuneesti",
"status": "Tila",
"subscribeId": "Tilauksen ID",
"subscription": "Tilauksen",
diff --git a/apps/admin/locales/fr-FR/nodes.json b/apps/admin/locales/fr-FR/nodes.json
index d0fa9c0..1e0ac93 100644
--- a/apps/admin/locales/fr-FR/nodes.json
+++ b/apps/admin/locales/fr-FR/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "Sélectionner un protocole…",
"select_server": "Sélectionner un serveur…",
"server": "Serveur",
+ "sorted_success": "Trié avec succès",
"tags": "Étiquettes",
"tags_description": "Étiquette de regroupement de permissions (y compris l'association de plan et les politiques de livraison).",
"tags_placeholder": "Utilisez Entrée ou une virgule (,) pour ajouter plusieurs étiquettes",
diff --git a/apps/admin/locales/fr-FR/servers.json b/apps/admin/locales/fr-FR/servers.json
index c4e4190..e7a2bde 100644
--- a/apps/admin/locales/fr-FR/servers.json
+++ b/apps/admin/locales/fr-FR/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "Sélectionner la méthode de chiffrement",
"server_key": "Clé du serveur",
"service_name": "Nom du service",
+ "sorted_success": "Trié avec succès",
"status": "Statut",
"subscribeId": "ID d'abonnement",
"subscription": "Abonnement",
diff --git a/apps/admin/locales/hi-IN/nodes.json b/apps/admin/locales/hi-IN/nodes.json
index 94134b7..04a99ea 100644
--- a/apps/admin/locales/hi-IN/nodes.json
+++ b/apps/admin/locales/hi-IN/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "प्रोटोकॉल चुनें…",
"select_server": "सर्वर चुनें…",
"server": "सर्वर",
+ "sorted_success": "सफलतापूर्वक क्रमबद्ध किया गया",
"tags": "टैग",
"tags_description": "अनुमति समूह टैग (योजना बाइंडिंग और वितरण नीतियों सहित)।",
"tags_placeholder": "एकाधिक टैग जोड़ने के लिए Enter या कॉमा (,) का उपयोग करें",
diff --git a/apps/admin/locales/hi-IN/servers.json b/apps/admin/locales/hi-IN/servers.json
index bca6873..f3666f8 100644
--- a/apps/admin/locales/hi-IN/servers.json
+++ b/apps/admin/locales/hi-IN/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "एन्क्रिप्शन विधि चुनें",
"server_key": "सर्वर कुंजी",
"service_name": "सेवा का नाम",
+ "sorted_success": "सफलता से क्रमबद्ध किया गया",
"status": "स्थिति",
"subscribeId": "सदस्यता आईडी",
"subscription": "सदस्यता",
diff --git a/apps/admin/locales/hu-HU/nodes.json b/apps/admin/locales/hu-HU/nodes.json
index ce44e99..fcdad01 100644
--- a/apps/admin/locales/hu-HU/nodes.json
+++ b/apps/admin/locales/hu-HU/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "Válassza ki a protokollt…",
"select_server": "Válassza ki a szervert…",
"server": "Szerver",
+ "sorted_success": "Sikeresen rendezve",
"tags": "Címkék",
"tags_description": "Engedélyezési csoportosító címke (beleértve a tervkötést és a szállítási irányelveket).",
"tags_placeholder": "Több címke hozzáadásához használja az Entert vagy a vesszőt (,)",
diff --git a/apps/admin/locales/hu-HU/servers.json b/apps/admin/locales/hu-HU/servers.json
index 403bb04..130e313 100644
--- a/apps/admin/locales/hu-HU/servers.json
+++ b/apps/admin/locales/hu-HU/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "Válassza ki a titkosítási módszert",
"server_key": "Szerver kulcs",
"service_name": "Szolgáltatás neve",
+ "sorted_success": "Sikeresen rendezve",
"status": "Állapot",
"subscribeId": "Előfizetési ID",
"subscription": "Előfizetés",
diff --git a/apps/admin/locales/ja-JP/nodes.json b/apps/admin/locales/ja-JP/nodes.json
index 3f24788..41e0a22 100644
--- a/apps/admin/locales/ja-JP/nodes.json
+++ b/apps/admin/locales/ja-JP/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "プロトコルを選択…",
"select_server": "サーバーを選択…",
"server": "サーバー",
+ "sorted_success": "正常にソートされました",
"tags": "タグ",
"tags_description": "権限グループ化タグ(プランバインディングおよび配信ポリシーを含む)。",
"tags_placeholder": "複数のタグを追加するにはEnterまたはカンマ(,)を使用してください",
diff --git a/apps/admin/locales/ja-JP/servers.json b/apps/admin/locales/ja-JP/servers.json
index bf7e062..420575e 100644
--- a/apps/admin/locales/ja-JP/servers.json
+++ b/apps/admin/locales/ja-JP/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "暗号化方式を選択",
"server_key": "サーバーキー",
"service_name": "サービス名",
+ "sorted_success": "正常にソートされました",
"status": "ステータス",
"subscribeId": "サブスクリプションID",
"subscription": "サブスクリプション",
diff --git a/apps/admin/locales/ko-KR/nodes.json b/apps/admin/locales/ko-KR/nodes.json
index 576a752..8446680 100644
--- a/apps/admin/locales/ko-KR/nodes.json
+++ b/apps/admin/locales/ko-KR/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "프로토콜 선택…",
"select_server": "서버 선택…",
"server": "서버",
+ "sorted_success": "정렬이 완료되었습니다.",
"tags": "태그",
"tags_description": "권한 그룹화 태그(계획 바인딩 및 배포 정책 포함).",
"tags_placeholder": "여러 태그를 추가하려면 Enter 또는 쉼표(,)를 사용하세요",
diff --git a/apps/admin/locales/ko-KR/servers.json b/apps/admin/locales/ko-KR/servers.json
index 4d0db1e..55ee217 100644
--- a/apps/admin/locales/ko-KR/servers.json
+++ b/apps/admin/locales/ko-KR/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "암호화 방법 선택",
"server_key": "서버 키",
"service_name": "서비스 이름",
+ "sorted_success": "정렬이 완료되었습니다.",
"status": "상태",
"subscribeId": "구독 ID",
"subscription": "구독",
diff --git a/apps/admin/locales/no-NO/nodes.json b/apps/admin/locales/no-NO/nodes.json
index 085649e..6969d0b 100644
--- a/apps/admin/locales/no-NO/nodes.json
+++ b/apps/admin/locales/no-NO/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "Velg protokoll…",
"select_server": "Velg server…",
"server": "Server",
+ "sorted_success": "Sortert med suksess",
"tags": "Tagger",
"tags_description": "Tillatelsesgrupperingstagg (inkl. planbinding og leveringspolicyer).",
"tags_placeholder": "Bruk Enter eller komma (,) for å legge til flere tagger",
diff --git a/apps/admin/locales/no-NO/servers.json b/apps/admin/locales/no-NO/servers.json
index 19cc720..107e6db 100644
--- a/apps/admin/locales/no-NO/servers.json
+++ b/apps/admin/locales/no-NO/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "Velg krypteringsmetode",
"server_key": "Servernøkkel",
"service_name": "Tjenestenavn",
+ "sorted_success": "Sortert med suksess",
"status": "Status",
"subscribeId": "Abonnements-ID",
"subscription": "Abonnement",
diff --git a/apps/admin/locales/pl-PL/nodes.json b/apps/admin/locales/pl-PL/nodes.json
index 511075c..e5f94d5 100644
--- a/apps/admin/locales/pl-PL/nodes.json
+++ b/apps/admin/locales/pl-PL/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "Wybierz protokół…",
"select_server": "Wybierz serwer…",
"server": "Serwer",
+ "sorted_success": "Posortowano pomyślnie",
"tags": "Tagi",
"tags_description": "Tag grupujący uprawnienia (w tym powiązania planu i polityki dostarczania).",
"tags_placeholder": "Użyj Enter lub przecinka (,) aby dodać wiele tagów",
diff --git a/apps/admin/locales/pl-PL/servers.json b/apps/admin/locales/pl-PL/servers.json
index 3721dc1..8ab65af 100644
--- a/apps/admin/locales/pl-PL/servers.json
+++ b/apps/admin/locales/pl-PL/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "Wybierz metodę szyfrowania",
"server_key": "Klucz serwera",
"service_name": "Nazwa usługi",
+ "sorted_success": "Posortowano pomyślnie",
"status": "Status",
"subscribeId": "ID subskrypcji",
"subscription": "Subskrypcja",
diff --git a/apps/admin/locales/pt-BR/nodes.json b/apps/admin/locales/pt-BR/nodes.json
index 96e10c7..f11bd4f 100644
--- a/apps/admin/locales/pt-BR/nodes.json
+++ b/apps/admin/locales/pt-BR/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "Selecionar protocolo…",
"select_server": "Selecionar servidor…",
"server": "Servidor",
+ "sorted_success": "Ordenado com sucesso",
"tags": "Tags",
"tags_description": "Tag de agrupamento de permissões (incl. vinculação de plano e políticas de entrega).",
"tags_placeholder": "Use Enter ou vírgula (,) para adicionar várias tags",
diff --git a/apps/admin/locales/pt-BR/servers.json b/apps/admin/locales/pt-BR/servers.json
index 087c1aa..8d19002 100644
--- a/apps/admin/locales/pt-BR/servers.json
+++ b/apps/admin/locales/pt-BR/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "Selecionar método de criptografia",
"server_key": "Chave do servidor",
"service_name": "Nome do serviço",
+ "sorted_success": "Ordenado com sucesso",
"status": "Status",
"subscribeId": "ID de assinatura",
"subscription": "Assinatura",
diff --git a/apps/admin/locales/ro-RO/nodes.json b/apps/admin/locales/ro-RO/nodes.json
index c532a73..2fc49f8 100644
--- a/apps/admin/locales/ro-RO/nodes.json
+++ b/apps/admin/locales/ro-RO/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "Selectează protocolul…",
"select_server": "Selectează serverul…",
"server": "Server",
+ "sorted_success": "Sortat cu succes",
"tags": "Etichete",
"tags_description": "Etichetă de grupare a permisiunilor (incluzând legarea planului și politicile de livrare).",
"tags_placeholder": "Folosește Enter sau virgulă (,) pentru a adăuga mai multe etichete",
diff --git a/apps/admin/locales/ro-RO/servers.json b/apps/admin/locales/ro-RO/servers.json
index ed82e34..dc54cf7 100644
--- a/apps/admin/locales/ro-RO/servers.json
+++ b/apps/admin/locales/ro-RO/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "Selectează metoda de criptare",
"server_key": "Cheie server",
"service_name": "Nume serviciu",
+ "sorted_success": "Sortat cu succes",
"status": "Stare",
"subscribeId": "ID abonament",
"subscription": "Abonament",
diff --git a/apps/admin/locales/ru-RU/nodes.json b/apps/admin/locales/ru-RU/nodes.json
index e3a6d69..c1c172d 100644
--- a/apps/admin/locales/ru-RU/nodes.json
+++ b/apps/admin/locales/ru-RU/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "Выберите протокол…",
"select_server": "Выберите сервер…",
"server": "Сервер",
+ "sorted_success": "Успешно отсортировано",
"tags": "Теги",
"tags_description": "Тег для группировки разрешений (включая привязку плана и политики доставки).",
"tags_placeholder": "Используйте Enter или запятую (,) для добавления нескольких тегов",
diff --git a/apps/admin/locales/ru-RU/servers.json b/apps/admin/locales/ru-RU/servers.json
index f4a5a4f..5ba03ef 100644
--- a/apps/admin/locales/ru-RU/servers.json
+++ b/apps/admin/locales/ru-RU/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "Выберите метод шифрования",
"server_key": "Ключ сервера",
"service_name": "Имя службы",
+ "sorted_success": "Успешно отсортировано",
"status": "Статус",
"subscribeId": "ID подписки",
"subscription": "Подписка",
diff --git a/apps/admin/locales/th-TH/nodes.json b/apps/admin/locales/th-TH/nodes.json
index 852c71f..af0e024 100644
--- a/apps/admin/locales/th-TH/nodes.json
+++ b/apps/admin/locales/th-TH/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "เลือกโปรโตคอล…",
"select_server": "เลือกเซิร์ฟเวอร์…",
"server": "เซิร์ฟเวอร์",
+ "sorted_success": "เรียงลำดับเรียบร้อยแล้ว",
"tags": "แท็ก",
"tags_description": "แท็กการจัดกลุ่มสิทธิ์ (รวมถึงการผูกแผนและนโยบายการจัดส่ง)",
"tags_placeholder": "ใช้ Enter หรือเครื่องหมายจุลภาค (,) เพื่อเพิ่มแท็กหลายรายการ",
diff --git a/apps/admin/locales/th-TH/servers.json b/apps/admin/locales/th-TH/servers.json
index a5916db..97006e5 100644
--- a/apps/admin/locales/th-TH/servers.json
+++ b/apps/admin/locales/th-TH/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "เลือกวิธีการเข้ารหัส",
"server_key": "คีย์เซิร์ฟเวอร์",
"service_name": "ชื่อบริการ",
+ "sorted_success": "เรียงลำดับเรียบร้อยแล้ว",
"status": "สถานะ",
"subscribeId": "ID การสมัครสมาชิก",
"subscription": "การสมัครสมาชิก",
diff --git a/apps/admin/locales/tr-TR/nodes.json b/apps/admin/locales/tr-TR/nodes.json
index c7d21d1..bbfd1fd 100644
--- a/apps/admin/locales/tr-TR/nodes.json
+++ b/apps/admin/locales/tr-TR/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "Protokol seçin…",
"select_server": "Sunucu seçin…",
"server": "Sunucu",
+ "sorted_success": "Başarıyla sıralandı",
"tags": "Etiketler",
"tags_description": "İzin gruplama etiketi (plan bağlama ve teslimat politikaları dahil).",
"tags_placeholder": "Birden fazla etiket eklemek için Enter veya virgül (,) kullanın",
diff --git a/apps/admin/locales/tr-TR/servers.json b/apps/admin/locales/tr-TR/servers.json
index 10ea350..eeaae71 100644
--- a/apps/admin/locales/tr-TR/servers.json
+++ b/apps/admin/locales/tr-TR/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "Şifreleme yöntemini seçin",
"server_key": "Sunucu anahtarı",
"service_name": "Hizmet adı",
+ "sorted_success": "Başarıyla sıralandı",
"status": "Durum",
"subscribeId": "Abonelik ID",
"subscription": "Abonelik",
diff --git a/apps/admin/locales/uk-UA/nodes.json b/apps/admin/locales/uk-UA/nodes.json
index 3aa4572..b2ae011 100644
--- a/apps/admin/locales/uk-UA/nodes.json
+++ b/apps/admin/locales/uk-UA/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "Виберіть протокол…",
"select_server": "Виберіть сервер…",
"server": "Сервер",
+ "sorted_success": "Успішно відсортовано",
"tags": "Теги",
"tags_description": "Тег для групування дозволів (включаючи прив'язку плану та політики доставки).",
"tags_placeholder": "Використовуйте Enter або кому (,) для додавання кількох тегів",
diff --git a/apps/admin/locales/uk-UA/servers.json b/apps/admin/locales/uk-UA/servers.json
index feac063..3d6629e 100644
--- a/apps/admin/locales/uk-UA/servers.json
+++ b/apps/admin/locales/uk-UA/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "Виберіть метод шифрування",
"server_key": "Ключ сервера",
"service_name": "Назва служби",
+ "sorted_success": "Успішно відсортовано",
"status": "Статус",
"subscribeId": "ID підписки",
"subscription": "Підписка",
diff --git a/apps/admin/locales/vi-VN/nodes.json b/apps/admin/locales/vi-VN/nodes.json
index 3458b18..1a05eac 100644
--- a/apps/admin/locales/vi-VN/nodes.json
+++ b/apps/admin/locales/vi-VN/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "Chọn giao thức…",
"select_server": "Chọn máy chủ…",
"server": "Máy chủ",
+ "sorted_success": "Sắp xếp thành công",
"tags": "Thẻ",
"tags_description": "Thẻ nhóm quyền (bao gồm ràng buộc kế hoạch và chính sách giao hàng).",
"tags_placeholder": "Sử dụng Enter hoặc dấu phẩy (,) để thêm nhiều thẻ",
diff --git a/apps/admin/locales/vi-VN/servers.json b/apps/admin/locales/vi-VN/servers.json
index 94fd41d..bade98b 100644
--- a/apps/admin/locales/vi-VN/servers.json
+++ b/apps/admin/locales/vi-VN/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "Chọn phương pháp mã hóa",
"server_key": "Khóa máy chủ",
"service_name": "Tên dịch vụ",
+ "sorted_success": "Sắp xếp thành công",
"status": "Trạng thái",
"subscribeId": "ID đăng ký",
"subscription": "Đăng ký",
diff --git a/apps/admin/locales/zh-CN/nodes.json b/apps/admin/locales/zh-CN/nodes.json
index 5509888..9b797c2 100644
--- a/apps/admin/locales/zh-CN/nodes.json
+++ b/apps/admin/locales/zh-CN/nodes.json
@@ -18,10 +18,10 @@
"enabled_on": "已启用",
"errors": {
"nameRequired": "请输入名称",
- "serverRequired": "请选择服务器",
- "serverAddrRequired": "请输入入口地址",
+ "portRange": "端口范围 1–65535",
"protocolRequired": "请选择协议",
- "portRange": "端口范围 1–65535"
+ "serverAddrRequired": "请输入入口地址",
+ "serverRequired": "请选择服务器"
},
"name": "名称",
"pageTitle": "节点管理",
@@ -30,6 +30,7 @@
"select_protocol": "选择协议…",
"select_server": "选择服务器…",
"server": "服务器",
+ "sorted_success": "排序成功",
"tags": "标签",
"tags_description": "用于权限分组标识(含套餐绑定、策略下发)。",
"tags_placeholder": "使用回车或逗号(,)输入多个标签",
diff --git a/apps/admin/locales/zh-CN/servers.json b/apps/admin/locales/zh-CN/servers.json
index df4ca5e..682df68 100644
--- a/apps/admin/locales/zh-CN/servers.json
+++ b/apps/admin/locales/zh-CN/servers.json
@@ -7,28 +7,28 @@
"cipher": "加密算法",
"city": "城市",
"config": {
- "title": "节点配置",
- "description": "管理节点通信密钥、拉取/推送间隔与动态倍率。",
- "saveSuccess": "保存成功",
+ "actions": {
+ "cancel": "取消",
+ "save": "保存"
+ },
"communicationKey": "通信密钥",
- "inputPlaceholder": "请输入",
"communicationKeyDescription": "用于节点鉴权。",
+ "description": "管理节点通信密钥、拉取/推送间隔与动态倍率。",
+ "dynamicMultiplier": "动态倍率",
+ "dynamicMultiplierDescription": "按时间段设置倍率,用于调节流量或计费。",
+ "endTime": "结束时间",
+ "inputPlaceholder": "请输入",
+ "multiplier": "倍率",
"nodePullInterval": "节点拉取间隔",
"nodePullIntervalDescription": "节点拉取配置的频率(秒)。",
"nodePushInterval": "节点推送间隔",
"nodePushIntervalDescription": "节点上报状态的频率(秒)。",
- "dynamicMultiplier": "动态倍率",
- "dynamicMultiplierDescription": "按时间段设置倍率,用于调节流量或计费。",
- "startTime": "开始时间",
- "endTime": "结束时间",
- "multiplier": "倍率",
"reset": "重置",
"save": "保存",
+ "saveSuccess": "保存成功",
+ "startTime": "开始时间",
"timeSlot": "时间段",
- "actions": {
- "cancel": "取消",
- "save": "保存"
- }
+ "title": "节点配置"
},
"confirm": "确认",
"confirmDeleteDesc": "该操作不可撤销。",
@@ -116,6 +116,7 @@
"select_encryption_method": "选择加密方式",
"server_key": "服务器密钥",
"service_name": "服务名",
+ "sorted_success": "排序成功",
"status": "状态",
"subscribeId": "订阅 ID",
"subscription": "订阅",
diff --git a/apps/admin/locales/zh-HK/nodes.json b/apps/admin/locales/zh-HK/nodes.json
index 5fe3211..2fbb30b 100644
--- a/apps/admin/locales/zh-HK/nodes.json
+++ b/apps/admin/locales/zh-HK/nodes.json
@@ -30,6 +30,7 @@
"select_protocol": "選擇協議…",
"select_server": "選擇伺服器…",
"server": "伺服器",
+ "sorted_success": "排序成功",
"tags": "標籤",
"tags_description": "權限分組標籤(包括計劃綁定和交付政策)。",
"tags_placeholder": "使用 Enter 或逗號 (,) 添加多個標籤",
diff --git a/apps/admin/locales/zh-HK/servers.json b/apps/admin/locales/zh-HK/servers.json
index d73591c..3576f60 100644
--- a/apps/admin/locales/zh-HK/servers.json
+++ b/apps/admin/locales/zh-HK/servers.json
@@ -116,6 +116,7 @@
"select_encryption_method": "選擇加密方法",
"server_key": "伺服器密鑰",
"service_name": "服務名稱",
+ "sorted_success": "排序成功",
"status": "狀態",
"subscribeId": "訂閱 ID",
"subscription": "訂閱",