refactor(i18n): split locales into per-namespace files

This commit is contained in:
Slinetrac
2025-11-06 10:56:23 +08:00
Unverified
parent fa49925cd7
commit 4097181db5
174 changed files with 17556 additions and 16927 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,28 @@
{
"page": {
"title": "الاتصالات"
},
"components": {
"fields": {
"host": "المضيف",
"dlSpeed": "سرعة التنزيل",
"ulSpeed": "سرعة الرفع",
"chains": "السلاسل",
"rule": "قاعدة",
"process": "عملية",
"time": "الوقت",
"source": "المصدر",
"destination": "عنوان IP الوجهة",
"destinationPort": "ميناء الوجهة",
"type": "النوع"
},
"order": {
"default": "Default",
"uploadSpeed": "سرعة الرفع",
"downloadSpeed": "سرعة التنزيل"
},
"actions": {
"closeConnection": "إغلاق الاتصال"
}
}
}

138
src/locales/ar/home.json Normal file
View File

@@ -0,0 +1,138 @@
{
"page": {
"tooltips": {
"lightweightMode": "وضع الأداء الخفيف",
"manual": "دليل",
"settings": "Home Settings"
},
"cards": {
"trafficStats": "Traffic Stats",
"networkSettings": "Network Settings",
"proxyMode": "Proxy Mode"
},
"settings": {
"cards": {
"profile": "Profile Card",
"currentProxy": "Current Proxy Card",
"network": "Network Settings Card",
"proxyMode": "Proxy Mode Card",
"traffic": "Traffic Stats Card",
"tests": "Website Tests Card",
"ip": "IP Information Card",
"clashInfo": "Clash Info Cards",
"systemInfo": "System Info Cards"
},
"title": "Home Settings"
},
"title": "Home"
},
"components": {
"proxyTun": {
"status": {
"systemProxyEnabled": "System proxy is enabled, your applications will access the network through the proxy",
"systemProxyDisabled": "System proxy is disabled, it is recommended for most users to turn on this option",
"tunModeServiceRequired": "TUN mode requires service mode, please install the service first",
"tunModeEnabled": "TUN mode is enabled, applications will access the network through the virtual network card",
"tunModeDisabled": "TUN mode is disabled, suitable for special applications"
},
"tooltips": {
"systemProxy": "عند التمكين، سيتم تعديل إعدادات الوكيل في نظام التشغيل. إذا فشل التمكين، فقم بتعديل إعدادات الوكيل في النظام يدويًا.",
"tunMode": "TUN mode can take over all application traffic, suitable for special applications that do not follow the system proxy settings"
}
},
"clashInfo": {
"title": "Clash Info",
"fields": {
"coreVersion": "Core Version",
"systemProxyAddress": "System Proxy Address",
"mixedPort": "Mixed Port",
"uptime": "Uptime",
"rulesCount": "Rules Count"
}
},
"systemInfo": {
"title": "System Info",
"fields": {
"osInfo": "OS Info",
"autoLaunch": "إطلاق تلقائي",
"runningMode": "Running Mode",
"lastCheckUpdate": "Last Check Update",
"vergeVersion": "إصدار Verge"
},
"actions": {
"settings": "الإعدادات"
},
"tooltips": {
"autoLaunchAdmin": "Administrator mode may not support auto launch"
},
"badges": {
"adminMode": "Administrator Mode",
"serviceMode": "وضع الخدمة",
"sidecarMode": "User Mode",
"adminServiceMode": "Admin + Service Mode"
}
},
"ipInfo": {
"title": "IP Information",
"labels": {
"ip": "IP",
"asn": "ASN",
"isp": "ISP",
"org": "ORG",
"location": "Location",
"timezone": "Timezone",
"autoRefresh": "Auto refresh",
"unknown": "Unknown"
},
"errors": {
"load": "فشل الحصول على معلومات الـ IP"
}
},
"currentProxy": {
"title": "Current Node",
"actions": {
"refreshDelay": "فحص التأخير"
},
"labels": {
"globalMode": "الوضع العالمي",
"directMode": "الوضع المباشر",
"group": "Group",
"proxy": "Proxy",
"noActiveNode": "No active proxy node"
}
},
"tests": {
"title": "Website Tests"
},
"traffic": {
"metrics": {
"uploadSpeed": "سرعة الرفع",
"downloadSpeed": "سرعة التنزيل",
"activeConnections": "Active Connections",
"memoryUsage": "استهلاك الذاكرة"
},
"legends": {
"upload": "Upload",
"download": "Download"
},
"patterns": {
"minutes": "{{time}} Minutes"
}
},
"clashMode": {
"errors": {
"communication": "Core communication error"
},
"labels": {
"rule": "وضع القواعد",
"global": "الوضع العالمي",
"direct": "الوضع المباشر"
},
"descriptions": {
"rule": "Automatically choose proxies according to the rule set.",
"global": "Forward all network requests through the selected proxy.",
"direct": "Bypass the proxy and connect to the internet directly."
}
}
}
}

27
src/locales/ar/index.ts Normal file
View File

@@ -0,0 +1,27 @@
import shared from "./shared.json";
import profiles from "./profiles.json";
import proxies from "./proxies.json";
import connections from "./connections.json";
import tests from "./tests.json";
import logs from "./logs.json";
import rules from "./rules.json";
import home from "./home.json";
import unlock from "./unlock.json";
import settings from "./settings.json";
import layout from "./layout.json";
const resources = {
"shared": shared,
"profiles": profiles,
"proxies": proxies,
"connections": connections,
"tests": tests,
"logs": logs,
"rules": rules,
"home": home,
"unlock": unlock,
"settings": settings,
"layout": layout,
};
export default resources;

View File

@@ -0,0 +1,21 @@
{
"components": {
"navigation": {
"tabs": {
"home": "Home",
"proxies": "الوكلاء",
"profiles": "الملفات الشخصية",
"connections": "الاتصالات",
"rules": "القواعد",
"logs": "السجلات",
"unlock": "Test",
"settings": "الإعدادات"
},
"menu": {
"reorderMode": "Menu reorder mode",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
}
}
}
}

5
src/locales/ar/logs.json Normal file
View File

@@ -0,0 +1,5 @@
{
"page": {
"title": "السجلات"
}
}

View File

@@ -0,0 +1,182 @@
{
"page": {
"actions": {
"updateAll": "تحديث جميع الملفات الشخصية",
"viewRuntimeConfig": "عرض تكوين وقت التشغيل",
"reactivate": "إعادة تنشيط الملفات الشخصية",
"import": "استيراد"
},
"batch": {
"actions": {
"delete": "Delete Selected Profiles",
"selectAll": "Select All",
"deselectAll": "Deselect All",
"done": "Done"
},
"summary": {
"selected": "Selected",
"items": "items"
},
"title": "Batch Operations"
},
"importForm": {
"placeholder": "رابط الملف الشخصي",
"actions": {
"paste": "لصق"
}
},
"feedback": {
"errors": {
"invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://",
"onlyYaml": "لا يتم دعم سوى ملفات YAML"
},
"notifications": {
"importRetry": "Import failed, retrying with Clash proxy...",
"importFail": "Import failed even with Clash proxy",
"importNeedsRefresh": "Profile imported but may need manual refresh",
"importSuccess": "Profile imported successfully, please restart if not visible",
"profileSwitched": "تم التبديل إلى الملف الشخصي",
"profileReactivated": "تم إعادة تنشيط الملف الشخصي",
"switchInterrupted": "Profile switch interrupted by new selection",
"batchDeleted": "Selected profiles deleted successfully"
},
"notices": {
"forceRefreshCompleted": "Force refresh completed",
"emergencyRefreshFailed": "Emergency refresh failed: {{message}}"
}
},
"title": "الملفات الشخصية"
},
"components": {
"card": {
"labels": {
"clickToImport": "Click to import subscription"
}
},
"fileInput": {
"chooseFile": "اختر ملف"
},
"menu": {
"home": "Home",
"select": "اختيار",
"editInfo": "تعديل المعلومات",
"editFile": "تعديل الملف",
"editRules": "تعديل القواعد",
"editProxies": "تعديل الوكلاء",
"editGroups": "تعديل مجموعات الوكلاء",
"extendConfig": "توسيع الإعدادات",
"extendScript": "توسيع السكربت",
"openFile": "فتح الملف",
"update": "تحديث",
"updateViaProxy": "Update via proxy"
},
"more": {
"global": {
"merge": "Global Merge",
"script": "Global Script"
},
"chips": {
"merge": "Merge",
"script": "Script"
}
},
"profileItem": {
"tooltips": {
"showLast": "Click to show last update time",
"showNext": "Click to show next update"
},
"status": {
"lastUpdateFailed": "Last Update failed",
"nextUp": "Next Up",
"noSchedule": "No schedule",
"unknown": "Unknown",
"autoUpdateDisabled": "Auto update disabled"
}
}
},
"modals": {
"profileForm": {
"title": {
"create": "إنشاء ملف شخصي",
"edit": "تعديل الملف الشخصي"
},
"fields": {
"type": "النوع",
"description": "الوصف",
"subscriptionUrl": "رابط الاشتراك",
"httpTimeout": "HTTP Request Timeout",
"updateInterval": "فاصل التحديث",
"useSystemProxy": "استخدام وكيل النظام",
"useClashProxy": "استخدام وكيل Clash",
"acceptInvalidCerts": "قبول الشهادات غير الصالحة (خطر)",
"allowAutoUpdate": "Allow Auto Update"
},
"feedback": {
"notifications": {
"creationRetry": "Profile creation failed, retrying with Clash proxy...",
"creationSuccess": "Profile creation succeeded with Clash proxy"
}
}
},
"proxiesEditor": {
"title": "تعديل الوكلاء",
"placeholders": {
"multiUri": "استخدم أسطرًا جديدة لعدّة عناوين URI (يدعم التشفير Base64)"
},
"actions": {
"prepend": "إضافة وكيل في البداية",
"append": "إضافة وكيل في النهاية"
}
},
"groupsEditor": {
"title": "تعديل مجموعات الوكلاء",
"errors": {
"nameRequired": "اسم المجموعة مطلوب",
"nameExists": "اسم المجموعة موجود بالفعل"
},
"fields": {
"type": "نوع المجموعة",
"name": "اسم المجموعة",
"icon": "أيقونة مجموعة الوكلاء",
"proxies": "استخدام الوكلاء",
"provider": "استخدام المزود",
"healthCheckUrl": "رابط فحص الصحة",
"expectedStatus": "الحالة المتوقعة",
"interval": "الفاصل الزمني",
"maxFailedTimes": "الحد الأقصى لمحاولات الفشل",
"interfaceName": "اسم الواجهة",
"routingMark": "علامة التوجيه",
"filter": "تصفية",
"excludeFilter": "استبعاد المرشح",
"excludeType": "استبعاد النوع",
"includeAll": "تضمين جميع الوكلاء والمزودين",
"includeAllProxies": "تضمين جميع الوكلاء",
"includeAllProviders": "تضمين جميع المزودين"
},
"toggles": {
"lazy": "كسول",
"disableUdp": "تعطيل UDP",
"hidden": "مخفي"
},
"actions": {
"prepend": "إضافة مجموعة في البداية",
"append": "إضافة مجموعة في النهاية"
}
},
"editor": {
"actions": {
"format": "تنسيق المستند"
},
"messages": {
"readOnly": "لا يمكن التعديل في محرر القراءة فقط"
}
},
"confirmDelete": {
"title": "تأكيد الحذف",
"message": "لا يمكن التراجع عن هذه العملية"
},
"logViewer": {
"title": "وحدة التحكم للسكريبت"
}
}
}

View File

@@ -0,0 +1,90 @@
{
"page": {
"modes": {
"rule": "Rule",
"global": "Global",
"direct": "Direct"
},
"actions": {
"toggleChain": "🔗 بروكسي السلسلة",
"connect": "Connect",
"disconnect": "Disconnect",
"connecting": "Connecting...",
"clearChainConfig": "Delete Chain Config"
},
"provider": {
"title": "مزود الوكيل",
"actions": {
"updateAll": "تحديث الكل",
"update": "تحديث"
}
},
"rules": {
"title": "Proxy Rules",
"select": "Select Rules"
},
"labels": {
"proxyCount": "Proxy Count",
"delayCheckReset": "فحص التأخير لإلغاء الثابت"
},
"tooltips": {
"locate": "الموقع",
"delayCheck": "فحص التأخير",
"sortDefault": "الترتيب الافتراضي",
"sortDelay": "الترتيب حسب التأخير",
"sortName": "الترتيب حسب الاسم",
"delayCheckUrl": "رابط فحص التأخير",
"showBasic": "إعدادات الوكيل الأساسية",
"showDetail": "تفاصيل الوكيل",
"filter": "تصفية"
},
"placeholders": {
"delayCheckUrl": "رابط فحص التأخير"
},
"chain": {
"header": "Chain Proxy Config",
"empty": "No proxy chain configured",
"instruction": "Click nodes in order to add to proxy chain",
"minimumNodes": "Chain proxy requires at least 2 nodes",
"minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.",
"connectFailed": "Failed to connect to proxy chain",
"disconnectFailed": "Failed to disconnect from proxy chain",
"duplicateNode": "Proxy node already exists in chain"
},
"messages": {
"directMode": "الوضع المباشر"
},
"title": {
"default": "مجموعات الوكلاء",
"chainMode": "Proxy Chain Mode"
}
},
"feedback": {
"notifications": {
"provider": {
"updateSuccess": "{{name}} updated successfully",
"updateFailed": "Failed to update {{name}}: {{message}}",
"genericError": "Update failed: {{message}}",
"none": "No providers available to update",
"allUpdated": "All providers updated successfully"
}
}
},
"components": {
"enums": {
"strategies": {
"select": "اختيار الوكيل يدويًا",
"url-test": "اختيار الوكيل بناءً على تأخير اختبار الرابط",
"fallback": "التبديل إلى وكيل آخر عند حدوث خطأ",
"load-balance": "توزيع التحميل بين الوكلاء",
"relay": "التمرير عبر سلسلة الوكلاء المحددة"
},
"policies": {
"DIRECT": "البيانات تخرج مباشرة",
"REJECT": "رفض الطلبات",
"REJECT-DROP": "تجاهل الطلبات",
"PASS": "تخطي هذه القاعدة عند المطابقة"
}
}
}
}

82
src/locales/ar/rules.json Normal file
View File

@@ -0,0 +1,82 @@
{
"page": {
"provider": {
"trigger": "مزود القواعد",
"dialogTitle": "مزود القواعد",
"actions": {
"updateAll": "تحديث الكل",
"update": "تحديث"
}
},
"title": "القواعد"
},
"feedback": {
"notifications": {
"provider": {
"updateSuccess": "{{name}} updated successfully",
"updateFailed": "Failed to update {{name}}: {{message}}",
"genericError": "Update failed: {{message}}",
"none": "No providers available to update",
"allUpdated": "All providers updated successfully"
}
}
},
"modals": {
"editor": {
"form": {
"labels": {
"type": "نوع القاعدة",
"content": "محتوى القاعدة",
"proxyPolicy": "سياسة الوكيل"
},
"toggles": {
"noResolve": "لا يوجد حل"
},
"actions": {
"prependRule": "إضافة قاعدة في البداية",
"appendRule": "إضافة قاعدة في النهاية"
},
"validation": {
"conditionRequired": "شرط القاعدة مطلوب",
"invalidRule": "قاعدة غير صالحة"
}
},
"ruleTypes": {
"DOMAIN": "مطابقة اسم المجال الكامل",
"DOMAIN-SUFFIX": "مطابقة لاحقة المجال",
"DOMAIN-KEYWORD": "مطابقة كلمة مفتاحية في المجال",
"DOMAIN-REGEX": "مطابقة المجال باستخدام التعبيرات العادية",
"GEOSITE": "مطابقة المجالات ضمن Geosite",
"GEOIP": "مطابقة رمز البلد لعنوان IP",
"SRC-GEOIP": "مطابقة رمز البلد لعنوان IP المصدر",
"IP-ASN": "مطابقة ASN لعنوان IP",
"SRC-IP-ASN": "مطابقة ASN لعنوان IP المصدر",
"IP-CIDR": "مطابقة نطاق عنوان IP",
"IP-CIDR6": "مطابقة نطاق عناوين IPv6",
"SRC-IP-CIDR": "مطابقة نطاق عنوان IP المصدر",
"IP-SUFFIX": "مطابقة لاحقة عنوان IP",
"SRC-IP-SUFFIX": "مطابقة لاحقة عنوان IP المصدر",
"SRC-PORT": "مطابقة نطاق المنفذ المصدر",
"DST-PORT": "مطابقة نطاق المنفذ الوجهة",
"IN-PORT": "مطابقة المنفذ الوارد",
"DSCP": "علامة DSCP (لـ tproxy على UDP فقط)",
"PROCESS-NAME": "مطابقة اسم العملية (اسم حزمة Android)",
"PROCESS-PATH": "مطابقة المسار الكامل للعملية",
"PROCESS-NAME-REGEX": "مطابقة اسم العملية باستخدام التعبيرات العادية (اسم حزمة Android)",
"PROCESS-PATH-REGEX": "مطابقة المسار الكامل للعملية باستخدام التعبيرات العادية",
"NETWORK": "مطابقة بروتوكول النقل (TCP/UDP)",
"UID": "مطابقة معرف المستخدم في Linux",
"IN-TYPE": "مطابقة نوع الإدخال",
"IN-USER": "مطابقة اسم المستخدم للإدخال",
"IN-NAME": "مطابقة اسم الإدخال",
"SUB-RULE": "قاعدة فرعية",
"RULE-SET": "مطابقة مجموعة القواعد",
"AND": "منطقي AND",
"OR": "منطقي OR",
"NOT": "منطقي NOT",
"MATCH": "مطابقة جميع الطلبات"
},
"title": "تعديل القواعد"
}
}
}

View File

@@ -0,0 +1,571 @@
{
"page": {
"actions": {
"manual": "دليل",
"telegram": "قناة تيليجرام",
"github": "مستودع Github"
},
"title": "الإعدادات"
},
"sections": {
"system": {
"title": "إعدادات النظام",
"toggles": {
"tunMode": "وضع TUN",
"systemProxy": "وكيل النظام"
},
"tooltips": {
"autoLaunchAdmin": "Administrator mode may not support auto launch",
"silentStart": "بدء البرنامج في الخلفية دون عرض الواجهة"
},
"fields": {
"autoLaunch": "تشغيل تلقائي",
"silentStart": "تشغيل صامت"
},
"notifications": {
"tunMode": {
"autoDisabled": "TUN Mode automatically disabled due to service unavailable",
"autoDisableFailed": "Failed to disable TUN Mode automatically"
}
}
},
"proxyControl": {
"tooltips": {
"systemProxy": "عند التمكين، سيتم تعديل إعدادات الوكيل في نظام التشغيل. إذا فشل التمكين، فقم بتعديل إعدادات الوكيل في النظام يدويًا.",
"tunMode": "وضع TUN (بطاقة شبكة افتراضية): يلتقط كل حركة المرور في النظام. عند تمكينه، لا حاجة لتفعيل وكيل النظام.",
"tunUnavailable": "TUN requires Service Mode or Admin Mode"
},
"actions": {
"installService": "تثبيت الخدمة ",
"uninstallService": "Uninstall Service"
},
"fields": {
"systemProxy": "وكيل النظام",
"tunMode": "وضع TUN"
}
},
"externalController": {
"title": "وحدة التحكم الخارجية",
"fields": {
"enable": "Enable External Controller",
"address": "وحدة التحكم الخارجية",
"secret": "المفتاح السري للنواة"
},
"placeholders": {
"address": "Required",
"secret": "موصى به"
},
"tooltips": {
"copy": "Copy to clipboard"
},
"messages": {
"addressRequired": "Controller address cannot be empty",
"secretRequired": "Secret cannot be empty",
"copyFailed": "Failed to copy",
"controllerCopied": "Controller address copied to clipboard",
"secretCopied": "Secret copied to clipboard"
}
},
"externalCors": {
"title": "External Cors Configuration",
"fields": {
"allowPrivateNetwork": "Allow private network access",
"allowedOrigins": "Allowed Origins"
},
"placeholders": {
"origin": "Please enter a valid url"
},
"actions": {
"add": "Add"
},
"messages": {
"alwaysIncluded": "Always included origins: {{urls}}"
},
"tooltips": {
"open": "External Cors Settings"
}
},
"appearance": {
"light": "Light",
"dark": "Dark",
"system": "System"
},
"clash": {
"title": "إعدادات Clash",
"form": {
"fields": {
"allowLan": "السماح بالشبكة المحلية",
"dnsOverwrite": "DNS Overwrite",
"ipv6": "IPv6",
"unifiedDelay": "تأخير موحد",
"logLevel": "مستوى السجلات",
"portConfig": "تكوين المنافذ",
"external": "خارجي",
"webUI": "واجهة الويب",
"clashCore": "نواة Clash",
"openUwpTool": "فتح أداة UWP",
"updateGeoData": "تحديث البيانات الجغرافية"
},
"tooltips": {
"networkInterface": "واجهة الشبكة",
"unifiedDelay": "عند تفعيل التأخير الموحد، سيتم إجراء اختبارين للتأخير لتقليل الفروقات الناتجة عن مفاوضات الاتصال",
"logLevel": "This parameter is valid only for kernel log files in the log directory Service folder",
"openUwpTool": "منذ نظام ويندوز 8، يتم تقييد تطبيقات UWP من الوصول المباشر إلى المضيف المحلي. هذه الأداة تتيح تجاوز هذا التقييد"
},
"options": {
"logLevel": {
"debug": "Debug",
"info": "Info",
"warning": "Warn",
"error": "Error",
"silent": "Silent"
}
}
}
}
},
"components": {
"verge": {
"basic": {
"title": "الإعدادات الأساسية Verge",
"actions": {
"browse": "استعراض"
},
"trayOptions": {
"showMainWindow": "إظهار النافذة الرئيسية",
"showTrayMenu": "Show Tray Menu",
"disable": "تعطيل"
},
"fields": {
"language": "اللغة",
"themeMode": "وضع السمة",
"trayClickEvent": "حدث النقر على الأيقونة في شريط المهام",
"copyEnvType": "نسخ نوع البيئة",
"startPage": "صفحة البدء",
"startupScript": "سكريبت بدء التشغيل",
"themeSetting": "إعدادات السمة",
"layoutSetting": "إعدادات التخطيط",
"misc": "متفرقات",
"hotkeySetting": "إعدادات الاختصارات"
}
},
"advanced": {
"title": "الإعدادات الأساسية Verge",
"tooltips": {
"backupInfo": "Support local or WebDAV backup of configuration files",
"openConfDir": "إذا عمل البرنامج بشكل غير طبيعي، قم بالنسخ الاحتياطي ثم حذف جميع الملفات في هذا المجلد ثم أعد تشغيل البرنامج",
"liteMode": "إيقاف الواجهة الرسومية والإبقاء على تشغيل النواة"
},
"actions": {
"copyVersion": "Copy Version"
},
"notifications": {
"latestVersion": "أنت على أحدث إصدار حاليًا",
"versionCopied": "Version copied to clipboard"
},
"fields": {
"backupSetting": "إعداد النسخ الاحتياطي",
"runtimeConfig": "تكوين وقت التشغيل",
"openConfDir": "فتح مجلد التكوين",
"openCoreDir": "فتح مجلد النواة",
"openLogsDir": "فتح مجلد السجلات",
"checkUpdates": "التحقق من وجود تحديثات",
"openDevTools": "أدوات المطور",
"liteModeSettings": "LightWeight Mode Settings",
"exit": "خروج",
"exportDiagnostics": "Export Diagnostic Info",
"vergeVersion": "إصدار Verge"
}
},
"theme": {
"title": "إعدادات السمة",
"fields": {
"primaryColor": "اللون الأساسي",
"secondaryColor": "اللون الثانوي",
"primaryText": "النص الأساسي",
"secondaryText": "النص الثانوي",
"infoColor": "لون المعلومات",
"warningColor": "لون التحذير",
"errorColor": "لون الخطأ",
"successColor": "لون النجاح",
"fontFamily": "عائلة الخط",
"cssInjection": "حقن CSS"
},
"actions": {
"editCss": "Edit CSS"
},
"dialogs": {
"editCssTitle": "Edit CSS"
}
},
"layout": {
"title": "إعدادات التخطيط",
"fields": {
"preferSystemTitlebar": "Prefer System Titlebar",
"trafficGraph": "مخطط حركة المرور",
"memoryUsage": "استهلاك الذاكرة",
"proxyGroupIcon": "أيقونة مجموعة الوكلاء",
"hoverNavigator": "Hover Jump Navigator",
"hoverNavigatorDelay": "Hover Jump Navigator Delay",
"navIcon": "أيقونة التنقل",
"trayIcon": "أيقونة شريط المهام",
"showProxyGroupsInline": "Show Proxy Groups Inline",
"commonTrayIcon": "أيقونة شريط مهام عامة",
"systemProxyTrayIcon": "أيقونة شريط المهام لوكيل النظام",
"tunTrayIcon": "أيقونة شريط المهام لـ TUN",
"enableTrayIcon": "Enable Tray Icon",
"enableTraySpeed": "تفعيل سرعة التراي"
},
"tooltips": {
"hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters",
"hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds"
},
"options": {
"icon": {
"monochrome": "أحادي اللون",
"colorful": "ملون",
"disable": "تعطيل"
}
}
}
}
},
"modals": {
"clashPort": {
"title": "تكوين المنافذ",
"fields": {
"mixed": "منفذ مختلط",
"socks": "منفذ SOCKS",
"http": "منفذ HTTP(S)",
"redir": "منفذ إعادة التوجيه",
"tproxy": "منفذ Tproxy"
},
"actions": {
"random": "منفذ عشوائي"
},
"messages": {
"saved": "Port settings saved",
"saveFailed": "Failed to save port settings"
}
},
"clashCore": {
"variants": {
"release": "الإصدار المستقر",
"alpha": "الإصدار التجريبي"
}
},
"liteMode": {
"title": "LightWeight Mode Settings",
"actions": {
"enterNow": "Enter LightWeight Mode Now"
},
"toggles": {
"autoEnter": "Auto Enter LightWeight Mode"
},
"tooltips": {
"autoEnter": "Enable to automatically activate LightWeight Mode after the window is closed for a period of time"
},
"fields": {
"delay": "Auto Enter LightWeight Mode Delay"
},
"messages": {
"autoEnterHint": "When closing the window, LightWeight Mode will be automatically activated after {{n}} minutes"
}
},
"backup": {
"title": "إعداد النسخ الاحتياطي",
"tabs": {
"local": "Local backup",
"webdav": "WebDAV backup"
},
"actions": {
"selectTarget": "Select backup target",
"backup": "نسخ احتياطي",
"export": "Export",
"exportBackup": "Export Backup",
"deleteBackup": "حذف النسخة الاحتياطية",
"restore": "استعادة",
"restoreBackup": "استعادة النسخة الاحتياطية"
},
"fields": {
"webdavUrl": "عنوان خادم WebDAV",
"username": "اسم المستخدم",
"info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups."
},
"messages": {
"webdavUrlRequired": "لا يمكن ترك رابط WebDAV فارغًا",
"invalidWebdavUrl": "تنسيق رابط WebDAV غير صالح",
"usernameRequired": "لا يمكن ترك اسم المستخدم فارغًا",
"passwordRequired": "لا يمكن ترك كلمة المرور فارغة",
"webdavConfigSaved": "تم حفظ إعدادات WebDAV بنجاح",
"webdavConfigSaveFailed": "فشل حفظ إعدادات WebDAV: {{error}}",
"backupCreated": "تم إنشاء النسخة الاحتياطية بنجاح",
"backupFailed": "فشل في النسخ الاحتياطي: {{error}}",
"localBackupCreated": "Local backup created successfully",
"localBackupFailed": "Local backup failed",
"restoreSuccess": "تمت الاستعادة بنجاح، سيعاد تشغيل التطبيق خلال ثانية واحدة",
"localBackupExported": "Local backup exported successfully",
"localBackupExportFailed": "Failed to export local backup",
"confirmDelete": "هل تريد بالتأكيد حذف ملف النسخة الاحتياطية هذا؟",
"confirmRestore": "هل تريد بالتأكيد استعادة ملف النسخة الاحتياطية هذا؟"
},
"table": {
"filename": "اسم الملف",
"backupTime": "وقت النسخ الاحتياطي",
"actions": "الإجراءات",
"noBackups": "لا توجد نسخ احتياطية متاحة",
"rowsPerPage": "Rows per page"
}
},
"misc": {
"title": "متفرقات",
"fields": {
"appLogLevel": "مستوى سجلات التطبيق",
"appLogMaxSize": "App Log Max Size",
"appLogMaxCount": "App Log Max Count",
"autoCloseConnections": "إغلاق الاتصالات تلقائيًا",
"autoCheckUpdate": "فحص التحديث تلقائيًا",
"enableBuiltinEnhanced": "تفعيل التحسين المدمج",
"proxyLayoutColumns": "أعمدة عرض الوكيل",
"autoLogClean": "تنظيف السجلات تلقائيًا",
"autoDelayDetection": "اكتشاف التأخير التلقائي",
"defaultLatencyTest": "اختبار التأخير الافتراضي",
"defaultLatencyTimeout": "مهلة التأخير الافتراضية"
},
"tooltips": {
"autoCloseConnections": "إنهاء الاتصالات القائمة عند تغيير اختيار مجموعة الوكيل أو وضع الوكيل",
"enableBuiltinEnhanced": "معالجة توافق ملف التكوين",
"autoDelayDetection": "يختبر زمن استجابة العقدة الحالية على نحو دوري في الخلفية",
"defaultLatencyTest": "يُستخدم فقط لاختبار طلب HTTP العميل. لن يؤثر على ملف التكوين"
},
"options": {
"proxyLayoutColumns": {
"auto": "أعمدة تلقائية"
},
"autoLogClean": {
"never": "عدم التنظيف أبدًا",
"retainDays": "الاحتفاظ لمدة {{n}} يومًا"
}
}
},
"update": {
"title": "New Version v{{version}}",
"actions": {
"goToRelease": "الانتقال إلى صفحة الإصدارات",
"update": "تحديث"
},
"messages": {
"portableError": "الإصدار المحمول لا يدعم التحديث داخل التطبيق. يرجى التنزيل والاستبدال يدويًا",
"breakChangeError": "هذا الإصدار هو تحديث رئيسي ولا يدعم التحديث داخل التطبيق. يرجى إلغاء التثبيت وتنزيل الإصدار الجديد وتثبيته يدويًا"
}
},
"sysproxy": {
"title": "إعداد وكيل النظام",
"fieldsets": {
"currentStatus": "الوكيل الحالي للنظام"
},
"fields": {
"enableStatus": "حالة التمكين:",
"serverAddr": "عنوان الخادم:",
"pacUrl": "رابط PAC:",
"proxyHost": "مضيف الوكيل",
"usePacMode": "استخدام وضع PAC",
"proxyGuard": "حماية الوكيل",
"guardDuration": "مدة الحماية",
"alwaysUseDefaultBypass": "استخدام التخطي الافتراضي دائمًا",
"proxyBypass": "إعدادات تخطي الوكيل:",
"bypass": "تخطي:",
"pacScriptContent": "محتوى سكريبت PAC"
},
"tooltips": {
"proxyGuard": "عند التمكين، يمنع برامج أخرى من تعديل إعدادات وكيل النظام"
},
"messages": {
"durationTooShort": "لا يمكن أن تقل مدة خادم الوكيل عن ثانية واحدة",
"invalidBypass": "تنسيق التخطي غير صالح",
"invalidProxyHost": "تنسيق مضيف الوكيل غير صالح"
},
"actions": {
"editPac": "تعديل PAC"
}
},
"tun": {
"title": "وضع TUN",
"fields": {
"stack": "مكدس TUN",
"device": "Device Name",
"autoRoute": "توجيه تلقائي",
"strictRoute": "توجيه صارم",
"autoDetectInterface": "الكشف التلقائي عن الواجهة",
"dnsHijack": "اختطاف DNS",
"mtu": "وحدة الإرسال القصوى"
},
"tooltips": {
"dnsHijack": "Please use , to separate multiple DNS servers"
},
"messages": {
"applied": "تم تطبيق الإعدادات"
}
},
"dns": {
"dialog": {
"title": "DNS Overwrite",
"warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled"
},
"sections": {
"general": "DNS Settings",
"fallbackFilter": "Fallback Filter Settings",
"hosts": "Hosts Settings"
},
"fields": {
"enable": "Enable DNS",
"listen": "DNS Listen",
"enhancedMode": "Enhanced Mode",
"fakeIpRange": "Fake IP Range",
"fakeIpFilterMode": "Fake IP Filter Mode",
"ipv6": {
"label": "IPv6",
"description": "Enable IPv6 DNS resolution"
},
"preferH3": {
"label": "Prefer H3",
"description": "DNS DOH uses HTTP/3"
},
"respectRules": {
"label": "Respect Rules",
"description": "DNS connections follow routing rules"
},
"useHosts": {
"label": "Use Hosts",
"description": "Enable to resolve hosts through hosts file"
},
"useSystemHosts": {
"label": "Use System Hosts",
"description": "Enable to resolve hosts through system hosts file"
},
"directPolicy": {
"label": "Direct Nameserver Follow Policy",
"description": "Whether to follow nameserver policy"
},
"defaultNameserver": {
"label": "Default Nameserver",
"description": "Default DNS servers used to resolve DNS servers"
},
"nameserver": {
"label": "Nameserver",
"description": "List of DNS servers, comma separated"
},
"fallback": {
"label": "Fallback",
"description": "List of fallback DNS servers, comma separated"
},
"proxy": {
"label": "Proxy Server Nameserver",
"description": "DNS servers for proxy node domain resolution"
},
"directNameserver": {
"label": "Direct Nameserver",
"description": "DNS servers for direct exit domain resolution, supports 'system' keyword, comma separated"
},
"fakeIpFilter": {
"label": "Fake IP Filter",
"description": "Domains that skip fake IP resolution, comma separated"
},
"nameserverPolicy": {
"label": "Nameserver Policy",
"description": "Domain-specific DNS server, multiple servers separated by semicolons, format: domain=server1;server2"
},
"geoipFiltering": {
"label": "GeoIP Filtering",
"description": "Enable GeoIP filtering for fallback"
},
"geoipCode": "GeoIP Code",
"fallbackIpCidr": {
"label": "Fallback IP CIDR",
"description": "IP CIDRs not using fallback servers, comma separated"
},
"fallbackDomain": {
"label": "Fallback Domain",
"description": "Domains using fallback servers, comma separated"
},
"hosts": {
"label": "Hosts",
"description": "Custom domain to IP or domain mapping"
}
},
"messages": {
"saved": "DNS settings saved",
"configError": "DNS configuration error:"
},
"errors": {
"invalid": "Invalid configuration"
}
},
"webUI": {
"actions": {
"openUrl": "فتح الرابط"
},
"title": "واجهة الويب",
"messages": {
"supportedPlaceholders": "يدعم %host و%port و%secret",
"placeholderInstruction": "استبدل المضيف والمنفذ والمفتاح بـ %host و%port و%secret"
}
},
"hotkey": {
"toggles": {
"enableGlobal": "تمكين مفتاح التشغيل السريع العالمي"
},
"title": "إعدادات الاختصارات",
"functions": {
"rule": "وضع القواعد",
"global": "الوضع العالمي",
"openOrCloseDashboard": "فتح/إغلاق لوحة التحكم",
"toggleSystemProxy": "تفعيل/تعطيل وكيل النظام",
"toggleTunMode": "تفعيل/تعطيل وضع TUN",
"entryLightweightMode": "Entry Lightweight Mode",
"direct": "الوضع المباشر"
}
},
"password": {
"prompts": {
"enterRoot": "يرجى إدخال كلمة مرور الرووت"
}
},
"networkInterface": {
"title": "واجهة الشبكة",
"fields": {
"ipAddress": "عنوان IP",
"macAddress": "عنوان MAC"
}
}
},
"feedback": {
"notifications": {
"clash": {
"restartSuccess": "تم إعادة تشغيل نواة Clash",
"versionUpdated": "تم تحديث إصدار النواة",
"changeSuccess": "تم تغيير النواة بنجاح",
"changeFailed": "فشل تغيير النواة",
"geoDataUpdated": "تم تحديث البيانات الجغرافية"
},
"clashService": {
"installSuccess": "تم تثبيت الخدمة بنجاح",
"uninstallSuccess": "تم إلغاء تثبيت الخدمة بنجاح"
},
"updater": {
"withClashProxySuccess": "Update with Clash proxy successfully",
"withClashProxyFailed": "Update failed even with Clash proxy"
}
}
},
"statuses": {
"clash": {
"stopping": "Stopping Core...",
"restarting": "Restarting Core..."
},
"clashService": {
"installing": "جاري تثبيت الخدمة...",
"uninstalling": "Uninstalling Service..."
}
}
}

128
src/locales/ar/shared.json Normal file
View File

@@ -0,0 +1,128 @@
{
"actions": {
"cancel": "إلغاء",
"close": "إغلاق",
"confirm": "تأكيد",
"save": "حفظ",
"delete": "حذف",
"edit": "تعديل",
"new": "جديد",
"enable": "تمكين",
"upgrade": "ترقية",
"restart": "إعادة التشغيل",
"resetToDefault": "إعادة تعيين إلى الافتراضي",
"refresh": "تحديث",
"retry": "Retry",
"refreshPage": "Refresh Page",
"showDetails": "Show Details",
"hideDetails": "Hide Details",
"listView": "عرض القائمة",
"tableView": "عرض الجدول",
"pause": "إيقاف مؤقت",
"resume": "استأنف",
"closeAll": "إغلاق الكل",
"clear": "مسح"
},
"labels": {
"updateAt": "التحديث عند",
"timeout": "Timeout",
"icon": "أيقونة",
"name": "الاسم",
"readOnly": "للقراءة فقط",
"expireTime": "وقت الانتهاء",
"updateTime": "وقت التحديث",
"usedTotal": "المستخدم / الإجمالي",
"from": "من",
"password": "كلمة المرور",
"retryAttempts": "Retry attempts",
"downloaded": "تم التنزيل",
"uploaded": "تم الرفع"
},
"statuses": {
"enabled": "ممكّن",
"disabled": "معطّل",
"saving": "Saving...",
"empty": "فارغ"
},
"units": {
"milliseconds": "ميلي ثانية",
"seconds": "ثواني",
"minutes": "دقائق",
"kilobytes": "KB",
"files": "Files"
},
"placeholders": {
"filter": "شروط التصفية",
"matchCase": "مطابقة الحالة",
"matchWholeWord": "مطابقة الكلمة بأكملها",
"useRegex": "استخدام التعبيرات العادية"
},
"validation": {
"invalidRegex": "Invalid regular expression"
},
"window": {
"maximize": "تكبير",
"minimize": "تصغير"
},
"editorModes": {
"visualization": "تصور",
"advanced": "متقدم"
},
"feedback": {
"errors": {
"trafficStats": "Traffic Statistics Error",
"trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes."
},
"notices": {
"raw": "{{message}}",
"prefixedRaw": "{{prefix}} {{message}}"
},
"notifications": {
"importSuccess": "تم استيراد الملف الشخصي بنجاح",
"importSubscriptionSuccess": "تم استيراد الاشتراك بنجاح",
"importWithClashProxy": "Profile Imported with Clash proxy",
"saved": "Saved successfully",
"common": {
"copySuccess": "تم النسخ بنجاح",
"saveSuccess": "Configuration saved successfully",
"saveFailed": "Failed to save configuration"
}
},
"validation": {
"config": {
"failed": "فشل التحقق من تكوين الاشتراك، يرجى فحص ملف التكوين، تم التراجع عن التغييرات، تفاصيل الخطأ:",
"bootFailed": "فشل التحقق من التكوين عند الإقلاع، تم استخدام التكوين الافتراضي، يرجى فحص ملف التكوين، تفاصيل الخطأ:",
"coreChangeFailed": "فشل التحقق من التكوين عند تغيير النواة، تم استخدام التكوين الافتراضي، يرجى فحص ملف التكوين، تفاصيل الخطأ:",
"processTerminated": "تم إنهاء عملية التحقق"
},
"script": {
"syntaxError": "خطأ في بناء جملة السكريبت، تم التراجع عن التغييرات",
"missingMain": "خطأ في السكريبت، تم التراجع عن التغييرات",
"fileNotFound": "الملف غير موجود، تم التراجع عن التغييرات",
"fileError": "خطأ في ملف السكريبت، تم التراجع عن التغييرات"
},
"yaml": {
"syntaxError": "YAML syntax error, changes reverted",
"readError": "YAML read error, changes reverted",
"mappingError": "YAML mapping error, changes reverted",
"keyError": "YAML key error, changes reverted",
"generalError": "YAML error, changes reverted"
},
"merge": {
"syntaxError": "Merge file syntax error, changes reverted",
"mappingError": "Merge file mapping error, changes reverted",
"keyError": "Merge file key error, changes reverted",
"generalError": "Merge file error, changes reverted"
}
}
},
"filters": {
"logLevels": {
"all": "ALL",
"debug": "DEBUG",
"info": "INFO",
"warn": "WARN",
"error": "ERROR"
}
}
}

40
src/locales/ar/tests.json Normal file
View File

@@ -0,0 +1,40 @@
{
"page": {
"actions": {
"testAll": "اختبار الكل"
},
"title": "اختبار"
},
"components": {
"item": {
"actions": {
"test": "اختبار"
}
}
},
"modals": {
"test": {
"title": {
"create": "إنشاء اختبار",
"edit": "تعديل الاختبار"
},
"fields": {
"url": "رابط الاختبار"
}
}
},
"statuses": {
"test": {
"pending": "Pending",
"yes": "Yes",
"no": "No",
"failed": "Failed",
"completed": "Completed",
"disallowedIsp": "Disallowed ISP",
"originalsOnly": "Originals Only",
"noDisney": "No (IP Banned By Disney+)",
"unsupportedRegion": "Unsupported Country/Region",
"failedNetwork": "Failed (Network Connection)"
}
}
}

View File

@@ -0,0 +1,12 @@
{
"page": {
"actions": {
"testing": "Testing..."
},
"empty": "No unlock test items",
"messages": {
"detectionTimeout": "Detection timeout or failed"
},
"title": "Unlock Test"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,28 @@
{
"page": {
"title": "Verbindungen"
},
"components": {
"fields": {
"host": "Host",
"dlSpeed": "Download-Geschwindigkeit",
"ulSpeed": "Upload-Geschwindigkeit",
"chains": "Ketten",
"rule": "Regel",
"process": "Prozess",
"time": "Verbindungszeit",
"source": "Quelladresse",
"destination": "Zieladresse",
"destinationPort": "Zielport",
"type": "Typ"
},
"order": {
"default": "Default",
"uploadSpeed": "Upload-Geschwindigkeit",
"downloadSpeed": "Download-Geschwindigkeit"
},
"actions": {
"closeConnection": "Verbindung schließen"
}
}
}

138
src/locales/de/home.json Normal file
View File

@@ -0,0 +1,138 @@
{
"page": {
"tooltips": {
"lightweightMode": "Leichtgewichtiger Modus",
"manual": "Bedienungsanleitung",
"settings": "Startseite-Einstellungen"
},
"cards": {
"trafficStats": "Verkehrsstatistik",
"networkSettings": "Netzwerkeinstellungen",
"proxyMode": "Proxy-Modus"
},
"settings": {
"cards": {
"profile": "Abonnement-Karte",
"currentProxy": "Aktueller Proxy-Karte",
"network": "Netzwerkeinstellungen-Karte",
"proxyMode": "Proxy-Modus-Karte",
"traffic": "Verkehrsstatistik-Karte",
"tests": "Website-Tests-Karte",
"ip": "IP-Informationen-Karte",
"clashInfo": "Clash-Informationen-Karten",
"systemInfo": "Systeminformationen-Karten"
},
"title": "Startseite-Einstellungen"
},
"title": "Startseite"
},
"components": {
"proxyTun": {
"status": {
"systemProxyEnabled": "Der Systemproxy ist aktiviert. Ihre Anwendungen werden über den Proxy auf das Netzwerk zugreifen.",
"systemProxyDisabled": "Der Systemproxy ist deaktiviert. Es wird empfohlen, diesen Eintrag für die meisten Benutzer zu aktivieren.",
"tunModeServiceRequired": "Der TUN-Modus erfordert den Service-Modus. Bitte installieren Sie zuerst den Service.",
"tunModeEnabled": "Der TUN-Modus ist aktiviert. Die Anwendungen werden über die virtuelle Netzwerkschnittstelle auf das Netzwerk zugreifen.",
"tunModeDisabled": "Der TUN-Modus ist deaktiviert. Dies ist für spezielle Anwendungen geeignet."
},
"tooltips": {
"systemProxy": "Ändern Sie die Proxy-Einstellungen des Betriebssystems. Wenn die Aktivierung fehlschlägt, können Sie die Proxy-Einstellungen des Betriebssystems manuell ändern.",
"tunMode": "Der TUN-Modus kann den gesamten Anwendungsverkehr übernehmen und eignet sich für spezielle Anwendungen, die die Systemproxy-Einstellungen nicht befolgen."
}
},
"clashInfo": {
"title": "Clash-Informationen",
"fields": {
"coreVersion": "Kernversion",
"systemProxyAddress": "Systemproxy-Adresse",
"mixedPort": "Mixed Port",
"uptime": "Laufzeit",
"rulesCount": "Anzahl der Regeln"
}
},
"systemInfo": {
"title": "Systeminformationen",
"fields": {
"osInfo": "Betriebssysteminformationen",
"autoLaunch": "Beim Start automatisch starten",
"runningMode": "Betriebsmodus",
"lastCheckUpdate": "Letzte Aktualitätsprüfung",
"vergeVersion": "Verge-Version"
},
"actions": {
"settings": "Einstellungen"
},
"tooltips": {
"autoLaunchAdmin": "Der Administrator-Modus unterstützt möglicherweise keine automatische Startfunktion."
},
"badges": {
"adminMode": "Administrator-Modus",
"serviceMode": "Service-Modus",
"sidecarMode": "Benutzermodus",
"adminServiceMode": "Admin + Service Mode"
}
},
"ipInfo": {
"title": "IP-Informationen",
"labels": {
"ip": "IP",
"asn": "Autonomes Systemnummer",
"isp": "Internetdienstanbieter",
"org": "Organisation",
"location": "Standort",
"timezone": "Zeitzone",
"autoRefresh": "Automatische Aktualisierung",
"unknown": "Unbekannt"
},
"errors": {
"load": "IP-Informationen konnten nicht abgerufen werden"
}
},
"currentProxy": {
"title": "Aktueller Knoten",
"actions": {
"refreshDelay": "Latenztest"
},
"labels": {
"globalMode": "Global Mode",
"directMode": "Direct Mode",
"group": "Proxy-Gruppe",
"proxy": "Knoten",
"noActiveNode": "Kein aktiver Proxy-Knoten"
}
},
"tests": {
"title": "Website-Tests"
},
"traffic": {
"metrics": {
"uploadSpeed": "Upload-Geschwindigkeit",
"downloadSpeed": "Download-Geschwindigkeit",
"activeConnections": "Aktive Verbindungen",
"memoryUsage": "Kern-Speichernutzung"
},
"legends": {
"upload": "Hochladen",
"download": "Herunterladen"
},
"patterns": {
"minutes": "{{time}} Minutes"
}
},
"clashMode": {
"errors": {
"communication": "Core communication error"
},
"labels": {
"rule": "Regel-Modus",
"global": "Globaler Modus",
"direct": "Direktverbindungs-Modus"
},
"descriptions": {
"rule": "Automatically choose proxies according to the rule set.",
"global": "Forward all network requests through the selected proxy.",
"direct": "Bypass the proxy and connect to the internet directly."
}
}
}
}

27
src/locales/de/index.ts Normal file
View File

@@ -0,0 +1,27 @@
import shared from "./shared.json";
import profiles from "./profiles.json";
import proxies from "./proxies.json";
import connections from "./connections.json";
import tests from "./tests.json";
import logs from "./logs.json";
import rules from "./rules.json";
import home from "./home.json";
import unlock from "./unlock.json";
import settings from "./settings.json";
import layout from "./layout.json";
const resources = {
"shared": shared,
"profiles": profiles,
"proxies": proxies,
"connections": connections,
"tests": tests,
"logs": logs,
"rules": rules,
"home": home,
"unlock": unlock,
"settings": settings,
"layout": layout,
};
export default resources;

View File

@@ -0,0 +1,21 @@
{
"components": {
"navigation": {
"tabs": {
"home": "Startseite",
"proxies": "Proxy",
"profiles": "Abonnement",
"connections": "Verbindungen",
"rules": "Regeln",
"logs": "Protokolle",
"unlock": "Testen",
"settings": "Einstellungen"
},
"menu": {
"reorderMode": "Menu reorder mode",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
}
}
}
}

5
src/locales/de/logs.json Normal file
View File

@@ -0,0 +1,5 @@
{
"page": {
"title": "Protokolle"
}
}

View File

@@ -0,0 +1,182 @@
{
"page": {
"actions": {
"updateAll": "Alle Abonnements aktualisieren",
"viewRuntimeConfig": "Laufzeit-Abonnement anzeigen",
"reactivate": "Abonnement erneut aktivieren",
"import": "Importieren"
},
"batch": {
"actions": {
"delete": "Delete Selected Profiles",
"selectAll": "Select All",
"deselectAll": "Deselect All",
"done": "Done"
},
"summary": {
"selected": "Selected",
"items": "items"
},
"title": "Batch Operations"
},
"importForm": {
"placeholder": "Abonnement-Datei-Link",
"actions": {
"paste": "Einfügen"
}
},
"feedback": {
"errors": {
"invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://",
"onlyYaml": "Nur YAML-Dateien werden unterstützt"
},
"notifications": {
"importRetry": "Import des Abonnements fehlgeschlagen. Versuche es mit dem Clash-Proxy erneut...",
"importFail": "Import des Abonnements auch mit Clash-Proxy fehlgeschlagen",
"importNeedsRefresh": "Profile imported but may need manual refresh",
"importSuccess": "Profile imported successfully, please restart if not visible",
"profileSwitched": "Abonnement gewechselt",
"profileReactivated": "Abonnement erneut aktiviert",
"switchInterrupted": "Profile switch interrupted by new selection",
"batchDeleted": "Selected profiles deleted successfully"
},
"notices": {
"forceRefreshCompleted": "Force refresh completed",
"emergencyRefreshFailed": "Emergency refresh failed: {{message}}"
}
},
"title": "Abonnement"
},
"components": {
"card": {
"labels": {
"clickToImport": "Klicken Sie hier, um ein Abonnement zu importieren."
}
},
"fileInput": {
"chooseFile": "Datei auswählen"
},
"menu": {
"home": "Startseite",
"select": "Verwenden",
"editInfo": "Informationen bearbeiten",
"editFile": "Datei bearbeiten",
"editRules": "Regeln bearbeiten",
"editProxies": "Knoten bearbeiten",
"editGroups": "Proxy-Gruppen bearbeiten",
"extendConfig": "Erweiterte Überdeckungskonfiguration",
"extendScript": "Erweitertes Skript",
"openFile": "Datei öffnen",
"update": "Aktualisieren",
"updateViaProxy": "Update via proxy"
},
"more": {
"global": {
"merge": "Global Merge",
"script": "Global Script"
},
"chips": {
"merge": "Merge",
"script": "Script"
}
},
"profileItem": {
"tooltips": {
"showLast": "Click to show last update time",
"showNext": "Click to show next update"
},
"status": {
"lastUpdateFailed": "Letzte Aktualisierung fehlgeschlagen",
"nextUp": "Nächste Aktualisierung",
"noSchedule": "Kein Zeitplan",
"unknown": "Unbekannt",
"autoUpdateDisabled": "Automatische Aktualisierung deaktiviert"
}
}
},
"modals": {
"profileForm": {
"title": {
"create": "Neue Konfiguration erstellen",
"edit": "Konfiguration bearbeiten"
},
"fields": {
"type": "Typ",
"description": "Beschreibung",
"subscriptionUrl": "Abonnement-Link",
"httpTimeout": "HTTP Request Timeout",
"updateInterval": "Aktualisierungsintervall",
"useSystemProxy": "Systemproxy zur Aktualisierung verwenden",
"useClashProxy": "Kernel-Proxy zur Aktualisierung verwenden",
"acceptInvalidCerts": "Allows Invalid Certificates (Danger)",
"allowAutoUpdate": "Allow Auto Update"
},
"feedback": {
"notifications": {
"creationRetry": "Erstellung des Abonnements fehlgeschlagen. Versuche es mit dem Clash-Proxy erneut...",
"creationSuccess": "Erstellung des Abonnements mit Clash-Proxy erfolgreich"
}
}
},
"proxiesEditor": {
"title": "Knoten bearbeiten",
"placeholders": {
"multiUri": "Für mehrere URI verwenden Sie Zeilenumbrüche (Base64-Codierung wird unterstützt)"
},
"actions": {
"prepend": "Vorherigen Proxy-Knoten hinzufügen",
"append": "Nachfolgenden Proxy-Knoten hinzufügen"
}
},
"groupsEditor": {
"title": "Proxy-Gruppen bearbeiten",
"errors": {
"nameRequired": "Der Proxy-Gruppenname darf nicht leer sein",
"nameExists": "Der Proxy-Gruppenname existiert bereits"
},
"fields": {
"type": "Proxy-Gruppentyp",
"name": "Proxy-Gruppenname",
"icon": "Proxy-Gruppen-Symbol",
"proxies": "Proxy einführen",
"provider": "Proxy-Sammlung einführen",
"healthCheckUrl": "URL für Gesundheitstest",
"expectedStatus": "Erwarteter Statuscode",
"interval": "Prüfintervall",
"maxFailedTimes": "Maximale Anzahl fehlgeschlagener Versuche",
"interfaceName": "Ausgangsschnittstelle",
"routingMark": "Routierungsmarkierung",
"filter": "Knoten filtern",
"excludeFilter": "Knoten ausschließen",
"excludeType": "Typ der auszuschließenden Knoten",
"includeAll": "Alle Ausgangsproxy und Proxy-Sammlungen einführen",
"includeAllProxies": "Alle Ausgangsproxy einführen",
"includeAllProviders": "Alle Proxy-Sammlungen einführen"
},
"toggles": {
"lazy": "Lazy-Status",
"disableUdp": "UDP deaktivieren",
"hidden": "Proxy-Gruppe ausblenden"
},
"actions": {
"prepend": "Vorherige Proxy-Gruppe hinzufügen",
"append": "Nachfolgende Proxy-Gruppe hinzufügen"
}
},
"editor": {
"actions": {
"format": "Dokument formatieren"
},
"messages": {
"readOnly": "Bearbeitung im schreibgeschützten Modus nicht möglich"
}
},
"confirmDelete": {
"title": "Löschung bestätigen",
"message": "Diese Operation kann nicht rückgängig gemacht werden"
},
"logViewer": {
"title": "Skript-Konsole-Ausgabe"
}
}
}

View File

@@ -0,0 +1,90 @@
{
"page": {
"modes": {
"rule": "Rule",
"global": "Global",
"direct": "Direct"
},
"actions": {
"toggleChain": "🔗 Ketten-Proxy",
"connect": "Connect",
"disconnect": "Disconnect",
"connecting": "Connecting...",
"clearChainConfig": "Delete Chain Config"
},
"provider": {
"title": "Proxy-Sammlung",
"actions": {
"updateAll": "Alle aktualisieren",
"update": "Aktualisieren"
}
},
"rules": {
"title": "Proxy Rules",
"select": "Select Rules"
},
"labels": {
"proxyCount": "Anzahl der Knoten",
"delayCheckReset": "Latenztest durchführen, um Fixierung aufzuheben"
},
"tooltips": {
"locate": "Aktueller Knoten",
"delayCheck": "Latenztest",
"sortDefault": "Standard Sortierung",
"sortDelay": "Nach Latenz sortieren",
"sortName": "Nach Name sortieren",
"delayCheckUrl": "Latenztest-URL",
"showBasic": "Knotendetails ausblenden",
"showDetail": "Knotendetails anzeigen",
"filter": "Knoten filtern"
},
"placeholders": {
"delayCheckUrl": "Latenztest-URL"
},
"chain": {
"header": "Chain Proxy Config",
"empty": "No proxy chain configured",
"instruction": "Click nodes in order to add to proxy chain",
"minimumNodes": "Chain proxy requires at least 2 nodes",
"minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.",
"connectFailed": "Failed to connect to proxy chain",
"disconnectFailed": "Failed to disconnect from proxy chain",
"duplicateNode": "Proxy node already exists in chain"
},
"messages": {
"directMode": "Direktverbindungs-Modus"
},
"title": {
"default": "Proxy-Gruppen",
"chainMode": "Proxy Chain Mode"
}
},
"feedback": {
"notifications": {
"provider": {
"updateSuccess": "{{name}} updated successfully",
"updateFailed": "Failed to update {{name}}: {{message}}",
"genericError": "Update failed: {{message}}",
"none": "No providers available to update",
"allUpdated": "All providers updated successfully"
}
}
},
"components": {
"enums": {
"strategies": {
"select": "Proxy manuell auswählen",
"url-test": "Proxy basierend auf URL-Latenztest auswählen",
"fallback": "Bei Nichtverfügbarkeit zu einem anderen Proxy wechseln",
"load-balance": "Proxy basierend auf Lastverteilung zuweisen",
"relay": "Basierend auf definiertem Proxy-Kette weiterleiten"
},
"policies": {
"DIRECT": "Direktverbindung",
"REJECT": "Anfrage ablehnen",
"REJECT-DROP": "Anfrage verwerfen",
"PASS": "Diese Regel überspringen"
}
}
}
}

82
src/locales/de/rules.json Normal file
View File

@@ -0,0 +1,82 @@
{
"page": {
"provider": {
"trigger": "Regelsammlung",
"dialogTitle": "Regelsammlung",
"actions": {
"updateAll": "Alle aktualisieren",
"update": "Aktualisieren"
}
},
"title": "Regeln"
},
"feedback": {
"notifications": {
"provider": {
"updateSuccess": "{{name}} updated successfully",
"updateFailed": "Failed to update {{name}}: {{message}}",
"genericError": "Update failed: {{message}}",
"none": "No providers available to update",
"allUpdated": "All providers updated successfully"
}
}
},
"modals": {
"editor": {
"form": {
"labels": {
"type": "Regeltyp",
"content": "Regelinhalt",
"proxyPolicy": "Proxy-Strategie"
},
"toggles": {
"noResolve": "DNS-Auflösung überspringen"
},
"actions": {
"prependRule": "Vorherige Regel hinzufügen",
"appendRule": "Nachfolgende Regel hinzufügen"
},
"validation": {
"conditionRequired": "Regelbedingung fehlt",
"invalidRule": "Ungültige Regel"
}
},
"ruleTypes": {
"DOMAIN": "Vollständigen Domainnamen übereinstimmen",
"DOMAIN-SUFFIX": "Domain-Suffix übereinstimmen",
"DOMAIN-KEYWORD": "Domain-Schlüsselwort übereinstimmen",
"DOMAIN-REGEX": "Domain-Regulärer Ausdruck übereinstimmen",
"GEOSITE": "Domainnamen in Geosite übereinstimmen",
"GEOIP": "IP-Ländercode übereinstimmen",
"SRC-GEOIP": "Quell-IP-Ländercode übereinstimmen",
"IP-ASN": "IP-ASN übereinstimmen",
"SRC-IP-ASN": "Quell-IP-ASN übereinstimmen",
"IP-CIDR": "IP-Adressbereich übereinstimmen",
"IP-CIDR6": "IP-Adressbereich übereinstimmen",
"SRC-IP-CIDR": "Quell-IP-Adressbereich übereinstimmen",
"IP-SUFFIX": "IP-Suffix-Bereich übereinstimmen",
"SRC-IP-SUFFIX": "Quell-IP-Suffix-Bereich übereinstimmen",
"SRC-PORT": "Quellportbereich der Anfrage übereinstimmen",
"DST-PORT": "Zielportbereich der Anfrage übereinstimmen",
"IN-PORT": "Eingangsport übereinstimmen",
"DSCP": "DSCP-Markierung (nur für TPROXY UDP-Eingang)",
"PROCESS-NAME": "Prozessnamen übereinstimmen (Android-Paketname)",
"PROCESS-PATH": "Vollständigen Prozesspfad übereinstimmen",
"PROCESS-NAME-REGEX": "Regulärer Ausdruck für vollständigen Prozessnamen übereinstimmen (Android-Paketname)",
"PROCESS-PATH-REGEX": "Regulärer Ausdruck für vollständigen Prozesspfad übereinstimmen",
"NETWORK": "Übertragungsprotokoll übereinstimmen (TCP/UDP)",
"UID": "Linux-USER-ID übereinstimmen",
"IN-TYPE": "Eingangstyp übereinstimmen",
"IN-USER": "Eingangsbenutzername übereinstimmen",
"IN-NAME": "Eingangsname übereinstimmen",
"SUB-RULE": "Unterregel",
"RULE-SET": "Regelsatz übereinstimmen",
"AND": "Logisches UND",
"OR": "Logisches ODER",
"NOT": "Logisches NICHT",
"MATCH": "Alle Anfragen übereinstimmen"
},
"title": "Regeln bearbeiten"
}
}
}

View File

@@ -0,0 +1,571 @@
{
"page": {
"actions": {
"manual": "Bedienungsanleitung",
"telegram": "Telegram-Kanal",
"github": "GitHub-Projektadresse"
},
"title": "Einstellungen"
},
"sections": {
"system": {
"title": "Systemeinstellungen",
"toggles": {
"tunMode": "Virtual Network Interface-Modus",
"systemProxy": "Systemproxy"
},
"tooltips": {
"autoLaunchAdmin": "Der Administrator-Modus unterstützt möglicherweise keine automatische Startfunktion.",
"silentStart": "Die Anwendung wird im Hintergrund gestartet, ohne dass das Programmfenster angezeigt wird."
},
"fields": {
"autoLaunch": "Automatischer Start",
"silentStart": "Leiser Start"
},
"notifications": {
"tunMode": {
"autoDisabled": "TUN Mode automatically disabled due to service unavailable",
"autoDisableFailed": "Failed to disable TUN Mode automatically"
}
}
},
"proxyControl": {
"tooltips": {
"systemProxy": "Ändern Sie die Proxy-Einstellungen des Betriebssystems. Wenn die Aktivierung fehlschlägt, können Sie die Proxy-Einstellungen des Betriebssystems manuell ändern.",
"tunMode": "Der TUN-Modus (Virtual Network Interface) übernimmt den gesamten Systemverkehr. Wenn dieser Modus aktiviert ist, muss der Systemproxy nicht geöffnet werden.",
"tunUnavailable": "TUN-Modus erfordert Service-Modus oder Administrator-Modus"
},
"actions": {
"installService": "Service installieren",
"uninstallService": "Dienst deinstallieren"
},
"fields": {
"systemProxy": "Systemproxy",
"tunMode": "Virtual Network Interface-Modus"
}
},
"externalController": {
"title": "Adresse des externen Controllers",
"fields": {
"enable": "Enable External Controller",
"address": "Adresse des externen Controllers",
"secret": "API-Zugangsschlüssel"
},
"placeholders": {
"address": "Erforderlich",
"secret": "Empfohlene Einstellung"
},
"tooltips": {
"copy": "In die Zwischenablage kopieren"
},
"messages": {
"addressRequired": "Controller address cannot be empty",
"secretRequired": "Secret cannot be empty",
"copyFailed": "Kopieren fehlgeschlagen",
"controllerCopied": "API-Port in die Zwischenablage kopiert",
"secretCopied": "API-Schlüssel in die Zwischenablage kopiert"
}
},
"externalCors": {
"title": "Externe CORS-Konfiguration",
"fields": {
"allowPrivateNetwork": "Zugriff auf privates Netzwerk erlauben",
"allowedOrigins": "Erlaubte Ursprünge"
},
"placeholders": {
"origin": "Bitte eine gültige URL eingeben"
},
"actions": {
"add": "Hinzufügen"
},
"messages": {
"alwaysIncluded": "Immer enthaltene Ursprünge: {{urls}}"
},
"tooltips": {
"open": "Einstellungen für externe CORS"
}
},
"appearance": {
"light": "Light",
"dark": "Dark",
"system": "System"
},
"clash": {
"title": "Clash-Einstellungen",
"form": {
"fields": {
"allowLan": "Netzwerkverbindung im lokalen Netzwerk zulassen",
"dnsOverwrite": "DNS-Überschreibung",
"ipv6": "IPv6",
"unifiedDelay": "Einheitliche Latenz",
"logLevel": "Protokolliergrad",
"portConfig": "Port-Konfiguration",
"external": "Externe Steuerung",
"webUI": "Web-Oberfläche",
"clashCore": "Clash-Kern",
"openUwpTool": "UWP-Tool öffnen",
"updateGeoData": "Geo-Daten aktualisieren"
},
"tooltips": {
"networkInterface": "Netzwerkschnittstelle",
"unifiedDelay": "Wenn die einheitliche Latenz aktiviert ist, werden zwei Latenztests durchgeführt, um die Latenzunterschiede zwischen verschiedenen Knotentypen aufgrund von Verbindungsaufbau und anderen Faktoren zu eliminieren.",
"logLevel": "Dies wirkt sich nur auf die Kernprotokolldateien im Verzeichnis Service im Protokollverzeichnis aus.",
"openUwpTool": "Ab Windows 8 wird die direkte Netzwerkverbindung von UWP-Anwendungen (z. B. Microsoft Store) zu lokalen Hosts eingeschränkt. Mit diesem Tool können Sie diese Einschränkung umgehen."
},
"options": {
"logLevel": {
"debug": "Debug",
"info": "Info",
"warning": "Warn",
"error": "Error",
"silent": "Silent"
}
}
}
}
},
"components": {
"verge": {
"basic": {
"title": "Verge-Grundeinstellungen",
"actions": {
"browse": "Durchsuchen"
},
"trayOptions": {
"showMainWindow": "Hauptfenster anzeigen",
"showTrayMenu": "Tray-Menü anzeigen",
"disable": "Deaktivieren"
},
"fields": {
"language": "Spracheinstellungen",
"themeMode": "Thema",
"trayClickEvent": "Tray-Klickereignis",
"copyEnvType": "Umgebungsvariablentyp kopieren",
"startPage": "Startseite",
"startupScript": "Startskript",
"themeSetting": "Thema-Einstellungen",
"layoutSetting": "Layout-Einstellungen",
"misc": "Sonstige Einstellungen",
"hotkeySetting": "Tastenkombinationseinstellungen"
}
},
"advanced": {
"title": "Verge-Erweiterte Einstellungen",
"tooltips": {
"backupInfo": "Unterstützt die Sicherung von Konfigurationsdateien über WebDAV",
"openConfDir": "Wenn die Software fehlerhaft funktioniert, !sichern Sie! alle Dateien in diesem Verzeichnis, löschen Sie sie und starten Sie die Software neu.",
"liteMode": "GUI-Oberfläche schließen, nur den Kern laufen lassen"
},
"actions": {
"copyVersion": "Copy Version"
},
"notifications": {
"latestVersion": "Sie verwenden bereits die neueste Version",
"versionCopied": "Version copied to clipboard"
},
"fields": {
"backupSetting": "Sicherungseinstellungen",
"runtimeConfig": "Aktuelle Konfiguration",
"openConfDir": "Konfigurationsverzeichnis",
"openCoreDir": "Kernverzeichnis",
"openLogsDir": "Protokollverzeichnis",
"checkUpdates": "Auf Updates prüfen",
"openDevTools": "Entwicklertools öffnen",
"liteModeSettings": "Einstellungen für den Leichtgewichtigen Modus",
"exit": "Beenden",
"exportDiagnostics": "Diagnoseinformationen exportieren",
"vergeVersion": "Verge-Version"
}
},
"theme": {
"title": "Thema-Einstellungen",
"fields": {
"primaryColor": "Hauptfarbe",
"secondaryColor": "Sekundärfarbe",
"primaryText": "Haupttextfarbe",
"secondaryText": "Sekundärtextfarbe",
"infoColor": "Informationsfarbe",
"warningColor": "Warnfarbe",
"errorColor": "Fehlerfarbe",
"successColor": "Erfolgsfarbe",
"fontFamily": "Schriftfamilie",
"cssInjection": "CSS-Einbindung"
},
"actions": {
"editCss": "Edit CSS"
},
"dialogs": {
"editCssTitle": "Edit CSS"
}
},
"layout": {
"title": "Layout-Einstellungen",
"fields": {
"preferSystemTitlebar": "Prefer System Titlebar",
"trafficGraph": "Verkehrsdiagramm",
"memoryUsage": "Kern-Speichernutzung",
"proxyGroupIcon": "Proxy-Gruppen-Symbol",
"hoverNavigator": "Hover Jump Navigator",
"hoverNavigatorDelay": "Hover Jump Navigator Delay",
"navIcon": "Navigationsleiste-Symbol",
"trayIcon": "Tray-Symbol",
"showProxyGroupsInline": "Show Proxy Groups Inline",
"commonTrayIcon": "Standard-Tray-Symbol",
"systemProxyTrayIcon": "Systemproxy-Tray-Symbol",
"tunTrayIcon": "TUN-Modus-Tray-Symbol",
"enableTrayIcon": "Tray-Symbol aktivieren",
"enableTraySpeed": "Tray-Geschwindigkeit aktivieren"
},
"tooltips": {
"hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters",
"hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds"
},
"options": {
"icon": {
"monochrome": "Monochromes Symbol",
"colorful": "Farbiges Symbol",
"disable": "Deaktivieren"
}
}
}
}
},
"modals": {
"clashPort": {
"title": "Port-Konfiguration",
"fields": {
"mixed": "Mischter Proxy-Port",
"socks": "SOCKS-Proxy-Port",
"http": "HTTP(S)-Proxy-Port",
"redir": "Redir-Transparenter Proxy-Port",
"tproxy": "TPROXY-Transparenter Proxy-Port"
},
"actions": {
"random": "Zufälliger Port"
},
"messages": {
"saved": "Port settings saved",
"saveFailed": "Failed to save port settings"
}
},
"clashCore": {
"variants": {
"release": "Stabile Version",
"alpha": "Alpha-Version"
}
},
"liteMode": {
"title": "Einstellungen für den Leichtgewichtigen Modus",
"actions": {
"enterNow": "Sofort in den Leichtgewichtigen Modus wechseln"
},
"toggles": {
"autoEnter": "Automatisch in den Leichtgewichtigen Modus wechseln"
},
"tooltips": {
"autoEnter": "Wenn diese Option aktiviert ist, wird der Leichtgewichtige Modus automatisch aktiviert, nachdem das Fenster für eine bestimmte Zeit geschlossen wurde."
},
"fields": {
"delay": "Verzögerung beim automatischen Wechsel in den Leichtgewichtigen Modus"
},
"messages": {
"autoEnterHint": "Nach dem Schließen des Fensters wird der Leichtgewichtige Modus automatisch nach {{n}} Minuten aktiviert."
}
},
"backup": {
"title": "Sicherungseinstellungen",
"tabs": {
"local": "Local backup",
"webdav": "WebDAV backup"
},
"actions": {
"selectTarget": "Select backup target",
"backup": "Sichern",
"export": "Export",
"exportBackup": "Export Backup",
"deleteBackup": "Sicherung löschen",
"restore": "Wiederherstellen",
"restoreBackup": "Sicherung wiederherstellen"
},
"fields": {
"webdavUrl": "WebDAV-Serveradresse http(s)://",
"username": "Benutzername",
"info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups."
},
"messages": {
"webdavUrlRequired": "Die WebDAV-Serveradresse darf nicht leer sein",
"invalidWebdavUrl": "Ungültiges Format für die WebDAV-Serveradresse",
"usernameRequired": "Der Benutzername darf nicht leer sein",
"passwordRequired": "Das Passwort darf nicht leer sein",
"webdavConfigSaved": "WebDAV-Konfiguration erfolgreich gespeichert",
"webdavConfigSaveFailed": "Speichern der WebDAV-Konfiguration fehlgeschlagen: {{error}}",
"backupCreated": "Sicherung erfolgreich erstellt",
"backupFailed": "Sicherung fehlgeschlagen: {{error}}",
"localBackupCreated": "Local backup created successfully",
"localBackupFailed": "Local backup failed",
"restoreSuccess": "Wiederherstellung erfolgreich. Die App wird in 1 Sekunde neu starten.",
"localBackupExported": "Local backup exported successfully",
"localBackupExportFailed": "Failed to export local backup",
"confirmDelete": "Confirm to delete this backup file?",
"confirmRestore": "Confirm to restore this backup file?"
},
"table": {
"filename": "Dateiname",
"backupTime": "Sicherungszeit",
"actions": "Aktionen",
"noBackups": "Keine Sicherungen vorhanden",
"rowsPerPage": "Rows per page"
}
},
"misc": {
"title": "Sonstige Einstellungen",
"fields": {
"appLogLevel": "Anwendungs-Protokolliergrad",
"appLogMaxSize": "App Log Max Size",
"appLogMaxCount": "App Log Max Count",
"autoCloseConnections": "Verbindungen automatisch schließen",
"autoCheckUpdate": "Automatisch auf Updates prüfen",
"enableBuiltinEnhanced": "Eingebaute Verbesserungen aktivieren",
"proxyLayoutColumns": "Anzahl der Spalten im Proxy-Layout",
"autoLogClean": "Protokolle automatisch bereinigen",
"autoDelayDetection": "Automatische Latenzprüfung",
"defaultLatencyTest": "Standard-Testlink",
"defaultLatencyTimeout": "Test-Timeout"
},
"tooltips": {
"autoCloseConnections": "Wenn der ausgewählte Knoten in der Proxy-Gruppe oder der Proxy-Modus geändert wird, werden die bestehenden Verbindungen geschlossen.",
"enableBuiltinEnhanced": "Kompatibilitätsbehandlung der Konfigurationsdatei",
"autoDelayDetection": "Überprüft regelmäßig im Hintergrund die Latenz des aktuellen Knotens",
"defaultLatencyTest": "Dies wird nur für HTTP-Client-Anfragentests verwendet und hat keine Auswirkungen auf die Konfigurationsdatei."
},
"options": {
"proxyLayoutColumns": {
"auto": "Automatische Anzahl der Spalten"
},
"autoLogClean": {
"never": "Nie bereinigen",
"retainDays": "{{n}} Tage behalten"
}
}
},
"update": {
"title": "New Version v{{version}}",
"actions": {
"goToRelease": "Zur Veröffentlichungsseite gehen",
"update": "Aktualisieren"
},
"messages": {
"portableError": "Die portable Version unterstützt keine In-App-Aktualisierung. Bitte laden Sie die Dateien manuell herunter und ersetzen Sie sie.",
"breakChangeError": "Dies ist eine wichtige Aktualisierung. Die In-App-Aktualisierung wird nicht unterstützt. Bitte deinstallieren Sie die Software und laden Sie die neue Version manuell herunter und installieren Sie sie."
}
},
"sysproxy": {
"title": "Systemproxy-Einstellungen",
"fieldsets": {
"currentStatus": "Aktueller Systemproxy"
},
"fields": {
"enableStatus": "Aktivierungsstatus: ",
"serverAddr": "Serveradresse: ",
"pacUrl": "PAC-Adresse: ",
"proxyHost": "Proxy-Host",
"usePacMode": "PAC-Modus verwenden",
"proxyGuard": "Systemproxy-Schutz",
"guardDuration": "Proxy-Schutz-Intervall",
"alwaysUseDefaultBypass": "Immer die Standard-Umgehung verwenden",
"proxyBypass": "Proxy-Umgehungseinstellungen: ",
"bypass": "Aktuelle Umgehung: ",
"pacScriptContent": "PAC-Skriptinhalt"
},
"tooltips": {
"proxyGuard": "Aktivieren Sie diese Option, um zu verhindern, dass andere Software die Proxy-Einstellungen des Betriebssystems ändert."
},
"messages": {
"durationTooShort": "Das Intervall des Proxy-Daemons darf nicht weniger als 1 Sekunde betragen.",
"invalidBypass": "Ungültiges Format für die Proxy-Umgehung",
"invalidProxyHost": "Ungültiges Format für den Proxy-Host"
},
"actions": {
"editPac": "Bearbeiten PAC"
}
},
"tun": {
"title": "Virtual Network Interface-Modus",
"fields": {
"stack": "TUN-Modus-Stack",
"device": "Device Name",
"autoRoute": "Globale Routing automatisch einstellen",
"strictRoute": "Strenges Routing",
"autoDetectInterface": "Netzwerkschnittstelle automatisch auswählen",
"dnsHijack": "DNS-Hijacking",
"mtu": "Maximale Übertragungseinheit"
},
"tooltips": {
"dnsHijack": "Please use , to separate multiple DNS servers"
},
"messages": {
"applied": "Einstellungen angewendet"
}
},
"dns": {
"dialog": {
"title": "DNS-Überschreibung",
"warning": "Wenn Sie sich nicht mit diesen Einstellungen auskennen, ändern Sie sie nicht und lassen Sie die DNS-Überschreibung aktiviert."
},
"sections": {
"general": "DNS-Einstellungen",
"fallbackFilter": "Rückfallfilter-Einstellungen",
"hosts": "Hosts-Einstellungen"
},
"fields": {
"enable": "DNS aktivieren",
"listen": "DNS-Lauschangabe",
"enhancedMode": "Erweiterter Modus",
"fakeIpRange": "Fake-IP-Bereich",
"fakeIpFilterMode": "Fake-IP-Filtermodus",
"ipv6": {
"label": "IPv6",
"description": "IPv6-DNS-Auflösung aktivieren"
},
"preferH3": {
"label": "HTTP/3 bevorzugen",
"description": "DNS DOH verwendet HTTP/3-Protokoll"
},
"respectRules": {
"label": "Routierungsregeln beachten",
"description": "DNS-Verbindungen folgen den Routierungsregeln"
},
"useHosts": {
"label": "Hosts verwenden",
"description": "Aktivieren Sie die Auflösung von Hosts über die hosts-Datei"
},
"useSystemHosts": {
"label": "System-Hosts verwenden",
"description": "Aktivieren Sie die Auflösung von Hosts über die System-hosts-Datei"
},
"directPolicy": {
"label": "Direkte Namenserver folgen der Strategie",
"description": "Ob die Namenserver-Strategie befolgt werden soll"
},
"defaultNameserver": {
"label": "Standard-Namenserver",
"description": "Standard-DNS-Server, die zum Auflösen von DNS-Servern verwendet werden"
},
"nameserver": {
"label": "Namenserver",
"description": "Liste der DNS-Server, getrennt durch Kommas"
},
"fallback": {
"label": "Rückfallserver",
"description": "Liste der Rückfall-DNS-Server, getrennt durch Kommas"
},
"proxy": {
"label": "Proxy-Server-Namenserver",
"description": "Proxy-Knoten-Namenserver, nur für die Auflösung der Domains von Proxy-Knoten verwendet, getrennt durch Kommas"
},
"directNameserver": {
"label": "Direkter Namenserver",
"description": "Direkter Ausgangs-Namenserver, unterstützt das Schlüsselwort system, getrennt durch Kommas"
},
"fakeIpFilter": {
"label": "Fake-IP-Filter",
"description": "Domains, die die Fake-IP-Auflösung überspringen, getrennt durch Kommas"
},
"nameserverPolicy": {
"label": "Namenserver-Strategie",
"description": "Domain-spezifischer DNS-Server, mehrere Server getrennt durch Semikolons, Format: domain=server1;server2"
},
"geoipFiltering": {
"label": "GeoIP-Filterung",
"description": "GeoIP-Rückfallfilterung aktivieren"
},
"geoipCode": "GeoIP-Ländercode",
"fallbackIpCidr": {
"label": "Rückfall-IP-CIDR",
"description": "IP-CIDRs, die keine Rückfallserver verwenden, getrennt durch Kommas"
},
"fallbackDomain": {
"label": "Rückfall-Domäne",
"description": "Domains, die Rückfallserver verwenden, getrennt durch Kommas"
},
"hosts": {
"label": "Hosts",
"description": "Benutzerdefinierte Zuordnung von Domains zu IPs oder Domains, getrennt durch Kommas"
}
},
"messages": {
"saved": "DNS-Einstellungen wurden gespeichert",
"configError": "DNS configuration error:"
},
"errors": {
"invalid": "Invalid configuration"
}
},
"webUI": {
"actions": {
"openUrl": "Link öffnen"
},
"title": "Web-Oberfläche",
"messages": {
"supportedPlaceholders": "Unterstützt %host, %port, %secret",
"placeholderInstruction": "Verwenden Sie %host, %port, %secret für Host, Port und Zugangsschlüssel"
}
},
"hotkey": {
"toggles": {
"enableGlobal": "Globale Tastenkombinationen aktivieren"
},
"title": "Tastenkombinationseinstellungen",
"functions": {
"rule": "Regel-Modus",
"global": "Globaler Modus",
"openOrCloseDashboard": "Dashboard öffnen/schließen",
"toggleSystemProxy": "Systemproxy ein/ausschalten",
"toggleTunMode": "TUN-Modus ein/ausschalten",
"entryLightweightMode": "Leichtgewichtigen Modus betreten",
"direct": "Direktverbindungs-Modus"
}
},
"password": {
"prompts": {
"enterRoot": "Bitte geben Sie Ihr Root-Passwort ein."
}
},
"networkInterface": {
"title": "Netzwerkschnittstelle",
"fields": {
"ipAddress": "IP-Adresse",
"macAddress": "MAC-Adresse"
}
}
},
"feedback": {
"notifications": {
"clash": {
"restartSuccess": "Clash-Kern wurde neu gestartet",
"versionUpdated": "Kernversion wurde aktualisiert",
"changeSuccess": "Kern erfolgreich gewechselt",
"changeFailed": "Kernwechsel fehlgeschlagen",
"geoDataUpdated": "Geo-Daten wurden aktualisiert"
},
"clashService": {
"installSuccess": "Service erfolgreich installiert",
"uninstallSuccess": "Service erfolgreich deinstalliert"
},
"updater": {
"withClashProxySuccess": "Aktualisierung mit Clash-Proxy erfolgreich",
"withClashProxyFailed": "Aktualisierung auch mit Clash-Proxy fehlgeschlagen"
}
}
},
"statuses": {
"clash": {
"stopping": "Kern wird gestoppt...",
"restarting": "Kern wird neu gestartet..."
},
"clashService": {
"installing": "Service wird installiert...",
"uninstalling": "Service wird deinstalliert..."
}
}
}

128
src/locales/de/shared.json Normal file
View File

@@ -0,0 +1,128 @@
{
"actions": {
"cancel": "Abbrechen",
"close": "Schließen",
"confirm": "Bestätigen",
"save": "Speichern",
"delete": "Löschen",
"edit": "Bearbeiten",
"new": "Neu",
"enable": "Aktivieren",
"upgrade": "Kern aktualisieren",
"restart": "Kern neustarten",
"resetToDefault": "Auf Standardwerte zurücksetzen",
"refresh": "Aktualisieren",
"retry": "Retry",
"refreshPage": "Refresh Page",
"showDetails": "Show Details",
"hideDetails": "Hide Details",
"listView": "Listenansicht",
"tableView": "Tabellenansicht",
"pause": "Pausieren",
"resume": "Fortsetzen",
"closeAll": "Alle schließen",
"clear": "Löschen"
},
"labels": {
"updateAt": "Aktualisiert am",
"timeout": "Timeout",
"icon": "Symbol",
"name": "Name",
"readOnly": "Schreibgeschützt",
"expireTime": "Ablaufzeit",
"updateTime": "Aktualisierungszeit",
"usedTotal": "Verwendet / Gesamt",
"from": "Von",
"password": "Passwort",
"retryAttempts": "Retry attempts",
"downloaded": "Heruntergeladen",
"uploaded": "Hochgeladen"
},
"statuses": {
"enabled": "Aktiviert",
"disabled": "Deaktiviert",
"saving": "Saving...",
"empty": "Leer"
},
"units": {
"milliseconds": "Millisekunden",
"seconds": "Sekunden",
"minutes": "Minuten",
"kilobytes": "KB",
"files": "Files"
},
"placeholders": {
"filter": "Filterbedingungen",
"matchCase": "Groß-/Kleinschreibung beachten",
"matchWholeWord": "Ganzes Wort übereinstimmen",
"useRegex": "Regulären Ausdruck verwenden"
},
"validation": {
"invalidRegex": "Invalid regular expression"
},
"window": {
"maximize": "Maximieren",
"minimize": "Minimieren"
},
"editorModes": {
"visualization": "Visualisierung",
"advanced": "Erweitert"
},
"feedback": {
"errors": {
"trafficStats": "Traffic Statistics Error",
"trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes."
},
"notices": {
"raw": "{{message}}",
"prefixedRaw": "{{prefix}} {{message}}"
},
"notifications": {
"importSuccess": "Abonnement erfolgreich importiert",
"importSubscriptionSuccess": "Abonnement erfolgreich importiert",
"importWithClashProxy": "Abonnement mit Clash-Proxy importiert",
"saved": "Saved successfully",
"common": {
"copySuccess": "Kopieren erfolgreich",
"saveSuccess": "Zufalls-Konfiguration erfolgreich gespeichert",
"saveFailed": "Failed to save configuration"
}
},
"validation": {
"config": {
"failed": "Abonnement-Konfigurationsüberprüfung fehlgeschlagen. Bitte überprüfen Sie die Abonnement-Konfigurationsdatei. Die Änderungen wurden rückgängig gemacht. Fehlerdetails: ",
"bootFailed": "Start-Abonnement-Konfigurationsüberprüfung fehlgeschlagen. Die Standardkonfiguration wurde verwendet, um die App zu starten. Bitte überprüfen Sie die Abonnement-Konfigurationsdatei. Fehlerdetails: ",
"coreChangeFailed": "Konfigurationsüberprüfung beim Wechsel des Kerns fehlgeschlagen. Die Standardkonfiguration wurde verwendet, um die App zu starten. Bitte überprüfen Sie die Abonnement-Konfigurationsdatei. Fehlerdetails: ",
"processTerminated": "Validierungsprozess abgebrochen"
},
"script": {
"syntaxError": "Skript-Syntaxfehler. Die Änderungen wurden rückgängig gemacht.",
"missingMain": "Skriptfehler. Die Änderungen wurden rückgängig gemacht.",
"fileNotFound": "Datei nicht gefunden. Die Änderungen wurden rückgängig gemacht.",
"fileError": "Skript-Dateifehler. Die Änderungen wurden rückgängig gemacht."
},
"yaml": {
"syntaxError": "YAML-Syntaxfehler. Die Änderungen wurden rückgängig gemacht.",
"readError": "YAML-Lesefehler. Die Änderungen wurden rückgängig gemacht.",
"mappingError": "YAML-Mappingfehler. Die Änderungen wurden rückgängig gemacht.",
"keyError": "YAML-Schlüsselfehler. Die Änderungen wurden rückgängig gemacht.",
"generalError": "YAML-Fehler. Die Änderungen wurden rückgängig gemacht."
},
"merge": {
"syntaxError": "Syntaxfehler in der Überdeckungsdatei. Die Änderungen wurden rückgängig gemacht.",
"mappingError": "Mappingfehler in der Überdeckungsdatei. Die Änderungen wurden rückgängig gemacht.",
"keyError": "Schlüsselfehler in der Überdeckungsdatei. Die Änderungen wurden rückgängig gemacht.",
"generalError": "Fehler in der Überdeckungsdatei. Die Änderungen wurden rückgängig gemacht."
}
}
},
"filters": {
"logLevels": {
"all": "ALL",
"debug": "DEBUG",
"info": "INFO",
"warn": "WARN",
"error": "ERROR"
}
}
}

40
src/locales/de/tests.json Normal file
View File

@@ -0,0 +1,40 @@
{
"page": {
"actions": {
"testAll": "Alle testen"
},
"title": "Testen"
},
"components": {
"item": {
"actions": {
"test": "Testen"
}
}
},
"modals": {
"test": {
"title": {
"create": "Neuen Test erstellen",
"edit": "Test bearbeiten"
},
"fields": {
"url": "Test-URL"
}
}
},
"statuses": {
"test": {
"pending": "Wartend auf Prüfung",
"yes": "Unterstützt",
"no": "Nicht unterstützt",
"failed": "Test fehlgeschlagen",
"completed": "Prüfung abgeschlossen",
"disallowedIsp": "Nicht zugelassener Internetdienstanbieter",
"originalsOnly": "Nur Original",
"noDisney": "No (IP Banned By Disney+)",
"unsupportedRegion": "Nicht unterstütztes Land/Region",
"failedNetwork": "Failed (Network Connection)"
}
}
}

View File

@@ -0,0 +1,12 @@
{
"page": {
"actions": {
"testing": "Wird getestet..."
},
"empty": "No unlock test items",
"messages": {
"detectionTimeout": "Detection timeout or failed"
},
"title": "Entsperrungstest"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,28 @@
{
"page": {
"title": "Connections"
},
"components": {
"fields": {
"host": "Host",
"dlSpeed": "DL Speed",
"ulSpeed": "UL Speed",
"chains": "Chains",
"rule": "Rule",
"process": "Process",
"time": "Time",
"source": "Source",
"destination": "Destination",
"destinationPort": "Destination Port",
"type": "Type"
},
"order": {
"default": "Default",
"uploadSpeed": "Upload Speed",
"downloadSpeed": "Download Speed"
},
"actions": {
"closeConnection": "Close Connection"
}
}
}

138
src/locales/en/home.json Normal file
View File

@@ -0,0 +1,138 @@
{
"page": {
"tooltips": {
"lightweightMode": "Lightweight Mode",
"manual": "Manual",
"settings": "Home Settings"
},
"cards": {
"trafficStats": "Traffic Stats",
"networkSettings": "Network Settings",
"proxyMode": "Proxy Mode"
},
"settings": {
"cards": {
"profile": "Profile Card",
"currentProxy": "Current Proxy Card",
"network": "Network Settings Card",
"proxyMode": "Proxy Mode Card",
"traffic": "Traffic Stats Card",
"tests": "Website Tests Card",
"ip": "IP Information Card",
"clashInfo": "Clash Info Cards",
"systemInfo": "System Info Cards"
},
"title": "Home Settings"
},
"title": "Home"
},
"components": {
"proxyTun": {
"status": {
"systemProxyEnabled": "System Proxy Enabled",
"systemProxyDisabled": "System Proxy Disabled",
"tunModeServiceRequired": "TUN Mode Service Required",
"tunModeEnabled": "TUN Mode Enabled",
"tunModeDisabled": "TUN Mode Disabled"
},
"tooltips": {
"systemProxy": "System Proxy Info",
"tunMode": "TUN Mode Intercept Info"
}
},
"clashInfo": {
"title": "Clash Info",
"fields": {
"coreVersion": "Core Version",
"systemProxyAddress": "System Proxy Address",
"mixedPort": "Mixed Port",
"uptime": "Uptime",
"rulesCount": "Rules Count"
}
},
"systemInfo": {
"title": "System Info",
"fields": {
"osInfo": "OS Info",
"autoLaunch": "Auto Launch",
"runningMode": "Running Mode",
"lastCheckUpdate": "Last Check Update",
"vergeVersion": "Verge Version"
},
"actions": {
"settings": "Settings"
},
"tooltips": {
"autoLaunchAdmin": "Administrator mode may not support auto launch"
},
"badges": {
"adminMode": "Administrator Mode",
"serviceMode": "Service Mode",
"sidecarMode": "User Mode",
"adminServiceMode": "Admin + Service Mode"
}
},
"ipInfo": {
"title": "IP Information",
"labels": {
"ip": "IP",
"asn": "ASN",
"isp": "ISP",
"org": "ORG",
"location": "Location",
"timezone": "Timezone",
"autoRefresh": "Auto refresh",
"unknown": "Unknown"
},
"errors": {
"load": "Failed to get IP info"
}
},
"currentProxy": {
"title": "Current Node",
"actions": {
"refreshDelay": "Delay check"
},
"labels": {
"globalMode": "Global Mode",
"directMode": "Direct Mode",
"group": "Group",
"proxy": "Proxy",
"noActiveNode": "No active proxy node"
}
},
"tests": {
"title": "Website Tests"
},
"traffic": {
"metrics": {
"uploadSpeed": "Upload Speed",
"downloadSpeed": "Download Speed",
"activeConnections": "Active Connections",
"memoryUsage": "Core Usage"
},
"legends": {
"upload": "Upload",
"download": "Download"
},
"patterns": {
"minutes": "{{time}} Minutes"
}
},
"clashMode": {
"errors": {
"communication": "Core communication error"
},
"labels": {
"rule": "Rule Mode",
"global": "Global Mode",
"direct": "Direct Mode"
},
"descriptions": {
"rule": "Automatically choose proxies according to the rule set.",
"global": "Forward all network requests through the selected proxy.",
"direct": "Bypass the proxy and connect to the internet directly."
}
}
}
}

27
src/locales/en/index.ts Normal file
View File

@@ -0,0 +1,27 @@
import shared from "./shared.json";
import profiles from "./profiles.json";
import proxies from "./proxies.json";
import connections from "./connections.json";
import tests from "./tests.json";
import logs from "./logs.json";
import rules from "./rules.json";
import home from "./home.json";
import unlock from "./unlock.json";
import settings from "./settings.json";
import layout from "./layout.json";
const resources = {
"shared": shared,
"profiles": profiles,
"proxies": proxies,
"connections": connections,
"tests": tests,
"logs": logs,
"rules": rules,
"home": home,
"unlock": unlock,
"settings": settings,
"layout": layout,
};
export default resources;

View File

@@ -0,0 +1,21 @@
{
"components": {
"navigation": {
"tabs": {
"home": "Home",
"proxies": "Proxies",
"profiles": "Profiles",
"connections": "Connections",
"rules": "Rules",
"logs": "Logs",
"unlock": "Test",
"settings": "Settings"
},
"menu": {
"reorderMode": "Menu reorder mode",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
}
}
}
}

5
src/locales/en/logs.json Normal file
View File

@@ -0,0 +1,5 @@
{
"page": {
"title": "Logs"
}
}

View File

@@ -0,0 +1,182 @@
{
"page": {
"actions": {
"updateAll": "Update All Profiles",
"viewRuntimeConfig": "View Runtime Config",
"reactivate": "Reactivate Profiles",
"import": "Import"
},
"batch": {
"actions": {
"delete": "Delete Selected Profiles",
"selectAll": "Select All",
"deselectAll": "Deselect All",
"done": "Done"
},
"summary": {
"selected": "Selected",
"items": "items"
},
"title": "Batch Operations"
},
"importForm": {
"placeholder": "Profile URL",
"actions": {
"paste": "Paste"
}
},
"feedback": {
"errors": {
"invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://",
"onlyYaml": "Only YAML Files Supported"
},
"notifications": {
"importRetry": "Import failed, retrying with Clash proxy...",
"importFail": "Import failed even with Clash proxy",
"importNeedsRefresh": "Profile imported but may need manual refresh",
"importSuccess": "Profile imported successfully, please restart if not visible",
"profileSwitched": "Profile Switched",
"profileReactivated": "Profile Reactivated",
"switchInterrupted": "Profile switch interrupted by new selection",
"batchDeleted": "Selected profiles deleted successfully"
},
"notices": {
"forceRefreshCompleted": "Force refresh completed",
"emergencyRefreshFailed": "Emergency refresh failed: {{message}}"
}
},
"title": "Profiles"
},
"components": {
"card": {
"labels": {
"clickToImport": "Click to import subscription"
}
},
"fileInput": {
"chooseFile": "Choose File"
},
"menu": {
"home": "Home",
"select": "Select",
"editInfo": "Edit Info",
"editFile": "Edit File",
"editRules": "Edit Rules",
"editProxies": "Edit Proxies",
"editGroups": "Edit Proxy Groups",
"extendConfig": "Extend Config",
"extendScript": "Extend Script",
"openFile": "Open File",
"update": "Update",
"updateViaProxy": "Update via proxy"
},
"more": {
"global": {
"merge": "Global Merge",
"script": "Global Script"
},
"chips": {
"merge": "Merge",
"script": "Script"
}
},
"profileItem": {
"tooltips": {
"showLast": "Click to show last update time",
"showNext": "Click to show next update"
},
"status": {
"lastUpdateFailed": "Last Update failed",
"nextUp": "Next Up",
"noSchedule": "No schedule",
"unknown": "Unknown",
"autoUpdateDisabled": "Auto update disabled"
}
}
},
"modals": {
"profileForm": {
"title": {
"create": "Create Profile",
"edit": "Edit Profile"
},
"fields": {
"type": "Type",
"description": "Descriptions",
"subscriptionUrl": "Subscription URL",
"httpTimeout": "HTTP Request Timeout",
"updateInterval": "Update Interval",
"useSystemProxy": "Use System Proxy",
"useClashProxy": "Use Clash Proxy",
"acceptInvalidCerts": "Allows Invalid Certificates (Danger)",
"allowAutoUpdate": "Allow Auto Update"
},
"feedback": {
"notifications": {
"creationRetry": "Profile creation failed, retrying with Clash proxy...",
"creationSuccess": "Profile creation succeeded with Clash proxy"
}
}
},
"proxiesEditor": {
"title": "Edit Proxies",
"placeholders": {
"multiUri": "Use newlines for multiple uri(Base64 encoding supported)"
},
"actions": {
"prepend": "Prepend Proxy",
"append": "Append Proxy"
}
},
"groupsEditor": {
"title": "Edit Proxy Groups",
"errors": {
"nameRequired": "Group Name Required",
"nameExists": "Group Name Already Exists"
},
"fields": {
"type": "Group Type",
"name": "Group Name",
"icon": "Proxy Group Icon",
"proxies": "Use Proxies",
"provider": "Use Provider",
"healthCheckUrl": "Health Check Url",
"expectedStatus": "Expected Status",
"interval": "Interval",
"maxFailedTimes": "Max Failed Times",
"interfaceName": "Interface Name",
"routingMark": "Routing Mark",
"filter": "Filter",
"excludeFilter": "Exclude Filter",
"excludeType": "Exclude Type",
"includeAll": "Include All Proxies and Providers",
"includeAllProxies": "Include All Proxies",
"includeAllProviders": "Include All Providers"
},
"toggles": {
"lazy": "Lazy",
"disableUdp": "Disable UDP",
"hidden": "Hidden"
},
"actions": {
"prepend": "Prepend Group",
"append": "Append Group"
}
},
"editor": {
"actions": {
"format": "Format document"
},
"messages": {
"readOnly": "Cannot edit in read-only editor"
}
},
"confirmDelete": {
"title": "Confirm deletion",
"message": "This operation is not reversible"
},
"logViewer": {
"title": "Script Console"
}
}
}

View File

@@ -0,0 +1,90 @@
{
"page": {
"modes": {
"rule": "Rule",
"global": "Global",
"direct": "Direct"
},
"actions": {
"toggleChain": "🔗 Chain Proxy",
"connect": "Connect",
"disconnect": "Disconnect",
"connecting": "Connecting...",
"clearChainConfig": "Delete Chain Config"
},
"provider": {
"title": "Proxy Provider",
"actions": {
"updateAll": "Update All",
"update": "Update"
}
},
"rules": {
"title": "Proxy Rules",
"select": "Select Rules"
},
"labels": {
"proxyCount": "Proxy Count",
"delayCheckReset": "Delay check to cancel fixed"
},
"tooltips": {
"locate": "locate",
"delayCheck": "Delay check",
"sortDefault": "Sort by default",
"sortDelay": "Sort by delay",
"sortName": "Sort by name",
"delayCheckUrl": "Delay check URL",
"showBasic": "Proxy basic",
"showDetail": "Proxy detail",
"filter": "Filter"
},
"placeholders": {
"delayCheckUrl": "Delay check URL"
},
"chain": {
"header": "Chain Proxy Config",
"empty": "No proxy chain configured",
"instruction": "Click nodes in order to add to proxy chain",
"minimumNodes": "Chain proxy requires at least 2 nodes",
"minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.",
"connectFailed": "Failed to connect to proxy chain",
"disconnectFailed": "Failed to disconnect from proxy chain",
"duplicateNode": "Proxy node already exists in chain"
},
"messages": {
"directMode": "Direct Mode"
},
"title": {
"default": "Proxy Groups",
"chainMode": "Proxy Chain Mode"
}
},
"feedback": {
"notifications": {
"provider": {
"updateSuccess": "{{name}} updated successfully",
"updateFailed": "Failed to update {{name}}: {{message}}",
"genericError": "Update failed: {{message}}",
"none": "No providers available to update",
"allUpdated": "All providers updated successfully"
}
}
},
"components": {
"enums": {
"strategies": {
"select": "Select proxy manually",
"url-test": "Select proxy based on URL test delay",
"fallback": "Switch to another proxy on error",
"load-balance": "Distribute proxy based on load balancing",
"relay": "Pass through the defined proxy chain"
},
"policies": {
"DIRECT": "Data goes directly outbound (DIRECT)",
"REJECT": "Intercepts requests (REJECT)",
"REJECT-DROP": "Discards requests (REJECT-DROP)",
"PASS": "Skips this rule when matched (PASS)"
}
}
}
}

82
src/locales/en/rules.json Normal file
View File

@@ -0,0 +1,82 @@
{
"page": {
"provider": {
"trigger": "Rule Provider",
"dialogTitle": "Rule Providers",
"actions": {
"updateAll": "Update All",
"update": "Update"
}
},
"title": "Rules"
},
"feedback": {
"notifications": {
"provider": {
"updateSuccess": "{{name}} updated successfully",
"updateFailed": "Failed to update {{name}}: {{message}}",
"genericError": "Update failed: {{message}}",
"none": "No providers available to update",
"allUpdated": "All providers updated successfully"
}
}
},
"modals": {
"editor": {
"form": {
"labels": {
"type": "Rule Type",
"content": "Rule Content",
"proxyPolicy": "Proxy Policy"
},
"toggles": {
"noResolve": "No Resolve"
},
"actions": {
"prependRule": "Prepend Rule",
"appendRule": "Append Rule"
},
"validation": {
"conditionRequired": "Rule Condition Required",
"invalidRule": "Invalid Rule"
}
},
"ruleTypes": {
"DOMAIN": "Match full domain (DOMAIN)",
"DOMAIN-SUFFIX": "Match domain suffix (DOMAIN-SUFFIX)",
"DOMAIN-KEYWORD": "Match domain keyword (DOMAIN-KEYWORD)",
"DOMAIN-REGEX": "Match domain using regex (DOMAIN-REGEX)",
"GEOSITE": "Match domains in Geosite (GEOSITE)",
"GEOIP": "Match IP country code (GEOIP)",
"SRC-GEOIP": "Match source IP country code (SRC-GEOIP)",
"IP-ASN": "Match IP ASN (IP-ASN)",
"SRC-IP-ASN": "Match source IP ASN (SRC-IP-ASN)",
"IP-CIDR": "Match IP address range (IP-CIDR)",
"IP-CIDR6": "Match IPv6 address range (IP-CIDR6)",
"SRC-IP-CIDR": "Match source IP address range (SRC-IP-CIDR)",
"IP-SUFFIX": "Match IP suffix range (IP-SUFFIX)",
"SRC-IP-SUFFIX": "Match source IP suffix range (SRC-IP-SUFFIX)",
"SRC-PORT": "Match source port range (SRC-PORT)",
"DST-PORT": "Match destination port range (DST-PORT)",
"IN-PORT": "Match inbound port (IN-PORT)",
"DSCP": "DSCP tag (TPROXY UDP inbound only) (DSCP)",
"PROCESS-NAME": "Match process name (PROCESS-NAME)",
"PROCESS-PATH": "Match full process path (PROCESS-PATH)",
"PROCESS-NAME-REGEX": "Match process name using regex (PROCESS-NAME-REGEX)",
"PROCESS-PATH-REGEX": "Match full process path using regex (PROCESS-PATH-REGEX)",
"NETWORK": "Match network protocol (TCP/UDP) (NETWORK)",
"UID": "Match Linux user ID (UID)",
"IN-TYPE": "Match inbound type (IN-TYPE)",
"IN-USER": "Match inbound username (IN-USER)",
"IN-NAME": "Match inbound name (IN-NAME)",
"SUB-RULE": "Sub-rule (SUB-RULE)",
"RULE-SET": "Match rule set (RULE-SET)",
"AND": "Logical AND (AND)",
"OR": "Logical OR (OR)",
"NOT": "Logical NOT (NOT)",
"MATCH": "Match all requests (MATCH)"
},
"title": "Edit Rules"
}
}
}

View File

@@ -0,0 +1,571 @@
{
"page": {
"actions": {
"manual": "Manual",
"telegram": "Telegram Channel",
"github": "Github Repo"
},
"title": "Settings"
},
"sections": {
"system": {
"title": "System Setting",
"toggles": {
"tunMode": "Tun Mode",
"systemProxy": "System Proxy"
},
"tooltips": {
"autoLaunchAdmin": "Administrator mode may not support auto launch",
"silentStart": "Start the program in background mode without displaying the panel"
},
"fields": {
"autoLaunch": "Auto Launch",
"silentStart": "Silent Start"
},
"notifications": {
"tunMode": {
"autoDisabled": "TUN Mode automatically disabled due to service unavailable",
"autoDisableFailed": "Failed to disable TUN Mode automatically"
}
}
},
"proxyControl": {
"tooltips": {
"systemProxy": "Enable to modify the operating system's proxy settings. If enabling fails, modify the operating system's proxy settings manually",
"tunMode": "Tun (Virtual NIC) mode: Captures all system traffic, when enabled, there is no need to enable system proxy.",
"tunUnavailable": "TUN requires Service Mode or Admin Mode"
},
"actions": {
"installService": "Install Service",
"uninstallService": "Uninstall Service"
},
"fields": {
"systemProxy": "System Proxy",
"tunMode": "Tun Mode"
}
},
"externalController": {
"title": "External Controller",
"fields": {
"enable": "Enable External Controller",
"address": "External Controller",
"secret": "Core Secret"
},
"placeholders": {
"address": "Required",
"secret": "Recommended"
},
"tooltips": {
"copy": "Copy to clipboard"
},
"messages": {
"addressRequired": "Controller address cannot be empty",
"secretRequired": "Secret cannot be empty",
"copyFailed": "Failed to copy",
"controllerCopied": "Controller address copied to clipboard",
"secretCopied": "Secret copied to clipboard"
}
},
"externalCors": {
"title": "External Cors Configuration",
"fields": {
"allowPrivateNetwork": "Allow private network access",
"allowedOrigins": "Allowed Origins"
},
"placeholders": {
"origin": "Please enter a valid url"
},
"actions": {
"add": "Add"
},
"messages": {
"alwaysIncluded": "Always included origins: {{urls}}"
},
"tooltips": {
"open": "External Cors Settings"
}
},
"appearance": {
"light": "Light",
"dark": "Dark",
"system": "System"
},
"clash": {
"title": "Clash Setting",
"form": {
"fields": {
"allowLan": "Allow LAN",
"dnsOverwrite": "DNS Overwrite",
"ipv6": "IPv6",
"unifiedDelay": "Unified Delay",
"logLevel": "Log Level",
"portConfig": "Port Config",
"external": "External",
"webUI": "Web UI",
"clashCore": "Clash Core",
"openUwpTool": "Open UWP tool",
"updateGeoData": "Update GeoData"
},
"tooltips": {
"networkInterface": "Network Interface",
"unifiedDelay": "When unified delay is turned on, two delay tests will be performed to eliminate the delay differences between different types of nodes caused by connection handshakes, etc",
"logLevel": "This parameter is valid only for kernel log files in the log directory Service folder",
"openUwpTool": "Since Windows 8, UWP apps (such as Microsoft Store) are restricted from directly accessing local host network services, and this tool can be used to bypass this restriction"
},
"options": {
"logLevel": {
"debug": "Debug",
"info": "Info",
"warning": "Warn",
"error": "Error",
"silent": "Silent"
}
}
}
}
},
"components": {
"verge": {
"basic": {
"title": "Verge Basic Setting",
"actions": {
"browse": "Browse"
},
"trayOptions": {
"showMainWindow": "Show Main Window",
"showTrayMenu": "Show Tray Menu",
"disable": "Disable"
},
"fields": {
"language": "Language",
"themeMode": "Theme Mode",
"trayClickEvent": "Tray Click Event",
"copyEnvType": "Copy Env Type",
"startPage": "Start Page",
"startupScript": "Startup Script",
"themeSetting": "Theme Setting",
"layoutSetting": "Layout Setting",
"misc": "Miscellaneous",
"hotkeySetting": "Hotkey Setting"
}
},
"advanced": {
"title": "Verge Advanced Setting",
"tooltips": {
"backupInfo": "Support local or WebDAV backup of configuration files",
"openConfDir": "If the software runs abnormally, BACKUP and delete all files in this folder then restart the software",
"liteMode": "Close the GUI and keep only the kernel running"
},
"actions": {
"copyVersion": "Copy Version"
},
"notifications": {
"latestVersion": "Currently on the Latest Version",
"versionCopied": "Version copied to clipboard"
},
"fields": {
"backupSetting": "Backup Setting",
"runtimeConfig": "Runtime Config",
"openConfDir": "Open Conf Dir",
"openCoreDir": "Open Core Dir",
"openLogsDir": "Open Logs Dir",
"checkUpdates": "Check for Updates",
"openDevTools": "Dev Tools",
"liteModeSettings": "LightWeight Mode Settings",
"exit": "Exit",
"exportDiagnostics": "Export Diagnostic Info",
"vergeVersion": "Verge Version"
}
},
"theme": {
"title": "Theme Setting",
"fields": {
"primaryColor": "Primary Color",
"secondaryColor": "Secondary Color",
"primaryText": "Primary Text",
"secondaryText": "Secondary Text",
"infoColor": "Info Color",
"warningColor": "Warning Color",
"errorColor": "Error Color",
"successColor": "Success Color",
"fontFamily": "Font Family",
"cssInjection": "CSS Injection"
},
"actions": {
"editCss": "Edit CSS"
},
"dialogs": {
"editCssTitle": "Edit CSS"
}
},
"layout": {
"title": "Layout Setting",
"fields": {
"preferSystemTitlebar": "Prefer System Titlebar",
"trafficGraph": "Traffic Graph",
"memoryUsage": "Core Usage",
"proxyGroupIcon": "Proxy Group Icon",
"hoverNavigator": "Hover Jump Navigator",
"hoverNavigatorDelay": "Hover Jump Navigator Delay",
"navIcon": "Nav Icon",
"trayIcon": "Tray Icon",
"showProxyGroupsInline": "Show Proxy Groups Inline",
"commonTrayIcon": "Common Tray Icon",
"systemProxyTrayIcon": "System Proxy Tray Icon",
"tunTrayIcon": "Tun Tray Icon",
"enableTrayIcon": "Enable Tray Icon",
"enableTraySpeed": "Enable Tray Speed"
},
"tooltips": {
"hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters",
"hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds"
},
"options": {
"icon": {
"monochrome": "Monochrome",
"colorful": "Colorful",
"disable": "Disable"
}
}
}
}
},
"modals": {
"clashPort": {
"title": "Port Config",
"fields": {
"mixed": "Mixed Port",
"socks": "Socks Port",
"http": "Http(s) Port",
"redir": "Redir Port",
"tproxy": "Tproxy Port"
},
"actions": {
"random": "Random Port"
},
"messages": {
"saved": "Port settings saved",
"saveFailed": "Failed to save port settings"
}
},
"clashCore": {
"variants": {
"release": "Release Version",
"alpha": "Alpha Version"
}
},
"liteMode": {
"title": "LightWeight Mode Settings",
"actions": {
"enterNow": "Enter LightWeight Mode Now"
},
"toggles": {
"autoEnter": "Auto Enter LightWeight Mode"
},
"tooltips": {
"autoEnter": "Enable to automatically activate LightWeight Mode after the window is closed for a period of time"
},
"fields": {
"delay": "Auto Enter LightWeight Mode Delay"
},
"messages": {
"autoEnterHint": "When closing the window, LightWeight Mode will be automatically activated after {{n}} minutes"
}
},
"backup": {
"title": "Backup Setting",
"tabs": {
"local": "Local backup",
"webdav": "WebDAV backup"
},
"actions": {
"selectTarget": "Select backup target",
"backup": "Backup",
"export": "Export",
"exportBackup": "Export Backup",
"deleteBackup": "Delete Backup",
"restore": "Restore",
"restoreBackup": "Restore Backup"
},
"fields": {
"webdavUrl": "WebDAV Server URL",
"username": "Username",
"info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups."
},
"messages": {
"webdavUrlRequired": "WebDAV URL cannot be empty",
"invalidWebdavUrl": "Invalid WebDAV URL format",
"usernameRequired": "Username cannot be empty",
"passwordRequired": "Password cannot be empty",
"webdavConfigSaved": "WebDAV configuration saved successfully",
"webdavConfigSaveFailed": "Failed to save WebDAV configuration: {{error}}",
"backupCreated": "Backup created successfully",
"backupFailed": "Backup failed: {{error}}",
"localBackupCreated": "Local backup created successfully",
"localBackupFailed": "Local backup failed",
"restoreSuccess": "Restore Success, App will restart in 1s",
"localBackupExported": "Local backup exported successfully",
"localBackupExportFailed": "Failed to export local backup",
"confirmDelete": "Confirm to delete this backup file?",
"confirmRestore": "Confirm to restore this backup file?"
},
"table": {
"filename": "Filename",
"backupTime": "Backup Time",
"actions": "Actions",
"noBackups": "No backups available",
"rowsPerPage": "Rows per page"
}
},
"misc": {
"title": "Miscellaneous",
"fields": {
"appLogLevel": "App Log Level",
"appLogMaxSize": "App Log Max Size",
"appLogMaxCount": "App Log Max Count",
"autoCloseConnections": "Auto Close Connections",
"autoCheckUpdate": "Auto Check Update",
"enableBuiltinEnhanced": "Enable Builtin Enhanced",
"proxyLayoutColumns": "Proxy Layout Columns",
"autoLogClean": "Auto Log Clean",
"autoDelayDetection": "Auto Delay Detection",
"defaultLatencyTest": "Default Latency Test",
"defaultLatencyTimeout": "Default Latency Timeout"
},
"tooltips": {
"autoCloseConnections": "Terminate established connections when the proxy group selection or proxy mode changes",
"enableBuiltinEnhanced": "Compatibility handling for the configuration file",
"autoDelayDetection": "Periodically test the current node latency in the background",
"defaultLatencyTest": "Used for HTTP client request testing only and won't make a difference to the configuration file"
},
"options": {
"proxyLayoutColumns": {
"auto": "Auto Columns"
},
"autoLogClean": {
"never": "Never Clean",
"retainDays": "Retain {{n}} Days"
}
}
},
"update": {
"title": "New Version v{{version}}",
"actions": {
"goToRelease": "Go to Release Page",
"update": "Update"
},
"messages": {
"portableError": "The portable version does not support in-app updates. Please manually download and replace it",
"breakChangeError": "This version is a major update and does not support in-app updates. Please uninstall it and manually download and install the new version"
}
},
"sysproxy": {
"title": "System Proxy Setting",
"fieldsets": {
"currentStatus": "Current System Proxy"
},
"fields": {
"enableStatus": "Enable Status:",
"serverAddr": "Server Addr: ",
"pacUrl": "PAC URL: ",
"proxyHost": "Proxy Host",
"usePacMode": "Use PAC Mode",
"proxyGuard": "Proxy Guard",
"guardDuration": "Guard Duration",
"alwaysUseDefaultBypass": "Always use Default Bypass",
"proxyBypass": "Proxy Bypass Settings: ",
"bypass": "Bypass: ",
"pacScriptContent": "PAC Script Content"
},
"tooltips": {
"proxyGuard": "Enable to prevent other software from modifying the operating system's proxy settings"
},
"messages": {
"durationTooShort": "Proxy Daemon Duration Cannot be Less than 1 Second",
"invalidBypass": "Invalid Bypass Format",
"invalidProxyHost": "Invalid Proxy Host Format"
},
"actions": {
"editPac": "Edit PAC"
}
},
"tun": {
"title": "Tun Mode",
"fields": {
"stack": "Tun Stack",
"device": "Device Name",
"autoRoute": "Auto Route",
"strictRoute": "Strict Route",
"autoDetectInterface": "Auto Detect Interface",
"dnsHijack": "DNS Hijack",
"mtu": "Max Transmission Unit"
},
"tooltips": {
"dnsHijack": "Please use , to separate multiple DNS servers"
},
"messages": {
"applied": "Settings Applied"
}
},
"dns": {
"dialog": {
"title": "DNS Overwrite",
"warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled"
},
"sections": {
"general": "DNS Settings",
"fallbackFilter": "Fallback Filter Settings",
"hosts": "Hosts Settings"
},
"fields": {
"enable": "Enable DNS",
"listen": "DNS Listen",
"enhancedMode": "Enhanced Mode",
"fakeIpRange": "Fake IP Range",
"fakeIpFilterMode": "Fake IP Filter Mode",
"ipv6": {
"label": "IPv6",
"description": "Enable IPv6 DNS resolution"
},
"preferH3": {
"label": "Prefer H3",
"description": "DNS DOH uses HTTP/3"
},
"respectRules": {
"label": "Respect Rules",
"description": "DNS connections follow routing rules"
},
"useHosts": {
"label": "Use Hosts",
"description": "Enable to resolve hosts through hosts file"
},
"useSystemHosts": {
"label": "Use System Hosts",
"description": "Enable to resolve hosts through system hosts file"
},
"directPolicy": {
"label": "Direct Nameserver Follow Policy",
"description": "Whether to follow nameserver policy"
},
"defaultNameserver": {
"label": "Default Nameserver",
"description": "Default DNS servers used to resolve DNS servers"
},
"nameserver": {
"label": "Nameserver",
"description": "List of DNS servers, comma separated"
},
"fallback": {
"label": "Fallback",
"description": "List of fallback DNS servers, comma separated"
},
"proxy": {
"label": "Proxy Server Nameserver",
"description": "DNS servers for proxy node domain resolution"
},
"directNameserver": {
"label": "Direct Nameserver",
"description": "DNS servers for direct exit domain resolution, supports 'system' keyword, comma separated"
},
"fakeIpFilter": {
"label": "Fake IP Filter",
"description": "Domains that skip fake IP resolution, comma separated"
},
"nameserverPolicy": {
"label": "Nameserver Policy",
"description": "Domain-specific DNS server, multiple servers separated by semicolons, format: domain=server1;server2"
},
"geoipFiltering": {
"label": "GeoIP Filtering",
"description": "Enable GeoIP filtering for fallback"
},
"geoipCode": "GeoIP Code",
"fallbackIpCidr": {
"label": "Fallback IP CIDR",
"description": "IP CIDRs not using fallback servers, comma separated"
},
"fallbackDomain": {
"label": "Fallback Domain",
"description": "Domains using fallback servers, comma separated"
},
"hosts": {
"label": "Hosts",
"description": "Custom domain to IP or domain mapping"
}
},
"messages": {
"saved": "DNS settings saved",
"configError": "DNS configuration error:"
},
"errors": {
"invalid": "Invalid configuration"
}
},
"webUI": {
"actions": {
"openUrl": "Open URL"
},
"title": "Web UI",
"messages": {
"supportedPlaceholders": "Support %host, %port, %secret",
"placeholderInstruction": "Replace host, port, secret with %host, %port, %secret"
}
},
"hotkey": {
"toggles": {
"enableGlobal": "Enable Global Hotkey"
},
"title": "Hotkey Setting",
"functions": {
"rule": "Rule Mode",
"global": "Global Mode",
"openOrCloseDashboard": "Open/Close Dashboard",
"toggleSystemProxy": "Enable/Disable System Proxy",
"toggleTunMode": "Enable/Disable Tun Mode",
"entryLightweightMode": "Entry Lightweight Mode",
"direct": "Direct Mode"
}
},
"password": {
"prompts": {
"enterRoot": "Please enter your root password"
}
},
"networkInterface": {
"title": "Network Interface",
"fields": {
"ipAddress": "IP Address",
"macAddress": "MAC Address"
}
}
},
"feedback": {
"notifications": {
"clash": {
"restartSuccess": "Clash Core Restarted",
"versionUpdated": "Core Version Updated",
"changeSuccess": "Core changed successfully",
"changeFailed": "Failed to change core",
"geoDataUpdated": "GeoData Updated"
},
"clashService": {
"installSuccess": "Service Installed Successfully",
"uninstallSuccess": "Service Uninstalled Successfully"
},
"updater": {
"withClashProxySuccess": "Update with Clash proxy successfully",
"withClashProxyFailed": "Update failed even with Clash proxy"
}
}
},
"statuses": {
"clash": {
"stopping": "Stopping Core...",
"restarting": "Restarting Core..."
},
"clashService": {
"installing": "Installing Service...",
"uninstalling": "Uninstalling Service..."
}
}
}

128
src/locales/en/shared.json Normal file
View File

@@ -0,0 +1,128 @@
{
"actions": {
"cancel": "Cancel",
"close": "Close",
"confirm": "Confirm",
"save": "Save",
"delete": "Delete",
"edit": "Edit",
"new": "New",
"enable": "Enable",
"upgrade": "Upgrade",
"restart": "Restart",
"resetToDefault": "Reset to Default",
"refresh": "Refresh",
"retry": "Retry",
"refreshPage": "Refresh Page",
"showDetails": "Show Details",
"hideDetails": "Hide Details",
"listView": "List View",
"tableView": "Table View",
"pause": "Pause",
"resume": "Resume",
"closeAll": "Close All",
"clear": "Clear"
},
"labels": {
"updateAt": "Update At",
"timeout": "Timeout",
"icon": "Icon",
"name": "Name",
"readOnly": "ReadOnly",
"expireTime": "Expire Time",
"updateTime": "Update Time",
"usedTotal": "Used / Total",
"from": "From",
"password": "Password",
"retryAttempts": "Retry attempts",
"downloaded": "Downloaded",
"uploaded": "Uploaded"
},
"statuses": {
"enabled": "Enabled",
"disabled": "Disabled",
"saving": "Saving...",
"empty": "Empty"
},
"units": {
"milliseconds": "ms",
"seconds": "seconds",
"minutes": "mins",
"kilobytes": "KB",
"files": "Files"
},
"placeholders": {
"filter": "Filter conditions",
"matchCase": "Match Case",
"matchWholeWord": "Match Whole Word",
"useRegex": "Use Regular Expression"
},
"validation": {
"invalidRegex": "Invalid regular expression"
},
"window": {
"maximize": "Maximize",
"minimize": "Minimize"
},
"editorModes": {
"visualization": "Visualization",
"advanced": "Advanced"
},
"feedback": {
"errors": {
"trafficStats": "Traffic Statistics Error",
"trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes."
},
"notices": {
"raw": "{{message}}",
"prefixedRaw": "{{prefix}} {{message}}"
},
"notifications": {
"importSuccess": "Profile Imported Successfully",
"importSubscriptionSuccess": "Import subscription successful",
"importWithClashProxy": "Profile Imported with Clash proxy",
"saved": "Saved successfully",
"common": {
"copySuccess": "Copy Success",
"saveSuccess": "Configuration saved successfully",
"saveFailed": "Failed to save configuration"
}
},
"validation": {
"config": {
"failed": "Subscription configuration validation failed. Please check the subscription configuration file; modifications have been rolled back.",
"bootFailed": "Boot subscription configuration validation failed. Started with the default configuration; please check the subscription configuration file.",
"coreChangeFailed": "Configuration validation failed when switching the kernel. Started with the default configuration; please check the subscription configuration file.",
"processTerminated": "The validation process has been terminated."
},
"script": {
"syntaxError": "Script syntax error, changes reverted",
"missingMain": "Script error, changes reverted",
"fileNotFound": "File missing, changes reverted",
"fileError": "Script file error, changes reverted"
},
"yaml": {
"syntaxError": "YAML syntax error, changes reverted",
"readError": "YAML read error, changes reverted",
"mappingError": "YAML mapping error, changes reverted",
"keyError": "YAML key error, changes reverted",
"generalError": "YAML error, changes reverted"
},
"merge": {
"syntaxError": "Merge file syntax error, changes reverted",
"mappingError": "Merge file mapping error, changes reverted",
"keyError": "Merge file key error, changes reverted",
"generalError": "Merge file error, changes reverted"
}
}
},
"filters": {
"logLevels": {
"all": "ALL",
"debug": "DEBUG",
"info": "INFO",
"warn": "WARN",
"error": "ERROR"
}
}
}

40
src/locales/en/tests.json Normal file
View File

@@ -0,0 +1,40 @@
{
"page": {
"actions": {
"testAll": "Test All"
},
"title": "Test"
},
"components": {
"item": {
"actions": {
"test": "Test"
}
}
},
"modals": {
"test": {
"title": {
"create": "Create Test",
"edit": "Edit Test"
},
"fields": {
"url": "Test URL"
}
}
},
"statuses": {
"test": {
"pending": "Pending",
"yes": "Yes",
"no": "No",
"failed": "Failed",
"completed": "Completed",
"disallowedIsp": "Disallowed ISP",
"originalsOnly": "Originals Only",
"noDisney": "No (IP Banned By Disney+)",
"unsupportedRegion": "Unsupported Country/Region",
"failedNetwork": "Failed (Network Connection)"
}
}
}

View File

@@ -0,0 +1,12 @@
{
"page": {
"actions": {
"testing": "Testing..."
},
"empty": "No unlock test items",
"messages": {
"detectionTimeout": "Detection timeout or failed"
},
"title": "Unlock Test"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,28 @@
{
"page": {
"title": "Conexiones"
},
"components": {
"fields": {
"host": "Host",
"dlSpeed": "Velocidad de descarga",
"ulSpeed": "Velocidad de subida",
"chains": "Cadenas",
"rule": "Regla",
"process": "Proceso",
"time": "Tiempo de conexión",
"source": "Dirección de origen",
"destination": "Dirección de destino",
"destinationPort": "Puerto de destino",
"type": "Tipo"
},
"order": {
"default": "Default",
"uploadSpeed": "Velocidad de subida",
"downloadSpeed": "Velocidad de descarga"
},
"actions": {
"closeConnection": "Cerrar conexión"
}
}
}

138
src/locales/es/home.json Normal file
View File

@@ -0,0 +1,138 @@
{
"page": {
"tooltips": {
"lightweightMode": "Modo ligero",
"manual": "Manual de uso",
"settings": "Configuración de la página de inicio"
},
"cards": {
"trafficStats": "Estadísticas de tráfico",
"networkSettings": "Configuración de red",
"proxyMode": "Modo de proxy"
},
"settings": {
"cards": {
"profile": "Tarjeta de suscripción",
"currentProxy": "Tarjeta de proxy actual",
"network": "Tarjeta de configuración de red",
"proxyMode": "Tarjeta de modo de proxy",
"traffic": "Tarjeta de estadísticas de tráfico",
"tests": "Tarjeta de pruebas de sitios web",
"ip": "Tarjeta de información de IP",
"clashInfo": "Tarjetas de información de Clash",
"systemInfo": "Tarjetas de información del sistema"
},
"title": "Configuración de la página de inicio"
},
"title": "Hogar"
},
"components": {
"proxyTun": {
"status": {
"systemProxyEnabled": "El proxy del sistema está habilitado. Sus aplicaciones accederán a Internet a través del proxy.",
"systemProxyDisabled": "El proxy del sistema está deshabilitado. Se recomienda a la mayoría de los usuarios habilitar esta opción.",
"tunModeServiceRequired": "El modo TUN requiere el modo de servicio. Instale el servicio primero.",
"tunModeEnabled": "El modo TUN está habilitado. Las aplicaciones accederán a Internet a través de la interfaz virtual.",
"tunModeDisabled": "El modo TUN está deshabilitado. Este modo es adecuado para aplicaciones especiales."
},
"tooltips": {
"systemProxy": "Modifica la configuración del proxy del sistema operativo. Si no se puede habilitar, puede modificar manualmente la configuración del proxy del sistema operativo.",
"tunMode": "El modo TUN puede gestionar todo el tráfico de las aplicaciones. Es adecuado para aplicaciones que no siguen la configuración del proxy del sistema."
}
},
"clashInfo": {
"title": "Información de Clash",
"fields": {
"coreVersion": "Versión del núcleo",
"systemProxyAddress": "Dirección del proxy del sistema",
"mixedPort": "Mixed Port",
"uptime": "Tiempo de actividad",
"rulesCount": "Número de reglas"
}
},
"systemInfo": {
"title": "Información del sistema",
"fields": {
"osInfo": "Información del sistema operativo",
"autoLaunch": "Inicio automático al arrancar el sistema",
"runningMode": "Modo de ejecución",
"lastCheckUpdate": "Última comprobación de actualizaciones",
"vergeVersion": "Versión de Verge"
},
"actions": {
"settings": "Ajustes"
},
"tooltips": {
"autoLaunchAdmin": "El modo de administrador puede no admitir el inicio automático."
},
"badges": {
"adminMode": "Modo de administrador",
"serviceMode": "Modo de servicio",
"sidecarMode": "Modo de usuario",
"adminServiceMode": "Admin + Service Mode"
}
},
"ipInfo": {
"title": "Información de IP",
"labels": {
"ip": "IP",
"asn": "Número de sistema autónomo",
"isp": "Proveedor de servicios de Internet",
"org": "Organización",
"location": "Ubicación",
"timezone": "Zona horaria",
"autoRefresh": "Actualización automática",
"unknown": "Desconocido"
},
"errors": {
"load": "Error al obtener la información de IP"
}
},
"currentProxy": {
"title": "Nodo actual",
"actions": {
"refreshDelay": "Prueba de latencia"
},
"labels": {
"globalMode": "Global Mode",
"directMode": "Direct Mode",
"group": "Grupo de proxy",
"proxy": "Nodo",
"noActiveNode": "No hay nodos de proxy activos"
}
},
"tests": {
"title": "Pruebas de sitios web"
},
"traffic": {
"metrics": {
"uploadSpeed": "Velocidad de subida",
"downloadSpeed": "Velocidad de descarga",
"activeConnections": "Conexiones activas",
"memoryUsage": "Uso de memoria del núcleo"
},
"legends": {
"upload": "Subir",
"download": "Descargar"
},
"patterns": {
"minutes": "{{time}} Minutes"
}
},
"clashMode": {
"errors": {
"communication": "Core communication error"
},
"labels": {
"rule": "Modo de reglas",
"global": "Modo global",
"direct": "Modo de conexión directa"
},
"descriptions": {
"rule": "Automatically choose proxies according to the rule set.",
"global": "Forward all network requests through the selected proxy.",
"direct": "Bypass the proxy and connect to the internet directly."
}
}
}
}

27
src/locales/es/index.ts Normal file
View File

@@ -0,0 +1,27 @@
import shared from "./shared.json";
import profiles from "./profiles.json";
import proxies from "./proxies.json";
import connections from "./connections.json";
import tests from "./tests.json";
import logs from "./logs.json";
import rules from "./rules.json";
import home from "./home.json";
import unlock from "./unlock.json";
import settings from "./settings.json";
import layout from "./layout.json";
const resources = {
"shared": shared,
"profiles": profiles,
"proxies": proxies,
"connections": connections,
"tests": tests,
"logs": logs,
"rules": rules,
"home": home,
"unlock": unlock,
"settings": settings,
"layout": layout,
};
export default resources;

View File

@@ -0,0 +1,21 @@
{
"components": {
"navigation": {
"tabs": {
"home": "Hogar",
"proxies": "Proxies",
"profiles": "Perfiles",
"connections": "Conexiones",
"rules": "Normas",
"logs": "Registros",
"unlock": "Descubrir",
"settings": "Ajustes"
},
"menu": {
"reorderMode": "Menu reorder mode",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
}
}
}
}

5
src/locales/es/logs.json Normal file
View File

@@ -0,0 +1,5 @@
{
"page": {
"title": "Registros"
}
}

View File

@@ -0,0 +1,182 @@
{
"page": {
"actions": {
"updateAll": "Actualizar todas las suscripciones",
"viewRuntimeConfig": "Ver configuración en tiempo de ejecución",
"reactivate": "Reactivar suscripciones",
"import": "Importar"
},
"batch": {
"actions": {
"delete": "Delete Selected Profiles",
"selectAll": "Select All",
"deselectAll": "Deselect All",
"done": "Done"
},
"summary": {
"selected": "Selected",
"items": "items"
},
"title": "Batch Operations"
},
"importForm": {
"placeholder": "Enlace del archivo de suscripción",
"actions": {
"paste": "Pegar"
}
},
"feedback": {
"errors": {
"invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://",
"onlyYaml": "Solo se admiten archivos YAML"
},
"notifications": {
"importRetry": "Error al importar la suscripción. Intentando con el proxy de Clash...",
"importFail": "Error al importar incluso con el proxy de Clash",
"importNeedsRefresh": "Profile imported but may need manual refresh",
"importSuccess": "Profile imported successfully, please restart if not visible",
"profileSwitched": "Suscripción cambiada",
"profileReactivated": "Suscripción reactivada",
"switchInterrupted": "Profile switch interrupted by new selection",
"batchDeleted": "Selected profiles deleted successfully"
},
"notices": {
"forceRefreshCompleted": "Force refresh completed",
"emergencyRefreshFailed": "Emergency refresh failed: {{message}}"
}
},
"title": "Suscripciones"
},
"components": {
"card": {
"labels": {
"clickToImport": "Haga clic para importar una suscripción"
}
},
"fileInput": {
"chooseFile": "Elegir archivo"
},
"menu": {
"home": "Hogar",
"select": "Usar",
"editInfo": "Editar información",
"editFile": "Editar archivo",
"editRules": "Editar reglas",
"editProxies": "Editar nodos",
"editGroups": "Editar grupos de proxy",
"extendConfig": "Configurar sobrescritura extendida",
"extendScript": "Script extendido",
"openFile": "Abrir archivo",
"update": "Actualizar",
"updateViaProxy": "Update via proxy"
},
"more": {
"global": {
"merge": "Global Merge",
"script": "Global Script"
},
"chips": {
"merge": "Merge",
"script": "Script"
}
},
"profileItem": {
"tooltips": {
"showLast": "Click to show last update time",
"showNext": "Click to show next update"
},
"status": {
"lastUpdateFailed": "La última actualización falló",
"nextUp": "Próxima actualización",
"noSchedule": "Sin programación",
"unknown": "Desconocido",
"autoUpdateDisabled": "La actualización automática está deshabilitada"
}
}
},
"modals": {
"profileForm": {
"title": {
"create": "Crear configuración",
"edit": "Editar configuración"
},
"fields": {
"type": "Tipo",
"description": "Descripción",
"subscriptionUrl": "Enlace de suscripción",
"httpTimeout": "HTTP Request Timeout",
"updateInterval": "Intervalo de actualización",
"useSystemProxy": "Usar proxy del sistema para actualizar",
"useClashProxy": "Usar proxy del núcleo para actualizar",
"acceptInvalidCerts": "Allows Invalid Certificates (Danger)",
"allowAutoUpdate": "Allow Auto Update"
},
"feedback": {
"notifications": {
"creationRetry": "Error al crear la suscripción. Intentando con el proxy de Clash...",
"creationSuccess": "Creación de la suscripción con el proxy de Clash exitosa"
}
}
},
"proxiesEditor": {
"title": "Editar nodos",
"placeholders": {
"multiUri": "Para múltiples URI, utilice saltos de línea (se admite la codificación Base64)"
},
"actions": {
"prepend": "Agregar nodo de proxy previo",
"append": "Agregar nodo de proxy posterior"
}
},
"groupsEditor": {
"title": "Editar grupos de proxy",
"errors": {
"nameRequired": "El nombre del grupo de proxy no puede estar vacío",
"nameExists": "El nombre del grupo de proxy ya existe"
},
"fields": {
"type": "Tipo de grupo de proxy",
"name": "Nombre del grupo de proxy",
"icon": "Icono del grupo de proxy",
"proxies": "Incluir proxies",
"provider": "Incluir proveedor de proxies",
"healthCheckUrl": "URL de prueba de salud",
"expectedStatus": "Código de estado esperado",
"interval": "Intervalo de comprobación",
"maxFailedTimes": "Número máximo de fallos",
"interfaceName": "Nombre de la interfaz de salida",
"routingMark": "Marca de enrutamiento",
"filter": "Filtrar nodos",
"excludeFilter": "Excluir nodos",
"excludeType": "Tipo de nodo a excluir",
"includeAll": "Incluir todos los proxies de salida y proveedores de proxies",
"includeAllProxies": "Incluir todos los proxies de salida",
"includeAllProviders": "Incluir todos los proveedores de proxies"
},
"toggles": {
"lazy": "Estado de inactividad",
"disableUdp": "Deshabilitar UDP",
"hidden": "Ocultar grupo de proxy"
},
"actions": {
"prepend": "Agregar grupo de proxy previo",
"append": "Agregar grupo de proxy posterior"
}
},
"editor": {
"actions": {
"format": "Formatear documento"
},
"messages": {
"readOnly": "No se puede editar en modo de solo lectura"
}
},
"confirmDelete": {
"title": "Confirmar eliminación",
"message": "Esta operación no se puede deshacer"
},
"logViewer": {
"title": "Salida de la consola del script"
}
}
}

View File

@@ -0,0 +1,90 @@
{
"page": {
"modes": {
"rule": "Rule",
"global": "Global",
"direct": "Direct"
},
"actions": {
"toggleChain": "🔗 Proxy en cadena",
"connect": "Connect",
"disconnect": "Disconnect",
"connecting": "Connecting...",
"clearChainConfig": "Delete Chain Config"
},
"provider": {
"title": "Proveedor de proxies",
"actions": {
"updateAll": "Actualizar todo",
"update": "Actualizar"
}
},
"rules": {
"title": "Proxy Rules",
"select": "Select Rules"
},
"labels": {
"proxyCount": "Número de nodos",
"delayCheckReset": "Realizar prueba de latencia para cancelar la fijación"
},
"tooltips": {
"locate": "Nodo actual",
"delayCheck": "Prueba de latencia",
"sortDefault": "Ordenación predeterminada",
"sortDelay": "Ordenar por latencia",
"sortName": "Ordenar por nombre",
"delayCheckUrl": "URL de prueba de latencia",
"showBasic": "Ocultar detalles del nodo",
"showDetail": "Mostrar detalles del nodo",
"filter": "Filtrar nodos"
},
"placeholders": {
"delayCheckUrl": "URL de prueba de latencia"
},
"chain": {
"header": "Chain Proxy Config",
"empty": "No proxy chain configured",
"instruction": "Click nodes in order to add to proxy chain",
"minimumNodes": "Chain proxy requires at least 2 nodes",
"minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.",
"connectFailed": "Failed to connect to proxy chain",
"disconnectFailed": "Failed to disconnect from proxy chain",
"duplicateNode": "Proxy node already exists in chain"
},
"messages": {
"directMode": "Modo de conexión directa"
},
"title": {
"default": "Grupos de proxies",
"chainMode": "Proxy Chain Mode"
}
},
"feedback": {
"notifications": {
"provider": {
"updateSuccess": "{{name}} updated successfully",
"updateFailed": "Failed to update {{name}}: {{message}}",
"genericError": "Update failed: {{message}}",
"none": "No providers available to update",
"allUpdated": "All providers updated successfully"
}
}
},
"components": {
"enums": {
"strategies": {
"select": "Seleccionar proxy manualmente",
"url-test": "Seleccionar proxy según la prueba de latencia de la URL",
"fallback": "Cambiar a otro proxy cuando no esté disponible",
"load-balance": "Asignar proxy según el equilibrio de carga",
"relay": "Transferir según la cadena de proxy definida"
},
"policies": {
"DIRECT": "Conexión directa",
"REJECT": "Rechazar solicitud",
"REJECT-DROP": "Descartar solicitud",
"PASS": "Saltar esta regla"
}
}
}
}

82
src/locales/es/rules.json Normal file
View File

@@ -0,0 +1,82 @@
{
"page": {
"provider": {
"trigger": "Proveedor de reglas",
"dialogTitle": "Proveedor de reglas",
"actions": {
"updateAll": "Actualizar todo",
"update": "Actualizar"
}
},
"title": "Reglas"
},
"feedback": {
"notifications": {
"provider": {
"updateSuccess": "{{name}} updated successfully",
"updateFailed": "Failed to update {{name}}: {{message}}",
"genericError": "Update failed: {{message}}",
"none": "No providers available to update",
"allUpdated": "All providers updated successfully"
}
}
},
"modals": {
"editor": {
"form": {
"labels": {
"type": "Tipo de regla",
"content": "Contenido de la regla",
"proxyPolicy": "Política de proxy"
},
"toggles": {
"noResolve": "Omitir resolución DNS"
},
"actions": {
"prependRule": "Agregar regla previa",
"appendRule": "Agregar regla posterior"
},
"validation": {
"conditionRequired": "Falta la condición de la regla",
"invalidRule": "Regla no válida"
}
},
"ruleTypes": {
"DOMAIN": "Coincidir con el nombre de dominio completo",
"DOMAIN-SUFFIX": "Coincidir con el sufijo del nombre de dominio",
"DOMAIN-KEYWORD": "Coincidir con la palabra clave del nombre de dominio",
"DOMAIN-REGEX": "Coincidir con la expresión regular del nombre de dominio",
"GEOSITE": "Coincidir con los nombres de dominio en Geosite",
"GEOIP": "Coincidir con el código de país del IP",
"SRC-GEOIP": "Coincidir con el código de país del IP de origen",
"IP-ASN": "Coincidir con el ASN del IP",
"SRC-IP-ASN": "Coincidir con el ASN del IP de origen",
"IP-CIDR": "Coincidir con el rango de direcciones IP",
"IP-CIDR6": "Coincidir con el rango de direcciones IP",
"SRC-IP-CIDR": "Coincidir con el rango de direcciones IP de origen",
"IP-SUFFIX": "Coincidir con el rango de sufijos de IP",
"SRC-IP-SUFFIX": "Coincidir con el rango de sufijos de IP de origen",
"SRC-PORT": "Coincidir con el rango de puertos de origen de la solicitud",
"DST-PORT": "Coincidir con el rango de puertos de destino de la solicitud",
"IN-PORT": "Coincidir con el puerto de entrada",
"DSCP": "Etiqueta DSCP (solo para entradas UDP TPROXY)",
"PROCESS-NAME": "Coincidir con el nombre del proceso (nombre del paquete de Android)",
"PROCESS-PATH": "Coincidir con la ruta completa del proceso",
"PROCESS-NAME-REGEX": "Coincidir con el nombre completo del proceso mediante expresiones regulares (nombre del paquete de Android)",
"PROCESS-PATH-REGEX": "Coincidir con la ruta completa del proceso mediante expresiones regulares",
"NETWORK": "Coincidir con el protocolo de transporte (TCP/UDP)",
"UID": "Coincidir con el ID de usuario de Linux",
"IN-TYPE": "Coincidir con el tipo de entrada",
"IN-USER": "Coincidir con el nombre de usuario de entrada",
"IN-NAME": "Coincidir con el nombre de entrada",
"SUB-RULE": "Subregla",
"RULE-SET": "Coincidir con el conjunto de reglas",
"AND": "Y lógico",
"OR": "O lógico",
"NOT": "No lógico",
"MATCH": "Coincidir con todas las solicitudes"
},
"title": "Editar reglas"
}
}
}

View File

@@ -0,0 +1,571 @@
{
"page": {
"actions": {
"manual": "Manual de uso",
"telegram": "Canal de Telegram",
"github": "Dirección del proyecto en GitHub"
},
"title": "Ajustes"
},
"sections": {
"system": {
"title": "Ajustes del sistema",
"toggles": {
"tunMode": "Modo de interfaz virtual (TUN)",
"systemProxy": "Proxy del sistema"
},
"tooltips": {
"autoLaunchAdmin": "El modo de administrador puede no admitir el inicio automático.",
"silentStart": "El programa se ejecutará en segundo plano al iniciarse y no mostrará el panel."
},
"fields": {
"autoLaunch": "Inicio automático",
"silentStart": "Inicio silencioso"
},
"notifications": {
"tunMode": {
"autoDisabled": "TUN Mode automatically disabled due to service unavailable",
"autoDisableFailed": "Failed to disable TUN Mode automatically"
}
}
},
"proxyControl": {
"tooltips": {
"systemProxy": "Modifica la configuración del proxy del sistema operativo. Si no se puede habilitar, puede modificar manualmente la configuración del proxy del sistema operativo.",
"tunMode": "El modo TUN (interfaz virtual) gestiona todo el tráfico del sistema. No es necesario habilitar el proxy del sistema cuando está activado.",
"tunUnavailable": "El modo TUN requiere el modo de servicio o el modo de administrador"
},
"actions": {
"installService": "Instalar servicio",
"uninstallService": "Desinstalar servicio"
},
"fields": {
"systemProxy": "Proxy del sistema",
"tunMode": "Modo de interfaz virtual (TUN)"
}
},
"externalController": {
"title": "Dirección de escucha del controlador externo",
"fields": {
"enable": "Habilitar controlador externo",
"address": "Dirección de escucha del controlador externo",
"secret": "Clave de acceso a la API"
},
"placeholders": {
"address": "Requerido",
"secret": "Configuración recomendada"
},
"tooltips": {
"copy": "Copiar al portapapeles"
},
"messages": {
"addressRequired": "La dirección del controlador no puede estar vacía",
"secretRequired": "La clave secreta no puede estar vacía",
"copyFailed": "Error al copiar",
"controllerCopied": "El puerto API se copió al portapapeles",
"secretCopied": "La clave API se copió al portapapeles"
}
},
"externalCors": {
"title": "Configuración de CORS externo",
"fields": {
"allowPrivateNetwork": "Permitir acceso a red privada",
"allowedOrigins": "Orígenes permitidos"
},
"placeholders": {
"origin": "Introduce una URL válida"
},
"actions": {
"add": "Agregar"
},
"messages": {
"alwaysIncluded": "Orígenes siempre incluidos: {{urls}}"
},
"tooltips": {
"open": "Configuración de CORS externo"
}
},
"appearance": {
"light": "Light",
"dark": "Dark",
"system": "System"
},
"clash": {
"title": "Ajustes de Clash",
"form": {
"fields": {
"allowLan": "Conexión a la red local",
"dnsOverwrite": "Sobrescritura de DNS",
"ipv6": "IPv6",
"unifiedDelay": "Latencia unificada",
"logLevel": "Nivel de registro",
"portConfig": "Configuración de puerto",
"external": "Control externo",
"webUI": "Interfaz web",
"clashCore": "Núcleo de Clash",
"openUwpTool": "Abrir herramienta UWP",
"updateGeoData": "Actualizar GeoData"
},
"tooltips": {
"networkInterface": "Interfaz de red",
"unifiedDelay": "Al habilitar la latencia unificada, se realizarán dos pruebas de latencia para eliminar las diferencias de latencia entre diferentes tipos de nodos causadas por el handshake de conexión, etc.",
"logLevel": "Solo se aplica al archivo de registro del núcleo en la carpeta Service del directorio de registros.",
"openUwpTool": "A partir de Windows 8, las aplicaciones UWP (como la Tienda de Microsoft) tienen restricciones para acceder directamente a los servicios de red del host local. Use esta herramienta para evitar esta restricción."
},
"options": {
"logLevel": {
"debug": "Debug",
"info": "Info",
"warning": "Warn",
"error": "Error",
"silent": "Silent"
}
}
}
}
},
"components": {
"verge": {
"basic": {
"title": "Ajustes básicos de Verge",
"actions": {
"browse": "Examinar"
},
"trayOptions": {
"showMainWindow": "Mostrar ventana principal",
"showTrayMenu": "Mostrar menú de la bandeja",
"disable": "Deshabilitar"
},
"fields": {
"language": "Configuración de idioma",
"themeMode": "Modo de tema",
"trayClickEvent": "Evento de clic en el icono de la bandeja",
"copyEnvType": "Copiar tipo de variable de entorno",
"startPage": "Página de inicio",
"startupScript": "Script de inicio",
"themeSetting": "Configuración de tema",
"layoutSetting": "Configuración de la interfaz",
"misc": "Ajustes varios",
"hotkeySetting": "Configuración de atajos de teclado"
}
},
"advanced": {
"title": "Ajustes avanzados de Verge",
"tooltips": {
"backupInfo": "Soporte para la copia de seguridad de archivos de configuración a través de WebDAV",
"openConfDir": "Si el software no funciona correctamente, !realice una copia de seguridad! y elimine todos los archivos de esta carpeta, luego reinicie el software.",
"liteMode": "Cierra la interfaz gráfica y solo mantiene el núcleo en ejecución"
},
"actions": {
"copyVersion": "Copy Version"
},
"notifications": {
"latestVersion": "Actualmente está en la última versión",
"versionCopied": "Version copied to clipboard"
},
"fields": {
"backupSetting": "Configuración de copia de seguridad",
"runtimeConfig": "Configuración actual",
"openConfDir": "Directorio de configuración",
"openCoreDir": "Directorio del núcleo",
"openLogsDir": "Directorio de registros",
"checkUpdates": "Comprobar actualizaciones",
"openDevTools": "Abrir herramientas de desarrollo",
"liteModeSettings": "Configuración del modo ligero",
"exit": "Salir",
"exportDiagnostics": "Exportar información de diagnóstico",
"vergeVersion": "Versión de Verge"
}
},
"theme": {
"title": "Configuración de tema",
"fields": {
"primaryColor": "Color principal",
"secondaryColor": "Color secundario",
"primaryText": "Color principal del texto",
"secondaryText": "Color secundario del texto",
"infoColor": "Color de información",
"warningColor": "Color de advertencia",
"errorColor": "Color de error",
"successColor": "Color de éxito",
"fontFamily": "Familia tipográfica",
"cssInjection": "Inyección de CSS"
},
"actions": {
"editCss": "Edit CSS"
},
"dialogs": {
"editCssTitle": "Edit CSS"
}
},
"layout": {
"title": "Configuración de la interfaz",
"fields": {
"preferSystemTitlebar": "Prefer System Titlebar",
"trafficGraph": "Gráfico de tráfico",
"memoryUsage": "Uso de memoria del núcleo",
"proxyGroupIcon": "Icono del grupo de proxy",
"hoverNavigator": "Hover Jump Navigator",
"hoverNavigatorDelay": "Hover Jump Navigator Delay",
"navIcon": "Icono de la barra de navegación",
"trayIcon": "Icono de la bandeja",
"showProxyGroupsInline": "Show Proxy Groups Inline",
"commonTrayIcon": "Icono de bandeja común",
"systemProxyTrayIcon": "Icono de bandeja del proxy del sistema",
"tunTrayIcon": "Icono de bandeja del modo TUN",
"enableTrayIcon": "Habilitar icono de la bandeja",
"enableTraySpeed": "Habilitar velocidad en la bandeja"
},
"tooltips": {
"hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters",
"hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds"
},
"options": {
"icon": {
"monochrome": "Icono monocromo",
"colorful": "Icono colorido",
"disable": "Deshabilitar"
}
}
}
}
},
"modals": {
"clashPort": {
"title": "Configuración de puerto",
"fields": {
"mixed": "Puerto de proxy mixto",
"socks": "Puerto de proxy SOCKS",
"http": "Puerto de proxy HTTP(S)",
"redir": "Puerto de proxy transparente Redir",
"tproxy": "Puerto de proxy transparente TPROXY"
},
"actions": {
"random": "Puerto aleatorio"
},
"messages": {
"saved": "Port settings saved",
"saveFailed": "Failed to save port settings"
}
},
"clashCore": {
"variants": {
"release": "Versión estable",
"alpha": "Versión alfa"
}
},
"liteMode": {
"title": "Configuración del modo ligero",
"actions": {
"enterNow": "Entrar en modo ligero ahora"
},
"toggles": {
"autoEnter": "Entrar automáticamente en modo ligero"
},
"tooltips": {
"autoEnter": "Si se habilita, se activará automáticamente el modo ligero después de un tiempo de inactividad de la ventana."
},
"fields": {
"delay": "Retraso para entrar automáticamente en modo ligero"
},
"messages": {
"autoEnterHint": "Después de cerrar la ventana, el modo ligero se activará automáticamente después de {{n}} minutos"
}
},
"backup": {
"title": "Configuración de copia de seguridad",
"tabs": {
"local": "Local backup",
"webdav": "WebDAV backup"
},
"actions": {
"selectTarget": "Select backup target",
"backup": "Copia de seguridad",
"export": "Export",
"exportBackup": "Export Backup",
"deleteBackup": "Eliminar copia de seguridad",
"restore": "Restaurar",
"restoreBackup": "Restaurar copia de seguridad"
},
"fields": {
"webdavUrl": "Dirección del servidor WebDAV http(s)://",
"username": "Nombre de usuario",
"info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups."
},
"messages": {
"webdavUrlRequired": "La dirección del servidor WebDAV no puede estar vacía",
"invalidWebdavUrl": "Formato de dirección del servidor WebDAV no válido",
"usernameRequired": "El nombre de usuario no puede estar vacío",
"passwordRequired": "La contraseña no puede estar vacía",
"webdavConfigSaved": "Configuración de WebDAV guardada con éxito",
"webdavConfigSaveFailed": "Error al guardar la configuración de WebDAV: {{error}}",
"backupCreated": "Copia de seguridad creada con éxito",
"backupFailed": "Error al crear la copia de seguridad: {{error}}",
"localBackupCreated": "Local backup created successfully",
"localBackupFailed": "Local backup failed",
"restoreSuccess": "Restauración exitosa. La aplicación se reiniciará en 1 segundo",
"localBackupExported": "Local backup exported successfully",
"localBackupExportFailed": "Failed to export local backup",
"confirmDelete": "Confirm to delete this backup file?",
"confirmRestore": "Confirm to restore this backup file?"
},
"table": {
"filename": "Nombre del archivo",
"backupTime": "Tiempo de copia de seguridad",
"actions": "Acciones",
"noBackups": "No hay copias de seguridad",
"rowsPerPage": "Rows per page"
}
},
"misc": {
"title": "Ajustes varios",
"fields": {
"appLogLevel": "Nivel de registro de la aplicación",
"appLogMaxSize": "App Log Max Size",
"appLogMaxCount": "App Log Max Count",
"autoCloseConnections": "Cerrar conexiones automáticamente",
"autoCheckUpdate": "Comprobar actualizaciones automáticamente",
"enableBuiltinEnhanced": "Habilitar funciones mejoradas integradas",
"proxyLayoutColumns": "Número de columnas en la disposición de la página de proxy",
"autoLogClean": "Limpiar registros automáticamente",
"autoDelayDetection": "Detección automática de latencia",
"defaultLatencyTest": "Enlace de prueba de latencia predeterminado",
"defaultLatencyTimeout": "Tiempo de espera de la prueba de latencia"
},
"tooltips": {
"autoCloseConnections": "Cierra las conexiones establecidas cuando se cambia el nodo seleccionado en el grupo de proxy o el modo de proxy.",
"enableBuiltinEnhanced": "Procesamiento de compatibilidad de archivos de configuración",
"autoDelayDetection": "Prueba periódicamente la latencia del nodo actual en segundo plano",
"defaultLatencyTest": "Solo se utiliza para pruebas de solicitudes de clientes HTTP y no afectará al archivo de configuración."
},
"options": {
"proxyLayoutColumns": {
"auto": "Número de columnas automático"
},
"autoLogClean": {
"never": "No limpiar",
"retainDays": "Retener {{n}} días"
}
}
},
"update": {
"title": "New Version v{{version}}",
"actions": {
"goToRelease": "Ir a la página de lanzamiento",
"update": "Actualizar"
},
"messages": {
"portableError": "La versión portátil no admite la actualización desde dentro de la aplicación. Descargue e instale manualmente la actualización.",
"breakChangeError": "Esta es una actualización importante y no se admite la actualización desde dentro de la aplicación. Desinstale e instale manualmente la nueva versión."
}
},
"sysproxy": {
"title": "Configuración del proxy del sistema",
"fieldsets": {
"currentStatus": "Proxy del sistema actual"
},
"fields": {
"enableStatus": "Estado de habilitación: ",
"serverAddr": "Dirección del servidor: ",
"pacUrl": "URL del PAC: ",
"proxyHost": "Host del proxy",
"usePacMode": "Usar modo PAC",
"proxyGuard": "Guardia del proxy del sistema",
"guardDuration": "Intervalo de guardia del proxy",
"alwaysUseDefaultBypass": "Siempre usar la lista de omisión predeterminada",
"proxyBypass": "Configuración de omisión del proxy: ",
"bypass": "Omisión actual: ",
"pacScriptContent": "Contenido del script PAC"
},
"tooltips": {
"proxyGuard": "Habilite esta opción para evitar que otros programas modifiquen la configuración del proxy del sistema operativo."
},
"messages": {
"durationTooShort": "El intervalo de tiempo del daemon de proxy no puede ser menor de 1 segundo",
"invalidBypass": "Formato de omisión de proxy no válido",
"invalidProxyHost": "Formato de host del proxy no válido"
},
"actions": {
"editPac": "Editar PAC"
}
},
"tun": {
"title": "Modo de interfaz virtual (TUN)",
"fields": {
"stack": "Pila del modo TUN",
"device": "Device Name",
"autoRoute": "Configurar enrutamiento global automáticamente",
"strictRoute": "Enrutamiento estricto",
"autoDetectInterface": "Detectar automáticamente la interfaz de salida del tráfico",
"dnsHijack": "Secuestro de DNS",
"mtu": "Unidad máxima de transmisión"
},
"tooltips": {
"dnsHijack": "Please use , to separate multiple DNS servers"
},
"messages": {
"applied": "Ajustes aplicados"
}
},
"dns": {
"dialog": {
"title": "Sobrescritura de DNS",
"warning": "Si no está seguro de cómo configurar esto, no realice cambios y mantenga habilitada la sobrescritura de DNS."
},
"sections": {
"general": "Configuración de DNS",
"fallbackFilter": "Configuración de filtrado de respaldo",
"hosts": "Configuración de hosts"
},
"fields": {
"enable": "Habilitar DNS",
"listen": "Dirección de escucha de DNS",
"enhancedMode": "Modo mejorado",
"fakeIpRange": "Rango de Fake IP",
"fakeIpFilterMode": "Modo de filtrado de Fake IP",
"ipv6": {
"label": "IPv6",
"description": "Habilitar resolución DNS IPv6"
},
"preferH3": {
"label": "Prefiere HTTP/3",
"description": "DNS DOH utiliza el protocolo HTTP/3"
},
"respectRules": {
"label": "Seguir las reglas de enrutamiento",
"description": "Las conexiones DNS siguen las reglas de enrutamiento"
},
"useHosts": {
"label": "Usar archivo hosts",
"description": "Habilitar la resolución de nombres de host a través del archivo hosts"
},
"useSystemHosts": {
"label": "Usar archivo hosts del sistema",
"description": "Habilitar la resolución de nombres de host a través del archivo hosts del sistema"
},
"directPolicy": {
"label": "Los servidores DNS de conexión directa siguen la política",
"description": "Si seguir la configuración de la política de servidores DNS"
},
"defaultNameserver": {
"label": "Servidor DNS predeterminado",
"description": "Servidores DNS predeterminados utilizados para resolver servidores DNS"
},
"nameserver": {
"label": "Servidor DNS",
"description": "Lista de servidores DNS, separados por comas"
},
"fallback": {
"label": "Servidor de respaldo",
"description": "Lista de servidores DNS de respaldo, separados por comas"
},
"proxy": {
"label": "DNS del servidor proxy",
"description": "Servidor de resolución de nombres de dominio del nodo de proxy, separados por comas"
},
"directNameserver": {
"label": "Servidor DNS de conexión directa",
"description": "Servidor de resolución de nombres de dominio de salida directa, admite la palabra clave 'system', separados por comas"
},
"fakeIpFilter": {
"label": "Filtro de Fake IP",
"description": "Dominios que omiten la resolución de Fake IP, separados por comas"
},
"nameserverPolicy": {
"label": "Política de servidores DNS",
"description": "Servidor DNS específico de dominio, múltiples servidores separados por punto y coma, formato: dominio=server1;server2"
},
"geoipFiltering": {
"label": "Filtrado GeoIP",
"description": "Habilitar el filtrado GeoIP de respaldo"
},
"geoipCode": "Código de país GeoIP",
"fallbackIpCidr": {
"label": "IP CIDR de respaldo",
"description": "IP CIDR que no utilizan servidores de respaldo, separados por comas"
},
"fallbackDomain": {
"label": "Dominio de respaldo",
"description": "Dominios que utilizan servidores de respaldo, separados por comas"
},
"hosts": {
"label": "Hosts",
"description": "Asignación personalizada de dominio a IP o dominio, separados por comas"
}
},
"messages": {
"saved": "Configuración de DNS guardada",
"configError": "DNS configuration error:"
},
"errors": {
"invalid": "Invalid configuration"
}
},
"webUI": {
"actions": {
"openUrl": "Abrir enlace"
},
"title": "Interfaz web",
"messages": {
"supportedPlaceholders": "Soporta %host, %port, %secret",
"placeholderInstruction": "Utilice %host, %port, %secret para representar el host, el puerto y la clave de acceso."
}
},
"hotkey": {
"toggles": {
"enableGlobal": "Habilitar atajos de teclado globales"
},
"title": "Configuración de atajos de teclado",
"functions": {
"rule": "Modo de reglas",
"global": "Modo global",
"openOrCloseDashboard": "Abrir/cerrar panel",
"toggleSystemProxy": "Activar/desactivar el proxy del sistema",
"toggleTunMode": "Activar/desactivar el modo TUN",
"entryLightweightMode": "Entrar en modo ligero",
"direct": "Modo de conexión directa"
}
},
"password": {
"prompts": {
"enterRoot": "Ingrese su contraseña de root"
}
},
"networkInterface": {
"title": "Interfaz de red",
"fields": {
"ipAddress": "Dirección IP",
"macAddress": "Dirección MAC"
}
}
},
"feedback": {
"notifications": {
"clash": {
"restartSuccess": "Núcleo de Clash reiniciado",
"versionUpdated": "Versión del núcleo actualizada",
"changeSuccess": "Núcleo cambiado con éxito",
"changeFailed": "No se pudo cambiar el núcleo",
"geoDataUpdated": "GeoData actualizado"
},
"clashService": {
"installSuccess": "Servicio instalado con éxito",
"uninstallSuccess": "Servicio desinstalado con éxito"
},
"updater": {
"withClashProxySuccess": "Actualización con el proxy de Clash exitosa",
"withClashProxyFailed": "Error al actualizar incluso con el proxy de Clash"
}
}
},
"statuses": {
"clash": {
"stopping": "Deteniendo núcleo...",
"restarting": "Reiniciando núcleo..."
},
"clashService": {
"installing": "Instalando servicio...",
"uninstalling": "Desinstalando servicio..."
}
}
}

128
src/locales/es/shared.json Normal file
View File

@@ -0,0 +1,128 @@
{
"actions": {
"cancel": "Cancelar",
"close": "Cerrar",
"confirm": "Confirmar",
"save": "Guardar",
"delete": "Eliminar",
"edit": "Editar",
"new": "Nuevo",
"enable": "Habilitar",
"upgrade": "Actualizar núcleo",
"restart": "Reiniciar núcleo",
"resetToDefault": "Restablecer a los valores predeterminados",
"refresh": "Actualizar",
"retry": "Retry",
"refreshPage": "Refresh Page",
"showDetails": "Show Details",
"hideDetails": "Hide Details",
"listView": "Vista de lista",
"tableView": "Vista de tabla",
"pause": "Pausar",
"resume": "Reanudar",
"closeAll": "Cerrar todas",
"clear": "Limpiar"
},
"labels": {
"updateAt": "Actualizado el",
"timeout": "Timeout",
"icon": "Icono",
"name": "Nombre",
"readOnly": "Solo lectura",
"expireTime": "Tiempo de expiración",
"updateTime": "Hora de actualización",
"usedTotal": "Utilizado / Total",
"from": "De",
"password": "Contraseña",
"retryAttempts": "Retry attempts",
"downloaded": "Descargado",
"uploaded": "Subido"
},
"statuses": {
"enabled": "Habilitado",
"disabled": "Deshabilitado",
"saving": "Saving...",
"empty": "Vacío"
},
"units": {
"milliseconds": "Milisegundos",
"seconds": "Segundos",
"minutes": "Minutos",
"kilobytes": "KB",
"files": "Files"
},
"placeholders": {
"filter": "Condiciones de filtrado",
"matchCase": "Distinguir mayúsculas y minúsculas",
"matchWholeWord": "Coincidencia exacta de palabras",
"useRegex": "Usar expresiones regulares"
},
"validation": {
"invalidRegex": "Invalid regular expression"
},
"window": {
"maximize": "Maximizar",
"minimize": "Minimizar"
},
"editorModes": {
"visualization": "Visualización",
"advanced": "Avanzado"
},
"feedback": {
"errors": {
"trafficStats": "Traffic Statistics Error",
"trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes."
},
"notices": {
"raw": "{{message}}",
"prefixedRaw": "{{prefix}} {{message}}"
},
"notifications": {
"importSuccess": "Suscripción importada con éxito",
"importSubscriptionSuccess": "Suscripción importada con éxito",
"importWithClashProxy": "Suscripción importada con el proxy de Clash",
"saved": "Saved successfully",
"common": {
"copySuccess": "Copia exitosa",
"saveSuccess": "Configuración aleatoria guardada correctamente",
"saveFailed": "Failed to save configuration"
}
},
"validation": {
"config": {
"failed": "Error de validación de la configuración de la suscripción. Compruebe el archivo de configuración de la suscripción. Los cambios se han deshecho. Detalles del error: ",
"bootFailed": "Error de validación de la configuración de la suscripción de arranque. Se ha iniciado con la configuración predeterminada. Compruebe el archivo de configuración de la suscripción. Detalles del error: ",
"coreChangeFailed": "Error de validación de la configuración al cambiar el núcleo. Se ha iniciado con la configuración predeterminada. Compruebe el archivo de configuración de la suscripción. Detalles del error: ",
"processTerminated": "Proceso de validación terminado"
},
"script": {
"syntaxError": "Error de sintaxis en el script. Los cambios se han deshecho",
"missingMain": "Error en el script. Los cambios se han deshecho",
"fileNotFound": "Archivo no encontrado. Los cambios se han deshecho",
"fileError": "Error en el archivo de script. Los cambios se han deshecho"
},
"yaml": {
"syntaxError": "Error de sintaxis YAML. Los cambios se han deshecho",
"readError": "Error al leer el archivo YAML. Los cambios se han deshecho",
"mappingError": "Error de mapeo YAML. Los cambios se han deshecho",
"keyError": "Error de clave YAML. Los cambios se han deshecho",
"generalError": "Error YAML. Los cambios se han deshecho"
},
"merge": {
"syntaxError": "Error de sintaxis en el archivo de sobrescritura. Los cambios se han deshecho",
"mappingError": "Error de mapeo en el archivo de sobrescritura. Los cambios se han deshecho",
"keyError": "Error de clave en el archivo de sobrescritura. Los cambios se han deshecho",
"generalError": "Error en el archivo de sobrescritura. Los cambios se han deshecho"
}
}
},
"filters": {
"logLevels": {
"all": "ALL",
"debug": "DEBUG",
"info": "INFO",
"warn": "WARN",
"error": "ERROR"
}
}
}

40
src/locales/es/tests.json Normal file
View File

@@ -0,0 +1,40 @@
{
"page": {
"actions": {
"testAll": "Probar todo"
},
"title": "Prueba"
},
"components": {
"item": {
"actions": {
"test": "Prueba"
}
}
},
"modals": {
"test": {
"title": {
"create": "Crear prueba",
"edit": "Editar prueba"
},
"fields": {
"url": "URL de prueba"
}
}
},
"statuses": {
"test": {
"pending": "Pendiente de detección",
"yes": "Soportado",
"no": "No soportado",
"failed": "Prueba fallida",
"completed": "Detección completada",
"disallowedIsp": "Proveedor de servicios de Internet no permitido",
"originalsOnly": "Solo originales",
"noDisney": "No (IP Banned By Disney+)",
"unsupportedRegion": "País/región no soportado",
"failedNetwork": "Failed (Network Connection)"
}
}
}

View File

@@ -0,0 +1,12 @@
{
"page": {
"actions": {
"testing": "Probando..."
},
"empty": "No unlock test items",
"messages": {
"detectionTimeout": "Detection timeout or failed"
},
"title": "Prueba de desbloqueo"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,28 @@
{
"page": {
"title": "اتصالات"
},
"components": {
"fields": {
"host": "میزبان",
"dlSpeed": "سرعت دانلود",
"ulSpeed": "سرعت بارگذاری",
"chains": "زنجیره‌ها",
"rule": "قانون",
"process": "فرآیند",
"time": "زمان",
"source": "منبع",
"destination": "آدرس IP مقصد",
"destinationPort": "بندر هدف",
"type": "نوع"
},
"order": {
"default": "Default",
"uploadSpeed": "سرعت بارگذاری",
"downloadSpeed": "سرعت دانلود"
},
"actions": {
"closeConnection": "بستن اتصال"
}
}
}

138
src/locales/fa/home.json Normal file
View File

@@ -0,0 +1,138 @@
{
"page": {
"tooltips": {
"lightweightMode": "در فارسی",
"manual": "راهنما",
"settings": "Home Settings"
},
"cards": {
"trafficStats": "Traffic Stats",
"networkSettings": "Network Settings",
"proxyMode": "Proxy Mode"
},
"settings": {
"cards": {
"profile": "Profile Card",
"currentProxy": "Current Proxy Card",
"network": "Network Settings Card",
"proxyMode": "Proxy Mode Card",
"traffic": "Traffic Stats Card",
"tests": "Website Tests Card",
"ip": "IP Information Card",
"clashInfo": "Clash Info Cards",
"systemInfo": "System Info Cards"
},
"title": "Home Settings"
},
"title": "Home"
},
"components": {
"proxyTun": {
"status": {
"systemProxyEnabled": "System proxy is enabled, your applications will access the network through the proxy",
"systemProxyDisabled": "System proxy is disabled, it is recommended for most users to turn on this option",
"tunModeServiceRequired": "TUN mode requires service mode, please install the service first",
"tunModeEnabled": "TUN mode is enabled, applications will access the network through the virtual network card",
"tunModeDisabled": "TUN mode is disabled, suitable for special applications"
},
"tooltips": {
"systemProxy": "به امکانات تنظیم پروکسی سیستم عامل دسترسی پیدا کنید. اگر فعال‌سازی ناموفق بود، پروکسی سیستم عامل را به‌صورت دستی تغییر دهید",
"tunMode": "TUN mode can take over all application traffic, suitable for special applications that do not follow the system proxy settings"
}
},
"clashInfo": {
"title": "Clash Info",
"fields": {
"coreVersion": "Core Version",
"systemProxyAddress": "System Proxy Address",
"mixedPort": "Mixed Port",
"uptime": "Uptime",
"rulesCount": "Rules Count"
}
},
"systemInfo": {
"title": "System Info",
"fields": {
"osInfo": "OS Info",
"autoLaunch": "راه‌اندازی خودکار",
"runningMode": "Running Mode",
"lastCheckUpdate": "Last Check Update",
"vergeVersion": "نسخه Verge"
},
"actions": {
"settings": "تنظیمات"
},
"tooltips": {
"autoLaunchAdmin": "Administrator mode may not support auto launch"
},
"badges": {
"adminMode": "Administrator Mode",
"serviceMode": "حالت سرویس",
"sidecarMode": "User Mode",
"adminServiceMode": "Admin + Service Mode"
}
},
"ipInfo": {
"title": "IP Information",
"labels": {
"ip": "IP",
"asn": "ASN",
"isp": "ISP",
"org": "ORG",
"location": "Location",
"timezone": "Timezone",
"autoRefresh": "Auto refresh",
"unknown": "Unknown"
},
"errors": {
"load": "دریافت اطلاعات IP با خطا مواجه شد"
}
},
"currentProxy": {
"title": "Current Node",
"actions": {
"refreshDelay": "بررسی تأخیر"
},
"labels": {
"globalMode": "حالت جهانی",
"directMode": "حالت مستقیم",
"group": "Group",
"proxy": "Proxy",
"noActiveNode": "No active proxy node"
}
},
"tests": {
"title": "Website Tests"
},
"traffic": {
"metrics": {
"uploadSpeed": "سرعت بارگذاری",
"downloadSpeed": "سرعت دانلود",
"activeConnections": "Active Connections",
"memoryUsage": "استفاده از حافظه"
},
"legends": {
"upload": "Upload",
"download": "Download"
},
"patterns": {
"minutes": "{{time}} Minutes"
}
},
"clashMode": {
"errors": {
"communication": "Core communication error"
},
"labels": {
"rule": "حالت قانون",
"global": "حالت جهانی",
"direct": "حالت مستقیم"
},
"descriptions": {
"rule": "Automatically choose proxies according to the rule set.",
"global": "Forward all network requests through the selected proxy.",
"direct": "Bypass the proxy and connect to the internet directly."
}
}
}
}

27
src/locales/fa/index.ts Normal file
View File

@@ -0,0 +1,27 @@
import shared from "./shared.json";
import profiles from "./profiles.json";
import proxies from "./proxies.json";
import connections from "./connections.json";
import tests from "./tests.json";
import logs from "./logs.json";
import rules from "./rules.json";
import home from "./home.json";
import unlock from "./unlock.json";
import settings from "./settings.json";
import layout from "./layout.json";
const resources = {
"shared": shared,
"profiles": profiles,
"proxies": proxies,
"connections": connections,
"tests": tests,
"logs": logs,
"rules": rules,
"home": home,
"unlock": unlock,
"settings": settings,
"layout": layout,
};
export default resources;

View File

@@ -0,0 +1,21 @@
{
"components": {
"navigation": {
"tabs": {
"home": "Home",
"proxies": "پراکسی‌ها",
"profiles": "پروفایل‌ها",
"connections": "اتصالات",
"rules": "قوانین",
"logs": "لاگ‌ها",
"unlock": "Test",
"settings": "تنظیمات"
},
"menu": {
"reorderMode": "Menu reorder mode",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
}
}
}
}

5
src/locales/fa/logs.json Normal file
View File

@@ -0,0 +1,5 @@
{
"page": {
"title": "لاگ‌ها"
}
}

View File

@@ -0,0 +1,182 @@
{
"page": {
"actions": {
"updateAll": "به‌روزرسانی همه پروفایل‌ها",
"viewRuntimeConfig": "مشاهده پیکربندی زمان اجرا",
"reactivate": "فعال‌سازی مجدد پروفایل‌ها",
"import": "وارد کردن"
},
"batch": {
"actions": {
"delete": "Delete Selected Profiles",
"selectAll": "Select All",
"deselectAll": "Deselect All",
"done": "Done"
},
"summary": {
"selected": "Selected",
"items": "items"
},
"title": "Batch Operations"
},
"importForm": {
"placeholder": "آدرس پروفایل",
"actions": {
"paste": "چسباندن"
}
},
"feedback": {
"errors": {
"invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://",
"onlyYaml": "فقط فایل‌های YAML پشتیبانی می‌شوند"
},
"notifications": {
"importRetry": "Import failed, retrying with Clash proxy...",
"importFail": "Import failed even with Clash proxy",
"importNeedsRefresh": "Profile imported but may need manual refresh",
"importSuccess": "Profile imported successfully, please restart if not visible",
"profileSwitched": "پروفایل تغییر یافت",
"profileReactivated": "پروفایل مجدداً فعال شد",
"switchInterrupted": "Profile switch interrupted by new selection",
"batchDeleted": "Selected profiles deleted successfully"
},
"notices": {
"forceRefreshCompleted": "Force refresh completed",
"emergencyRefreshFailed": "Emergency refresh failed: {{message}}"
}
},
"title": "پروفایل‌ها"
},
"components": {
"card": {
"labels": {
"clickToImport": "Click to import subscription"
}
},
"fileInput": {
"chooseFile": "انتخاب فایل"
},
"menu": {
"home": "Home",
"select": "انتخاب",
"editInfo": "ویرایش اطلاعات",
"editFile": "ویرایش فایل",
"editRules": "ویرایش قوانین",
"editProxies": "ویرایش پروکسی‌ها",
"editGroups": "ویرایش گروه‌های پروکسی",
"extendConfig": "توسعه پیکربندی",
"extendScript": "ادغام اسکریپت",
"openFile": "باز کردن فایل",
"update": "به‌روزرسانی",
"updateViaProxy": "Update via proxy"
},
"more": {
"global": {
"merge": "Global Merge",
"script": "Global Script"
},
"chips": {
"merge": "Merge",
"script": "Script"
}
},
"profileItem": {
"tooltips": {
"showLast": "Click to show last update time",
"showNext": "Click to show next update"
},
"status": {
"lastUpdateFailed": "Last Update failed",
"nextUp": "Next Up",
"noSchedule": "No schedule",
"unknown": "Unknown",
"autoUpdateDisabled": "Auto update disabled"
}
}
},
"modals": {
"profileForm": {
"title": {
"create": "ایجاد پروفایل",
"edit": "ویرایش پروفایل"
},
"fields": {
"type": "نوع",
"description": "توضیحات",
"subscriptionUrl": "آدرس اشتراک",
"httpTimeout": "HTTP Request Timeout",
"updateInterval": "فاصله زمانی به‌روزرسانی",
"useSystemProxy": "استفاده از پراکسی سیستم",
"useClashProxy": "استفاده از پراکسی Clash",
"acceptInvalidCerts": "پذیرش گواهی‌نامه‌های نامعتبر (خطرناک)",
"allowAutoUpdate": "Allow Auto Update"
},
"feedback": {
"notifications": {
"creationRetry": "Profile creation failed, retrying with Clash proxy...",
"creationSuccess": "Profile creation succeeded with Clash proxy"
}
}
},
"proxiesEditor": {
"title": "ویرایش پروکسی‌ها",
"placeholders": {
"multiUri": "استفاده از خطوط جدید برای چندین آدرس (پشتیبانی از رمزگذاری Base64)"
},
"actions": {
"prepend": "پیش‌افزودن پراکسی",
"append": "پس‌افزودن پراکسی"
}
},
"groupsEditor": {
"title": "ویرایش گروه‌های پروکسی",
"errors": {
"nameRequired": "نام گروه مورد نیاز است",
"nameExists": "نام گروه قبلا وجود دارد"
},
"fields": {
"type": "نوع گروه",
"name": "نام گروه",
"icon": "آیکون گروه پراکسی",
"proxies": "استفاده از پروکسی‌ها",
"provider": "استفاده از ارائه‌دهنده",
"healthCheckUrl": "آدرس بررسی سلامت",
"expectedStatus": "وضعیت مورد انتظار",
"interval": "فاصله زمانی",
"maxFailedTimes": "حداکثر تعداد شکست‌ها",
"interfaceName": "نام رابط",
"routingMark": "علامت مسیریابی",
"filter": "فیلتر",
"excludeFilter": "فیلتر استثناء",
"excludeType": "نوع استثناء",
"includeAll": "شامل همه پروکسی‌ها و ارائه‌دهنده‌ها",
"includeAllProxies": "شامل همه پروکسی‌ها",
"includeAllProviders": "شامل همه ارائه‌دهنده‌ها"
},
"toggles": {
"lazy": "تنبل",
"disableUdp": "غیرفعال کردن UDP",
"hidden": "مخفی"
},
"actions": {
"prepend": "اضافه کردن گروه به ابتدا",
"append": "اضافه کردن گروه به انتها"
}
},
"editor": {
"actions": {
"format": "فرمت‌بندی سند"
},
"messages": {
"readOnly": "نمی‌توان در ویرایشگر فقط خواندنی ویرایش کرد"
}
},
"confirmDelete": {
"title": "تأیید حذف",
"message": "این عملیات قابل برگشت نیست"
},
"logViewer": {
"title": "کنسول اسکریپت"
}
}
}

View File

@@ -0,0 +1,90 @@
{
"page": {
"modes": {
"rule": "Rule",
"global": "Global",
"direct": "Direct"
},
"actions": {
"toggleChain": "🔗 پراکسی زنجیره‌ای",
"connect": "Connect",
"disconnect": "Disconnect",
"connecting": "Connecting...",
"clearChainConfig": "Delete Chain Config"
},
"provider": {
"title": "تأمین‌کننده پروکسی",
"actions": {
"updateAll": "به‌روزرسانی همه",
"update": "به‌روزرسانی"
}
},
"rules": {
"title": "Proxy Rules",
"select": "Select Rules"
},
"labels": {
"proxyCount": "Proxy Count",
"delayCheckReset": "بررسی تأخیر برای لغو ثابت"
},
"tooltips": {
"locate": "موقعیت",
"delayCheck": "بررسی تأخیر",
"sortDefault": "مرتب‌سازی بر اساس پیش‌فرض",
"sortDelay": "مرتب‌سازی بر اساس تأخیر",
"sortName": "مرتب‌سازی بر اساس نام",
"delayCheckUrl": "آدرس بررسی تأخیر",
"showBasic": "پراکسی پایه",
"showDetail": "جزئیات پراکسی",
"filter": "فیلتر"
},
"placeholders": {
"delayCheckUrl": "آدرس بررسی تأخیر"
},
"chain": {
"header": "Chain Proxy Config",
"empty": "No proxy chain configured",
"instruction": "Click nodes in order to add to proxy chain",
"minimumNodes": "Chain proxy requires at least 2 nodes",
"minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.",
"connectFailed": "Failed to connect to proxy chain",
"disconnectFailed": "Failed to disconnect from proxy chain",
"duplicateNode": "Proxy node already exists in chain"
},
"messages": {
"directMode": "حالت مستقیم"
},
"title": {
"default": "گروه‌های پراکسی",
"chainMode": "Proxy Chain Mode"
}
},
"feedback": {
"notifications": {
"provider": {
"updateSuccess": "{{name}} updated successfully",
"updateFailed": "Failed to update {{name}}: {{message}}",
"genericError": "Update failed: {{message}}",
"none": "No providers available to update",
"allUpdated": "All providers updated successfully"
}
}
},
"components": {
"enums": {
"strategies": {
"select": "انتخاب پروکسی به صورت دستی",
"url-test": "انتخاب پروکسی بر اساس تأخیر آزمایش URL",
"fallback": "تعویض به پروکسی دیگر در صورت بروز خطا",
"load-balance": "توزیع پراکسی بر اساس توازن بار",
"relay": "عبور از زنجیره پروکسی تعریف شده"
},
"policies": {
"DIRECT": "داده‌ها به صورت مستقیم خروجی می‌شوند",
"REJECT": "درخواست‌ها را متوقف می‌کند",
"REJECT-DROP": "درخواست‌ها را نادیده می‌گیرد",
"PASS": "این قانون را در صورت تطابق نادیده می‌گیرد"
}
}
}
}

82
src/locales/fa/rules.json Normal file
View File

@@ -0,0 +1,82 @@
{
"page": {
"provider": {
"trigger": "تأمین‌کننده قانون",
"dialogTitle": "تأمین‌کننده قانون",
"actions": {
"updateAll": "به‌روزرسانی همه",
"update": "به‌روزرسانی"
}
},
"title": "قوانین"
},
"feedback": {
"notifications": {
"provider": {
"updateSuccess": "{{name}} updated successfully",
"updateFailed": "Failed to update {{name}}: {{message}}",
"genericError": "Update failed: {{message}}",
"none": "No providers available to update",
"allUpdated": "All providers updated successfully"
}
}
},
"modals": {
"editor": {
"form": {
"labels": {
"type": "نوع قانون",
"content": "محتوای قانون",
"proxyPolicy": "سیاست پروکسی"
},
"toggles": {
"noResolve": "بدون حل"
},
"actions": {
"prependRule": "اضافه کردن قانون به ابتدا",
"appendRule": "اضافه کردن قانون به انتها"
},
"validation": {
"conditionRequired": "شرط قانون الزامی است",
"invalidRule": "قانون نامعتبر"
}
},
"ruleTypes": {
"DOMAIN": "مطابقت با نام کامل دامنه",
"DOMAIN-SUFFIX": "مطابقت با پسوند دامنه",
"DOMAIN-KEYWORD": "مطابقت با کلمه کلیدی دامنه",
"DOMAIN-REGEX": "مطابقت با دامنه با استفاده از عبارات منظم",
"GEOSITE": "مطابقت با دامنه‌های درون Geosite",
"GEOIP": "مطابقت با کد کشور IP",
"SRC-GEOIP": "مطابقت با کد کشور IP مبدا",
"IP-ASN": "مطابقت با ASN آدرس IP",
"SRC-IP-ASN": "مطابقت با ASN آدرس IP مبدا",
"IP-CIDR": "مطابقت با محدوده آدرس IP",
"IP-CIDR6": "مطابقت با محدوده آدرس IPv6",
"SRC-IP-CIDR": "مطابقت با محدوده آدرس IP مبدا",
"IP-SUFFIX": "مطابقت با محدوده پسوند آدرس IP",
"SRC-IP-SUFFIX": "مطابقت با محدوده پسوند آدرس IP مبدا",
"SRC-PORT": "مطابقت با محدوده پورت مبدا",
"DST-PORT": "مطابقت با محدوده پورت مقصد",
"IN-PORT": "مطابقت با پورت ورودی",
"DSCP": "علامت‌گذاری DSCP (فقط برای tproxy UDP ورودی)",
"PROCESS-NAME": "مطابقت با نام فرآیند (نام بسته Android)",
"PROCESS-PATH": "مطابقت با مسیر کامل فرآیند",
"PROCESS-NAME-REGEX": "مطابقت با نام فرآیند با استفاده از عبارات منظم (نام بسته Android)",
"PROCESS-PATH-REGEX": "مطابقت با مسیر کامل فرآیند با استفاده از عبارات منظم",
"NETWORK": "مطابقت با پروتکل انتقال (tcp/udp)",
"UID": "مطابقت با شناسه کاربری Linux",
"IN-TYPE": "مطابقت با نوع ورودی",
"IN-USER": "مطابقت با نام کاربری ورودی",
"IN-NAME": "مطابقت با نام ورودی",
"SUB-RULE": "قانون فرعی",
"RULE-SET": "مطابقت با مجموعه قوانین",
"AND": "منطق AND",
"OR": "منطق OR",
"NOT": "منطق NOT",
"MATCH": "مطابقت با تمام درخواست‌ها"
},
"title": "ویرایش قوانین"
}
}
}

View File

@@ -0,0 +1,571 @@
{
"page": {
"actions": {
"manual": "راهنما",
"telegram": "کانال تلگرام",
"github": "مخزن GitHub"
},
"title": "تنظیمات"
},
"sections": {
"system": {
"title": "تنظیمات سیستم",
"toggles": {
"tunMode": "Tun (کارت شبکه مجازی)",
"systemProxy": "پراکسی سیستم"
},
"tooltips": {
"autoLaunchAdmin": "Administrator mode may not support auto launch",
"silentStart": "برنامه را در حالت پس‌زمینه بدون نمایش پانل اجرا کنید"
},
"fields": {
"autoLaunch": "اجرای خودکار",
"silentStart": "اجرای بی‌صدا"
},
"notifications": {
"tunMode": {
"autoDisabled": "TUN Mode automatically disabled due to service unavailable",
"autoDisableFailed": "Failed to disable TUN Mode automatically"
}
}
},
"proxyControl": {
"tooltips": {
"systemProxy": "به امکانات تنظیم پروکسی سیستم عامل دسترسی پیدا کنید. اگر فعال‌سازی ناموفق بود، پروکسی سیستم عامل را به‌صورت دستی تغییر دهید",
"tunMode": "حالت Tun (NIC مجازی): تمام ترافیک سیستم را ضبط می کند، وقتی فعال باشد، نیازی به فعال کردن پروکسی سیستم نیست.",
"tunUnavailable": "TUN requires Service Mode or Admin Mode"
},
"actions": {
"installService": "نصب سرویس",
"uninstallService": "Uninstall Service"
},
"fields": {
"systemProxy": "پراکسی سیستم",
"tunMode": "Tun (کارت شبکه مجازی)"
}
},
"externalController": {
"title": "کنترل‌کننده خارجی",
"fields": {
"enable": "Enable External Controller",
"address": "کنترل‌کننده خارجی",
"secret": "رمز اصلی"
},
"placeholders": {
"address": "Required",
"secret": "توصیه شده"
},
"tooltips": {
"copy": "Copy to clipboard"
},
"messages": {
"addressRequired": "Controller address cannot be empty",
"secretRequired": "Secret cannot be empty",
"copyFailed": "Failed to copy",
"controllerCopied": "Controller address copied to clipboard",
"secretCopied": "Secret copied to clipboard"
}
},
"externalCors": {
"title": "External Cors Configuration",
"fields": {
"allowPrivateNetwork": "Allow private network access",
"allowedOrigins": "Allowed Origins"
},
"placeholders": {
"origin": "Please enter a valid url"
},
"actions": {
"add": "Add"
},
"messages": {
"alwaysIncluded": "Always included origins: {{urls}}"
},
"tooltips": {
"open": "External Cors Settings"
}
},
"appearance": {
"light": "Light",
"dark": "Dark",
"system": "System"
},
"clash": {
"title": "تنظیمات Clash",
"form": {
"fields": {
"allowLan": "اجازه LAN",
"dnsOverwrite": "DNS Overwrite",
"ipv6": "IPv6",
"unifiedDelay": "معادلDELAY",
"logLevel": "سطح لاگ",
"portConfig": "پیکربندی پورت",
"external": "خارجی",
"webUI": "رابط وب",
"clashCore": "هسته Clash",
"openUwpTool": "باز کردن ابزار UWP",
"updateGeoData": "به‌روزرسانی GeoData"
},
"tooltips": {
"networkInterface": "رابط شبکه",
"unifiedDelay": "معادلDELAY را فعال کنید تا ترافیک شبکه به سرعت رسید",
"logLevel": "این فقط روی فایل‌های لاگ هسته تحت فایل سرویس در فهرست ورود اثر می‌گذارد.",
"openUwpTool": "از ویندوز 8 به بعد، برنامه‌های UWP (مانند Microsoft Store) از دسترسی مستقیم به خدمات شبکه محلی محدود شده‌اند و این ابزار می‌تواند برای دور زدن این محدودیت استفاده شود"
},
"options": {
"logLevel": {
"debug": "Debug",
"info": "Info",
"warning": "Warn",
"error": "Error",
"silent": "Silent"
}
}
}
}
},
"components": {
"verge": {
"basic": {
"title": "تنظیمات پایه Verge",
"actions": {
"browse": "مرور کردن"
},
"trayOptions": {
"showMainWindow": "نمایش پنجره اصلی",
"showTrayMenu": "Show Tray Menu",
"disable": "غیرفعال کردن"
},
"fields": {
"language": "زبان",
"themeMode": "حالت تم",
"trayClickEvent": "رویداد کلیک در سینی سیستم",
"copyEnvType": "کپی نوع محیط",
"startPage": "صفحه شروع",
"startupScript": "اسکریپت راه‌اندازی",
"themeSetting": "تنظیمات تم",
"layoutSetting": "تنظیمات چیدمان",
"misc": "متفرقه",
"hotkeySetting": "تنظیمات کلیدهای میانبر"
}
},
"advanced": {
"title": "تنظیمات پیشرفته Verge",
"tooltips": {
"backupInfo": "از فایل های پیکربندی پشتیبان WebDAV پشتیبانی می کند",
"openConfDir": "اگر نرم‌افزار به‌طور غیرعادی اجرا می‌شود، از تمام فایل‌های موجود در این پوشه نسخه پشتیبان تهیه و پاک کنید تا نرم‌افزار را مجدداً راه‌اندازی کنید",
"liteMode": "رابط کاربری گرافیکی را ببندید و فقط هسته را در حال اجرا نگه دارید"
},
"actions": {
"copyVersion": "Copy Version"
},
"notifications": {
"latestVersion": "در حال حاضر در آخرین نسخه",
"versionCopied": "Version copied to clipboard"
},
"fields": {
"backupSetting": "تنظیمات پشتیبان گیری",
"runtimeConfig": "پیکربندی زمان اجرا",
"openConfDir": "باز کردن پوشه برنامه",
"openCoreDir": "باز کردن پوشه هسته",
"openLogsDir": "باز کردن پوشه لاگ‌ها",
"checkUpdates": "بررسی برای به‌روزرسانی‌ها",
"openDevTools": "باز کردن ابزارهای توسعه‌دهنده",
"liteModeSettings": "LightWeight Mode Settings",
"exit": "خروج",
"exportDiagnostics": "Export Diagnostic Info",
"vergeVersion": "نسخه Verge"
}
},
"theme": {
"title": "تنظیمات تم",
"fields": {
"primaryColor": "رنگ اصلی",
"secondaryColor": "رنگ ثانویه",
"primaryText": "متن اصلی",
"secondaryText": "متن ثانویه",
"infoColor": "رنگ اطلاعات",
"warningColor": "رنگ هشدار",
"errorColor": "رنگ خطا",
"successColor": "رنگ موفقیت",
"fontFamily": "خانواده فونت",
"cssInjection": "تزریق CSS"
},
"actions": {
"editCss": "Edit CSS"
},
"dialogs": {
"editCssTitle": "Edit CSS"
}
},
"layout": {
"title": "تنظیمات چیدمان",
"fields": {
"preferSystemTitlebar": "Prefer System Titlebar",
"trafficGraph": "نمودار ترافیک",
"memoryUsage": "استفاده از حافظه",
"proxyGroupIcon": "آیکون گروه پراکسی",
"hoverNavigator": "Hover Jump Navigator",
"hoverNavigatorDelay": "Hover Jump Navigator Delay",
"navIcon": "آیکون ناوبری",
"trayIcon": "آیکون سینی سیستم",
"showProxyGroupsInline": "Show Proxy Groups Inline",
"commonTrayIcon": "آیکون مشترک سینی سیستم",
"systemProxyTrayIcon": "آیکون سینی پراکسی سیستم",
"tunTrayIcon": "آیکون سینی Tun",
"enableTrayIcon": "Enable Tray Icon",
"enableTraySpeed": "فعال کردن سرعت ترای"
},
"tooltips": {
"hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters",
"hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds"
},
"options": {
"icon": {
"monochrome": "تک رنگ",
"colorful": "رنگارنگ",
"disable": "غیرفعال کردن"
}
}
}
}
},
"modals": {
"clashPort": {
"title": "پیکربندی پورت",
"fields": {
"mixed": "پورت پروکسی ترکیبی",
"socks": "پورت پروکسی Socks",
"http": "پورت پروکسی Http(s)",
"redir": "پورت پروکسی شفاف Redir",
"tproxy": "پورت پروکسی شفاف Tproxy"
},
"actions": {
"random": "پورت تصادفی"
},
"messages": {
"saved": "Port settings saved",
"saveFailed": "Failed to save port settings"
}
},
"clashCore": {
"variants": {
"release": "نسخه نهایی",
"alpha": "نسخه آلفا"
}
},
"liteMode": {
"title": "LightWeight Mode Settings",
"actions": {
"enterNow": "Enter LightWeight Mode Now"
},
"toggles": {
"autoEnter": "Auto Enter LightWeight Mode"
},
"tooltips": {
"autoEnter": "Enable to automatically activate LightWeight Mode after the window is closed for a period of time"
},
"fields": {
"delay": "Auto Enter LightWeight Mode Delay"
},
"messages": {
"autoEnterHint": "When closing the window, LightWeight Mode will be automatically activated after {{n}} minutes"
}
},
"backup": {
"title": "تنظیمات پشتیبان گیری",
"tabs": {
"local": "Local backup",
"webdav": "WebDAV backup"
},
"actions": {
"selectTarget": "Select backup target",
"backup": "پشتیبان‌گیری",
"export": "Export",
"exportBackup": "Export Backup",
"deleteBackup": "حذف پشتیبان",
"restore": "بازیابی",
"restoreBackup": "بازیابی پشتیبان"
},
"fields": {
"webdavUrl": "http(s):// URL سرور WebDAV",
"username": "نام کاربری",
"info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups."
},
"messages": {
"webdavUrlRequired": "آدرس WebDAV نمی‌تواند خالی باشد",
"invalidWebdavUrl": "فرمت آدرس WebDAV نامعتبر است",
"usernameRequired": "نام کاربری نمی‌تواند خالی باشد",
"passwordRequired": "رمز عبور نمی‌تواند خالی باشد",
"webdavConfigSaved": "پیکربندی WebDAV با موفقیت ذخیره شد",
"webdavConfigSaveFailed": "خطا در ذخیره تنظیمات WebDAV: {{error}}",
"backupCreated": "پشتیبان‌گیری با موفقیت ایجاد شد",
"backupFailed": "خطا در پشتیبان‌گیری: {{error}}",
"localBackupCreated": "Local backup created successfully",
"localBackupFailed": "Local backup failed",
"restoreSuccess": "بازیابی با موفقیت انجام شد، برنامه در 1 ثانیه راه‌اندازی مجدد می‌شود",
"localBackupExported": "Local backup exported successfully",
"localBackupExportFailed": "Failed to export local backup",
"confirmDelete": "آیا از حذف این فایل پشتیبان اطمینان دارید؟",
"confirmRestore": "آیا از بازیابی این فایل پشتیبان اطمینان دارید؟"
},
"table": {
"filename": "نام فایل",
"backupTime": "زمان پشتیبان‌گیری",
"actions": "عملیات",
"noBackups": "هیچ پشتیبانی موجود نیست",
"rowsPerPage": "Rows per page"
}
},
"misc": {
"title": "متفرقه",
"fields": {
"appLogLevel": "سطح لاگ برنامه",
"appLogMaxSize": "App Log Max Size",
"appLogMaxCount": "App Log Max Count",
"autoCloseConnections": "بستن خودکار اتصالات",
"autoCheckUpdate": "بررسی خودکار به‌روزرسانی",
"enableBuiltinEnhanced": "فعال کردن تقویت داخلی",
"proxyLayoutColumns": "ستون چیدمان پراکسی",
"autoLogClean": "پاکسازی خودکار لاگ",
"autoDelayDetection": "تشخیص تأخیر خودکار",
"defaultLatencyTest": "آزمون تأخیر پیش‌فرض",
"defaultLatencyTimeout": "زمان انتظار تأخیر پیش‌فرض"
},
"tooltips": {
"autoCloseConnections": "اتصالات برقرار شده را هنگام تغییر انتخاب گروه پروکسی یا حالت پروکسی خاتمه دهید",
"enableBuiltinEnhanced": "مدیریت سازگاری برای فایل پیکربندی",
"autoDelayDetection": "به‌صورت دوره‌ای تأخیر گره فعلی را در پس‌زمینه آزمایش می‌کند",
"defaultLatencyTest": "فقط برای تست درخواست‌های کلاینت HTTP استفاده می‌شود و بر فایل پیکربندی تأثیری نخواهد داشت"
},
"options": {
"proxyLayoutColumns": {
"auto": "ستون‌های خودکار"
},
"autoLogClean": {
"never": "هرگز پاک نکن",
"retainDays": "نگهداری به مدت {{n}} روز"
}
}
},
"update": {
"title": "New Version v{{version}}",
"actions": {
"goToRelease": "رفتن به صفحه انتشار",
"update": "به‌روزرسانی"
},
"messages": {
"portableError": "نسخه پرتابل از به‌روزرسانی درون برنامه‌ای پشتیبانی نمی‌کند. لطفاً به صورت دستی دانلود و جایگزین کنید",
"breakChangeError": "این نسخه یک به‌روزرسانی اساسی است و پشتیبانی از به‌روزرسانی درون برنامه را پشتیبانی نمی‌کند. لطفاً پس از حذف، دستی دانلود و نصب کنید."
}
},
"sysproxy": {
"title": "تنظیمات پراکسی سیستم",
"fieldsets": {
"currentStatus": "پراکسی سیستم فعلی"
},
"fields": {
"enableStatus": "وضعیت فعال",
"serverAddr": "آدرس سرور: ",
"pacUrl": "PAC URL: ",
"proxyHost": "میزبان پراکسی",
"usePacMode": "استفاده از حالت PAC",
"proxyGuard": "محافظ پراکسی",
"guardDuration": "مدت محافظت",
"alwaysUseDefaultBypass": "همیشه از دور زدن پیش‌فرض استفاده کنید",
"proxyBypass": "دور زدن پراکسی: ",
"bypass": "دور زدن: ",
"pacScriptContent": "محتوای اسکریپت PAC"
},
"tooltips": {
"proxyGuard": "امکان جلوگیری از نرم‌افزارهای دیگر از تغییر تنظیمات پروکسی سیستم عامل را فعال کنید"
},
"messages": {
"durationTooShort": "مدت زمان دیمن پراکسی نمی‌تواند کمتر از 1 ثانیه باشد",
"invalidBypass": "فرمت عبور نامعتبر است",
"invalidProxyHost": "فرمت میزبان پراکسی نامعتبر است"
},
"actions": {
"editPac": "ویرایش PAC"
}
},
"tun": {
"title": "Tun (کارت شبکه مجازی)",
"fields": {
"stack": "انباشته Tun",
"device": "Device Name",
"autoRoute": "مسیر خودکار",
"strictRoute": "مسیر دقیق",
"autoDetectInterface": "تشخیص خودکار رابط",
"dnsHijack": "ربایش DNS",
"mtu": "واحد حداکثر انتقال"
},
"tooltips": {
"dnsHijack": "Please use , to separate multiple DNS servers"
},
"messages": {
"applied": "تنظیمات اعمال شد"
}
},
"dns": {
"dialog": {
"title": "DNS Overwrite",
"warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled"
},
"sections": {
"general": "DNS Settings",
"fallbackFilter": "Fallback Filter Settings",
"hosts": "Hosts Settings"
},
"fields": {
"enable": "Enable DNS",
"listen": "DNS Listen",
"enhancedMode": "Enhanced Mode",
"fakeIpRange": "Fake IP Range",
"fakeIpFilterMode": "Fake IP Filter Mode",
"ipv6": {
"label": "IPv6",
"description": "Enable IPv6 DNS resolution"
},
"preferH3": {
"label": "Prefer H3",
"description": "DNS DOH uses HTTP/3"
},
"respectRules": {
"label": "Respect Rules",
"description": "DNS connections follow routing rules"
},
"useHosts": {
"label": "Use Hosts",
"description": "Enable to resolve hosts through hosts file"
},
"useSystemHosts": {
"label": "Use System Hosts",
"description": "Enable to resolve hosts through system hosts file"
},
"directPolicy": {
"label": "Direct Nameserver Follow Policy",
"description": "Whether to follow nameserver policy"
},
"defaultNameserver": {
"label": "Default Nameserver",
"description": "Default DNS servers used to resolve DNS servers"
},
"nameserver": {
"label": "Nameserver",
"description": "List of DNS servers, comma separated"
},
"fallback": {
"label": "Fallback",
"description": "List of fallback DNS servers, comma separated"
},
"proxy": {
"label": "Proxy Server Nameserver",
"description": "DNS servers for proxy node domain resolution"
},
"directNameserver": {
"label": "Direct Nameserver",
"description": "DNS servers for direct exit domain resolution, supports 'system' keyword, comma separated"
},
"fakeIpFilter": {
"label": "Fake IP Filter",
"description": "Domains that skip fake IP resolution, comma separated"
},
"nameserverPolicy": {
"label": "Nameserver Policy",
"description": "Domain-specific DNS server, multiple servers separated by semicolons, format: domain=server1;server2"
},
"geoipFiltering": {
"label": "GeoIP Filtering",
"description": "Enable GeoIP filtering for fallback"
},
"geoipCode": "GeoIP Code",
"fallbackIpCidr": {
"label": "Fallback IP CIDR",
"description": "IP CIDRs not using fallback servers, comma separated"
},
"fallbackDomain": {
"label": "Fallback Domain",
"description": "Domains using fallback servers, comma separated"
},
"hosts": {
"label": "Hosts",
"description": "Custom domain to IP or domain mapping"
}
},
"messages": {
"saved": "DNS settings saved",
"configError": "DNS configuration error:"
},
"errors": {
"invalid": "Invalid configuration"
}
},
"webUI": {
"actions": {
"openUrl": "باز کردن آدرس اینترنتی"
},
"title": "رابط وب",
"messages": {
"supportedPlaceholders": "پشتیبانی از %host، %port و %secret",
"placeholderInstruction": "جایگزین کردن میزبان، پورت و رمز با %host، %port، %secret"
}
},
"hotkey": {
"toggles": {
"enableGlobal": "فعال کردن کلید میانبر سراسری"
},
"title": "تنظیمات کلیدهای میانبر",
"functions": {
"rule": "حالت قانون",
"global": "حالت جهانی",
"openOrCloseDashboard": "باز/بستن داشبورد",
"toggleSystemProxy": "فعال/غیرفعال کردن پراکسی سیستم",
"toggleTunMode": "فعال/غیرفعال کردن حالت Tun",
"entryLightweightMode": "Entry Lightweight Mode",
"direct": "حالت مستقیم"
}
},
"password": {
"prompts": {
"enterRoot": "لطفاً رمز ریشه خود را وارد کنید"
}
},
"networkInterface": {
"title": "رابط شبکه",
"fields": {
"ipAddress": "آدرس IP",
"macAddress": "آدرس MAC"
}
}
},
"feedback": {
"notifications": {
"clash": {
"restartSuccess": "هسته Clash مجدداً راه‌اندازی شد",
"versionUpdated": "نسخه هسته به‌روزرسانی شد",
"changeSuccess": "هسته با موفقیت تغییر کرد",
"changeFailed": "تغییر هسته ناموفق بود",
"geoDataUpdated": "GeoData به‌روزرسانی شد"
},
"clashService": {
"installSuccess": "سرویس با موفقیت نصب شد",
"uninstallSuccess": "سرویس با موفقیت حذف نصب شد"
},
"updater": {
"withClashProxySuccess": "Update with Clash proxy successfully",
"withClashProxyFailed": "Update failed even with Clash proxy"
}
}
},
"statuses": {
"clash": {
"stopping": "Stopping Core...",
"restarting": "Restarting Core..."
},
"clashService": {
"installing": "در حال نصب سرویس...",
"uninstalling": "Uninstalling Service..."
}
}
}

128
src/locales/fa/shared.json Normal file
View File

@@ -0,0 +1,128 @@
{
"actions": {
"cancel": "لغو",
"close": "بستن",
"confirm": "تأیید",
"save": "ذخیره",
"delete": "حذف",
"edit": "ویرایش",
"new": "جدید",
"enable": "فعال کردن",
"upgrade": "ارتقاء",
"restart": "راه‌اندازی مجدد",
"resetToDefault": "بازنشانی به پیش‌فرض",
"refresh": "بازنشانی",
"retry": "Retry",
"refreshPage": "Refresh Page",
"showDetails": "Show Details",
"hideDetails": "Hide Details",
"listView": "نمای لیستی",
"tableView": "نمای جدولی",
"pause": "توقف",
"resume": "از سرگیری",
"closeAll": "بستن همه",
"clear": "پاک کردن"
},
"labels": {
"updateAt": "به‌روزرسانی در",
"timeout": "Timeout",
"icon": "آیکون",
"name": "نام",
"readOnly": "فقط خواندنی",
"expireTime": "زمان انقضا",
"updateTime": "زمان به‌روزرسانی",
"usedTotal": "استفاده‌شده / کل",
"from": "از",
"password": "رمز عبور",
"retryAttempts": "Retry attempts",
"downloaded": "دانلود شده",
"uploaded": "بارگذاری شده"
},
"statuses": {
"enabled": "توانایی فعال شد",
"disabled": "غیرفعال شد",
"saving": "Saving...",
"empty": "خالی خالی"
},
"units": {
"milliseconds": "میلی‌ثانیه",
"seconds": "ثانیه‌ها",
"minutes": "دقیقه",
"kilobytes": "KB",
"files": "Files"
},
"placeholders": {
"filter": "شرایط فیلتر",
"matchCase": "تطبیق حروف کوچک و بزرگ",
"matchWholeWord": "تطبیق کل کلمه",
"useRegex": "استفاده از عبارت منظم"
},
"validation": {
"invalidRegex": "Invalid regular expression"
},
"window": {
"maximize": "بزرگ‌نمایی",
"minimize": "کوچک‌نمایی"
},
"editorModes": {
"visualization": "تجسم",
"advanced": "پیشرفته"
},
"feedback": {
"errors": {
"trafficStats": "Traffic Statistics Error",
"trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes."
},
"notices": {
"raw": "{{message}}",
"prefixedRaw": "{{prefix}} {{message}}"
},
"notifications": {
"importSuccess": "پروفایل با موفقیت وارد شد",
"importSubscriptionSuccess": "وارد کردن اشتراک با موفقیت انجام شد",
"importWithClashProxy": "Profile Imported with Clash proxy",
"saved": "Saved successfully",
"common": {
"copySuccess": "کپی با موفقیت انجام شد",
"saveSuccess": "Configuration saved successfully",
"saveFailed": "Failed to save configuration"
}
},
"validation": {
"config": {
"failed": "اعتبارسنجی پیکربندی اشتراک ناموفق بود، فایل پیکربندی را بررسی کنید، تغییرات برگشت داده شد، جزئیات خطا:",
"bootFailed": "اعتبارسنجی پیکربندی هنگام راه‌اندازی ناموفق بود، پیکربندی پیش‌فرض استفاده شد، فایل پیکربندی را بررسی کنید، جزئیات خطا:",
"coreChangeFailed": "اعتبارسنجی پیکربندی هنگام تغییر هسته ناموفق بود، پیکربندی پیش‌فرض استفاده شد، فایل پیکربندی را بررسی کنید، جزئیات خطا:",
"processTerminated": "فرآیند اعتبارسنجی متوقف شد"
},
"script": {
"syntaxError": "خطای نحوی اسکریپت، تغییرات برگشت داده شد",
"missingMain": "خطای اسکریپت، تغییرات برگشت داده شد",
"fileNotFound": "فایل یافت نشد، تغییرات برگشت داده شد",
"fileError": "خطای فایل اسکریپت، تغییرات برگشت داده شد"
},
"yaml": {
"syntaxError": "YAML syntax error, changes reverted",
"readError": "YAML read error, changes reverted",
"mappingError": "YAML mapping error, changes reverted",
"keyError": "YAML key error, changes reverted",
"generalError": "YAML error, changes reverted"
},
"merge": {
"syntaxError": "Merge file syntax error, changes reverted",
"mappingError": "Merge file mapping error, changes reverted",
"keyError": "Merge file key error, changes reverted",
"generalError": "Merge file error, changes reverted"
}
}
},
"filters": {
"logLevels": {
"all": "ALL",
"debug": "DEBUG",
"info": "INFO",
"warn": "WARN",
"error": "ERROR"
}
}
}

40
src/locales/fa/tests.json Normal file
View File

@@ -0,0 +1,40 @@
{
"page": {
"actions": {
"testAll": "آزمون همه"
},
"title": "آزمون"
},
"components": {
"item": {
"actions": {
"test": "آزمون"
}
}
},
"modals": {
"test": {
"title": {
"create": "ایجاد آزمون",
"edit": "ویرایش آزمون"
},
"fields": {
"url": "آدرس آزمون"
}
}
},
"statuses": {
"test": {
"pending": "Pending",
"yes": "Yes",
"no": "No",
"failed": "Failed",
"completed": "Completed",
"disallowedIsp": "Disallowed ISP",
"originalsOnly": "Originals Only",
"noDisney": "No (IP Banned By Disney+)",
"unsupportedRegion": "Unsupported Country/Region",
"failedNetwork": "Failed (Network Connection)"
}
}
}

View File

@@ -0,0 +1,12 @@
{
"page": {
"actions": {
"testing": "Testing..."
},
"empty": "No unlock test items",
"messages": {
"detectionTimeout": "Detection timeout or failed"
},
"title": "Unlock Test"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,28 @@
{
"page": {
"title": "Koneksi"
},
"components": {
"fields": {
"host": "Host",
"dlSpeed": "Kecepatan Unduh",
"ulSpeed": "Kecepatan Unggah",
"chains": "Rantai",
"rule": "Aturan",
"process": "Proses",
"time": "Waktu",
"source": "Sumber",
"destination": "IP Tujuan",
"destinationPort": "Port Tujuan",
"type": "Jenis"
},
"order": {
"default": "Default",
"uploadSpeed": "Kecepatan Unggah",
"downloadSpeed": "Kecepatan Unduh"
},
"actions": {
"closeConnection": "Tutup Koneksi"
}
}
}

138
src/locales/id/home.json Normal file
View File

@@ -0,0 +1,138 @@
{
"page": {
"tooltips": {
"lightweightMode": "Mode Ringan",
"manual": "Manual",
"settings": "Home Settings"
},
"cards": {
"trafficStats": "Traffic Stats",
"networkSettings": "Network Settings",
"proxyMode": "Proxy Mode"
},
"settings": {
"cards": {
"profile": "Profile Card",
"currentProxy": "Current Proxy Card",
"network": "Network Settings Card",
"proxyMode": "Proxy Mode Card",
"traffic": "Traffic Stats Card",
"tests": "Website Tests Card",
"ip": "IP Information Card",
"clashInfo": "Clash Info Cards",
"systemInfo": "System Info Cards"
},
"title": "Home Settings"
},
"title": "Home"
},
"components": {
"proxyTun": {
"status": {
"systemProxyEnabled": "System proxy is enabled, your applications will access the network through the proxy",
"systemProxyDisabled": "System proxy is disabled, it is recommended for most users to turn on this option",
"tunModeServiceRequired": "TUN mode requires service mode, please install the service first",
"tunModeEnabled": "TUN mode is enabled, applications will access the network through the virtual network card",
"tunModeDisabled": "TUN mode is disabled, suitable for special applications"
},
"tooltips": {
"systemProxy": "Aktifkan untuk mengubah pengaturan proksi sistem operasi. Jika pengaktifan gagal, ubah pengaturan proksi sistem operasi secara manual",
"tunMode": "TUN mode can take over all application traffic, suitable for special applications that do not follow the system proxy settings"
}
},
"clashInfo": {
"title": "Clash Info",
"fields": {
"coreVersion": "Core Version",
"systemProxyAddress": "System Proxy Address",
"mixedPort": "Mixed Port",
"uptime": "Uptime",
"rulesCount": "Rules Count"
}
},
"systemInfo": {
"title": "System Info",
"fields": {
"osInfo": "OS Info",
"autoLaunch": "Peluncuran Otomatis",
"runningMode": "Running Mode",
"lastCheckUpdate": "Last Check Update",
"vergeVersion": "Versi Verge"
},
"actions": {
"settings": "Pengaturan"
},
"tooltips": {
"autoLaunchAdmin": "Administrator mode may not support auto launch"
},
"badges": {
"adminMode": "Administrator Mode",
"serviceMode": "Mode Layanan",
"sidecarMode": "User Mode",
"adminServiceMode": "Admin + Service Mode"
}
},
"ipInfo": {
"title": "IP Information",
"labels": {
"ip": "IP",
"asn": "ASN",
"isp": "ISP",
"org": "ORG",
"location": "Location",
"timezone": "Timezone",
"autoRefresh": "Auto refresh",
"unknown": "Unknown"
},
"errors": {
"load": "Gagal mendapatkan informasi IP"
}
},
"currentProxy": {
"title": "Current Node",
"actions": {
"refreshDelay": "Periksa Keterlambatan"
},
"labels": {
"globalMode": "Mode Global",
"directMode": "Mode Langsung",
"group": "Group",
"proxy": "Proxy",
"noActiveNode": "No active proxy node"
}
},
"tests": {
"title": "Website Tests"
},
"traffic": {
"metrics": {
"uploadSpeed": "Kecepatan Unggah",
"downloadSpeed": "Kecepatan Unduh",
"activeConnections": "Active Connections",
"memoryUsage": "Penggunaan Memori"
},
"legends": {
"upload": "Upload",
"download": "Download"
},
"patterns": {
"minutes": "{{time}} Minutes"
}
},
"clashMode": {
"errors": {
"communication": "Core communication error"
},
"labels": {
"rule": "Mode Aturan",
"global": "Mode Global",
"direct": "Mode Langsung"
},
"descriptions": {
"rule": "Automatically choose proxies according to the rule set.",
"global": "Forward all network requests through the selected proxy.",
"direct": "Bypass the proxy and connect to the internet directly."
}
}
}
}

27
src/locales/id/index.ts Normal file
View File

@@ -0,0 +1,27 @@
import shared from "./shared.json";
import profiles from "./profiles.json";
import proxies from "./proxies.json";
import connections from "./connections.json";
import tests from "./tests.json";
import logs from "./logs.json";
import rules from "./rules.json";
import home from "./home.json";
import unlock from "./unlock.json";
import settings from "./settings.json";
import layout from "./layout.json";
const resources = {
"shared": shared,
"profiles": profiles,
"proxies": proxies,
"connections": connections,
"tests": tests,
"logs": logs,
"rules": rules,
"home": home,
"unlock": unlock,
"settings": settings,
"layout": layout,
};
export default resources;

View File

@@ -0,0 +1,21 @@
{
"components": {
"navigation": {
"tabs": {
"home": "Home",
"proxies": "Proksi",
"profiles": "Profil",
"connections": "Koneksi",
"rules": "Aturan",
"logs": "Log",
"unlock": "Test",
"settings": "Pengaturan"
},
"menu": {
"reorderMode": "Menu reorder mode",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
}
}
}
}

5
src/locales/id/logs.json Normal file
View File

@@ -0,0 +1,5 @@
{
"page": {
"title": "Log"
}
}

View File

@@ -0,0 +1,182 @@
{
"page": {
"actions": {
"updateAll": "Perbarui Semua Profil",
"viewRuntimeConfig": "Lihat Konfigurasi Runtime",
"reactivate": "Reaktivasi Profil",
"import": "Impor"
},
"batch": {
"actions": {
"delete": "Delete Selected Profiles",
"selectAll": "Select All",
"deselectAll": "Deselect All",
"done": "Done"
},
"summary": {
"selected": "Selected",
"items": "items"
},
"title": "Batch Operations"
},
"importForm": {
"placeholder": "URL Profil",
"actions": {
"paste": "Tempel"
}
},
"feedback": {
"errors": {
"invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://",
"onlyYaml": "Hanya File YAML yang Didukung"
},
"notifications": {
"importRetry": "Import failed, retrying with Clash proxy...",
"importFail": "Import failed even with Clash proxy",
"importNeedsRefresh": "Profile imported but may need manual refresh",
"importSuccess": "Profile imported successfully, please restart if not visible",
"profileSwitched": "Profil Beralih",
"profileReactivated": "Profil Diaktifkan Kembali",
"switchInterrupted": "Profile switch interrupted by new selection",
"batchDeleted": "Selected profiles deleted successfully"
},
"notices": {
"forceRefreshCompleted": "Force refresh completed",
"emergencyRefreshFailed": "Emergency refresh failed: {{message}}"
}
},
"title": "Profil"
},
"components": {
"card": {
"labels": {
"clickToImport": "Click to import subscription"
}
},
"fileInput": {
"chooseFile": "Pilih Berkas"
},
"menu": {
"home": "Home",
"select": "Pilih",
"editInfo": "Ubah Info",
"editFile": "Ubah Berkas",
"editRules": "Ubah Aturan",
"editProxies": "Ubah Proksi",
"editGroups": "Ubah Grup Proksi",
"extendConfig": "Perluas Konfigurasi",
"extendScript": "Perluas Skrip",
"openFile": "Buka Berkas",
"update": "Perbarui",
"updateViaProxy": "Update via proxy"
},
"more": {
"global": {
"merge": "Global Merge",
"script": "Global Script"
},
"chips": {
"merge": "Merge",
"script": "Script"
}
},
"profileItem": {
"tooltips": {
"showLast": "Click to show last update time",
"showNext": "Click to show next update"
},
"status": {
"lastUpdateFailed": "Last Update failed",
"nextUp": "Next Up",
"noSchedule": "No schedule",
"unknown": "Unknown",
"autoUpdateDisabled": "Auto update disabled"
}
}
},
"modals": {
"profileForm": {
"title": {
"create": "Buat Profil",
"edit": "Ubah Profil"
},
"fields": {
"type": "Jenis",
"description": "Deskripsi",
"subscriptionUrl": "URL Langganan",
"httpTimeout": "HTTP Request Timeout",
"updateInterval": "Interval Pembaruan",
"useSystemProxy": "Gunakan Proksi Sistem",
"useClashProxy": "Gunakan Proksi Clash",
"acceptInvalidCerts": "Terima Sertifikat Tidak Valid (Bahaya)",
"allowAutoUpdate": "Allow Auto Update"
},
"feedback": {
"notifications": {
"creationRetry": "Profile creation failed, retrying with Clash proxy...",
"creationSuccess": "Profile creation succeeded with Clash proxy"
}
}
},
"proxiesEditor": {
"title": "Ubah Proksi",
"placeholders": {
"multiUri": "Gunakan baris baru untuk beberapa URI (mendukung pengkodean Base64)"
},
"actions": {
"prepend": "Tambahkan Proksi di Awal",
"append": "Tambahkan Proksi di Akhir"
}
},
"groupsEditor": {
"title": "Ubah Grup Proksi",
"errors": {
"nameRequired": "Nama Grup Diperlukan",
"nameExists": "Nama Grup Sudah Ada"
},
"fields": {
"type": "Jenis Grup",
"name": "Nama Grup",
"icon": "Ikon Grup Proksi",
"proxies": "Gunakan Proksi",
"provider": "Gunakan Penyedia",
"healthCheckUrl": "URL Pemeriksaan Kesehatan",
"expectedStatus": "Status yang Diharapkan",
"interval": "Interval",
"maxFailedTimes": "Jumlah Gagal Maksimal",
"interfaceName": "Nama Antarmuka",
"routingMark": "Tanda Routing",
"filter": "Filter",
"excludeFilter": "Kecualikan Filter",
"excludeType": "Kecualikan Jenis",
"includeAll": "Sertakan Semua Proksi dan Penyedia",
"includeAllProxies": "Sertakan Semua Proksi",
"includeAllProviders": "Sertakan Semua Penyedia"
},
"toggles": {
"lazy": "Malas",
"disableUdp": "Nonaktifkan UDP",
"hidden": "Tersembunyi"
},
"actions": {
"prepend": "Tambahkan Grup di Awal",
"append": "Tambahkan Grup di Akhir"
}
},
"editor": {
"actions": {
"format": "Format dokumen"
},
"messages": {
"readOnly": "Tidak dapat mengedit di editor hanya baca"
}
},
"confirmDelete": {
"title": "Konfirmasi penghapusan",
"message": "Operasi ini tidak dapat dibatalkan"
},
"logViewer": {
"title": "Konsol Skrip"
}
}
}

View File

@@ -0,0 +1,90 @@
{
"page": {
"modes": {
"rule": "Rule",
"global": "Global",
"direct": "Direct"
},
"actions": {
"toggleChain": "🔗 Proxy Rantai",
"connect": "Connect",
"disconnect": "Disconnect",
"connecting": "Connecting...",
"clearChainConfig": "Delete Chain Config"
},
"provider": {
"title": "Penyedia Proksi",
"actions": {
"updateAll": "Perbarui Semua",
"update": "Perbarui"
}
},
"rules": {
"title": "Proxy Rules",
"select": "Select Rules"
},
"labels": {
"proxyCount": "Proxy Count",
"delayCheckReset": "Periksa keterlambatan untuk membatalkan tetap"
},
"tooltips": {
"locate": "Lokasi",
"delayCheck": "Periksa Keterlambatan",
"sortDefault": "Urutkan secara default",
"sortDelay": "Urutkan berdasarkan keterlambatan",
"sortName": "Urutkan berdasarkan nama",
"delayCheckUrl": "URL Periksa Keterlambatan",
"showBasic": "Dasar Proksi",
"showDetail": "Detail Proksi",
"filter": "Filter"
},
"placeholders": {
"delayCheckUrl": "URL Periksa Keterlambatan"
},
"chain": {
"header": "Chain Proxy Config",
"empty": "No proxy chain configured",
"instruction": "Click nodes in order to add to proxy chain",
"minimumNodes": "Chain proxy requires at least 2 nodes",
"minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.",
"connectFailed": "Failed to connect to proxy chain",
"disconnectFailed": "Failed to disconnect from proxy chain",
"duplicateNode": "Proxy node already exists in chain"
},
"messages": {
"directMode": "Mode Langsung"
},
"title": {
"default": "Grup Proksi",
"chainMode": "Proxy Chain Mode"
}
},
"feedback": {
"notifications": {
"provider": {
"updateSuccess": "{{name}} updated successfully",
"updateFailed": "Failed to update {{name}}: {{message}}",
"genericError": "Update failed: {{message}}",
"none": "No providers available to update",
"allUpdated": "All providers updated successfully"
}
}
},
"components": {
"enums": {
"strategies": {
"select": "Pilih proksi secara manual",
"url-test": "Pilih proksi berdasarkan keterlambatan tes URL",
"fallback": "Beralih ke proksi lain saat terjadi kesalahan",
"load-balance": "Distribusikan proksi berdasarkan penyeimbangan beban",
"relay": "Lewatkan melalui rantai proksi yang ditentukan"
},
"policies": {
"DIRECT": "Data langsung keluar",
"REJECT": "Mencegat permintaan",
"REJECT-DROP": "Membuang permintaan",
"PASS": "Lewati aturan ini saat cocok"
}
}
}
}

82
src/locales/id/rules.json Normal file
View File

@@ -0,0 +1,82 @@
{
"page": {
"provider": {
"trigger": "Penyedia Aturan",
"dialogTitle": "Penyedia Aturan",
"actions": {
"updateAll": "Perbarui Semua",
"update": "Perbarui"
}
},
"title": "Aturan"
},
"feedback": {
"notifications": {
"provider": {
"updateSuccess": "{{name}} updated successfully",
"updateFailed": "Failed to update {{name}}: {{message}}",
"genericError": "Update failed: {{message}}",
"none": "No providers available to update",
"allUpdated": "All providers updated successfully"
}
}
},
"modals": {
"editor": {
"form": {
"labels": {
"type": "Jenis Aturan",
"content": "Konten Aturan",
"proxyPolicy": "Kebijakan Proksi"
},
"toggles": {
"noResolve": "Tidak Menyelesaikan"
},
"actions": {
"prependRule": "Tambahkan Aturan di Awal",
"appendRule": "Tambahkan Aturan di Akhir"
},
"validation": {
"conditionRequired": "Kondisi Aturan Diperlukan",
"invalidRule": "Aturan Tidak Valid"
}
},
"ruleTypes": {
"DOMAIN": "Cocok dengan nama domain lengkap",
"DOMAIN-SUFFIX": "Cocok dengan sufiks domain",
"DOMAIN-KEYWORD": "Cocok dengan kata kunci domain",
"DOMAIN-REGEX": "Cocok dengan domain menggunakan ekspresi reguler",
"GEOSITE": "Cocok dengan domain dalam Geosite",
"GEOIP": "Cocok dengan kode negara alamat IP",
"SRC-GEOIP": "Cocok dengan kode negara alamat IP sumber",
"IP-ASN": "Cocok dengan ASN alamat IP",
"SRC-IP-ASN": "Cocok dengan ASN alamat IP sumber",
"IP-CIDR": "Cocok dengan rentang alamat IP",
"IP-CIDR6": "Cocok dengan rentang alamat IPv6",
"SRC-IP-CIDR": "Cocok dengan rentang alamat IP sumber",
"IP-SUFFIX": "Cocok dengan rentang sufiks alamat IP",
"SRC-IP-SUFFIX": "Cocok dengan rentang sufiks alamat IP sumber",
"SRC-PORT": "Cocok dengan rentang port sumber",
"DST-PORT": "Cocok dengan rentang port tujuan",
"IN-PORT": "Cocok dengan port masuk",
"DSCP": "Penandaan DSCP (hanya untuk tproxy UDP masuk)",
"PROCESS-NAME": "Cocok dengan nama proses (nama paket Android)",
"PROCESS-PATH": "Cocok dengan jalur proses lengkap",
"PROCESS-NAME-REGEX": "Cocok dengan nama proses lengkap menggunakan ekspresi reguler (nama paket Android)",
"PROCESS-PATH-REGEX": "Cocok dengan jalur proses lengkap menggunakan ekspresi reguler",
"NETWORK": "Cocok dengan protokol transportasi (tcp/udp)",
"UID": "Cocok dengan ID PENGGUNA Linux",
"IN-TYPE": "Cocok dengan jenis masuk",
"IN-USER": "Cocok dengan nama pengguna masuk",
"IN-NAME": "Cocok dengan nama masuk",
"SUB-RULE": "Sub-aturan",
"RULE-SET": "Cocok dengan set aturan",
"AND": "Logika DAN",
"OR": "Logika ATAU",
"NOT": "Logika TIDAK",
"MATCH": "Cocok dengan semua permintaan"
},
"title": "Ubah Aturan"
}
}
}

View File

@@ -0,0 +1,571 @@
{
"page": {
"actions": {
"manual": "Manual",
"telegram": "Saluran Telegram",
"github": "Repositori Github"
},
"title": "Pengaturan"
},
"sections": {
"system": {
"title": "Pengaturan Sistem",
"toggles": {
"tunMode": "Mode Tun (NIC Virtual)",
"systemProxy": "Proksi Sistem"
},
"tooltips": {
"autoLaunchAdmin": "Administrator mode may not support auto launch",
"silentStart": "Mulai program dalam mode latar belakang tanpa menampilkan panel"
},
"fields": {
"autoLaunch": "Mulai otomatis",
"silentStart": "Mulai senyap"
},
"notifications": {
"tunMode": {
"autoDisabled": "TUN Mode automatically disabled due to service unavailable",
"autoDisableFailed": "Failed to disable TUN Mode automatically"
}
}
},
"proxyControl": {
"tooltips": {
"systemProxy": "Aktifkan untuk mengubah pengaturan proksi sistem operasi. Jika pengaktifan gagal, ubah pengaturan proksi sistem operasi secara manual",
"tunMode": "Mode Tun (NIC Virtual): Menangkap semua lalu lintas sistem, saat diaktifkan, tidak perlu mengaktifkan proksi sistem.",
"tunUnavailable": "TUN requires Service Mode or Admin Mode"
},
"actions": {
"installService": "Instal Layanan",
"uninstallService": "Uninstall Service"
},
"fields": {
"systemProxy": "Proksi Sistem",
"tunMode": "Mode Tun (NIC Virtual)"
}
},
"externalController": {
"title": "Alamat Pengendali Eksternal",
"fields": {
"enable": "Enable External Controller",
"address": "Alamat Pengendali Eksternal",
"secret": "Rahasia Inti"
},
"placeholders": {
"address": "Required",
"secret": "Direkomendasikan"
},
"tooltips": {
"copy": "Copy to clipboard"
},
"messages": {
"addressRequired": "Controller address cannot be empty",
"secretRequired": "Secret cannot be empty",
"copyFailed": "Failed to copy",
"controllerCopied": "Controller address copied to clipboard",
"secretCopied": "Secret copied to clipboard"
}
},
"externalCors": {
"title": "External Cors Configuration",
"fields": {
"allowPrivateNetwork": "Allow private network access",
"allowedOrigins": "Allowed Origins"
},
"placeholders": {
"origin": "Please enter a valid url"
},
"actions": {
"add": "Add"
},
"messages": {
"alwaysIncluded": "Always included origins: {{urls}}"
},
"tooltips": {
"open": "External Cors Settings"
}
},
"appearance": {
"light": "Light",
"dark": "Dark",
"system": "System"
},
"clash": {
"title": "Pengaturan Clash",
"form": {
"fields": {
"allowLan": "Izinkan LAN",
"dnsOverwrite": "DNS Overwrite",
"ipv6": "IPv6",
"unifiedDelay": "Keterlambatan Terpadu",
"logLevel": "Tingkat Log",
"portConfig": "Konfigurasi Port",
"external": "Eksternal",
"webUI": "Antarmuka Web",
"clashCore": "Inti Clash",
"openUwpTool": "Buka alat UWP",
"updateGeoData": "Perbarui GeoData"
},
"tooltips": {
"networkInterface": "Antarmuka Jaringan",
"unifiedDelay": "Saat keterlambatan terpadu diaktifkan, dua tes keterlambatan akan dilakukan untuk menghilangkan perbedaan keterlambatan antara berbagai jenis node yang disebabkan oleh jabat tangan koneksi, dll.",
"logLevel": "Ini hanya berlaku untuk file log kernel di folder layanan di direktori log.",
"openUwpTool": "Sejak Windows 8, aplikasi UWP (seperti Microsoft Store) dibatasi dari mengakses layanan jaringan host lokal secara langsung, dan alat ini dapat digunakan untuk melewati pembatasan ini"
},
"options": {
"logLevel": {
"debug": "Debug",
"info": "Info",
"warning": "Warn",
"error": "Error",
"silent": "Silent"
}
}
}
}
},
"components": {
"verge": {
"basic": {
"title": "Pengaturan Dasar Verge",
"actions": {
"browse": "Jelajahi"
},
"trayOptions": {
"showMainWindow": "Tampilkan Jendela Utama",
"showTrayMenu": "Show Tray Menu",
"disable": "Nonaktifkan"
},
"fields": {
"language": "Bahasa",
"themeMode": "Mode Tema",
"trayClickEvent": "Acara Klik Tray",
"copyEnvType": "Salin Jenis Env",
"startPage": "Halaman Mulai",
"startupScript": "Skrip Startup",
"themeSetting": "Pengaturan Tema",
"layoutSetting": "Pengaturan Tata Letak",
"misc": "Lain-lain",
"hotkeySetting": "Pengaturan Pintasan"
}
},
"advanced": {
"title": "Pengaturan Lanjutan Verge",
"tooltips": {
"backupInfo": "Mendukung file konfigurasi cadangan WebDAV",
"openConfDir": "Jika perangkat lunak berjalan tidak normal, CADANGKAN dan hapus semua file di folder ini lalu mulai ulang perangkat lunak",
"liteMode": "Tutup GUI dan biarkan hanya kernel yang berjalan"
},
"actions": {
"copyVersion": "Copy Version"
},
"notifications": {
"latestVersion": "Saat ini pada Versi Terbaru",
"versionCopied": "Version copied to clipboard"
},
"fields": {
"backupSetting": "Pengaturan Cadangan",
"runtimeConfig": "Konfigurasi Runtime",
"openConfDir": "Buka Direktori Konfigurasi",
"openCoreDir": "Buka Direktori Core",
"openLogsDir": "Buka Direktori Log",
"checkUpdates": "Periksa Pembaruan",
"openDevTools": "Buka Alat Pengembang",
"liteModeSettings": "LightWeight Mode Settings",
"exit": "Keluar",
"exportDiagnostics": "Export Diagnostic Info",
"vergeVersion": "Versi Verge"
}
},
"theme": {
"title": "Pengaturan Tema",
"fields": {
"primaryColor": "Warna Utama",
"secondaryColor": "Warna Sekunder",
"primaryText": "Teks Utama",
"secondaryText": "Teks Sekunder",
"infoColor": "Warna Info",
"warningColor": "Warna Peringatan",
"errorColor": "Warna Kesalahan",
"successColor": "Warna Keberhasilan",
"fontFamily": "Keluarga Font",
"cssInjection": "Injeksi CSS"
},
"actions": {
"editCss": "Edit CSS"
},
"dialogs": {
"editCssTitle": "Edit CSS"
}
},
"layout": {
"title": "Pengaturan Tata Letak",
"fields": {
"preferSystemTitlebar": "Prefer System Titlebar",
"trafficGraph": "Grafik Lalu Lintas",
"memoryUsage": "Penggunaan Memori",
"proxyGroupIcon": "Ikon Grup Proksi",
"hoverNavigator": "Hover Jump Navigator",
"hoverNavigatorDelay": "Hover Jump Navigator Delay",
"navIcon": "Ikon Navigasi",
"trayIcon": "Ikon Tray",
"showProxyGroupsInline": "Show Proxy Groups Inline",
"commonTrayIcon": "Ikon Tray Umum",
"systemProxyTrayIcon": "Ikon Tray Proksi Sistem",
"tunTrayIcon": "Ikon Tray Tun",
"enableTrayIcon": "Enable Tray Icon",
"enableTraySpeed": "Aktifkan Tray Speed"
},
"tooltips": {
"hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters",
"hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds"
},
"options": {
"icon": {
"monochrome": "Monokrom",
"colorful": "Berwarna",
"disable": "Nonaktifkan"
}
}
}
}
},
"modals": {
"clashPort": {
"title": "Konfigurasi Port",
"fields": {
"mixed": "Port Campuran",
"socks": "Port Socks",
"http": "Port Http(s)",
"redir": "Port Redir",
"tproxy": "Port Tproxy"
},
"actions": {
"random": "Port Acak"
},
"messages": {
"saved": "Port settings saved",
"saveFailed": "Failed to save port settings"
}
},
"clashCore": {
"variants": {
"release": "Versi Rilis",
"alpha": "Versi Alpha"
}
},
"liteMode": {
"title": "LightWeight Mode Settings",
"actions": {
"enterNow": "Enter LightWeight Mode Now"
},
"toggles": {
"autoEnter": "Auto Enter LightWeight Mode"
},
"tooltips": {
"autoEnter": "Enable to automatically activate LightWeight Mode after the window is closed for a period of time"
},
"fields": {
"delay": "Auto Enter LightWeight Mode Delay"
},
"messages": {
"autoEnterHint": "When closing the window, LightWeight Mode will be automatically activated after {{n}} minutes"
}
},
"backup": {
"title": "Pengaturan Cadangan",
"tabs": {
"local": "Local backup",
"webdav": "WebDAV backup"
},
"actions": {
"selectTarget": "Select backup target",
"backup": "Cadangan",
"export": "Export",
"exportBackup": "Export Backup",
"deleteBackup": "Hapus Cadangan",
"restore": "Pulihkan",
"restoreBackup": "Pulihkan Cadangan"
},
"fields": {
"webdavUrl": "URL Server WebDAV",
"username": "Nama Pengguna",
"info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups."
},
"messages": {
"webdavUrlRequired": "URL WebDAV tidak boleh kosong",
"invalidWebdavUrl": "Format URL WebDAV tidak valid",
"usernameRequired": "Nama pengguna tidak boleh kosong",
"passwordRequired": "Kata sandi tidak boleh kosong",
"webdavConfigSaved": "Konfigurasi WebDAV berhasil disimpan",
"webdavConfigSaveFailed": "Gagal menyimpan konfigurasi WebDAV: {{error}}",
"backupCreated": "Cadangan berhasil dibuat",
"backupFailed": "Cadangan gagal: {{error}}",
"localBackupCreated": "Local backup created successfully",
"localBackupFailed": "Local backup failed",
"restoreSuccess": "Pemulihan Berhasil, Aplikasi akan dimulai ulang dalam 1 detik",
"localBackupExported": "Local backup exported successfully",
"localBackupExportFailed": "Failed to export local backup",
"confirmDelete": "Konfirmasi untuk menghapus file cadangan ini?",
"confirmRestore": "Konfirmasi untuk memulihkan file cadangan ini?"
},
"table": {
"filename": "Nama Berkas",
"backupTime": "Waktu Cadangan",
"actions": "Tindakan",
"noBackups": "Tidak ada cadangan yang tersedia",
"rowsPerPage": "Rows per page"
}
},
"misc": {
"title": "Lain-lain",
"fields": {
"appLogLevel": "Tingkat Log Aplikasi",
"appLogMaxSize": "App Log Max Size",
"appLogMaxCount": "App Log Max Count",
"autoCloseConnections": "Tutup Koneksi Otomatis",
"autoCheckUpdate": "Periksa Pembaruan Otomatis",
"enableBuiltinEnhanced": "Aktifkan Peningkatan Bawaan",
"proxyLayoutColumns": "Kolom Tata Letak Proksi",
"autoLogClean": "Pembersihan Log Otomatis",
"autoDelayDetection": "Deteksi Latensi Otomatis",
"defaultLatencyTest": "Tes Latensi Default",
"defaultLatencyTimeout": "Waktu Habis Latensi Default"
},
"tooltips": {
"autoCloseConnections": "Hentikan koneksi yang sudah ada saat pemilihan grup proksi atau mode proksi berubah",
"enableBuiltinEnhanced": "Penanganan kompatibilitas untuk file konfigurasi",
"autoDelayDetection": "Secara berkala menguji latensi node saat ini di latar belakang",
"defaultLatencyTest": "Digunakan hanya untuk pengujian permintaan klien HTTP dan tidak akan mempengaruhi file konfigurasi"
},
"options": {
"proxyLayoutColumns": {
"auto": "Kolom Otomatis"
},
"autoLogClean": {
"never": "Jangan Pernah Bersihkan",
"retainDays": "Simpan {{n}} Hari"
}
}
},
"update": {
"title": "New Version v{{version}}",
"actions": {
"goToRelease": "Pergi ke Halaman Rilis",
"update": "Perbarui"
},
"messages": {
"portableError": "Versi portabel tidak mendukung pembaruan dalam aplikasi. Harap unduh dan ganti secara manual",
"breakChangeError": "Versi ini adalah pembaruan besar dan tidak mendukung pembaruan dalam aplikasi. Harap hapus instalasi dan unduh serta instal versi baru secara manual"
}
},
"sysproxy": {
"title": "Pengaturan Proksi Sistem",
"fieldsets": {
"currentStatus": "Proksi Sistem Saat Ini"
},
"fields": {
"enableStatus": "Status Pengaktifan:",
"serverAddr": "Alamat Server: ",
"pacUrl": "URL PAC: ",
"proxyHost": "Host Proksi",
"usePacMode": "Gunakan Mode PAC",
"proxyGuard": "Penjaga Proksi",
"guardDuration": "Durasi Penjagaan",
"alwaysUseDefaultBypass": "Selalu gunakan Bypass Default",
"proxyBypass": "Pengaturan Bypass Proksi: ",
"bypass": "Bypass: ",
"pacScriptContent": "Konten Skrip PAC"
},
"tooltips": {
"proxyGuard": "Aktifkan untuk mencegah perangkat lunak lain mengubah pengaturan proksi sistem operasi"
},
"messages": {
"durationTooShort": "Durasi Daemon Proksi Tidak Boleh Kurang dari 1 Detik",
"invalidBypass": "Format Bypass Tidak Valid",
"invalidProxyHost": "Format Host Proksi Tidak Valid"
},
"actions": {
"editPac": "Ubah PAC"
}
},
"tun": {
"title": "Mode Tun (NIC Virtual)",
"fields": {
"stack": "Tumpukan Tun",
"device": "Device Name",
"autoRoute": "Rute Otomatis",
"strictRoute": "Rute Ketat",
"autoDetectInterface": "Deteksi Antarmuka Otomatis",
"dnsHijack": "Pembajakan DNS",
"mtu": "Unit Transmisi Maksimum"
},
"tooltips": {
"dnsHijack": "Please use , to separate multiple DNS servers"
},
"messages": {
"applied": "Pengaturan Diterapkan"
}
},
"dns": {
"dialog": {
"title": "DNS Overwrite",
"warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled"
},
"sections": {
"general": "DNS Settings",
"fallbackFilter": "Fallback Filter Settings",
"hosts": "Hosts Settings"
},
"fields": {
"enable": "Enable DNS",
"listen": "DNS Listen",
"enhancedMode": "Enhanced Mode",
"fakeIpRange": "Fake IP Range",
"fakeIpFilterMode": "Fake IP Filter Mode",
"ipv6": {
"label": "IPv6",
"description": "Enable IPv6 DNS resolution"
},
"preferH3": {
"label": "Prefer H3",
"description": "DNS DOH uses HTTP/3"
},
"respectRules": {
"label": "Respect Rules",
"description": "DNS connections follow routing rules"
},
"useHosts": {
"label": "Use Hosts",
"description": "Enable to resolve hosts through hosts file"
},
"useSystemHosts": {
"label": "Use System Hosts",
"description": "Enable to resolve hosts through system hosts file"
},
"directPolicy": {
"label": "Direct Nameserver Follow Policy",
"description": "Whether to follow nameserver policy"
},
"defaultNameserver": {
"label": "Default Nameserver",
"description": "Default DNS servers used to resolve DNS servers"
},
"nameserver": {
"label": "Nameserver",
"description": "List of DNS servers, comma separated"
},
"fallback": {
"label": "Fallback",
"description": "List of fallback DNS servers, comma separated"
},
"proxy": {
"label": "Proxy Server Nameserver",
"description": "DNS servers for proxy node domain resolution"
},
"directNameserver": {
"label": "Direct Nameserver",
"description": "DNS servers for direct exit domain resolution, supports 'system' keyword, comma separated"
},
"fakeIpFilter": {
"label": "Fake IP Filter",
"description": "Domains that skip fake IP resolution, comma separated"
},
"nameserverPolicy": {
"label": "Nameserver Policy",
"description": "Domain-specific DNS server, multiple servers separated by semicolons, format: domain=server1;server2"
},
"geoipFiltering": {
"label": "GeoIP Filtering",
"description": "Enable GeoIP filtering for fallback"
},
"geoipCode": "GeoIP Code",
"fallbackIpCidr": {
"label": "Fallback IP CIDR",
"description": "IP CIDRs not using fallback servers, comma separated"
},
"fallbackDomain": {
"label": "Fallback Domain",
"description": "Domains using fallback servers, comma separated"
},
"hosts": {
"label": "Hosts",
"description": "Custom domain to IP or domain mapping"
}
},
"messages": {
"saved": "DNS settings saved",
"configError": "DNS configuration error:"
},
"errors": {
"invalid": "Invalid configuration"
}
},
"webUI": {
"actions": {
"openUrl": "Buka URL"
},
"title": "Antarmuka Web",
"messages": {
"supportedPlaceholders": "Dukung %host, %port, %secret",
"placeholderInstruction": "Ganti host, port, rahasia dengan %host, %port, %secret"
}
},
"hotkey": {
"toggles": {
"enableGlobal": "Aktifkan Hotkey Global"
},
"title": "Pengaturan Pintasan",
"functions": {
"rule": "Mode Aturan",
"global": "Mode Global",
"openOrCloseDashboard": "Buka/Tutup Dasbor",
"toggleSystemProxy": "Aktifkan/Nonaktifkan Proksi Sistem",
"toggleTunMode": "Aktifkan/Nonaktifkan Mode Tun",
"entryLightweightMode": "Entry Lightweight Mode",
"direct": "Mode Langsung"
}
},
"password": {
"prompts": {
"enterRoot": "Harap masukkan kata sandi root Anda"
}
},
"networkInterface": {
"title": "Antarmuka Jaringan",
"fields": {
"ipAddress": "Alamat IP",
"macAddress": "Alamat MAC"
}
}
},
"feedback": {
"notifications": {
"clash": {
"restartSuccess": "Core Clash Dimulai Ulang",
"versionUpdated": "Versi Core Diperbarui",
"changeSuccess": "Inti berhasil diubah",
"changeFailed": "Gagal mengubah inti",
"geoDataUpdated": "GeoData Diperbarui"
},
"clashService": {
"installSuccess": "Layanan Berhasil Diinstal",
"uninstallSuccess": "Layanan Berhasil Dicopot"
},
"updater": {
"withClashProxySuccess": "Update with Clash proxy successfully",
"withClashProxyFailed": "Update failed even with Clash proxy"
}
}
},
"statuses": {
"clash": {
"stopping": "Stopping Core...",
"restarting": "Restarting Core..."
},
"clashService": {
"installing": "Memasang Layanan...",
"uninstalling": "Uninstalling Service..."
}
}
}

128
src/locales/id/shared.json Normal file
View File

@@ -0,0 +1,128 @@
{
"actions": {
"cancel": "Batal",
"close": "Tutup",
"confirm": "Konfirmasi",
"save": "Simpan",
"delete": "Hapus",
"edit": "Ubah",
"new": "Baru",
"enable": "Aktifkan",
"upgrade": "Tingkatkan",
"restart": "Mulai Ulang",
"resetToDefault": "Setel Ulang ke Default",
"refresh": "Segarkan",
"retry": "Retry",
"refreshPage": "Refresh Page",
"showDetails": "Show Details",
"hideDetails": "Hide Details",
"listView": "Tampilan Daftar",
"tableView": "Tampilan Tabel",
"pause": "Jeda",
"resume": "Lanjut",
"closeAll": "Tutup Semua",
"clear": "Bersihkan"
},
"labels": {
"updateAt": "Diperbarui Pada",
"timeout": "Timeout",
"icon": "Ikon",
"name": "Nama",
"readOnly": "Hanya Baca",
"expireTime": "Waktu Kedaluwarsa",
"updateTime": "Waktu Pembaruan",
"usedTotal": "Digunakan / Total",
"from": "Dari",
"password": "Kata Sandi",
"retryAttempts": "Retry attempts",
"downloaded": "Diunduh",
"uploaded": "Diunggah"
},
"statuses": {
"enabled": "Diaktifkan",
"disabled": "Dinonaktifkan",
"saving": "Saving...",
"empty": "Kosong"
},
"units": {
"milliseconds": "milidetik",
"seconds": "detik",
"minutes": "menit",
"kilobytes": "KB",
"files": "Files"
},
"placeholders": {
"filter": "Kondisi Filter",
"matchCase": "Cocokkan Kasus",
"matchWholeWord": "Cocokkan Kata Utuh",
"useRegex": "Gunakan Ekspresi Reguler"
},
"validation": {
"invalidRegex": "Invalid regular expression"
},
"window": {
"maximize": "Maksimalkan",
"minimize": "Minimalkan"
},
"editorModes": {
"visualization": "Visualisasi",
"advanced": "Lanjutan"
},
"feedback": {
"errors": {
"trafficStats": "Traffic Statistics Error",
"trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes."
},
"notices": {
"raw": "{{message}}",
"prefixedRaw": "{{prefix}} {{message}}"
},
"notifications": {
"importSuccess": "Profil Berhasil Diimpor",
"importSubscriptionSuccess": "Berlangganan Berhasil Diimpor",
"importWithClashProxy": "Profile Imported with Clash proxy",
"saved": "Saved successfully",
"common": {
"copySuccess": "Salin Berhasil",
"saveSuccess": "Configuration saved successfully",
"saveFailed": "Failed to save configuration"
}
},
"validation": {
"config": {
"failed": "Validasi konfigurasi langganan gagal, periksa file konfigurasi, perubahan dibatalkan, detail kesalahan:",
"bootFailed": "Validasi konfigurasi saat boot gagal, menggunakan konfigurasi default, periksa file konfigurasi, detail kesalahan:",
"coreChangeFailed": "Validasi konfigurasi saat ganti inti gagal, menggunakan konfigurasi default, periksa file konfigurasi, detail kesalahan:",
"processTerminated": "Proses validasi dihentikan"
},
"script": {
"syntaxError": "Kesalahan sintaks skrip, perubahan dibatalkan",
"missingMain": "Kesalahan skrip, perubahan dibatalkan",
"fileNotFound": "File tidak ditemukan, perubahan dibatalkan",
"fileError": "Kesalahan file skrip, perubahan dibatalkan"
},
"yaml": {
"syntaxError": "YAML syntax error, changes reverted",
"readError": "YAML read error, changes reverted",
"mappingError": "YAML mapping error, changes reverted",
"keyError": "YAML key error, changes reverted",
"generalError": "YAML error, changes reverted"
},
"merge": {
"syntaxError": "Merge file syntax error, changes reverted",
"mappingError": "Merge file mapping error, changes reverted",
"keyError": "Merge file key error, changes reverted",
"generalError": "Merge file error, changes reverted"
}
}
},
"filters": {
"logLevels": {
"all": "ALL",
"debug": "DEBUG",
"info": "INFO",
"warn": "WARN",
"error": "ERROR"
}
}
}

40
src/locales/id/tests.json Normal file
View File

@@ -0,0 +1,40 @@
{
"page": {
"actions": {
"testAll": "Tes Semua"
},
"title": "Tes"
},
"components": {
"item": {
"actions": {
"test": "Tes"
}
}
},
"modals": {
"test": {
"title": {
"create": "Buat Tes",
"edit": "Ubah Tes"
},
"fields": {
"url": "URL Tes"
}
}
},
"statuses": {
"test": {
"pending": "Pending",
"yes": "Yes",
"no": "No",
"failed": "Failed",
"completed": "Completed",
"disallowedIsp": "Disallowed ISP",
"originalsOnly": "Originals Only",
"noDisney": "No (IP Banned By Disney+)",
"unsupportedRegion": "Unsupported Country/Region",
"failedNetwork": "Failed (Network Connection)"
}
}
}

View File

@@ -0,0 +1,12 @@
{
"page": {
"actions": {
"testing": "Testing..."
},
"empty": "No unlock test items",
"messages": {
"detectionTimeout": "Detection timeout or failed"
},
"title": "Unlock Test"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,28 @@
{
"page": {
"title": "接続"
},
"components": {
"fields": {
"host": "ホスト",
"dlSpeed": "ダウンロード速度",
"ulSpeed": "アップロード速度",
"chains": "チェーン",
"rule": "ルール",
"process": "プロセス",
"time": "接続時間",
"source": "送信元アドレス",
"destination": "宛先アドレス",
"destinationPort": "宛先ポート",
"type": "タイプ"
},
"order": {
"default": "Default",
"uploadSpeed": "アップロード速度",
"downloadSpeed": "ダウンロード速度"
},
"actions": {
"closeConnection": "接続を閉じる"
}
}
}

138
src/locales/jp/home.json Normal file
View File

@@ -0,0 +1,138 @@
{
"page": {
"tooltips": {
"lightweightMode": "軽量モード",
"manual": "マニュアル",
"settings": "ホーム設定"
},
"cards": {
"trafficStats": "トラフィック統計",
"networkSettings": "ネットワーク設定",
"proxyMode": "プロキシモード"
},
"settings": {
"cards": {
"profile": "プロファイルカード",
"currentProxy": "現在のプロキシカード",
"network": "ネットワーク設定カード",
"proxyMode": "プロキシモードカード",
"traffic": "トラフィック統計カード",
"tests": "ウェブサイトテストカード",
"ip": "IP情報カード",
"clashInfo": "Clash情報カード",
"systemInfo": "システム情報カード"
},
"title": "ホーム設定"
},
"title": "ホーム"
},
"components": {
"proxyTun": {
"status": {
"systemProxyEnabled": "システムプロキシが有効になっています。アプリケーションはプロキシを通じてネットワークにアクセスします。",
"systemProxyDisabled": "システムプロキシが無効になっています。ほとんどのユーザーはこのオプションをオンにすることをお勧めします。",
"tunModeServiceRequired": "TUNモードはサービスモードが必要です。まずサービスをインストールしてください。",
"tunModeEnabled": "TUNモードが有効になっています。アプリケーションは仮想ネットワークカードを通じてネットワークにアクセスします。",
"tunModeDisabled": "TUNモードが無効になっています。特殊なアプリケーションに適しています。"
},
"tooltips": {
"systemProxy": "オペレーティングシステムのプロキシ設定を変更します。有効にできない場合は、手動でオペレーティングシステムのプロキシ設定を変更してください。",
"tunMode": "TUNモードは全てのアプリケーションのトラフィックを制御できます。システムプロキシ設定に従わない特殊なアプリケーションに適しています。"
}
},
"clashInfo": {
"title": "Clash情報",
"fields": {
"coreVersion": "コアバージョン",
"systemProxyAddress": "システムプロキシアドレス",
"mixedPort": "Mixed Port",
"uptime": "稼働時間",
"rulesCount": "ルール数"
}
},
"systemInfo": {
"title": "システム情報",
"fields": {
"osInfo": "オペレーティングシステム情報",
"autoLaunch": "起動時に自動起動",
"runningMode": "実行モード",
"lastCheckUpdate": "最後の更新チェック",
"vergeVersion": "Vergeバージョン"
},
"actions": {
"settings": "設定"
},
"tooltips": {
"autoLaunchAdmin": "管理者モードでは起動時の自動起動がサポートされない場合があります。"
},
"badges": {
"adminMode": "管理者モード",
"serviceMode": "サービスモード",
"sidecarMode": "ユーザーモード",
"adminServiceMode": "Admin + Service Mode"
}
},
"ipInfo": {
"title": "IP情報",
"labels": {
"ip": "IP",
"asn": "自治システム番号",
"isp": "インターネットサービスプロバイダー",
"org": "組織",
"location": "位置",
"timezone": "タイムゾーン",
"autoRefresh": "自動更新",
"unknown": "不明"
},
"errors": {
"load": "IP情報の取得に失敗しました"
}
},
"currentProxy": {
"title": "現在のノード",
"actions": {
"refreshDelay": "遅延テスト"
},
"labels": {
"globalMode": "グローバルモード",
"directMode": "直接接続モード",
"group": "プロキシグループ",
"proxy": "ノード",
"noActiveNode": "アクティブなプロキシノードがありません。"
}
},
"tests": {
"title": "ウェブサイトテスト"
},
"traffic": {
"metrics": {
"uploadSpeed": "アップロード速度",
"downloadSpeed": "ダウンロード速度",
"activeConnections": "アクティブな接続",
"memoryUsage": "コアメモリ使用量"
},
"legends": {
"upload": "アップロード",
"download": "ダウンロード"
},
"patterns": {
"minutes": "{{time}} Minutes"
}
},
"clashMode": {
"errors": {
"communication": "Core communication error"
},
"labels": {
"rule": "ルールモード",
"global": "グローバルモード",
"direct": "直接接続モード"
},
"descriptions": {
"rule": "Automatically choose proxies according to the rule set.",
"global": "Forward all network requests through the selected proxy.",
"direct": "Bypass the proxy and connect to the internet directly."
}
}
}
}

27
src/locales/jp/index.ts Normal file
View File

@@ -0,0 +1,27 @@
import shared from "./shared.json";
import profiles from "./profiles.json";
import proxies from "./proxies.json";
import connections from "./connections.json";
import tests from "./tests.json";
import logs from "./logs.json";
import rules from "./rules.json";
import home from "./home.json";
import unlock from "./unlock.json";
import settings from "./settings.json";
import layout from "./layout.json";
const resources = {
"shared": shared,
"profiles": profiles,
"proxies": proxies,
"connections": connections,
"tests": tests,
"logs": logs,
"rules": rules,
"home": home,
"unlock": unlock,
"settings": settings,
"layout": layout,
};
export default resources;

View File

@@ -0,0 +1,21 @@
{
"components": {
"navigation": {
"tabs": {
"home": "ホーム",
"proxies": "プロキシ",
"profiles": "プロファイル",
"connections": "接続",
"rules": "ルール",
"logs": "ログ",
"unlock": "テスト",
"settings": "設定"
},
"menu": {
"reorderMode": "Menu reorder mode",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
}
}
}
}

5
src/locales/jp/logs.json Normal file
View File

@@ -0,0 +1,5 @@
{
"page": {
"title": "ログ"
}
}

View File

@@ -0,0 +1,182 @@
{
"page": {
"actions": {
"updateAll": "すべてのプロファイルを更新",
"viewRuntimeConfig": "実行時のプロファイルを表示",
"reactivate": "プロファイルを再アクティブ化",
"import": "インポート"
},
"batch": {
"actions": {
"delete": "選択したプロファイルを削除",
"selectAll": "すべて選択",
"deselectAll": "すべての選択を解除",
"done": "完了"
},
"summary": {
"selected": "選択済み",
"items": "アイテム"
},
"title": "バッチ操作"
},
"importForm": {
"placeholder": "プロファイルファイルのURL",
"actions": {
"paste": "貼り付け"
}
},
"feedback": {
"errors": {
"invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://",
"onlyYaml": "YAMLファイルのみサポートされています。"
},
"notifications": {
"importRetry": "インポートに失敗しました。Clashプロキシを使用して再試行します...",
"importFail": "Clashプロキシを使用してもインポートに失敗しました。",
"importNeedsRefresh": "Profile imported but may need manual refresh",
"importSuccess": "Profile imported successfully, please restart if not visible",
"profileSwitched": "プロファイルが切り替えられました。",
"profileReactivated": "プロファイルが再アクティブ化されました。",
"switchInterrupted": "Profile switch interrupted by new selection",
"batchDeleted": "選択したプロファイルが正常に削除されました"
},
"notices": {
"forceRefreshCompleted": "Force refresh completed",
"emergencyRefreshFailed": "Emergency refresh failed: {{message}}"
}
},
"title": "プロファイル"
},
"components": {
"card": {
"labels": {
"clickToImport": "クリックしてサブスクリプションをインポート"
}
},
"fileInput": {
"chooseFile": "ファイルを選択"
},
"menu": {
"home": "ホーム",
"select": "使用する",
"editInfo": "情報を編集",
"editFile": "ファイルを編集",
"editRules": "ルールを編集",
"editProxies": "ノードを編集",
"editGroups": "プロキシグループを編集",
"extendConfig": "拡張上書き設定",
"extendScript": "拡張スクリプト",
"openFile": "ファイルを開く",
"update": "更新",
"updateViaProxy": "Update via proxy"
},
"more": {
"global": {
"merge": "Global Merge",
"script": "Global Script"
},
"chips": {
"merge": "Merge",
"script": "Script"
}
},
"profileItem": {
"tooltips": {
"showLast": "Click to show last update time",
"showNext": "Click to show next update"
},
"status": {
"lastUpdateFailed": "前回の更新に失敗しました。",
"nextUp": "次回の更新",
"noSchedule": "予定がありません。",
"unknown": "不明",
"autoUpdateDisabled": "自動更新が無効になっています。"
}
}
},
"modals": {
"profileForm": {
"title": {
"create": "新規プロファイルを作成",
"edit": "プロファイルを編集"
},
"fields": {
"type": "タイプ",
"description": "説明",
"subscriptionUrl": "サブスクリプションURL",
"httpTimeout": "HTTP Request Timeout",
"updateInterval": "更新間隔",
"useSystemProxy": "システムプロキシを使用して更新",
"useClashProxy": "クラッシュプロキシを使用して更新",
"acceptInvalidCerts": "Allows Invalid Certificates (Danger)",
"allowAutoUpdate": "Allow Auto Update"
},
"feedback": {
"notifications": {
"creationRetry": "プロファイルの作成に失敗しました。Clashプロキシを使用して再試行します...",
"creationSuccess": "Clashプロキシを使用してプロファイルの作成に成功しました。"
}
}
},
"proxiesEditor": {
"title": "ノードを編集",
"placeholders": {
"multiUri": "複数のURIは改行で区切ってくださいBase64エンコードに対応"
},
"actions": {
"prepend": "前置プロキシノードを追加",
"append": "後置プロキシノードを追加"
}
},
"groupsEditor": {
"title": "プロキシグループを編集",
"errors": {
"nameRequired": "プロキシグループ名は必須です",
"nameExists": "プロキシグループ名はすでに存在します"
},
"fields": {
"type": "プロキシグループタイプ",
"name": "プロキシグループ名",
"icon": "プロキシグループアイコン",
"proxies": "プロキシを導入",
"provider": "プロキシプロバイダーを導入",
"healthCheckUrl": "ヘルスチェックURL",
"expectedStatus": "期待するステータスコード",
"interval": "チェック間隔",
"maxFailedTimes": "最大失敗回数",
"interfaceName": "出力インターフェース",
"routingMark": "ルーティングマーク",
"filter": "ノードをフィルタリング",
"excludeFilter": "除外ノード",
"excludeType": "除外ノードタイプ",
"includeAll": "すべての出力プロキシ、プロキシプロバイダーを導入",
"includeAllProxies": "すべての出力プロキシを導入",
"includeAllProviders": "すべてのプロキシプロバイダーを導入"
},
"toggles": {
"lazy": "遅延モード",
"disableUdp": "UDPを無効にする",
"hidden": "プロキシグループを隠す"
},
"actions": {
"prepend": "前置プロキシグループを追加",
"append": "後置プロキシグループを追加"
}
},
"editor": {
"actions": {
"format": "文書を整形する"
},
"messages": {
"readOnly": "読み取り専用モードでは編集できません。"
}
},
"confirmDelete": {
"title": "削除を確認",
"message": "この操作は元に戻せません"
},
"logViewer": {
"title": "スクリプトコンソール出力"
}
}
}

View File

@@ -0,0 +1,90 @@
{
"page": {
"modes": {
"rule": "Rule",
"global": "Global",
"direct": "Direct"
},
"actions": {
"toggleChain": "🔗 チェーンプロキシ",
"connect": "Connect",
"disconnect": "Disconnect",
"connecting": "Connecting...",
"clearChainConfig": "Delete Chain Config"
},
"provider": {
"title": "プロキシプロバイダー",
"actions": {
"updateAll": "すべて更新",
"update": "更新"
}
},
"rules": {
"title": "Proxy Rules",
"select": "Select Rules"
},
"labels": {
"proxyCount": "ノード数",
"delayCheckReset": "遅延テストを実行して固定を解除する"
},
"tooltips": {
"locate": "現在のノード",
"delayCheck": "遅延テスト",
"sortDefault": "デフォルトでソート",
"sortDelay": "遅延でソート",
"sortName": "名前でソート",
"delayCheckUrl": "遅延テストURL",
"showBasic": "ノードの詳細を隠す",
"showDetail": "ノードの詳細を表示する",
"filter": "ノードをフィルタリング"
},
"placeholders": {
"delayCheckUrl": "遅延テストURL"
},
"chain": {
"header": "Chain Proxy Config",
"empty": "No proxy chain configured",
"instruction": "Click nodes in order to add to proxy chain",
"minimumNodes": "Chain proxy requires at least 2 nodes",
"minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.",
"connectFailed": "Failed to connect to proxy chain",
"disconnectFailed": "Failed to disconnect from proxy chain",
"duplicateNode": "Proxy node already exists in chain"
},
"messages": {
"directMode": "直接接続モード"
},
"title": {
"default": "プロキシグループ",
"chainMode": "Proxy Chain Mode"
}
},
"feedback": {
"notifications": {
"provider": {
"updateSuccess": "{{name}} updated successfully",
"updateFailed": "Failed to update {{name}}: {{message}}",
"genericError": "Update failed: {{message}}",
"none": "No providers available to update",
"allUpdated": "All providers updated successfully"
}
}
},
"components": {
"enums": {
"strategies": {
"select": "手動でプロキシを選択",
"url-test": "URLテストによる遅延でプロキシを選択",
"fallback": "利用不可の場合は別のプロキシに切り替える",
"load-balance": "負荷分散によりプロキシを割り当てる",
"relay": "定義されたプロキシチェーンに沿って転送する"
},
"policies": {
"DIRECT": "直接接続",
"REJECT": "リクエストを拒否",
"REJECT-DROP": "リクエストを破棄",
"PASS": "このルールをスキップ"
}
}
}
}

82
src/locales/jp/rules.json Normal file
View File

@@ -0,0 +1,82 @@
{
"page": {
"provider": {
"trigger": "ルールプロバイダー",
"dialogTitle": "ルールプロバイダー",
"actions": {
"updateAll": "すべて更新",
"update": "更新"
}
},
"title": "ルール"
},
"feedback": {
"notifications": {
"provider": {
"updateSuccess": "{{name}} updated successfully",
"updateFailed": "Failed to update {{name}}: {{message}}",
"genericError": "Update failed: {{message}}",
"none": "No providers available to update",
"allUpdated": "All providers updated successfully"
}
}
},
"modals": {
"editor": {
"form": {
"labels": {
"type": "ルールタイプ",
"content": "ルール内容",
"proxyPolicy": "プロキシポリシー"
},
"toggles": {
"noResolve": "DNS解決をスキップ"
},
"actions": {
"prependRule": "前置ルールを追加",
"appendRule": "後置ルールを追加"
},
"validation": {
"conditionRequired": "ルール条件が必要です",
"invalidRule": "無効なルール"
}
},
"ruleTypes": {
"DOMAIN": "完全なドメイン名を一致させる",
"DOMAIN-SUFFIX": "ドメインサフィックスを一致させる",
"DOMAIN-KEYWORD": "ドメインキーワードを一致させる",
"DOMAIN-REGEX": "ドメイン正規表現を一致させる",
"GEOSITE": "Geosite内のドメインを一致させる",
"GEOIP": "IPの所属国コードを一致させる",
"SRC-GEOIP": "送信元IPの所属国コードを一致させる",
"IP-ASN": "IPの所属ASNを一致させる",
"SRC-IP-ASN": "送信元IPの所属ASNを一致させる",
"IP-CIDR": "IPアドレス範囲を一致させる",
"IP-CIDR6": "IPアドレス範囲を一致させる",
"SRC-IP-CIDR": "送信元IPアドレス範囲を一致させる",
"IP-SUFFIX": "IPサフィックス範囲を一致させる",
"SRC-IP-SUFFIX": "送信元IPサフィックス範囲を一致させる",
"SRC-PORT": "送信元ポート範囲を一致させる",
"DST-PORT": "宛先ポート範囲を一致させる",
"IN-PORT": "入力ポートを一致させる",
"DSCP": "DSCPマークTPROXY UDP入力のみ",
"PROCESS-NAME": "プロセス名を一致させるAndroidパッケージ名",
"PROCESS-PATH": "完全なプロセスパスを一致させる",
"PROCESS-NAME-REGEX": "完全なプロセス名を正規表現で一致させるAndroidパッケージ名",
"PROCESS-PATH-REGEX": "完全なプロセスパスを正規表現で一致させる",
"NETWORK": "トランスポートプロトコルを一致させる (TCP/UDP)",
"UID": "LinuxユーザーIDを一致させる",
"IN-TYPE": "入力タイプを一致させる",
"IN-USER": "入力ユーザー名を一致させる",
"IN-NAME": "入力名を一致させる",
"SUB-RULE": "サブルール",
"RULE-SET": "ルールセットを一致させる",
"AND": "論理積",
"OR": "論理和",
"NOT": "論理否定",
"MATCH": "すべてのリクエストを一致させる"
},
"title": "ルールを編集"
}
}
}

View File

@@ -0,0 +1,571 @@
{
"page": {
"actions": {
"manual": "マニュアル",
"telegram": "Telegramチャンネル",
"github": "GitHubリポジトリ"
},
"title": "設定"
},
"sections": {
"system": {
"title": "システム設定",
"toggles": {
"tunMode": "仮想ネットワークカードモード",
"systemProxy": "システムプロキシ"
},
"tooltips": {
"autoLaunchAdmin": "管理者モードでは起動時の自動起動がサポートされない場合があります。",
"silentStart": "アプリケーションを起動すると、バックグラウンドモードで実行され、アプリケーションパネルは表示されません。"
},
"fields": {
"autoLaunch": "自動起動",
"silentStart": "サイレント起動"
},
"notifications": {
"tunMode": {
"autoDisabled": "TUN Mode automatically disabled due to service unavailable",
"autoDisableFailed": "Failed to disable TUN Mode automatically"
}
}
},
"proxyControl": {
"tooltips": {
"systemProxy": "オペレーティングシステムのプロキシ設定を変更します。有効にできない場合は、手動でオペレーティングシステムのプロキシ設定を変更してください。",
"tunMode": "TUN仮想ネットワークカードモードはシステムのすべてのトラフィックを制御します。有効にすると、システムプロキシを開く必要はありません。",
"tunUnavailable": "TUNモードはサービスモードまたは管理者モードが必要です"
},
"actions": {
"installService": "サービスをインストール",
"uninstallService": "サービスのアンインストール"
},
"fields": {
"systemProxy": "システムプロキシ",
"tunMode": "仮想ネットワークカードモード"
}
},
"externalController": {
"title": "外部コントローラーの監視アドレス",
"fields": {
"enable": "外部コントローラーを有効化",
"address": "外部コントローラーの監視アドレス",
"secret": "APIアクセスキー"
},
"placeholders": {
"address": "必須",
"secret": "推奨設定"
},
"tooltips": {
"copy": "クリップボードにコピー"
},
"messages": {
"addressRequired": "コントローラーのアドレスは空にできません",
"secretRequired": "シークレットを空にすることはできません",
"copyFailed": "コピーに失敗しました",
"controllerCopied": "API ポートがクリップボードにコピーされました",
"secretCopied": "API キーがクリップボードにコピーされました"
}
},
"externalCors": {
"title": "外部 CORS 設定",
"fields": {
"allowPrivateNetwork": "プライベートネットワークへのアクセスを許可",
"allowedOrigins": "許可されたオリジン"
},
"placeholders": {
"origin": "有効なURLを入力してください"
},
"actions": {
"add": "追加"
},
"messages": {
"alwaysIncluded": "常に含まれるオリジン: {{urls}}"
},
"tooltips": {
"open": "外部 CORS 設定"
}
},
"appearance": {
"light": "Light",
"dark": "Dark",
"system": "System"
},
"clash": {
"title": "Clash設定",
"form": {
"fields": {
"allowLan": "LAN接続を許可",
"dnsOverwrite": "DNS上書き",
"ipv6": "IPv6",
"unifiedDelay": "統一遅延",
"logLevel": "ログレベル",
"portConfig": "ポート設定",
"external": "外部制御",
"webUI": "Webインターフェース",
"clashCore": "Clashコア",
"openUwpTool": "UWPツールを開く",
"updateGeoData": "GeoDataを更新"
},
"tooltips": {
"networkInterface": "ネットワークインターフェース",
"unifiedDelay": "統一遅延を有効にすると、2回の遅延テストが行われ、接続ハンドシェイクなどによる異なるタイプのードの遅延差を解消します。",
"logLevel": "ログディレクトリのServiceフォルダ内のコアログファイルにのみ適用されます。",
"openUwpTool": "Windows 8以降では、UWPアプリケーションMicrosoft Storeなどがローカルホストのネットワークサービスに直接アクセスすることが制限されています。このツールを使用すると、この制限を回避できます。"
},
"options": {
"logLevel": {
"debug": "Debug",
"info": "Info",
"warning": "Warn",
"error": "Error",
"silent": "Silent"
}
}
}
}
},
"components": {
"verge": {
"basic": {
"title": "Verge基本設定",
"actions": {
"browse": "参照"
},
"trayOptions": {
"showMainWindow": "メインウィンドウを表示",
"showTrayMenu": "トレイメニューを表示",
"disable": "無効にする"
},
"fields": {
"language": "言語設定",
"themeMode": "テーマモード",
"trayClickEvent": "トレイアイコンクリックイベント",
"copyEnvType": "環境変数タイプをコピー",
"startPage": "起動ページ",
"startupScript": "起動スクリプト",
"themeSetting": "テーマ設定",
"layoutSetting": "レイアウト設定",
"misc": "その他の設定",
"hotkeySetting": "ホットキー設定"
}
},
"advanced": {
"title": "Verge詳細設定",
"tooltips": {
"backupInfo": "WebDAVを使用した設定ファイルのバックアップをサポートします。",
"openConfDir": "アプリケーションが正常に動作しない場合は、このフォルダ内のすべてのファイルを!バックアップ!して削除し、アプリケーションを再起動してください。",
"liteMode": "GUIを閉じて、コアのみを実行します。"
},
"actions": {
"copyVersion": "Copy Version"
},
"notifications": {
"latestVersion": "現在は最新バージョンです。",
"versionCopied": "Version copied to clipboard"
},
"fields": {
"backupSetting": "バックアップ設定",
"runtimeConfig": "現在の設定",
"openConfDir": "設定ディレクトリを開く",
"openCoreDir": "コアディレクトリを開く",
"openLogsDir": "ログディレクトリを開く",
"checkUpdates": "更新を確認",
"openDevTools": "開発者ツールを開く",
"liteModeSettings": "軽量モード設定",
"exit": "終了",
"exportDiagnostics": "診断情報をエクスポート",
"vergeVersion": "Vergeバージョン"
}
},
"theme": {
"title": "テーマ設定",
"fields": {
"primaryColor": "主要色",
"secondaryColor": "次要色",
"primaryText": "テキスト主要色",
"secondaryText": "テキスト次要色",
"infoColor": "情報色",
"warningColor": "警告色",
"errorColor": "エラー色",
"successColor": "成功色",
"fontFamily": "フォントファミリー",
"cssInjection": "CSSインジェクション"
},
"actions": {
"editCss": "Edit CSS"
},
"dialogs": {
"editCssTitle": "Edit CSS"
}
},
"layout": {
"title": "レイアウト設定",
"fields": {
"preferSystemTitlebar": "Prefer System Titlebar",
"trafficGraph": "トラフィックグラフ",
"memoryUsage": "コアメモリ使用量",
"proxyGroupIcon": "プロキシグループアイコン",
"hoverNavigator": "Hover Jump Navigator",
"hoverNavigatorDelay": "Hover Jump Navigator Delay",
"navIcon": "ナビゲーションバーアイコン",
"trayIcon": "トレイアイコン",
"showProxyGroupsInline": "Show Proxy Groups Inline",
"commonTrayIcon": "通常のトレイアイコン",
"systemProxyTrayIcon": "システムプロキシトレイアイコン",
"tunTrayIcon": "TUNモードトレイアイコン",
"enableTrayIcon": "トレイアイコンを有効にする",
"enableTraySpeed": "トレイの速度表示を有効にする"
},
"tooltips": {
"hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters",
"hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds"
},
"options": {
"icon": {
"monochrome": "モノクロアイコン",
"colorful": "カラーアイコン",
"disable": "無効にする"
}
}
}
}
},
"modals": {
"clashPort": {
"title": "ポート設定",
"fields": {
"mixed": "混合プロキシポート",
"socks": "SOCKSプロキシポート",
"http": "HTTP(S)プロキシポート",
"redir": "Redir透明プロキシポート",
"tproxy": "TPROXY透明プロキシポート"
},
"actions": {
"random": "ランダムポート"
},
"messages": {
"saved": "Port settings saved",
"saveFailed": "Failed to save port settings"
}
},
"clashCore": {
"variants": {
"release": "正式版",
"alpha": "アルファ版"
}
},
"liteMode": {
"title": "軽量モード設定",
"actions": {
"enterNow": "今すぐ軽量モードに入る"
},
"toggles": {
"autoEnter": "自動的に軽量モードに入る"
},
"tooltips": {
"autoEnter": "有効にすると、ウィンドウを閉じてから一定時間後に自動的に軽量モードが有効になります。"
},
"fields": {
"delay": "自動的に軽量モードに入るまでの遅延時間"
},
"messages": {
"autoEnterHint": "ウィンドウを閉じると、{{n}}分後に自動的に軽量モードが有効になります。"
}
},
"backup": {
"title": "バックアップ設定",
"tabs": {
"local": "Local backup",
"webdav": "WebDAV backup"
},
"actions": {
"selectTarget": "Select backup target",
"backup": "バックアップ",
"export": "Export",
"exportBackup": "Export Backup",
"deleteBackup": "バックアップを削除",
"restore": "復元",
"restoreBackup": "バックアップを復元"
},
"fields": {
"webdavUrl": "WebDAVサーバーのURL http(s)://",
"username": "ユーザー名",
"info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups."
},
"messages": {
"webdavUrlRequired": "WebDAVサーバーのURLは必須です。",
"invalidWebdavUrl": "無効なWebDAVサーバーのURL形式",
"usernameRequired": "ユーザー名は必須です。",
"passwordRequired": "パスワードは必須です。",
"webdavConfigSaved": "WebDAV設定が保存されました。",
"webdavConfigSaveFailed": "WebDAV設定の保存に失敗しました: {{error}}",
"backupCreated": "バックアップが作成されました。",
"backupFailed": "バックアップに失敗しました: {{error}}",
"localBackupCreated": "Local backup created successfully",
"localBackupFailed": "Local backup failed",
"restoreSuccess": "復元に成功しました。アプリケーションは1秒後に再起動します。",
"localBackupExported": "Local backup exported successfully",
"localBackupExportFailed": "Failed to export local backup",
"confirmDelete": "Confirm to delete this backup file?",
"confirmRestore": "Confirm to restore this backup file?"
},
"table": {
"filename": "ファイル名",
"backupTime": "バックアップ時間",
"actions": "操作",
"noBackups": "バックアップがありません。",
"rowsPerPage": "Rows per page"
}
},
"misc": {
"title": "その他の設定",
"fields": {
"appLogLevel": "アプリケーションログレベル",
"appLogMaxSize": "App Log Max Size",
"appLogMaxCount": "App Log Max Count",
"autoCloseConnections": "接続を自動的に閉じる",
"autoCheckUpdate": "自動更新チェック",
"enableBuiltinEnhanced": "組み込み拡張機能を有効にする",
"proxyLayoutColumns": "プロキシページのレイアウト列数",
"autoLogClean": "ログを自動的にクリーンアップ",
"autoDelayDetection": "自動遅延検出",
"defaultLatencyTest": "デフォルトの遅延テストURL",
"defaultLatencyTimeout": "テストタイムアウト時間"
},
"tooltips": {
"autoCloseConnections": "プロキシグループで選択されたノードまたはプロキシモードが変更されたときに、既存の接続を閉じます。",
"enableBuiltinEnhanced": "設定ファイルの互換性処理",
"autoDelayDetection": "バックグラウンドで現在のノードのレイテンシーを定期的にテストします",
"defaultLatencyTest": "HTTPクライアントリクエストテストにのみ使用され、設定ファイルには影響しません。"
},
"options": {
"proxyLayoutColumns": {
"auto": "自動列数"
},
"autoLogClean": {
"never": "クリーンアップしない",
"retainDays": "{{n}}日間保持"
}
}
},
"update": {
"title": "New Version v{{version}}",
"actions": {
"goToRelease": "リリースページに移動",
"update": "更新"
},
"messages": {
"portableError": "ポータブル版ではアプリケーション内での更新はサポートされていません。手動でダウンロードして置き換えてください。",
"breakChangeError": "このバージョンは重大な更新であり、アプリケーション内での更新はサポートされていません。アンインストールしてから手動でダウンロードしてインストールしてください。"
}
},
"sysproxy": {
"title": "システムプロキシ設定",
"fieldsets": {
"currentStatus": "現在のシステムプロキシ"
},
"fields": {
"enableStatus": "有効状態:",
"serverAddr": "サーバーアドレス:",
"pacUrl": "PACアドレス",
"proxyHost": "プロキシホスト",
"usePacMode": "PACモードを使用",
"proxyGuard": "システムプロキシガード",
"guardDuration": "プロキシガード間隔",
"alwaysUseDefaultBypass": "常にデフォルトのバイパスを使用",
"proxyBypass": "プロキシバイパス設定:",
"bypass": "現在のバイパス:",
"pacScriptContent": "PACスクリプト内容"
},
"tooltips": {
"proxyGuard": "他のソフトウェアがオペレーティングシステムのプロキシ設定を変更するのを防ぐために有効にします。"
},
"messages": {
"durationTooShort": "プロキシデーモンの間隔は1秒以上に設定する必要があります。",
"invalidBypass": "無効なバイパス形式",
"invalidProxyHost": "プロキシホストの形式が無効です"
},
"actions": {
"editPac": "編集 PAC"
}
},
"tun": {
"title": "仮想ネットワークカードモード",
"fields": {
"stack": "TUNモードスタック",
"device": "Device Name",
"autoRoute": "グローバルルートを自動設定",
"strictRoute": "厳格なルート",
"autoDetectInterface": "トラフィックの出口インターフェースを自動選択",
"dnsHijack": "DNSハイジャック",
"mtu": "最大転送単位"
},
"tooltips": {
"dnsHijack": "Please use , to separate multiple DNS servers"
},
"messages": {
"applied": "設定が適用されました。"
}
},
"dns": {
"dialog": {
"title": "DNS上書き",
"warning": "ここの設定がわからない場合は、変更しないでください。DNS上書きを有効にしたままにしてください。"
},
"sections": {
"general": "DNS設定",
"fallbackFilter": "フォールバックフィルター設定",
"hosts": "Hosts設定"
},
"fields": {
"enable": "DNSを有効にする",
"listen": "DNS監視アドレス",
"enhancedMode": "拡張モード",
"fakeIpRange": "Fake IP範囲",
"fakeIpFilterMode": "Fake IPフィルターモード",
"ipv6": {
"label": "IPv6",
"description": "IPv6 DNS解決を有効にする"
},
"preferH3": {
"label": "HTTP/3を優先する",
"description": "DNS DOHでHTTP/3プロトコルを使用する"
},
"respectRules": {
"label": "ルートルールに従う",
"description": "DNS接続はルートルールに従います。"
},
"useHosts": {
"label": "Hostsファイルを使用する",
"description": "Hostsファイルを使用してホスト名を解決する"
},
"useSystemHosts": {
"label": "システムのHostsファイルを使用する",
"description": "システムのHostsファイルを使用してホスト名を解決する"
},
"directPolicy": {
"label": "直接接続の名前解決サーバーはポリシーに従う",
"description": "名前解決サーバーのポリシーに従うかどうか"
},
"defaultNameserver": {
"label": "デフォルトの名前解決サーバー",
"description": "名前解決サーバーを解決するために使用されるデフォルトのDNSサーバー"
},
"nameserver": {
"label": "名前解決サーバー",
"description": "DNSサーバーのリスト。カンマで区切って指定します。"
},
"fallback": {
"label": "フォールバックサーバー",
"description": "フォールバックDNSサーバーのリスト。カンマで区切って指定します。"
},
"proxy": {
"label": "プロキシサーバーの名前解決サーバー",
"description": "プロキシノードの名前解決サーバー。プロキシノードのドメイン名を解決するためにのみ使用されます。カンマで区切って指定します。"
},
"directNameserver": {
"label": "直接接続の名前解決サーバー",
"description": "直接接続の出口名前解決サーバー。systemキーワードをサポートします。カンマで区切って指定します。"
},
"fakeIpFilter": {
"label": "Fake IPフィルター",
"description": "Fake IP解決をスキップするドメイン名。カンマで区切って指定します。"
},
"nameserverPolicy": {
"label": "名前解決サーバーのポリシー",
"description": "特定のドメインのDNSサーバー。複数のサーバーはセミコロンで区切って指定します。形式: domain=server1;server2"
},
"geoipFiltering": {
"label": "GeoIPフィルタリング",
"description": "フォールバックのGeoIPフィルタリングを有効にする"
},
"geoipCode": "GeoIP国コード",
"fallbackIpCidr": {
"label": "フォールバックIP CIDR",
"description": "フォールバックサーバーを使用しないIP CIDR。カンマで区切って指定します。"
},
"fallbackDomain": {
"label": "フォールバックドメイン",
"description": "フォールバックサーバーを使用するドメイン名。カンマで区切って指定します。"
},
"hosts": {
"label": "Hosts",
"description": "カスタムのドメイン名からIPまたはドメイン名へのマッピング。カンマで区切って指定します。"
}
},
"messages": {
"saved": "DNS設定が保存されました。",
"configError": "DNS configuration error:"
},
"errors": {
"invalid": "Invalid configuration"
}
},
"webUI": {
"actions": {
"openUrl": "URLを開く"
},
"title": "Webインターフェース",
"messages": {
"supportedPlaceholders": "%host, %port, %secretをサポートします。",
"placeholderInstruction": "%host, %port, %secretを使用してホスト、ポート、アクセスキーを表します。"
}
},
"hotkey": {
"toggles": {
"enableGlobal": "グローバルホットキーを有効にする"
},
"title": "ホットキー設定",
"functions": {
"rule": "ルールモード",
"global": "グローバルモード",
"openOrCloseDashboard": "ダッシュボードを開く/閉じる",
"toggleSystemProxy": "システムプロキシを開く/閉じる",
"toggleTunMode": "TUNモードを開く/閉じる",
"entryLightweightMode": "軽量モードに入る",
"direct": "直接接続モード"
}
},
"password": {
"prompts": {
"enterRoot": "ルートパスワードを入力してください。"
}
},
"networkInterface": {
"title": "ネットワークインターフェース",
"fields": {
"ipAddress": "IPアドレス",
"macAddress": "MACアドレス"
}
}
},
"feedback": {
"notifications": {
"clash": {
"restartSuccess": "Clashコアが再起動されました。",
"versionUpdated": "コアバージョンが更新されました。",
"changeSuccess": "コアの切り替えに成功しました。",
"changeFailed": "コアの切り替えに失敗しました。",
"geoDataUpdated": "GeoDataが更新されました。"
},
"clashService": {
"installSuccess": "サービスのインストールに成功しました。",
"uninstallSuccess": "サービスのアンインストールに成功しました。"
},
"updater": {
"withClashProxySuccess": "Clashプロキシを使用して更新に成功しました。",
"withClashProxyFailed": "Clashプロキシを使用しても更新に失敗しました。"
}
}
},
"statuses": {
"clash": {
"stopping": "コアを停止中...",
"restarting": "コアを再起動中..."
},
"clashService": {
"installing": "サービスをインストール中...",
"uninstalling": "サービスをアンインストール中..."
}
}
}

128
src/locales/jp/shared.json Normal file
View File

@@ -0,0 +1,128 @@
{
"actions": {
"cancel": "キャンセル",
"close": "閉じる",
"confirm": "確認",
"save": "保存",
"delete": "削除",
"edit": "編集",
"new": "新規作成",
"enable": "有効にする",
"upgrade": "コアをアップグレード",
"restart": "コアを再起動",
"resetToDefault": "デフォルト値にリセット",
"refresh": "更新",
"retry": "Retry",
"refreshPage": "Refresh Page",
"showDetails": "Show Details",
"hideDetails": "Hide Details",
"listView": "リストビュー",
"tableView": "テーブルビュー",
"pause": "一時停止",
"resume": "再開",
"closeAll": "すべて閉じる",
"clear": "クリア"
},
"labels": {
"updateAt": "更新日時",
"timeout": "Timeout",
"icon": "アイコン",
"name": "名前",
"readOnly": "読み取り専用",
"expireTime": "有効期限",
"updateTime": "更新時間",
"usedTotal": "使用済み / 合計",
"from": "から",
"password": "パスワード",
"retryAttempts": "Retry attempts",
"downloaded": "ダウンロード量",
"uploaded": "アップロード量"
},
"statuses": {
"enabled": "有効",
"disabled": "無効",
"saving": "Saving...",
"empty": "空っぽ"
},
"units": {
"milliseconds": "ミリ秒",
"seconds": "秒",
"minutes": "分",
"kilobytes": "KB",
"files": "Files"
},
"placeholders": {
"filter": "フィルタリング条件",
"matchCase": "大文字小文字を区別する",
"matchWholeWord": "完全一致",
"useRegex": "正規表現を使用する"
},
"validation": {
"invalidRegex": "Invalid regular expression"
},
"window": {
"maximize": "最大化",
"minimize": "最小化"
},
"editorModes": {
"visualization": "可視化",
"advanced": "詳細設定"
},
"feedback": {
"errors": {
"trafficStats": "Traffic Statistics Error",
"trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes."
},
"notices": {
"raw": "{{message}}",
"prefixedRaw": "{{prefix}} {{message}}"
},
"notifications": {
"importSuccess": "プロファイルのインポートに成功しました。",
"importSubscriptionSuccess": "サブスクリプションのインポートに成功しました。",
"importWithClashProxy": "Clashプロキシを使用してプロファイルのインポートに成功しました。",
"saved": "Saved successfully",
"common": {
"copySuccess": "コピー成功",
"saveSuccess": "ランダム設定を保存完了",
"saveFailed": "Failed to save configuration"
}
},
"validation": {
"config": {
"failed": "プロファイル設定の検証に失敗しました。プロファイル設定ファイルを確認してください。変更は取り消されました。エラー詳細:",
"bootFailed": "起動時のプロファイル設定の検証に失敗しました。デフォルト設定で起動しました。プロファイル設定ファイルを確認してください。エラー詳細:",
"coreChangeFailed": "コアを切り替える際の設定検証に失敗しました。デフォルト設定で起動しました。プロファイル設定ファイルを確認してください。エラー詳細:",
"processTerminated": "検証プロセスが中断されました。"
},
"script": {
"syntaxError": "スクリプトの構文エラーがあります。変更は取り消されました。",
"missingMain": "スクリプトにメイン関数がありません。変更は取り消されました。",
"fileNotFound": "ファイルが見つかりません。変更は取り消されました。",
"fileError": "スクリプトファイルにエラーがあります。変更は取り消されました。"
},
"yaml": {
"syntaxError": "YAML構文エラーがあります。変更は取り消されました。",
"readError": "YAMLファイルの読み取りエラーがあります。変更は取り消されました。",
"mappingError": "YAMLマッピングエラーがあります。変更は取り消されました。",
"keyError": "YAMLキーエラーがあります。変更は取り消されました。",
"generalError": "YAMLエラーがあります。変更は取り消されました。"
},
"merge": {
"syntaxError": "上書きファイルの構文エラーがあります。変更は取り消されました。",
"mappingError": "上書きファイルのマッピングエラーがあります。変更は取り消されました。",
"keyError": "上書きファイルのキーエラーがあります。変更は取り消されました。",
"generalError": "上書きファイルにエラーがあります。変更は取り消されました。"
}
}
},
"filters": {
"logLevels": {
"all": "ALL",
"debug": "DEBUG",
"info": "INFO",
"warn": "WARN",
"error": "ERROR"
}
}
}

40
src/locales/jp/tests.json Normal file
View File

@@ -0,0 +1,40 @@
{
"page": {
"actions": {
"testAll": "すべてテスト"
},
"title": "テスト"
},
"components": {
"item": {
"actions": {
"test": "テスト"
}
}
},
"modals": {
"test": {
"title": {
"create": "新規テストを作成",
"edit": "テストを編集"
},
"fields": {
"url": "テストURL"
}
}
},
"statuses": {
"test": {
"pending": "検査待ち",
"yes": "サポートする",
"no": "サポートしない",
"failed": "テストに失敗しました。",
"completed": "検査完了",
"disallowedIsp": "許可されていないインターネットサービスプロバイダー",
"originalsOnly": "オリジナルのみ",
"noDisney": "No (IP Banned By Disney+)",
"unsupportedRegion": "サポートされていない国/地域",
"failedNetwork": "Failed (Network Connection)"
}
}
}

View File

@@ -0,0 +1,12 @@
{
"page": {
"actions": {
"testing": "テスト中..."
},
"empty": "アンロックテスト項目はありません",
"messages": {
"detectionTimeout": "Detection timeout or failed"
},
"title": "ロック解除テスト"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,28 @@
{
"page": {
"title": "연결"
},
"components": {
"fields": {
"host": "호스트",
"dlSpeed": "다운로드 속도",
"ulSpeed": "업로드 속도",
"chains": "체인",
"rule": "규칙",
"process": "프로세스",
"time": "시간",
"source": "소스",
"destination": "목적지",
"destinationPort": "목적지 포트",
"type": "유형"
},
"order": {
"default": "Default",
"uploadSpeed": "업로드 속도",
"downloadSpeed": "다운로드 속도"
},
"actions": {
"closeConnection": "연결 닫기"
}
}
}

138
src/locales/ko/home.json Normal file
View File

@@ -0,0 +1,138 @@
{
"page": {
"tooltips": {
"lightweightMode": "Lightweight Mode",
"manual": "Manual",
"settings": "Home Settings"
},
"cards": {
"trafficStats": "Traffic Stats",
"networkSettings": "Network Settings",
"proxyMode": "Proxy Mode"
},
"settings": {
"cards": {
"profile": "Profile Card",
"currentProxy": "Current Proxy Card",
"network": "Network Settings Card",
"proxyMode": "Proxy Mode Card",
"traffic": "Traffic Stats Card",
"tests": "Website Tests Card",
"ip": "IP Information Card",
"clashInfo": "Clash Info Cards",
"systemInfo": "System Info Cards"
},
"title": "Home Settings"
},
"title": "홈"
},
"components": {
"proxyTun": {
"status": {
"systemProxyEnabled": "System proxy is enabled, your applications will access the network through the proxy",
"systemProxyDisabled": "System proxy is disabled, it is recommended for most users to turn on this option",
"tunModeServiceRequired": "TUN mode requires service mode, please install the service first",
"tunModeEnabled": "TUN mode is enabled, applications will access the network through the virtual network card",
"tunModeDisabled": "TUN mode is disabled, suitable for special applications"
},
"tooltips": {
"systemProxy": "Enable to modify the operating system's proxy settings. If enabling fails, modify the operating system's proxy settings manually",
"tunMode": "TUN mode can take over all application traffic, suitable for special applications that do not follow the system proxy settings"
}
},
"clashInfo": {
"title": "Clash Info",
"fields": {
"coreVersion": "Core Version",
"systemProxyAddress": "System Proxy Address",
"mixedPort": "Mixed Port",
"uptime": "Uptime",
"rulesCount": "Rules Count"
}
},
"systemInfo": {
"title": "System Info",
"fields": {
"osInfo": "OS Info",
"autoLaunch": "Auto Launch",
"runningMode": "Running Mode",
"lastCheckUpdate": "Last Check Update",
"vergeVersion": "Verge Version"
},
"actions": {
"settings": "설정"
},
"tooltips": {
"autoLaunchAdmin": "Administrator mode may not support auto launch"
},
"badges": {
"adminMode": "Administrator Mode",
"serviceMode": "서비스 모드",
"sidecarMode": "User Mode",
"adminServiceMode": "Admin + Service Mode"
}
},
"ipInfo": {
"title": "IP Information",
"labels": {
"ip": "IP",
"asn": "ASN",
"isp": "ISP",
"org": "ORG",
"location": "Location",
"timezone": "Timezone",
"autoRefresh": "Auto refresh",
"unknown": "Unknown"
},
"errors": {
"load": "IP 정보를 가져오지 못했습니다"
}
},
"currentProxy": {
"title": "Current Node",
"actions": {
"refreshDelay": "지연 확인"
},
"labels": {
"globalMode": "Global Mode",
"directMode": "Direct Mode",
"group": "Group",
"proxy": "Proxy",
"noActiveNode": "No active proxy node"
}
},
"tests": {
"title": "Website Tests"
},
"traffic": {
"metrics": {
"uploadSpeed": "업로드 속도",
"downloadSpeed": "다운로드 속도",
"activeConnections": "활성 연결",
"memoryUsage": "메모리 사용량"
},
"legends": {
"upload": "업로드",
"download": "다운로드"
},
"patterns": {
"minutes": "{{time}} Minutes"
}
},
"clashMode": {
"errors": {
"communication": "Core communication error"
},
"labels": {
"rule": "Rule Mode",
"global": "Global Mode",
"direct": "Direct Mode"
},
"descriptions": {
"rule": "Automatically choose proxies according to the rule set.",
"global": "Forward all network requests through the selected proxy.",
"direct": "Bypass the proxy and connect to the internet directly."
}
}
}
}

27
src/locales/ko/index.ts Normal file
View File

@@ -0,0 +1,27 @@
import shared from "./shared.json";
import profiles from "./profiles.json";
import proxies from "./proxies.json";
import connections from "./connections.json";
import tests from "./tests.json";
import logs from "./logs.json";
import rules from "./rules.json";
import home from "./home.json";
import unlock from "./unlock.json";
import settings from "./settings.json";
import layout from "./layout.json";
const resources = {
"shared": shared,
"profiles": profiles,
"proxies": proxies,
"connections": connections,
"tests": tests,
"logs": logs,
"rules": rules,
"home": home,
"unlock": unlock,
"settings": settings,
"layout": layout,
};
export default resources;

View File

@@ -0,0 +1,21 @@
{
"components": {
"navigation": {
"tabs": {
"home": "홈",
"proxies": "프록시",
"profiles": "프로필",
"connections": "연결",
"rules": "규칙",
"logs": "로그",
"unlock": "테스트",
"settings": "설정"
},
"menu": {
"reorderMode": "Menu reorder mode",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
}
}
}
}

5
src/locales/ko/logs.json Normal file
View File

@@ -0,0 +1,5 @@
{
"page": {
"title": "로그"
}
}

View File

@@ -0,0 +1,182 @@
{
"page": {
"actions": {
"updateAll": "모든 프로필 업데이트",
"viewRuntimeConfig": "런타임 설정 보기",
"reactivate": "프로필 재활성화",
"import": "가져오기"
},
"batch": {
"actions": {
"delete": "Delete Selected Profiles",
"selectAll": "Select All",
"deselectAll": "Deselect All",
"done": "Done"
},
"summary": {
"selected": "Selected",
"items": "items"
},
"title": "Batch Operations"
},
"importForm": {
"placeholder": "프로필 URL",
"actions": {
"paste": "붙여넣기"
}
},
"feedback": {
"errors": {
"invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://",
"onlyYaml": "Only YAML Files Supported"
},
"notifications": {
"importRetry": "Import failed, retrying with Clash proxy...",
"importFail": "Import failed even with Clash proxy",
"importNeedsRefresh": "Profile imported but may need manual refresh",
"importSuccess": "Profile imported successfully, please restart if not visible",
"profileSwitched": "Profile Switched",
"profileReactivated": "Profile Reactivated",
"switchInterrupted": "Profile switch interrupted by new selection",
"batchDeleted": "Selected profiles deleted successfully"
},
"notices": {
"forceRefreshCompleted": "Force refresh completed",
"emergencyRefreshFailed": "Emergency refresh failed: {{message}}"
}
},
"title": "프로필"
},
"components": {
"card": {
"labels": {
"clickToImport": "Click to import subscription"
}
},
"fileInput": {
"chooseFile": "파일 선택"
},
"menu": {
"home": "홈",
"select": "선택",
"editInfo": "정보 편집",
"editFile": "파일 편집",
"editRules": "규칙 편집",
"editProxies": "프록시 편집",
"editGroups": "프록시 그룹 편집",
"extendConfig": "설정 확장",
"extendScript": "스크립트 확장",
"openFile": "파일 열기",
"update": "업데이트",
"updateViaProxy": "Update via proxy"
},
"more": {
"global": {
"merge": "Global Merge",
"script": "Global Script"
},
"chips": {
"merge": "Merge",
"script": "Script"
}
},
"profileItem": {
"tooltips": {
"showLast": "Click to show last update time",
"showNext": "Click to show next update"
},
"status": {
"lastUpdateFailed": "Last Update failed",
"nextUp": "Next Up",
"noSchedule": "No schedule",
"unknown": "Unknown",
"autoUpdateDisabled": "Auto update disabled"
}
}
},
"modals": {
"profileForm": {
"title": {
"create": "프로필 생성",
"edit": "프로필 편집"
},
"fields": {
"type": "유형",
"description": "설명",
"subscriptionUrl": "구독 URL",
"httpTimeout": "HTTP Request Timeout",
"updateInterval": "업데이트 간격",
"useSystemProxy": "시스템 프록시 사용",
"useClashProxy": "Clash 프록시 사용",
"acceptInvalidCerts": "잘못된 인증서 허용(위험)",
"allowAutoUpdate": "Allow Auto Update"
},
"feedback": {
"notifications": {
"creationRetry": "Profile creation failed, retrying with Clash proxy...",
"creationSuccess": "Profile creation succeeded with Clash proxy"
}
}
},
"proxiesEditor": {
"title": "프록시 편집",
"placeholders": {
"multiUri": "여러 URI의 경우 줄바꿈 사용(Base64 인코딩 지원)"
},
"actions": {
"prepend": "프록시 앞에 추가",
"append": "프록시 뒤에 추가"
}
},
"groupsEditor": {
"title": "프록시 그룹 편집",
"errors": {
"nameRequired": "그룹 이름 필수",
"nameExists": "그룹 이름이 이미 존재함"
},
"fields": {
"type": "그룹 유형",
"name": "그룹 이름",
"icon": "Proxy Group Icon",
"proxies": "프록시 사용",
"provider": "제공자 사용",
"healthCheckUrl": "상태 확인 URL",
"expectedStatus": "예상 상태",
"interval": "간격",
"maxFailedTimes": "최대 실패 횟수",
"interfaceName": "인터페이스 이름",
"routingMark": "라우팅 마크",
"filter": "필터",
"excludeFilter": "제외 필터",
"excludeType": "제외 유형",
"includeAll": "모든 프록시 및 제공자 포함",
"includeAllProxies": "모든 프록시 포함",
"includeAllProviders": "모든 제공자 포함"
},
"toggles": {
"lazy": "지연 로딩",
"disableUdp": "UDP 비활성화",
"hidden": "숨김"
},
"actions": {
"prepend": "그룹 앞에 추가",
"append": "그룹 뒤에 추가"
}
},
"editor": {
"actions": {
"format": "문서 포맷"
},
"messages": {
"readOnly": "Cannot edit in read-only editor"
}
},
"confirmDelete": {
"title": "삭제 확인",
"message": "이 작업은 되돌릴 수 없습니다"
},
"logViewer": {
"title": "스크립트 콘솔"
}
}
}

View File

@@ -0,0 +1,90 @@
{
"page": {
"modes": {
"rule": "Rule",
"global": "Global",
"direct": "Direct"
},
"actions": {
"toggleChain": "🔗 체인 프록시",
"connect": "Connect",
"disconnect": "Disconnect",
"connecting": "Connecting...",
"clearChainConfig": "Delete Chain Config"
},
"provider": {
"title": "프록시 제공자",
"actions": {
"updateAll": "모두 업데이트",
"update": "업데이트"
}
},
"rules": {
"title": "Proxy Rules",
"select": "Select Rules"
},
"labels": {
"proxyCount": "프록시 개수",
"delayCheckReset": "고정 취소를 위한 지연 확인"
},
"tooltips": {
"locate": "로케이트",
"delayCheck": "지연 확인",
"sortDefault": "기본값으로 정렬",
"sortDelay": "지연시간으로 정렬",
"sortName": "이름으로 정렬",
"delayCheckUrl": "지연 확인 URL",
"showBasic": "프록시 기본",
"showDetail": "프록시 상세",
"filter": "필터"
},
"placeholders": {
"delayCheckUrl": "지연 확인 URL"
},
"chain": {
"header": "Chain Proxy Config",
"empty": "No proxy chain configured",
"instruction": "Click nodes in order to add to proxy chain",
"minimumNodes": "Chain proxy requires at least 2 nodes",
"minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.",
"connectFailed": "Failed to connect to proxy chain",
"disconnectFailed": "Failed to disconnect from proxy chain",
"duplicateNode": "Proxy node already exists in chain"
},
"messages": {
"directMode": "Direct Mode"
},
"title": {
"default": "프록시 그룹",
"chainMode": "Proxy Chain Mode"
}
},
"feedback": {
"notifications": {
"provider": {
"updateSuccess": "{{name}} updated successfully",
"updateFailed": "Failed to update {{name}}: {{message}}",
"genericError": "Update failed: {{message}}",
"none": "No providers available to update",
"allUpdated": "All providers updated successfully"
}
}
},
"components": {
"enums": {
"strategies": {
"select": "수동으로 프록시 선택",
"url-test": "URL 테스트 지연을 기준으로 프록시 선택",
"fallback": "오류 발생 시 다른 프록시로 전환",
"load-balance": "부하 분산에 따라 프록시 분배",
"relay": "정의된 프록시 체인을 통과"
},
"policies": {
"DIRECT": "데이터가 직접 아웃바운드로 이동",
"REJECT": "요청 차단",
"REJECT-DROP": "요청 폐기",
"PASS": "일치할 경우 이 규칙 건너뛰기"
}
}
}
}

82
src/locales/ko/rules.json Normal file
View File

@@ -0,0 +1,82 @@
{
"page": {
"provider": {
"trigger": "규칙 제공자",
"dialogTitle": "규칙 제공자",
"actions": {
"updateAll": "모두 업데이트",
"update": "업데이트"
}
},
"title": "규칙"
},
"feedback": {
"notifications": {
"provider": {
"updateSuccess": "{{name}} updated successfully",
"updateFailed": "Failed to update {{name}}: {{message}}",
"genericError": "Update failed: {{message}}",
"none": "No providers available to update",
"allUpdated": "All providers updated successfully"
}
}
},
"modals": {
"editor": {
"form": {
"labels": {
"type": "규칙 유형",
"content": "규칙 내용",
"proxyPolicy": "프록시 정책"
},
"toggles": {
"noResolve": "해석 안함"
},
"actions": {
"prependRule": "규칙 앞에 추가",
"appendRule": "규칙 뒤에 추가"
},
"validation": {
"conditionRequired": "규칙 조건 필요",
"invalidRule": "잘못된 규칙"
}
},
"ruleTypes": {
"DOMAIN": "전체 도메인 이름과 일치",
"DOMAIN-SUFFIX": "도메인 접미사와 일치",
"DOMAIN-KEYWORD": "도메인 키워드와 일치",
"DOMAIN-REGEX": "정규 표현식을 사용한 도메인 일치",
"GEOSITE": "Geosite 내의 도메인과 일치",
"GEOIP": "IP 주소의 국가 코드와 일치",
"SRC-GEOIP": "소스 IP 주소의 국가 코드와 일치",
"IP-ASN": "IP 주소의 ASN과 일치",
"SRC-IP-ASN": "소스 IP 주소의 ASN과 일치",
"IP-CIDR": "IP 주소 범위와 일치",
"IP-CIDR6": "IPv6 주소 범위와 일치",
"SRC-IP-CIDR": "소스 IP 주소 범위와 일치",
"IP-SUFFIX": "IP 주소 접미사 범위와 일치",
"SRC-IP-SUFFIX": "소스 IP 주소 접미사 범위와 일치",
"SRC-PORT": "소스 포트 범위와 일치",
"DST-PORT": "대상 포트 범위와 일치",
"IN-PORT": "인바운드 포트와 일치",
"DSCP": "DSCP 마킹(tproxy UDP 인바운드만 해당)",
"PROCESS-NAME": "프로세스 이름과 일치(안드로이드 패키지 이름)",
"PROCESS-PATH": "전체 프로세스 경로와 일치",
"PROCESS-NAME-REGEX": "정규 표현식을 사용한 전체 프로세스 이름 일치(안드로이드 패키지 이름)",
"PROCESS-PATH-REGEX": "정규 표현식을 사용한 전체 프로세스 경로 일치",
"NETWORK": "전송 프로토콜과 일치(tcp/udp)",
"UID": "Linux 사용자 ID와 일치",
"IN-TYPE": "인바운드 유형과 일치",
"IN-USER": "인바운드 사용자 이름과 일치",
"IN-NAME": "인바운드 이름과 일치",
"SUB-RULE": "하위 규칙",
"RULE-SET": "규칙 세트와 일치",
"AND": "논리 AND",
"OR": "논리 OR",
"NOT": "논리 NOT",
"MATCH": "모든 요청과 일치"
},
"title": "규칙 편집"
}
}
}

Some files were not shown because too many files have changed in this diff Show More