diff --git a/docs/CONTRIBUTING_i18n.md b/docs/CONTRIBUTING_i18n.md
index bab73096..6695d689 100644
--- a/docs/CONTRIBUTING_i18n.md
+++ b/docs/CONTRIBUTING_i18n.md
@@ -76,7 +76,6 @@ Notes
"description": "Manage subscription sources"
},
"actions": {
- "new": "@:common.actions.new",
"import": "Import"
},
"notifications": {
@@ -91,21 +90,7 @@ Notes
}
```
-Referencing `@:common.actions.new` helps reuse shared strings through the i18n loader.
-
-### Pending Cleanup — Reuse `common.actions`
-
-- `profile.viewer.buttons.save` → `@:common.actions.save`
-- `profile.viewer.buttons.cancel` → `@:common.actions.cancel`
-- `profile.menu.delete` → `@:common.actions.delete`
-- `profiles.page.actions.new` → `@:common.actions.new`
-- `test.page.actions.new` → `@:common.actions.new`
-- `home.ipInfo.labels.retry` → `@:common.actions.retry`
-- `settings.backup.actions.refresh` → `@:common.actions.refresh`
-- `settings.backup.actions.save` → `@:common.actions.save`
-- `settings.backup.actions.delete` → `@:common.actions.delete`
-- `home.systemInfo.labels.enabled` → `@:common.status.enabled`
-- `home.systemInfo.labels.disabled` → `@:common.status.disabled`
+Reuse shared verbs (e.g., “New”, “Save”) directly from `common.actions.*` in the application code rather than duplicating them inside feature namespaces.
## Feedback & Contributions
diff --git a/src/components/home/ip-info-card.tsx b/src/components/home/ip-info-card.tsx
index 5eadb5f1..2db6b96e 100644
--- a/src/components/home/ip-info-card.tsx
+++ b/src/components/home/ip-info-card.tsx
@@ -162,7 +162,7 @@ export const IpInfoCard = () => {
{error}
diff --git a/src/components/home/system-info-card.tsx b/src/components/home/system-info-card.tsx
index 0fa1c32e..9a991b07 100644
--- a/src/components/home/system-info-card.tsx
+++ b/src/components/home/system-info-card.tsx
@@ -312,8 +312,8 @@ export const SystemInfoCard = () => {
size="small"
label={
autoLaunchEnabled
- ? t("home.systemInfo.labels.enabled")
- : t("home.systemInfo.labels.disabled")
+ ? t("common.status.enabled")
+ : t("common.status.disabled")
}
color={autoLaunchEnabled ? "success" : "default"}
variant={autoLaunchEnabled ? "filled" : "outlined"}
diff --git a/src/components/profile/profile-item.tsx b/src/components/profile/profile-item.tsx
index 080788a2..c92011bf 100644
--- a/src/components/profile/profile-item.tsx
+++ b/src/components/profile/profile-item.tsx
@@ -377,7 +377,7 @@ export const ProfileItem = (props: Props) => {
openFile: "profile.menu.openFile",
update: "profile.menu.update",
updateViaProxy: "profile.menu.updateViaProxy",
- delete: "profile.menu.delete",
+ delete: "common.actions.delete",
} as const;
const urlModeMenu: ContextMenuItem[] = [
diff --git a/src/components/profile/profile-viewer.tsx b/src/components/profile/profile-viewer.tsx
index 02c42524..590ba81a 100644
--- a/src/components/profile/profile-viewer.tsx
+++ b/src/components/profile/profile-viewer.tsx
@@ -220,8 +220,8 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) {
: t("profile.viewer.title.edit")
}
contentSx={{ width: 375, pb: 0, maxHeight: "80%" }}
- okBtn={t("profile.viewer.buttons.save")}
- cancelBtn={t("profile.viewer.buttons.cancel")}
+ okBtn={t("common.actions.save")}
+ cancelBtn={t("common.actions.cancel")}
onClose={handleClose}
onCancel={handleClose}
onOk={handleOk}
diff --git a/src/components/setting/mods/backup-config-viewer.tsx b/src/components/setting/mods/backup-config-viewer.tsx
index 0e32d5fa..672e06cf 100644
--- a/src/components/setting/mods/backup-config-viewer.tsx
+++ b/src/components/setting/mods/backup-config-viewer.tsx
@@ -220,7 +220,7 @@ export const BackupConfigViewer = memo(
type="button"
onClick={handleSubmit(save)}
>
- {t("settings.backup.actions.save")}
+ {t("common.actions.save")}
) : (
<>
@@ -239,7 +239,7 @@ export const BackupConfigViewer = memo(
type="button"
size="large"
>
- {t("settings.backup.actions.refresh")}
+ {t("common.actions.refresh")}
>
)}
diff --git a/src/components/setting/mods/backup-table-viewer.tsx b/src/components/setting/mods/backup-table-viewer.tsx
index e4bc26b3..dbe8a37a 100644
--- a/src/components/setting/mods/backup-table-viewer.tsx
+++ b/src/components/setting/mods/backup-table-viewer.tsx
@@ -161,7 +161,7 @@ export const BackupTableViewer = memo(
)}
{
diff --git a/src/components/setting/mods/local-backup-actions.tsx b/src/components/setting/mods/local-backup-actions.tsx
index 775e7302..b6476c39 100644
--- a/src/components/setting/mods/local-backup-actions.tsx
+++ b/src/components/setting/mods/local-backup-actions.tsx
@@ -68,7 +68,7 @@ export const LocalBackupActions = memo(
type="button"
size="large"
>
- {t("settings.backup.actions.refresh")}
+ {t("common.actions.refresh")}
diff --git a/src/locales/ar.json b/src/locales/ar.json
index f52a297a..2335f0b7 100644
--- a/src/locales/ar.json
+++ b/src/locales/ar.json
@@ -154,10 +154,6 @@
"create": "إنشاء ملف شخصي",
"edit": "تعديل الملف الشخصي"
},
- "buttons": {
- "save": "حفظ",
- "cancel": "إلغاء"
- },
"fields": {
"type": "النوع",
"name": "الاسم",
@@ -239,8 +235,7 @@
"extendScript": "توسيع السكربت",
"openFile": "فتح الملف",
"update": "تحديث",
- "updateViaProxy": "Update via proxy",
- "delete": "حذف"
+ "updateViaProxy": "Update via proxy"
},
"item": {
"tooltips": {
@@ -315,10 +310,6 @@
"actions": {
"settings": "الإعدادات"
},
- "labels": {
- "enabled": "ممكّن",
- "disabled": "معطّل"
- },
"tooltips": {
"autoLaunchAdmin": "Administrator mode may not support auto launch"
},
@@ -335,7 +326,6 @@
"load": "Failed to get IP info"
},
"labels": {
- "retry": "Retry",
"ip": "IP",
"asn": "ASN",
"isp": "ISP",
@@ -614,11 +604,8 @@
"actions": {
"selectTarget": "Select backup target",
"backup": "نسخ احتياطي",
- "refresh": "تحديث",
- "save": "حفظ",
"export": "Export",
"exportBackup": "Export Backup",
- "delete": "حذف",
"deleteBackup": "حذف النسخة الاحتياطية",
"restore": "استعادة",
"restoreBackup": "استعادة النسخة الاحتياطية"
@@ -1026,8 +1013,7 @@
"page": {
"title": "اختبار",
"actions": {
- "testAll": "اختبار الكل",
- "new": "جديد"
+ "testAll": "اختبار الكل"
}
},
"statuses": {
@@ -1126,8 +1112,7 @@
"updateAll": "تحديث جميع الملفات الشخصية",
"viewRuntimeConfig": "عرض تكوين وقت التشغيل",
"reactivate": "إعادة تنشيط الملفات الشخصية",
- "import": "استيراد",
- "new": "جديد"
+ "import": "استيراد"
},
"batch": {
"title": "Batch Operations",
diff --git a/src/locales/de.json b/src/locales/de.json
index 1e39898a..011da1f2 100644
--- a/src/locales/de.json
+++ b/src/locales/de.json
@@ -154,10 +154,6 @@
"create": "Neue Konfiguration erstellen",
"edit": "Konfiguration bearbeiten"
},
- "buttons": {
- "save": "Speichern",
- "cancel": "Abbrechen"
- },
"fields": {
"type": "Typ",
"name": "Name",
@@ -239,8 +235,7 @@
"extendScript": "Erweitertes Skript",
"openFile": "Datei öffnen",
"update": "Aktualisieren",
- "updateViaProxy": "Update via proxy",
- "delete": "Löschen"
+ "updateViaProxy": "Update via proxy"
},
"item": {
"tooltips": {
@@ -315,10 +310,6 @@
"actions": {
"settings": "Einstellungen"
},
- "labels": {
- "enabled": "Aktiviert",
- "disabled": "Deaktiviert"
- },
"tooltips": {
"autoLaunchAdmin": "Der Administrator-Modus unterstützt möglicherweise keine automatische Startfunktion."
},
@@ -335,7 +326,6 @@
"load": "Abrufen der IP-Informationen fehlgeschlagen"
},
"labels": {
- "retry": "Retry",
"ip": "IP",
"asn": "Autonomes Systemnummer",
"isp": "Internetdienstanbieter",
@@ -614,11 +604,8 @@
"actions": {
"selectTarget": "Select backup target",
"backup": "Sichern",
- "refresh": "Aktualisieren",
- "save": "Speichern",
"export": "Export",
"exportBackup": "Export Backup",
- "delete": "Löschen",
"deleteBackup": "Sicherung löschen",
"restore": "Wiederherstellen",
"restoreBackup": "Sicherung wiederherstellen"
@@ -1026,8 +1013,7 @@
"page": {
"title": "Testen",
"actions": {
- "testAll": "Alle testen",
- "new": "Neu"
+ "testAll": "Alle testen"
}
},
"statuses": {
@@ -1126,8 +1112,7 @@
"updateAll": "Alle Abonnements aktualisieren",
"viewRuntimeConfig": "Laufzeit-Abonnement anzeigen",
"reactivate": "Abonnement erneut aktivieren",
- "import": "Importieren",
- "new": "Neu"
+ "import": "Importieren"
},
"batch": {
"title": "Batch Operations",
diff --git a/src/locales/en.json b/src/locales/en.json
index 101fc135..2682a676 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -154,10 +154,6 @@
"create": "Create Profile",
"edit": "Edit Profile"
},
- "buttons": {
- "save": "Save",
- "cancel": "Cancel"
- },
"fields": {
"type": "Type",
"name": "Name",
@@ -239,8 +235,7 @@
"extendScript": "Extend Script",
"openFile": "Open File",
"update": "Update",
- "updateViaProxy": "Update via proxy",
- "delete": "Delete"
+ "updateViaProxy": "Update via proxy"
},
"item": {
"tooltips": {
@@ -315,10 +310,6 @@
"actions": {
"settings": "Settings"
},
- "labels": {
- "enabled": "Enabled",
- "disabled": "Disabled"
- },
"tooltips": {
"autoLaunchAdmin": "Administrator mode may not support auto launch"
},
@@ -335,7 +326,6 @@
"load": "Failed to get IP info"
},
"labels": {
- "retry": "Retry",
"ip": "IP",
"asn": "ASN",
"isp": "ISP",
@@ -614,11 +604,8 @@
"actions": {
"selectTarget": "Select backup target",
"backup": "Backup",
- "refresh": "Refresh",
- "save": "Save",
"export": "Export",
"exportBackup": "Export Backup",
- "delete": "Delete",
"deleteBackup": "Delete Backup",
"restore": "Restore",
"restoreBackup": "Restore Backup"
@@ -1026,8 +1013,7 @@
"page": {
"title": "Test",
"actions": {
- "testAll": "Test All",
- "new": "New"
+ "testAll": "Test All"
}
},
"statuses": {
@@ -1126,8 +1112,7 @@
"updateAll": "Update All Profiles",
"viewRuntimeConfig": "View Runtime Config",
"reactivate": "Reactivate Profiles",
- "import": "Import",
- "new": "New"
+ "import": "Import"
},
"batch": {
"title": "Batch Operations",
diff --git a/src/locales/es.json b/src/locales/es.json
index eb52ba25..79579bc0 100644
--- a/src/locales/es.json
+++ b/src/locales/es.json
@@ -154,10 +154,6 @@
"create": "Crear configuración",
"edit": "Editar configuración"
},
- "buttons": {
- "save": "Guardar",
- "cancel": "Cancelar"
- },
"fields": {
"type": "Tipo",
"name": "Nombre",
@@ -239,8 +235,7 @@
"extendScript": "Script extendido",
"openFile": "Abrir archivo",
"update": "Actualizar",
- "updateViaProxy": "Update via proxy",
- "delete": "Eliminar"
+ "updateViaProxy": "Update via proxy"
},
"item": {
"tooltips": {
@@ -315,10 +310,6 @@
"actions": {
"settings": "Ajustes"
},
- "labels": {
- "enabled": "Habilitado",
- "disabled": "Deshabilitado"
- },
"tooltips": {
"autoLaunchAdmin": "El modo de administrador puede no admitir el inicio automático."
},
@@ -335,7 +326,6 @@
"load": "Error al obtener información de IP"
},
"labels": {
- "retry": "Retry",
"ip": "IP",
"asn": "Número de sistema autónomo",
"isp": "Proveedor de servicios de Internet",
@@ -614,11 +604,8 @@
"actions": {
"selectTarget": "Select backup target",
"backup": "Copia de seguridad",
- "refresh": "Actualizar",
- "save": "Guardar",
"export": "Export",
"exportBackup": "Export Backup",
- "delete": "Eliminar",
"deleteBackup": "Eliminar copia de seguridad",
"restore": "Restaurar",
"restoreBackup": "Restaurar copia de seguridad"
@@ -1026,8 +1013,7 @@
"page": {
"title": "Prueba",
"actions": {
- "testAll": "Probar todo",
- "new": "Nuevo"
+ "testAll": "Probar todo"
}
},
"statuses": {
@@ -1126,8 +1112,7 @@
"updateAll": "Actualizar todas las suscripciones",
"viewRuntimeConfig": "Ver configuración en tiempo de ejecución",
"reactivate": "Reactivar suscripciones",
- "import": "Importar",
- "new": "Nuevo"
+ "import": "Importar"
},
"batch": {
"title": "Batch Operations",
diff --git a/src/locales/fa.json b/src/locales/fa.json
index 6445fade..3217a1b5 100644
--- a/src/locales/fa.json
+++ b/src/locales/fa.json
@@ -154,10 +154,6 @@
"create": "ایجاد پروفایل",
"edit": "ویرایش پروفایل"
},
- "buttons": {
- "save": "ذخیره",
- "cancel": "لغو"
- },
"fields": {
"type": "نوع",
"name": "نام",
@@ -239,8 +235,7 @@
"extendScript": "ادغام اسکریپت",
"openFile": "باز کردن فایل",
"update": "بهروزرسانی",
- "updateViaProxy": "Update via proxy",
- "delete": "حذف"
+ "updateViaProxy": "Update via proxy"
},
"item": {
"tooltips": {
@@ -315,10 +310,6 @@
"actions": {
"settings": "تنظیمات"
},
- "labels": {
- "enabled": "توانایی فعال شد",
- "disabled": "غیرفعال شد"
- },
"tooltips": {
"autoLaunchAdmin": "Administrator mode may not support auto launch"
},
@@ -335,7 +326,6 @@
"load": "Failed to get IP info"
},
"labels": {
- "retry": "Retry",
"ip": "IP",
"asn": "ASN",
"isp": "ISP",
@@ -614,11 +604,8 @@
"actions": {
"selectTarget": "Select backup target",
"backup": "پشتیبانگیری",
- "refresh": "بازنشانی",
- "save": "ذخیره",
"export": "Export",
"exportBackup": "Export Backup",
- "delete": "حذف",
"deleteBackup": "حذف پشتیبان",
"restore": "بازیابی",
"restoreBackup": "بازیابی پشتیبان"
@@ -1026,8 +1013,7 @@
"page": {
"title": "آزمون",
"actions": {
- "testAll": "آزمون همه",
- "new": "جدید"
+ "testAll": "آزمون همه"
}
},
"statuses": {
@@ -1126,8 +1112,7 @@
"updateAll": "بهروزرسانی همه پروفایلها",
"viewRuntimeConfig": "مشاهده پیکربندی زمان اجرا",
"reactivate": "فعالسازی مجدد پروفایلها",
- "import": "وارد کردن",
- "new": "جدید"
+ "import": "وارد کردن"
},
"batch": {
"title": "Batch Operations",
diff --git a/src/locales/id.json b/src/locales/id.json
index b403f548..276e80e9 100644
--- a/src/locales/id.json
+++ b/src/locales/id.json
@@ -154,10 +154,6 @@
"create": "Buat Profil",
"edit": "Ubah Profil"
},
- "buttons": {
- "save": "Simpan",
- "cancel": "Batal"
- },
"fields": {
"type": "Jenis",
"name": "Nama",
@@ -239,8 +235,7 @@
"extendScript": "Perluas Skrip",
"openFile": "Buka Berkas",
"update": "Perbarui",
- "updateViaProxy": "Update via proxy",
- "delete": "Hapus"
+ "updateViaProxy": "Update via proxy"
},
"item": {
"tooltips": {
@@ -315,10 +310,6 @@
"actions": {
"settings": "Pengaturan"
},
- "labels": {
- "enabled": "Diaktifkan",
- "disabled": "Dinonaktifkan"
- },
"tooltips": {
"autoLaunchAdmin": "Administrator mode may not support auto launch"
},
@@ -335,7 +326,6 @@
"load": "Failed to get IP info"
},
"labels": {
- "retry": "Retry",
"ip": "IP",
"asn": "ASN",
"isp": "ISP",
@@ -614,11 +604,8 @@
"actions": {
"selectTarget": "Select backup target",
"backup": "Cadangan",
- "refresh": "Segarkan",
- "save": "Simpan",
"export": "Export",
"exportBackup": "Export Backup",
- "delete": "Hapus",
"deleteBackup": "Hapus Cadangan",
"restore": "Pulihkan",
"restoreBackup": "Pulihkan Cadangan"
@@ -1026,8 +1013,7 @@
"page": {
"title": "Tes",
"actions": {
- "testAll": "Tes Semua",
- "new": "Baru"
+ "testAll": "Tes Semua"
}
},
"statuses": {
@@ -1126,8 +1112,7 @@
"updateAll": "Perbarui Semua Profil",
"viewRuntimeConfig": "Lihat Konfigurasi Runtime",
"reactivate": "Reaktivasi Profil",
- "import": "Impor",
- "new": "Baru"
+ "import": "Impor"
},
"batch": {
"title": "Batch Operations",
diff --git a/src/locales/jp.json b/src/locales/jp.json
index c10f1b3e..61ba7a15 100644
--- a/src/locales/jp.json
+++ b/src/locales/jp.json
@@ -154,10 +154,6 @@
"create": "新規プロファイルを作成",
"edit": "プロファイルを編集"
},
- "buttons": {
- "save": "保存",
- "cancel": "キャンセル"
- },
"fields": {
"type": "タイプ",
"name": "名前",
@@ -239,8 +235,7 @@
"extendScript": "拡張スクリプト",
"openFile": "ファイルを開く",
"update": "更新",
- "updateViaProxy": "Update via proxy",
- "delete": "削除"
+ "updateViaProxy": "Update via proxy"
},
"item": {
"tooltips": {
@@ -315,10 +310,6 @@
"actions": {
"settings": "設定"
},
- "labels": {
- "enabled": "有効",
- "disabled": "無効"
- },
"tooltips": {
"autoLaunchAdmin": "管理者モードでは起動時の自動起動がサポートされない場合があります。"
},
@@ -335,7 +326,6 @@
"load": "IP情報の取得に失敗しました。"
},
"labels": {
- "retry": "Retry",
"ip": "IP",
"asn": "自治システム番号",
"isp": "インターネットサービスプロバイダー",
@@ -614,11 +604,8 @@
"actions": {
"selectTarget": "Select backup target",
"backup": "バックアップ",
- "refresh": "更新",
- "save": "保存",
"export": "Export",
"exportBackup": "Export Backup",
- "delete": "削除",
"deleteBackup": "バックアップを削除",
"restore": "復元",
"restoreBackup": "バックアップを復元"
@@ -1026,8 +1013,7 @@
"page": {
"title": "テスト",
"actions": {
- "testAll": "すべてテスト",
- "new": "新規作成"
+ "testAll": "すべてテスト"
}
},
"statuses": {
@@ -1126,8 +1112,7 @@
"updateAll": "すべてのプロファイルを更新",
"viewRuntimeConfig": "実行時のプロファイルを表示",
"reactivate": "プロファイルを再アクティブ化",
- "import": "インポート",
- "new": "新規作成"
+ "import": "インポート"
},
"batch": {
"title": "バッチ操作",
diff --git a/src/locales/ko.json b/src/locales/ko.json
index 841c408b..17d3979e 100644
--- a/src/locales/ko.json
+++ b/src/locales/ko.json
@@ -154,10 +154,6 @@
"create": "프로필 생성",
"edit": "프로필 편집"
},
- "buttons": {
- "save": "저장",
- "cancel": "취소"
- },
"fields": {
"type": "유형",
"name": "이름",
@@ -239,8 +235,7 @@
"extendScript": "스크립트 확장",
"openFile": "파일 열기",
"update": "업데이트",
- "updateViaProxy": "Update via proxy",
- "delete": "삭제"
+ "updateViaProxy": "Update via proxy"
},
"item": {
"tooltips": {
@@ -315,10 +310,6 @@
"actions": {
"settings": "설정"
},
- "labels": {
- "enabled": "Enabled",
- "disabled": "Disabled"
- },
"tooltips": {
"autoLaunchAdmin": "Administrator mode may not support auto launch"
},
@@ -335,7 +326,6 @@
"load": "Failed to get IP info"
},
"labels": {
- "retry": "Retry",
"ip": "IP",
"asn": "ASN",
"isp": "ISP",
@@ -614,11 +604,8 @@
"actions": {
"selectTarget": "Select backup target",
"backup": "Backup",
- "refresh": "새로고침",
- "save": "저장",
"export": "Export",
"exportBackup": "Export Backup",
- "delete": "삭제",
"deleteBackup": "Delete Backup",
"restore": "Restore",
"restoreBackup": "Restore Backup"
@@ -1026,8 +1013,7 @@
"page": {
"title": "테스트",
"actions": {
- "testAll": "모두 테스트",
- "new": "새로 만들기"
+ "testAll": "모두 테스트"
}
},
"statuses": {
@@ -1126,8 +1112,7 @@
"updateAll": "모든 프로필 업데이트",
"viewRuntimeConfig": "런타임 설정 보기",
"reactivate": "프로필 재활성화",
- "import": "가져오기",
- "new": "새로 만들기"
+ "import": "가져오기"
},
"batch": {
"title": "Batch Operations",
diff --git a/src/locales/ru.json b/src/locales/ru.json
index b7478c4f..4b8ecde6 100644
--- a/src/locales/ru.json
+++ b/src/locales/ru.json
@@ -154,10 +154,6 @@
"create": "Создать профиль",
"edit": "Изменить профиль"
},
- "buttons": {
- "save": "Сохранить",
- "cancel": "Отмена"
- },
"fields": {
"type": "Тип",
"name": "Название",
@@ -239,8 +235,7 @@
"extendScript": "Изменить Script",
"openFile": "Открыть файл",
"update": "Обновить",
- "updateViaProxy": "Update via proxy",
- "delete": "Удалить"
+ "updateViaProxy": "Update via proxy"
},
"item": {
"tooltips": {
@@ -315,10 +310,6 @@
"actions": {
"settings": "Настройки"
},
- "labels": {
- "enabled": "Включено",
- "disabled": "Отключено"
- },
"tooltips": {
"autoLaunchAdmin": "Administrator mode may not support auto launch"
},
@@ -335,7 +326,6 @@
"load": "Не удалось получить информацию об IP"
},
"labels": {
- "retry": "Retry",
"ip": "IP",
"asn": "ASN",
"isp": "ISP",
@@ -614,11 +604,8 @@
"actions": {
"selectTarget": "Select backup target",
"backup": "Резервное копирование",
- "refresh": "Обновить",
- "save": "Сохранить",
"export": "Export",
"exportBackup": "Export Backup",
- "delete": "Удалить",
"deleteBackup": "Удалить резервную копию",
"restore": "Восстановить",
"restoreBackup": "Восстановить резервную копию"
@@ -1026,8 +1013,7 @@
"page": {
"title": "Тест",
"actions": {
- "testAll": "Тестировать все",
- "new": "Новый"
+ "testAll": "Тестировать все"
}
},
"statuses": {
@@ -1126,8 +1112,7 @@
"updateAll": "Обновить все профили",
"viewRuntimeConfig": "Просмотреть используемый конфиг",
"reactivate": "Перезапустить профиль",
- "import": "Импорт",
- "new": "Новый"
+ "import": "Импорт"
},
"batch": {
"title": "Пакетные операции",
diff --git a/src/locales/tr.json b/src/locales/tr.json
index 932da83a..bba55b7f 100644
--- a/src/locales/tr.json
+++ b/src/locales/tr.json
@@ -154,10 +154,6 @@
"create": "Profil Oluştur",
"edit": "Profili Düzenle"
},
- "buttons": {
- "save": "Kaydet",
- "cancel": "İptal"
- },
"fields": {
"type": "Tip",
"name": "İsim",
@@ -239,8 +235,7 @@
"extendScript": "Betik Genişletme",
"openFile": "Dosyayı Aç",
"update": "Güncelle",
- "updateViaProxy": "Update via proxy",
- "delete": "Sil"
+ "updateViaProxy": "Update via proxy"
},
"item": {
"tooltips": {
@@ -315,10 +310,6 @@
"actions": {
"settings": "Ayarlar"
},
- "labels": {
- "enabled": "Etkin",
- "disabled": "Devre Dışı"
- },
"tooltips": {
"autoLaunchAdmin": "Yönetici modu otomatik başlatmayı desteklemeyebilir"
},
@@ -335,7 +326,6 @@
"load": "IP bilgisi alınamadı"
},
"labels": {
- "retry": "Retry",
"ip": "IP",
"asn": "ASN",
"isp": "ISP",
@@ -614,11 +604,8 @@
"actions": {
"selectTarget": "Select backup target",
"backup": "Yedekle",
- "refresh": "Yenile",
- "save": "Kaydet",
"export": "Export",
"exportBackup": "Export Backup",
- "delete": "Sil",
"deleteBackup": "Yedeği Sil",
"restore": "Geri Yükle",
"restoreBackup": "Yedeği Geri Yükle"
@@ -1026,8 +1013,7 @@
"page": {
"title": "Test",
"actions": {
- "testAll": "Tümünü Test Et",
- "new": "Yeni"
+ "testAll": "Tümünü Test Et"
}
},
"statuses": {
@@ -1126,8 +1112,7 @@
"updateAll": "Tüm Profilleri Güncelle",
"viewRuntimeConfig": "Çalışma Zamanı Yapılandırmasını Görüntüle",
"reactivate": "Profilleri Yeniden Etkinleştir",
- "import": "İçe Aktar",
- "new": "Yeni"
+ "import": "İçe Aktar"
},
"batch": {
"title": "Toplu İşlemler",
diff --git a/src/locales/tt.json b/src/locales/tt.json
index b1215f1e..8f09281c 100644
--- a/src/locales/tt.json
+++ b/src/locales/tt.json
@@ -154,10 +154,6 @@
"create": "Профиль булдыру",
"edit": "Профильне үзгәртү"
},
- "buttons": {
- "save": "Саклау",
- "cancel": "Баш тарту"
- },
"fields": {
"type": "Төр",
"name": "Исем",
@@ -239,8 +235,7 @@
"extendScript": "Script-ны үзгәртергә",
"openFile": "Файлны ачу",
"update": "Яңарту",
- "updateViaProxy": "Update via proxy",
- "delete": "Бетерү"
+ "updateViaProxy": "Update via proxy"
},
"item": {
"tooltips": {
@@ -315,10 +310,6 @@
"actions": {
"settings": "Көйләүләр"
},
- "labels": {
- "enabled": "Кушылган",
- "disabled": "Сүнгән"
- },
"tooltips": {
"autoLaunchAdmin": "Administrator mode may not support auto launch"
},
@@ -335,7 +326,6 @@
"load": "Failed to get IP info"
},
"labels": {
- "retry": "Retry",
"ip": "IP",
"asn": "ASN",
"isp": "ISP",
@@ -614,11 +604,8 @@
"actions": {
"selectTarget": "Select backup target",
"backup": "Резерв копия",
- "refresh": "Яңарту",
- "save": "Саклау",
"export": "Export",
"exportBackup": "Export Backup",
- "delete": "Бетерү",
"deleteBackup": "Резерв копияне бетерү",
"restore": "Кайтару",
"restoreBackup": "Резерв копияне кайтару"
@@ -1026,8 +1013,7 @@
"page": {
"title": "Тест",
"actions": {
- "testAll": "Барчасын тестлау",
- "new": "Яңа"
+ "testAll": "Барчасын тестлау"
}
},
"statuses": {
@@ -1126,8 +1112,7 @@
"updateAll": "Барлык профильләрне яңарту",
"viewRuntimeConfig": "Кулланылган конфигурацияне карау",
"reactivate": "Профильләрне янәдән активлаштыру",
- "import": "Импорт",
- "new": "Яңа"
+ "import": "Импорт"
},
"batch": {
"title": "Batch Operations",
diff --git a/src/locales/zh.json b/src/locales/zh.json
index cba18e7c..aea894a1 100644
--- a/src/locales/zh.json
+++ b/src/locales/zh.json
@@ -154,10 +154,6 @@
"create": "新建配置",
"edit": "编辑配置"
},
- "buttons": {
- "save": "保存",
- "cancel": "取消"
- },
"fields": {
"type": "类型",
"name": "名称",
@@ -239,8 +235,7 @@
"extendScript": "扩展脚本",
"openFile": "打开文件",
"update": "更新",
- "updateViaProxy": "更新(代理)",
- "delete": "删除"
+ "updateViaProxy": "更新(代理)"
},
"item": {
"tooltips": {
@@ -315,10 +310,6 @@
"actions": {
"settings": "设置"
},
- "labels": {
- "enabled": "已启用",
- "disabled": "未启用"
- },
"tooltips": {
"autoLaunchAdmin": "管理员模式可能不支持开机自启"
},
@@ -335,7 +326,6 @@
"load": "获取 IP 信息失败"
},
"labels": {
- "retry": "重试",
"ip": "IP",
"asn": "自治域",
"isp": "服务商",
@@ -614,11 +604,8 @@
"actions": {
"selectTarget": "选择备份目标",
"backup": "备份",
- "refresh": "刷新",
- "save": "保存",
"export": "导出",
"exportBackup": "导出备份",
- "delete": "删除",
"deleteBackup": "删除备份",
"restore": "恢复",
"restoreBackup": "恢复备份"
@@ -1026,8 +1013,7 @@
"page": {
"title": "测试",
"actions": {
- "testAll": "测试全部",
- "new": "新建"
+ "testAll": "测试全部"
}
},
"statuses": {
@@ -1126,8 +1112,7 @@
"updateAll": "更新所有订阅",
"viewRuntimeConfig": "查看运行时订阅",
"reactivate": "重新激活订阅",
- "import": "导入",
- "new": "新建"
+ "import": "导入"
},
"batch": {
"title": "批量操作",
diff --git a/src/locales/zhtw.json b/src/locales/zhtw.json
index 1cf4a94a..7aad7d94 100644
--- a/src/locales/zhtw.json
+++ b/src/locales/zhtw.json
@@ -154,10 +154,6 @@
"create": "新增設定檔",
"edit": "編輯設定檔"
},
- "buttons": {
- "save": "儲存",
- "cancel": "取消"
- },
"fields": {
"type": "類型",
"name": "名稱",
@@ -239,8 +235,7 @@
"extendScript": "擴充指令碼",
"openFile": "開啟檔案",
"update": "更新",
- "updateViaProxy": "更新(代理)",
- "delete": "刪除"
+ "updateViaProxy": "更新(代理)"
},
"item": {
"tooltips": {
@@ -315,10 +310,6 @@
"actions": {
"settings": "設定"
},
- "labels": {
- "enabled": "已啟用",
- "disabled": "已停用"
- },
"tooltips": {
"autoLaunchAdmin": "管理員模式可能不支援開機自啟"
},
@@ -335,7 +326,6 @@
"load": "取得IP資訊失敗"
},
"labels": {
- "retry": "Retry",
"ip": "IP",
"asn": "自治系統",
"isp": "網際網路服務供應商",
@@ -614,11 +604,8 @@
"actions": {
"selectTarget": "選擇備份目標",
"backup": "備份",
- "refresh": "重整",
- "save": "儲存",
"export": "匯出",
"exportBackup": "匯出備份",
- "delete": "刪除",
"deleteBackup": "刪除備份",
"restore": "還原",
"restoreBackup": "還原備份"
@@ -1026,8 +1013,7 @@
"page": {
"title": "測試",
"actions": {
- "testAll": "測試全部",
- "new": "新增"
+ "testAll": "測試全部"
}
},
"statuses": {
@@ -1126,8 +1112,7 @@
"updateAll": "更新所有訂閱",
"viewRuntimeConfig": "查看執行時訂閱",
"reactivate": "重新啟用訂閱",
- "import": "匯入",
- "new": "新增"
+ "import": "匯入"
},
"batch": {
"title": "批次操作",
diff --git a/src/pages/profiles.tsx b/src/pages/profiles.tsx
index 0a7e266d..a0e2d0a5 100644
--- a/src/pages/profiles.tsx
+++ b/src/pages/profiles.tsx
@@ -972,7 +972,7 @@ const ProfilePage = () => {
sx={{ borderRadius: "6px" }}
onClick={() => viewerRef.current?.create()}
>
- {t("profiles.page.actions.new")}
+ {t("common.actions.new")}
diff --git a/src/pages/test.tsx b/src/pages/test.tsx
index 514589b0..c419df58 100644
--- a/src/pages/test.tsx
+++ b/src/pages/test.tsx
@@ -156,7 +156,7 @@ const TestPage = () => {
size="small"
onClick={() => viewerRef.current?.create()}
>
- {t("test.page.actions.new")}
+ {t("common.actions.new")}
}