diff --git a/src/components/base/base-search-box.tsx b/src/components/base/base-search-box.tsx index 4ce93a30..778ed8d8 100644 --- a/src/components/base/base-search-box.tsx +++ b/src/components/base/base-search-box.tsx @@ -135,7 +135,7 @@ export const BaseSearchBox = ({ if (useRegularExpression && value) { const isValid = validateRegex(value); if (!isValid) { - setErrorMessage(t("Invalid regular expression")); + setErrorMessage(t("common.search.invalidRegex")); } } @@ -156,7 +156,7 @@ export const BaseSearchBox = ({ } else { const value = inputRef.current?.value ?? ""; if (value && !validateRegex(value)) { - setErrorMessage(t("Invalid regular expression")); + setErrorMessage(t("common.search.invalidRegex")); } } return next; @@ -173,7 +173,7 @@ export const BaseSearchBox = ({ size="small" variant="outlined" spellCheck="false" - placeholder={placeholder ?? t("Filter conditions")} + placeholder={placeholder ?? t("common.search.placeholder")} sx={{ input: { py: 0.65, px: 1.25 } }} onChange={onChange} error={!!errorMessage} @@ -182,7 +182,7 @@ export const BaseSearchBox = ({ sx: { pr: 1 }, endAdornment: ( - +
- +
- +
{ size="small" variant="outlined" spellCheck="false" - placeholder={t("Filter conditions")} + placeholder={t("common.search.placeholder")} sx={{ input: { py: 0.65, px: 1.25 } }} {...props} /> diff --git a/src/components/common/traffic-error-boundary.tsx b/src/components/common/traffic-error-boundary.tsx index 9f52f575..6001096f 100644 --- a/src/components/common/traffic-error-boundary.tsx +++ b/src/components/common/traffic-error-boundary.tsx @@ -177,7 +177,7 @@ const TrafficErrorFallback: React.FC = ({ - {t("Traffic Statistics Error")} + {t("common.errors.trafficStats")} = ({ textAlign="center" sx={{ mb: 2 }} > - {t( - "The traffic statistics component encountered an error and has been disabled to prevent crashes.", - )} + {t("common.errors.trafficStatsDescription")} @@ -198,7 +196,7 @@ const TrafficErrorFallback: React.FC = ({ {retryCount > 0 && ( - {t("Retry attempts")}: {retryCount}/{maxRetries} + {t("common.labels.retryAttempts")}: {retryCount}/{maxRetries} )} @@ -212,12 +210,12 @@ const TrafficErrorFallback: React.FC = ({ onClick={onRetry} size="small" > - {t("Retry")} + {t("common.actions.retry")} )} diff --git a/src/components/home/clash-mode-card.tsx b/src/components/home/clash-mode-card.tsx index 10c56fb7..96fab34f 100644 --- a/src/components/home/clash-mode-card.tsx +++ b/src/components/home/clash-mode-card.tsx @@ -30,7 +30,7 @@ export const ClashModeCard = () => { `${currentMode[0].toLocaleUpperCase()}${currentMode.slice(1)} Mode Description`, ); } - return t("Core communication error"); + return t("home.clashMode.errors.communication"); }, [currentMode, t]); // 模式图标映射 diff --git a/src/components/home/current-proxy-card.tsx b/src/components/home/current-proxy-card.tsx index 80f847e2..312ad115 100644 --- a/src/components/home/current-proxy-card.tsx +++ b/src/components/home/current-proxy-card.tsx @@ -811,11 +811,11 @@ export const CurrentProxyCard = () => { const getSortTooltip = (): string => { switch (sortType) { case 0: - return t("Sort by default"); + return t("proxies.page.tooltips.sortDefault"); case 1: - return t("Sort by delay"); + return t("proxies.page.tooltips.sortDelay"); case 2: - return t("Sort by name"); + return t("proxies.page.tooltips.sortName"); default: return ""; } diff --git a/src/components/home/test-card.tsx b/src/components/home/test-card.tsx index e6e2c85e..cc001df7 100644 --- a/src/components/home/test-card.tsx +++ b/src/components/home/test-card.tsx @@ -173,7 +173,7 @@ export const TestCard = () => { return ( } action={ diff --git a/src/components/layout/layout-traffic.tsx b/src/components/layout/layout-traffic.tsx index 9b37c525..9b33d696 100644 --- a/src/components/layout/layout-traffic.tsx +++ b/src/components/layout/layout-traffic.tsx @@ -87,7 +87,7 @@ export const LayoutTraffic = () => { { { {displayMemory && ( { diff --git a/src/components/profile/editor-viewer.tsx b/src/components/profile/editor-viewer.tsx index 436781d8..dd4591be 100644 --- a/src/components/profile/editor-viewer.tsx +++ b/src/components/profile/editor-viewer.tsx @@ -259,7 +259,7 @@ export const EditorViewer = (props: Props) => { {!readOnly && ( )} diff --git a/src/components/profile/groups-editor-viewer.tsx b/src/components/profile/groups-editor-viewer.tsx index 9b5af0e1..abbb3706 100644 --- a/src/components/profile/groups-editor-viewer.tsx +++ b/src/components/profile/groups-editor-viewer.tsx @@ -609,7 +609,7 @@ export const GroupsEditorViewer = (props: Props) => { input: { endAdornment: ( - {t("seconds")} + {t("common.units.seconds")} ), }, @@ -639,7 +639,7 @@ export const GroupsEditorViewer = (props: Props) => { input: { endAdornment: ( - {t("millis")} + {t("common.units.milliseconds")} ), }, @@ -1065,11 +1065,11 @@ export const GroupsEditorViewer = (props: Props) => { diff --git a/src/components/profile/log-viewer.tsx b/src/components/profile/log-viewer.tsx index 48989fbc..44838884 100644 --- a/src/components/profile/log-viewer.tsx +++ b/src/components/profile/log-viewer.tsx @@ -62,7 +62,7 @@ export const LogViewer = (props: Props) => { diff --git a/src/components/profile/profile-item.tsx b/src/components/profile/profile-item.tsx index d5c8a427..080788a2 100644 --- a/src/components/profile/profile-item.tsx +++ b/src/components/profile/profile-item.tsx @@ -672,7 +672,7 @@ export const ProfileItem = (props: Props) => { {/* only if has url can it be updated */} {hasUrl && ( { ) : ( hasUrl && ( - + {from} ) @@ -731,7 +734,7 @@ export const ProfileItem = (props: Props) => { title={ showNextUpdate ? t("profile.item.tooltips.showLast") - : `${t("Update Time")}: ${parseExpire(updated)}\n${t("profile.item.tooltips.showNext")}` + : `${t("common.labels.updateTime")}: ${parseExpire(updated)}\n${t("profile.item.tooltips.showNext")}` } sx={{ cursor: "pointer", @@ -759,14 +762,16 @@ export const ProfileItem = (props: Props) => { {/* the third line show extra info or last updated time */} {hasExtra ? ( - + {parseTraffic(upload + download)} / {parseTraffic(total)} - {expire} + {expire} ) : ( - {parseExpire(updated)} + + {parseExpire(updated)} + )} - {t("seconds")} + {t("common.units.seconds")} ), }, @@ -335,7 +335,9 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) { slotProps={{ input: { endAdornment: ( - {t("mins")} + + {t("common.units.minutes")} + ), }, }} diff --git a/src/components/profile/proxies-editor-viewer.tsx b/src/components/profile/proxies-editor-viewer.tsx index 3d7ec39c..3fd7d5b9 100644 --- a/src/components/profile/proxies-editor-viewer.tsx +++ b/src/components/profile/proxies-editor-viewer.tsx @@ -501,11 +501,11 @@ export const ProxiesEditorViewer = (props: Props) => { diff --git a/src/components/profile/rules-editor-viewer.tsx b/src/components/profile/rules-editor-viewer.tsx index a240a291..12aeb92b 100644 --- a/src/components/profile/rules-editor-viewer.tsx +++ b/src/components/profile/rules-editor-viewer.tsx @@ -785,11 +785,11 @@ export const RulesEditorViewer = (props: Props) => { diff --git a/src/components/proxy/provider-button.tsx b/src/components/proxy/provider-button.tsx index 71aa0483..4c33be0c 100644 --- a/src/components/proxy/provider-button.tsx +++ b/src/components/proxy/provider-button.tsx @@ -253,7 +253,7 @@ export const ProviderButton = () => { color="text.secondary" noWrap > - {t("Update At")}: + {t("common.labels.updateAt")}: {time.fromNow()} @@ -271,11 +271,17 @@ export const ProviderButton = () => { justifyContent: "space-between", }} > - + {parseTraffic(upload + download)} /{" "} {parseTraffic(total)} - + {parseExpire(expire)} @@ -334,7 +340,7 @@ export const ProviderButton = () => { diff --git a/src/components/proxy/proxy-chain.tsx b/src/components/proxy/proxy-chain.tsx index e2600abc..60a0ed43 100644 --- a/src/components/proxy/proxy-chain.tsx +++ b/src/components/proxy/proxy-chain.tsx @@ -156,7 +156,11 @@ const SortableItem = ({ proxy, index, onRemove }: SortableItemProps) => { {proxy.delay !== undefined && ( 0 ? `${proxy.delay}ms` : t("timeout") || "超时"} + label={ + proxy.delay > 0 + ? `${proxy.delay}ms` + : t("common.labels.timeout") || "超时" + } size="small" color={ proxy.delay > 0 && proxy.delay < 200 diff --git a/src/components/proxy/proxy-groups.tsx b/src/components/proxy/proxy-groups.tsx index 4adfddae..a5ae5331 100644 --- a/src/components/proxy/proxy-groups.tsx +++ b/src/components/proxy/proxy-groups.tsx @@ -372,7 +372,7 @@ export const ProxyGroups = (props: Props) => { }, [renderList]); if (mode === "direct") { - return ; + return ; } if (isChainMode) { diff --git a/src/components/rule/provider-button.tsx b/src/components/rule/provider-button.tsx index 0f7d2c4b..f18aa68b 100644 --- a/src/components/rule/provider-button.tsx +++ b/src/components/rule/provider-button.tsx @@ -222,7 +222,7 @@ export const ProviderButton = () => { color="text.secondary" noWrap > - {t("Update At")}: + {t("common.labels.updateAt")}: {time.fromNow()} @@ -275,7 +275,7 @@ export const ProviderButton = () => { diff --git a/src/components/setting/mods/backup-viewer.tsx b/src/components/setting/mods/backup-viewer.tsx index 2327f75a..3c53556c 100644 --- a/src/components/setting/mods/backup-viewer.tsx +++ b/src/components/setting/mods/backup-viewer.tsx @@ -127,7 +127,6 @@ export function BackupViewer({ ref }: { ref?: Ref }) { setBackupFiles([]); setTotal(0); console.error(error); - // Notice.error(t("Failed to fetch backup files")); } finally { setIsLoading(false); } @@ -342,7 +341,7 @@ export function BackupViewer({ ref }: { ref?: Ref }) { backgroundColor: (theme) => theme.palette.background.paper, }} > - {t("Close")} + {t("common.actions.close")} , dialogPaper, diff --git a/src/components/setting/mods/clash-core-viewer.tsx b/src/components/setting/mods/clash-core-viewer.tsx index 9cfb9d29..8756766b 100644 --- a/src/components/setting/mods/clash-core-viewer.tsx +++ b/src/components/setting/mods/clash-core-viewer.tsx @@ -104,7 +104,7 @@ export function ClashCoreViewer({ ref }: { ref?: Ref }) { open={open} title={ - {t("Clash Core")} + {t("settings.clash.items.clashCore")} }) { sx={{ marginRight: "8px" }} onClick={onUpgrade} > - {t("Upgrade")} + {t("common.actions.upgrade")} }) { disabled={upgrading} onClick={onRestart} > - {t("Restart")} + {t("common.actions.restart")} @@ -141,7 +141,7 @@ export function ClashCoreViewer({ ref }: { ref?: Ref }) { marginTop: "-8px", }} disableOk - cancelBtn={t("Close")} + cancelBtn={t("common.actions.close")} onClose={() => setOpen(false)} onCancel={() => setOpen(false)} > diff --git a/src/components/setting/mods/clash-port-viewer.tsx b/src/components/setting/mods/clash-port-viewer.tsx index 4c5217d0..b8bebfca 100644 --- a/src/components/setting/mods/clash-port-viewer.tsx +++ b/src/components/setting/mods/clash-port-viewer.tsx @@ -157,13 +157,13 @@ export const ClashPortViewer = forwardRef((_, ref) => { loading ? ( - {t("Saving...")} + {t("common.states.saving")} ) : ( - t("Save") + t("common.actions.save") ) } - cancelBtn={t("Cancel")} + cancelBtn={t("common.actions.cancel")} onClose={() => setOpen(false)} onCancel={() => setOpen(false)} onOk={onSave} diff --git a/src/components/setting/mods/config-viewer.tsx b/src/components/setting/mods/config-viewer.tsx index 26609caa..19e32240 100644 --- a/src/components/setting/mods/config-viewer.tsx +++ b/src/components/setting/mods/config-viewer.tsx @@ -27,8 +27,8 @@ export const ConfigViewer = forwardRef((_, ref) => { open={true} title={ - {t("Runtime Config")} - + {t("settings.verge.advanced.items.runtimeConfig")} + } initialData={Promise.resolve(runtimeConfig)} diff --git a/src/components/setting/mods/controller-viewer.tsx b/src/components/setting/mods/controller-viewer.tsx index 740a4c1b..af6c5bdd 100644 --- a/src/components/setting/mods/controller-viewer.tsx +++ b/src/components/setting/mods/controller-viewer.tsx @@ -107,13 +107,13 @@ export function ControllerViewer({ ref }: { ref?: Ref }) { isSaving ? ( - {t("Saving...")} + {t("common.states.saving")} ) : ( - t("Save") + t("common.actions.save") ) } - cancelBtn={t("Cancel")} + cancelBtn={t("common.actions.cancel")} onClose={() => setOpen(false)} onCancel={() => setOpen(false)} onOk={onSave} diff --git a/src/components/setting/mods/dns-viewer.tsx b/src/components/setting/mods/dns-viewer.tsx index 883a1a01..9ad7ac9a 100644 --- a/src/components/setting/mods/dns-viewer.tsx +++ b/src/components/setting/mods/dns-viewer.tsx @@ -619,7 +619,7 @@ export function DnsViewer({ ref }: { ref?: Ref }) { startIcon={} onClick={resetToDefaults} > - {t("Reset to Default")} + {t("common.actions.resetToDefault")} diff --git a/src/components/setting/mods/sysproxy-viewer.tsx b/src/components/setting/mods/sysproxy-viewer.tsx index 6e4350ae..8700d1d1 100644 --- a/src/components/setting/mods/sysproxy-viewer.tsx +++ b/src/components/setting/mods/sysproxy-viewer.tsx @@ -412,8 +412,8 @@ export const SysproxyViewer = forwardRef((props, ref) => { open={open} title={t("settings.sysproxy.title")} contentSx={{ width: 450, maxHeight: 565 }} - okBtn={t("Save")} - cancelBtn={t("Cancel")} + okBtn={t("common.actions.save")} + cancelBtn={t("common.actions.cancel")} onClose={() => setOpen(false)} onCancel={() => setOpen(false)} onOk={onSave} @@ -432,11 +432,11 @@ export const SysproxyViewer = forwardRef((props, ref) => { {value.pac ? autoproxy?.enable - ? t("Enabled") - : t("Disabled") + ? t("common.status.enabled") + : t("common.status.disabled") : sysproxy?.enable - ? t("Enabled") - : t("Disabled")} + ? t("common.status.enabled") + : t("common.status.disabled")} {!value.pac && ( diff --git a/src/components/setting/mods/theme-viewer.tsx b/src/components/setting/mods/theme-viewer.tsx index 376118c7..022b646a 100644 --- a/src/components/setting/mods/theme-viewer.tsx +++ b/src/components/setting/mods/theme-viewer.tsx @@ -121,8 +121,8 @@ export function ThemeViewer(props: { ref?: React.Ref }) { setOpen(false)} onCancel={() => setOpen(false)} diff --git a/src/components/setting/mods/tun-viewer.tsx b/src/components/setting/mods/tun-viewer.tsx index c598c318..5c8d65ba 100644 --- a/src/components/setting/mods/tun-viewer.tsx +++ b/src/components/setting/mods/tun-viewer.tsx @@ -133,8 +133,8 @@ export function TunViewer({ ref }: { ref?: Ref }) { } contentSx={{ width: 450 }} - okBtn={t("Save")} - cancelBtn={t("Cancel")} + okBtn={t("common.actions.save")} + cancelBtn={t("common.actions.cancel")} onClose={() => setOpen(false)} onCancel={() => setOpen(false)} onOk={onSave} diff --git a/src/components/setting/mods/update-viewer.tsx b/src/components/setting/mods/update-viewer.tsx index 24607af2..d14a8528 100644 --- a/src/components/setting/mods/update-viewer.tsx +++ b/src/components/setting/mods/update-viewer.tsx @@ -133,7 +133,7 @@ export function UpdateViewer({ ref }: { ref?: Ref }) { } contentSx={{ minWidth: 360, maxWidth: 400, height: "50vh" }} okBtn={t("settings.update.actions.update")} - cancelBtn={t("Cancel")} + cancelBtn={t("common.actions.cancel")} onClose={() => setOpen(false)} onCancel={() => setOpen(false)} onOk={onUpdate} diff --git a/src/components/setting/mods/web-ui-item.tsx b/src/components/setting/mods/web-ui-item.tsx index 51e7cf0e..da87050f 100644 --- a/src/components/setting/mods/web-ui-item.tsx +++ b/src/components/setting/mods/web-ui-item.tsx @@ -56,11 +56,11 @@ export const WebUIItem = (props: Props) => { size="small" value={editValue} onChange={(e) => setEditValue(e.target.value)} - placeholder={t("Support %host, %port, %secret")} + placeholder={t("settings.webUI.messages.supportedPlaceholders")} /> { onChange(editValue); @@ -71,7 +71,7 @@ export const WebUIItem = (props: Props) => { { onCancel?.(); @@ -127,7 +127,7 @@ export const WebUIItem = (props: Props) => { onOpenUrl?.(value)} > @@ -135,7 +135,7 @@ export const WebUIItem = (props: Props) => { { setEditing(true); @@ -146,7 +146,7 @@ export const WebUIItem = (props: Props) => { diff --git a/src/components/setting/mods/web-ui-viewer.tsx b/src/components/setting/mods/web-ui-viewer.tsx index 5b917d6a..8869f5bb 100644 --- a/src/components/setting/mods/web-ui-viewer.tsx +++ b/src/components/setting/mods/web-ui-viewer.tsx @@ -101,14 +101,14 @@ export function WebUIViewer({ ref }: { ref?: Ref }) { open={open} title={ - {t("Web UI")} + {t("settings.webUI.title")} } @@ -119,7 +119,7 @@ export function WebUIViewer({ ref }: { ref?: Ref }) { overflowY: "auto", userSelect: "text", }} - cancelBtn={t("Close")} + cancelBtn={t("common.actions.close")} disableOk onClose={() => setOpen(false)} onCancel={() => setOpen(false)} @@ -128,7 +128,7 @@ export function WebUIViewer({ ref }: { ref?: Ref }) { - {t("Replace host, port, secret with %host, %port, %secret")} + {t("settings.webUI.messages.placeholderInstruction")} } /> diff --git a/src/components/test/test-viewer.tsx b/src/components/test/test-viewer.tsx index 2952d476..47d08f40 100644 --- a/src/components/test/test-viewer.tsx +++ b/src/components/test/test-viewer.tsx @@ -130,8 +130,8 @@ export const TestViewer = forwardRef((props, ref) => { : t("test.viewer.title.edit") } contentSx={{ width: 375, pb: 0, maxHeight: "80%" }} - okBtn={t("Save")} - cancelBtn={t("Cancel")} + okBtn={t("common.actions.save")} + cancelBtn={t("common.actions.cancel")} onClose={handleClose} onCancel={handleClose} onOk={handleOk} @@ -141,7 +141,7 @@ export const TestViewer = forwardRef((props, ref) => { name="name" control={control} render={({ field }) => ( - + )} /> ((props, ref) => { {...field} multiline maxRows={5} - label={t("Icon")} + label={t("common.labels.icon")} /> )} /> diff --git a/src/locales/ar.json b/src/locales/ar.json index 2a79acde..86d4b618 100644 --- a/src/locales/ar.json +++ b/src/locales/ar.json @@ -1,28 +1,12 @@ { - "millis": "ميلي ثانية", - "seconds": "ثواني", - "mins": "دقائق", - "Close": "إغلاق", - "Cancel": "إلغاء", - "Confirm": "تأكيد", "Maximize": "تكبير", "Minimize": "تصغير", "Empty": "فارغ", - "New": "جديد", - "Edit": "تعديل", - "Save": "حفظ", - "Delete": "حذف", - "Enable": "تمكين", "Proxies": "الوكلاء", - "Update At": "التحديث عند", "rule": "قاعدة", "global": "عالمي", "direct": "مباشر", - "timeout": "Timeout", "script": "سكريبت", - "Sort by default": "الترتيب الافتراضي", - "Sort by delay": "الترتيب حسب التأخير", - "Sort by name": "الترتيب حسب الاسم", "DOMAIN": "مطابقة اسم المجال الكامل", "DOMAIN-SUFFIX": "مطابقة لاحقة المجال", "DOMAIN-KEYWORD": "مطابقة كلمة مفتاحية في المجال", @@ -67,51 +51,28 @@ "relay": "التمرير عبر سلسلة الوكلاء المحددة", "Timeout": "مهلة", "Type": "النوع", - "Name": "الاسم", "Close All Connections": "Close All Connections", "Rule": "قاعدة", - "Icon": "أيقونة", - "Reset to Default": "إعادة تعيين إلى الافتراضي", "TUN Mode automatically disabled due to service unavailable": "TUN Mode automatically disabled due to service unavailable", "Failed to disable TUN Mode automatically": "Failed to disable TUN Mode automatically", - "Core communication error": "Core communication error", "active": "نشط", "unknown": "غير معروف", "Install": "تثبيت", "Uninstall": "إلغاء التثبيت", "System Proxy": "وكيل النظام", - "Network Interface": "واجهة الشبكة", - "Ip Address": "عنوان IP", - "Mac Address": "عنوان MAC", - "Open URL": "فتح الرابط", - "Replace host, port, secret with %host, %port, %secret": "استبدل المضيف والمنفذ والمفتاح بـ %host و%port و%secret", - "Support %host, %port, %secret": "يدعم %host و%port و%secret", - "Clash Core": "نواة Clash", - "Upgrade": "ترقية", - "Restart": "إعادة التشغيل", "Release Version": "إصدار مستقر", "Alpha Version": "إصدار ألفا", - "Please enter your root password": "يرجى إدخال كلمة مرور الرووت", "theme.light": "سمة فاتحة", "theme.dark": "سمة داكنة", "theme.system": "سمة النظام", "Copy Success": "تم النسخ بنجاح", - "Hotkey Setting": "إعدادات الاختصارات", - "Enable Global Hotkey": "تمكين مفتاح التشغيل السريع العالمي", "open_or_close_dashboard": "فتح/إغلاق لوحة التحكم", "clash_mode_rule": "وضع القواعد", "clash_mode_global": "الوضع العالمي", - "clash_mode_direct": "الوضع المباشر", "toggle_system_proxy": "تفعيل/تعطيل وكيل النظام", "toggle_tun_mode": "تفعيل/تعطيل وضع TUN", "entry_lightweight_mode": "Entry Lightweight Mode", - "Runtime Config": "تكوين وقت التشغيل", "Exit": "خروج", - "ReadOnly": "للقراءة فقط", - "Filter conditions": "شروط التصفية", - "Match Case": "مطابقة الحالة", - "Match Whole Word": "مطابقة الكلمة بأكملها", - "Use Regular Expression": "استخدام التعبيرات العادية", "Profile Imported Successfully": "تم استيراد الملف الشخصي بنجاح", "Stopping Core...": "Stopping Core...", "Restarting Core...": "Restarting Core...", @@ -120,12 +81,9 @@ "Service Installed Successfully": "تم تثبيت الخدمة بنجاح", "Service Uninstalled Successfully": "تم إلغاء تثبيت الخدمة بنجاح", "Core Version Updated": "تم تحديث إصدار النواة", - "Clash Core Restarted": "تم إعادة تشغيل نواة Clash", "Currently on the Latest Version": "أنت على أحدث إصدار حاليًا", "Import Subscription Successful": "تم استيراد الاشتراك بنجاح", - "Failed to fetch backup files": "فشل في جلب ملفات النسخ الاحتياطي", "Profile": "الملف الشخصي", - "Web UI": "واجهة الويب", "Dashboard": "لوحة التحكم", "Restart App": "إعادة تشغيل التطبيق", "Restart Clash Core": "إعادة تشغيل نواة Clash", @@ -136,8 +94,6 @@ "Logs Dir": "مجلد السجلات", "Open Dir": "فتح المجلد", "More": "المزيد", - "Enable Tray Speed": "تفعيل سرعة التراي", - "Enable Tray Icon": "Enable Tray Icon", "LightWeight Mode": "وضع الأداء الخفيف", "Config Validation Failed": "فشل التحقق من تكوين الاشتراك، يرجى فحص ملف التكوين، تم التراجع عن التغييرات، تفاصيل الخطأ:", "Boot Config Validation Failed": "فشل التحقق من التكوين عند الإقلاع، تم استخدام التكوين الافتراضي، يرجى فحص ملف التكوين، تفاصيل الخطأ:", @@ -159,7 +115,6 @@ "Merge File Key Error": "Merge file key error, changes reverted", "Merge File Error": "Merge file error, changes reverted", "Service Administrator Prompt": "يتطلب Clash Verge امتيازات المسؤول لإعادة تثبيت خدمة النظام", - "Website Tests": "Website Tests", "Update with Clash proxy successfully": "Update with Clash proxy successfully", "Update failed even with Clash proxy": "Update failed even with Clash proxy", "Profile Imported with Clash proxy": "Profile Imported with Clash proxy", @@ -187,11 +142,8 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "Invalid regular expression": "Invalid regular expression", "Configuration saved successfully": "Configuration saved successfully", "Failed to save configuration": "Failed to save configuration", - "Saving...": "Saving...", - "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", "common": { @@ -202,6 +154,62 @@ "notices": { "raw": "{{message}}", "prefixedRaw": "{{prefix}} {{message}}" + }, + "actions": { + "cancel": "إلغاء", + "close": "إغلاق", + "confirm": "تأكيد", + "save": "حفظ", + "delete": "حذف", + "edit": "تعديل", + "new": "جديد", + "enable": "تمكين", + "upgrade": "ترقية", + "restart": "إعادة التشغيل", + "resetToDefault": "إعادة تعيين إلى الافتراضي", + "refresh": "تحديث", + "retry": "Retry", + "refreshPage": "Refresh Page", + "showDetails": "Show Details", + "hideDetails": "Hide Details" + }, + "labels": { + "updateAt": "التحديث عند", + "timeout": "Timeout", + "icon": "أيقونة", + "name": "الاسم", + "readOnly": "للقراءة فقط", + "expireTime": "وقت الانتهاء", + "updateTime": "وقت التحديث", + "usedTotal": "المستخدم / الإجمالي", + "from": "من", + "password": "كلمة المرور", + "retryAttempts": "Retry attempts" + }, + "units": { + "milliseconds": "ميلي ثانية", + "seconds": "ثواني", + "minutes": "دقائق", + "kilobytes": "KB", + "files": "Files" + }, + "search": { + "placeholder": "شروط التصفية", + "matchCase": "مطابقة الحالة", + "matchWholeWord": "مطابقة الكلمة بأكملها", + "useRegex": "استخدام التعبيرات العادية", + "invalidRegex": "Invalid regular expression" + }, + "status": { + "enabled": "ممكّن", + "disabled": "معطّل" + }, + "errors": { + "trafficStats": "Traffic Statistics Error", + "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." + }, + "states": { + "saving": "Saving..." } }, "navigation": { @@ -509,6 +517,14 @@ "systemInfo": "System Info Cards" } } + }, + "tests": { + "title": "Website Tests" + }, + "clashMode": { + "errors": { + "communication": "Core communication error" + } } }, "connection": { @@ -657,6 +673,9 @@ "saved": "Port settings saved", "saveFailed": "Failed to save port settings" } + }, + "notifications": { + "restartSuccess": "تم إعادة تشغيل نواة Clash" } }, "liteMode": { @@ -814,7 +833,9 @@ "showProxyGroupsInline": "Show Proxy Groups Inline", "commonTrayIcon": "أيقونة شريط مهام عامة", "systemProxyTrayIcon": "أيقونة شريط المهام لوكيل النظام", - "tunTrayIcon": "أيقونة شريط المهام لـ TUN" + "tunTrayIcon": "أيقونة شريط المهام لـ TUN", + "enableTrayIcon": "Enable Tray Icon", + "enableTraySpeed": "تفعيل سرعة التراي" }, "tooltips": { "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", @@ -1028,6 +1049,34 @@ "telegram": "قناة تيليجرام", "github": "مستودع Github" } + }, + "webUI": { + "actions": { + "openUrl": "فتح الرابط" + }, + "title": "واجهة الويب", + "messages": { + "supportedPlaceholders": "يدعم %host و%port و%secret", + "placeholderInstruction": "استبدل المضيف والمنفذ والمفتاح بـ %host و%port و%secret" + } + }, + "hotkey": { + "toggles": { + "enableGlobal": "تمكين مفتاح التشغيل السريع العالمي" + }, + "title": "إعدادات الاختصارات" + }, + "password": { + "prompts": { + "enterRoot": "يرجى إدخال كلمة مرور الرووت" + } + }, + "networkInterface": { + "title": "واجهة الشبكة", + "labels": { + "ipAddress": "عنوان IP", + "macAddress": "عنوان MAC" + } } }, "providers": { @@ -1114,6 +1163,9 @@ "connectFailed": "Failed to connect to proxy chain", "disconnectFailed": "Failed to disconnect from proxy chain", "duplicateNode": "Proxy node already exists in chain" + }, + "messages": { + "directMode": "الوضع المباشر" } } }, @@ -1213,7 +1265,19 @@ "actions": { "testing": "Testing..." }, - "empty": "No unlock test items" + "empty": "No unlock test items", + "messages": { + "detectionTimeout": "Detection timeout or failed" + } + } + }, + "layout": { + "traffic": { + "labels": { + "uploadSpeed": "سرعة الرفع", + "downloadSpeed": "سرعة التنزيل", + "memoryUsage": "استهلاك الذاكرة" + } } } } diff --git a/src/locales/de.json b/src/locales/de.json index 1d01c781..858ef20a 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -1,28 +1,12 @@ { - "millis": "Millisekunden", - "seconds": "Sekunden", - "mins": "Minuten", - "Close": "Schließen", - "Cancel": "Abbrechen", - "Confirm": "Bestätigen", "Maximize": "Maximieren", "Minimize": "Minimieren", "Empty": "Leer", - "New": "Neu", - "Edit": "Bearbeiten", - "Save": "Speichern", - "Delete": "Löschen", - "Enable": "Aktivieren", "Proxies": "Proxies", - "Update At": "Aktualisiert am", "rule": "Regel", "global": "Global", "direct": "Direktverbindung", - "timeout": "Timeout", "script": "Skript", - "Sort by default": "Standard Sortierung", - "Sort by delay": "Nach Latenz sortieren", - "Sort by name": "Nach Name sortieren", "DOMAIN": "Vollständigen Domainnamen übereinstimmen", "DOMAIN-SUFFIX": "Domain-Suffix übereinstimmen", "DOMAIN-KEYWORD": "Domain-Schlüsselwort übereinstimmen", @@ -67,51 +51,28 @@ "relay": "Basierend auf definiertem Proxy-Kette weiterleiten", "Timeout": "Timeout", "Type": "Typ", - "Name": "Name", "Close All Connections": "Close All Connections", "Rule": "Regel", - "Icon": "Symbol", - "Reset to Default": "Auf Standardwerte zurücksetzen", "TUN Mode automatically disabled due to service unavailable": "TUN Mode automatically disabled due to service unavailable", "Failed to disable TUN Mode automatically": "Failed to disable TUN Mode automatically", - "Core communication error": "Core communication error", "active": "Aktiviert", "unknown": "Unbekannt", "Install": "Installieren", "Uninstall": "Deinstallieren", "System Proxy": "Systemproxy", - "Network Interface": "Netzwerkschnittstelle", - "Ip Address": "IP-Adresse", - "Mac Address": "MAC-Adresse", - "Open URL": "Link öffnen", - "Replace host, port, secret with %host, %port, %secret": "Verwenden Sie %host, %port, %secret für Host, Port und Zugangsschlüssel", - "Support %host, %port, %secret": "Unterstützt %host, %port, %secret", - "Clash Core": "Clash-Kern", - "Upgrade": "Kern aktualisieren", - "Restart": "Kern neustarten", "Release Version": "Stabile Version", "Alpha Version": "Vorschauversion", - "Please enter your root password": "Bitte geben Sie Ihr Root-Passwort ein.", "theme.light": "Light", "theme.dark": "Dark", "theme.system": "System", "Copy Success": "Kopieren erfolgreich", - "Hotkey Setting": "Tastenkombinationseinstellungen", - "Enable Global Hotkey": "Globale Tastenkombinationen aktivieren", "open_or_close_dashboard": "Dashboard öffnen/schließen", "clash_mode_rule": "Regel-Modus", "clash_mode_global": "Globaler Modus", - "clash_mode_direct": "Direktverbindungs-Modus", "toggle_system_proxy": "Systemproxy ein/ausschalten", "toggle_tun_mode": "TUN-Modus ein/ausschalten", "entry_lightweight_mode": "Leichtgewichtigen Modus betreten", - "Runtime Config": "Aktuelle Konfiguration", "Exit": "Beenden", - "ReadOnly": "Schreibgeschützt", - "Filter conditions": "Filterbedingungen", - "Match Case": "Groß-/Kleinschreibung beachten", - "Match Whole Word": "Ganzes Wort übereinstimmen", - "Use Regular Expression": "Regulären Ausdruck verwenden", "Profile Imported Successfully": "Abonnement erfolgreich importiert", "Stopping Core...": "Kern wird gestoppt...", "Restarting Core...": "Kern wird neu gestartet...", @@ -120,12 +81,9 @@ "Service Installed Successfully": "Service erfolgreich installiert", "Service Uninstalled Successfully": "Service erfolgreich deinstalliert", "Core Version Updated": "Kernversion wurde aktualisiert", - "Clash Core Restarted": "Clash-Kern wurde neu gestartet", "Currently on the Latest Version": "Sie verwenden bereits die neueste Version", "Import Subscription Successful": "Abonnement erfolgreich importiert", - "Failed to fetch backup files": "Abrufen der Sicherungsdateien fehlgeschlagen", "Profile": "Konfiguration", - "Web UI": "Web-Oberfläche", "Dashboard": "Dashboard", "Restart App": "App neu starten", "Restart Clash Core": "Clash-Kern neu starten", @@ -136,8 +94,6 @@ "Logs Dir": "Protokollverzeichnis", "Open Dir": "Verzeichnis öffnen", "More": "Mehr", - "Enable Tray Speed": "Tray-Geschwindigkeit aktivieren", - "Enable Tray Icon": "Tray-Symbol aktivieren", "LightWeight Mode": "Leichtgewichtiger Modus", "Config Validation Failed": "Abonnement-Konfigurationsüberprüfung fehlgeschlagen. Bitte überprüfen Sie die Abonnement-Konfigurationsdatei. Die Änderungen wurden rückgängig gemacht. Fehlerdetails: ", "Boot Config Validation Failed": "Start-Abonnement-Konfigurationsüberprüfung fehlgeschlagen. Die Standardkonfiguration wurde verwendet, um die App zu starten. Bitte überprüfen Sie die Abonnement-Konfigurationsdatei. Fehlerdetails: ", @@ -159,7 +115,6 @@ "Merge File Key Error": "Schlüsselfehler in der Überdeckungsdatei. Die Änderungen wurden rückgängig gemacht.", "Merge File Error": "Fehler in der Überdeckungsdatei. Die Änderungen wurden rückgängig gemacht.", "Service Administrator Prompt": "Clash Verge benötigt Administratorrechte, um den Systemdienst zu installieren.", - "Website Tests": "Website-Tests", "Update with Clash proxy successfully": "Aktualisierung mit Clash-Proxy erfolgreich", "Update failed even with Clash proxy": "Aktualisierung auch mit Clash-Proxy fehlgeschlagen", "Profile Imported with Clash proxy": "Abonnement mit Clash-Proxy importiert", @@ -187,11 +142,8 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "Invalid regular expression": "Invalid regular expression", "Configuration saved successfully": "Zufalls-Konfiguration erfolgreich gespeichert", "Failed to save configuration": "Failed to save configuration", - "Saving...": "Saving...", - "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", "common": { @@ -202,6 +154,62 @@ "notices": { "raw": "{{message}}", "prefixedRaw": "{{prefix}} {{message}}" + }, + "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" + }, + "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" + }, + "units": { + "milliseconds": "Millisekunden", + "seconds": "Sekunden", + "minutes": "Minuten", + "kilobytes": "KB", + "files": "Files" + }, + "search": { + "placeholder": "Filterbedingungen", + "matchCase": "Groß-/Kleinschreibung beachten", + "matchWholeWord": "Ganzes Wort übereinstimmen", + "useRegex": "Regulären Ausdruck verwenden", + "invalidRegex": "Invalid regular expression" + }, + "status": { + "enabled": "Aktiviert", + "disabled": "Deaktiviert" + }, + "errors": { + "trafficStats": "Traffic Statistics Error", + "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." + }, + "states": { + "saving": "Saving..." } }, "navigation": { @@ -509,6 +517,14 @@ "systemInfo": "Systeminformationen-Karten" } } + }, + "tests": { + "title": "Website-Tests" + }, + "clashMode": { + "errors": { + "communication": "Core communication error" + } } }, "connection": { @@ -657,6 +673,9 @@ "saved": "Port settings saved", "saveFailed": "Failed to save port settings" } + }, + "notifications": { + "restartSuccess": "Clash-Kern wurde neu gestartet" } }, "liteMode": { @@ -814,7 +833,9 @@ "showProxyGroupsInline": "Show Proxy Groups Inline", "commonTrayIcon": "Standard-Tray-Symbol", "systemProxyTrayIcon": "Systemproxy-Tray-Symbol", - "tunTrayIcon": "TUN-Modus-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", @@ -1028,6 +1049,34 @@ "telegram": "Telegram-Kanal", "github": "GitHub-Projektadresse" } + }, + "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" + }, + "password": { + "prompts": { + "enterRoot": "Bitte geben Sie Ihr Root-Passwort ein." + } + }, + "networkInterface": { + "title": "Netzwerkschnittstelle", + "labels": { + "ipAddress": "IP-Adresse", + "macAddress": "MAC-Adresse" + } } }, "providers": { @@ -1114,6 +1163,9 @@ "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" } } }, @@ -1213,7 +1265,19 @@ "actions": { "testing": "Wird getestet..." }, - "empty": "No unlock test items" + "empty": "No unlock test items", + "messages": { + "detectionTimeout": "Detection timeout or failed" + } + } + }, + "layout": { + "traffic": { + "labels": { + "uploadSpeed": "Upload-Geschwindigkeit", + "downloadSpeed": "Download-Geschwindigkeit", + "memoryUsage": "Kern-Speichernutzung" + } } } } diff --git a/src/locales/en.json b/src/locales/en.json index d9281842..15b8a174 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1,28 +1,12 @@ { - "millis": "ms", - "seconds": "seconds", - "mins": "mins", - "Close": "Close", - "Cancel": "Cancel", - "Confirm": "Confirm", "Maximize": "Maximize", "Minimize": "Minimize", "Empty": "Empty", - "New": "New", - "Edit": "Edit", - "Save": "Save", - "Delete": "Delete", - "Enable": "Enable", "Proxies": "Proxies", - "Update At": "Update At", "rule": "rule", "global": "global", "direct": "direct", - "timeout": "Timeout", "script": "script", - "Sort by default": "Sort by default", - "Sort by delay": "Sort by delay", - "Sort by name": "Sort by name", "DOMAIN": "Matches the full domain name", "DOMAIN-SUFFIX": "Matches the domain suffix", "DOMAIN-KEYWORD": "Matches the domain keyword", @@ -67,51 +51,28 @@ "relay": "Pass through the defined proxy chain", "Timeout": "Timeout", "Type": "Type", - "Name": "Name", "Close All Connections": "Close All Connections", "Rule": "Rule", - "Icon": "Icon", - "Reset to Default": "Reset to Default", "TUN Mode automatically disabled due to service unavailable": "TUN Mode automatically disabled due to service unavailable", "Failed to disable TUN Mode automatically": "Failed to disable TUN Mode automatically", - "Core communication error": "Core communication error", "active": "active", "unknown": "unknown", "Install": "Install", "Uninstall": "Uninstall", "System Proxy": "System Proxy", - "Network Interface": "Network Interface", - "Ip Address": "IP Address", - "Mac Address": "MAC Address", - "Open URL": "Open URL", - "Replace host, port, secret with %host, %port, %secret": "Replace host, port, secret with %host, %port, %secret", - "Support %host, %port, %secret": "Support %host, %port, %secret", - "Clash Core": "Clash Core", - "Upgrade": "Upgrade", - "Restart": "Restart", "Release Version": "Release Version", "Alpha Version": "Alpha Version", - "Please enter your root password": "Please enter your root password", "theme.light": "Light", "theme.dark": "Dark", "theme.system": "System", "Copy Success": "Copy Success", - "Hotkey Setting": "Hotkey Setting", - "Enable Global Hotkey": "Enable Global Hotkey", "open_or_close_dashboard": "Open/Close Dashboard", "clash_mode_rule": "Rule Mode", "clash_mode_global": "Global Mode", - "clash_mode_direct": "Direct Mode", "toggle_system_proxy": "Enable/Disable System Proxy", "toggle_tun_mode": "Enable/Disable Tun Mode", "entry_lightweight_mode": "Entry Lightweight Mode", - "Runtime Config": "Runtime Config", "Exit": "Exit", - "ReadOnly": "ReadOnly", - "Filter conditions": "Filter conditions", - "Match Case": "Match Case", - "Match Whole Word": "Match Whole Word", - "Use Regular Expression": "Use Regular Expression", "Profile Imported Successfully": "Profile Imported Successfully", "Stopping Core...": "Stopping Core...", "Restarting Core...": "Restarting Core...", @@ -120,12 +81,9 @@ "Service Installed Successfully": "Service Installed Successfully", "Service Uninstalled Successfully": "Service Uninstalled Successfully", "Core Version Updated": "Core Version Updated", - "Clash Core Restarted": "Clash Core Restarted", "Currently on the Latest Version": "Currently on the Latest Version", "Import Subscription Successful": "Import subscription successful", - "Failed to fetch backup files": "Failed to fetch backup files", "Profile": "Profile", - "Web UI": "Web UI", "Dashboard": "Dashboard", "Restart App": "Restart App", "Restart Clash Core": "Restart Clash Core", @@ -136,8 +94,6 @@ "Logs Dir": "Logs Dir", "Open Dir": "Open Dir", "More": "More", - "Enable Tray Speed": "Enable Tray Speed", - "Enable Tray Icon": "Enable Tray Icon", "LightWeight Mode": "Lightweight Mode", "Config Validation Failed": "Subscription configuration validation failed. Please check the subscription configuration file; modifications have been rolled back.", "Boot Config Validation Failed": "Boot subscription configuration validation failed. Started with the default configuration; please check the subscription configuration file.", @@ -159,7 +115,6 @@ "Merge File Key Error": "Merge file key error, changes reverted", "Merge File Error": "Merge file error, changes reverted", "Service Administrator Prompt": "Clash Verge requires administrator privileges to reinstall the system service", - "Website Tests": "Website Tests", "Update with Clash proxy successfully": "Update with Clash proxy successfully", "Update failed even with Clash proxy": "Update failed even with Clash proxy", "Profile Imported with Clash proxy": "Profile Imported with Clash proxy", @@ -187,11 +142,8 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "Invalid regular expression": "Invalid regular expression", "Configuration saved successfully": "Configuration saved successfully", "Failed to save configuration": "Failed to save configuration", - "Saving...": "Saving...", - "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", "common": { @@ -202,6 +154,62 @@ "notices": { "raw": "{{message}}", "prefixedRaw": "{{prefix}} {{message}}" + }, + "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" + }, + "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" + }, + "units": { + "milliseconds": "ms", + "seconds": "seconds", + "minutes": "mins", + "kilobytes": "KB", + "files": "Files" + }, + "search": { + "placeholder": "Filter conditions", + "matchCase": "Match Case", + "matchWholeWord": "Match Whole Word", + "useRegex": "Use Regular Expression", + "invalidRegex": "Invalid regular expression" + }, + "status": { + "enabled": "Enabled", + "disabled": "Disabled" + }, + "errors": { + "trafficStats": "Traffic Statistics Error", + "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." + }, + "states": { + "saving": "Saving..." } }, "navigation": { @@ -509,6 +517,14 @@ "systemInfo": "System Info Cards" } } + }, + "tests": { + "title": "Website Tests" + }, + "clashMode": { + "errors": { + "communication": "Core communication error" + } } }, "connection": { @@ -657,6 +673,9 @@ "saved": "Port settings saved", "saveFailed": "Failed to save port settings" } + }, + "notifications": { + "restartSuccess": "Clash Core Restarted" } }, "liteMode": { @@ -814,7 +833,9 @@ "showProxyGroupsInline": "Show Proxy Groups Inline", "commonTrayIcon": "Common Tray Icon", "systemProxyTrayIcon": "System Proxy Tray Icon", - "tunTrayIcon": "Tun 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", @@ -1028,6 +1049,34 @@ "telegram": "Telegram Channel", "github": "Github Repo" } + }, + "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" + }, + "password": { + "prompts": { + "enterRoot": "Please enter your root password" + } + }, + "networkInterface": { + "title": "Network Interface", + "labels": { + "ipAddress": "IP Address", + "macAddress": "MAC Address" + } } }, "providers": { @@ -1114,6 +1163,9 @@ "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" } } }, @@ -1213,7 +1265,19 @@ "actions": { "testing": "Testing..." }, - "empty": "No unlock test items" + "empty": "No unlock test items", + "messages": { + "detectionTimeout": "Detection timeout or failed" + } + } + }, + "layout": { + "traffic": { + "labels": { + "uploadSpeed": "Upload Speed", + "downloadSpeed": "Download Speed", + "memoryUsage": "Memory Usage" + } } } } diff --git a/src/locales/es.json b/src/locales/es.json index 9e675a1a..76e0a91b 100644 --- a/src/locales/es.json +++ b/src/locales/es.json @@ -1,28 +1,12 @@ { - "millis": "Milisegundos", - "seconds": "Segundos", - "mins": "Minutos", - "Close": "Cerrar", - "Cancel": "Cancelar", - "Confirm": "Confirmar", "Maximize": "Maximizar", "Minimize": "Minimizar", "Empty": "Vacío", - "New": "Nuevo", - "Edit": "Editar", - "Save": "Guardar", - "Delete": "Eliminar", - "Enable": "Habilitar", "Proxies": "Proxies", - "Update At": "Actualizado el", "rule": "Regla", "global": "Global", "direct": "Conexión directa", - "timeout": "Timeout", "script": "Script", - "Sort by default": "Ordenación predeterminada", - "Sort by delay": "Ordenar por latencia", - "Sort by name": "Ordenar por nombre", "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", @@ -67,51 +51,28 @@ "relay": "Transferir según la cadena de proxy definida", "Timeout": "Tiempo de espera", "Type": "Tipo", - "Name": "Nombre", "Close All Connections": "Close All Connections", "Rule": "Regla", - "Icon": "Icono", - "Reset to Default": "Restablecer a los valores predeterminados", "TUN Mode automatically disabled due to service unavailable": "TUN Mode automatically disabled due to service unavailable", "Failed to disable TUN Mode automatically": "Failed to disable TUN Mode automatically", - "Core communication error": "Core communication error", "active": "Activado", "unknown": "Desconocido", "Install": "Instalar", "Uninstall": "Desinstalar", "System Proxy": "Proxy del sistema", - "Network Interface": "Interfaz de red", - "Ip Address": "Dirección IP", - "Mac Address": "Dirección MAC", - "Open URL": "Abrir enlace", - "Replace host, port, secret with %host, %port, %secret": "Utilice %host, %port, %secret para representar el host, el puerto y la clave de acceso.", - "Support %host, %port, %secret": "Soporta %host, %port, %secret", - "Clash Core": "Núcleo de Clash", - "Upgrade": "Actualizar núcleo", - "Restart": "Reiniciar núcleo", "Release Version": "Versión estable", "Alpha Version": "Versión de vista previa", - "Please enter your root password": "Ingrese su contraseña de root", "theme.light": "Light", "theme.dark": "Dark", "theme.system": "System", "Copy Success": "Copia exitosa", - "Hotkey Setting": "Configuración de atajos de teclado", - "Enable Global Hotkey": "Habilitar atajos de teclado globales", "open_or_close_dashboard": "Abrir/cerrar panel", "clash_mode_rule": "Modo de reglas", "clash_mode_global": "Modo global", - "clash_mode_direct": "Modo de conexión directa", "toggle_system_proxy": "Activar/desactivar el proxy del sistema", "toggle_tun_mode": "Activar/desactivar el modo TUN", "entry_lightweight_mode": "Entrar en modo ligero", - "Runtime Config": "Configuración actual", "Exit": "Salir", - "ReadOnly": "Solo lectura", - "Filter conditions": "Condiciones de filtrado", - "Match Case": "Distinguir mayúsculas y minúsculas", - "Match Whole Word": "Coincidencia exacta de palabras", - "Use Regular Expression": "Usar expresiones regulares", "Profile Imported Successfully": "Suscripción importada con éxito", "Stopping Core...": "Deteniendo núcleo...", "Restarting Core...": "Reiniciando núcleo...", @@ -120,12 +81,9 @@ "Service Installed Successfully": "Servicio instalado con éxito", "Service Uninstalled Successfully": "Servicio desinstalado con éxito", "Core Version Updated": "Versión del núcleo actualizada", - "Clash Core Restarted": "Núcleo de Clash reiniciado", "Currently on the Latest Version": "Actualmente está en la última versión", "Import Subscription Successful": "Suscripción importada con éxito", - "Failed to fetch backup files": "Error al obtener las copias de seguridad", "Profile": "Configuración", - "Web UI": "Interfaz web", "Dashboard": "Panel de control", "Restart App": "Reiniciar aplicación", "Restart Clash Core": "Reiniciar el núcleo de Clash", @@ -136,8 +94,6 @@ "Logs Dir": "Directorio de registros", "Open Dir": "Abrir directorio", "More": "Más", - "Enable Tray Speed": "Habilitar velocidad en la bandeja", - "Enable Tray Icon": "Habilitar icono de la bandeja", "LightWeight Mode": "Modo ligero", "Config Validation 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: ", "Boot Config Validation Failed": "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: ", @@ -159,7 +115,6 @@ "Merge File Key Error": "Error de clave en el archivo de sobrescritura. Los cambios se han deshecho", "Merge File Error": "Error en el archivo de sobrescritura. Los cambios se han deshecho", "Service Administrator Prompt": "Clash Verge requiere permisos de administrador para instalar el servicio del sistema", - "Website Tests": "Pruebas de sitios web", "Update with Clash proxy successfully": "Actualización con el proxy de Clash exitosa", "Update failed even with Clash proxy": "Error al actualizar incluso con el proxy de Clash", "Profile Imported with Clash proxy": "Suscripción importada con el proxy de Clash", @@ -187,11 +142,8 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "Invalid regular expression": "Invalid regular expression", "Configuration saved successfully": "Configuración aleatoria guardada correctamente", "Failed to save configuration": "Failed to save configuration", - "Saving...": "Saving...", - "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", "common": { @@ -202,6 +154,62 @@ "notices": { "raw": "{{message}}", "prefixedRaw": "{{prefix}} {{message}}" + }, + "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" + }, + "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" + }, + "units": { + "milliseconds": "Milisegundos", + "seconds": "Segundos", + "minutes": "Minutos", + "kilobytes": "KB", + "files": "Files" + }, + "search": { + "placeholder": "Condiciones de filtrado", + "matchCase": "Distinguir mayúsculas y minúsculas", + "matchWholeWord": "Coincidencia exacta de palabras", + "useRegex": "Usar expresiones regulares", + "invalidRegex": "Invalid regular expression" + }, + "status": { + "enabled": "Habilitado", + "disabled": "Deshabilitado" + }, + "errors": { + "trafficStats": "Traffic Statistics Error", + "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." + }, + "states": { + "saving": "Saving..." } }, "navigation": { @@ -509,6 +517,14 @@ "systemInfo": "Tarjetas de información del sistema" } } + }, + "tests": { + "title": "Pruebas de sitios web" + }, + "clashMode": { + "errors": { + "communication": "Core communication error" + } } }, "connection": { @@ -657,6 +673,9 @@ "saved": "Port settings saved", "saveFailed": "Failed to save port settings" } + }, + "notifications": { + "restartSuccess": "Núcleo de Clash reiniciado" } }, "liteMode": { @@ -814,7 +833,9 @@ "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" + "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", @@ -1028,6 +1049,34 @@ "telegram": "Canal de Telegram", "github": "Dirección del proyecto en GitHub" } + }, + "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" + }, + "password": { + "prompts": { + "enterRoot": "Ingrese su contraseña de root" + } + }, + "networkInterface": { + "title": "Interfaz de red", + "labels": { + "ipAddress": "Dirección IP", + "macAddress": "Dirección MAC" + } } }, "providers": { @@ -1114,6 +1163,9 @@ "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" } } }, @@ -1213,7 +1265,19 @@ "actions": { "testing": "Probando..." }, - "empty": "No unlock test items" + "empty": "No unlock test items", + "messages": { + "detectionTimeout": "Detection timeout or failed" + } + } + }, + "layout": { + "traffic": { + "labels": { + "uploadSpeed": "Velocidad de subida", + "downloadSpeed": "Velocidad de descarga", + "memoryUsage": "Uso de memoria del núcleo" + } } } } diff --git a/src/locales/fa.json b/src/locales/fa.json index 43a12433..8ecf25a6 100644 --- a/src/locales/fa.json +++ b/src/locales/fa.json @@ -1,28 +1,12 @@ { - "millis": "میلی‌ثانیه", - "seconds": "ثانیه‌ها", - "mins": "دقیقه", - "Close": "بستن", - "Cancel": "لغو", - "Confirm": "تأیید", "Maximize": "بزرگ‌نمایی", "Minimize": "کوچک‌نمایی", "Empty": "خالی خالی", - "New": "جدید", - "Edit": "ویرایش", - "Save": "ذخیره", - "Delete": "حذف", - "Enable": "فعال کردن", "Proxies": "پراکسی‌ها", - "Update At": "به‌روزرسانی در", "rule": "قانون", "global": "جهانی", "direct": "مستقیم", - "timeout": "Timeout", "script": "اسکریپت", - "Sort by default": "مرتب‌سازی بر اساس پیش‌فرض", - "Sort by delay": "مرتب‌سازی بر اساس تأخیر", - "Sort by name": "مرتب‌سازی بر اساس نام", "DOMAIN": "مطابقت با نام کامل دامنه", "DOMAIN-SUFFIX": "مطابقت با پسوند دامنه", "DOMAIN-KEYWORD": "مطابقت با کلمه کلیدی دامنه", @@ -67,51 +51,28 @@ "relay": "عبور از زنجیره پروکسی تعریف شده", "Timeout": "زمان قطع", "Type": "نوع", - "Name": "نام", "Close All Connections": "Close All Connections", "Rule": "قانون", - "Icon": "آیکون", - "Reset to Default": "بازنشانی به پیش‌فرض", "TUN Mode automatically disabled due to service unavailable": "TUN Mode automatically disabled due to service unavailable", "Failed to disable TUN Mode automatically": "Failed to disable TUN Mode automatically", - "Core communication error": "Core communication error", "active": "فعال", "unknown": "ناشناخته", "Install": "نصب", "Uninstall": "حذف نصب", "System Proxy": "پراکسی سیستم", - "Network Interface": "رابط شبکه", - "Ip Address": "آدرس IP", - "Mac Address": "آدرس MAC", - "Open URL": "باز کردن آدرس اینترنتی", - "Replace host, port, secret with %host, %port, %secret": "جایگزین کردن میزبان، پورت و رمز با %host، %port، %secret", - "Support %host, %port, %secret": "پشتیبانی از %host، %port و %secret", - "Clash Core": "هسته Clash", - "Upgrade": "ارتقاء", - "Restart": "راه‌اندازی مجدد", "Release Version": "نسخه نهایی", "Alpha Version": "نسخه آلفا", - "Please enter your root password": "لطفاً رمز ریشه خود را وارد کنید", "theme.light": "روشن", "theme.dark": "تاریک", "theme.system": "سیستم", "Copy Success": "کپی با موفقیت انجام شد", - "Hotkey Setting": "تنظیمات کلیدهای میانبر", - "Enable Global Hotkey": "فعال کردن کلید میانبر سراسری", "open_or_close_dashboard": "باز/بستن داشبورد", "clash_mode_rule": "حالت قانون", "clash_mode_global": "حالت جهانی", - "clash_mode_direct": "حالت مستقیم", "toggle_system_proxy": "فعال/غیرفعال کردن پراکسی سیستم", "toggle_tun_mode": "فعال/غیرفعال کردن حالت Tun", "entry_lightweight_mode": "Entry Lightweight Mode", - "Runtime Config": "پیکربندی زمان اجرا", "Exit": "خروج", - "ReadOnly": "فقط خواندنی", - "Filter conditions": "شرایط فیلتر", - "Match Case": "تطبیق حروف کوچک و بزرگ", - "Match Whole Word": "تطبیق کل کلمه", - "Use Regular Expression": "استفاده از عبارت منظم", "Profile Imported Successfully": "پروفایل با موفقیت وارد شد", "Stopping Core...": "Stopping Core...", "Restarting Core...": "Restarting Core...", @@ -120,12 +81,9 @@ "Service Installed Successfully": "سرویس با موفقیت نصب شد", "Service Uninstalled Successfully": "سرویس با موفقیت حذف نصب شد", "Core Version Updated": "نسخه هسته به‌روزرسانی شد", - "Clash Core Restarted": "هسته Clash مجدداً راه‌اندازی شد", "Currently on the Latest Version": "در حال حاضر در آخرین نسخه", "Import Subscription Successful": "وارد کردن اشتراک با موفقیت انجام شد", - "Failed to fetch backup files": "دریافت فایل‌های پشتیبان ناموفق بود", "Profile": "پروفایل", - "Web UI": "رابط وب", "Dashboard": "داشبورد", "Restart App": "راه‌اندازی مجدد برنامه", "Restart Clash Core": "راه‌اندازی مجدد هسته Clash", @@ -136,8 +94,6 @@ "Logs Dir": "پوشه لاگ‌ها", "Open Dir": "باز کردن پوشه", "More": "بیشتر", - "Enable Tray Speed": "فعال کردن سرعت ترای", - "Enable Tray Icon": "Enable Tray Icon", "LightWeight Mode": "در فارسی", "Config Validation Failed": "اعتبارسنجی پیکربندی اشتراک ناموفق بود، فایل پیکربندی را بررسی کنید، تغییرات برگشت داده شد، جزئیات خطا:", "Boot Config Validation Failed": "اعتبارسنجی پیکربندی هنگام راه‌اندازی ناموفق بود، پیکربندی پیش‌فرض استفاده شد، فایل پیکربندی را بررسی کنید، جزئیات خطا:", @@ -159,7 +115,6 @@ "Merge File Key Error": "Merge file key error, changes reverted", "Merge File Error": "Merge file error, changes reverted", "Service Administrator Prompt": "Clash Verge برای نصب مجدد سرویس سیستم به امتیازات مدیر نیاز دارد", - "Website Tests": "Website Tests", "Update with Clash proxy successfully": "Update with Clash proxy successfully", "Update failed even with Clash proxy": "Update failed even with Clash proxy", "Profile Imported with Clash proxy": "Profile Imported with Clash proxy", @@ -187,11 +142,8 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "Invalid regular expression": "Invalid regular expression", "Configuration saved successfully": "Configuration saved successfully", "Failed to save configuration": "Failed to save configuration", - "Saving...": "Saving...", - "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", "common": { @@ -202,6 +154,62 @@ "notices": { "raw": "{{message}}", "prefixedRaw": "{{prefix}} {{message}}" + }, + "actions": { + "cancel": "لغو", + "close": "بستن", + "confirm": "تأیید", + "save": "ذخیره", + "delete": "حذف", + "edit": "ویرایش", + "new": "جدید", + "enable": "فعال کردن", + "upgrade": "ارتقاء", + "restart": "راه‌اندازی مجدد", + "resetToDefault": "بازنشانی به پیش‌فرض", + "refresh": "بازنشانی", + "retry": "Retry", + "refreshPage": "Refresh Page", + "showDetails": "Show Details", + "hideDetails": "Hide Details" + }, + "labels": { + "updateAt": "به‌روزرسانی در", + "timeout": "Timeout", + "icon": "آیکون", + "name": "نام", + "readOnly": "فقط خواندنی", + "expireTime": "زمان انقضا", + "updateTime": "زمان به‌روزرسانی", + "usedTotal": "استفاده‌شده / کل", + "from": "از", + "password": "رمز عبور", + "retryAttempts": "Retry attempts" + }, + "units": { + "milliseconds": "میلی‌ثانیه", + "seconds": "ثانیه‌ها", + "minutes": "دقیقه", + "kilobytes": "KB", + "files": "Files" + }, + "search": { + "placeholder": "شرایط فیلتر", + "matchCase": "تطبیق حروف کوچک و بزرگ", + "matchWholeWord": "تطبیق کل کلمه", + "useRegex": "استفاده از عبارت منظم", + "invalidRegex": "Invalid regular expression" + }, + "status": { + "enabled": "توانایی فعال شد", + "disabled": "غیرفعال شد" + }, + "errors": { + "trafficStats": "Traffic Statistics Error", + "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." + }, + "states": { + "saving": "Saving..." } }, "navigation": { @@ -509,6 +517,14 @@ "systemInfo": "System Info Cards" } } + }, + "tests": { + "title": "Website Tests" + }, + "clashMode": { + "errors": { + "communication": "Core communication error" + } } }, "connection": { @@ -657,6 +673,9 @@ "saved": "Port settings saved", "saveFailed": "Failed to save port settings" } + }, + "notifications": { + "restartSuccess": "هسته Clash مجدداً راه‌اندازی شد" } }, "liteMode": { @@ -814,7 +833,9 @@ "showProxyGroupsInline": "Show Proxy Groups Inline", "commonTrayIcon": "آیکون مشترک سینی سیستم", "systemProxyTrayIcon": "آیکون سینی پراکسی سیستم", - "tunTrayIcon": "آیکون سینی Tun" + "tunTrayIcon": "آیکون سینی Tun", + "enableTrayIcon": "Enable Tray Icon", + "enableTraySpeed": "فعال کردن سرعت ترای" }, "tooltips": { "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", @@ -1028,6 +1049,34 @@ "telegram": "کانال تلگرام", "github": "مخزن GitHub" } + }, + "webUI": { + "actions": { + "openUrl": "باز کردن آدرس اینترنتی" + }, + "title": "رابط وب", + "messages": { + "supportedPlaceholders": "پشتیبانی از %host، %port و %secret", + "placeholderInstruction": "جایگزین کردن میزبان، پورت و رمز با %host، %port، %secret" + } + }, + "hotkey": { + "toggles": { + "enableGlobal": "فعال کردن کلید میانبر سراسری" + }, + "title": "تنظیمات کلیدهای میانبر" + }, + "password": { + "prompts": { + "enterRoot": "لطفاً رمز ریشه خود را وارد کنید" + } + }, + "networkInterface": { + "title": "رابط شبکه", + "labels": { + "ipAddress": "آدرس IP", + "macAddress": "آدرس MAC" + } } }, "providers": { @@ -1114,6 +1163,9 @@ "connectFailed": "Failed to connect to proxy chain", "disconnectFailed": "Failed to disconnect from proxy chain", "duplicateNode": "Proxy node already exists in chain" + }, + "messages": { + "directMode": "حالت مستقیم" } } }, @@ -1213,7 +1265,19 @@ "actions": { "testing": "Testing..." }, - "empty": "No unlock test items" + "empty": "No unlock test items", + "messages": { + "detectionTimeout": "Detection timeout or failed" + } + } + }, + "layout": { + "traffic": { + "labels": { + "uploadSpeed": "سرعت بارگذاری", + "downloadSpeed": "سرعت دانلود", + "memoryUsage": "استفاده از حافظه" + } } } } diff --git a/src/locales/id.json b/src/locales/id.json index a08ed09f..aa11596d 100644 --- a/src/locales/id.json +++ b/src/locales/id.json @@ -1,28 +1,12 @@ { - "millis": "milidetik", - "seconds": "detik", - "mins": "menit", - "Close": "Tutup", - "Cancel": "Batal", - "Confirm": "Konfirmasi", "Maximize": "Maksimalkan", "Minimize": "Minimalkan", "Empty": "Kosong", - "New": "Baru", - "Edit": "Ubah", - "Save": "Simpan", - "Delete": "Hapus", - "Enable": "Aktifkan", "Proxies": "Proksi", - "Update At": "Diperbarui Pada", "rule": "aturan", "global": "global", "direct": "langsung", - "timeout": "Timeout", "script": "skrip", - "Sort by default": "Urutkan secara default", - "Sort by delay": "Urutkan berdasarkan keterlambatan", - "Sort by name": "Urutkan berdasarkan nama", "DOMAIN": "Cocok dengan nama domain lengkap", "DOMAIN-SUFFIX": "Cocok dengan sufiks domain", "DOMAIN-KEYWORD": "Cocok dengan kata kunci domain", @@ -67,51 +51,28 @@ "relay": "Lewatkan melalui rantai proksi yang ditentukan", "Timeout": "Waktu Habis", "Type": "Jenis", - "Name": "Nama", "Close All Connections": "Close All Connections", "Rule": "Aturan", - "Icon": "Ikon", - "Reset to Default": "Setel Ulang ke Default", "TUN Mode automatically disabled due to service unavailable": "TUN Mode automatically disabled due to service unavailable", "Failed to disable TUN Mode automatically": "Failed to disable TUN Mode automatically", - "Core communication error": "Core communication error", "active": "aktif", "unknown": "tidak diketahui", "Install": "Instal", "Uninstall": "Copot", "System Proxy": "Proksi Sistem", - "Network Interface": "Antarmuka Jaringan", - "Ip Address": "Alamat IP", - "Mac Address": "Alamat MAC", - "Open URL": "Buka URL", - "Replace host, port, secret with %host, %port, %secret": "Ganti host, port, rahasia dengan %host, %port, %secret", - "Support %host, %port, %secret": "Dukung %host, %port, %secret", - "Clash Core": "Inti Clash", - "Upgrade": "Tingkatkan", - "Restart": "Mulai Ulang", "Release Version": "Versi Rilis", "Alpha Version": "Versi Alpha", - "Please enter your root password": "Harap masukkan kata sandi root Anda", "theme.light": "Terang", "theme.dark": "Gelap", "theme.system": "Sistem", "Copy Success": "Salin Berhasil", - "Hotkey Setting": "Pengaturan Pintasan", - "Enable Global Hotkey": "Aktifkan Hotkey Global", "open_or_close_dashboard": "Buka/Tutup Dasbor", "clash_mode_rule": "Mode Aturan", "clash_mode_global": "Mode Global", - "clash_mode_direct": "Mode Langsung", "toggle_system_proxy": "Aktifkan/Nonaktifkan Proksi Sistem", "toggle_tun_mode": "Aktifkan/Nonaktifkan Mode Tun", "entry_lightweight_mode": "Entry Lightweight Mode", - "Runtime Config": "Konfigurasi Runtime", "Exit": "Keluar", - "ReadOnly": "Hanya Baca", - "Filter conditions": "Kondisi Filter", - "Match Case": "Cocokkan Kasus", - "Match Whole Word": "Cocokkan Kata Utuh", - "Use Regular Expression": "Gunakan Ekspresi Reguler", "Profile Imported Successfully": "Profil Berhasil Diimpor", "Stopping Core...": "Stopping Core...", "Restarting Core...": "Restarting Core...", @@ -120,12 +81,9 @@ "Service Installed Successfully": "Layanan Berhasil Diinstal", "Service Uninstalled Successfully": "Layanan Berhasil Dicopot", "Core Version Updated": "Versi Core Diperbarui", - "Clash Core Restarted": "Core Clash Dimulai Ulang", "Currently on the Latest Version": "Saat ini pada Versi Terbaru", "Import Subscription Successful": "Berlangganan Berhasil Diimpor", - "Failed to fetch backup files": "Gagal mengambil file cadangan", "Profile": "Profil", - "Web UI": "Antarmuka Web", "Dashboard": "Dasbor", "Restart App": "Mulai Ulang Aplikasi", "Restart Clash Core": "Mulai Ulang Core Clash", @@ -136,8 +94,6 @@ "Logs Dir": "Direktori Log", "Open Dir": "Buka Direktori", "More": "Lainnya", - "Enable Tray Speed": "Aktifkan Tray Speed", - "Enable Tray Icon": "Enable Tray Icon", "LightWeight Mode": "Mode Ringan", "Config Validation Failed": "Validasi konfigurasi langganan gagal, periksa file konfigurasi, perubahan dibatalkan, detail kesalahan:", "Boot Config Validation Failed": "Validasi konfigurasi saat boot gagal, menggunakan konfigurasi default, periksa file konfigurasi, detail kesalahan:", @@ -159,7 +115,6 @@ "Merge File Key Error": "Merge file key error, changes reverted", "Merge File Error": "Merge file error, changes reverted", "Service Administrator Prompt": "Clash Verge memerlukan hak administrator untuk menginstal ulang layanan sistem", - "Website Tests": "Website Tests", "Update with Clash proxy successfully": "Update with Clash proxy successfully", "Update failed even with Clash proxy": "Update failed even with Clash proxy", "Profile Imported with Clash proxy": "Profile Imported with Clash proxy", @@ -187,11 +142,8 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "Invalid regular expression": "Invalid regular expression", "Configuration saved successfully": "Configuration saved successfully", "Failed to save configuration": "Failed to save configuration", - "Saving...": "Saving...", - "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", "common": { @@ -202,6 +154,62 @@ "notices": { "raw": "{{message}}", "prefixedRaw": "{{prefix}} {{message}}" + }, + "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" + }, + "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" + }, + "units": { + "milliseconds": "milidetik", + "seconds": "detik", + "minutes": "menit", + "kilobytes": "KB", + "files": "Files" + }, + "search": { + "placeholder": "Kondisi Filter", + "matchCase": "Cocokkan Kasus", + "matchWholeWord": "Cocokkan Kata Utuh", + "useRegex": "Gunakan Ekspresi Reguler", + "invalidRegex": "Invalid regular expression" + }, + "status": { + "enabled": "Diaktifkan", + "disabled": "Dinonaktifkan" + }, + "errors": { + "trafficStats": "Traffic Statistics Error", + "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." + }, + "states": { + "saving": "Saving..." } }, "navigation": { @@ -509,6 +517,14 @@ "systemInfo": "System Info Cards" } } + }, + "tests": { + "title": "Website Tests" + }, + "clashMode": { + "errors": { + "communication": "Core communication error" + } } }, "connection": { @@ -657,6 +673,9 @@ "saved": "Port settings saved", "saveFailed": "Failed to save port settings" } + }, + "notifications": { + "restartSuccess": "Core Clash Dimulai Ulang" } }, "liteMode": { @@ -814,7 +833,9 @@ "showProxyGroupsInline": "Show Proxy Groups Inline", "commonTrayIcon": "Ikon Tray Umum", "systemProxyTrayIcon": "Ikon Tray Proksi Sistem", - "tunTrayIcon": "Ikon Tray Tun" + "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", @@ -1028,6 +1049,34 @@ "telegram": "Saluran Telegram", "github": "Repositori Github" } + }, + "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" + }, + "password": { + "prompts": { + "enterRoot": "Harap masukkan kata sandi root Anda" + } + }, + "networkInterface": { + "title": "Antarmuka Jaringan", + "labels": { + "ipAddress": "Alamat IP", + "macAddress": "Alamat MAC" + } } }, "providers": { @@ -1114,6 +1163,9 @@ "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" } } }, @@ -1213,7 +1265,19 @@ "actions": { "testing": "Testing..." }, - "empty": "No unlock test items" + "empty": "No unlock test items", + "messages": { + "detectionTimeout": "Detection timeout or failed" + } + } + }, + "layout": { + "traffic": { + "labels": { + "uploadSpeed": "Kecepatan Unggah", + "downloadSpeed": "Kecepatan Unduh", + "memoryUsage": "Penggunaan Memori" + } } } } diff --git a/src/locales/jp.json b/src/locales/jp.json index 7ff6d4de..afc372e1 100644 --- a/src/locales/jp.json +++ b/src/locales/jp.json @@ -1,28 +1,12 @@ { - "millis": "ミリ秒", - "seconds": "秒", - "mins": "分", - "Close": "閉じる", - "Cancel": "キャンセル", - "Confirm": "確認", "Maximize": "最大化", "Minimize": "最小化", "Empty": "空っぽ", - "New": "新規作成", - "Edit": "編集", - "Save": "保存", - "Delete": "削除", - "Enable": "有効にする", "Proxies": "Proxies", - "Update At": "更新日時", "rule": "ルール", "global": "グローバル", "direct": "直接接続", - "timeout": "Timeout", "script": "スクリプト", - "Sort by default": "デフォルトでソート", - "Sort by delay": "遅延でソート", - "Sort by name": "名前でソート", "DOMAIN": "完全なドメイン名を一致させる", "DOMAIN-SUFFIX": "ドメインサフィックスを一致させる", "DOMAIN-KEYWORD": "ドメインキーワードを一致させる", @@ -67,51 +51,28 @@ "relay": "定義されたプロキシチェーンに沿って転送する", "Timeout": "タイムアウト時間", "Type": "タイプ", - "Name": "名前", "Close All Connections": "Close All Connections", "Rule": "ルール", - "Icon": "アイコン", - "Reset to Default": "デフォルト値にリセット", "TUN Mode automatically disabled due to service unavailable": "TUN Mode automatically disabled due to service unavailable", "Failed to disable TUN Mode automatically": "Failed to disable TUN Mode automatically", - "Core communication error": "Core communication error", "active": "アクティブ", "unknown": "不明", "Install": "インストール", "Uninstall": "アンインストール", "System Proxy": "システムプロキシ", - "Network Interface": "ネットワークインターフェース", - "Ip Address": "IPアドレス", - "Mac Address": "MACアドレス", - "Open URL": "URLを開く", - "Replace host, port, secret with %host, %port, %secret": "%host, %port, %secretを使用してホスト、ポート、アクセスキーを表します。", - "Support %host, %port, %secret": "%host, %port, %secretをサポートします。", - "Clash Core": "Clashコア", - "Upgrade": "コアをアップグレード", - "Restart": "コアを再起動", "Release Version": "正式版", "Alpha Version": "プレビュー版", - "Please enter your root password": "ルートパスワードを入力してください。", "theme.light": "ライト", "theme.dark": "ダーク", "theme.system": "システム", "Copy Success": "コピー成功", - "Hotkey Setting": "ホットキー設定", - "Enable Global Hotkey": "グローバルホットキーを有効にする", "open_or_close_dashboard": "ダッシュボードを開く/閉じる", "clash_mode_rule": "ルールモード", "clash_mode_global": "グローバルモード", - "clash_mode_direct": "直接接続モード", "toggle_system_proxy": "システムプロキシを開く/閉じる", "toggle_tun_mode": "TUNモードを開く/閉じる", "entry_lightweight_mode": "軽量モードに入る", - "Runtime Config": "現在の設定", "Exit": "終了", - "ReadOnly": "読み取り専用", - "Filter conditions": "フィルタリング条件", - "Match Case": "大文字小文字を区別する", - "Match Whole Word": "完全一致", - "Use Regular Expression": "正規表現を使用する", "Profile Imported Successfully": "プロファイルのインポートに成功しました。", "Stopping Core...": "コアを停止中...", "Restarting Core...": "コアを再起動中...", @@ -120,12 +81,9 @@ "Service Installed Successfully": "サービスのインストールに成功しました。", "Service Uninstalled Successfully": "サービスのアンインストールに成功しました。", "Core Version Updated": "コアバージョンが更新されました。", - "Clash Core Restarted": "Clashコアが再起動されました。", "Currently on the Latest Version": "現在は最新バージョンです。", "Import Subscription Successful": "サブスクリプションのインポートに成功しました。", - "Failed to fetch backup files": "バックアップファイルの取得に失敗しました。", "Profile": "プロファイル", - "Web UI": "Webインターフェース", "Dashboard": "ダッシュボード", "Restart App": "アプリケーションを再起動", "Restart Clash Core": "Clashコアを再起動", @@ -136,8 +94,6 @@ "Logs Dir": "ログディレクトリ", "Open Dir": "ディレクトリを開く", "More": "もっと見る", - "Enable Tray Speed": "トレイの速度表示を有効にする", - "Enable Tray Icon": "トレイアイコンを有効にする", "LightWeight Mode": "軽量モード", "Config Validation Failed": "プロファイル設定の検証に失敗しました。プロファイル設定ファイルを確認してください。変更は取り消されました。エラー詳細:", "Boot Config Validation Failed": "起動時のプロファイル設定の検証に失敗しました。デフォルト設定で起動しました。プロファイル設定ファイルを確認してください。エラー詳細:", @@ -159,7 +115,6 @@ "Merge File Key Error": "上書きファイルのキーエラーがあります。変更は取り消されました。", "Merge File Error": "上書きファイルにエラーがあります。変更は取り消されました。", "Service Administrator Prompt": "Clash Vergeはシステムサービスをインストールするために管理者権限が必要です。", - "Website Tests": "ウェブサイトテスト", "Update with Clash proxy successfully": "Clashプロキシを使用して更新に成功しました。", "Update failed even with Clash proxy": "Clashプロキシを使用しても更新に失敗しました。", "Profile Imported with Clash proxy": "Clashプロキシを使用してプロファイルのインポートに成功しました。", @@ -187,11 +142,8 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "Invalid regular expression": "Invalid regular expression", "Configuration saved successfully": "ランダム設定を保存完了", "Failed to save configuration": "Failed to save configuration", - "Saving...": "Saving...", - "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", "common": { @@ -202,6 +154,62 @@ "notices": { "raw": "{{message}}", "prefixedRaw": "{{prefix}} {{message}}" + }, + "actions": { + "cancel": "キャンセル", + "close": "閉じる", + "confirm": "確認", + "save": "保存", + "delete": "削除", + "edit": "編集", + "new": "新規作成", + "enable": "有効にする", + "upgrade": "コアをアップグレード", + "restart": "コアを再起動", + "resetToDefault": "デフォルト値にリセット", + "refresh": "更新", + "retry": "Retry", + "refreshPage": "Refresh Page", + "showDetails": "Show Details", + "hideDetails": "Hide Details" + }, + "labels": { + "updateAt": "更新日時", + "timeout": "Timeout", + "icon": "アイコン", + "name": "名前", + "readOnly": "読み取り専用", + "expireTime": "有効期限", + "updateTime": "更新時間", + "usedTotal": "使用済み / 合計", + "from": "から", + "password": "パスワード", + "retryAttempts": "Retry attempts" + }, + "units": { + "milliseconds": "ミリ秒", + "seconds": "秒", + "minutes": "分", + "kilobytes": "KB", + "files": "Files" + }, + "search": { + "placeholder": "フィルタリング条件", + "matchCase": "大文字小文字を区別する", + "matchWholeWord": "完全一致", + "useRegex": "正規表現を使用する", + "invalidRegex": "Invalid regular expression" + }, + "status": { + "enabled": "有効", + "disabled": "無効" + }, + "errors": { + "trafficStats": "Traffic Statistics Error", + "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." + }, + "states": { + "saving": "Saving..." } }, "navigation": { @@ -509,6 +517,14 @@ "systemInfo": "システム情報カード" } } + }, + "tests": { + "title": "ウェブサイトテスト" + }, + "clashMode": { + "errors": { + "communication": "Core communication error" + } } }, "connection": { @@ -657,6 +673,9 @@ "saved": "Port settings saved", "saveFailed": "Failed to save port settings" } + }, + "notifications": { + "restartSuccess": "Clashコアが再起動されました。" } }, "liteMode": { @@ -814,7 +833,9 @@ "showProxyGroupsInline": "Show Proxy Groups Inline", "commonTrayIcon": "通常のトレイアイコン", "systemProxyTrayIcon": "システムプロキシトレイアイコン", - "tunTrayIcon": "TUNモードトレイアイコン" + "tunTrayIcon": "TUNモードトレイアイコン", + "enableTrayIcon": "トレイアイコンを有効にする", + "enableTraySpeed": "トレイの速度表示を有効にする" }, "tooltips": { "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", @@ -1028,6 +1049,34 @@ "telegram": "Telegramチャンネル", "github": "GitHubリポジトリ" } + }, + "webUI": { + "actions": { + "openUrl": "URLを開く" + }, + "title": "Webインターフェース", + "messages": { + "supportedPlaceholders": "%host, %port, %secretをサポートします。", + "placeholderInstruction": "%host, %port, %secretを使用してホスト、ポート、アクセスキーを表します。" + } + }, + "hotkey": { + "toggles": { + "enableGlobal": "グローバルホットキーを有効にする" + }, + "title": "ホットキー設定" + }, + "password": { + "prompts": { + "enterRoot": "ルートパスワードを入力してください。" + } + }, + "networkInterface": { + "title": "ネットワークインターフェース", + "labels": { + "ipAddress": "IPアドレス", + "macAddress": "MACアドレス" + } } }, "providers": { @@ -1114,6 +1163,9 @@ "connectFailed": "Failed to connect to proxy chain", "disconnectFailed": "Failed to disconnect from proxy chain", "duplicateNode": "Proxy node already exists in chain" + }, + "messages": { + "directMode": "直接接続モード" } } }, @@ -1213,7 +1265,19 @@ "actions": { "testing": "テスト中..." }, - "empty": "アンロックテスト項目はありません" + "empty": "アンロックテスト項目はありません", + "messages": { + "detectionTimeout": "Detection timeout or failed" + } + } + }, + "layout": { + "traffic": { + "labels": { + "uploadSpeed": "アップロード速度", + "downloadSpeed": "ダウンロード速度", + "memoryUsage": "コアメモリ使用量" + } } } } diff --git a/src/locales/ko.json b/src/locales/ko.json index cd30ec51..8b5371fe 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -1,28 +1,12 @@ { - "millis": "밀리초", - "seconds": "초", - "mins": "분", - "Close": "닫기", - "Cancel": "취소", - "Confirm": "확인", "Maximize": "최대화", "Minimize": "최소화", "Empty": "비어있음", - "New": "새로 만들기", - "Edit": "편집", - "Save": "저장", - "Delete": "삭제", - "Enable": "활성화", "Proxies": "프록시", - "Update At": "업데이트 시간", "rule": "규칙", "global": "전역", "direct": "직접", - "timeout": "Timeout", "script": "스크립트", - "Sort by default": "기본값으로 정렬", - "Sort by delay": "지연시간으로 정렬", - "Sort by name": "이름으로 정렬", "DOMAIN": "전체 도메인 이름과 일치", "DOMAIN-SUFFIX": "도메인 접미사와 일치", "DOMAIN-KEYWORD": "도메인 키워드와 일치", @@ -67,51 +51,28 @@ "relay": "정의된 프록시 체인을 통과", "Timeout": "타임아웃", "Type": "유형", - "Name": "이름", "Close All Connections": "Close All Connections", "Rule": "규칙", - "Icon": "아이콘", - "Reset to Default": "Reset to Default", "TUN Mode automatically disabled due to service unavailable": "TUN Mode automatically disabled due to service unavailable", "Failed to disable TUN Mode automatically": "Failed to disable TUN Mode automatically", - "Core communication error": "Core communication error", "active": "active", "unknown": "unknown", "Install": "Install", "Uninstall": "Uninstall", "System Proxy": "시스템 프록시", - "Network Interface": "Network Interface", - "Ip Address": "IP Address", - "Mac Address": "MAC Address", - "Open URL": "Open URL", - "Replace host, port, secret with %host, %port, %secret": "Replace host, port, secret with %host, %port, %secret", - "Support %host, %port, %secret": "Support %host, %port, %secret", - "Clash Core": "Clash Core", - "Upgrade": "Upgrade", - "Restart": "Restart", "Release Version": "Release Version", "Alpha Version": "Alpha Version", - "Please enter your root password": "Please enter your root password", "theme.light": "Light", "theme.dark": "Dark", "theme.system": "System", "Copy Success": "복사 성공", - "Hotkey Setting": "단축키 설정", - "Enable Global Hotkey": "Enable Global Hotkey", "open_or_close_dashboard": "Open/Close Dashboard", "clash_mode_rule": "Rule Mode", "clash_mode_global": "Global Mode", - "clash_mode_direct": "Direct Mode", "toggle_system_proxy": "Enable/Disable System Proxy", "toggle_tun_mode": "Enable/Disable Tun Mode", "entry_lightweight_mode": "Entry Lightweight Mode", - "Runtime Config": "Runtime Config", "Exit": "Exit", - "ReadOnly": "ReadOnly", - "Filter conditions": "Filter conditions", - "Match Case": "Match Case", - "Match Whole Word": "Match Whole Word", - "Use Regular Expression": "Use Regular Expression", "Profile Imported Successfully": "Profile Imported Successfully", "Stopping Core...": "Stopping Core...", "Restarting Core...": "Restarting Core...", @@ -120,12 +81,9 @@ "Service Installed Successfully": "Service Installed Successfully", "Service Uninstalled Successfully": "Service Uninstalled Successfully", "Core Version Updated": "Core Version Updated", - "Clash Core Restarted": "Clash Core Restarted", "Currently on the Latest Version": "Currently on the Latest Version", "Import Subscription Successful": "구독 가져오기 성공", - "Failed to fetch backup files": "Failed to fetch backup files", "Profile": "Profile", - "Web UI": "Web UI", "Dashboard": "Dashboard", "Restart App": "Restart App", "Restart Clash Core": "Restart Clash Core", @@ -136,8 +94,6 @@ "Logs Dir": "Logs Dir", "Open Dir": "Open Dir", "More": "More", - "Enable Tray Speed": "Enable Tray Speed", - "Enable Tray Icon": "Enable Tray Icon", "LightWeight Mode": "Lightweight Mode", "Config Validation Failed": "설정 검증 실패", "Boot Config Validation Failed": "부팅 설정 검증 실패", @@ -159,7 +115,6 @@ "Merge File Key Error": "병합 파일 키 오류", "Merge File Error": "병합 파일 오류", "Service Administrator Prompt": "Clash Verge requires administrator privileges to reinstall the system service", - "Website Tests": "Website Tests", "Update with Clash proxy successfully": "Clash 프록시로 업데이트 성공", "Update failed even with Clash proxy": "Clash 프록시로도 업데이트 실패", "Profile Imported with Clash proxy": "Profile Imported with Clash proxy", @@ -187,11 +142,8 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "Invalid regular expression": "Invalid regular expression", "Configuration saved successfully": "Configuration saved successfully", "Failed to save configuration": "Failed to save configuration", - "Saving...": "Saving...", - "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", "common": { @@ -202,6 +154,62 @@ "notices": { "raw": "{{message}}", "prefixedRaw": "{{prefix}} {{message}}" + }, + "actions": { + "cancel": "취소", + "close": "닫기", + "confirm": "확인", + "save": "저장", + "delete": "삭제", + "edit": "편집", + "new": "새로 만들기", + "enable": "활성화", + "upgrade": "Upgrade", + "restart": "Restart", + "resetToDefault": "Reset to Default", + "refresh": "새로고침", + "retry": "Retry", + "refreshPage": "Refresh Page", + "showDetails": "Show Details", + "hideDetails": "Hide Details" + }, + "labels": { + "updateAt": "업데이트 시간", + "timeout": "Timeout", + "icon": "아이콘", + "name": "이름", + "readOnly": "ReadOnly", + "expireTime": "만료 시간", + "updateTime": "업데이트 시간", + "usedTotal": "사용됨 / 전체", + "from": "출처", + "password": "비밀번호", + "retryAttempts": "Retry attempts" + }, + "units": { + "milliseconds": "밀리초", + "seconds": "초", + "minutes": "분", + "kilobytes": "KB", + "files": "Files" + }, + "search": { + "placeholder": "Filter conditions", + "matchCase": "Match Case", + "matchWholeWord": "Match Whole Word", + "useRegex": "Use Regular Expression", + "invalidRegex": "Invalid regular expression" + }, + "status": { + "enabled": "Enabled", + "disabled": "Disabled" + }, + "errors": { + "trafficStats": "Traffic Statistics Error", + "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." + }, + "states": { + "saving": "Saving..." } }, "navigation": { @@ -509,6 +517,14 @@ "systemInfo": "System Info Cards" } } + }, + "tests": { + "title": "Website Tests" + }, + "clashMode": { + "errors": { + "communication": "Core communication error" + } } }, "connection": { @@ -657,6 +673,9 @@ "saved": "Port settings saved", "saveFailed": "Failed to save port settings" } + }, + "notifications": { + "restartSuccess": "Clash Core Restarted" } }, "liteMode": { @@ -814,7 +833,9 @@ "showProxyGroupsInline": "Show Proxy Groups Inline", "commonTrayIcon": "Common Tray Icon", "systemProxyTrayIcon": "System Proxy Tray Icon", - "tunTrayIcon": "Tun 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", @@ -1028,6 +1049,34 @@ "telegram": "Telegram Channel", "github": "Github Repo" } + }, + "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": "단축키 설정" + }, + "password": { + "prompts": { + "enterRoot": "Please enter your root password" + } + }, + "networkInterface": { + "title": "Network Interface", + "labels": { + "ipAddress": "IP Address", + "macAddress": "MAC Address" + } } }, "providers": { @@ -1114,6 +1163,9 @@ "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" } } }, @@ -1213,7 +1265,19 @@ "actions": { "testing": "테스트 중..." }, - "empty": "No unlock test items" + "empty": "No unlock test items", + "messages": { + "detectionTimeout": "Detection timeout or failed" + } + } + }, + "layout": { + "traffic": { + "labels": { + "uploadSpeed": "업로드 속도", + "downloadSpeed": "다운로드 속도", + "memoryUsage": "메모리 사용량" + } } } } diff --git a/src/locales/ru.json b/src/locales/ru.json index 9617969c..312ccf48 100644 --- a/src/locales/ru.json +++ b/src/locales/ru.json @@ -1,28 +1,12 @@ { - "millis": "миллисекунды", - "seconds": "секунды", - "mins": "минуты", - "Close": "Закрыть", - "Cancel": "Отмена", - "Confirm": "Подтвердить", "Maximize": "Развернуть", "Minimize": "Свернуть", "Empty": "Пусто", - "New": "Новый", - "Edit": "Редактировать", - "Save": "Сохранить", - "Delete": "Удалить", - "Enable": "Включить", "Proxies": "Прокси", - "Update At": "Обновлено в", "rule": "правила", "global": "глобальный", "direct": "прямой", - "timeout": "Тайм-аут", "script": "скриптовый", - "Sort by default": "Сортировать по умолчанию", - "Sort by delay": "Сортировать по задержке", - "Sort by name": "Сортировать по названию", "DOMAIN": "Соответствует полному доменному имени", "DOMAIN-SUFFIX": "Соответствует суффиксу домена", "DOMAIN-KEYWORD": "Соответствует ключевому слову домена", @@ -67,51 +51,28 @@ "relay": "Передача через определенную цепочку прокси", "Timeout": "Таймаут", "Type": "Тип", - "Name": "Название", "Close All Connections": "Close All Connections", "Rule": "Правило", - "Icon": "Иконка", - "Reset to Default": "Сбросить настройки", "TUN Mode automatically disabled due to service unavailable": "TUN Mode automatically disabled due to service unavailable", "Failed to disable TUN Mode automatically": "Failed to disable TUN Mode automatically", - "Core communication error": "Core communication error", "active": "Активированный", "unknown": "неизвестный", "Install": "Установить", "Uninstall": "Удалить", "System Proxy": "Системный прокси", - "Network Interface": "Сетевой интерфейс", - "Ip Address": "IP адрес", - "Mac Address": "MAC адрес", - "Open URL": "Перейти по адресу", - "Replace host, port, secret with %host, %port, %secret": "Замените хост, порт и секрет на %host, %port, %secret", - "Support %host, %port, %secret": "Поддерживаются %host, %port, %secret", - "Clash Core": "Ядро Clash", - "Upgrade": "Обновить", - "Restart": "Перезапустить", "Release Version": "Официальная версия", "Alpha Version": "Альфа-версия", - "Please enter your root password": "Пожалуйста, введите ваш пароль root", "theme.light": "Светлая", "theme.dark": "Тёмная", "theme.system": "Системная", "Copy Success": "Скопировано", - "Hotkey Setting": "Настройки сочетаний клавиш", - "Enable Global Hotkey": "Включить глобальную горячую клавишу", "open_or_close_dashboard": "Открыть/Закрыть панель управления", "clash_mode_rule": "Режим правил", "clash_mode_global": "Глобальный режим", - "clash_mode_direct": "Прямой режим", "toggle_system_proxy": "Включить/Отключить системный прокси", "toggle_tun_mode": "Включить/Отключить режим TUN", "entry_lightweight_mode": "Вход в LightWeight Mode", - "Runtime Config": "Используемый конфиг", "Exit": "Выход", - "ReadOnly": "Только для чтения", - "Filter conditions": "Условия фильтрации", - "Match Case": "Учитывать регистр", - "Match Whole Word": "Полное совпадение слова", - "Use Regular Expression": "Использовать регулярные выражения", "Profile Imported Successfully": "Профиль успешно импортирован", "Stopping Core...": "Stopping Core...", "Restarting Core...": "Restarting Core...", @@ -120,12 +81,9 @@ "Service Installed Successfully": "Служба успешно установлена", "Service Uninstalled Successfully": "Служба успешно удалена", "Core Version Updated": "Ядро обновлено до последней версии", - "Clash Core Restarted": "Ядро перезапущено", "Currently on the Latest Version": "Обновление не требуется", "Import Subscription Successful": "Подписка успешно импортирована", - "Failed to fetch backup files": "Не удалось получить файлы резервных копий", "Profile": "Профиль", - "Web UI": "Веб-интерфейс", "Dashboard": "Панель управления", "Restart App": "Перезапустить приложение", "Restart Clash Core": "Перезапустить ядро Clash", @@ -136,8 +94,6 @@ "Logs Dir": "Директория логов", "Open Dir": "Открыть директорию", "More": "Ещё", - "Enable Tray Speed": "Показывать скорость в трее", - "Enable Tray Icon": "Показывать значок в трее", "LightWeight Mode": "LightWeight Mode", "Config Validation Failed": "Ошибка проверки конфигурации подписки, проверьте файл конфигурации, изменения отменены, ошибка:", "Boot Config Validation Failed": "Ошибка проверки конфигурации при запуске, используется конфигурация по умолчанию, проверьте файл конфигурации, ошибка:", @@ -159,7 +115,6 @@ "Merge File Key Error": "Ошибка ключа в Merge File, откат изменений", "Merge File Error": "Ошибка Merge File, откат изменений", "Service Administrator Prompt": "Clash Verge требует прав администратора для переустановки системной службы", - "Website Tests": "Проверка доступности веб-сайтов", "Update with Clash proxy successfully": "Update with Clash proxy successfully", "Update failed even with Clash proxy": "Update failed even with Clash proxy", "Profile Imported with Clash proxy": "Profile Imported with Clash proxy", @@ -187,11 +142,8 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "Invalid regular expression": "Invalid regular expression", "Configuration saved successfully": "Configuration saved successfully", "Failed to save configuration": "Failed to save configuration", - "Saving...": "Saving...", - "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", "common": { @@ -202,6 +154,62 @@ "notices": { "raw": "{{message}}", "prefixedRaw": "{{prefix}} {{message}}" + }, + "actions": { + "cancel": "Отмена", + "close": "Закрыть", + "confirm": "Подтвердить", + "save": "Сохранить", + "delete": "Удалить", + "edit": "Редактировать", + "new": "Новый", + "enable": "Включить", + "upgrade": "Обновить", + "restart": "Перезапустить", + "resetToDefault": "Сбросить настройки", + "refresh": "Обновить", + "retry": "Retry", + "refreshPage": "Refresh Page", + "showDetails": "Show Details", + "hideDetails": "Hide Details" + }, + "labels": { + "updateAt": "Обновлено в", + "timeout": "Тайм-аут", + "icon": "Иконка", + "name": "Название", + "readOnly": "Только для чтения", + "expireTime": "Время окончания", + "updateTime": "Время обновления", + "usedTotal": "Использовано / Всего", + "from": "От", + "password": "Пароль", + "retryAttempts": "Retry attempts" + }, + "units": { + "milliseconds": "миллисекунды", + "seconds": "секунды", + "minutes": "минуты", + "kilobytes": "KB", + "files": "Files" + }, + "search": { + "placeholder": "Условия фильтрации", + "matchCase": "Учитывать регистр", + "matchWholeWord": "Полное совпадение слова", + "useRegex": "Использовать регулярные выражения", + "invalidRegex": "Invalid regular expression" + }, + "status": { + "enabled": "Включено", + "disabled": "Отключено" + }, + "errors": { + "trafficStats": "Traffic Statistics Error", + "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." + }, + "states": { + "saving": "Saving..." } }, "navigation": { @@ -509,6 +517,14 @@ "systemInfo": "Информация о системе" } } + }, + "tests": { + "title": "Проверка доступности веб-сайтов" + }, + "clashMode": { + "errors": { + "communication": "Core communication error" + } } }, "connection": { @@ -657,6 +673,9 @@ "saved": "Port settings saved", "saveFailed": "Failed to save port settings" } + }, + "notifications": { + "restartSuccess": "Ядро перезапущено" } }, "liteMode": { @@ -814,7 +833,9 @@ "showProxyGroupsInline": "Show Proxy Groups Inline", "commonTrayIcon": "Общий значок в трее", "systemProxyTrayIcon": "Значок системного прокси в трее", - "tunTrayIcon": "Значок TUN в трее" + "tunTrayIcon": "Значок TUN в трее", + "enableTrayIcon": "Показывать значок в трее", + "enableTraySpeed": "Показывать скорость в трее" }, "tooltips": { "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", @@ -1028,6 +1049,34 @@ "telegram": "Telegram-канал", "github": "GitHub репозиторий" } + }, + "webUI": { + "actions": { + "openUrl": "Перейти по адресу" + }, + "title": "Веб-интерфейс", + "messages": { + "supportedPlaceholders": "Поддерживаются %host, %port, %secret", + "placeholderInstruction": "Замените хост, порт и секрет на %host, %port, %secret" + } + }, + "hotkey": { + "toggles": { + "enableGlobal": "Включить глобальную горячую клавишу" + }, + "title": "Настройки сочетаний клавиш" + }, + "password": { + "prompts": { + "enterRoot": "Пожалуйста, введите ваш пароль root" + } + }, + "networkInterface": { + "title": "Сетевой интерфейс", + "labels": { + "ipAddress": "IP адрес", + "macAddress": "MAC адрес" + } } }, "providers": { @@ -1114,6 +1163,9 @@ "connectFailed": "Failed to connect to proxy chain", "disconnectFailed": "Failed to disconnect from proxy chain", "duplicateNode": "Proxy node already exists in chain" + }, + "messages": { + "directMode": "Прямой режим" } } }, @@ -1213,7 +1265,19 @@ "actions": { "testing": "Тестирование ..." }, - "empty": "No unlock test items" + "empty": "No unlock test items", + "messages": { + "detectionTimeout": "Detection timeout or failed" + } + } + }, + "layout": { + "traffic": { + "labels": { + "uploadSpeed": "Скорость загрузки", + "downloadSpeed": "Скорость скачивания", + "memoryUsage": "Использование памяти" + } } } } diff --git a/src/locales/tr.json b/src/locales/tr.json index bf43d9c8..e033aa98 100644 --- a/src/locales/tr.json +++ b/src/locales/tr.json @@ -1,28 +1,12 @@ { - "millis": "ms", - "seconds": "saniye", - "mins": "dakika", - "Close": "Kapat", - "Cancel": "İptal", - "Confirm": "Onayla", "Maximize": "Büyüt", "Minimize": "Küçült", "Empty": "Boş", - "New": "Yeni", - "Edit": "Düzenle", - "Save": "Kaydet", - "Delete": "Sil", - "Enable": "Etkinleştir", "Proxies": "Vekil'ler", - "Update At": "Güncelleme Zamanı", "rule": "kural", "global": "küresel", "direct": "doğrudan", - "timeout": "Timeout", "script": "betik", - "Sort by default": "Varsayılana göre sırala", - "Sort by delay": "Gecikmeye göre sırala", - "Sort by name": "İsme göre sırala", "DOMAIN": "Tam alan adıyla eşleşir", "DOMAIN-SUFFIX": "Alan adı sonekiyle eşleşir", "DOMAIN-KEYWORD": "Alan adı anahtar kelimesiyle eşleşir", @@ -67,51 +51,28 @@ "relay": "Tanımlanan vekil zincirinden geçirin", "Timeout": "Zaman Aşımı", "Type": "Tip", - "Name": "İsim", "Close All Connections": "Close All Connections", "Rule": "Kural", - "Icon": "Simge", - "Reset to Default": "Varsayılana Sıfırla", "TUN Mode automatically disabled due to service unavailable": "TUN Mode automatically disabled due to service unavailable", "Failed to disable TUN Mode automatically": "Failed to disable TUN Mode automatically", - "Core communication error": "Core communication error", "active": "aktif", "unknown": "bilinmiyor", "Install": "Kur", "Uninstall": "Kaldır", "System Proxy": "Sistem Vekil'i", - "Network Interface": "Ağ Arayüzü", - "Ip Address": "IP Adresi", - "Mac Address": "MAC Adresi", - "Open URL": "URL Aç", - "Replace host, port, secret with %host, %port, %secret": "Ana bilgisayar, port, sırrı %host, %port, %secret ile değiştirin", - "Support %host, %port, %secret": "%host, %port, %secret destekler", - "Clash Core": "Clash Çekirdeği", - "Upgrade": "Yükselt", - "Restart": "Yeniden Başlat", "Release Version": "Sürüm Versiyonu", "Alpha Version": "Alfa Versiyonu", - "Please enter your root password": "Lütfen root şifrenizi girin", "theme.light": "Açık", "theme.dark": "Koyu", "theme.system": "Sistem", "Copy Success": "Kopyalama Başarılı", - "Hotkey Setting": "Kısayol Tuşu Ayarı", - "Enable Global Hotkey": "Küresel Kısayol Tuşunu Etkinleştir", "open_or_close_dashboard": "Kontrol Panelini Aç/Kapat", "clash_mode_rule": "Kural Modu", "clash_mode_global": "Küresel Mod", - "clash_mode_direct": "Doğrudan Mod", "toggle_system_proxy": "Sistem Vekil'ini Etkinleştir/Devre Dışı Bırak", "toggle_tun_mode": "Tun Modunu Etkinleştir/Devre Dışı Bırak", "entry_lightweight_mode": "Hafif Moda Gir", - "Runtime Config": "Çalışma Zamanı Yapılandırması", "Exit": "Çıkış", - "ReadOnly": "Salt Okunur", - "Filter conditions": "Filtre koşulları", - "Match Case": "Büyük/Küçük Harf Eşleştir", - "Match Whole Word": "Tam Kelime Eşleştir", - "Use Regular Expression": "Düzenli İfade Kullan", "Profile Imported Successfully": "Profil Başarıyla İçe Aktarıldı", "Stopping Core...": "Stopping Core...", "Restarting Core...": "Restarting Core...", @@ -120,12 +81,9 @@ "Service Installed Successfully": "Hizmet Başarıyla Kuruldu", "Service Uninstalled Successfully": "Hizmet Başarıyla Kaldırıldı", "Core Version Updated": "Çekirdek Sürümü Güncellendi", - "Clash Core Restarted": "Clash Çekirdeği Yeniden Başlatıldı", "Currently on the Latest Version": "Şu Anda En Son Sürümdesiniz", "Import Subscription Successful": "Abonelik içe aktarımı başarılı", - "Failed to fetch backup files": "Yedek dosyaları alınamadı", "Profile": "Profil", - "Web UI": "Web Arayüzü", "Dashboard": "Kontrol Paneli", "Restart App": "Uygulamayı Yeniden Başlat", "Restart Clash Core": "Clash Çekirdeğini Yeniden Başlat", @@ -136,8 +94,6 @@ "Logs Dir": "Günlük Dizini", "Open Dir": "Dizin Aç", "More": "Daha Fazla", - "Enable Tray Speed": "Tepsi Hızını Etkinleştir", - "Enable Tray Icon": "Tepsi Simgesini Etkinleştir", "LightWeight Mode": "Hafif Mod", "Config Validation Failed": "Abonelik yapılandırması doğrulaması başarısız oldu. Lütfen abonelik yapılandırma dosyasını kontrol edin; değişiklikler geri alındı.", "Boot Config Validation Failed": "Başlangıç abonelik yapılandırması doğrulaması başarısız oldu. Varsayılan yapılandırma ile başlatıldı; lütfen abonelik yapılandırma dosyasını kontrol edin.", @@ -159,7 +115,6 @@ "Merge File Key Error": "Birleştirme dosyası anahtar hatası, değişiklikler geri alındı", "Merge File Error": "Birleştirme dosyası hatası, değişiklikler geri alındı", "Service Administrator Prompt": "Clash Verge sistem hizmetini yeniden kurmak için yönetici ayrıcalıkları gerektiriyor", - "Website Tests": "Web Sitesi Testleri", "Update with Clash proxy successfully": "Clash vekil ile güncelleme başarılı", "Update failed even with Clash proxy": "Clash vekil ile bile güncelleme başarısız oldu", "Profile Imported with Clash proxy": "Profil Clash vekil ile içe aktarıldı", @@ -187,11 +142,8 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "Invalid regular expression": "Invalid regular expression", "Configuration saved successfully": "Configuration saved successfully", "Failed to save configuration": "Failed to save configuration", - "Saving...": "Saving...", - "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", "common": { @@ -202,6 +154,62 @@ "notices": { "raw": "{{message}}", "prefixedRaw": "{{prefix}} {{message}}" + }, + "actions": { + "cancel": "İptal", + "close": "Kapat", + "confirm": "Onayla", + "save": "Kaydet", + "delete": "Sil", + "edit": "Düzenle", + "new": "Yeni", + "enable": "Etkinleştir", + "upgrade": "Yükselt", + "restart": "Yeniden Başlat", + "resetToDefault": "Varsayılana Sıfırla", + "refresh": "Yenile", + "retry": "Retry", + "refreshPage": "Refresh Page", + "showDetails": "Show Details", + "hideDetails": "Hide Details" + }, + "labels": { + "updateAt": "Güncelleme Zamanı", + "timeout": "Timeout", + "icon": "Simge", + "name": "İsim", + "readOnly": "Salt Okunur", + "expireTime": "Sona Erme Zamanı", + "updateTime": "Güncelleme Zamanı", + "usedTotal": "Kullanılan / Toplam", + "from": "Kaynak", + "password": "Şifre", + "retryAttempts": "Retry attempts" + }, + "units": { + "milliseconds": "ms", + "seconds": "saniye", + "minutes": "dakika", + "kilobytes": "KB", + "files": "Files" + }, + "search": { + "placeholder": "Filtre koşulları", + "matchCase": "Büyük/Küçük Harf Eşleştir", + "matchWholeWord": "Tam Kelime Eşleştir", + "useRegex": "Düzenli İfade Kullan", + "invalidRegex": "Invalid regular expression" + }, + "status": { + "enabled": "Etkin", + "disabled": "Devre Dışı" + }, + "errors": { + "trafficStats": "Traffic Statistics Error", + "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." + }, + "states": { + "saving": "Saving..." } }, "navigation": { @@ -509,6 +517,14 @@ "systemInfo": "Sistem Bilgi Kartları" } } + }, + "tests": { + "title": "Web Sitesi Testleri" + }, + "clashMode": { + "errors": { + "communication": "Core communication error" + } } }, "connection": { @@ -657,6 +673,9 @@ "saved": "Port settings saved", "saveFailed": "Failed to save port settings" } + }, + "notifications": { + "restartSuccess": "Clash Çekirdeği Yeniden Başlatıldı" } }, "liteMode": { @@ -814,7 +833,9 @@ "showProxyGroupsInline": "Show Proxy Groups Inline", "commonTrayIcon": "Genel Tepsi Simgesi", "systemProxyTrayIcon": "Sistem Vekil Tepsi Simgesi", - "tunTrayIcon": "Tun Tepsi Simgesi" + "tunTrayIcon": "Tun Tepsi Simgesi", + "enableTrayIcon": "Tepsi Simgesini Etkinleştir", + "enableTraySpeed": "Tepsi Hızını Etkinleştir" }, "tooltips": { "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", @@ -1028,6 +1049,34 @@ "telegram": "Telegram Kanalı", "github": "Github Repo" } + }, + "webUI": { + "actions": { + "openUrl": "URL Aç" + }, + "title": "Web Arayüzü", + "messages": { + "supportedPlaceholders": "%host, %port, %secret destekler", + "placeholderInstruction": "Ana bilgisayar, port, sırrı %host, %port, %secret ile değiştirin" + } + }, + "hotkey": { + "toggles": { + "enableGlobal": "Küresel Kısayol Tuşunu Etkinleştir" + }, + "title": "Kısayol Tuşu Ayarı" + }, + "password": { + "prompts": { + "enterRoot": "Lütfen root şifrenizi girin" + } + }, + "networkInterface": { + "title": "Ağ Arayüzü", + "labels": { + "ipAddress": "IP Adresi", + "macAddress": "MAC Adresi" + } } }, "providers": { @@ -1114,6 +1163,9 @@ "connectFailed": "Failed to connect to proxy chain", "disconnectFailed": "Failed to disconnect from proxy chain", "duplicateNode": "Proxy node already exists in chain" + }, + "messages": { + "directMode": "Doğrudan Mod" } } }, @@ -1213,7 +1265,19 @@ "actions": { "testing": "Test Ediliyor..." }, - "empty": "No unlock test items" + "empty": "No unlock test items", + "messages": { + "detectionTimeout": "Detection timeout or failed" + } + } + }, + "layout": { + "traffic": { + "labels": { + "uploadSpeed": "Yükleme Hızı", + "downloadSpeed": "İndirme Hızı", + "memoryUsage": "Çekirdek Kullanımı" + } } } } diff --git a/src/locales/tt.json b/src/locales/tt.json index 404b513c..7ccb338f 100644 --- a/src/locales/tt.json +++ b/src/locales/tt.json @@ -1,28 +1,12 @@ { - "millis": "Миллисекундлар", - "seconds": "Секундлар", - "mins": "Минутлар", - "Close": "Ябу", - "Cancel": "Баш тарту", - "Confirm": "Растау", "Maximize": "Зурайту", "Minimize": "Кечерәйтү", "Empty": "Буш", - "New": "Яңа", - "Edit": "Үзгәртү", - "Save": "Саклау", - "Delete": "Бетерү", - "Enable": "Кушу", "Proxies": "Прокси", - "Update At": "Яңартылган вакыт", "rule": "кагыйдә", "global": "глобаль", "direct": "туры", - "timeout": "Timeout", "script": "скриптлы", - "Sort by default": "Башлангыч итеп сортлау", - "Sort by delay": "Задержка буенча сортлау", - "Sort by name": "Исем буенча сортлау", "DOMAIN": "Домен исеменең тулы туры килүе", "DOMAIN-SUFFIX": "Домен суффиксына туры килү", "DOMAIN-KEYWORD": "Доменда төп сүзгә туры килү", @@ -67,51 +51,28 @@ "relay": "Билгеле прокси чылбыры аша тапшыру", "Timeout": "Таймаут", "Type": "Төр", - "Name": "Исем", "Close All Connections": "Close All Connections", "Rule": "Кагыйдә", - "Icon": "Иконка", - "Reset to Default": "Башлангычка кайтару", "TUN Mode automatically disabled due to service unavailable": "TUN Mode automatically disabled due to service unavailable", "Failed to disable TUN Mode automatically": "Failed to disable TUN Mode automatically", - "Core communication error": "Core communication error", "active": "Актив", "unknown": "Билгесез", "Install": "Урнаштыру", "Uninstall": "Салдыру", "System Proxy": "Системалы прокси", - "Network Interface": "Челтәр интерфейсы", - "Ip Address": "IP адресы", - "Mac Address": "MAC адресы", - "Open URL": "URL ачарга", - "Replace host, port, secret with %host, %port, %secret": "Хост, порт, серсүзне %host, %port, %secret белән алмаштырыгыз", - "Support %host, %port, %secret": "%host, %port, %secret макросларын хуплау", - "Clash Core": "Clash ядросы", - "Upgrade": "Яңарту", - "Restart": "Перезапуск", "Release Version": "Рәсми версия", "Alpha Version": "Альфа-версия", - "Please enter your root password": "root паролен языгыз", "theme.light": "Якты", "theme.dark": "Караңгы", "theme.system": "Система", "Copy Success": "Күчерелде", - "Hotkey Setting": "Клавиатура төймәләре (hotkey) көйләүләре", - "Enable Global Hotkey": "Глобаль Хоткейны кушу", "open_or_close_dashboard": "Панельне ачу/ябу", "clash_mode_rule": "Кагыйдәләр режимы", "clash_mode_global": "Глобаль режим", - "clash_mode_direct": "Туры режим", "toggle_system_proxy": "Системалы проксины кабызу/сүндерү", "toggle_tun_mode": "Tun режимын кабызу/сүндерү", "entry_lightweight_mode": "Entry Lightweight Mode", - "Runtime Config": "Агымдагы конфигурация", "Exit": "Чыгу", - "ReadOnly": "Уку режимы гына", - "Filter conditions": "Фильтр шартлары", - "Match Case": "Регистрны исәпкә алу", - "Match Whole Word": "Сүзнең тулы туры килүе", - "Use Regular Expression": "Регуляр выражениеләр куллану", "Profile Imported Successfully": "Профиль уңышлы импортланды", "Stopping Core...": "Stopping Core...", "Restarting Core...": "Restarting Core...", @@ -120,12 +81,9 @@ "Service Installed Successfully": "Сервис уңышлы урнаштырылды", "Service Uninstalled Successfully": "Сервис уңышлы салдырылды", "Core Version Updated": "Ядро версиясе яңартылды", - "Clash Core Restarted": "Clash ядросы яңадан башланды", "Currently on the Latest Version": "Сездә иң соңгы версия урнаштырылган", "Import Subscription Successful": "Import subscription successful", - "Failed to fetch backup files": "Резерв копия файлларын алуда хата", "Profile": "Профиль", - "Web UI": "Веб-интерфейс", "Dashboard": "Панель", "Restart App": "Кушымтаны яңадан ачу", "Restart Clash Core": "Clash ядрони яңадан башлап ачу", @@ -136,8 +94,6 @@ "Logs Dir": "Логлар папкасы", "Open Dir": "Папканы ачу", "More": "Башҡа", - "Enable Tray Speed": "Трей скоростьне үстерү", - "Enable Tray Icon": "Enable Tray Icon", "LightWeight Mode": "Җиңел Режим", "Config Validation Failed": "Язылу көйләү тикшерүе уңышсыз, көйләү файлын тикшерегез, үзгәрешләр кире кайтарылды, хата:", "Boot Config Validation Failed": "Йөкләү вакытында көйләү тикшерүе уңышсыз, стандарт көйләү кулланылды, көйләү файлын тикшерегез, хата:", @@ -159,7 +115,6 @@ "Merge File Key Error": "Merge file key error, changes reverted", "Merge File Error": "Merge file error, changes reverted", "Service Administrator Prompt": "Clash Verge система хезмәтен яңадан урнаштыру өчен администратор хокукларын таләп итә", - "Website Tests": "Website Tests", "Update with Clash proxy successfully": "Update with Clash proxy successfully", "Update failed even with Clash proxy": "Update failed even with Clash proxy", "Profile Imported with Clash proxy": "Profile Imported with Clash proxy", @@ -187,11 +142,8 @@ "AppQuitBody": "APP quit by hotkey", "AppHiddenTitle": "APP Hidden", "AppHiddenBody": "APP window hidden by hotkey", - "Invalid regular expression": "Invalid regular expression", "Configuration saved successfully": "Configuration saved successfully", "Failed to save configuration": "Failed to save configuration", - "Saving...": "Saving...", - "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", "common": { @@ -202,6 +154,62 @@ "notices": { "raw": "{{message}}", "prefixedRaw": "{{prefix}} {{message}}" + }, + "actions": { + "cancel": "Баш тарту", + "close": "Ябу", + "confirm": "Растау", + "save": "Саклау", + "delete": "Бетерү", + "edit": "Үзгәртү", + "new": "Яңа", + "enable": "Кушу", + "upgrade": "Яңарту", + "restart": "Перезапуск", + "resetToDefault": "Башлангычка кайтару", + "refresh": "Яңарту", + "retry": "Retry", + "refreshPage": "Refresh Page", + "showDetails": "Show Details", + "hideDetails": "Hide Details" + }, + "labels": { + "updateAt": "Яңартылган вакыт", + "timeout": "Timeout", + "icon": "Иконка", + "name": "Исем", + "readOnly": "Уку режимы гына", + "expireTime": "Тамамлану вакыты", + "updateTime": "Яңарту вакыты", + "usedTotal": "Кулланылган / Барлыгы", + "from": "Каян", + "password": "Пароль", + "retryAttempts": "Retry attempts" + }, + "units": { + "milliseconds": "Миллисекундлар", + "seconds": "Секундлар", + "minutes": "Минутлар", + "kilobytes": "KB", + "files": "Files" + }, + "search": { + "placeholder": "Фильтр шартлары", + "matchCase": "Регистрны исәпкә алу", + "matchWholeWord": "Сүзнең тулы туры килүе", + "useRegex": "Регуляр выражениеләр куллану", + "invalidRegex": "Invalid regular expression" + }, + "status": { + "enabled": "Кушылган", + "disabled": "Сүнгән" + }, + "errors": { + "trafficStats": "Traffic Statistics Error", + "trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes." + }, + "states": { + "saving": "Saving..." } }, "navigation": { @@ -509,6 +517,14 @@ "systemInfo": "System Info Cards" } } + }, + "tests": { + "title": "Website Tests" + }, + "clashMode": { + "errors": { + "communication": "Core communication error" + } } }, "connection": { @@ -657,6 +673,9 @@ "saved": "Port settings saved", "saveFailed": "Failed to save port settings" } + }, + "notifications": { + "restartSuccess": "Clash ядросы яңадан башланды" } }, "liteMode": { @@ -814,7 +833,9 @@ "showProxyGroupsInline": "Show Proxy Groups Inline", "commonTrayIcon": "Гомуми трей иконкасы", "systemProxyTrayIcon": "Системалы прокси иконкасы", - "tunTrayIcon": "Tun (виртуаль адаптер) иконкасы" + "tunTrayIcon": "Tun (виртуаль адаптер) иконкасы", + "enableTrayIcon": "Enable Tray Icon", + "enableTraySpeed": "Трей скоростьне үстерү" }, "tooltips": { "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", @@ -1028,6 +1049,34 @@ "telegram": "Telegram каналы", "github": "GitHub репозиториясе" } + }, + "webUI": { + "actions": { + "openUrl": "URL ачарга" + }, + "title": "Веб-интерфейс", + "messages": { + "supportedPlaceholders": "%host, %port, %secret макросларын хуплау", + "placeholderInstruction": "Хост, порт, серсүзне %host, %port, %secret белән алмаштырыгыз" + } + }, + "hotkey": { + "toggles": { + "enableGlobal": "Глобаль Хоткейны кушу" + }, + "title": "Клавиатура төймәләре (hotkey) көйләүләре" + }, + "password": { + "prompts": { + "enterRoot": "root паролен языгыз" + } + }, + "networkInterface": { + "title": "Челтәр интерфейсы", + "labels": { + "ipAddress": "IP адресы", + "macAddress": "MAC адресы" + } } }, "providers": { @@ -1114,6 +1163,9 @@ "connectFailed": "Failed to connect to proxy chain", "disconnectFailed": "Failed to disconnect from proxy chain", "duplicateNode": "Proxy node already exists in chain" + }, + "messages": { + "directMode": "Туры режим" } } }, @@ -1213,7 +1265,19 @@ "actions": { "testing": "Testing..." }, - "empty": "No unlock test items" + "empty": "No unlock test items", + "messages": { + "detectionTimeout": "Detection timeout or failed" + } + } + }, + "layout": { + "traffic": { + "labels": { + "uploadSpeed": "Йөкләү (чыгару) тизлеге", + "downloadSpeed": "Йөкләү тизлеге", + "memoryUsage": "Хәтер куллану" + } } } } diff --git a/src/locales/zh.json b/src/locales/zh.json index 22b2aaad..18651322 100644 --- a/src/locales/zh.json +++ b/src/locales/zh.json @@ -1,28 +1,12 @@ { - "millis": "毫秒", - "seconds": "秒", - "mins": "分钟", - "Close": "关闭", - "Cancel": "取消", - "Confirm": "确认", "Maximize": "最大化", "Minimize": "最小化", "Empty": "空空如也", - "New": "新建", - "Edit": "编辑", - "Save": "保存", - "Delete": "删除", - "Enable": "启用", "Proxies": "代理", - "Update At": "更新于", "rule": "规则", "global": "全局", "direct": "直连", - "timeout": "超时", "script": "脚本", - "Sort by default": "默认排序", - "Sort by delay": "按延迟排序", - "Sort by name": "按名称排序", "DOMAIN": "匹配完整域名", "DOMAIN-SUFFIX": "匹配域名后缀", "DOMAIN-KEYWORD": "匹配域名关键字", @@ -67,51 +51,28 @@ "relay": "根据定义的代理链传递", "Timeout": "超时时间", "Type": "类型", - "Name": "名称", "Close All Connections": "关闭所有连接", "Rule": "规则", - "Icon": "图标", - "Reset to Default": "重置为默认值", "TUN Mode automatically disabled due to service unavailable": "由于服务不可用,TUN 模式已自动关闭", "Failed to disable TUN Mode automatically": "自动关闭 TUN 模式失败", - "Core communication error": "内核通信错误", "active": "已激活", "unknown": "未知", "Install": "安装", "Uninstall": "卸载", "System Proxy": "系统代理", - "Network Interface": "网络接口", - "Ip Address": "IP 地址", - "Mac Address": "MAC 地址", - "Open URL": "打开链接", - "Replace host, port, secret with %host, %port, %secret": "使用 %host, %port, %secret 表示 主机, 端口, 访问密钥", - "Support %host, %port, %secret": "支持 %host, %port, %secret", - "Clash Core": "Clash 内核", - "Upgrade": "升级内核", - "Restart": "重启内核", "Release Version": "正式版", "Alpha Version": "预览版", - "Please enter your root password": "请输入您的 root 密码", "theme.light": "浅色", "theme.dark": "深色", "theme.system": "系统", "Copy Success": "复制成功", - "Hotkey Setting": "热键设置", - "Enable Global Hotkey": "启用全局热键", "open_or_close_dashboard": "打开/关闭面板", "clash_mode_rule": "规则模式", "clash_mode_global": "全局模式", - "clash_mode_direct": "直连模式", "toggle_system_proxy": "打开/关闭系统代理", "toggle_tun_mode": "打开/关闭 TUN 模式", "entry_lightweight_mode": "进入轻量模式", - "Runtime Config": "当前配置", "Exit": "退出", - "ReadOnly": "只读", - "Filter conditions": "过滤条件", - "Match Case": "区分大小写", - "Match Whole Word": "全字匹配", - "Use Regular Expression": "使用正则表达式", "Profile Imported Successfully": "导入订阅成功", "Stopping Core...": "停止内核中...", "Restarting Core...": "重启内核中...", @@ -120,12 +81,9 @@ "Service Installed Successfully": "已成功安装服务", "Service Uninstalled Successfully": "已成功卸载服务", "Core Version Updated": "内核版本已更新", - "Clash Core Restarted": "已重启 Clash 内核", "Currently on the Latest Version": "当前已是最新版本", "Import Subscription Successful": "导入订阅成功", - "Failed to fetch backup files": "获取备份文件失败", "Profile": "配置", - "Web UI": "网页界面", "Dashboard": "仪表板", "Restart App": "重启应用", "Restart Clash Core": "重启 Clash 核心", @@ -136,8 +94,6 @@ "Logs Dir": "日志目录", "Open Dir": "打开目录", "More": "更多", - "Enable Tray Speed": "启用托盘速率", - "Enable Tray Icon": "启用托盘图标", "LightWeight Mode": "轻量模式", "Config Validation Failed": "订阅配置校验失败,请检查订阅配置文件,变更已撤销,错误详情:", "Boot Config Validation Failed": "启动订阅配置校验失败,已使用默认配置启动;请检查订阅配置文件,错误详情:", @@ -159,7 +115,6 @@ "Merge File Key Error": "覆写文件键错误,变更已撤销", "Merge File Error": "覆写文件错误,变更已撤销", "Service Administrator Prompt": "Clash Verge 需要管理员权限安装系统服务", - "Website Tests": "网站测试", "Update with Clash proxy successfully": "使用 Clash 代理更新成功", "Update failed even with Clash proxy": "使用 Clash 代理更新也失败", "Profile Imported with Clash proxy": "使用 Clash 代理导入订阅成功", @@ -187,11 +142,8 @@ "AppQuitBody": "已通过快捷键退出应用", "AppHiddenTitle": "应用隐藏", "AppHiddenBody": "已通过快捷键隐藏应用窗口", - "Invalid regular expression": "无效的正则表达式", "Configuration saved successfully": "配置保存成功", "Failed to save configuration": "配置保存失败", - "Saving...": "保存中...", - "Detection timeout or failed": "检测超时或失败", "Open App Log": "应用日志", "Open Core Log": "内核日志", "common": { @@ -202,6 +154,62 @@ "notices": { "raw": "{{message}}", "prefixedRaw": "{{prefix}} {{message}}" + }, + "actions": { + "cancel": "取消", + "close": "关闭", + "confirm": "确认", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "new": "新建", + "enable": "启用", + "upgrade": "升级内核", + "restart": "重启内核", + "resetToDefault": "重置为默认值", + "refresh": "刷新", + "retry": "重试", + "refreshPage": "刷新页面", + "showDetails": "显示详情", + "hideDetails": "隐藏详情" + }, + "labels": { + "updateAt": "更新于", + "timeout": "超时", + "icon": "图标", + "name": "名称", + "readOnly": "只读", + "expireTime": "到期时间", + "updateTime": "更新时间", + "usedTotal": "已使用 / 总量", + "from": "来自", + "password": "密码", + "retryAttempts": "重试次数" + }, + "units": { + "milliseconds": "毫秒", + "seconds": "秒", + "minutes": "分钟", + "kilobytes": "KB", + "files": "文件" + }, + "search": { + "placeholder": "过滤条件", + "matchCase": "区分大小写", + "matchWholeWord": "全字匹配", + "useRegex": "使用正则表达式", + "invalidRegex": "无效的正则表达式" + }, + "status": { + "enabled": "已启用", + "disabled": "未启用" + }, + "errors": { + "trafficStats": "流量统计错误", + "trafficStatsDescription": "流量统计组件发生错误,为防止崩溃已暂时停用。" + }, + "states": { + "saving": "保存中..." } }, "navigation": { @@ -509,6 +517,14 @@ "systemInfo": "系统信息卡" } } + }, + "tests": { + "title": "网站测试" + }, + "clashMode": { + "errors": { + "communication": "内核通信错误" + } } }, "connection": { @@ -657,6 +673,9 @@ "saved": "端口设置已保存", "saveFailed": "端口设置保存失败" } + }, + "notifications": { + "restartSuccess": "已重启 Clash 内核" } }, "liteMode": { @@ -814,7 +833,9 @@ "showProxyGroupsInline": "将代理组显示在托盘一级菜单", "commonTrayIcon": "常规托盘图标", "systemProxyTrayIcon": "系统代理托盘图标", - "tunTrayIcon": "TUN 模式托盘图标" + "tunTrayIcon": "TUN 模式托盘图标", + "enableTrayIcon": "启用托盘图标", + "enableTraySpeed": "启用托盘速率" }, "tooltips": { "hoverNavigator": "鼠标悬停在字母上时自动滚动到对应代理组", @@ -1028,6 +1049,34 @@ "telegram": "Telegram 频道", "github": "GitHub 项目地址" } + }, + "webUI": { + "actions": { + "openUrl": "打开链接" + }, + "title": "网页界面", + "messages": { + "supportedPlaceholders": "支持 %host, %port, %secret", + "placeholderInstruction": "使用 %host, %port, %secret 表示 主机, 端口, 访问密钥" + } + }, + "hotkey": { + "toggles": { + "enableGlobal": "启用全局热键" + }, + "title": "热键设置" + }, + "password": { + "prompts": { + "enterRoot": "请输入您的 root 密码" + } + }, + "networkInterface": { + "title": "网络接口", + "labels": { + "ipAddress": "IP 地址", + "macAddress": "MAC 地址" + } } }, "providers": { @@ -1114,6 +1163,9 @@ "connectFailed": "连接链式代理失败", "disconnectFailed": "断开链式代理失败", "duplicateNode": "该节点已在链式代理表中" + }, + "messages": { + "directMode": "直连模式" } } }, @@ -1213,7 +1265,19 @@ "actions": { "testing": "测试中..." }, - "empty": "暂无解锁测试项目" + "empty": "暂无解锁测试项目", + "messages": { + "detectionTimeout": "检测超时或失败" + } + } + }, + "layout": { + "traffic": { + "labels": { + "uploadSpeed": "上传速度", + "downloadSpeed": "下载速度", + "memoryUsage": "内核占用" + } } } } diff --git a/src/locales/zhtw.json b/src/locales/zhtw.json index cc60139c..d34fcae5 100644 --- a/src/locales/zhtw.json +++ b/src/locales/zhtw.json @@ -1,28 +1,12 @@ { - "millis": "毫秒", - "seconds": "秒", - "mins": "分鐘", - "Close": "關閉", - "Cancel": "取消", - "Confirm": "確認", "Maximize": "最大化", "Minimize": "最小化", "Empty": "空空如也", - "New": "新增", - "Edit": "編輯", - "Save": "儲存", - "Delete": "刪除", - "Enable": "啟用", "Proxies": "代理", - "Update At": "更新於", "rule": "規則", "global": "全域", "direct": "直連", - "timeout": "逾時", "script": "指令碼", - "Sort by default": "預設排序", - "Sort by delay": "按延遲排序", - "Sort by name": "按名稱排序", "DOMAIN": "配對完整網域", "DOMAIN-SUFFIX": "配對網域後綴", "DOMAIN-KEYWORD": "配對網域關鍵字", @@ -67,51 +51,28 @@ "relay": "根據定義的代理鏈傳送", "Timeout": "逾時", "Type": "類型", - "Name": "名稱", "Close All Connections": "關閉全部連線", "Rule": "規則", - "Icon": "圖示", - "Reset to Default": "重設為預設值", "TUN Mode automatically disabled due to service unavailable": "由於服務不可使用,虛擬網路介面卡模式已自動停用", "Failed to disable TUN Mode automatically": "自動停用虛擬網路介面卡模式失敗", - "Core communication error": "內核通信錯誤", "active": "作用中", "unknown": "未知", "Install": "安裝", "Uninstall": "解除安裝", "System Proxy": "系統代理", - "Network Interface": "網路介面", - "Ip Address": "IP 位址", - "Mac Address": "MAC 位址", - "Open URL": "開啟網址", - "Replace host, port, secret with %host, %port, %secret": "使用 %host, %port, %secret 表示 主機, 連接埠, 存取金鑰", - "Support %host, %port, %secret": "支援 %host, %port, %secret", - "Clash Core": "Clash 內核", - "Upgrade": "升級內核", - "Restart": "重啟內核", "Release Version": "正式版", "Alpha Version": "預覽版", - "Please enter your root password": "請輸入您的 root 密碼", "theme.light": "淺色", "theme.dark": "深色", "theme.system": "系統", "Copy Success": "複製成功", - "Hotkey Setting": "快速鍵設定", - "Enable Global Hotkey": "啟用全域快速鍵", "open_or_close_dashboard": "開啟/關閉儀表板", "clash_mode_rule": "規則模式", "clash_mode_global": "全域模式", - "clash_mode_direct": "直連模式", "toggle_system_proxy": "開啟/關閉系統代理", "toggle_tun_mode": "開啟/關閉 虛擬網路介面卡模式", "entry_lightweight_mode": "進入輕量模式", - "Runtime Config": "執行期設定", "Exit": "離開", - "ReadOnly": "唯讀", - "Filter conditions": "篩選條件", - "Match Case": "區分大小寫", - "Match Whole Word": "完整字詞配對", - "Use Regular Expression": "使用正規表示式", "Profile Imported Successfully": "匯入設定檔成功", "Stopping Core...": "內核停止中...", "Restarting Core...": "內核重啟中...", @@ -120,12 +81,9 @@ "Service Installed Successfully": "已成功安裝服務", "Service Uninstalled Successfully": "已成功解除安裝服務", "Core Version Updated": "內核版本已更新", - "Clash Core Restarted": "已重啟 Clash 內核", "Currently on the Latest Version": "目前已是最新版本", "Import Subscription Successful": "匯入訂閱成功", - "Failed to fetch backup files": "取得備份檔案失敗", "Profile": "配置", - "Web UI": "網頁介面", "Dashboard": "儀表板", "Restart App": "重啟應用程式", "Restart Clash Core": "重啟 Clash 內核", @@ -136,8 +94,6 @@ "Logs Dir": "日誌目錄", "Open Dir": "開啟目錄", "More": "更多", - "Enable Tray Speed": "啟用系統匣速率", - "Enable Tray Icon": "啟用系統匣圖示", "LightWeight Mode": "輕量模式", "Config Validation Failed": "訂閱配置校驗失敗,請檢查訂閱配置文件,變更已撤銷,錯誤詳情:", "Boot Config Validation Failed": "啟動訂閱配置校驗失敗,已使用預設配置啟動;請檢查訂閱配置文件,錯誤詳情:", @@ -159,7 +115,6 @@ "Merge File Key Error": "覆寫檔案鍵錯誤,變更已撤銷", "Merge File Error": "覆寫檔案錯誤,變更已撤銷", "Service Administrator Prompt": "Clash Verge 需要管理員權限安裝系統服務", - "Website Tests": "網站測試", "Update with Clash proxy successfully": "使用 Clash 代理更新成功", "Update failed even with Clash proxy": "使用 Clash 代理更新也失敗", "Profile Imported with Clash proxy": "使用 Clash 代理匯入訂閱成功", @@ -187,11 +142,8 @@ "AppQuitBody": "已透過快速鍵退出應用程式", "AppHiddenTitle": "應用程式隱藏", "AppHiddenBody": "已透過快速鍵隱藏應用程式視窗", - "Invalid regular expression": "無效的正規表示式", "Configuration saved successfully": "設定儲存完成", "Failed to save configuration": "設定儲存失敗", - "Saving...": "儲存中...", - "Detection timeout or failed": "檢測逾時或失敗", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", "common": { @@ -202,6 +154,62 @@ "notices": { "raw": "{{message}}", "prefixedRaw": "{{prefix}} {{message}}" + }, + "actions": { + "cancel": "取消", + "close": "關閉", + "confirm": "確認", + "save": "儲存", + "delete": "刪除", + "edit": "編輯", + "new": "新增", + "enable": "啟用", + "upgrade": "升級內核", + "restart": "重啟內核", + "resetToDefault": "重設為預設值", + "refresh": "重整", + "retry": "重試", + "refreshPage": "重新整理頁面", + "showDetails": "顯示詳情", + "hideDetails": "隱藏詳情" + }, + "labels": { + "updateAt": "更新於", + "timeout": "逾時", + "icon": "圖示", + "name": "名稱", + "readOnly": "唯讀", + "expireTime": "到期時間", + "updateTime": "更新時間", + "usedTotal": "已使用 / 總量", + "from": "來自", + "password": "密碼", + "retryAttempts": "重試次數" + }, + "units": { + "milliseconds": "毫秒", + "seconds": "秒", + "minutes": "分鐘", + "kilobytes": "KB", + "files": "檔案" + }, + "search": { + "placeholder": "篩選條件", + "matchCase": "區分大小寫", + "matchWholeWord": "完整字詞配對", + "useRegex": "使用正規表示式", + "invalidRegex": "無效的正規表示式" + }, + "status": { + "enabled": "已啟用", + "disabled": "已停用" + }, + "errors": { + "trafficStats": "流量統計錯誤", + "trafficStatsDescription": "流量統計元件發生錯誤,已停用以避免當機。" + }, + "states": { + "saving": "儲存中..." } }, "navigation": { @@ -509,6 +517,14 @@ "systemInfo": "系統資訊卡" } } + }, + "tests": { + "title": "網站測試" + }, + "clashMode": { + "errors": { + "communication": "內核通信錯誤" + } } }, "connection": { @@ -657,6 +673,9 @@ "saved": "連結埠設定已儲存", "saveFailed": "連結埠設定儲存失敗" } + }, + "notifications": { + "restartSuccess": "已重啟 Clash 內核" } }, "liteMode": { @@ -814,7 +833,9 @@ "showProxyGroupsInline": "將代理組顯示在系統匣一級選單", "commonTrayIcon": "一般系統匣圖示", "systemProxyTrayIcon": "系統代理系統匣圖示", - "tunTrayIcon": "虛擬網路介面卡模式系統匣圖示" + "tunTrayIcon": "虛擬網路介面卡模式系統匣圖示", + "enableTrayIcon": "啟用系統匣圖示", + "enableTraySpeed": "啟用系統匣速率" }, "tooltips": { "hoverNavigator": "滑鼠懸停在字母上時自動捲動到對應代理組", @@ -1028,6 +1049,34 @@ "telegram": "Telegram 頻道", "github": "GitHub 專案位址" } + }, + "webUI": { + "actions": { + "openUrl": "開啟網址" + }, + "title": "網頁介面", + "messages": { + "supportedPlaceholders": "支援 %host, %port, %secret", + "placeholderInstruction": "使用 %host, %port, %secret 表示 主機, 連接埠, 存取金鑰" + } + }, + "hotkey": { + "toggles": { + "enableGlobal": "啟用全域快速鍵" + }, + "title": "快速鍵設定" + }, + "password": { + "prompts": { + "enterRoot": "請輸入您的 root 密碼" + } + }, + "networkInterface": { + "title": "網路介面", + "labels": { + "ipAddress": "IP 位址", + "macAddress": "MAC 位址" + } } }, "providers": { @@ -1114,6 +1163,9 @@ "connectFailed": "連線鏈式代理失敗", "disconnectFailed": "中斷鏈式代理失敗", "duplicateNode": "該節點已在鏈式代理表中" + }, + "messages": { + "directMode": "直連模式" } } }, @@ -1213,7 +1265,19 @@ "actions": { "testing": "測試中..." }, - "empty": "目前沒有解鎖測試項目" + "empty": "目前沒有解鎖測試項目", + "messages": { + "detectionTimeout": "檢測逾時或失敗" + } + } + }, + "layout": { + "traffic": { + "labels": { + "uploadSpeed": "上傳速度", + "downloadSpeed": "下載速度", + "memoryUsage": "內核佔用" + } } } } diff --git a/src/pages/home.tsx b/src/pages/home.tsx index fbf259d6..ce8a79aa 100644 --- a/src/pages/home.tsx +++ b/src/pages/home.tsx @@ -199,9 +199,9 @@ const HomeSettingsDialog = ({ - + diff --git a/src/pages/profiles.tsx b/src/pages/profiles.tsx index 4e90cdc3..5a614807 100644 --- a/src/pages/profiles.tsx +++ b/src/pages/profiles.tsx @@ -1007,7 +1007,7 @@ const ProfilePage = () => { if (prev !== curr && profiles.current === item.uid) { await onEnhance(false); // await restartCore(); - // Notice.success(t("Clash Core Restarted"), 1000); + // Notice.success(t("settings.clash.notifications.restartSuccess"), 1000); } }} onDelete={() => { diff --git a/src/pages/unlock.tsx b/src/pages/unlock.tsx index 4bc0cd20..4f8579b3 100644 --- a/src/pages/unlock.tsx +++ b/src/pages/unlock.tsx @@ -150,7 +150,7 @@ const UnlockPage = () => { invoke(cmd, args), new Promise((_, reject) => setTimeout( - () => reject(new Error(t("Detection timeout or failed"))), + () => reject(new Error(t("unlock.page.messages.detectionTimeout"))), timeout, ), ),