chore: i18n (#5276)

* chore: notice i18n

* feat: add script to clean up unused i18n keys

* chore: cleanup i18n keys

* refactor(i18n/proxies): migrate proxies UI to structured locale keys

* chore: i18n for rule module

* chore: i18n for profile module

* chore: i18n for connections module

* chore: i18n for settings module

* chore: i18n for verge settings

* chore: i18n for theme settings

* chore: i18n for theme

* chore(i18n): components.home.*

* chore(i18n): remove unused i18n keys

* chore(i18n): components.profile.*

* chore(i18n): components.connection

* chore(i18n): pages.logs.*

* chore(i18n): pages.*.provider

* chore(i18n): components.settings.externalCors.*

* chore(i18n): components.settings.clash.*

* chore(i18n): components.settings.liteMode.*

* chore(i18n): components.settings.backup.*

* chore(i18n): components.settings.clash.port.*

* chore(i18n): components.settings.misc.*

* chore(i18n): components.settings.update.*

* chore(i18n): components.settings.sysproxy.*

* chore(i18n): components.settings.sysproxy.*

* chore(i18n): pages.profiles.notices/components.providers.notices

* refactor(notice): unify showNotice usage

* refactor(notice): add typed showNotice shortcuts, centralize defaults, and simplify subscriptions

* refactor: unify showNotice usage

* refactor(notice): unify showNotice API

* refactor(notice): unify showNotice usage

* chore(i18n): components.test.*

* chore(i18n): components.settings.dns.*

* chore(i18n): components.home.clashInfo.*

* chore(i18n): components.home.systemInfo.*

* chore(i18n): components.home.ipInfo/traffic.*

* chore(i18n): navigation.*

* refactor(i18n): remove pages.* namespace and migrate route texts under module-level page keys

* chore(i18n): common.*

* chore(i18n): common.*

* fix: change error handling in patch_profiles_config to return false when a switch is in progress

* fix: improve error handling in patch_profiles_config to prevent requests during profile switching

* fix: change error handling in patch_profiles_config to return false when a switch is in progress

fix: ensure CURRENT_SWITCHING_PROFILE is reset after config updates in perform_config_update and patch_profiles_config

* chore(i18n): restructure root-level locale keys into namespaces

* chore(i18n): add missing i18n keys

* docs: i18n guide

* chore: adjust i18n

* refactor(i18n): align UI actions and status labels with common keys

* refactor(i18n): unify two-name locale namespaces

* refactor(i18n/components): unify locale keys and update component references

* chore(i18n): add shared and entities namespaces to all locale files

* refactor(i18n): consolidate shared and entity namespaces across features

* chore(deps): update npm dependencies to ^7.3.5 (#5310)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* refactor(i18n): migrate shared editor modes and consolidate entities namespaces

* tmp

* refactor(i18n): flatten locales and move theme/validation strings

* docs: CONTRIBUTING_i18n.md

* refactor(i18n): restructure feedback and profile namespaces for better organization

* refactor(i18n): unify settings locale structure and update references

* refactor(i18n): reorganize locale keys for home, proxies, rules, connections, logs, unlock, and tests

* refactor(i18n/feedback/layout): unify shared toasts & normalize layout namespace

* refactor(i18n): centralize common UI strings in shared

* refactor(i18n): flatten headers and unify locale schema

* refactor(i18n): consolidate duplicate per-feature translations into shared namespace

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

* style: lint

* refactor(i18n): unify unlock UI translations under tests namespace

* feat(i18n): add type-checked translation keys

* style: eslint import order

* feat(i18n): replace ad-hoc loader with rust-i18n backend bundles

* chore(prebuild): remove locale-copy step

* fix(i18n, notice): propagate runtime params and update cleanup script path

* fix(i18n,notice): make locale formatting idempotent and guard early notice translations

* fix(i18n): resolve locale aliases and match OS codes correctly

* fix(unlock): use i18next-compatible double-brace interpolation in failure notice

* fix(i18n): route unlock error notices through translation keys

* fix(i18n): i18n types

* feat(i18n): localize upgrade notice for Clash core viewer

* fix(notice): ensure runtime overrides apply to prefix translations

* chore(i18n): replace literal notices with translation keys

* chore(i18n): types

* chore(i18n): regen typings before formatting to keep keys in sync

* chore(i18n): simply labels

* chore(i18n): adjust translation

* chore: remove eslint-plugin-i18next

* chore(i18n): add/refine Korean translations across frontend scopes and Rust backend (#5341)

* chore(i18n): translate settings.json (missed in previous pass) (#5343)

* chore(i18n): add/refine Korean translations across frontend scopes and Rust backend

* chore(i18n): add/refine Korean translations across frontend scopes and Rust backend

* fix(i18n-tauri): quote placeholder-leading value in ko.yml to prevent rust_i18n parse panic

* chore(i18n): translate settings.json (forgot to include previously)

---------

Co-authored-by: rozan <34974262+thelojan@users.noreply.github.com>
This commit is contained in:
Sline
2025-11-08 19:40:38 +08:00
committed by GitHub
parent c1a2e99f63
commit c8aa72186e
286 changed files with 24243 additions and 8867 deletions

View File

@@ -0,0 +1,573 @@
{
"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",
"invalidYaml": "Invalid YAML format"
}
},
"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": "نسخه هسته به‌روزرسانی شد",
"alreadyLatestVersion": "در حال حاضر از آخرین نسخه هسته استفاده می‌کنید",
"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..."
}
}
}