diff --git a/CHANGELOG.md b/CHANGELOG.md
index a0eec86..6d13986 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,77 +1,74 @@
+
# Changelog
# [1.4.0](https://github.com/perfect-panel/ppanel-web/compare/v1.3.0...v1.4.0) (2025-09-14)
-
### ♻ Code Refactoring
-* **logs**: Add localization files and update existing translations for multiple languages ([2f20ac9](https://github.com/perfect-panel/ppanel-web/commit/2f20ac9))
-* **subscribe-form**: Replace server_group and server with node_tags and nodes in default values and form schema ([38dda84](https://github.com/perfect-panel/ppanel-web/commit/38dda84))
-* Add localization updates for log and server files across multiple languages ([2bcd4cf](https://github.com/perfect-panel/ppanel-web/commit/2bcd4cf))
-* Clean up NodeForm and ServerForm components by removing unused functions and optimizing state management ([10250d9](https://github.com/perfect-panel/ppanel-web/commit/10250d9))
-* Enhance log pages with Badge component and update translations ([a4de9df](https://github.com/perfect-panel/ppanel-web/commit/a4de9df))
-* Make 'scheme' field optional in client form schema ([f4a1237](https://github.com/perfect-panel/ppanel-web/commit/f4a1237))
-* Refactor server management API endpoints and typings ([4f7cc80](https://github.com/perfect-panel/ppanel-web/commit/4f7cc80))
-* Remove application management forms and related configurations ([0c43844](https://github.com/perfect-panel/ppanel-web/commit/0c43844))
-* Remove default options from TagInput component for improved flexibility ([6a3bb70](https://github.com/perfect-panel/ppanel-web/commit/6a3bb70))
-* Remove unused preview state variables and add sort order to node properties ([e63f823](https://github.com/perfect-panel/ppanel-web/commit/e63f823))
-* Rename buildScheme to buildSchema and update imports in server form components ([ee98e7e](https://github.com/perfect-panel/ppanel-web/commit/ee98e7e))
-* Simplify node display in subscribe form and remove unused Badge import ([551135d](https://github.com/perfect-panel/ppanel-web/commit/551135d))
-* Update bun.lockb to reflect dependency changes ([ba2b50e](https://github.com/perfect-panel/ppanel-web/commit/ba2b50e))
-* Update component imports and improve code consistency ([59faeab](https://github.com/perfect-panel/ppanel-web/commit/59faeab))
-* Update dependencies and improve code consistency across multiple files ([e37ae49](https://github.com/perfect-panel/ppanel-web/commit/e37ae49))
-* Update localization files and service imports ([d4b37e4](https://github.com/perfect-panel/ppanel-web/commit/d4b37e4))
-
+- **logs**: Add localization files and update existing translations for multiple languages ([2f20ac9](https://github.com/perfect-panel/ppanel-web/commit/2f20ac9))
+- **subscribe-form**: Replace server_group and server with node_tags and nodes in default values and form schema ([38dda84](https://github.com/perfect-panel/ppanel-web/commit/38dda84))
+- Add localization updates for log and server files across multiple languages ([2bcd4cf](https://github.com/perfect-panel/ppanel-web/commit/2bcd4cf))
+- Clean up NodeForm and ServerForm components by removing unused functions and optimizing state management ([10250d9](https://github.com/perfect-panel/ppanel-web/commit/10250d9))
+- Enhance log pages with Badge component and update translations ([a4de9df](https://github.com/perfect-panel/ppanel-web/commit/a4de9df))
+- Make 'scheme' field optional in client form schema ([f4a1237](https://github.com/perfect-panel/ppanel-web/commit/f4a1237))
+- Refactor server management API endpoints and typings ([4f7cc80](https://github.com/perfect-panel/ppanel-web/commit/4f7cc80))
+- Remove application management forms and related configurations ([0c43844](https://github.com/perfect-panel/ppanel-web/commit/0c43844))
+- Remove default options from TagInput component for improved flexibility ([6a3bb70](https://github.com/perfect-panel/ppanel-web/commit/6a3bb70))
+- Remove unused preview state variables and add sort order to node properties ([e63f823](https://github.com/perfect-panel/ppanel-web/commit/e63f823))
+- Rename buildScheme to buildSchema and update imports in server form components ([ee98e7e](https://github.com/perfect-panel/ppanel-web/commit/ee98e7e))
+- Simplify node display in subscribe form and remove unused Badge import ([551135d](https://github.com/perfect-panel/ppanel-web/commit/551135d))
+- Update bun.lockb to reflect dependency changes ([ba2b50e](https://github.com/perfect-panel/ppanel-web/commit/ba2b50e))
+- Update component imports and improve code consistency ([59faeab](https://github.com/perfect-panel/ppanel-web/commit/59faeab))
+- Update dependencies and improve code consistency across multiple files ([e37ae49](https://github.com/perfect-panel/ppanel-web/commit/e37ae49))
+- Update localization files and service imports ([d4b37e4](https://github.com/perfect-panel/ppanel-web/commit/d4b37e4))
### ✨ Features
-* **config**: Add translations for server configuration in multiple languages ([f9a7ece](https://github.com/perfect-panel/ppanel-web/commit/f9a7ece))
-* **logs**: Add various log pages for tracking user activities and system events ([d85af49](https://github.com/perfect-panel/ppanel-web/commit/d85af49))
-* Add bandwidth fields and placeholders for upload and download in server configuration forms; update localization files for multiple languages ([3e5402f](https://github.com/perfect-panel/ppanel-web/commit/3e5402f))
-* Add batch delete functionality and enhance chart tooltips in statistics cards ([c4f536e](https://github.com/perfect-panel/ppanel-web/commit/c4f536e))
-* Add language support and descriptions in product localization files ([fd48856](https://github.com/perfect-panel/ppanel-web/commit/fd48856))
-* Add log cleanup settings and update localization files ([6ccf9b8](https://github.com/perfect-panel/ppanel-web/commit/6ccf9b8))
-* Add queryNodeTag function and integrate tag retrieval in NodeForm and SubscribeForm components ([4563c57](https://github.com/perfect-panel/ppanel-web/commit/4563c57))
-* Add quota management features and localization updates ([fce627b](https://github.com/perfect-panel/ppanel-web/commit/fce627b))
-* Add server form component with protocol configuration and localization support ([217ddce](https://github.com/perfect-panel/ppanel-web/commit/217ddce))
-* Enhance TagInput component with option handling and improved tag addition logic ([b6e778d](https://github.com/perfect-panel/ppanel-web/commit/b6e778d))
-* Implement data migration functionality and update localization files ([6d81bfd](https://github.com/perfect-panel/ppanel-web/commit/6d81bfd))
-* Refactor user detail and subscription management components ([973c06f](https://github.com/perfect-panel/ppanel-web/commit/973c06f))
-* Update server list fetching logic and adjust query parameters ([5272360](https://github.com/perfect-panel/ppanel-web/commit/5272360))
-
+- **config**: Add translations for server configuration in multiple languages ([f9a7ece](https://github.com/perfect-panel/ppanel-web/commit/f9a7ece))
+- **logs**: Add various log pages for tracking user activities and system events ([d85af49](https://github.com/perfect-panel/ppanel-web/commit/d85af49))
+- Add bandwidth fields and placeholders for upload and download in server configuration forms; update localization files for multiple languages ([3e5402f](https://github.com/perfect-panel/ppanel-web/commit/3e5402f))
+- Add batch delete functionality and enhance chart tooltips in statistics cards ([c4f536e](https://github.com/perfect-panel/ppanel-web/commit/c4f536e))
+- Add language support and descriptions in product localization files ([fd48856](https://github.com/perfect-panel/ppanel-web/commit/fd48856))
+- Add log cleanup settings and update localization files ([6ccf9b8](https://github.com/perfect-panel/ppanel-web/commit/6ccf9b8))
+- Add queryNodeTag function and integrate tag retrieval in NodeForm and SubscribeForm components ([4563c57](https://github.com/perfect-panel/ppanel-web/commit/4563c57))
+- Add quota management features and localization updates ([fce627b](https://github.com/perfect-panel/ppanel-web/commit/fce627b))
+- Add server form component with protocol configuration and localization support ([217ddce](https://github.com/perfect-panel/ppanel-web/commit/217ddce))
+- Enhance TagInput component with option handling and improved tag addition logic ([b6e778d](https://github.com/perfect-panel/ppanel-web/commit/b6e778d))
+- Implement data migration functionality and update localization files ([6d81bfd](https://github.com/perfect-panel/ppanel-web/commit/6d81bfd))
+- Refactor user detail and subscription management components ([973c06f](https://github.com/perfect-panel/ppanel-web/commit/973c06f))
+- Update server list fetching logic and adjust query parameters ([5272360](https://github.com/perfect-panel/ppanel-web/commit/5272360))
### 🐛 Bug Fixes
-* **page**: Refine version checking logic and remove unnecessary comments for clarity ([26176a7](https://github.com/perfect-panel/ppanel-web/commit/26176a7))
-* Add localization updates and new utility functions ([4da5960](https://github.com/perfect-panel/ppanel-web/commit/4da5960))
-* Add user_subscribe_id filter to SubscribeLogPage and update typings; disable eslint in service index files ([ab6f6a6](https://github.com/perfect-panel/ppanel-web/commit/ab6f6a6))
-* Added system version card and system log dialog components; updated statistics page to include total server and user statistics ([fe69980](https://github.com/perfect-panel/ppanel-web/commit/fe69980))
-* Adjust timestamp calculations to use milliseconds instead of seconds in quota broadcast form submission ([8dffd69](https://github.com/perfect-panel/ppanel-web/commit/8dffd69))
-* Correct cookie key format for sidebar state retrieval ([9e01f4f](https://github.com/perfect-panel/ppanel-web/commit/9e01f4f))
-* Improve UI for protocol status display in server form component ([461fdb1](https://github.com/perfect-panel/ppanel-web/commit/461fdb1))
-* Increase pagination size limit for server and node lists to improve data retrieval ([7c0a312](https://github.com/perfect-panel/ppanel-web/commit/7c0a312))
-* Optimize Task Manager to use milliseconds to calculate timers, and simplify import statements ([d8fa13b](https://github.com/perfect-panel/ppanel-web/commit/d8fa13b))
-* Refactor protocol status display for improved readability in server form component ([f700be0](https://github.com/perfect-panel/ppanel-web/commit/f700be0))
-* Remove GroupTable and related components, simplify SubscribeTable and update language handling in subscription forms ([1ab9b39](https://github.com/perfect-panel/ppanel-web/commit/1ab9b39))
-* Remove redundant transport label from localization files ([88ce8d7](https://github.com/perfect-panel/ppanel-web/commit/88ce8d7))
-* Remove unnecessary comments and improve variable handling in GoTemplateEditor; ensure zero value displays as empty in EnhancedInput ([c4a47a4](https://github.com/perfect-panel/ppanel-web/commit/c4a47a4))
-* Remove unnecessary comments to simplify code readability ([a988cb3](https://github.com/perfect-panel/ppanel-web/commit/a988cb3))
-* Replace MarkdownEditor with HTMLEditor in EmailBroadcastForm; simplify content rendering in EmailTaskManager; disable eslint in service index files ([e2d83ec](https://github.com/perfect-panel/ppanel-web/commit/e2d83ec))
-* Replace redundant icon rendering with a single instance in system version card component ([e4429a5](https://github.com/perfect-panel/ppanel-web/commit/e4429a5))
-* Update billing URL fetching logic and improve version handling in system version card component ([1c8d4af](https://github.com/perfect-panel/ppanel-web/commit/1c8d4af))
-* Update condition for plugin field in PROTOCOL_FIELDS to include specific plugins ([6376ec1](https://github.com/perfect-panel/ppanel-web/commit/6376ec1))
-* Update getAppSubLink function to improve URL handling and encoding logic ([351fffc](https://github.com/perfect-panel/ppanel-web/commit/351fffc))
-* Update order_id to order_no in BalanceLogPage and related typings; enhance timezone switch component with additional features and localization updates ([ac36075](https://github.com/perfect-panel/ppanel-web/commit/ac36075))
-* Update protocol plugin handling and add new options in typings ([6ca2433](https://github.com/perfect-panel/ppanel-web/commit/6ca2433))
-* Update release URLs to include 'v' prefix for versioning in system version card component ([1d526b5](https://github.com/perfect-panel/ppanel-web/commit/1d526b5))
-* Update SidebarLeft component styles to enhance hover effects ([e4fbd5c](https://github.com/perfect-panel/ppanel-web/commit/e4fbd5c))
-* Update validation for days and gift_value fields in QuotaBroadcastForm; set default values to avoid errors ([39d746f](https://github.com/perfect-panel/ppanel-web/commit/39d746f))
-
+- **page**: Refine version checking logic and remove unnecessary comments for clarity ([26176a7](https://github.com/perfect-panel/ppanel-web/commit/26176a7))
+- Add localization updates and new utility functions ([4da5960](https://github.com/perfect-panel/ppanel-web/commit/4da5960))
+- Add user_subscribe_id filter to SubscribeLogPage and update typings; disable eslint in service index files ([ab6f6a6](https://github.com/perfect-panel/ppanel-web/commit/ab6f6a6))
+- Added system version card and system log dialog components; updated statistics page to include total server and user statistics ([fe69980](https://github.com/perfect-panel/ppanel-web/commit/fe69980))
+- Adjust timestamp calculations to use milliseconds instead of seconds in quota broadcast form submission ([8dffd69](https://github.com/perfect-panel/ppanel-web/commit/8dffd69))
+- Correct cookie key format for sidebar state retrieval ([9e01f4f](https://github.com/perfect-panel/ppanel-web/commit/9e01f4f))
+- Improve UI for protocol status display in server form component ([461fdb1](https://github.com/perfect-panel/ppanel-web/commit/461fdb1))
+- Increase pagination size limit for server and node lists to improve data retrieval ([7c0a312](https://github.com/perfect-panel/ppanel-web/commit/7c0a312))
+- Optimize Task Manager to use milliseconds to calculate timers, and simplify import statements ([d8fa13b](https://github.com/perfect-panel/ppanel-web/commit/d8fa13b))
+- Refactor protocol status display for improved readability in server form component ([f700be0](https://github.com/perfect-panel/ppanel-web/commit/f700be0))
+- Remove GroupTable and related components, simplify SubscribeTable and update language handling in subscription forms ([1ab9b39](https://github.com/perfect-panel/ppanel-web/commit/1ab9b39))
+- Remove redundant transport label from localization files ([88ce8d7](https://github.com/perfect-panel/ppanel-web/commit/88ce8d7))
+- Remove unnecessary comments and improve variable handling in GoTemplateEditor; ensure zero value displays as empty in EnhancedInput ([c4a47a4](https://github.com/perfect-panel/ppanel-web/commit/c4a47a4))
+- Remove unnecessary comments to simplify code readability ([a988cb3](https://github.com/perfect-panel/ppanel-web/commit/a988cb3))
+- Replace MarkdownEditor with HTMLEditor in EmailBroadcastForm; simplify content rendering in EmailTaskManager; disable eslint in service index files ([e2d83ec](https://github.com/perfect-panel/ppanel-web/commit/e2d83ec))
+- Replace redundant icon rendering with a single instance in system version card component ([e4429a5](https://github.com/perfect-panel/ppanel-web/commit/e4429a5))
+- Update billing URL fetching logic and improve version handling in system version card component ([1c8d4af](https://github.com/perfect-panel/ppanel-web/commit/1c8d4af))
+- Update condition for plugin field in PROTOCOL_FIELDS to include specific plugins ([6376ec1](https://github.com/perfect-panel/ppanel-web/commit/6376ec1))
+- Update getAppSubLink function to improve URL handling and encoding logic ([351fffc](https://github.com/perfect-panel/ppanel-web/commit/351fffc))
+- Update order_id to order_no in BalanceLogPage and related typings; enhance timezone switch component with additional features and localization updates ([ac36075](https://github.com/perfect-panel/ppanel-web/commit/ac36075))
+- Update protocol plugin handling and add new options in typings ([6ca2433](https://github.com/perfect-panel/ppanel-web/commit/6ca2433))
+- Update release URLs to include 'v' prefix for versioning in system version card component ([1d526b5](https://github.com/perfect-panel/ppanel-web/commit/1d526b5))
+- Update SidebarLeft component styles to enhance hover effects ([e4fbd5c](https://github.com/perfect-panel/ppanel-web/commit/e4fbd5c))
+- Update validation for days and gift_value fields in QuotaBroadcastForm; set default values to avoid errors ([39d746f](https://github.com/perfect-panel/ppanel-web/commit/39d746f))
### 📝 Documentation
-* Merge branch 'main' into develop ([d7f8b3b](https://github.com/perfect-panel/ppanel-web/commit/d7f8b3b))
+- Merge branch 'main' into develop ([d7f8b3b](https://github.com/perfect-panel/ppanel-web/commit/d7f8b3b))
diff --git a/apps/admin/app/dashboard/user/user-subscription/index.tsx b/apps/admin/app/dashboard/user/user-subscription/index.tsx
index 12cef2e..8e20b8a 100644
--- a/apps/admin/app/dashboard/user/user-subscription/index.tsx
+++ b/apps/admin/app/dashboard/user/user-subscription/index.tsx
@@ -2,6 +2,7 @@
import { Display } from '@/components/display';
import { ProTable, ProTableActions } from '@/components/pro-table';
+import useGlobalStore from '@/config/use-global';
import {
createUserSubscribe,
deleteUserSubscribe,
@@ -28,6 +29,7 @@ export default function UserSubscription({ userId }: { userId: number }) {
const t = useTranslations('user');
const [loading, setLoading] = useState(false);
const ref = useRef(null);
+ const { getUserSubscribeUrls } = useGlobalStore();
return (
>
@@ -146,6 +148,16 @@ export default function UserSubscription({ userId }: { userId: number }) {
return true;
}}
/>,
+ ,
{t('delete')}}
diff --git a/apps/admin/config/use-global.tsx b/apps/admin/config/use-global.tsx
index e0d07b4..1b8cca5 100644
--- a/apps/admin/config/use-global.tsx
+++ b/apps/admin/config/use-global.tsx
@@ -1,3 +1,5 @@
+import { NEXT_PUBLIC_API_URL, NEXT_PUBLIC_SITE_URL } from '@/config/constants';
+import { extractDomain } from '@workspace/ui/utils';
import { create } from 'zustand';
export interface GlobalStore {
@@ -5,9 +7,10 @@ export interface GlobalStore {
user?: API.User;
setCommon: (common: Partial) => void;
setUser: (user?: API.User) => void;
+ getUserSubscribeUrls: (uuid: string, type?: string) => string[];
}
-export const useGlobalStore = create((set) => ({
+export const useGlobalStore = create((set, get) => ({
common: {
site: {
host: '',
@@ -77,6 +80,22 @@ export const useGlobalStore = create((set) => ({
},
})),
setUser: (user) => set({ user }),
+ getUserSubscribeUrls: (uuid: string, type?: string) => {
+ const { pan_domain, subscribe_domain, subscribe_path } = get().common.subscribe || {};
+ const domains = subscribe_domain
+ ? subscribe_domain.split('\n')
+ : [extractDomain(NEXT_PUBLIC_API_URL || NEXT_PUBLIC_SITE_URL || '', pan_domain)];
+
+ return domains.map((domain) => {
+ if (pan_domain) {
+ if (type) return `https://${uuid}.${type}.${domain}`;
+ return `https://${uuid}.${domain}`;
+ } else {
+ if (type) return `https://${domain}${subscribe_path}?token=${uuid}&type=${type}`;
+ return `https://${domain}${subscribe_path}?token=${uuid}`;
+ }
+ });
+ },
}));
export default useGlobalStore;
diff --git a/apps/admin/locales/cs-CZ/user.json b/apps/admin/locales/cs-CZ/user.json
index 0a70aaf..f44d350 100644
--- a/apps/admin/locales/cs-CZ/user.json
+++ b/apps/admin/locales/cs-CZ/user.json
@@ -17,6 +17,8 @@
"confirm": "Potvrdit",
"confirmDelete": "Opravdu chcete smazat?",
"confirmOffline": "Potvrdit offline",
+ "copySubscription": "Kopírovat předplatné",
+ "copySuccess": "Kopírování bylo úspěšné",
"create": "Vytvořit",
"createSubscription": "Vytvořit předplatné",
"createSuccess": "Vytvoření úspěšné",
diff --git a/apps/admin/locales/de-DE/user.json b/apps/admin/locales/de-DE/user.json
index 084861e..4a1aa13 100644
--- a/apps/admin/locales/de-DE/user.json
+++ b/apps/admin/locales/de-DE/user.json
@@ -17,6 +17,8 @@
"confirm": "Bestätigen",
"confirmDelete": "Sind Sie sicher, dass Sie löschen möchten?",
"confirmOffline": "Offline bestätigen",
+ "copySubscription": "Abonnement kopieren",
+ "copySuccess": "Kopie erfolgreich",
"create": "Erstellen",
"createSubscription": "Abonnement erstellen",
"createSuccess": "Erstellung erfolgreich",
diff --git a/apps/admin/locales/en-US/user.json b/apps/admin/locales/en-US/user.json
index 3ece483..e2b82b1 100644
--- a/apps/admin/locales/en-US/user.json
+++ b/apps/admin/locales/en-US/user.json
@@ -17,6 +17,8 @@
"confirm": "Confirm",
"confirmDelete": "Confirm Delete",
"confirmOffline": "Confirm Offline",
+ "copySubscription": "Copy Subscription",
+ "copySuccess": "Copy successful",
"create": "Create",
"createSubscription": "Create Subscription",
"createSuccess": "Create successful",
diff --git a/apps/admin/locales/es-ES/user.json b/apps/admin/locales/es-ES/user.json
index 29045ac..5e3f4f2 100644
--- a/apps/admin/locales/es-ES/user.json
+++ b/apps/admin/locales/es-ES/user.json
@@ -17,6 +17,8 @@
"confirm": "Confirmar",
"confirmDelete": "¿Está seguro de que desea eliminar?",
"confirmOffline": "Confirmar sin conexión",
+ "copySubscription": "Copiar Suscripción",
+ "copySuccess": "Copia exitosa",
"create": "Crear",
"createSubscription": "Crear suscripción",
"createSuccess": "Creación exitosa",
diff --git a/apps/admin/locales/es-MX/user.json b/apps/admin/locales/es-MX/user.json
index 6d4a8dd..79d8edd 100644
--- a/apps/admin/locales/es-MX/user.json
+++ b/apps/admin/locales/es-MX/user.json
@@ -17,6 +17,8 @@
"confirm": "Confirmar",
"confirmDelete": "¿Está seguro de que desea eliminar?",
"confirmOffline": "Confirmar sin conexión",
+ "copySubscription": "Copiar Suscripción",
+ "copySuccess": "Copia exitosa",
"create": "Crear",
"createSubscription": "Crear Suscripción",
"createSuccess": "Creación exitosa",
diff --git a/apps/admin/locales/fa-IR/user.json b/apps/admin/locales/fa-IR/user.json
index 6f294cc..fb1641b 100644
--- a/apps/admin/locales/fa-IR/user.json
+++ b/apps/admin/locales/fa-IR/user.json
@@ -17,6 +17,8 @@
"confirm": "تأیید",
"confirmDelete": "آیا مطمئن هستید که میخواهید حذف کنید؟",
"confirmOffline": "تأیید آفلاین",
+ "copySubscription": "کپی اشتراک",
+ "copySuccess": "کپی با موفقیت انجام شد",
"create": "ایجاد",
"createSubscription": "ایجاد اشتراک",
"createSuccess": "ایجاد با موفقیت انجام شد",
diff --git a/apps/admin/locales/fi-FI/user.json b/apps/admin/locales/fi-FI/user.json
index 39f2caf..5143759 100644
--- a/apps/admin/locales/fi-FI/user.json
+++ b/apps/admin/locales/fi-FI/user.json
@@ -17,6 +17,8 @@
"confirm": "Vahvista",
"confirmDelete": "Oletko varma, että haluat poistaa?",
"confirmOffline": "Vahvista offline-tila",
+ "copySubscription": "Kopioi tilaus",
+ "copySuccess": "Kopiointi onnistui",
"create": "Luo",
"createSubscription": "Luo tilaus",
"createSuccess": "Luonti onnistui",
diff --git a/apps/admin/locales/fr-FR/user.json b/apps/admin/locales/fr-FR/user.json
index 9e81731..680e47a 100644
--- a/apps/admin/locales/fr-FR/user.json
+++ b/apps/admin/locales/fr-FR/user.json
@@ -17,6 +17,8 @@
"confirm": "Confirmer",
"confirmDelete": "Êtes-vous sûr de vouloir supprimer ?",
"confirmOffline": "Confirmer hors ligne",
+ "copySubscription": "Copier l'abonnement",
+ "copySuccess": "Copie réussie",
"create": "Créer",
"createSubscription": "Créer un abonnement",
"createSuccess": "Création réussie",
diff --git a/apps/admin/locales/hi-IN/user.json b/apps/admin/locales/hi-IN/user.json
index 3ba082b..86f8c97 100644
--- a/apps/admin/locales/hi-IN/user.json
+++ b/apps/admin/locales/hi-IN/user.json
@@ -17,6 +17,8 @@
"confirm": "पुष्टि करें",
"confirmDelete": "क्या आप वाकई हटाना चाहते हैं?",
"confirmOffline": "ऑफ़लाइन की पुष्टि करें",
+ "copySubscription": "सदस्यता कॉपी करें",
+ "copySuccess": "कॉपी सफल",
"create": "सृजन",
"createSubscription": "सदस्यता बनाएं",
"createSuccess": "सृजन सफल",
diff --git a/apps/admin/locales/hu-HU/user.json b/apps/admin/locales/hu-HU/user.json
index f89ce2b..01afca4 100644
--- a/apps/admin/locales/hu-HU/user.json
+++ b/apps/admin/locales/hu-HU/user.json
@@ -17,6 +17,8 @@
"confirm": "Megerősítés",
"confirmDelete": "Biztosan törölni szeretné?",
"confirmOffline": "Megerősítés offline",
+ "copySubscription": "Előfizetés másolása",
+ "copySuccess": "Másolás sikeres",
"create": "Létrehozás",
"createSubscription": "Előfizetés létrehozása",
"createSuccess": "Sikeres létrehozás",
diff --git a/apps/admin/locales/ja-JP/user.json b/apps/admin/locales/ja-JP/user.json
index b46435d..0e5b254 100644
--- a/apps/admin/locales/ja-JP/user.json
+++ b/apps/admin/locales/ja-JP/user.json
@@ -17,6 +17,8 @@
"confirm": "確認",
"confirmDelete": "削除してもよろしいですか?",
"confirmOffline": "オフラインを確認",
+ "copySubscription": "サブスクリプションをコピー",
+ "copySuccess": "コピーが成功しました",
"create": "作成",
"createSubscription": "サブスクリプションを作成",
"createSuccess": "作成成功",
diff --git a/apps/admin/locales/ko-KR/user.json b/apps/admin/locales/ko-KR/user.json
index a6834bb..4f3fe56 100644
--- a/apps/admin/locales/ko-KR/user.json
+++ b/apps/admin/locales/ko-KR/user.json
@@ -17,6 +17,8 @@
"confirm": "확인",
"confirmDelete": "삭제하시겠습니까?",
"confirmOffline": "오프라인 확인",
+ "copySubscription": "구독 복사",
+ "copySuccess": "복사 성공",
"create": "생성",
"createSubscription": "구독 생성",
"createSuccess": "생성 성공",
diff --git a/apps/admin/locales/no-NO/user.json b/apps/admin/locales/no-NO/user.json
index 1125fa3..04663c6 100644
--- a/apps/admin/locales/no-NO/user.json
+++ b/apps/admin/locales/no-NO/user.json
@@ -17,6 +17,8 @@
"confirm": "bekreft",
"confirmDelete": "Er du sikker på at du vil slette?",
"confirmOffline": "Bekreft frakoblet",
+ "copySubscription": "Kopier abonnement",
+ "copySuccess": "Kopiering vellykket",
"create": "opprett",
"createSubscription": "Opprett abonnement",
"createSuccess": "Opprettelse vellykket",
diff --git a/apps/admin/locales/pl-PL/user.json b/apps/admin/locales/pl-PL/user.json
index 9ecf559..bbac854 100644
--- a/apps/admin/locales/pl-PL/user.json
+++ b/apps/admin/locales/pl-PL/user.json
@@ -17,6 +17,8 @@
"confirm": "Potwierdź",
"confirmDelete": "Czy na pewno chcesz usunąć?",
"confirmOffline": "Potwierdź tryb offline",
+ "copySubscription": "Kopiuj subskrypcję",
+ "copySuccess": "Kopiowanie zakończone sukcesem",
"create": "Utwórz",
"createSubscription": "Utwórz subskrypcję",
"createSuccess": "Utworzono pomyślnie",
diff --git a/apps/admin/locales/pt-BR/user.json b/apps/admin/locales/pt-BR/user.json
index 9b7b6f6..646431a 100644
--- a/apps/admin/locales/pt-BR/user.json
+++ b/apps/admin/locales/pt-BR/user.json
@@ -17,6 +17,8 @@
"confirm": "confirmar",
"confirmDelete": "Você tem certeza de que deseja excluir?",
"confirmOffline": "Confirmar Offline",
+ "copySubscription": "Copiar Assinatura",
+ "copySuccess": "Cópia bem-sucedida",
"create": "Criar",
"createSubscription": "Criar Assinatura",
"createSuccess": "Criação bem-sucedida",
diff --git a/apps/admin/locales/ro-RO/user.json b/apps/admin/locales/ro-RO/user.json
index e5f004e..7d45927 100644
--- a/apps/admin/locales/ro-RO/user.json
+++ b/apps/admin/locales/ro-RO/user.json
@@ -17,6 +17,8 @@
"confirm": "Confirmare",
"confirmDelete": "Sunteți sigur că doriți să ștergeți?",
"confirmOffline": "Confirmare Offline",
+ "copySubscription": "Copiază Abonamentul",
+ "copySuccess": "Copiază cu succes",
"create": "crea",
"createSubscription": "Creează Abonament",
"createSuccess": "Creat cu succes",
diff --git a/apps/admin/locales/ru-RU/user.json b/apps/admin/locales/ru-RU/user.json
index 82164a1..0888242 100644
--- a/apps/admin/locales/ru-RU/user.json
+++ b/apps/admin/locales/ru-RU/user.json
@@ -17,6 +17,8 @@
"confirm": "Подтвердить",
"confirmDelete": "Вы уверены, что хотите удалить?",
"confirmOffline": "Подтвердить офлайн",
+ "copySubscription": "Копировать подписку",
+ "copySuccess": "Копирование успешно",
"create": "Создать",
"createSubscription": "Создать подписку",
"createSuccess": "Создание успешно",
diff --git a/apps/admin/locales/th-TH/user.json b/apps/admin/locales/th-TH/user.json
index 2755955..36747da 100644
--- a/apps/admin/locales/th-TH/user.json
+++ b/apps/admin/locales/th-TH/user.json
@@ -17,6 +17,8 @@
"confirm": "ยืนยัน",
"confirmDelete": "คุณแน่ใจหรือว่าต้องการลบ?",
"confirmOffline": "ยืนยันออฟไลน์",
+ "copySubscription": "คัดลอกการสมัครสมาชิก",
+ "copySuccess": "คัดลอกสำเร็จ",
"create": "สร้าง",
"createSubscription": "สร้างการสมัครสมาชิก",
"createSuccess": "สร้างสำเร็จ",
diff --git a/apps/admin/locales/tr-TR/user.json b/apps/admin/locales/tr-TR/user.json
index 2086d0c..29ecbb2 100644
--- a/apps/admin/locales/tr-TR/user.json
+++ b/apps/admin/locales/tr-TR/user.json
@@ -17,6 +17,8 @@
"confirm": "Onayla",
"confirmDelete": "Silmek istediğinizden emin misiniz?",
"confirmOffline": "Çevrimdışı Onayla",
+ "copySubscription": "Aboneliği Kopyala",
+ "copySuccess": "Kopyalama başarılı",
"create": "oluştur",
"createSubscription": "Abonelik Oluştur",
"createSuccess": "Başarıyla oluşturuldu",
diff --git a/apps/admin/locales/uk-UA/user.json b/apps/admin/locales/uk-UA/user.json
index 3de0898..5083764 100644
--- a/apps/admin/locales/uk-UA/user.json
+++ b/apps/admin/locales/uk-UA/user.json
@@ -17,6 +17,8 @@
"confirm": "Підтвердити",
"confirmDelete": "Ви впевнені, що хочете видалити?",
"confirmOffline": "Підтвердити офлайн",
+ "copySubscription": "Копіювати підписку",
+ "copySuccess": "Копіювання успішне",
"create": "створити",
"createSubscription": "Створити підписку",
"createSuccess": "Створено успішно",
diff --git a/apps/admin/locales/vi-VN/user.json b/apps/admin/locales/vi-VN/user.json
index 2464aab..911f20a 100644
--- a/apps/admin/locales/vi-VN/user.json
+++ b/apps/admin/locales/vi-VN/user.json
@@ -17,6 +17,8 @@
"confirm": "Xác nhận",
"confirmDelete": "Bạn có chắc chắn muốn xóa không?",
"confirmOffline": "Xác nhận Ngoại tuyến",
+ "copySubscription": "Sao chép Đăng ký",
+ "copySuccess": "Sao chép thành công",
"create": "Tạo",
"createSubscription": "Tạo Đăng Ký",
"createSuccess": "Tạo thành công",
diff --git a/apps/admin/locales/zh-CN/user.json b/apps/admin/locales/zh-CN/user.json
index 9f2858b..03832bf 100644
--- a/apps/admin/locales/zh-CN/user.json
+++ b/apps/admin/locales/zh-CN/user.json
@@ -17,6 +17,8 @@
"confirm": "确认",
"confirmDelete": "确认删除",
"confirmOffline": "确认下线",
+ "copySubscription": "复制订阅",
+ "copySuccess": "复制成功",
"create": "创建",
"createSubscription": "创建订阅",
"createSuccess": "创建成功",
diff --git a/apps/admin/locales/zh-HK/user.json b/apps/admin/locales/zh-HK/user.json
index 118a7c4..e08208b 100644
--- a/apps/admin/locales/zh-HK/user.json
+++ b/apps/admin/locales/zh-HK/user.json
@@ -17,6 +17,8 @@
"confirm": "確認",
"confirmDelete": "您確定要刪除嗎?",
"confirmOffline": "確認離線",
+ "copySubscription": "複製訂閱",
+ "copySuccess": "複製成功",
"create": "建立",
"createSubscription": "建立訂閱",
"createSuccess": "建立成功",
diff --git a/apps/admin/services/admin/index.ts b/apps/admin/services/admin/index.ts
index bdf189b..4ebecd4 100644
--- a/apps/admin/services/admin/index.ts
+++ b/apps/admin/services/admin/index.ts
@@ -1,5 +1,5 @@
// @ts-ignore
-
+
// API 更新时间:
// API 唯一标识:
import * as ads from './ads';
diff --git a/apps/admin/services/common/index.ts b/apps/admin/services/common/index.ts
index 61ba129..73b3bda 100644
--- a/apps/admin/services/common/index.ts
+++ b/apps/admin/services/common/index.ts
@@ -1,5 +1,5 @@
// @ts-ignore
-
+
// API 更新时间:
// API 唯一标识:
import * as auth from './auth';
diff --git a/apps/user/services/common/index.ts b/apps/user/services/common/index.ts
index 61ba129..73b3bda 100644
--- a/apps/user/services/common/index.ts
+++ b/apps/user/services/common/index.ts
@@ -1,5 +1,5 @@
// @ts-ignore
-
+
// API 更新时间:
// API 唯一标识:
import * as auth from './auth';
diff --git a/apps/user/services/user/index.ts b/apps/user/services/user/index.ts
index 12fe8d0..f988131 100644
--- a/apps/user/services/user/index.ts
+++ b/apps/user/services/user/index.ts
@@ -1,5 +1,5 @@
// @ts-ignore
-
+
// API 更新时间:
// API 唯一标识:
import * as announcement from './announcement';