diff --git a/src/components/connection/connection-detail.tsx b/src/components/connection/connection-detail.tsx index 5644648d..ed1d9df7 100644 --- a/src/components/connection/connection-detail.tsx +++ b/src/components/connection/connection-detail.tsx @@ -68,50 +68,50 @@ const InnerConnectionDetail = ({ data, onClose }: InnerProps) => { : metadata.remoteDestination; const information = [ - { label: t("components.connection.fields.host"), value: host }, + { label: t("connection.fields.host"), value: host }, { - label: t("components.connection.fields.downloaded"), + label: t("connection.fields.downloaded"), value: parseTraffic(data.download).join(" "), }, { - label: t("components.connection.fields.uploaded"), + label: t("connection.fields.uploaded"), value: parseTraffic(data.upload).join(" "), }, { - label: t("components.connection.fields.dlSpeed"), + label: t("connection.fields.dlSpeed"), value: parseTraffic(data.curDownload ?? -1).join(" ") + "/s", }, { - label: t("components.connection.fields.ulSpeed"), + label: t("connection.fields.ulSpeed"), value: parseTraffic(data.curUpload ?? -1).join(" ") + "/s", }, { - label: t("components.connection.fields.chains"), + label: t("connection.fields.chains"), value: chains, }, - { label: t("components.connection.fields.rule"), value: rule }, + { label: t("connection.fields.rule"), value: rule }, { - label: t("components.connection.fields.process"), + label: t("connection.fields.process"), value: `${metadata.process}${metadata.processPath ? `(${metadata.processPath})` : ""}`, }, { - label: t("components.connection.fields.time"), + label: t("connection.fields.time"), value: dayjs(data.start).fromNow(), }, { - label: t("components.connection.fields.source"), + label: t("connection.fields.source"), value: `${metadata.sourceIP}:${metadata.sourcePort}`, }, { - label: t("components.connection.fields.destination"), + label: t("connection.fields.destination"), value: Destination, }, { - label: t("components.connection.fields.destinationPort"), + label: t("connection.fields.destinationPort"), value: `${metadata.destinationPort}`, }, { - label: t("components.connection.fields.type"), + label: t("connection.fields.type"), value: `${metadata.type}(${metadata.network})`, }, ]; @@ -137,13 +137,13 @@ const InnerConnectionDetail = ({ data, onClose }: InnerProps) => { diff --git a/src/components/connection/connection-item.tsx b/src/components/connection/connection-item.tsx index aed24cf6..d217e3e5 100644 --- a/src/components/connection/connection-item.tsx +++ b/src/components/connection/connection-item.tsx @@ -48,8 +48,8 @@ export const ConnectionItem = (props: Props) => { edge="end" color="inherit" onClick={onDelete} - title={t("components.connection.actions.closeConnection")} - aria-label={t("components.connection.actions.closeConnection")} + title={t("connection.actions.closeConnection")} + aria-label={t("connection.actions.closeConnection")} > diff --git a/src/components/connection/connection-table.tsx b/src/components/connection/connection-table.tsx index 31666d9e..2c4e5475 100644 --- a/src/components/connection/connection-table.tsx +++ b/src/components/connection/connection-table.tsx @@ -162,13 +162,13 @@ export const ConnectionTable = (props: Props) => { return [ { field: "host", - headerName: t("components.connection.fields.host"), + headerName: t("connection.fields.host"), width: columnWidths["host"] || 220, minWidth: 180, }, { field: "download", - headerName: t("components.connection.fields.downloaded"), + headerName: t("connection.fields.downloaded"), width: columnWidths["download"] || 88, align: "right", headerAlign: "right", @@ -176,7 +176,7 @@ export const ConnectionTable = (props: Props) => { }, { field: "upload", - headerName: t("components.connection.fields.uploaded"), + headerName: t("connection.fields.uploaded"), width: columnWidths["upload"] || 88, align: "right", headerAlign: "right", @@ -184,7 +184,7 @@ export const ConnectionTable = (props: Props) => { }, { field: "dlSpeed", - headerName: t("components.connection.fields.dlSpeed"), + headerName: t("connection.fields.dlSpeed"), width: columnWidths["dlSpeed"] || 88, align: "right", headerAlign: "right", @@ -192,7 +192,7 @@ export const ConnectionTable = (props: Props) => { }, { field: "ulSpeed", - headerName: t("components.connection.fields.ulSpeed"), + headerName: t("connection.fields.ulSpeed"), width: columnWidths["ulSpeed"] || 88, align: "right", headerAlign: "right", @@ -200,25 +200,25 @@ export const ConnectionTable = (props: Props) => { }, { field: "chains", - headerName: t("components.connection.fields.chains"), + headerName: t("connection.fields.chains"), width: columnWidths["chains"] || 340, minWidth: 180, }, { field: "rule", - headerName: t("components.connection.fields.rule"), + headerName: t("connection.fields.rule"), width: columnWidths["rule"] || 280, minWidth: 180, }, { field: "process", - headerName: t("components.connection.fields.process"), + headerName: t("connection.fields.process"), width: columnWidths["process"] || 220, minWidth: 180, }, { field: "time", - headerName: t("components.connection.fields.time"), + headerName: t("connection.fields.time"), width: columnWidths["time"] || 120, minWidth: 100, align: "right", @@ -229,19 +229,19 @@ export const ConnectionTable = (props: Props) => { }, { field: "source", - headerName: t("components.connection.fields.source"), + headerName: t("connection.fields.source"), width: columnWidths["source"] || 200, minWidth: 130, }, { field: "remoteDestination", - headerName: t("components.connection.fields.destination"), + headerName: t("connection.fields.destination"), width: columnWidths["remoteDestination"] || 200, minWidth: 130, }, { field: "type", - headerName: t("components.connection.fields.type"), + headerName: t("connection.fields.type"), width: columnWidths["type"] || 160, minWidth: 100, }, diff --git a/src/components/home/clash-info-card.tsx b/src/components/home/clash-info-card.tsx index 98b8d5d1..8510fd9f 100644 --- a/src/components/home/clash-info-card.tsx +++ b/src/components/home/clash-info-card.tsx @@ -32,7 +32,7 @@ export const ClashInfoCard = () => { - {t("components.home.clashInfo.fields.coreVersion")} + {t("home.clashInfo.fields.coreVersion")} {clashVersion || "-"} @@ -41,7 +41,7 @@ export const ClashInfoCard = () => { - {t("components.home.clashInfo.fields.systemProxyAddress")} + {t("home.clashInfo.fields.systemProxyAddress")} {systemProxyAddress} @@ -50,7 +50,7 @@ export const ClashInfoCard = () => { - {t("components.home.clashInfo.fields.mixedPort")} + {t("home.clashInfo.fields.mixedPort")} {clashConfig.mixedPort || "-"} @@ -59,7 +59,7 @@ export const ClashInfoCard = () => { - {t("components.home.clashInfo.fields.uptime")} + {t("home.clashInfo.fields.uptime")} {formattedUptime} @@ -68,7 +68,7 @@ export const ClashInfoCard = () => { - {t("components.home.clashInfo.fields.rulesCount")} + {t("home.clashInfo.fields.rulesCount")} {rules.length} @@ -87,7 +87,7 @@ export const ClashInfoCard = () => { return ( } iconColor="warning" action={null} diff --git a/src/components/home/current-proxy-card.tsx b/src/components/home/current-proxy-card.tsx index 705fd5d9..80f847e2 100644 --- a/src/components/home/current-proxy-card.tsx +++ b/src/components/home/current-proxy-card.tsx @@ -823,7 +823,7 @@ export const CurrentProxyCard = () => { return ( { iconColor={currentProxy ? "primary" : undefined} action={ - + { {isGlobalMode && ( @@ -916,7 +914,7 @@ export const CurrentProxyCard = () => { {isDirectMode && ( @@ -957,13 +955,13 @@ export const CurrentProxyCard = () => { sx={{ mb: 1.5 }} > - {t("components.home.currentProxy.labels.group")} + {t("home.currentProxy.labels.group")} { ) : ( - {t("components.home.currentProxy.labels.noActiveNode")} + {t("home.currentProxy.labels.noActiveNode")} )} diff --git a/src/components/home/enhanced-canvas-traffic-graph.tsx b/src/components/home/enhanced-canvas-traffic-graph.tsx index 87ea1ee0..d817f5b5 100644 --- a/src/components/home/enhanced-canvas-traffic-graph.tsx +++ b/src/components/home/enhanced-canvas-traffic-graph.tsx @@ -851,7 +851,7 @@ export const EnhancedCanvasTrafficGraph = memo( // 获取时间范围文本 const getTimeRangeText = useCallback(() => { - return t("components.home.traffic.patterns.minutes", { time: timeRange }); + return t("home.traffic.patterns.minutes", { time: timeRange }); }, [timeRange, t]); return ( @@ -934,7 +934,7 @@ export const EnhancedCanvasTrafficGraph = memo( textAlign: "right", }} > - {t("components.home.traffic.legends.upload")} + {t("home.traffic.legends.upload")} - {t("components.home.traffic.legends.download")} + {t("home.traffic.legends.download")} diff --git a/src/components/home/enhanced-traffic-stats.tsx b/src/components/home/enhanced-traffic-stats.tsx index df26263b..c266ce31 100644 --- a/src/components/home/enhanced-traffic-stats.tsx +++ b/src/components/home/enhanced-traffic-stats.tsx @@ -219,42 +219,42 @@ export const EnhancedTrafficStats = () => { () => [ { icon: , - title: t("components.home.traffic.metrics.uploadSpeed"), + title: t("home.traffic.metrics.uploadSpeed"), value: parsedData.up, unit: `${parsedData.upUnit}/s`, color: "secondary" as const, }, { icon: , - title: t("components.home.traffic.metrics.downloadSpeed"), + title: t("home.traffic.metrics.downloadSpeed"), value: parsedData.down, unit: `${parsedData.downUnit}/s`, color: "primary" as const, }, { icon: , - title: t("components.home.traffic.metrics.activeConnections"), + title: t("home.traffic.metrics.activeConnections"), value: parsedData.connectionsCount, unit: "", color: "success" as const, }, { icon: , - title: t("components.home.traffic.metrics.uploaded"), + title: t("home.traffic.metrics.uploaded"), value: parsedData.uploadTotal, unit: parsedData.uploadTotalUnit, color: "secondary" as const, }, { icon: , - title: t("components.home.traffic.metrics.downloaded"), + title: t("home.traffic.metrics.downloaded"), value: parsedData.downloadTotal, unit: parsedData.downloadTotalUnit, color: "primary" as const, }, { icon: , - title: t("components.home.traffic.metrics.memoryUsage"), + title: t("home.traffic.metrics.memoryUsage"), value: parsedData.inuse, unit: parsedData.inuseUnit, color: "error" as const, diff --git a/src/components/home/home-profile-card.tsx b/src/components/home/home-profile-card.tsx index 902fe8f1..56ca4907 100644 --- a/src/components/home/home-profile-card.tsx +++ b/src/components/home/home-profile-card.tsx @@ -112,7 +112,7 @@ const ProfileDetails = ({ sx={{ display: "flex", alignItems: "center" }} > - {t("components.home.profile.labels.from")}:{" "} + {t("home.profile.labels.from")}:{" "} {current.home ? ( - {t("components.home.profile.labels.updateTime")}:{" "} + {t("home.profile.labels.updateTime")}:{" "} {dayjs(current.updated * 1000).format("YYYY-MM-DD HH:mm")} @@ -201,7 +201,7 @@ const ProfileDetails = ({ - {t("components.home.profile.labels.usedTotal")}:{" "} + {t("home.profile.labels.usedTotal")}:{" "} {parseTraffic(usedTraffic)} /{" "} {parseTraffic(current.extra.total)} @@ -213,7 +213,7 @@ const ProfileDetails = ({ - {t("components.home.profile.labels.expireTime")}:{" "} + {t("home.profile.labels.expireTime")}:{" "} {parseExpire(current.extra.expire)} @@ -268,11 +268,10 @@ const EmptyProfile = ({ onClick }: { onClick: () => void }) => { sx={{ fontSize: 60, color: "primary.main", mb: 2 }} /> - {t("components.home.profile.actions.import")}{" "} - {t("components.home.profile.title")} + {t("home.profile.actions.import")} {t("home.profile.title")} - {t("components.home.profile.labels.clickToImport")} + {t("home.profile.labels.clickToImport")} ); @@ -313,7 +312,7 @@ export const HomeProfileCard = ({ // 卡片标题 const cardTitle = useMemo(() => { - if (!current) return t("components.home.profile.title"); + if (!current) return t("home.profile.title"); if (!current.home) return current.name; diff --git a/src/components/home/ip-info-card.tsx b/src/components/home/ip-info-card.tsx index 46d056db..5eadb5f1 100644 --- a/src/components/home/ip-info-card.tsx +++ b/src/components/home/ip-info-card.tsx @@ -70,9 +70,7 @@ export const IpInfoCard = () => { setCountdown(IP_REFRESH_SECONDS); } catch (err) { setError( - err instanceof Error - ? err.message - : t("components.home.ipInfo.errors.load"), + err instanceof Error ? err.message : t("home.ipInfo.errors.load"), ); } finally { setLoading(false); @@ -118,7 +116,7 @@ export const IpInfoCard = () => { if (loading) { return ( } iconColor="info" action={ @@ -141,7 +139,7 @@ export const IpInfoCard = () => { if (error) { return ( } iconColor="info" action={ @@ -164,7 +162,7 @@ export const IpInfoCard = () => { {error} @@ -174,7 +172,7 @@ export const IpInfoCard = () => { // 渲染正常数据 return ( } iconColor="info" action={ @@ -226,7 +224,7 @@ export const IpInfoCard = () => { maxWidth: "100%", }} > - {ipInfo?.country || t("components.home.ipInfo.labels.unknown")} + {ipInfo?.country || t("home.ipInfo.labels.unknown")} @@ -236,7 +234,7 @@ export const IpInfoCard = () => { color="text.secondary" sx={{ flexShrink: 0 }} > - {t("components.home.ipInfo.labels.ip")}: + {t("home.ipInfo.labels.ip")}: { {/* 右侧:组织、ISP和位置信息 */} + - @@ -310,7 +305,7 @@ export const IpInfoCard = () => { }} > - {t("components.home.ipInfo.labels.autoRefresh")}: {countdown}s + {t("home.ipInfo.labels.autoRefresh")}: {countdown}s { if (activeTab === "system") { return { text: systemProxyActualState - ? t("components.home.proxyTunCard.status.systemProxyEnabled") - : t("components.home.proxyTunCard.status.systemProxyDisabled"), - tooltip: t("components.home.proxyTunCard.tooltips.systemProxy"), + ? t("home.proxyTunCard.status.systemProxyEnabled") + : t("home.proxyTunCard.status.systemProxyDisabled"), + tooltip: t("home.proxyTunCard.tooltips.systemProxy"), }; } else { return { text: !isTunModeAvailable - ? t("components.home.proxyTunCard.status.tunModeServiceRequired") + ? t("home.proxyTunCard.status.tunModeServiceRequired") : enable_tun_mode - ? t("components.home.proxyTunCard.status.tunModeEnabled") - : t("components.home.proxyTunCard.status.tunModeDisabled"), - tooltip: t("components.home.proxyTunCard.tooltips.tunMode"), + ? t("home.proxyTunCard.status.tunModeEnabled") + : t("home.proxyTunCard.status.tunModeDisabled"), + tooltip: t("home.proxyTunCard.tooltips.tunMode"), }; } }, [ @@ -198,14 +198,14 @@ export const ProxyTunCard: FC = () => { isActive={activeTab === "system"} onClick={() => handleTabChange("system")} icon={ComputerRounded} - label={t("components.settings.system.toggles.systemProxy")} + label={t("settings.system.toggles.systemProxy")} hasIndicator={systemProxyActualState} /> handleTabChange("tun")} icon={TroubleshootRounded} - label={t("components.settings.system.toggles.tunMode")} + label={t("settings.system.toggles.tunMode")} hasIndicator={enable_tun_mode && isTunModeAvailable} /> @@ -238,8 +238,8 @@ export const ProxyTunCard: FC = () => { onError={handleError} label={ activeTab === "system" - ? t("components.settings.system.toggles.systemProxy") - : t("components.settings.system.toggles.tunMode") + ? t("settings.system.toggles.systemProxy") + : t("settings.system.toggles.tunMode") } noRightPadding={true} /> diff --git a/src/components/home/system-info-card.tsx b/src/components/home/system-info-card.tsx index b120c8e8..0f474218 100644 --- a/src/components/home/system-info-card.tsx +++ b/src/components/home/system-info-card.tsx @@ -217,11 +217,11 @@ export const SystemInfoCard = () => { <> ); @@ -229,21 +229,21 @@ export const SystemInfoCard = () => { return ( ); } else if (isSidecarMode) { return ( ); } else { return ( ); } @@ -254,13 +254,13 @@ export const SystemInfoCard = () => { if (isAdminMode) { // 判断是否同时处于服务模式 if (!isSidecarMode) { - return t("components.home.systemInfo.badges.adminServiceMode"); + return t("home.systemInfo.badges.adminServiceMode"); } - return t("components.home.systemInfo.badges.adminMode"); + return t("home.systemInfo.badges.adminMode"); } else if (isSidecarMode) { - return t("components.home.systemInfo.badges.sidecarMode"); + return t("home.systemInfo.badges.sidecarMode"); } else { - return t("components.home.systemInfo.badges.serviceMode"); + return t("home.systemInfo.badges.serviceMode"); } }; @@ -269,14 +269,14 @@ export const SystemInfoCard = () => { return ( } iconColor="error" action={ @@ -285,7 +285,7 @@ export const SystemInfoCard = () => { - {t("components.home.systemInfo.fields.osInfo")} + {t("home.systemInfo.fields.osInfo")} {systemState.osInfo} @@ -298,13 +298,11 @@ export const SystemInfoCard = () => { alignItems="center" > - {t("components.home.systemInfo.fields.autoLaunch")} + {t("home.systemInfo.fields.autoLaunch")} {isAdminMode && ( - + )} @@ -312,8 +310,8 @@ export const SystemInfoCard = () => { size="small" label={ autoLaunchEnabled - ? t("components.home.systemInfo.labels.enabled") - : t("components.home.systemInfo.labels.disabled") + ? t("home.systemInfo.labels.enabled") + : t("home.systemInfo.labels.disabled") } color={autoLaunchEnabled ? "success" : "default"} variant={autoLaunchEnabled ? "filled" : "outlined"} @@ -329,7 +327,7 @@ export const SystemInfoCard = () => { alignItems="center" > - {t("components.home.systemInfo.fields.runningMode")} + {t("home.systemInfo.fields.runningMode")} { - {t("components.home.systemInfo.fields.lastCheckUpdate")} + {t("home.systemInfo.fields.lastCheckUpdate")} { - {t("components.home.systemInfo.fields.vergeVersion")} + {t("home.systemInfo.fields.vergeVersion")} v{appVersion} diff --git a/src/components/home/test-card.tsx b/src/components/home/test-card.tsx index 7def392e..e6e2c85e 100644 --- a/src/components/home/test-card.tsx +++ b/src/components/home/test-card.tsx @@ -177,12 +177,12 @@ export const TestCard = () => { icon={} action={ - + - + diff --git a/src/components/profile/editor-viewer.tsx b/src/components/profile/editor-viewer.tsx index 4b8ea35f..436781d8 100644 --- a/src/components/profile/editor-viewer.tsx +++ b/src/components/profile/editor-viewer.tsx @@ -97,7 +97,7 @@ export const EditorViewer = (props: Props) => { onClose, } = props; - const resolvedTitle = title ?? t("components.profile.menu.editFile"); + const resolvedTitle = title ?? t("profile.menu.editFile"); const resolvedInitialData = useMemo( () => initialData ?? Promise.resolve(""), [initialData], @@ -203,7 +203,7 @@ export const EditorViewer = (props: Props) => { mouseWheelZoom: true, // 按住Ctrl滚轮调节缩放比例 readOnly: readOnly, // 只读模式 readOnlyMessage: { - value: t("components.profile.editor.readOnlyMessage"), + value: t("profile.editor.readOnlyMessage"), }, // 只读模式尝试编辑时的提示信息 renderValidationDecorations: "on", // 只读模式下显示校验信息 quickSuggestions: { @@ -233,7 +233,7 @@ export const EditorViewer = (props: Props) => { size="medium" color="inherit" sx={{ display: readOnly ? "none" : "" }} - title={t("components.profile.editor.format")} + title={t("profile.editor.format")} onClick={() => editorRef.current ?.getAction("editor.action.formatDocument") diff --git a/src/components/profile/file-input.tsx b/src/components/profile/file-input.tsx index 1315d7a5..3b858697 100644 --- a/src/components/profile/file-input.tsx +++ b/src/components/profile/file-input.tsx @@ -42,7 +42,7 @@ export const FileInput = (props: Props) => { sx={{ flex: "none" }} onClick={() => inputRef.current?.click()} > - {t("components.profile.fileInput.chooseFile")} + {t("profile.fileInput.chooseFile")} { const validateGroup = () => { const group = formIns.getValues(); if (group.name === "") { - throw new Error(t("components.profile.groupsEditor.errors.nameRequired")); + throw new Error(t("profile.groupsEditor.errors.nameRequired")); } }; @@ -384,7 +384,7 @@ export const GroupsEditorViewer = (props: Props) => { } await saveProfileFile(property, nextData); - showNotice.success("components.profile.notifications.saved"); + showNotice.success("profile.notifications.saved"); setPrevData(nextData); onSave?.(prevData, nextData); onClose(); @@ -398,7 +398,7 @@ export const GroupsEditorViewer = (props: Props) => { { - {t("components.profile.groupsEditor.title")} + {t("profile.groupsEditor.title")} @@ -938,9 +904,7 @@ export const GroupsEditorViewer = (props: Props) => { for (const item of [...appendSeq, ...groupList]) { if (item.name === formIns.getValues().name) { throw new Error( - t( - "components.profile.groupsEditor.errors.nameExists", - ), + t("profile.groupsEditor.errors.nameExists"), ); } } @@ -950,7 +914,7 @@ export const GroupsEditorViewer = (props: Props) => { } }} > - {t("components.profile.groupsEditor.actions.append")} + {t("profile.groupsEditor.actions.append")} diff --git a/src/components/profile/log-viewer.tsx b/src/components/profile/log-viewer.tsx index ec695711..48989fbc 100644 --- a/src/components/profile/log-viewer.tsx +++ b/src/components/profile/log-viewer.tsx @@ -26,7 +26,7 @@ export const LogViewer = (props: Props) => { return ( - {t("components.profile.logViewer.title")} + {t("profile.logViewer.title")} { // 如果已经过期,显示"更新失败" if (nextUpdateDate.isBefore(now)) { - setNextUpdateTime( - t("components.profile.item.status.lastUpdateFailed"), - ); + setNextUpdateTime(t("profile.item.status.lastUpdateFailed")); } else { // 否则显示剩余时间 const diffMinutes = nextUpdateDate.diff(now, "minute"); if (diffMinutes < 60) { if (diffMinutes <= 0) { - setNextUpdateTime( - `${t("components.profile.item.status.nextUp")} <1m`, - ); + setNextUpdateTime(`${t("profile.item.status.nextUp")} <1m`); } else { setNextUpdateTime( - `${t("components.profile.item.status.nextUp")} ${diffMinutes}m`, + `${t("profile.item.status.nextUp")} ${diffMinutes}m`, ); } } else { const hours = Math.floor(diffMinutes / 60); const mins = diffMinutes % 60; setNextUpdateTime( - `${t("components.profile.item.status.nextUp")} ${hours}h ${mins}m`, + `${t("profile.item.status.nextUp")} ${hours}h ${mins}m`, ); } } } else { console.log(`返回的下次更新时间为空`); - setNextUpdateTime(t("components.profile.item.status.noSchedule")); + setNextUpdateTime(t("profile.item.status.noSchedule")); } } catch (err) { console.error(`获取下次更新时间出错:`, err); - setNextUpdateTime(t("components.profile.item.status.unknown")); + setNextUpdateTime(t("profile.item.status.unknown")); } } else { console.log(`该配置未设置更新间隔或间隔为0`); - setNextUpdateTime(t("components.profile.item.status.autoUpdateDisabled")); + setNextUpdateTime(t("profile.item.status.autoUpdateDisabled")); } }); @@ -369,19 +365,19 @@ export const ProfileItem = (props: Props) => { }; const menuLabels = { - home: "components.profile.menu.home", - select: "components.profile.menu.select", - editInfo: "components.profile.menu.editInfo", - editFile: "components.profile.menu.editFile", - editRules: "components.profile.menu.editRules", - editProxies: "components.profile.menu.editProxies", - editGroups: "components.profile.menu.editGroups", - extendConfig: "components.profile.menu.extendConfig", - extendScript: "components.profile.menu.extendScript", - openFile: "components.profile.menu.openFile", - update: "components.profile.menu.update", - updateViaProxy: "components.profile.menu.updateViaProxy", - delete: "components.profile.menu.delete", + home: "profile.menu.home", + select: "profile.menu.select", + editInfo: "profile.menu.editInfo", + editFile: "profile.menu.editFile", + editRules: "profile.menu.editRules", + editProxies: "profile.menu.editProxies", + editGroups: "profile.menu.editGroups", + extendConfig: "profile.menu.extendConfig", + extendScript: "profile.menu.extendScript", + openFile: "profile.menu.openFile", + update: "profile.menu.update", + updateViaProxy: "profile.menu.updateViaProxy", + delete: "profile.menu.delete", } as const; const urlModeMenu: ContextMenuItem[] = [ @@ -734,8 +730,8 @@ export const ProfileItem = (props: Props) => { textAlign="right" title={ showNextUpdate - ? t("components.profile.item.tooltips.showLast") - : `${t("Update Time")}: ${parseExpire(updated)}\n${t("components.profile.item.tooltips.showNext")}` + ? t("profile.item.tooltips.showLast") + : `${t("Update Time")}: ${parseExpire(updated)}\n${t("profile.item.tooltips.showNext")}` } sx={{ cursor: "pointer", @@ -890,8 +886,8 @@ export const ProfileItem = (props: Props) => { )} setConfirmOpen(false)} onConfirm={() => { diff --git a/src/components/profile/profile-more.tsx b/src/components/profile/profile-more.tsx index 21d1341f..90e752c2 100644 --- a/src/components/profile/profile-more.tsx +++ b/src/components/profile/profile-more.tsx @@ -55,18 +55,18 @@ export const ProfileMore = (props: Props) => { const hasError = entries.some(([level]) => level === "exception"); const globalTitles: Record = { - Merge: "components.profile.more.global.merge", - Script: "components.profile.more.global.script", + Merge: "profile.more.global.merge", + Script: "profile.more.global.script", }; const chipLabels: Record = { - Merge: "components.profile.more.chips.merge", - Script: "components.profile.more.chips.script", + Merge: "profile.more.chips.merge", + Script: "profile.more.chips.script", }; const itemMenu = [ - { label: "components.profile.menu.editFile", handler: onEditFile }, - { label: "components.profile.menu.openFile", handler: onOpenFile }, + { label: "profile.menu.editFile", handler: onEditFile }, + { label: "profile.menu.openFile", handler: onOpenFile }, ]; const boxStyle = { @@ -121,7 +121,7 @@ export const ProfileMore = (props: Props) => { size="small" edge="start" color="error" - title={t("components.profile.logViewer.title")} + title={t("profile.logViewer.title")} onClick={() => setLogOpen(true)} > @@ -132,7 +132,7 @@ export const ProfileMore = (props: Props) => { size="small" edge="start" color="inherit" - title={t("components.profile.logViewer.title")} + title={t("profile.logViewer.title")} onClick={() => setLogOpen(true)} > diff --git a/src/components/profile/profile-viewer.tsx b/src/components/profile/profile-viewer.tsx index e38f4d25..32829f20 100644 --- a/src/components/profile/profile-viewer.tsx +++ b/src/components/profile/profile-viewer.tsx @@ -144,9 +144,7 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) { } } catch { // 首次创建/更新失败,尝试使用自身代理 - showNotice.info( - "components.profile.viewer.notifications.creationRetry", - ); + showNotice.info("profile.viewer.notifications.creationRetry"); // 使用自身代理的配置 const retryItem = { @@ -169,9 +167,7 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) { await patchProfile(form.uid, { option: originalOptions }); } - showNotice.success( - "components.profile.viewer.notifications.creationSuccess", - ); + showNotice.success("profile.viewer.notifications.creationSuccess"); } } @@ -220,12 +216,12 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) { open={open} title={ openType === "new" - ? t("components.profile.viewer.title.create") - : t("components.profile.viewer.title.edit") + ? t("profile.viewer.title.create") + : t("profile.viewer.title.edit") } contentSx={{ width: 375, pb: 0, maxHeight: "80%" }} - okBtn={t("components.profile.viewer.buttons.save")} - cancelBtn={t("components.profile.viewer.buttons.cancel")} + okBtn={t("profile.viewer.buttons.save")} + cancelBtn={t("profile.viewer.buttons.cancel")} onClose={handleClose} onCancel={handleClose} onOk={handleOk} @@ -236,13 +232,11 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) { control={control} render={({ field }) => ( - - {t("components.profile.viewer.fields.type")} - + {t("profile.viewer.fields.type")} }) { - + }) { - + div": { py: "7.5px" } }}> - {t("components.settings.verge.layout.options.icon.monochrome")} + {t("settings.verge.layout.options.icon.monochrome")} - {t("components.settings.verge.layout.options.icon.colorful")} + {t("settings.verge.layout.options.icon.colorful")} - {t("components.settings.verge.layout.options.icon.disable")} + {t("settings.verge.layout.options.icon.disable")} @@ -305,7 +293,7 @@ export const LayoutViewer = forwardRef((_, ref) => { {OS === "macos" && ( ((_, ref) => { sx={{ width: 140, "> div": { py: "7.5px" } }} > - {t( - "components.settings.verge.layout.options.icon.monochrome", - )} + {t("settings.verge.layout.options.icon.monochrome")} - {t("components.settings.verge.layout.options.icon.colorful")} + {t("settings.verge.layout.options.icon.colorful")} @@ -367,9 +353,7 @@ export const LayoutViewer = forwardRef((_, ref) => { )} */} ((_, ref) => { ((_, ref) => { }} > {verge?.common_tray_icon - ? t("components.settings.verge.basic.actions.clear") - : t("components.settings.verge.basic.actions.browse")} + ? t("settings.verge.basic.actions.clear") + : t("settings.verge.basic.actions.browse")} ((_, ref) => { }} > {verge?.sysproxy_tray_icon - ? t("components.settings.verge.basic.actions.clear") - : t("components.settings.verge.basic.actions.browse")} + ? t("settings.verge.basic.actions.clear") + : t("settings.verge.basic.actions.browse")} ((_, ref) => { }} > {verge?.tun_tray_icon - ? t("components.settings.verge.basic.actions.clear") - : t("components.settings.verge.basic.actions.browse")} + ? t("settings.verge.basic.actions.clear") + : t("settings.verge.basic.actions.browse")} diff --git a/src/components/setting/mods/lite-mode-viewer.tsx b/src/components/setting/mods/lite-mode-viewer.tsx index 107e50df..21af2130 100644 --- a/src/components/setting/mods/lite-mode-viewer.tsx +++ b/src/components/setting/mods/lite-mode-viewer.tsx @@ -53,7 +53,7 @@ export function LiteModeViewer({ ref }: { ref?: Ref }) { return ( }) { > - + }) { }) { {values.autoEnterLiteMode && ( <> - + }) { color="text.secondary" sx={{ fontStyle: "italic" }} > - {t("components.settings.liteMode.messages.autoEnterHint", { + {t("settings.liteMode.messages.autoEnterHint", { n: values.autoEnterLiteModeDelay, })} diff --git a/src/components/setting/mods/local-backup-actions.tsx b/src/components/setting/mods/local-backup-actions.tsx index 0ce7ca62..775e7302 100644 --- a/src/components/setting/mods/local-backup-actions.tsx +++ b/src/components/setting/mods/local-backup-actions.tsx @@ -20,15 +20,11 @@ export const LocalBackupActions = memo( try { setLoading(true); await createLocalBackup(); - showNotice.success( - "components.settings.backup.messages.localBackupCreated", - ); + showNotice.success("settings.backup.messages.localBackupCreated"); await onBackupSuccess(); } catch (error) { console.error(error); - showNotice.error( - "components.settings.backup.messages.localBackupFailed", - ); + showNotice.error("settings.backup.messages.localBackupFailed"); } finally { setLoading(false); } @@ -47,7 +43,7 @@ export const LocalBackupActions = memo( - {t("components.settings.backup.fields.info")} + {t("settings.backup.fields.info")} @@ -64,7 +60,7 @@ export const LocalBackupActions = memo( type="button" size="large" > - {t("components.settings.backup.actions.backup")} + {t("settings.backup.actions.backup")} diff --git a/src/components/setting/mods/misc-viewer.tsx b/src/components/setting/mods/misc-viewer.tsx index a64c9d65..0915e35d 100644 --- a/src/components/setting/mods/misc-viewer.tsx +++ b/src/components/setting/mods/misc-viewer.tsx @@ -77,7 +77,7 @@ export const MiscViewer = forwardRef((props, ref) => { return ( ((props, ref) => { > - + ((props, ref) => { } > - {t("components.settings.misc.options.proxyLayoutColumns.auto")} + {t("settings.misc.options.proxyLayoutColumns.auto")} {[1, 2, 3, 4, 5].map((i) => ( @@ -247,9 +243,7 @@ export const MiscViewer = forwardRef((props, ref) => { - + div": { py: "7.5px" } }}> - {t("components.settings.clash.options.logLevel.debug")} + {t("settings.clash.options.logLevel.debug")} - {t("components.settings.clash.options.logLevel.info")} + {t("settings.clash.options.logLevel.info")} - {t("components.settings.clash.options.logLevel.warning")} + {t("settings.clash.options.logLevel.warning")} - {t("components.settings.clash.options.logLevel.error")} + {t("settings.clash.options.logLevel.error")} - {t("components.settings.clash.options.logLevel.silent")} + {t("settings.clash.options.logLevel.silent")} - + { { e.stopPropagation(); @@ -249,11 +249,11 @@ const SettingClash = ({ onError }: Props) => { webRef.current?.open()} - label={t("components.settings.clash.items.webUI")} + label={t("settings.clash.items.webUI")} /> { {isWIN && ( } @@ -279,7 +279,7 @@ const SettingClash = ({ onError }: Props) => { ); diff --git a/src/components/setting/setting-system.tsx b/src/components/setting/setting-system.tsx index 6e4f950e..9cc799e6 100644 --- a/src/components/setting/setting-system.tsx +++ b/src/components/setting/setting-system.tsx @@ -41,27 +41,25 @@ const SettingSystem = ({ onError }: Props) => { }; return ( - + + ) @@ -78,9 +76,7 @@ const SettingSystem = ({ onError }: Props) => { }} onGuard={async (e) => { if (isAdminMode) { - showNotice.info( - "components.settings.system.tooltips.autoLaunchAdmin", - ); + showNotice.info("settings.system.tooltips.autoLaunchAdmin"); } try { @@ -101,10 +97,10 @@ const SettingSystem = ({ onError }: Props) => { } diff --git a/src/components/setting/setting-verge-advanced.tsx b/src/components/setting/setting-verge-advanced.tsx index b1159798..660fed3f 100644 --- a/src/components/setting/setting-verge-advanced.tsx +++ b/src/components/setting/setting-verge-advanced.tsx @@ -48,7 +48,7 @@ const SettingVergeAdvanced = ({ onError: _ }: Props) => { const info = await checkUpdate(); if (!info?.available) { showNotice.success( - "components.settings.verge.advanced.notifications.latestVersion", + "settings.verge.advanced.notifications.latestVersion", ); } else { updateRef.current?.open(); @@ -60,23 +60,20 @@ const SettingVergeAdvanced = ({ onError: _ }: Props) => { const onExportDiagnosticInfo = useCallback(async () => { await exportDiagnosticInfo(); - showNotice.success( - "components.settings.common.notifications.copySuccess", - 1000, - ); + showNotice.success("settings.common.notifications.copySuccess", 1000); }, []); const copyVersion = useCallback(() => { navigator.clipboard.writeText(`v${version}`).then(() => { showNotice.success( - "components.settings.verge.advanced.notifications.versionCopied", + "settings.verge.advanced.notifications.versionCopied", 1000, ); }); }, []); return ( - + @@ -88,10 +85,10 @@ const SettingVergeAdvanced = ({ onError: _ }: Props) => { backupRef.current?.open()} - label={t("components.settings.verge.advanced.items.backupSetting")} + label={t("settings.verge.advanced.items.backupSetting")} extra={ } @@ -99,15 +96,15 @@ const SettingVergeAdvanced = ({ onError: _ }: Props) => { configRef.current?.open()} - label={t("components.settings.verge.advanced.items.runtimeConfig")} + label={t("settings.verge.advanced.items.runtimeConfig")} /> } @@ -115,29 +112,29 @@ const SettingVergeAdvanced = ({ onError: _ }: Props) => { } @@ -148,11 +145,11 @@ const SettingVergeAdvanced = ({ onError: _ }: Props) => { onClick={() => { exitApp(); }} - label={t("components.settings.verge.advanced.items.exit")} + label={t("settings.verge.advanced.items.exit")} /> { > } > diff --git a/src/components/setting/setting-verge-basic.tsx b/src/components/setting/setting-verge-basic.tsx index 05b4448a..25db668b 100644 --- a/src/components/setting/setting-verge-basic.tsx +++ b/src/components/setting/setting-verge-basic.tsx @@ -76,14 +76,11 @@ const SettingVergeBasic = ({ onError }: Props) => { const onCopyClashEnv = useCallback(async () => { await copyClashEnv(); - showNotice.success( - "components.settings.common.notifications.copySuccess", - 1000, - ); + showNotice.success("settings.common.notifications.copySuccess", 1000); }, []); return ( - + @@ -92,7 +89,7 @@ const SettingVergeBasic = ({ onError }: Props) => { - + { - + { {OS !== "linux" && ( - + { > @@ -156,7 +149,7 @@ const SettingVergeBasic = ({ onError }: Props) => { )} } @@ -178,7 +171,7 @@ const SettingVergeBasic = ({ onError }: Props) => { - + { - + { } }} > - {t("components.settings.verge.basic.actions.browse")} + {t("settings.verge.basic.actions.browse")} {startup_script && ( )} @@ -253,22 +244,22 @@ const SettingVergeBasic = ({ onError }: Props) => { themeRef.current?.open()} - label={t("components.settings.verge.basic.items.themeSetting")} + label={t("settings.verge.basic.items.themeSetting")} /> layoutRef.current?.open()} - label={t("components.settings.verge.basic.items.layoutSetting")} + label={t("settings.verge.basic.items.layoutSetting")} /> miscRef.current?.open()} - label={t("components.settings.verge.basic.items.misc")} + label={t("settings.verge.basic.items.misc")} /> hotkeyRef.current?.open()} - label={t("components.settings.verge.basic.items.hotkeySetting")} + label={t("settings.verge.basic.items.hotkeySetting")} /> ); diff --git a/src/components/shared/ProxyControlSwitches.tsx b/src/components/shared/ProxyControlSwitches.tsx index f7591cbc..c676b6b2 100644 --- a/src/components/shared/ProxyControlSwitches.tsx +++ b/src/components/shared/ProxyControlSwitches.tsx @@ -132,7 +132,7 @@ const ProxyControlSwitches = ({ const handleTunToggle = async (value: boolean) => { if (!isTunModeAvailable) { - const msgKey = "components.settings.proxyControl.tooltips.tunUnavailable"; + const msgKey = "settings.proxyControl.tooltips.tunUnavailable"; showErrorNotice(msgKey); throw new Error(t(msgKey)); } @@ -162,16 +162,16 @@ const ProxyControlSwitches = ({ }); const isSystemProxyMode = - label === t("components.settings.system.toggles.systemProxy") || !label; - const isTunMode = label === t("components.settings.system.toggles.tunMode"); + label === t("settings.system.toggles.systemProxy") || !label; + const isTunMode = label === t("settings.system.toggles.tunMode"); return ( {isSystemProxyMode && ( sysproxyRef.current?.open()} onToggle={(value) => toggleSystemProxy(value)} onError={onError} @@ -181,9 +181,9 @@ const ProxyControlSwitches = ({ {isTunMode && ( tunRef.current?.open()} onToggle={handleTunToggle} onError={onError} @@ -194,16 +194,12 @@ const ProxyControlSwitches = ({ {!isTunModeAvailable && ( <> - {t("components.test.item.actions.test")} + {t("test.item.actions.test")} )} diff --git a/src/components/test/test-viewer.tsx b/src/components/test/test-viewer.tsx index 0dc309f1..2952d476 100644 --- a/src/components/test/test-viewer.tsx +++ b/src/components/test/test-viewer.tsx @@ -126,8 +126,8 @@ export const TestViewer = forwardRef((props, ref) => { open={open} title={ openType === "new" - ? t("components.test.viewer.title.create") - : t("components.test.viewer.title.edit") + ? t("test.viewer.title.create") + : t("test.viewer.title.edit") } contentSx={{ width: 375, pb: 0, maxHeight: "80%" }} okBtn={t("Save")} @@ -166,7 +166,7 @@ export const TestViewer = forwardRef((props, ref) => { {...field} multiline maxRows={3} - label={t("components.test.viewer.fields.url")} + label={t("test.viewer.fields.url")} /> )} /> diff --git a/src/locales/ar.json b/src/locales/ar.json index 7bd55618..2a79acde 100644 --- a/src/locales/ar.json +++ b/src/locales/ar.json @@ -13,192 +13,6 @@ "Save": "حفظ", "Delete": "حذف", "Enable": "تمكين", - "pages": { - "home": { - "title": "Home", - "tooltips": { - "lightweightMode": "وضع الأداء الخفيف", - "manual": "دليل", - "settings": "Home Settings" - }, - "cards": { - "trafficStats": "Traffic Stats", - "networkSettings": "Network Settings", - "proxyMode": "Proxy Mode" - }, - "settings": { - "title": "Home Settings", - "cards": { - "profile": "Profile Card", - "currentProxy": "Current Proxy Card", - "network": "Network Settings Card", - "proxyMode": "Proxy Mode Card", - "traffic": "Traffic Stats Card", - "tests": "Website Tests Card", - "ip": "IP Information Card", - "clashInfo": "Clash Info Cards", - "systemInfo": "System Info Cards" - } - } - }, - "proxies": { - "title": { - "default": "مجموعات الوكلاء", - "chainMode": "Proxy Chain Mode" - }, - "actions": { - "toggleChain": "🔗 بروكسي السلسلة", - "connect": "Connect", - "disconnect": "Disconnect", - "connecting": "Connecting...", - "clearChainConfig": "Delete Chain Config" - }, - "provider": { - "title": "مزود الوكيل", - "actions": { - "updateAll": "تحديث الكل", - "update": "تحديث" - } - }, - "rules": { - "title": "Proxy Rules", - "select": "Select Rules" - }, - "labels": { - "proxyCount": "Proxy Count", - "delayCheckReset": "فحص التأخير لإلغاء الثابت" - }, - "tooltips": { - "locate": "الموقع", - "delayCheck": "فحص التأخير", - "sortDefault": "الترتيب الافتراضي", - "sortDelay": "الترتيب حسب التأخير", - "sortName": "الترتيب حسب الاسم", - "delayCheckUrl": "رابط فحص التأخير", - "showBasic": "إعدادات الوكيل الأساسية", - "showDetail": "تفاصيل الوكيل", - "filter": "تصفية" - }, - "placeholders": { - "filter": "شروط التصفية", - "delayCheckUrl": "رابط فحص التأخير" - }, - "chain": { - "header": "Chain Proxy Config", - "empty": "No proxy chain configured", - "instruction": "Click nodes in order to add to proxy chain", - "minimumNodes": "Chain proxy requires at least 2 nodes", - "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", - "connectFailed": "Failed to connect to proxy chain", - "disconnectFailed": "Failed to disconnect from proxy chain", - "duplicateNode": "Proxy node already exists in chain" - } - }, - "rules": { - "title": "القواعد", - "provider": { - "trigger": "مزود القواعد", - "dialogTitle": "مزود القواعد", - "actions": { - "updateAll": "تحديث الكل", - "update": "تحديث" - } - } - }, - "profiles": { - "title": "الملفات الشخصية", - "actions": { - "updateAll": "تحديث جميع الملفات الشخصية", - "viewRuntimeConfig": "عرض تكوين وقت التشغيل", - "reactivate": "إعادة تنشيط الملفات الشخصية", - "import": "استيراد", - "new": "جديد" - }, - "batch": { - "title": "Batch Operations", - "delete": "Delete Selected Profiles", - "selectAll": "Select All", - "deselectAll": "Deselect All", - "done": "Done", - "selected": "Selected", - "items": "items" - }, - "import": { - "placeholder": "رابط الملف الشخصي", - "paste": "لصق", - "clear": "مسح" - }, - "errors": { - "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", - "onlyYaml": "لا يتم دعم سوى ملفات YAML" - }, - "notifications": { - "importRetry": "Import failed, retrying with Clash proxy...", - "importFail": "Import failed even with Clash proxy", - "importNeedsRefresh": "Profile imported but may need manual refresh", - "importSuccess": "Profile imported successfully, please restart if not visible", - "profileSwitched": "تم التبديل إلى الملف الشخصي", - "profileReactivated": "تم إعادة تنشيط الملف الشخصي", - "switchInterrupted": "Profile switch interrupted by new selection", - "batchDeleted": "Selected profiles deleted successfully" - }, - "notices": { - "forceRefreshCompleted": "Force refresh completed", - "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" - } - }, - "connections": { - "title": "الاتصالات", - "summary": { - "downloaded": "تم التنزيل", - "uploaded": "تم الرفع" - }, - "actions": { - "listView": "عرض القائمة", - "tableView": "عرض الجدول", - "pause": "إيقاف مؤقت", - "resume": "استأنف", - "closeAll": "إغلاق الكل" - } - }, - "settings": { - "title": "الإعدادات", - "actions": { - "manual": "دليل", - "telegram": "قناة تيليجرام", - "github": "مستودع Github" - } - }, - "logs": { - "title": "السجلات", - "actions": { - "pause": "إيقاف مؤقت", - "resume": "استأنف", - "clear": "مسح" - }, - "filters": { - "all": "ALL", - "debug": "DEBUG", - "info": "INFO", - "warn": "WARN", - "error": "ERROR" - } - }, - "test": { - "title": "اختبار", - "actions": { - "testAll": "اختبار الكل", - "new": "جديد" - } - }, - "unlock": { - "title": "Unlock Test", - "actions": { - "testing": "Testing..." - }, - "empty": "No unlock test items" - } - }, "Proxies": "الوكلاء", "Update At": "التحديث عند", "rule": "قاعدة", @@ -380,807 +194,6 @@ "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", - "components": { - "ruleEditor": { - "title": "تعديل القواعد", - "form": { - "labels": { - "type": "نوع القاعدة", - "content": "محتوى القاعدة", - "proxyPolicy": "سياسة الوكيل" - }, - "toggles": { - "noResolve": "لا يوجد حل" - }, - "actions": { - "prependRule": "إضافة قاعدة في البداية", - "appendRule": "إضافة قاعدة في النهاية" - }, - "validation": { - "conditionRequired": "شرط القاعدة مطلوب", - "invalidRule": "قاعدة غير صالحة" - } - } - }, - "profile": { - "viewer": { - "title": { - "create": "إنشاء ملف شخصي", - "edit": "تعديل الملف الشخصي" - }, - "buttons": { - "save": "حفظ", - "cancel": "إلغاء" - }, - "fields": { - "type": "النوع", - "name": "الاسم", - "description": "الوصف", - "subscriptionUrl": "رابط الاشتراك", - "httpTimeout": "HTTP Request Timeout", - "updateInterval": "فاصل التحديث", - "useSystemProxy": "استخدام وكيل النظام", - "useClashProxy": "استخدام وكيل Clash", - "acceptInvalidCerts": "قبول الشهادات غير الصالحة (خطر)", - "allowAutoUpdate": "Allow Auto Update" - }, - "notifications": { - "creationRetry": "Profile creation failed, retrying with Clash proxy...", - "creationSuccess": "Profile creation succeeded with Clash proxy" - } - }, - "fileInput": { - "chooseFile": "اختر ملف" - }, - "notifications": { - "saved": "Saved successfully" - }, - "proxiesEditor": { - "title": "تعديل الوكلاء", - "placeholders": { - "multiUri": "استخدم أسطرًا جديدة لعدّة عناوين URI (يدعم التشفير Base64)" - }, - "actions": { - "prepend": "إضافة وكيل في البداية", - "append": "إضافة وكيل في النهاية" - } - }, - "groupsEditor": { - "title": "تعديل مجموعات الوكلاء", - "errors": { - "nameRequired": "اسم المجموعة مطلوب", - "nameExists": "اسم المجموعة موجود بالفعل" - }, - "fields": { - "type": "نوع المجموعة", - "name": "اسم المجموعة", - "icon": "أيقونة مجموعة الوكلاء", - "proxies": "استخدام الوكلاء", - "provider": "استخدام المزود", - "healthCheckUrl": "رابط فحص الصحة", - "expectedStatus": "الحالة المتوقعة", - "interval": "الفاصل الزمني", - "timeout": "مهلة", - "maxFailedTimes": "الحد الأقصى لمحاولات الفشل", - "interfaceName": "اسم الواجهة", - "routingMark": "علامة التوجيه", - "filter": "تصفية", - "excludeFilter": "استبعاد المرشح", - "excludeType": "استبعاد النوع", - "includeAll": "تضمين جميع الوكلاء والمزودين", - "includeAllProxies": "تضمين جميع الوكلاء", - "includeAllProviders": "تضمين جميع المزودين" - }, - "toggles": { - "lazy": "كسول", - "disableUdp": "تعطيل UDP", - "hidden": "مخفي" - }, - "actions": { - "prepend": "إضافة مجموعة في البداية", - "append": "إضافة مجموعة في النهاية" - } - }, - "menu": { - "home": "Home", - "select": "اختيار", - "editInfo": "تعديل المعلومات", - "editFile": "تعديل الملف", - "editRules": "تعديل القواعد", - "editProxies": "تعديل الوكلاء", - "editGroups": "تعديل مجموعات الوكلاء", - "extendConfig": "توسيع الإعدادات", - "extendScript": "توسيع السكربت", - "openFile": "فتح الملف", - "update": "تحديث", - "updateViaProxy": "Update via proxy", - "delete": "حذف" - }, - "item": { - "tooltips": { - "showLast": "Click to show last update time", - "showNext": "Click to show next update" - }, - "status": { - "lastUpdateFailed": "Last Update failed", - "nextUp": "Next Up", - "noSchedule": "No schedule", - "unknown": "Unknown", - "autoUpdateDisabled": "Auto update disabled" - } - }, - "confirm": { - "delete": { - "title": "تأكيد الحذف", - "message": "لا يمكن التراجع عن هذه العملية" - } - }, - "logViewer": { - "title": "وحدة التحكم للسكريبت" - }, - "more": { - "global": { - "merge": "Global Merge", - "script": "Global Script" - }, - "chips": { - "merge": "Merge", - "script": "Script" - } - }, - "editor": { - "format": "تنسيق المستند", - "readOnlyMessage": "لا يمكن التعديل في محرر القراءة فقط" - } - }, - "home": { - "proxyTunCard": { - "status": { - "systemProxyEnabled": "System proxy is enabled, your applications will access the network through the proxy", - "systemProxyDisabled": "System proxy is disabled, it is recommended for most users to turn on this option", - "tunModeServiceRequired": "TUN mode requires service mode, please install the service first", - "tunModeEnabled": "TUN mode is enabled, applications will access the network through the virtual network card", - "tunModeDisabled": "TUN mode is disabled, suitable for special applications" - }, - "tooltips": { - "systemProxy": "عند التمكين، سيتم تعديل إعدادات الوكيل في نظام التشغيل. إذا فشل التمكين، فقم بتعديل إعدادات الوكيل في النظام يدويًا.", - "tunMode": "TUN mode can take over all application traffic, suitable for special applications that do not follow the system proxy settings" - } - }, - "clashInfo": { - "title": "Clash Info", - "fields": { - "coreVersion": "Core Version", - "systemProxyAddress": "System Proxy Address", - "mixedPort": "Mixed Port", - "uptime": "Uptime", - "rulesCount": "Rules Count" - } - }, - "systemInfo": { - "title": "System Info", - "fields": { - "osInfo": "OS Info", - "autoLaunch": "إطلاق تلقائي", - "runningMode": "Running Mode", - "lastCheckUpdate": "Last Check Update", - "vergeVersion": "إصدار Verge" - }, - "actions": { - "settings": "الإعدادات" - }, - "labels": { - "enabled": "ممكّن", - "disabled": "معطّل" - }, - "tooltips": { - "autoLaunchAdmin": "Administrator mode may not support auto launch" - }, - "badges": { - "adminMode": "Administrator Mode", - "serviceMode": "وضع الخدمة", - "sidecarMode": "User Mode", - "adminServiceMode": "Admin + Service Mode" - } - }, - "ipInfo": { - "title": "IP Information", - "errors": { - "load": "Failed to get IP info" - }, - "labels": { - "retry": "Retry", - "ip": "IP", - "asn": "ASN", - "isp": "ISP", - "org": "ORG", - "location": "Location", - "timezone": "Timezone", - "autoRefresh": "Auto refresh", - "unknown": "Unknown" - } - }, - "traffic": { - "metrics": { - "uploadSpeed": "سرعة الرفع", - "downloadSpeed": "سرعة التنزيل", - "activeConnections": "Active Connections", - "uploaded": "تم الرفع", - "downloaded": "تم التنزيل", - "memoryUsage": "استهلاك الذاكرة" - }, - "legends": { - "upload": "Upload", - "download": "Download" - }, - "patterns": { - "minutes": "{{time}} Minutes" - } - }, - "currentProxy": { - "title": "Current Node", - "actions": { - "refreshDelay": "فحص التأخير" - }, - "labels": { - "globalMode": "الوضع العالمي", - "directMode": "الوضع المباشر", - "group": "Group", - "proxy": "Proxy", - "noActiveNode": "No active proxy node" - } - }, - "profile": { - "title": "الملفات الشخصية", - "actions": { - "import": "استيراد" - }, - "labels": { - "from": "من", - "updateTime": "وقت التحديث", - "usedTotal": "المستخدم / الإجمالي", - "expireTime": "وقت الانتهاء", - "clickToImport": "Click to import subscription" - } - } - }, - "connection": { - "fields": { - "host": "المضيف", - "downloaded": "تم التنزيل", - "uploaded": "تم الرفع", - "dlSpeed": "سرعة التنزيل", - "ulSpeed": "سرعة الرفع", - "chains": "السلاسل", - "rule": "قاعدة", - "process": "عملية", - "time": "الوقت", - "source": "المصدر", - "destination": "عنوان IP الوجهة", - "destinationPort": "ميناء الوجهة", - "type": "النوع" - }, - "actions": { - "closeConnection": "إغلاق الاتصال" - }, - "order": { - "default": "Default", - "uploadSpeed": "سرعة الرفع", - "downloadSpeed": "سرعة التنزيل" - } - }, - "settings": { - "system": { - "title": "إعدادات النظام", - "toggles": { - "tunMode": "وضع TUN", - "systemProxy": "وكيل النظام" - }, - "labels": { - "autoLaunch": "إطلاق تلقائي", - "silentStart": "بدء صامت" - }, - "tooltips": { - "autoLaunchAdmin": "Administrator mode may not support auto launch", - "silentStart": "بدء البرنامج في الخلفية دون عرض الواجهة" - } - }, - "proxyControl": { - "labels": { - "systemProxy": "وكيل النظام", - "tunMode": "وضع TUN" - }, - "tooltips": { - "systemProxy": "عند التمكين، سيتم تعديل إعدادات الوكيل في نظام التشغيل. إذا فشل التمكين، فقم بتعديل إعدادات الوكيل في النظام يدويًا.", - "tunMode": "وضع TUN (بطاقة شبكة افتراضية): يلتقط كل حركة المرور في النظام. عند تمكينه، لا حاجة لتفعيل وكيل النظام.", - "tunUnavailable": "TUN requires Service Mode or Admin Mode" - }, - "actions": { - "installService": "تثبيت الخدمة ", - "uninstallService": "Uninstall Service" - } - }, - "externalController": { - "title": "وحدة التحكم الخارجية", - "fields": { - "enable": "Enable External Controller", - "address": "وحدة التحكم الخارجية", - "secret": "المفتاح السري للنواة" - }, - "placeholders": { - "address": "Required", - "secret": "موصى به" - }, - "tooltips": { - "copy": "Copy to clipboard" - }, - "messages": { - "addressRequired": "Controller address cannot be empty", - "secretRequired": "Secret cannot be empty", - "copyFailed": "Failed to copy", - "controllerCopied": "Controller address copied to clipboard", - "secretCopied": "Secret copied to clipboard" - } - }, - "externalCors": { - "title": "External Cors Configuration", - "fields": { - "allowPrivateNetwork": "Allow private network access", - "allowedOrigins": "Allowed Origins" - }, - "placeholders": { - "origin": "Please enter a valid url" - }, - "actions": { - "add": "Add" - }, - "messages": { - "alwaysIncluded": "Always included origins: {{urls}}" - }, - "tooltips": { - "open": "External Cors Settings" - } - }, - "clash": { - "title": "إعدادات Clash", - "items": { - "allowLan": "السماح بالشبكة المحلية", - "dnsOverwrite": "DNS Overwrite", - "ipv6": "IPv6", - "unifiedDelay": "تأخير موحد", - "logLevel": "مستوى السجلات", - "portConfig": "تكوين المنافذ", - "external": "خارجي", - "webUI": "واجهة الويب", - "clashCore": "نواة Clash", - "openUwpTool": "فتح أداة UWP", - "updateGeoData": "تحديث البيانات الجغرافية" - }, - "tooltips": { - "networkInterface": "واجهة الشبكة", - "unifiedDelay": "عند تفعيل التأخير الموحد، سيتم إجراء اختبارين للتأخير لتقليل الفروقات الناتجة عن مفاوضات الاتصال", - "logLevel": "This parameter is valid only for kernel log files in the log directory Service folder", - "openUwpTool": "منذ نظام ويندوز 8، يتم تقييد تطبيقات UWP من الوصول المباشر إلى المضيف المحلي. هذه الأداة تتيح تجاوز هذا التقييد" - }, - "options": { - "logLevel": { - "debug": "Debug", - "info": "Info", - "warning": "Warn", - "error": "Error", - "silent": "Silent" - } - }, - "messages": { - "geoDataUpdated": "تم تحديث البيانات الجغرافية" - }, - "port": { - "title": "تكوين المنافذ", - "fields": { - "mixed": "منفذ مختلط", - "socks": "منفذ SOCKS", - "http": "منفذ HTTP(S)", - "redir": "منفذ إعادة التوجيه", - "tproxy": "منفذ Tproxy" - }, - "actions": { - "random": "منفذ عشوائي" - }, - "messages": { - "saved": "Port settings saved", - "saveFailed": "Failed to save port settings" - } - } - }, - "liteMode": { - "title": "LightWeight Mode Settings", - "actions": { - "enterNow": "Enter LightWeight Mode Now" - }, - "toggles": { - "autoEnter": "Auto Enter LightWeight Mode" - }, - "tooltips": { - "autoEnter": "Enable to automatically activate LightWeight Mode after the window is closed for a period of time" - }, - "fields": { - "delay": "Auto Enter LightWeight Mode Delay" - }, - "messages": { - "autoEnterHint": "When closing the window, LightWeight Mode will be automatically activated after {{n}} minutes" - } - }, - "backup": { - "title": "إعداد النسخ الاحتياطي", - "tabs": { - "local": "Local backup", - "webdav": "WebDAV backup" - }, - "actions": { - "selectTarget": "Select backup target", - "backup": "نسخ احتياطي", - "refresh": "تحديث", - "save": "حفظ", - "export": "Export", - "exportBackup": "Export Backup", - "delete": "حذف", - "deleteBackup": "حذف النسخة الاحتياطية", - "restore": "استعادة", - "restoreBackup": "استعادة النسخة الاحتياطية" - }, - "fields": { - "webdavUrl": "عنوان خادم WebDAV", - "username": "اسم المستخدم", - "password": "كلمة المرور", - "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." - }, - "messages": { - "webdavUrlRequired": "لا يمكن ترك رابط WebDAV فارغًا", - "invalidWebdavUrl": "تنسيق رابط WebDAV غير صالح", - "usernameRequired": "لا يمكن ترك اسم المستخدم فارغًا", - "passwordRequired": "لا يمكن ترك كلمة المرور فارغة", - "webdavConfigSaved": "تم حفظ إعدادات WebDAV بنجاح", - "webdavConfigSaveFailed": "فشل حفظ إعدادات WebDAV: {{error}}", - "backupCreated": "تم إنشاء النسخة الاحتياطية بنجاح", - "backupFailed": "فشل في النسخ الاحتياطي: {{error}}", - "localBackupCreated": "Local backup created successfully", - "localBackupFailed": "Local backup failed", - "restoreSuccess": "تمت الاستعادة بنجاح، سيعاد تشغيل التطبيق خلال ثانية واحدة", - "localBackupExported": "Local backup exported successfully", - "localBackupExportFailed": "Failed to export local backup", - "confirmDelete": "هل تريد بالتأكيد حذف ملف النسخة الاحتياطية هذا؟", - "confirmRestore": "هل تريد بالتأكيد استعادة ملف النسخة الاحتياطية هذا؟" - }, - "table": { - "filename": "اسم الملف", - "backupTime": "وقت النسخ الاحتياطي", - "actions": "الإجراءات", - "noBackups": "لا توجد نسخ احتياطية متاحة", - "rowsPerPage": "Rows per page" - } - }, - "verge": { - "basic": { - "title": "الإعدادات الأساسية Verge", - "items": { - "language": "اللغة", - "themeMode": "وضع السمة", - "trayClickEvent": "حدث النقر على الأيقونة في شريط المهام", - "copyEnvType": "نسخ نوع البيئة", - "startPage": "صفحة البدء", - "startupScript": "سكريبت بدء التشغيل", - "themeSetting": "إعدادات السمة", - "layoutSetting": "إعدادات التخطيط", - "misc": "متفرقات", - "hotkeySetting": "إعدادات الاختصارات" - }, - "actions": { - "browse": "استعراض", - "clear": "مسح" - }, - "trayOptions": { - "showMainWindow": "إظهار النافذة الرئيسية", - "showTrayMenu": "Show Tray Menu", - "disable": "تعطيل" - } - }, - "advanced": { - "title": "الإعدادات الأساسية Verge", - "items": { - "backupSetting": "إعداد النسخ الاحتياطي", - "runtimeConfig": "تكوين وقت التشغيل", - "openConfDir": "فتح مجلد التكوين", - "openCoreDir": "فتح مجلد النواة", - "openLogsDir": "فتح مجلد السجلات", - "checkUpdates": "التحقق من وجود تحديثات", - "openDevTools": "أدوات المطور", - "liteModeSettings": "LightWeight Mode Settings", - "exit": "خروج", - "exportDiagnostics": "Export Diagnostic Info", - "vergeVersion": "إصدار Verge" - }, - "tooltips": { - "backupInfo": "Support local or WebDAV backup of configuration files", - "openConfDir": "إذا عمل البرنامج بشكل غير طبيعي، قم بالنسخ الاحتياطي ثم حذف جميع الملفات في هذا المجلد ثم أعد تشغيل البرنامج", - "liteMode": "إيقاف الواجهة الرسومية والإبقاء على تشغيل النواة" - }, - "actions": { - "copyVersion": "Copy Version" - }, - "notifications": { - "latestVersion": "أنت على أحدث إصدار حاليًا", - "versionCopied": "Version copied to clipboard" - } - }, - "theme": { - "title": "إعدادات السمة", - "fields": { - "primaryColor": "اللون الأساسي", - "secondaryColor": "اللون الثانوي", - "primaryText": "النص الأساسي", - "secondaryText": "النص الثانوي", - "infoColor": "لون المعلومات", - "warningColor": "لون التحذير", - "errorColor": "لون الخطأ", - "successColor": "لون النجاح", - "fontFamily": "عائلة الخط", - "cssInjection": "حقن CSS" - }, - "actions": { - "editCss": "Edit CSS" - }, - "dialogs": { - "editCssTitle": "Edit CSS" - } - }, - "layout": { - "title": "إعدادات التخطيط", - "fields": { - "preferSystemTitlebar": "Prefer System Titlebar", - "trafficGraph": "مخطط حركة المرور", - "memoryUsage": "استهلاك الذاكرة", - "proxyGroupIcon": "أيقونة مجموعة الوكلاء", - "hoverNavigator": "Hover Jump Navigator", - "hoverNavigatorDelay": "Hover Jump Navigator Delay", - "navIcon": "أيقونة التنقل", - "trayIcon": "أيقونة شريط المهام", - "showProxyGroupsInline": "Show Proxy Groups Inline", - "commonTrayIcon": "أيقونة شريط مهام عامة", - "systemProxyTrayIcon": "أيقونة شريط المهام لوكيل النظام", - "tunTrayIcon": "أيقونة شريط المهام لـ TUN" - }, - "tooltips": { - "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", - "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" - }, - "options": { - "icon": { - "monochrome": "أحادي اللون", - "colorful": "ملون", - "disable": "تعطيل" - } - } - } - }, - "common": { - "notifications": { - "copySuccess": "تم النسخ بنجاح" - } - }, - "misc": { - "title": "متفرقات", - "fields": { - "appLogLevel": "مستوى سجلات التطبيق", - "appLogMaxSize": "App Log Max Size", - "appLogMaxCount": "App Log Max Count", - "autoCloseConnections": "إغلاق الاتصالات تلقائيًا", - "autoCheckUpdate": "فحص التحديث تلقائيًا", - "enableBuiltinEnhanced": "تفعيل التحسين المدمج", - "proxyLayoutColumns": "أعمدة عرض الوكيل", - "autoLogClean": "تنظيف السجلات تلقائيًا", - "autoDelayDetection": "اكتشاف التأخير التلقائي", - "defaultLatencyTest": "اختبار التأخير الافتراضي", - "defaultLatencyTimeout": "مهلة التأخير الافتراضية" - }, - "tooltips": { - "autoCloseConnections": "إنهاء الاتصالات القائمة عند تغيير اختيار مجموعة الوكيل أو وضع الوكيل", - "enableBuiltinEnhanced": "معالجة توافق ملف التكوين", - "autoDelayDetection": "يختبر زمن استجابة العقدة الحالية على نحو دوري في الخلفية", - "defaultLatencyTest": "يُستخدم فقط لاختبار طلب HTTP العميل. لن يؤثر على ملف التكوين" - }, - "options": { - "proxyLayoutColumns": { - "auto": "أعمدة تلقائية" - }, - "autoLogClean": { - "never": "عدم التنظيف أبدًا", - "retainDays": "الاحتفاظ لمدة {{n}} يومًا" - } - } - }, - "update": { - "title": "New Version v{{version}}", - "actions": { - "goToRelease": "الانتقال إلى صفحة الإصدارات", - "update": "تحديث" - }, - "messages": { - "portableError": "الإصدار المحمول لا يدعم التحديث داخل التطبيق. يرجى التنزيل والاستبدال يدويًا", - "breakChangeError": "هذا الإصدار هو تحديث رئيسي ولا يدعم التحديث داخل التطبيق. يرجى إلغاء التثبيت وتنزيل الإصدار الجديد وتثبيته يدويًا" - } - }, - "sysproxy": { - "title": "إعداد وكيل النظام", - "fieldsets": { - "currentStatus": "الوكيل الحالي للنظام" - }, - "fields": { - "enableStatus": "حالة التمكين:", - "serverAddr": "عنوان الخادم:", - "pacUrl": "رابط PAC:", - "proxyHost": "مضيف الوكيل", - "usePacMode": "استخدام وضع PAC", - "proxyGuard": "حماية الوكيل", - "guardDuration": "مدة الحماية", - "alwaysUseDefaultBypass": "استخدام التخطي الافتراضي دائمًا", - "proxyBypass": "إعدادات تخطي الوكيل:", - "bypass": "تخطي:", - "pacScriptContent": "محتوى سكريبت PAC" - }, - "tooltips": { - "proxyGuard": "عند التمكين، يمنع برامج أخرى من تعديل إعدادات وكيل النظام" - }, - "messages": { - "durationTooShort": "لا يمكن أن تقل مدة خادم الوكيل عن ثانية واحدة", - "invalidBypass": "تنسيق التخطي غير صالح", - "invalidProxyHost": "تنسيق مضيف الوكيل غير صالح" - }, - "actions": { - "editPac": "تعديل PAC" - } - }, - "tun": { - "title": "وضع TUN", - "actions": { - "reset": "إعادة تعيين إلى الافتراضي" - }, - "fields": { - "stack": "مكدس TUN", - "device": "Device Name", - "autoRoute": "توجيه تلقائي", - "strictRoute": "توجيه صارم", - "autoDetectInterface": "الكشف التلقائي عن الواجهة", - "dnsHijack": "اختطاف DNS", - "mtu": "وحدة الإرسال القصوى" - }, - "tooltips": { - "dnsHijack": "Please use , to separate multiple DNS servers" - }, - "messages": { - "applied": "تم تطبيق الإعدادات" - } - }, - "dns": { - "dialog": { - "title": "DNS Overwrite", - "warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled" - }, - "sections": { - "general": "DNS Settings", - "fallbackFilter": "Fallback Filter Settings", - "hosts": "Hosts Settings" - }, - "fields": { - "enable": "Enable DNS", - "listen": "DNS Listen", - "enhancedMode": "Enhanced Mode", - "fakeIpRange": "Fake IP Range", - "fakeIpFilterMode": "Fake IP Filter Mode", - "ipv6": { - "label": "IPv6", - "description": "Enable IPv6 DNS resolution" - }, - "preferH3": { - "label": "Prefer H3", - "description": "DNS DOH uses HTTP/3" - }, - "respectRules": { - "label": "Respect Rules", - "description": "DNS connections follow routing rules" - }, - "useHosts": { - "label": "Use Hosts", - "description": "Enable to resolve hosts through hosts file" - }, - "useSystemHosts": { - "label": "Use System Hosts", - "description": "Enable to resolve hosts through system hosts file" - }, - "directPolicy": { - "label": "Direct Nameserver Follow Policy", - "description": "Whether to follow nameserver policy" - }, - "defaultNameserver": { - "label": "Default Nameserver", - "description": "Default DNS servers used to resolve DNS servers" - }, - "nameserver": { - "label": "Nameserver", - "description": "List of DNS servers, comma separated" - }, - "fallback": { - "label": "Fallback", - "description": "List of fallback DNS servers, comma separated" - }, - "proxy": { - "label": "Proxy Server Nameserver", - "description": "DNS servers for proxy node domain resolution" - }, - "directNameserver": { - "label": "Direct Nameserver", - "description": "DNS servers for direct exit domain resolution, supports 'system' keyword, comma separated" - }, - "fakeIpFilter": { - "label": "Fake IP Filter", - "description": "Domains that skip fake IP resolution, comma separated" - }, - "nameserverPolicy": { - "label": "Nameserver Policy", - "description": "Domain-specific DNS server, multiple servers separated by semicolons, format: domain=server1;server2" - }, - "geoipFiltering": { - "label": "GeoIP Filtering", - "description": "Enable GeoIP filtering for fallback" - }, - "geoipCode": "GeoIP Code", - "fallbackIpCidr": { - "label": "Fallback IP CIDR", - "description": "IP CIDRs not using fallback servers, comma separated" - }, - "fallbackDomain": { - "label": "Fallback Domain", - "description": "Domains using fallback servers, comma separated" - }, - "hosts": { - "label": "Hosts", - "description": "Custom domain to IP or domain mapping" - } - }, - "messages": { - "saved": "DNS settings saved", - "configError": "DNS configuration error:" - }, - "errors": { - "invalid": "Invalid configuration" - } - } - }, - "providers": { - "notices": { - "updateSuccess": "{{name}} updated successfully", - "updateFailed": "Failed to update {{name}}: {{message}}", - "genericError": "Update failed: {{message}}", - "none": "No providers available to update", - "allUpdated": "All providers updated successfully" - } - }, - "test": { - "item": { - "actions": { - "test": "اختبار" - } - }, - "viewer": { - "title": { - "create": "إنشاء اختبار", - "edit": "تعديل الاختبار" - }, - "fields": { - "url": "رابط الاختبار" - } - } - } - }, "common": { "editorModes": { "visualization": "تصور", @@ -1207,5 +220,1000 @@ "unlock": "Unlock menu order", "lock": "Lock menu order" } + }, + "ruleEditor": { + "title": "تعديل القواعد", + "form": { + "labels": { + "type": "نوع القاعدة", + "content": "محتوى القاعدة", + "proxyPolicy": "سياسة الوكيل" + }, + "toggles": { + "noResolve": "لا يوجد حل" + }, + "actions": { + "prependRule": "إضافة قاعدة في البداية", + "appendRule": "إضافة قاعدة في النهاية" + }, + "validation": { + "conditionRequired": "شرط القاعدة مطلوب", + "invalidRule": "قاعدة غير صالحة" + } + } + }, + "profile": { + "viewer": { + "title": { + "create": "إنشاء ملف شخصي", + "edit": "تعديل الملف الشخصي" + }, + "buttons": { + "save": "حفظ", + "cancel": "إلغاء" + }, + "fields": { + "type": "النوع", + "name": "الاسم", + "description": "الوصف", + "subscriptionUrl": "رابط الاشتراك", + "httpTimeout": "HTTP Request Timeout", + "updateInterval": "فاصل التحديث", + "useSystemProxy": "استخدام وكيل النظام", + "useClashProxy": "استخدام وكيل Clash", + "acceptInvalidCerts": "قبول الشهادات غير الصالحة (خطر)", + "allowAutoUpdate": "Allow Auto Update" + }, + "notifications": { + "creationRetry": "Profile creation failed, retrying with Clash proxy...", + "creationSuccess": "Profile creation succeeded with Clash proxy" + } + }, + "fileInput": { + "chooseFile": "اختر ملف" + }, + "notifications": { + "saved": "Saved successfully" + }, + "proxiesEditor": { + "title": "تعديل الوكلاء", + "placeholders": { + "multiUri": "استخدم أسطرًا جديدة لعدّة عناوين URI (يدعم التشفير Base64)" + }, + "actions": { + "prepend": "إضافة وكيل في البداية", + "append": "إضافة وكيل في النهاية" + } + }, + "groupsEditor": { + "title": "تعديل مجموعات الوكلاء", + "errors": { + "nameRequired": "اسم المجموعة مطلوب", + "nameExists": "اسم المجموعة موجود بالفعل" + }, + "fields": { + "type": "نوع المجموعة", + "name": "اسم المجموعة", + "icon": "أيقونة مجموعة الوكلاء", + "proxies": "استخدام الوكلاء", + "provider": "استخدام المزود", + "healthCheckUrl": "رابط فحص الصحة", + "expectedStatus": "الحالة المتوقعة", + "interval": "الفاصل الزمني", + "timeout": "مهلة", + "maxFailedTimes": "الحد الأقصى لمحاولات الفشل", + "interfaceName": "اسم الواجهة", + "routingMark": "علامة التوجيه", + "filter": "تصفية", + "excludeFilter": "استبعاد المرشح", + "excludeType": "استبعاد النوع", + "includeAll": "تضمين جميع الوكلاء والمزودين", + "includeAllProxies": "تضمين جميع الوكلاء", + "includeAllProviders": "تضمين جميع المزودين" + }, + "toggles": { + "lazy": "كسول", + "disableUdp": "تعطيل UDP", + "hidden": "مخفي" + }, + "actions": { + "prepend": "إضافة مجموعة في البداية", + "append": "إضافة مجموعة في النهاية" + } + }, + "menu": { + "home": "Home", + "select": "اختيار", + "editInfo": "تعديل المعلومات", + "editFile": "تعديل الملف", + "editRules": "تعديل القواعد", + "editProxies": "تعديل الوكلاء", + "editGroups": "تعديل مجموعات الوكلاء", + "extendConfig": "توسيع الإعدادات", + "extendScript": "توسيع السكربت", + "openFile": "فتح الملف", + "update": "تحديث", + "updateViaProxy": "Update via proxy", + "delete": "حذف" + }, + "item": { + "tooltips": { + "showLast": "Click to show last update time", + "showNext": "Click to show next update" + }, + "status": { + "lastUpdateFailed": "Last Update failed", + "nextUp": "Next Up", + "noSchedule": "No schedule", + "unknown": "Unknown", + "autoUpdateDisabled": "Auto update disabled" + } + }, + "confirm": { + "delete": { + "title": "تأكيد الحذف", + "message": "لا يمكن التراجع عن هذه العملية" + } + }, + "logViewer": { + "title": "وحدة التحكم للسكريبت" + }, + "more": { + "global": { + "merge": "Global Merge", + "script": "Global Script" + }, + "chips": { + "merge": "Merge", + "script": "Script" + } + }, + "editor": { + "format": "تنسيق المستند", + "readOnlyMessage": "لا يمكن التعديل في محرر القراءة فقط" + } + }, + "home": { + "proxyTunCard": { + "status": { + "systemProxyEnabled": "System proxy is enabled, your applications will access the network through the proxy", + "systemProxyDisabled": "System proxy is disabled, it is recommended for most users to turn on this option", + "tunModeServiceRequired": "TUN mode requires service mode, please install the service first", + "tunModeEnabled": "TUN mode is enabled, applications will access the network through the virtual network card", + "tunModeDisabled": "TUN mode is disabled, suitable for special applications" + }, + "tooltips": { + "systemProxy": "عند التمكين، سيتم تعديل إعدادات الوكيل في نظام التشغيل. إذا فشل التمكين، فقم بتعديل إعدادات الوكيل في النظام يدويًا.", + "tunMode": "TUN mode can take over all application traffic, suitable for special applications that do not follow the system proxy settings" + } + }, + "clashInfo": { + "title": "Clash Info", + "fields": { + "coreVersion": "Core Version", + "systemProxyAddress": "System Proxy Address", + "mixedPort": "Mixed Port", + "uptime": "Uptime", + "rulesCount": "Rules Count" + } + }, + "systemInfo": { + "title": "System Info", + "fields": { + "osInfo": "OS Info", + "autoLaunch": "إطلاق تلقائي", + "runningMode": "Running Mode", + "lastCheckUpdate": "Last Check Update", + "vergeVersion": "إصدار Verge" + }, + "actions": { + "settings": "الإعدادات" + }, + "labels": { + "enabled": "ممكّن", + "disabled": "معطّل" + }, + "tooltips": { + "autoLaunchAdmin": "Administrator mode may not support auto launch" + }, + "badges": { + "adminMode": "Administrator Mode", + "serviceMode": "وضع الخدمة", + "sidecarMode": "User Mode", + "adminServiceMode": "Admin + Service Mode" + } + }, + "ipInfo": { + "title": "IP Information", + "errors": { + "load": "Failed to get IP info" + }, + "labels": { + "retry": "Retry", + "ip": "IP", + "asn": "ASN", + "isp": "ISP", + "org": "ORG", + "location": "Location", + "timezone": "Timezone", + "autoRefresh": "Auto refresh", + "unknown": "Unknown" + } + }, + "traffic": { + "metrics": { + "uploadSpeed": "سرعة الرفع", + "downloadSpeed": "سرعة التنزيل", + "activeConnections": "Active Connections", + "uploaded": "تم الرفع", + "downloaded": "تم التنزيل", + "memoryUsage": "استهلاك الذاكرة" + }, + "legends": { + "upload": "Upload", + "download": "Download" + }, + "patterns": { + "minutes": "{{time}} Minutes" + } + }, + "currentProxy": { + "title": "Current Node", + "actions": { + "refreshDelay": "فحص التأخير" + }, + "labels": { + "globalMode": "الوضع العالمي", + "directMode": "الوضع المباشر", + "group": "Group", + "proxy": "Proxy", + "noActiveNode": "No active proxy node" + } + }, + "profile": { + "title": "الملفات الشخصية", + "actions": { + "import": "استيراد" + }, + "labels": { + "from": "من", + "updateTime": "وقت التحديث", + "usedTotal": "المستخدم / الإجمالي", + "expireTime": "وقت الانتهاء", + "clickToImport": "Click to import subscription" + } + }, + "page": { + "title": "Home", + "tooltips": { + "lightweightMode": "وضع الأداء الخفيف", + "manual": "دليل", + "settings": "Home Settings" + }, + "cards": { + "trafficStats": "Traffic Stats", + "networkSettings": "Network Settings", + "proxyMode": "Proxy Mode" + }, + "settings": { + "title": "Home Settings", + "cards": { + "profile": "Profile Card", + "currentProxy": "Current Proxy Card", + "network": "Network Settings Card", + "proxyMode": "Proxy Mode Card", + "traffic": "Traffic Stats Card", + "tests": "Website Tests Card", + "ip": "IP Information Card", + "clashInfo": "Clash Info Cards", + "systemInfo": "System Info Cards" + } + } + } + }, + "connection": { + "fields": { + "host": "المضيف", + "downloaded": "تم التنزيل", + "uploaded": "تم الرفع", + "dlSpeed": "سرعة التنزيل", + "ulSpeed": "سرعة الرفع", + "chains": "السلاسل", + "rule": "قاعدة", + "process": "عملية", + "time": "الوقت", + "source": "المصدر", + "destination": "عنوان IP الوجهة", + "destinationPort": "ميناء الوجهة", + "type": "النوع" + }, + "actions": { + "closeConnection": "إغلاق الاتصال" + }, + "order": { + "default": "Default", + "uploadSpeed": "سرعة الرفع", + "downloadSpeed": "سرعة التنزيل" + } + }, + "settings": { + "system": { + "title": "إعدادات النظام", + "toggles": { + "tunMode": "وضع TUN", + "systemProxy": "وكيل النظام" + }, + "labels": { + "autoLaunch": "إطلاق تلقائي", + "silentStart": "بدء صامت" + }, + "tooltips": { + "autoLaunchAdmin": "Administrator mode may not support auto launch", + "silentStart": "بدء البرنامج في الخلفية دون عرض الواجهة" + } + }, + "proxyControl": { + "labels": { + "systemProxy": "وكيل النظام", + "tunMode": "وضع TUN" + }, + "tooltips": { + "systemProxy": "عند التمكين، سيتم تعديل إعدادات الوكيل في نظام التشغيل. إذا فشل التمكين، فقم بتعديل إعدادات الوكيل في النظام يدويًا.", + "tunMode": "وضع TUN (بطاقة شبكة افتراضية): يلتقط كل حركة المرور في النظام. عند تمكينه، لا حاجة لتفعيل وكيل النظام.", + "tunUnavailable": "TUN requires Service Mode or Admin Mode" + }, + "actions": { + "installService": "تثبيت الخدمة ", + "uninstallService": "Uninstall Service" + } + }, + "externalController": { + "title": "وحدة التحكم الخارجية", + "fields": { + "enable": "Enable External Controller", + "address": "وحدة التحكم الخارجية", + "secret": "المفتاح السري للنواة" + }, + "placeholders": { + "address": "Required", + "secret": "موصى به" + }, + "tooltips": { + "copy": "Copy to clipboard" + }, + "messages": { + "addressRequired": "Controller address cannot be empty", + "secretRequired": "Secret cannot be empty", + "copyFailed": "Failed to copy", + "controllerCopied": "Controller address copied to clipboard", + "secretCopied": "Secret copied to clipboard" + } + }, + "externalCors": { + "title": "External Cors Configuration", + "fields": { + "allowPrivateNetwork": "Allow private network access", + "allowedOrigins": "Allowed Origins" + }, + "placeholders": { + "origin": "Please enter a valid url" + }, + "actions": { + "add": "Add" + }, + "messages": { + "alwaysIncluded": "Always included origins: {{urls}}" + }, + "tooltips": { + "open": "External Cors Settings" + } + }, + "clash": { + "title": "إعدادات Clash", + "items": { + "allowLan": "السماح بالشبكة المحلية", + "dnsOverwrite": "DNS Overwrite", + "ipv6": "IPv6", + "unifiedDelay": "تأخير موحد", + "logLevel": "مستوى السجلات", + "portConfig": "تكوين المنافذ", + "external": "خارجي", + "webUI": "واجهة الويب", + "clashCore": "نواة Clash", + "openUwpTool": "فتح أداة UWP", + "updateGeoData": "تحديث البيانات الجغرافية" + }, + "tooltips": { + "networkInterface": "واجهة الشبكة", + "unifiedDelay": "عند تفعيل التأخير الموحد، سيتم إجراء اختبارين للتأخير لتقليل الفروقات الناتجة عن مفاوضات الاتصال", + "logLevel": "This parameter is valid only for kernel log files in the log directory Service folder", + "openUwpTool": "منذ نظام ويندوز 8، يتم تقييد تطبيقات UWP من الوصول المباشر إلى المضيف المحلي. هذه الأداة تتيح تجاوز هذا التقييد" + }, + "options": { + "logLevel": { + "debug": "Debug", + "info": "Info", + "warning": "Warn", + "error": "Error", + "silent": "Silent" + } + }, + "messages": { + "geoDataUpdated": "تم تحديث البيانات الجغرافية" + }, + "port": { + "title": "تكوين المنافذ", + "fields": { + "mixed": "منفذ مختلط", + "socks": "منفذ SOCKS", + "http": "منفذ HTTP(S)", + "redir": "منفذ إعادة التوجيه", + "tproxy": "منفذ Tproxy" + }, + "actions": { + "random": "منفذ عشوائي" + }, + "messages": { + "saved": "Port settings saved", + "saveFailed": "Failed to save port settings" + } + } + }, + "liteMode": { + "title": "LightWeight Mode Settings", + "actions": { + "enterNow": "Enter LightWeight Mode Now" + }, + "toggles": { + "autoEnter": "Auto Enter LightWeight Mode" + }, + "tooltips": { + "autoEnter": "Enable to automatically activate LightWeight Mode after the window is closed for a period of time" + }, + "fields": { + "delay": "Auto Enter LightWeight Mode Delay" + }, + "messages": { + "autoEnterHint": "When closing the window, LightWeight Mode will be automatically activated after {{n}} minutes" + } + }, + "backup": { + "title": "إعداد النسخ الاحتياطي", + "tabs": { + "local": "Local backup", + "webdav": "WebDAV backup" + }, + "actions": { + "selectTarget": "Select backup target", + "backup": "نسخ احتياطي", + "refresh": "تحديث", + "save": "حفظ", + "export": "Export", + "exportBackup": "Export Backup", + "delete": "حذف", + "deleteBackup": "حذف النسخة الاحتياطية", + "restore": "استعادة", + "restoreBackup": "استعادة النسخة الاحتياطية" + }, + "fields": { + "webdavUrl": "عنوان خادم WebDAV", + "username": "اسم المستخدم", + "password": "كلمة المرور", + "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." + }, + "messages": { + "webdavUrlRequired": "لا يمكن ترك رابط WebDAV فارغًا", + "invalidWebdavUrl": "تنسيق رابط WebDAV غير صالح", + "usernameRequired": "لا يمكن ترك اسم المستخدم فارغًا", + "passwordRequired": "لا يمكن ترك كلمة المرور فارغة", + "webdavConfigSaved": "تم حفظ إعدادات WebDAV بنجاح", + "webdavConfigSaveFailed": "فشل حفظ إعدادات WebDAV: {{error}}", + "backupCreated": "تم إنشاء النسخة الاحتياطية بنجاح", + "backupFailed": "فشل في النسخ الاحتياطي: {{error}}", + "localBackupCreated": "Local backup created successfully", + "localBackupFailed": "Local backup failed", + "restoreSuccess": "تمت الاستعادة بنجاح، سيعاد تشغيل التطبيق خلال ثانية واحدة", + "localBackupExported": "Local backup exported successfully", + "localBackupExportFailed": "Failed to export local backup", + "confirmDelete": "هل تريد بالتأكيد حذف ملف النسخة الاحتياطية هذا؟", + "confirmRestore": "هل تريد بالتأكيد استعادة ملف النسخة الاحتياطية هذا؟" + }, + "table": { + "filename": "اسم الملف", + "backupTime": "وقت النسخ الاحتياطي", + "actions": "الإجراءات", + "noBackups": "لا توجد نسخ احتياطية متاحة", + "rowsPerPage": "Rows per page" + } + }, + "verge": { + "basic": { + "title": "الإعدادات الأساسية Verge", + "items": { + "language": "اللغة", + "themeMode": "وضع السمة", + "trayClickEvent": "حدث النقر على الأيقونة في شريط المهام", + "copyEnvType": "نسخ نوع البيئة", + "startPage": "صفحة البدء", + "startupScript": "سكريبت بدء التشغيل", + "themeSetting": "إعدادات السمة", + "layoutSetting": "إعدادات التخطيط", + "misc": "متفرقات", + "hotkeySetting": "إعدادات الاختصارات" + }, + "actions": { + "browse": "استعراض", + "clear": "مسح" + }, + "trayOptions": { + "showMainWindow": "إظهار النافذة الرئيسية", + "showTrayMenu": "Show Tray Menu", + "disable": "تعطيل" + } + }, + "advanced": { + "title": "الإعدادات الأساسية Verge", + "items": { + "backupSetting": "إعداد النسخ الاحتياطي", + "runtimeConfig": "تكوين وقت التشغيل", + "openConfDir": "فتح مجلد التكوين", + "openCoreDir": "فتح مجلد النواة", + "openLogsDir": "فتح مجلد السجلات", + "checkUpdates": "التحقق من وجود تحديثات", + "openDevTools": "أدوات المطور", + "liteModeSettings": "LightWeight Mode Settings", + "exit": "خروج", + "exportDiagnostics": "Export Diagnostic Info", + "vergeVersion": "إصدار Verge" + }, + "tooltips": { + "backupInfo": "Support local or WebDAV backup of configuration files", + "openConfDir": "إذا عمل البرنامج بشكل غير طبيعي، قم بالنسخ الاحتياطي ثم حذف جميع الملفات في هذا المجلد ثم أعد تشغيل البرنامج", + "liteMode": "إيقاف الواجهة الرسومية والإبقاء على تشغيل النواة" + }, + "actions": { + "copyVersion": "Copy Version" + }, + "notifications": { + "latestVersion": "أنت على أحدث إصدار حاليًا", + "versionCopied": "Version copied to clipboard" + } + }, + "theme": { + "title": "إعدادات السمة", + "fields": { + "primaryColor": "اللون الأساسي", + "secondaryColor": "اللون الثانوي", + "primaryText": "النص الأساسي", + "secondaryText": "النص الثانوي", + "infoColor": "لون المعلومات", + "warningColor": "لون التحذير", + "errorColor": "لون الخطأ", + "successColor": "لون النجاح", + "fontFamily": "عائلة الخط", + "cssInjection": "حقن CSS" + }, + "actions": { + "editCss": "Edit CSS" + }, + "dialogs": { + "editCssTitle": "Edit CSS" + } + }, + "layout": { + "title": "إعدادات التخطيط", + "fields": { + "preferSystemTitlebar": "Prefer System Titlebar", + "trafficGraph": "مخطط حركة المرور", + "memoryUsage": "استهلاك الذاكرة", + "proxyGroupIcon": "أيقونة مجموعة الوكلاء", + "hoverNavigator": "Hover Jump Navigator", + "hoverNavigatorDelay": "Hover Jump Navigator Delay", + "navIcon": "أيقونة التنقل", + "trayIcon": "أيقونة شريط المهام", + "showProxyGroupsInline": "Show Proxy Groups Inline", + "commonTrayIcon": "أيقونة شريط مهام عامة", + "systemProxyTrayIcon": "أيقونة شريط المهام لوكيل النظام", + "tunTrayIcon": "أيقونة شريط المهام لـ TUN" + }, + "tooltips": { + "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", + "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" + }, + "options": { + "icon": { + "monochrome": "أحادي اللون", + "colorful": "ملون", + "disable": "تعطيل" + } + } + } + }, + "common": { + "notifications": { + "copySuccess": "تم النسخ بنجاح" + } + }, + "misc": { + "title": "متفرقات", + "fields": { + "appLogLevel": "مستوى سجلات التطبيق", + "appLogMaxSize": "App Log Max Size", + "appLogMaxCount": "App Log Max Count", + "autoCloseConnections": "إغلاق الاتصالات تلقائيًا", + "autoCheckUpdate": "فحص التحديث تلقائيًا", + "enableBuiltinEnhanced": "تفعيل التحسين المدمج", + "proxyLayoutColumns": "أعمدة عرض الوكيل", + "autoLogClean": "تنظيف السجلات تلقائيًا", + "autoDelayDetection": "اكتشاف التأخير التلقائي", + "defaultLatencyTest": "اختبار التأخير الافتراضي", + "defaultLatencyTimeout": "مهلة التأخير الافتراضية" + }, + "tooltips": { + "autoCloseConnections": "إنهاء الاتصالات القائمة عند تغيير اختيار مجموعة الوكيل أو وضع الوكيل", + "enableBuiltinEnhanced": "معالجة توافق ملف التكوين", + "autoDelayDetection": "يختبر زمن استجابة العقدة الحالية على نحو دوري في الخلفية", + "defaultLatencyTest": "يُستخدم فقط لاختبار طلب HTTP العميل. لن يؤثر على ملف التكوين" + }, + "options": { + "proxyLayoutColumns": { + "auto": "أعمدة تلقائية" + }, + "autoLogClean": { + "never": "عدم التنظيف أبدًا", + "retainDays": "الاحتفاظ لمدة {{n}} يومًا" + } + } + }, + "update": { + "title": "New Version v{{version}}", + "actions": { + "goToRelease": "الانتقال إلى صفحة الإصدارات", + "update": "تحديث" + }, + "messages": { + "portableError": "الإصدار المحمول لا يدعم التحديث داخل التطبيق. يرجى التنزيل والاستبدال يدويًا", + "breakChangeError": "هذا الإصدار هو تحديث رئيسي ولا يدعم التحديث داخل التطبيق. يرجى إلغاء التثبيت وتنزيل الإصدار الجديد وتثبيته يدويًا" + } + }, + "sysproxy": { + "title": "إعداد وكيل النظام", + "fieldsets": { + "currentStatus": "الوكيل الحالي للنظام" + }, + "fields": { + "enableStatus": "حالة التمكين:", + "serverAddr": "عنوان الخادم:", + "pacUrl": "رابط PAC:", + "proxyHost": "مضيف الوكيل", + "usePacMode": "استخدام وضع PAC", + "proxyGuard": "حماية الوكيل", + "guardDuration": "مدة الحماية", + "alwaysUseDefaultBypass": "استخدام التخطي الافتراضي دائمًا", + "proxyBypass": "إعدادات تخطي الوكيل:", + "bypass": "تخطي:", + "pacScriptContent": "محتوى سكريبت PAC" + }, + "tooltips": { + "proxyGuard": "عند التمكين، يمنع برامج أخرى من تعديل إعدادات وكيل النظام" + }, + "messages": { + "durationTooShort": "لا يمكن أن تقل مدة خادم الوكيل عن ثانية واحدة", + "invalidBypass": "تنسيق التخطي غير صالح", + "invalidProxyHost": "تنسيق مضيف الوكيل غير صالح" + }, + "actions": { + "editPac": "تعديل PAC" + } + }, + "tun": { + "title": "وضع TUN", + "actions": { + "reset": "إعادة تعيين إلى الافتراضي" + }, + "fields": { + "stack": "مكدس TUN", + "device": "Device Name", + "autoRoute": "توجيه تلقائي", + "strictRoute": "توجيه صارم", + "autoDetectInterface": "الكشف التلقائي عن الواجهة", + "dnsHijack": "اختطاف DNS", + "mtu": "وحدة الإرسال القصوى" + }, + "tooltips": { + "dnsHijack": "Please use , to separate multiple DNS servers" + }, + "messages": { + "applied": "تم تطبيق الإعدادات" + } + }, + "dns": { + "dialog": { + "title": "DNS Overwrite", + "warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled" + }, + "sections": { + "general": "DNS Settings", + "fallbackFilter": "Fallback Filter Settings", + "hosts": "Hosts Settings" + }, + "fields": { + "enable": "Enable DNS", + "listen": "DNS Listen", + "enhancedMode": "Enhanced Mode", + "fakeIpRange": "Fake IP Range", + "fakeIpFilterMode": "Fake IP Filter Mode", + "ipv6": { + "label": "IPv6", + "description": "Enable IPv6 DNS resolution" + }, + "preferH3": { + "label": "Prefer H3", + "description": "DNS DOH uses HTTP/3" + }, + "respectRules": { + "label": "Respect Rules", + "description": "DNS connections follow routing rules" + }, + "useHosts": { + "label": "Use Hosts", + "description": "Enable to resolve hosts through hosts file" + }, + "useSystemHosts": { + "label": "Use System Hosts", + "description": "Enable to resolve hosts through system hosts file" + }, + "directPolicy": { + "label": "Direct Nameserver Follow Policy", + "description": "Whether to follow nameserver policy" + }, + "defaultNameserver": { + "label": "Default Nameserver", + "description": "Default DNS servers used to resolve DNS servers" + }, + "nameserver": { + "label": "Nameserver", + "description": "List of DNS servers, comma separated" + }, + "fallback": { + "label": "Fallback", + "description": "List of fallback DNS servers, comma separated" + }, + "proxy": { + "label": "Proxy Server Nameserver", + "description": "DNS servers for proxy node domain resolution" + }, + "directNameserver": { + "label": "Direct Nameserver", + "description": "DNS servers for direct exit domain resolution, supports 'system' keyword, comma separated" + }, + "fakeIpFilter": { + "label": "Fake IP Filter", + "description": "Domains that skip fake IP resolution, comma separated" + }, + "nameserverPolicy": { + "label": "Nameserver Policy", + "description": "Domain-specific DNS server, multiple servers separated by semicolons, format: domain=server1;server2" + }, + "geoipFiltering": { + "label": "GeoIP Filtering", + "description": "Enable GeoIP filtering for fallback" + }, + "geoipCode": "GeoIP Code", + "fallbackIpCidr": { + "label": "Fallback IP CIDR", + "description": "IP CIDRs not using fallback servers, comma separated" + }, + "fallbackDomain": { + "label": "Fallback Domain", + "description": "Domains using fallback servers, comma separated" + }, + "hosts": { + "label": "Hosts", + "description": "Custom domain to IP or domain mapping" + } + }, + "messages": { + "saved": "DNS settings saved", + "configError": "DNS configuration error:" + }, + "errors": { + "invalid": "Invalid configuration" + } + }, + "page": { + "title": "الإعدادات", + "actions": { + "manual": "دليل", + "telegram": "قناة تيليجرام", + "github": "مستودع Github" + } + } + }, + "providers": { + "notices": { + "updateSuccess": "{{name}} updated successfully", + "updateFailed": "Failed to update {{name}}: {{message}}", + "genericError": "Update failed: {{message}}", + "none": "No providers available to update", + "allUpdated": "All providers updated successfully" + } + }, + "test": { + "item": { + "actions": { + "test": "اختبار" + } + }, + "viewer": { + "title": { + "create": "إنشاء اختبار", + "edit": "تعديل الاختبار" + }, + "fields": { + "url": "رابط الاختبار" + } + }, + "page": { + "title": "اختبار", + "actions": { + "testAll": "اختبار الكل", + "new": "جديد" + } + } + }, + "proxies": { + "page": { + "title": { + "default": "مجموعات الوكلاء", + "chainMode": "Proxy Chain Mode" + }, + "actions": { + "toggleChain": "🔗 بروكسي السلسلة", + "connect": "Connect", + "disconnect": "Disconnect", + "connecting": "Connecting...", + "clearChainConfig": "Delete Chain Config" + }, + "provider": { + "title": "مزود الوكيل", + "actions": { + "updateAll": "تحديث الكل", + "update": "تحديث" + } + }, + "rules": { + "title": "Proxy Rules", + "select": "Select Rules" + }, + "labels": { + "proxyCount": "Proxy Count", + "delayCheckReset": "فحص التأخير لإلغاء الثابت" + }, + "tooltips": { + "locate": "الموقع", + "delayCheck": "فحص التأخير", + "sortDefault": "الترتيب الافتراضي", + "sortDelay": "الترتيب حسب التأخير", + "sortName": "الترتيب حسب الاسم", + "delayCheckUrl": "رابط فحص التأخير", + "showBasic": "إعدادات الوكيل الأساسية", + "showDetail": "تفاصيل الوكيل", + "filter": "تصفية" + }, + "placeholders": { + "filter": "شروط التصفية", + "delayCheckUrl": "رابط فحص التأخير" + }, + "chain": { + "header": "Chain Proxy Config", + "empty": "No proxy chain configured", + "instruction": "Click nodes in order to add to proxy chain", + "minimumNodes": "Chain proxy requires at least 2 nodes", + "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", + "connectFailed": "Failed to connect to proxy chain", + "disconnectFailed": "Failed to disconnect from proxy chain", + "duplicateNode": "Proxy node already exists in chain" + } + } + }, + "rules": { + "page": { + "title": "القواعد", + "provider": { + "trigger": "مزود القواعد", + "dialogTitle": "مزود القواعد", + "actions": { + "updateAll": "تحديث الكل", + "update": "تحديث" + } + } + } + }, + "profiles": { + "page": { + "title": "الملفات الشخصية", + "actions": { + "updateAll": "تحديث جميع الملفات الشخصية", + "viewRuntimeConfig": "عرض تكوين وقت التشغيل", + "reactivate": "إعادة تنشيط الملفات الشخصية", + "import": "استيراد", + "new": "جديد" + }, + "batch": { + "title": "Batch Operations", + "delete": "Delete Selected Profiles", + "selectAll": "Select All", + "deselectAll": "Deselect All", + "done": "Done", + "selected": "Selected", + "items": "items" + }, + "import": { + "placeholder": "رابط الملف الشخصي", + "paste": "لصق", + "clear": "مسح" + }, + "errors": { + "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", + "onlyYaml": "لا يتم دعم سوى ملفات YAML" + }, + "notifications": { + "importRetry": "Import failed, retrying with Clash proxy...", + "importFail": "Import failed even with Clash proxy", + "importNeedsRefresh": "Profile imported but may need manual refresh", + "importSuccess": "Profile imported successfully, please restart if not visible", + "profileSwitched": "تم التبديل إلى الملف الشخصي", + "profileReactivated": "تم إعادة تنشيط الملف الشخصي", + "switchInterrupted": "Profile switch interrupted by new selection", + "batchDeleted": "Selected profiles deleted successfully" + }, + "notices": { + "forceRefreshCompleted": "Force refresh completed", + "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" + } + } + }, + "connections": { + "page": { + "title": "الاتصالات", + "summary": { + "downloaded": "تم التنزيل", + "uploaded": "تم الرفع" + }, + "actions": { + "listView": "عرض القائمة", + "tableView": "عرض الجدول", + "pause": "إيقاف مؤقت", + "resume": "استأنف", + "closeAll": "إغلاق الكل" + } + } + }, + "logs": { + "page": { + "title": "السجلات", + "actions": { + "pause": "إيقاف مؤقت", + "resume": "استأنف", + "clear": "مسح" + }, + "filters": { + "all": "ALL", + "debug": "DEBUG", + "info": "INFO", + "warn": "WARN", + "error": "ERROR" + } + } + }, + "unlock": { + "page": { + "title": "Unlock Test", + "actions": { + "testing": "Testing..." + }, + "empty": "No unlock test items" + } } } diff --git a/src/locales/de.json b/src/locales/de.json index 3d234be8..1d01c781 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -13,192 +13,6 @@ "Save": "Speichern", "Delete": "Löschen", "Enable": "Aktivieren", - "pages": { - "home": { - "title": "Startseite", - "tooltips": { - "lightweightMode": "Leichtgewichtiger Modus", - "manual": "Bedienungsanleitung", - "settings": "Startseite-Einstellungen" - }, - "cards": { - "trafficStats": "Verkehrsstatistik", - "networkSettings": "Netzwerkeinstellungen", - "proxyMode": "Proxy-Modus" - }, - "settings": { - "title": "Startseite-Einstellungen", - "cards": { - "profile": "Abonnement-Karte", - "currentProxy": "Aktueller Proxy-Karte", - "network": "Netzwerkeinstellungen-Karte", - "proxyMode": "Proxy-Modus-Karte", - "traffic": "Verkehrsstatistik-Karte", - "tests": "Website-Tests-Karte", - "ip": "IP-Informationen-Karte", - "clashInfo": "Clash-Informationen-Karten", - "systemInfo": "Systeminformationen-Karten" - } - } - }, - "proxies": { - "title": { - "default": "Proxy-Gruppen", - "chainMode": "Proxy Chain Mode" - }, - "actions": { - "toggleChain": "🔗 Ketten-Proxy", - "connect": "Connect", - "disconnect": "Disconnect", - "connecting": "Connecting...", - "clearChainConfig": "Delete Chain Config" - }, - "provider": { - "title": "Proxy-Sammlung", - "actions": { - "updateAll": "Alle aktualisieren", - "update": "Aktualisieren" - } - }, - "rules": { - "title": "Proxy Rules", - "select": "Select Rules" - }, - "labels": { - "proxyCount": "Anzahl der Knoten", - "delayCheckReset": "Latenztest durchführen, um Fixierung aufzuheben" - }, - "tooltips": { - "locate": "Aktueller Knoten", - "delayCheck": "Latenztest", - "sortDefault": "Standard Sortierung", - "sortDelay": "Nach Latenz sortieren", - "sortName": "Nach Name sortieren", - "delayCheckUrl": "Latenztest-URL", - "showBasic": "Knotendetails ausblenden", - "showDetail": "Knotendetails anzeigen", - "filter": "Knoten filtern" - }, - "placeholders": { - "filter": "Filterbedingungen", - "delayCheckUrl": "Latenztest-URL" - }, - "chain": { - "header": "Chain Proxy Config", - "empty": "No proxy chain configured", - "instruction": "Click nodes in order to add to proxy chain", - "minimumNodes": "Chain proxy requires at least 2 nodes", - "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", - "connectFailed": "Failed to connect to proxy chain", - "disconnectFailed": "Failed to disconnect from proxy chain", - "duplicateNode": "Proxy node already exists in chain" - } - }, - "rules": { - "title": "Regeln", - "provider": { - "trigger": "Regelsammlung", - "dialogTitle": "Regelsammlung", - "actions": { - "updateAll": "Alle aktualisieren", - "update": "Aktualisieren" - } - } - }, - "profiles": { - "title": "Abonnement", - "actions": { - "updateAll": "Alle Abonnements aktualisieren", - "viewRuntimeConfig": "Laufzeit-Abonnement anzeigen", - "reactivate": "Abonnement erneut aktivieren", - "import": "Importieren", - "new": "Neu" - }, - "batch": { - "title": "Batch Operations", - "delete": "Delete Selected Profiles", - "selectAll": "Select All", - "deselectAll": "Deselect All", - "done": "Done", - "selected": "Selected", - "items": "items" - }, - "import": { - "placeholder": "Abonnement-Datei-Link", - "paste": "Einfügen", - "clear": "Löschen" - }, - "errors": { - "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", - "onlyYaml": "Nur YAML-Dateien werden unterstützt" - }, - "notifications": { - "importRetry": "Import des Abonnements fehlgeschlagen. Versuche es mit dem Clash-Proxy erneut...", - "importFail": "Import des Abonnements auch mit Clash-Proxy fehlgeschlagen", - "importNeedsRefresh": "Profile imported but may need manual refresh", - "importSuccess": "Profile imported successfully, please restart if not visible", - "profileSwitched": "Abonnement gewechselt", - "profileReactivated": "Abonnement erneut aktiviert", - "switchInterrupted": "Profile switch interrupted by new selection", - "batchDeleted": "Selected profiles deleted successfully" - }, - "notices": { - "forceRefreshCompleted": "Force refresh completed", - "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" - } - }, - "connections": { - "title": "Verbindungen", - "summary": { - "downloaded": "Heruntergeladen", - "uploaded": "Hochgeladen" - }, - "actions": { - "listView": "Listenansicht", - "tableView": "Tabellenansicht", - "pause": "Pausieren", - "resume": "Fortsetzen", - "closeAll": "Alle schließen" - } - }, - "settings": { - "title": "Einstellungen", - "actions": { - "manual": "Bedienungsanleitung", - "telegram": "Telegram-Kanal", - "github": "GitHub-Projektadresse" - } - }, - "logs": { - "title": "Protokolle", - "actions": { - "pause": "Pausieren", - "resume": "Fortsetzen", - "clear": "Löschen" - }, - "filters": { - "all": "ALL", - "debug": "DEBUG", - "info": "INFO", - "warn": "WARN", - "error": "ERROR" - } - }, - "test": { - "title": "Testen", - "actions": { - "testAll": "Alle testen", - "new": "Neu" - } - }, - "unlock": { - "title": "Entsperrungstest", - "actions": { - "testing": "Wird getestet..." - }, - "empty": "No unlock test items" - } - }, "Proxies": "Proxies", "Update At": "Aktualisiert am", "rule": "Regel", @@ -380,807 +194,6 @@ "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", - "components": { - "ruleEditor": { - "title": "Regeln bearbeiten", - "form": { - "labels": { - "type": "Regeltyp", - "content": "Regelinhalt", - "proxyPolicy": "Proxy-Strategie" - }, - "toggles": { - "noResolve": "DNS-Auflösung überspringen" - }, - "actions": { - "prependRule": "Vorherige Regel hinzufügen", - "appendRule": "Nachfolgende Regel hinzufügen" - }, - "validation": { - "conditionRequired": "Regelbedingung fehlt", - "invalidRule": "Ungültige Regel" - } - } - }, - "profile": { - "viewer": { - "title": { - "create": "Neue Konfiguration erstellen", - "edit": "Konfiguration bearbeiten" - }, - "buttons": { - "save": "Speichern", - "cancel": "Abbrechen" - }, - "fields": { - "type": "Typ", - "name": "Name", - "description": "Beschreibung", - "subscriptionUrl": "Abonnement-Link", - "httpTimeout": "HTTP Request Timeout", - "updateInterval": "Aktualisierungsintervall", - "useSystemProxy": "Systemproxy zur Aktualisierung verwenden", - "useClashProxy": "Kernel-Proxy zur Aktualisierung verwenden", - "acceptInvalidCerts": "Allows Invalid Certificates (Danger)", - "allowAutoUpdate": "Allow Auto Update" - }, - "notifications": { - "creationRetry": "Erstellung des Abonnements fehlgeschlagen. Versuche es mit dem Clash-Proxy erneut...", - "creationSuccess": "Erstellung des Abonnements mit Clash-Proxy erfolgreich" - } - }, - "fileInput": { - "chooseFile": "Datei auswählen" - }, - "notifications": { - "saved": "Saved successfully" - }, - "proxiesEditor": { - "title": "Knoten bearbeiten", - "placeholders": { - "multiUri": "Für mehrere URI verwenden Sie Zeilenumbrüche (Base64-Codierung wird unterstützt)" - }, - "actions": { - "prepend": "Vorherigen Proxy-Knoten hinzufügen", - "append": "Nachfolgenden Proxy-Knoten hinzufügen" - } - }, - "groupsEditor": { - "title": "Proxy-Gruppen bearbeiten", - "errors": { - "nameRequired": "Der Proxy-Gruppenname darf nicht leer sein", - "nameExists": "Der Proxy-Gruppenname existiert bereits" - }, - "fields": { - "type": "Proxy-Gruppentyp", - "name": "Proxy-Gruppenname", - "icon": "Proxy-Gruppen-Symbol", - "proxies": "Proxy einführen", - "provider": "Proxy-Sammlung einführen", - "healthCheckUrl": "URL für Gesundheitstest", - "expectedStatus": "Erwarteter Statuscode", - "interval": "Prüfintervall", - "timeout": "Timeout", - "maxFailedTimes": "Maximale Anzahl fehlgeschlagener Versuche", - "interfaceName": "Ausgangsschnittstelle", - "routingMark": "Routierungsmarkierung", - "filter": "Knoten filtern", - "excludeFilter": "Knoten ausschließen", - "excludeType": "Typ der auszuschließenden Knoten", - "includeAll": "Alle Ausgangsproxy und Proxy-Sammlungen einführen", - "includeAllProxies": "Alle Ausgangsproxy einführen", - "includeAllProviders": "Alle Proxy-Sammlungen einführen" - }, - "toggles": { - "lazy": "Lazy-Status", - "disableUdp": "UDP deaktivieren", - "hidden": "Proxy-Gruppe ausblenden" - }, - "actions": { - "prepend": "Vorherige Proxy-Gruppe hinzufügen", - "append": "Nachfolgende Proxy-Gruppe hinzufügen" - } - }, - "menu": { - "home": "Startseite", - "select": "Verwenden", - "editInfo": "Informationen bearbeiten", - "editFile": "Datei bearbeiten", - "editRules": "Regeln bearbeiten", - "editProxies": "Knoten bearbeiten", - "editGroups": "Proxy-Gruppen bearbeiten", - "extendConfig": "Erweiterte Überdeckungskonfiguration", - "extendScript": "Erweitertes Skript", - "openFile": "Datei öffnen", - "update": "Aktualisieren", - "updateViaProxy": "Update via proxy", - "delete": "Löschen" - }, - "item": { - "tooltips": { - "showLast": "Click to show last update time", - "showNext": "Click to show next update" - }, - "status": { - "lastUpdateFailed": "Letzte Aktualisierung fehlgeschlagen", - "nextUp": "Nächste Aktualisierung", - "noSchedule": "Kein Zeitplan", - "unknown": "Unbekannt", - "autoUpdateDisabled": "Automatische Aktualisierung deaktiviert" - } - }, - "confirm": { - "delete": { - "title": "Löschung bestätigen", - "message": "Diese Operation kann nicht rückgängig gemacht werden" - } - }, - "logViewer": { - "title": "Skript-Konsole-Ausgabe" - }, - "more": { - "global": { - "merge": "Global Merge", - "script": "Global Script" - }, - "chips": { - "merge": "Merge", - "script": "Script" - } - }, - "editor": { - "format": "Dokument formatieren", - "readOnlyMessage": "Bearbeitung im schreibgeschützten Modus nicht möglich" - } - }, - "home": { - "proxyTunCard": { - "status": { - "systemProxyEnabled": "Der Systemproxy ist aktiviert. Ihre Anwendungen werden über den Proxy auf das Netzwerk zugreifen.", - "systemProxyDisabled": "Der Systemproxy ist deaktiviert. Es wird empfohlen, diesen Eintrag für die meisten Benutzer zu aktivieren.", - "tunModeServiceRequired": "Der TUN-Modus erfordert den Service-Modus. Bitte installieren Sie zuerst den Service.", - "tunModeEnabled": "Der TUN-Modus ist aktiviert. Die Anwendungen werden über die virtuelle Netzwerkschnittstelle auf das Netzwerk zugreifen.", - "tunModeDisabled": "Der TUN-Modus ist deaktiviert. Dies ist für spezielle Anwendungen geeignet." - }, - "tooltips": { - "systemProxy": "Ändern Sie die Proxy-Einstellungen des Betriebssystems. Wenn die Aktivierung fehlschlägt, können Sie die Proxy-Einstellungen des Betriebssystems manuell ändern.", - "tunMode": "Der TUN-Modus kann den gesamten Anwendungsverkehr übernehmen und eignet sich für spezielle Anwendungen, die die Systemproxy-Einstellungen nicht befolgen." - } - }, - "clashInfo": { - "title": "Clash-Informationen", - "fields": { - "coreVersion": "Kernversion", - "systemProxyAddress": "Systemproxy-Adresse", - "mixedPort": "Mixed Port", - "uptime": "Laufzeit", - "rulesCount": "Anzahl der Regeln" - } - }, - "systemInfo": { - "title": "Systeminformationen", - "fields": { - "osInfo": "Betriebssysteminformationen", - "autoLaunch": "Beim Start automatisch starten", - "runningMode": "Betriebsmodus", - "lastCheckUpdate": "Letzte Aktualitätsprüfung", - "vergeVersion": "Verge-Version" - }, - "actions": { - "settings": "Einstellungen" - }, - "labels": { - "enabled": "Aktiviert", - "disabled": "Deaktiviert" - }, - "tooltips": { - "autoLaunchAdmin": "Der Administrator-Modus unterstützt möglicherweise keine automatische Startfunktion." - }, - "badges": { - "adminMode": "Administrator-Modus", - "serviceMode": "Service-Modus", - "sidecarMode": "Benutzermodus", - "adminServiceMode": "Admin + Service Mode" - } - }, - "ipInfo": { - "title": "IP-Informationen", - "errors": { - "load": "Abrufen der IP-Informationen fehlgeschlagen" - }, - "labels": { - "retry": "Retry", - "ip": "IP", - "asn": "Autonomes Systemnummer", - "isp": "Internetdienstanbieter", - "org": "Organisation", - "location": "Standort", - "timezone": "Zeitzone", - "autoRefresh": "Automatische Aktualisierung", - "unknown": "Unbekannt" - } - }, - "traffic": { - "metrics": { - "uploadSpeed": "Upload-Geschwindigkeit", - "downloadSpeed": "Download-Geschwindigkeit", - "activeConnections": "Aktive Verbindungen", - "uploaded": "Hochgeladen", - "downloaded": "Heruntergeladen", - "memoryUsage": "Kern-Speichernutzung" - }, - "legends": { - "upload": "Hochladen", - "download": "Herunterladen" - }, - "patterns": { - "minutes": "{{time}} Minutes" - } - }, - "currentProxy": { - "title": "Aktueller Knoten", - "actions": { - "refreshDelay": "Latenztest" - }, - "labels": { - "globalMode": "Global Mode", - "directMode": "Direct Mode", - "group": "Proxy-Gruppe", - "proxy": "Knoten", - "noActiveNode": "Kein aktiver Proxy-Knoten" - } - }, - "profile": { - "title": "Abonnement", - "actions": { - "import": "Importieren" - }, - "labels": { - "from": "Von", - "updateTime": "Aktualisierungszeit", - "usedTotal": "Verwendet / Gesamt", - "expireTime": "Ablaufzeit", - "clickToImport": "Klicken Sie hier, um ein Abonnement zu importieren." - } - } - }, - "connection": { - "fields": { - "host": "Host", - "downloaded": "Heruntergeladen", - "uploaded": "Hochgeladen", - "dlSpeed": "Download-Geschwindigkeit", - "ulSpeed": "Upload-Geschwindigkeit", - "chains": "Ketten", - "rule": "Regel", - "process": "Prozess", - "time": "Verbindungszeit", - "source": "Quelladresse", - "destination": "Zieladresse", - "destinationPort": "Zielport", - "type": "Typ" - }, - "actions": { - "closeConnection": "Verbindung schließen" - }, - "order": { - "default": "Default", - "uploadSpeed": "Upload-Geschwindigkeit", - "downloadSpeed": "Download-Geschwindigkeit" - } - }, - "settings": { - "system": { - "title": "Systemeinstellungen", - "toggles": { - "tunMode": "Virtual Network Interface-Modus", - "systemProxy": "Systemproxy" - }, - "labels": { - "autoLaunch": "Beim Start automatisch starten", - "silentStart": "Stillstart" - }, - "tooltips": { - "autoLaunchAdmin": "Der Administrator-Modus unterstützt möglicherweise keine automatische Startfunktion.", - "silentStart": "Die Anwendung wird im Hintergrund gestartet, ohne dass das Programmfenster angezeigt wird." - } - }, - "proxyControl": { - "labels": { - "systemProxy": "Systemproxy", - "tunMode": "Virtual Network Interface-Modus" - }, - "tooltips": { - "systemProxy": "Ändern Sie die Proxy-Einstellungen des Betriebssystems. Wenn die Aktivierung fehlschlägt, können Sie die Proxy-Einstellungen des Betriebssystems manuell ändern.", - "tunMode": "Der TUN-Modus (Virtual Network Interface) übernimmt den gesamten Systemverkehr. Wenn dieser Modus aktiviert ist, muss der Systemproxy nicht geöffnet werden.", - "tunUnavailable": "TUN-Modus erfordert Service-Modus oder Administrator-Modus" - }, - "actions": { - "installService": "Service installieren", - "uninstallService": "Dienst deinstallieren" - } - }, - "externalController": { - "title": "Adresse des externen Controllers", - "fields": { - "enable": "Enable External Controller", - "address": "Adresse des externen Controllers", - "secret": "API-Zugangsschlüssel" - }, - "placeholders": { - "address": "Erforderlich", - "secret": "Empfohlene Einstellung" - }, - "tooltips": { - "copy": "In die Zwischenablage kopieren" - }, - "messages": { - "addressRequired": "Controller address cannot be empty", - "secretRequired": "Secret cannot be empty", - "copyFailed": "Kopieren fehlgeschlagen", - "controllerCopied": "API-Port in die Zwischenablage kopiert", - "secretCopied": "API-Schlüssel in die Zwischenablage kopiert" - } - }, - "externalCors": { - "title": "Externe CORS-Konfiguration", - "fields": { - "allowPrivateNetwork": "Zugriff auf privates Netzwerk erlauben", - "allowedOrigins": "Erlaubte Ursprünge" - }, - "placeholders": { - "origin": "Bitte eine gültige URL eingeben" - }, - "actions": { - "add": "Hinzufügen" - }, - "messages": { - "alwaysIncluded": "Immer enthaltene Ursprünge: {{urls}}" - }, - "tooltips": { - "open": "Einstellungen für externe CORS" - } - }, - "clash": { - "title": "Clash-Einstellungen", - "items": { - "allowLan": "Netzwerkverbindung im lokalen Netzwerk zulassen", - "dnsOverwrite": "DNS-Überschreibung", - "ipv6": "IPv6", - "unifiedDelay": "Einheitliche Latenz", - "logLevel": "Protokolliergrad", - "portConfig": "Port-Konfiguration", - "external": "Externe Steuerung", - "webUI": "Web-Oberfläche", - "clashCore": "Clash-Kern", - "openUwpTool": "UWP-Tool öffnen", - "updateGeoData": "Geo-Daten aktualisieren" - }, - "tooltips": { - "networkInterface": "Netzwerkschnittstelle", - "unifiedDelay": "Wenn die einheitliche Latenz aktiviert ist, werden zwei Latenztests durchgeführt, um die Latenzunterschiede zwischen verschiedenen Knotentypen aufgrund von Verbindungsaufbau und anderen Faktoren zu eliminieren.", - "logLevel": "Dies wirkt sich nur auf die Kernprotokolldateien im Verzeichnis Service im Protokollverzeichnis aus.", - "openUwpTool": "Ab Windows 8 wird die direkte Netzwerkverbindung von UWP-Anwendungen (z. B. Microsoft Store) zu lokalen Hosts eingeschränkt. Mit diesem Tool können Sie diese Einschränkung umgehen." - }, - "options": { - "logLevel": { - "debug": "Debug", - "info": "Info", - "warning": "Warn", - "error": "Error", - "silent": "Silent" - } - }, - "messages": { - "geoDataUpdated": "Geo-Daten wurden aktualisiert" - }, - "port": { - "title": "Port-Konfiguration", - "fields": { - "mixed": "Mischter Proxy-Port", - "socks": "SOCKS-Proxy-Port", - "http": "HTTP(S)-Proxy-Port", - "redir": "Redir-Transparenter Proxy-Port", - "tproxy": "TPROXY-Transparenter Proxy-Port" - }, - "actions": { - "random": "Zufälliger Port" - }, - "messages": { - "saved": "Port settings saved", - "saveFailed": "Failed to save port settings" - } - } - }, - "liteMode": { - "title": "Einstellungen für den Leichtgewichtigen Modus", - "actions": { - "enterNow": "Sofort in den Leichtgewichtigen Modus wechseln" - }, - "toggles": { - "autoEnter": "Automatisch in den Leichtgewichtigen Modus wechseln" - }, - "tooltips": { - "autoEnter": "Wenn diese Option aktiviert ist, wird der Leichtgewichtige Modus automatisch aktiviert, nachdem das Fenster für eine bestimmte Zeit geschlossen wurde." - }, - "fields": { - "delay": "Verzögerung beim automatischen Wechsel in den Leichtgewichtigen Modus" - }, - "messages": { - "autoEnterHint": "Nach dem Schließen des Fensters wird der Leichtgewichtige Modus automatisch nach {{n}} Minuten aktiviert." - } - }, - "backup": { - "title": "Sicherungseinstellungen", - "tabs": { - "local": "Local backup", - "webdav": "WebDAV backup" - }, - "actions": { - "selectTarget": "Select backup target", - "backup": "Sichern", - "refresh": "Aktualisieren", - "save": "Speichern", - "export": "Export", - "exportBackup": "Export Backup", - "delete": "Löschen", - "deleteBackup": "Sicherung löschen", - "restore": "Wiederherstellen", - "restoreBackup": "Sicherung wiederherstellen" - }, - "fields": { - "webdavUrl": "WebDAV-Serveradresse http(s)://", - "username": "Benutzername", - "password": "Passwort", - "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." - }, - "messages": { - "webdavUrlRequired": "Die WebDAV-Serveradresse darf nicht leer sein", - "invalidWebdavUrl": "Ungültiges Format für die WebDAV-Serveradresse", - "usernameRequired": "Der Benutzername darf nicht leer sein", - "passwordRequired": "Das Passwort darf nicht leer sein", - "webdavConfigSaved": "WebDAV-Konfiguration erfolgreich gespeichert", - "webdavConfigSaveFailed": "Speichern der WebDAV-Konfiguration fehlgeschlagen: {{error}}", - "backupCreated": "Sicherung erfolgreich erstellt", - "backupFailed": "Sicherung fehlgeschlagen: {{error}}", - "localBackupCreated": "Local backup created successfully", - "localBackupFailed": "Local backup failed", - "restoreSuccess": "Wiederherstellung erfolgreich. Die App wird in 1 Sekunde neu starten.", - "localBackupExported": "Local backup exported successfully", - "localBackupExportFailed": "Failed to export local backup", - "confirmDelete": "Confirm to delete this backup file?", - "confirmRestore": "Confirm to restore this backup file?" - }, - "table": { - "filename": "Dateiname", - "backupTime": "Sicherungszeit", - "actions": "Aktionen", - "noBackups": "Keine Sicherungen vorhanden", - "rowsPerPage": "Rows per page" - } - }, - "verge": { - "basic": { - "title": "Verge-Grundeinstellungen", - "items": { - "language": "Spracheinstellungen", - "themeMode": "Thema", - "trayClickEvent": "Tray-Klickereignis", - "copyEnvType": "Umgebungsvariablentyp kopieren", - "startPage": "Startseite", - "startupScript": "Startskript", - "themeSetting": "Thema-Einstellungen", - "layoutSetting": "Layout-Einstellungen", - "misc": "Sonstige Einstellungen", - "hotkeySetting": "Tastenkombinationseinstellungen" - }, - "actions": { - "browse": "Durchsuchen", - "clear": "Löschen" - }, - "trayOptions": { - "showMainWindow": "Hauptfenster anzeigen", - "showTrayMenu": "Tray-Menü anzeigen", - "disable": "Deaktivieren" - } - }, - "advanced": { - "title": "Verge-Erweiterte Einstellungen", - "items": { - "backupSetting": "Sicherungseinstellungen", - "runtimeConfig": "Aktuelle Konfiguration", - "openConfDir": "Konfigurationsverzeichnis", - "openCoreDir": "Kernverzeichnis", - "openLogsDir": "Protokollverzeichnis", - "checkUpdates": "Auf Updates prüfen", - "openDevTools": "Entwicklertools öffnen", - "liteModeSettings": "Einstellungen für den Leichtgewichtigen Modus", - "exit": "Beenden", - "exportDiagnostics": "Diagnoseinformationen exportieren", - "vergeVersion": "Verge-Version" - }, - "tooltips": { - "backupInfo": "Unterstützt die Sicherung von Konfigurationsdateien über WebDAV", - "openConfDir": "Wenn die Software fehlerhaft funktioniert, !sichern Sie! alle Dateien in diesem Verzeichnis, löschen Sie sie und starten Sie die Software neu.", - "liteMode": "GUI-Oberfläche schließen, nur den Kern laufen lassen" - }, - "actions": { - "copyVersion": "Copy Version" - }, - "notifications": { - "latestVersion": "Sie verwenden bereits die neueste Version", - "versionCopied": "Version copied to clipboard" - } - }, - "theme": { - "title": "Thema-Einstellungen", - "fields": { - "primaryColor": "Hauptfarbe", - "secondaryColor": "Sekundärfarbe", - "primaryText": "Haupttextfarbe", - "secondaryText": "Sekundärtextfarbe", - "infoColor": "Informationsfarbe", - "warningColor": "Warnfarbe", - "errorColor": "Fehlerfarbe", - "successColor": "Erfolgsfarbe", - "fontFamily": "Schriftfamilie", - "cssInjection": "CSS-Einbindung" - }, - "actions": { - "editCss": "Edit CSS" - }, - "dialogs": { - "editCssTitle": "Edit CSS" - } - }, - "layout": { - "title": "Layout-Einstellungen", - "fields": { - "preferSystemTitlebar": "Prefer System Titlebar", - "trafficGraph": "Verkehrsdiagramm", - "memoryUsage": "Kern-Speichernutzung", - "proxyGroupIcon": "Proxy-Gruppen-Symbol", - "hoverNavigator": "Hover Jump Navigator", - "hoverNavigatorDelay": "Hover Jump Navigator Delay", - "navIcon": "Navigationsleiste-Symbol", - "trayIcon": "Tray-Symbol", - "showProxyGroupsInline": "Show Proxy Groups Inline", - "commonTrayIcon": "Standard-Tray-Symbol", - "systemProxyTrayIcon": "Systemproxy-Tray-Symbol", - "tunTrayIcon": "TUN-Modus-Tray-Symbol" - }, - "tooltips": { - "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", - "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" - }, - "options": { - "icon": { - "monochrome": "Monochromes Symbol", - "colorful": "Farbiges Symbol", - "disable": "Deaktivieren" - } - } - } - }, - "common": { - "notifications": { - "copySuccess": "Kopieren erfolgreich" - } - }, - "misc": { - "title": "Sonstige Einstellungen", - "fields": { - "appLogLevel": "Anwendungs-Protokolliergrad", - "appLogMaxSize": "App Log Max Size", - "appLogMaxCount": "App Log Max Count", - "autoCloseConnections": "Verbindungen automatisch schließen", - "autoCheckUpdate": "Automatisch auf Updates prüfen", - "enableBuiltinEnhanced": "Eingebaute Verbesserungen aktivieren", - "proxyLayoutColumns": "Anzahl der Spalten im Proxy-Layout", - "autoLogClean": "Protokolle automatisch bereinigen", - "autoDelayDetection": "Automatische Latenzprüfung", - "defaultLatencyTest": "Standard-Testlink", - "defaultLatencyTimeout": "Test-Timeout" - }, - "tooltips": { - "autoCloseConnections": "Wenn der ausgewählte Knoten in der Proxy-Gruppe oder der Proxy-Modus geändert wird, werden die bestehenden Verbindungen geschlossen.", - "enableBuiltinEnhanced": "Kompatibilitätsbehandlung der Konfigurationsdatei", - "autoDelayDetection": "Überprüft regelmäßig im Hintergrund die Latenz des aktuellen Knotens", - "defaultLatencyTest": "Dies wird nur für HTTP-Client-Anfragentests verwendet und hat keine Auswirkungen auf die Konfigurationsdatei." - }, - "options": { - "proxyLayoutColumns": { - "auto": "Automatische Anzahl der Spalten" - }, - "autoLogClean": { - "never": "Nie bereinigen", - "retainDays": "{{n}} Tage behalten" - } - } - }, - "update": { - "title": "New Version v{{version}}", - "actions": { - "goToRelease": "Zur Veröffentlichungsseite gehen", - "update": "Aktualisieren" - }, - "messages": { - "portableError": "Die portable Version unterstützt keine In-App-Aktualisierung. Bitte laden Sie die Dateien manuell herunter und ersetzen Sie sie.", - "breakChangeError": "Dies ist eine wichtige Aktualisierung. Die In-App-Aktualisierung wird nicht unterstützt. Bitte deinstallieren Sie die Software und laden Sie die neue Version manuell herunter und installieren Sie sie." - } - }, - "sysproxy": { - "title": "Systemproxy-Einstellungen", - "fieldsets": { - "currentStatus": "Aktueller Systemproxy" - }, - "fields": { - "enableStatus": "Aktivierungsstatus: ", - "serverAddr": "Serveradresse: ", - "pacUrl": "PAC-Adresse: ", - "proxyHost": "Proxy-Host", - "usePacMode": "PAC-Modus verwenden", - "proxyGuard": "Systemproxy-Schutz", - "guardDuration": "Proxy-Schutz-Intervall", - "alwaysUseDefaultBypass": "Immer die Standard-Umgehung verwenden", - "proxyBypass": "Proxy-Umgehungseinstellungen: ", - "bypass": "Aktuelle Umgehung: ", - "pacScriptContent": "PAC-Skriptinhalt" - }, - "tooltips": { - "proxyGuard": "Aktivieren Sie diese Option, um zu verhindern, dass andere Software die Proxy-Einstellungen des Betriebssystems ändert." - }, - "messages": { - "durationTooShort": "Das Intervall des Proxy-Daemons darf nicht weniger als 1 Sekunde betragen.", - "invalidBypass": "Ungültiges Format für die Proxy-Umgehung", - "invalidProxyHost": "Ungültiges Format für den Proxy-Host" - }, - "actions": { - "editPac": "Bearbeiten PAC" - } - }, - "tun": { - "title": "Virtual Network Interface-Modus", - "actions": { - "reset": "Auf Standardwerte zurücksetzen" - }, - "fields": { - "stack": "TUN-Modus-Stack", - "device": "Device Name", - "autoRoute": "Globale Routing automatisch einstellen", - "strictRoute": "Strenges Routing", - "autoDetectInterface": "Netzwerkschnittstelle automatisch auswählen", - "dnsHijack": "DNS-Hijacking", - "mtu": "Maximale Übertragungseinheit" - }, - "tooltips": { - "dnsHijack": "Please use , to separate multiple DNS servers" - }, - "messages": { - "applied": "Einstellungen angewendet" - } - }, - "dns": { - "dialog": { - "title": "DNS-Überschreibung", - "warning": "Wenn Sie sich nicht mit diesen Einstellungen auskennen, ändern Sie sie nicht und lassen Sie die DNS-Überschreibung aktiviert." - }, - "sections": { - "general": "DNS-Einstellungen", - "fallbackFilter": "Rückfallfilter-Einstellungen", - "hosts": "Hosts-Einstellungen" - }, - "fields": { - "enable": "DNS aktivieren", - "listen": "DNS-Lauschangabe", - "enhancedMode": "Erweiterter Modus", - "fakeIpRange": "Fake-IP-Bereich", - "fakeIpFilterMode": "Fake-IP-Filtermodus", - "ipv6": { - "label": "IPv6", - "description": "IPv6-DNS-Auflösung aktivieren" - }, - "preferH3": { - "label": "HTTP/3 bevorzugen", - "description": "DNS DOH verwendet HTTP/3-Protokoll" - }, - "respectRules": { - "label": "Routierungsregeln beachten", - "description": "DNS-Verbindungen folgen den Routierungsregeln" - }, - "useHosts": { - "label": "Hosts verwenden", - "description": "Aktivieren Sie die Auflösung von Hosts über die hosts-Datei" - }, - "useSystemHosts": { - "label": "System-Hosts verwenden", - "description": "Aktivieren Sie die Auflösung von Hosts über die System-hosts-Datei" - }, - "directPolicy": { - "label": "Direkte Namenserver folgen der Strategie", - "description": "Ob die Namenserver-Strategie befolgt werden soll" - }, - "defaultNameserver": { - "label": "Standard-Namenserver", - "description": "Standard-DNS-Server, die zum Auflösen von DNS-Servern verwendet werden" - }, - "nameserver": { - "label": "Namenserver", - "description": "Liste der DNS-Server, getrennt durch Kommas" - }, - "fallback": { - "label": "Rückfallserver", - "description": "Liste der Rückfall-DNS-Server, getrennt durch Kommas" - }, - "proxy": { - "label": "Proxy-Server-Namenserver", - "description": "Proxy-Knoten-Namenserver, nur für die Auflösung der Domains von Proxy-Knoten verwendet, getrennt durch Kommas" - }, - "directNameserver": { - "label": "Direkter Namenserver", - "description": "Direkter Ausgangs-Namenserver, unterstützt das Schlüsselwort system, getrennt durch Kommas" - }, - "fakeIpFilter": { - "label": "Fake-IP-Filter", - "description": "Domains, die die Fake-IP-Auflösung überspringen, getrennt durch Kommas" - }, - "nameserverPolicy": { - "label": "Namenserver-Strategie", - "description": "Domain-spezifischer DNS-Server, mehrere Server getrennt durch Semikolons, Format: domain=server1;server2" - }, - "geoipFiltering": { - "label": "GeoIP-Filterung", - "description": "GeoIP-Rückfallfilterung aktivieren" - }, - "geoipCode": "GeoIP-Ländercode", - "fallbackIpCidr": { - "label": "Rückfall-IP-CIDR", - "description": "IP-CIDRs, die keine Rückfallserver verwenden, getrennt durch Kommas" - }, - "fallbackDomain": { - "label": "Rückfall-Domäne", - "description": "Domains, die Rückfallserver verwenden, getrennt durch Kommas" - }, - "hosts": { - "label": "Hosts", - "description": "Benutzerdefinierte Zuordnung von Domains zu IPs oder Domains, getrennt durch Kommas" - } - }, - "messages": { - "saved": "DNS-Einstellungen wurden gespeichert", - "configError": "DNS configuration error:" - }, - "errors": { - "invalid": "Invalid configuration" - } - } - }, - "providers": { - "notices": { - "updateSuccess": "{{name}} updated successfully", - "updateFailed": "Failed to update {{name}}: {{message}}", - "genericError": "Update failed: {{message}}", - "none": "No providers available to update", - "allUpdated": "All providers updated successfully" - } - }, - "test": { - "item": { - "actions": { - "test": "Testen" - } - }, - "viewer": { - "title": { - "create": "Neuen Test erstellen", - "edit": "Test bearbeiten" - }, - "fields": { - "url": "Test-URL" - } - } - } - }, "common": { "editorModes": { "visualization": "Visualisierung", @@ -1207,5 +220,1000 @@ "unlock": "Unlock menu order", "lock": "Lock menu order" } + }, + "ruleEditor": { + "title": "Regeln bearbeiten", + "form": { + "labels": { + "type": "Regeltyp", + "content": "Regelinhalt", + "proxyPolicy": "Proxy-Strategie" + }, + "toggles": { + "noResolve": "DNS-Auflösung überspringen" + }, + "actions": { + "prependRule": "Vorherige Regel hinzufügen", + "appendRule": "Nachfolgende Regel hinzufügen" + }, + "validation": { + "conditionRequired": "Regelbedingung fehlt", + "invalidRule": "Ungültige Regel" + } + } + }, + "profile": { + "viewer": { + "title": { + "create": "Neue Konfiguration erstellen", + "edit": "Konfiguration bearbeiten" + }, + "buttons": { + "save": "Speichern", + "cancel": "Abbrechen" + }, + "fields": { + "type": "Typ", + "name": "Name", + "description": "Beschreibung", + "subscriptionUrl": "Abonnement-Link", + "httpTimeout": "HTTP Request Timeout", + "updateInterval": "Aktualisierungsintervall", + "useSystemProxy": "Systemproxy zur Aktualisierung verwenden", + "useClashProxy": "Kernel-Proxy zur Aktualisierung verwenden", + "acceptInvalidCerts": "Allows Invalid Certificates (Danger)", + "allowAutoUpdate": "Allow Auto Update" + }, + "notifications": { + "creationRetry": "Erstellung des Abonnements fehlgeschlagen. Versuche es mit dem Clash-Proxy erneut...", + "creationSuccess": "Erstellung des Abonnements mit Clash-Proxy erfolgreich" + } + }, + "fileInput": { + "chooseFile": "Datei auswählen" + }, + "notifications": { + "saved": "Saved successfully" + }, + "proxiesEditor": { + "title": "Knoten bearbeiten", + "placeholders": { + "multiUri": "Für mehrere URI verwenden Sie Zeilenumbrüche (Base64-Codierung wird unterstützt)" + }, + "actions": { + "prepend": "Vorherigen Proxy-Knoten hinzufügen", + "append": "Nachfolgenden Proxy-Knoten hinzufügen" + } + }, + "groupsEditor": { + "title": "Proxy-Gruppen bearbeiten", + "errors": { + "nameRequired": "Der Proxy-Gruppenname darf nicht leer sein", + "nameExists": "Der Proxy-Gruppenname existiert bereits" + }, + "fields": { + "type": "Proxy-Gruppentyp", + "name": "Proxy-Gruppenname", + "icon": "Proxy-Gruppen-Symbol", + "proxies": "Proxy einführen", + "provider": "Proxy-Sammlung einführen", + "healthCheckUrl": "URL für Gesundheitstest", + "expectedStatus": "Erwarteter Statuscode", + "interval": "Prüfintervall", + "timeout": "Timeout", + "maxFailedTimes": "Maximale Anzahl fehlgeschlagener Versuche", + "interfaceName": "Ausgangsschnittstelle", + "routingMark": "Routierungsmarkierung", + "filter": "Knoten filtern", + "excludeFilter": "Knoten ausschließen", + "excludeType": "Typ der auszuschließenden Knoten", + "includeAll": "Alle Ausgangsproxy und Proxy-Sammlungen einführen", + "includeAllProxies": "Alle Ausgangsproxy einführen", + "includeAllProviders": "Alle Proxy-Sammlungen einführen" + }, + "toggles": { + "lazy": "Lazy-Status", + "disableUdp": "UDP deaktivieren", + "hidden": "Proxy-Gruppe ausblenden" + }, + "actions": { + "prepend": "Vorherige Proxy-Gruppe hinzufügen", + "append": "Nachfolgende Proxy-Gruppe hinzufügen" + } + }, + "menu": { + "home": "Startseite", + "select": "Verwenden", + "editInfo": "Informationen bearbeiten", + "editFile": "Datei bearbeiten", + "editRules": "Regeln bearbeiten", + "editProxies": "Knoten bearbeiten", + "editGroups": "Proxy-Gruppen bearbeiten", + "extendConfig": "Erweiterte Überdeckungskonfiguration", + "extendScript": "Erweitertes Skript", + "openFile": "Datei öffnen", + "update": "Aktualisieren", + "updateViaProxy": "Update via proxy", + "delete": "Löschen" + }, + "item": { + "tooltips": { + "showLast": "Click to show last update time", + "showNext": "Click to show next update" + }, + "status": { + "lastUpdateFailed": "Letzte Aktualisierung fehlgeschlagen", + "nextUp": "Nächste Aktualisierung", + "noSchedule": "Kein Zeitplan", + "unknown": "Unbekannt", + "autoUpdateDisabled": "Automatische Aktualisierung deaktiviert" + } + }, + "confirm": { + "delete": { + "title": "Löschung bestätigen", + "message": "Diese Operation kann nicht rückgängig gemacht werden" + } + }, + "logViewer": { + "title": "Skript-Konsole-Ausgabe" + }, + "more": { + "global": { + "merge": "Global Merge", + "script": "Global Script" + }, + "chips": { + "merge": "Merge", + "script": "Script" + } + }, + "editor": { + "format": "Dokument formatieren", + "readOnlyMessage": "Bearbeitung im schreibgeschützten Modus nicht möglich" + } + }, + "home": { + "proxyTunCard": { + "status": { + "systemProxyEnabled": "Der Systemproxy ist aktiviert. Ihre Anwendungen werden über den Proxy auf das Netzwerk zugreifen.", + "systemProxyDisabled": "Der Systemproxy ist deaktiviert. Es wird empfohlen, diesen Eintrag für die meisten Benutzer zu aktivieren.", + "tunModeServiceRequired": "Der TUN-Modus erfordert den Service-Modus. Bitte installieren Sie zuerst den Service.", + "tunModeEnabled": "Der TUN-Modus ist aktiviert. Die Anwendungen werden über die virtuelle Netzwerkschnittstelle auf das Netzwerk zugreifen.", + "tunModeDisabled": "Der TUN-Modus ist deaktiviert. Dies ist für spezielle Anwendungen geeignet." + }, + "tooltips": { + "systemProxy": "Ändern Sie die Proxy-Einstellungen des Betriebssystems. Wenn die Aktivierung fehlschlägt, können Sie die Proxy-Einstellungen des Betriebssystems manuell ändern.", + "tunMode": "Der TUN-Modus kann den gesamten Anwendungsverkehr übernehmen und eignet sich für spezielle Anwendungen, die die Systemproxy-Einstellungen nicht befolgen." + } + }, + "clashInfo": { + "title": "Clash-Informationen", + "fields": { + "coreVersion": "Kernversion", + "systemProxyAddress": "Systemproxy-Adresse", + "mixedPort": "Mixed Port", + "uptime": "Laufzeit", + "rulesCount": "Anzahl der Regeln" + } + }, + "systemInfo": { + "title": "Systeminformationen", + "fields": { + "osInfo": "Betriebssysteminformationen", + "autoLaunch": "Beim Start automatisch starten", + "runningMode": "Betriebsmodus", + "lastCheckUpdate": "Letzte Aktualitätsprüfung", + "vergeVersion": "Verge-Version" + }, + "actions": { + "settings": "Einstellungen" + }, + "labels": { + "enabled": "Aktiviert", + "disabled": "Deaktiviert" + }, + "tooltips": { + "autoLaunchAdmin": "Der Administrator-Modus unterstützt möglicherweise keine automatische Startfunktion." + }, + "badges": { + "adminMode": "Administrator-Modus", + "serviceMode": "Service-Modus", + "sidecarMode": "Benutzermodus", + "adminServiceMode": "Admin + Service Mode" + } + }, + "ipInfo": { + "title": "IP-Informationen", + "errors": { + "load": "Abrufen der IP-Informationen fehlgeschlagen" + }, + "labels": { + "retry": "Retry", + "ip": "IP", + "asn": "Autonomes Systemnummer", + "isp": "Internetdienstanbieter", + "org": "Organisation", + "location": "Standort", + "timezone": "Zeitzone", + "autoRefresh": "Automatische Aktualisierung", + "unknown": "Unbekannt" + } + }, + "traffic": { + "metrics": { + "uploadSpeed": "Upload-Geschwindigkeit", + "downloadSpeed": "Download-Geschwindigkeit", + "activeConnections": "Aktive Verbindungen", + "uploaded": "Hochgeladen", + "downloaded": "Heruntergeladen", + "memoryUsage": "Kern-Speichernutzung" + }, + "legends": { + "upload": "Hochladen", + "download": "Herunterladen" + }, + "patterns": { + "minutes": "{{time}} Minutes" + } + }, + "currentProxy": { + "title": "Aktueller Knoten", + "actions": { + "refreshDelay": "Latenztest" + }, + "labels": { + "globalMode": "Global Mode", + "directMode": "Direct Mode", + "group": "Proxy-Gruppe", + "proxy": "Knoten", + "noActiveNode": "Kein aktiver Proxy-Knoten" + } + }, + "profile": { + "title": "Abonnement", + "actions": { + "import": "Importieren" + }, + "labels": { + "from": "Von", + "updateTime": "Aktualisierungszeit", + "usedTotal": "Verwendet / Gesamt", + "expireTime": "Ablaufzeit", + "clickToImport": "Klicken Sie hier, um ein Abonnement zu importieren." + } + }, + "page": { + "title": "Startseite", + "tooltips": { + "lightweightMode": "Leichtgewichtiger Modus", + "manual": "Bedienungsanleitung", + "settings": "Startseite-Einstellungen" + }, + "cards": { + "trafficStats": "Verkehrsstatistik", + "networkSettings": "Netzwerkeinstellungen", + "proxyMode": "Proxy-Modus" + }, + "settings": { + "title": "Startseite-Einstellungen", + "cards": { + "profile": "Abonnement-Karte", + "currentProxy": "Aktueller Proxy-Karte", + "network": "Netzwerkeinstellungen-Karte", + "proxyMode": "Proxy-Modus-Karte", + "traffic": "Verkehrsstatistik-Karte", + "tests": "Website-Tests-Karte", + "ip": "IP-Informationen-Karte", + "clashInfo": "Clash-Informationen-Karten", + "systemInfo": "Systeminformationen-Karten" + } + } + } + }, + "connection": { + "fields": { + "host": "Host", + "downloaded": "Heruntergeladen", + "uploaded": "Hochgeladen", + "dlSpeed": "Download-Geschwindigkeit", + "ulSpeed": "Upload-Geschwindigkeit", + "chains": "Ketten", + "rule": "Regel", + "process": "Prozess", + "time": "Verbindungszeit", + "source": "Quelladresse", + "destination": "Zieladresse", + "destinationPort": "Zielport", + "type": "Typ" + }, + "actions": { + "closeConnection": "Verbindung schließen" + }, + "order": { + "default": "Default", + "uploadSpeed": "Upload-Geschwindigkeit", + "downloadSpeed": "Download-Geschwindigkeit" + } + }, + "settings": { + "system": { + "title": "Systemeinstellungen", + "toggles": { + "tunMode": "Virtual Network Interface-Modus", + "systemProxy": "Systemproxy" + }, + "labels": { + "autoLaunch": "Beim Start automatisch starten", + "silentStart": "Stillstart" + }, + "tooltips": { + "autoLaunchAdmin": "Der Administrator-Modus unterstützt möglicherweise keine automatische Startfunktion.", + "silentStart": "Die Anwendung wird im Hintergrund gestartet, ohne dass das Programmfenster angezeigt wird." + } + }, + "proxyControl": { + "labels": { + "systemProxy": "Systemproxy", + "tunMode": "Virtual Network Interface-Modus" + }, + "tooltips": { + "systemProxy": "Ändern Sie die Proxy-Einstellungen des Betriebssystems. Wenn die Aktivierung fehlschlägt, können Sie die Proxy-Einstellungen des Betriebssystems manuell ändern.", + "tunMode": "Der TUN-Modus (Virtual Network Interface) übernimmt den gesamten Systemverkehr. Wenn dieser Modus aktiviert ist, muss der Systemproxy nicht geöffnet werden.", + "tunUnavailable": "TUN-Modus erfordert Service-Modus oder Administrator-Modus" + }, + "actions": { + "installService": "Service installieren", + "uninstallService": "Dienst deinstallieren" + } + }, + "externalController": { + "title": "Adresse des externen Controllers", + "fields": { + "enable": "Enable External Controller", + "address": "Adresse des externen Controllers", + "secret": "API-Zugangsschlüssel" + }, + "placeholders": { + "address": "Erforderlich", + "secret": "Empfohlene Einstellung" + }, + "tooltips": { + "copy": "In die Zwischenablage kopieren" + }, + "messages": { + "addressRequired": "Controller address cannot be empty", + "secretRequired": "Secret cannot be empty", + "copyFailed": "Kopieren fehlgeschlagen", + "controllerCopied": "API-Port in die Zwischenablage kopiert", + "secretCopied": "API-Schlüssel in die Zwischenablage kopiert" + } + }, + "externalCors": { + "title": "Externe CORS-Konfiguration", + "fields": { + "allowPrivateNetwork": "Zugriff auf privates Netzwerk erlauben", + "allowedOrigins": "Erlaubte Ursprünge" + }, + "placeholders": { + "origin": "Bitte eine gültige URL eingeben" + }, + "actions": { + "add": "Hinzufügen" + }, + "messages": { + "alwaysIncluded": "Immer enthaltene Ursprünge: {{urls}}" + }, + "tooltips": { + "open": "Einstellungen für externe CORS" + } + }, + "clash": { + "title": "Clash-Einstellungen", + "items": { + "allowLan": "Netzwerkverbindung im lokalen Netzwerk zulassen", + "dnsOverwrite": "DNS-Überschreibung", + "ipv6": "IPv6", + "unifiedDelay": "Einheitliche Latenz", + "logLevel": "Protokolliergrad", + "portConfig": "Port-Konfiguration", + "external": "Externe Steuerung", + "webUI": "Web-Oberfläche", + "clashCore": "Clash-Kern", + "openUwpTool": "UWP-Tool öffnen", + "updateGeoData": "Geo-Daten aktualisieren" + }, + "tooltips": { + "networkInterface": "Netzwerkschnittstelle", + "unifiedDelay": "Wenn die einheitliche Latenz aktiviert ist, werden zwei Latenztests durchgeführt, um die Latenzunterschiede zwischen verschiedenen Knotentypen aufgrund von Verbindungsaufbau und anderen Faktoren zu eliminieren.", + "logLevel": "Dies wirkt sich nur auf die Kernprotokolldateien im Verzeichnis Service im Protokollverzeichnis aus.", + "openUwpTool": "Ab Windows 8 wird die direkte Netzwerkverbindung von UWP-Anwendungen (z. B. Microsoft Store) zu lokalen Hosts eingeschränkt. Mit diesem Tool können Sie diese Einschränkung umgehen." + }, + "options": { + "logLevel": { + "debug": "Debug", + "info": "Info", + "warning": "Warn", + "error": "Error", + "silent": "Silent" + } + }, + "messages": { + "geoDataUpdated": "Geo-Daten wurden aktualisiert" + }, + "port": { + "title": "Port-Konfiguration", + "fields": { + "mixed": "Mischter Proxy-Port", + "socks": "SOCKS-Proxy-Port", + "http": "HTTP(S)-Proxy-Port", + "redir": "Redir-Transparenter Proxy-Port", + "tproxy": "TPROXY-Transparenter Proxy-Port" + }, + "actions": { + "random": "Zufälliger Port" + }, + "messages": { + "saved": "Port settings saved", + "saveFailed": "Failed to save port settings" + } + } + }, + "liteMode": { + "title": "Einstellungen für den Leichtgewichtigen Modus", + "actions": { + "enterNow": "Sofort in den Leichtgewichtigen Modus wechseln" + }, + "toggles": { + "autoEnter": "Automatisch in den Leichtgewichtigen Modus wechseln" + }, + "tooltips": { + "autoEnter": "Wenn diese Option aktiviert ist, wird der Leichtgewichtige Modus automatisch aktiviert, nachdem das Fenster für eine bestimmte Zeit geschlossen wurde." + }, + "fields": { + "delay": "Verzögerung beim automatischen Wechsel in den Leichtgewichtigen Modus" + }, + "messages": { + "autoEnterHint": "Nach dem Schließen des Fensters wird der Leichtgewichtige Modus automatisch nach {{n}} Minuten aktiviert." + } + }, + "backup": { + "title": "Sicherungseinstellungen", + "tabs": { + "local": "Local backup", + "webdav": "WebDAV backup" + }, + "actions": { + "selectTarget": "Select backup target", + "backup": "Sichern", + "refresh": "Aktualisieren", + "save": "Speichern", + "export": "Export", + "exportBackup": "Export Backup", + "delete": "Löschen", + "deleteBackup": "Sicherung löschen", + "restore": "Wiederherstellen", + "restoreBackup": "Sicherung wiederherstellen" + }, + "fields": { + "webdavUrl": "WebDAV-Serveradresse http(s)://", + "username": "Benutzername", + "password": "Passwort", + "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." + }, + "messages": { + "webdavUrlRequired": "Die WebDAV-Serveradresse darf nicht leer sein", + "invalidWebdavUrl": "Ungültiges Format für die WebDAV-Serveradresse", + "usernameRequired": "Der Benutzername darf nicht leer sein", + "passwordRequired": "Das Passwort darf nicht leer sein", + "webdavConfigSaved": "WebDAV-Konfiguration erfolgreich gespeichert", + "webdavConfigSaveFailed": "Speichern der WebDAV-Konfiguration fehlgeschlagen: {{error}}", + "backupCreated": "Sicherung erfolgreich erstellt", + "backupFailed": "Sicherung fehlgeschlagen: {{error}}", + "localBackupCreated": "Local backup created successfully", + "localBackupFailed": "Local backup failed", + "restoreSuccess": "Wiederherstellung erfolgreich. Die App wird in 1 Sekunde neu starten.", + "localBackupExported": "Local backup exported successfully", + "localBackupExportFailed": "Failed to export local backup", + "confirmDelete": "Confirm to delete this backup file?", + "confirmRestore": "Confirm to restore this backup file?" + }, + "table": { + "filename": "Dateiname", + "backupTime": "Sicherungszeit", + "actions": "Aktionen", + "noBackups": "Keine Sicherungen vorhanden", + "rowsPerPage": "Rows per page" + } + }, + "verge": { + "basic": { + "title": "Verge-Grundeinstellungen", + "items": { + "language": "Spracheinstellungen", + "themeMode": "Thema", + "trayClickEvent": "Tray-Klickereignis", + "copyEnvType": "Umgebungsvariablentyp kopieren", + "startPage": "Startseite", + "startupScript": "Startskript", + "themeSetting": "Thema-Einstellungen", + "layoutSetting": "Layout-Einstellungen", + "misc": "Sonstige Einstellungen", + "hotkeySetting": "Tastenkombinationseinstellungen" + }, + "actions": { + "browse": "Durchsuchen", + "clear": "Löschen" + }, + "trayOptions": { + "showMainWindow": "Hauptfenster anzeigen", + "showTrayMenu": "Tray-Menü anzeigen", + "disable": "Deaktivieren" + } + }, + "advanced": { + "title": "Verge-Erweiterte Einstellungen", + "items": { + "backupSetting": "Sicherungseinstellungen", + "runtimeConfig": "Aktuelle Konfiguration", + "openConfDir": "Konfigurationsverzeichnis", + "openCoreDir": "Kernverzeichnis", + "openLogsDir": "Protokollverzeichnis", + "checkUpdates": "Auf Updates prüfen", + "openDevTools": "Entwicklertools öffnen", + "liteModeSettings": "Einstellungen für den Leichtgewichtigen Modus", + "exit": "Beenden", + "exportDiagnostics": "Diagnoseinformationen exportieren", + "vergeVersion": "Verge-Version" + }, + "tooltips": { + "backupInfo": "Unterstützt die Sicherung von Konfigurationsdateien über WebDAV", + "openConfDir": "Wenn die Software fehlerhaft funktioniert, !sichern Sie! alle Dateien in diesem Verzeichnis, löschen Sie sie und starten Sie die Software neu.", + "liteMode": "GUI-Oberfläche schließen, nur den Kern laufen lassen" + }, + "actions": { + "copyVersion": "Copy Version" + }, + "notifications": { + "latestVersion": "Sie verwenden bereits die neueste Version", + "versionCopied": "Version copied to clipboard" + } + }, + "theme": { + "title": "Thema-Einstellungen", + "fields": { + "primaryColor": "Hauptfarbe", + "secondaryColor": "Sekundärfarbe", + "primaryText": "Haupttextfarbe", + "secondaryText": "Sekundärtextfarbe", + "infoColor": "Informationsfarbe", + "warningColor": "Warnfarbe", + "errorColor": "Fehlerfarbe", + "successColor": "Erfolgsfarbe", + "fontFamily": "Schriftfamilie", + "cssInjection": "CSS-Einbindung" + }, + "actions": { + "editCss": "Edit CSS" + }, + "dialogs": { + "editCssTitle": "Edit CSS" + } + }, + "layout": { + "title": "Layout-Einstellungen", + "fields": { + "preferSystemTitlebar": "Prefer System Titlebar", + "trafficGraph": "Verkehrsdiagramm", + "memoryUsage": "Kern-Speichernutzung", + "proxyGroupIcon": "Proxy-Gruppen-Symbol", + "hoverNavigator": "Hover Jump Navigator", + "hoverNavigatorDelay": "Hover Jump Navigator Delay", + "navIcon": "Navigationsleiste-Symbol", + "trayIcon": "Tray-Symbol", + "showProxyGroupsInline": "Show Proxy Groups Inline", + "commonTrayIcon": "Standard-Tray-Symbol", + "systemProxyTrayIcon": "Systemproxy-Tray-Symbol", + "tunTrayIcon": "TUN-Modus-Tray-Symbol" + }, + "tooltips": { + "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", + "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" + }, + "options": { + "icon": { + "monochrome": "Monochromes Symbol", + "colorful": "Farbiges Symbol", + "disable": "Deaktivieren" + } + } + } + }, + "common": { + "notifications": { + "copySuccess": "Kopieren erfolgreich" + } + }, + "misc": { + "title": "Sonstige Einstellungen", + "fields": { + "appLogLevel": "Anwendungs-Protokolliergrad", + "appLogMaxSize": "App Log Max Size", + "appLogMaxCount": "App Log Max Count", + "autoCloseConnections": "Verbindungen automatisch schließen", + "autoCheckUpdate": "Automatisch auf Updates prüfen", + "enableBuiltinEnhanced": "Eingebaute Verbesserungen aktivieren", + "proxyLayoutColumns": "Anzahl der Spalten im Proxy-Layout", + "autoLogClean": "Protokolle automatisch bereinigen", + "autoDelayDetection": "Automatische Latenzprüfung", + "defaultLatencyTest": "Standard-Testlink", + "defaultLatencyTimeout": "Test-Timeout" + }, + "tooltips": { + "autoCloseConnections": "Wenn der ausgewählte Knoten in der Proxy-Gruppe oder der Proxy-Modus geändert wird, werden die bestehenden Verbindungen geschlossen.", + "enableBuiltinEnhanced": "Kompatibilitätsbehandlung der Konfigurationsdatei", + "autoDelayDetection": "Überprüft regelmäßig im Hintergrund die Latenz des aktuellen Knotens", + "defaultLatencyTest": "Dies wird nur für HTTP-Client-Anfragentests verwendet und hat keine Auswirkungen auf die Konfigurationsdatei." + }, + "options": { + "proxyLayoutColumns": { + "auto": "Automatische Anzahl der Spalten" + }, + "autoLogClean": { + "never": "Nie bereinigen", + "retainDays": "{{n}} Tage behalten" + } + } + }, + "update": { + "title": "New Version v{{version}}", + "actions": { + "goToRelease": "Zur Veröffentlichungsseite gehen", + "update": "Aktualisieren" + }, + "messages": { + "portableError": "Die portable Version unterstützt keine In-App-Aktualisierung. Bitte laden Sie die Dateien manuell herunter und ersetzen Sie sie.", + "breakChangeError": "Dies ist eine wichtige Aktualisierung. Die In-App-Aktualisierung wird nicht unterstützt. Bitte deinstallieren Sie die Software und laden Sie die neue Version manuell herunter und installieren Sie sie." + } + }, + "sysproxy": { + "title": "Systemproxy-Einstellungen", + "fieldsets": { + "currentStatus": "Aktueller Systemproxy" + }, + "fields": { + "enableStatus": "Aktivierungsstatus: ", + "serverAddr": "Serveradresse: ", + "pacUrl": "PAC-Adresse: ", + "proxyHost": "Proxy-Host", + "usePacMode": "PAC-Modus verwenden", + "proxyGuard": "Systemproxy-Schutz", + "guardDuration": "Proxy-Schutz-Intervall", + "alwaysUseDefaultBypass": "Immer die Standard-Umgehung verwenden", + "proxyBypass": "Proxy-Umgehungseinstellungen: ", + "bypass": "Aktuelle Umgehung: ", + "pacScriptContent": "PAC-Skriptinhalt" + }, + "tooltips": { + "proxyGuard": "Aktivieren Sie diese Option, um zu verhindern, dass andere Software die Proxy-Einstellungen des Betriebssystems ändert." + }, + "messages": { + "durationTooShort": "Das Intervall des Proxy-Daemons darf nicht weniger als 1 Sekunde betragen.", + "invalidBypass": "Ungültiges Format für die Proxy-Umgehung", + "invalidProxyHost": "Ungültiges Format für den Proxy-Host" + }, + "actions": { + "editPac": "Bearbeiten PAC" + } + }, + "tun": { + "title": "Virtual Network Interface-Modus", + "actions": { + "reset": "Auf Standardwerte zurücksetzen" + }, + "fields": { + "stack": "TUN-Modus-Stack", + "device": "Device Name", + "autoRoute": "Globale Routing automatisch einstellen", + "strictRoute": "Strenges Routing", + "autoDetectInterface": "Netzwerkschnittstelle automatisch auswählen", + "dnsHijack": "DNS-Hijacking", + "mtu": "Maximale Übertragungseinheit" + }, + "tooltips": { + "dnsHijack": "Please use , to separate multiple DNS servers" + }, + "messages": { + "applied": "Einstellungen angewendet" + } + }, + "dns": { + "dialog": { + "title": "DNS-Überschreibung", + "warning": "Wenn Sie sich nicht mit diesen Einstellungen auskennen, ändern Sie sie nicht und lassen Sie die DNS-Überschreibung aktiviert." + }, + "sections": { + "general": "DNS-Einstellungen", + "fallbackFilter": "Rückfallfilter-Einstellungen", + "hosts": "Hosts-Einstellungen" + }, + "fields": { + "enable": "DNS aktivieren", + "listen": "DNS-Lauschangabe", + "enhancedMode": "Erweiterter Modus", + "fakeIpRange": "Fake-IP-Bereich", + "fakeIpFilterMode": "Fake-IP-Filtermodus", + "ipv6": { + "label": "IPv6", + "description": "IPv6-DNS-Auflösung aktivieren" + }, + "preferH3": { + "label": "HTTP/3 bevorzugen", + "description": "DNS DOH verwendet HTTP/3-Protokoll" + }, + "respectRules": { + "label": "Routierungsregeln beachten", + "description": "DNS-Verbindungen folgen den Routierungsregeln" + }, + "useHosts": { + "label": "Hosts verwenden", + "description": "Aktivieren Sie die Auflösung von Hosts über die hosts-Datei" + }, + "useSystemHosts": { + "label": "System-Hosts verwenden", + "description": "Aktivieren Sie die Auflösung von Hosts über die System-hosts-Datei" + }, + "directPolicy": { + "label": "Direkte Namenserver folgen der Strategie", + "description": "Ob die Namenserver-Strategie befolgt werden soll" + }, + "defaultNameserver": { + "label": "Standard-Namenserver", + "description": "Standard-DNS-Server, die zum Auflösen von DNS-Servern verwendet werden" + }, + "nameserver": { + "label": "Namenserver", + "description": "Liste der DNS-Server, getrennt durch Kommas" + }, + "fallback": { + "label": "Rückfallserver", + "description": "Liste der Rückfall-DNS-Server, getrennt durch Kommas" + }, + "proxy": { + "label": "Proxy-Server-Namenserver", + "description": "Proxy-Knoten-Namenserver, nur für die Auflösung der Domains von Proxy-Knoten verwendet, getrennt durch Kommas" + }, + "directNameserver": { + "label": "Direkter Namenserver", + "description": "Direkter Ausgangs-Namenserver, unterstützt das Schlüsselwort system, getrennt durch Kommas" + }, + "fakeIpFilter": { + "label": "Fake-IP-Filter", + "description": "Domains, die die Fake-IP-Auflösung überspringen, getrennt durch Kommas" + }, + "nameserverPolicy": { + "label": "Namenserver-Strategie", + "description": "Domain-spezifischer DNS-Server, mehrere Server getrennt durch Semikolons, Format: domain=server1;server2" + }, + "geoipFiltering": { + "label": "GeoIP-Filterung", + "description": "GeoIP-Rückfallfilterung aktivieren" + }, + "geoipCode": "GeoIP-Ländercode", + "fallbackIpCidr": { + "label": "Rückfall-IP-CIDR", + "description": "IP-CIDRs, die keine Rückfallserver verwenden, getrennt durch Kommas" + }, + "fallbackDomain": { + "label": "Rückfall-Domäne", + "description": "Domains, die Rückfallserver verwenden, getrennt durch Kommas" + }, + "hosts": { + "label": "Hosts", + "description": "Benutzerdefinierte Zuordnung von Domains zu IPs oder Domains, getrennt durch Kommas" + } + }, + "messages": { + "saved": "DNS-Einstellungen wurden gespeichert", + "configError": "DNS configuration error:" + }, + "errors": { + "invalid": "Invalid configuration" + } + }, + "page": { + "title": "Einstellungen", + "actions": { + "manual": "Bedienungsanleitung", + "telegram": "Telegram-Kanal", + "github": "GitHub-Projektadresse" + } + } + }, + "providers": { + "notices": { + "updateSuccess": "{{name}} updated successfully", + "updateFailed": "Failed to update {{name}}: {{message}}", + "genericError": "Update failed: {{message}}", + "none": "No providers available to update", + "allUpdated": "All providers updated successfully" + } + }, + "test": { + "item": { + "actions": { + "test": "Testen" + } + }, + "viewer": { + "title": { + "create": "Neuen Test erstellen", + "edit": "Test bearbeiten" + }, + "fields": { + "url": "Test-URL" + } + }, + "page": { + "title": "Testen", + "actions": { + "testAll": "Alle testen", + "new": "Neu" + } + } + }, + "proxies": { + "page": { + "title": { + "default": "Proxy-Gruppen", + "chainMode": "Proxy Chain Mode" + }, + "actions": { + "toggleChain": "🔗 Ketten-Proxy", + "connect": "Connect", + "disconnect": "Disconnect", + "connecting": "Connecting...", + "clearChainConfig": "Delete Chain Config" + }, + "provider": { + "title": "Proxy-Sammlung", + "actions": { + "updateAll": "Alle aktualisieren", + "update": "Aktualisieren" + } + }, + "rules": { + "title": "Proxy Rules", + "select": "Select Rules" + }, + "labels": { + "proxyCount": "Anzahl der Knoten", + "delayCheckReset": "Latenztest durchführen, um Fixierung aufzuheben" + }, + "tooltips": { + "locate": "Aktueller Knoten", + "delayCheck": "Latenztest", + "sortDefault": "Standard Sortierung", + "sortDelay": "Nach Latenz sortieren", + "sortName": "Nach Name sortieren", + "delayCheckUrl": "Latenztest-URL", + "showBasic": "Knotendetails ausblenden", + "showDetail": "Knotendetails anzeigen", + "filter": "Knoten filtern" + }, + "placeholders": { + "filter": "Filterbedingungen", + "delayCheckUrl": "Latenztest-URL" + }, + "chain": { + "header": "Chain Proxy Config", + "empty": "No proxy chain configured", + "instruction": "Click nodes in order to add to proxy chain", + "minimumNodes": "Chain proxy requires at least 2 nodes", + "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", + "connectFailed": "Failed to connect to proxy chain", + "disconnectFailed": "Failed to disconnect from proxy chain", + "duplicateNode": "Proxy node already exists in chain" + } + } + }, + "rules": { + "page": { + "title": "Regeln", + "provider": { + "trigger": "Regelsammlung", + "dialogTitle": "Regelsammlung", + "actions": { + "updateAll": "Alle aktualisieren", + "update": "Aktualisieren" + } + } + } + }, + "profiles": { + "page": { + "title": "Abonnement", + "actions": { + "updateAll": "Alle Abonnements aktualisieren", + "viewRuntimeConfig": "Laufzeit-Abonnement anzeigen", + "reactivate": "Abonnement erneut aktivieren", + "import": "Importieren", + "new": "Neu" + }, + "batch": { + "title": "Batch Operations", + "delete": "Delete Selected Profiles", + "selectAll": "Select All", + "deselectAll": "Deselect All", + "done": "Done", + "selected": "Selected", + "items": "items" + }, + "import": { + "placeholder": "Abonnement-Datei-Link", + "paste": "Einfügen", + "clear": "Löschen" + }, + "errors": { + "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", + "onlyYaml": "Nur YAML-Dateien werden unterstützt" + }, + "notifications": { + "importRetry": "Import des Abonnements fehlgeschlagen. Versuche es mit dem Clash-Proxy erneut...", + "importFail": "Import des Abonnements auch mit Clash-Proxy fehlgeschlagen", + "importNeedsRefresh": "Profile imported but may need manual refresh", + "importSuccess": "Profile imported successfully, please restart if not visible", + "profileSwitched": "Abonnement gewechselt", + "profileReactivated": "Abonnement erneut aktiviert", + "switchInterrupted": "Profile switch interrupted by new selection", + "batchDeleted": "Selected profiles deleted successfully" + }, + "notices": { + "forceRefreshCompleted": "Force refresh completed", + "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" + } + } + }, + "connections": { + "page": { + "title": "Verbindungen", + "summary": { + "downloaded": "Heruntergeladen", + "uploaded": "Hochgeladen" + }, + "actions": { + "listView": "Listenansicht", + "tableView": "Tabellenansicht", + "pause": "Pausieren", + "resume": "Fortsetzen", + "closeAll": "Alle schließen" + } + } + }, + "logs": { + "page": { + "title": "Protokolle", + "actions": { + "pause": "Pausieren", + "resume": "Fortsetzen", + "clear": "Löschen" + }, + "filters": { + "all": "ALL", + "debug": "DEBUG", + "info": "INFO", + "warn": "WARN", + "error": "ERROR" + } + } + }, + "unlock": { + "page": { + "title": "Entsperrungstest", + "actions": { + "testing": "Wird getestet..." + }, + "empty": "No unlock test items" + } } } diff --git a/src/locales/en.json b/src/locales/en.json index 8abc56f4..d9281842 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -13,192 +13,6 @@ "Save": "Save", "Delete": "Delete", "Enable": "Enable", - "pages": { - "home": { - "title": "Home", - "tooltips": { - "lightweightMode": "Lightweight Mode", - "manual": "Manual", - "settings": "Home Settings" - }, - "cards": { - "trafficStats": "Traffic Stats", - "networkSettings": "Network Settings", - "proxyMode": "Proxy Mode" - }, - "settings": { - "title": "Home Settings", - "cards": { - "profile": "Profile Card", - "currentProxy": "Current Proxy Card", - "network": "Network Settings Card", - "proxyMode": "Proxy Mode Card", - "traffic": "Traffic Stats Card", - "tests": "Website Tests Card", - "ip": "IP Information Card", - "clashInfo": "Clash Info Cards", - "systemInfo": "System Info Cards" - } - } - }, - "proxies": { - "title": { - "default": "Proxy Groups", - "chainMode": "Proxy Chain Mode" - }, - "actions": { - "toggleChain": "🔗 Chain Proxy", - "connect": "Connect", - "disconnect": "Disconnect", - "connecting": "Connecting...", - "clearChainConfig": "Delete Chain Config" - }, - "provider": { - "title": "Proxy Provider", - "actions": { - "updateAll": "Update All", - "update": "Update" - } - }, - "rules": { - "title": "Proxy Rules", - "select": "Select Rules" - }, - "labels": { - "proxyCount": "Proxy Count", - "delayCheckReset": "Delay check to cancel fixed" - }, - "tooltips": { - "locate": "locate", - "delayCheck": "Delay check", - "sortDefault": "Sort by default", - "sortDelay": "Sort by delay", - "sortName": "Sort by name", - "delayCheckUrl": "Delay check URL", - "showBasic": "Proxy basic", - "showDetail": "Proxy detail", - "filter": "Filter" - }, - "placeholders": { - "filter": "Filter conditions", - "delayCheckUrl": "Delay check URL" - }, - "chain": { - "header": "Chain Proxy Config", - "empty": "No proxy chain configured", - "instruction": "Click nodes in order to add to proxy chain", - "minimumNodes": "Chain proxy requires at least 2 nodes", - "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", - "connectFailed": "Failed to connect to proxy chain", - "disconnectFailed": "Failed to disconnect from proxy chain", - "duplicateNode": "Proxy node already exists in chain" - } - }, - "rules": { - "title": "Rules", - "provider": { - "trigger": "Rule Provider", - "dialogTitle": "Rule Providers", - "actions": { - "updateAll": "Update All", - "update": "Update" - } - } - }, - "profiles": { - "title": "Profiles", - "actions": { - "updateAll": "Update All Profiles", - "viewRuntimeConfig": "View Runtime Config", - "reactivate": "Reactivate Profiles", - "import": "Import", - "new": "New" - }, - "batch": { - "title": "Batch Operations", - "delete": "Delete Selected Profiles", - "selectAll": "Select All", - "deselectAll": "Deselect All", - "done": "Done", - "selected": "Selected", - "items": "items" - }, - "import": { - "placeholder": "Profile URL", - "paste": "Paste", - "clear": "Clear" - }, - "errors": { - "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", - "onlyYaml": "Only YAML Files Supported" - }, - "notifications": { - "importRetry": "Import failed, retrying with Clash proxy...", - "importFail": "Import failed even with Clash proxy", - "importNeedsRefresh": "Profile imported but may need manual refresh", - "importSuccess": "Profile imported successfully, please restart if not visible", - "profileSwitched": "Profile Switched", - "profileReactivated": "Profile Reactivated", - "switchInterrupted": "Profile switch interrupted by new selection", - "batchDeleted": "Selected profiles deleted successfully" - }, - "notices": { - "forceRefreshCompleted": "Force refresh completed", - "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" - } - }, - "connections": { - "title": "Connections", - "summary": { - "downloaded": "Downloaded", - "uploaded": "Uploaded" - }, - "actions": { - "listView": "List View", - "tableView": "Table View", - "pause": "Pause", - "resume": "Resume", - "closeAll": "Close All" - } - }, - "settings": { - "title": "Settings", - "actions": { - "manual": "Manual", - "telegram": "Telegram Channel", - "github": "Github Repo" - } - }, - "logs": { - "title": "Logs", - "actions": { - "pause": "Pause", - "resume": "Resume", - "clear": "Clear" - }, - "filters": { - "all": "ALL", - "debug": "DEBUG", - "info": "INFO", - "warn": "WARN", - "error": "ERROR" - } - }, - "test": { - "title": "Test", - "actions": { - "testAll": "Test All", - "new": "New" - } - }, - "unlock": { - "title": "Unlock Test", - "actions": { - "testing": "Testing..." - }, - "empty": "No unlock test items" - } - }, "Proxies": "Proxies", "Update At": "Update At", "rule": "rule", @@ -380,807 +194,6 @@ "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", - "components": { - "ruleEditor": { - "title": "Edit Rules", - "form": { - "labels": { - "type": "Rule Type", - "content": "Rule Content", - "proxyPolicy": "Proxy Policy" - }, - "toggles": { - "noResolve": "No Resolve" - }, - "actions": { - "prependRule": "Prepend Rule", - "appendRule": "Append Rule" - }, - "validation": { - "conditionRequired": "Rule Condition Required", - "invalidRule": "Invalid Rule" - } - } - }, - "profile": { - "viewer": { - "title": { - "create": "Create Profile", - "edit": "Edit Profile" - }, - "buttons": { - "save": "Save", - "cancel": "Cancel" - }, - "fields": { - "type": "Type", - "name": "Name", - "description": "Descriptions", - "subscriptionUrl": "Subscription URL", - "httpTimeout": "HTTP Request Timeout", - "updateInterval": "Update Interval", - "useSystemProxy": "Use System Proxy", - "useClashProxy": "Use Clash Proxy", - "acceptInvalidCerts": "Allows Invalid Certificates (Danger)", - "allowAutoUpdate": "Allow Auto Update" - }, - "notifications": { - "creationRetry": "Profile creation failed, retrying with Clash proxy...", - "creationSuccess": "Profile creation succeeded with Clash proxy" - } - }, - "fileInput": { - "chooseFile": "Choose File" - }, - "notifications": { - "saved": "Saved successfully" - }, - "proxiesEditor": { - "title": "Edit Proxies", - "placeholders": { - "multiUri": "Use newlines for multiple uri(Base64 encoding supported)" - }, - "actions": { - "prepend": "Prepend Proxy", - "append": "Append Proxy" - } - }, - "groupsEditor": { - "title": "Edit Proxy Groups", - "errors": { - "nameRequired": "Group Name Required", - "nameExists": "Group Name Already Exists" - }, - "fields": { - "type": "Group Type", - "name": "Group Name", - "icon": "Proxy Group Icon", - "proxies": "Use Proxies", - "provider": "Use Provider", - "healthCheckUrl": "Health Check Url", - "expectedStatus": "Expected Status", - "interval": "Interval", - "timeout": "Timeout", - "maxFailedTimes": "Max Failed Times", - "interfaceName": "Interface Name", - "routingMark": "Routing Mark", - "filter": "Filter", - "excludeFilter": "Exclude Filter", - "excludeType": "Exclude Type", - "includeAll": "Include All Proxies and Providers", - "includeAllProxies": "Include All Proxies", - "includeAllProviders": "Include All Providers" - }, - "toggles": { - "lazy": "Lazy", - "disableUdp": "Disable UDP", - "hidden": "Hidden" - }, - "actions": { - "prepend": "Prepend Group", - "append": "Append Group" - } - }, - "menu": { - "home": "Home", - "select": "Select", - "editInfo": "Edit Info", - "editFile": "Edit File", - "editRules": "Edit Rules", - "editProxies": "Edit Proxies", - "editGroups": "Edit Proxy Groups", - "extendConfig": "Extend Config", - "extendScript": "Extend Script", - "openFile": "Open File", - "update": "Update", - "updateViaProxy": "Update via proxy", - "delete": "Delete" - }, - "item": { - "tooltips": { - "showLast": "Click to show last update time", - "showNext": "Click to show next update" - }, - "status": { - "lastUpdateFailed": "Last Update failed", - "nextUp": "Next Up", - "noSchedule": "No schedule", - "unknown": "Unknown", - "autoUpdateDisabled": "Auto update disabled" - } - }, - "confirm": { - "delete": { - "title": "Confirm deletion", - "message": "This operation is not reversible" - } - }, - "logViewer": { - "title": "Script Console" - }, - "more": { - "global": { - "merge": "Global Merge", - "script": "Global Script" - }, - "chips": { - "merge": "Merge", - "script": "Script" - } - }, - "editor": { - "format": "Format document", - "readOnlyMessage": "Cannot edit in read-only editor" - } - }, - "home": { - "proxyTunCard": { - "status": { - "systemProxyEnabled": "System Proxy Enabled", - "systemProxyDisabled": "System Proxy Disabled", - "tunModeServiceRequired": "TUN Mode Service Required", - "tunModeEnabled": "TUN Mode Enabled", - "tunModeDisabled": "TUN Mode Disabled" - }, - "tooltips": { - "systemProxy": "System Proxy Info", - "tunMode": "TUN Mode Intercept Info" - } - }, - "clashInfo": { - "title": "Clash Info", - "fields": { - "coreVersion": "Core Version", - "systemProxyAddress": "System Proxy Address", - "mixedPort": "Mixed Port", - "uptime": "Uptime", - "rulesCount": "Rules Count" - } - }, - "systemInfo": { - "title": "System Info", - "fields": { - "osInfo": "OS Info", - "autoLaunch": "Auto Launch", - "runningMode": "Running Mode", - "lastCheckUpdate": "Last Check Update", - "vergeVersion": "Verge Version" - }, - "actions": { - "settings": "Settings" - }, - "labels": { - "enabled": "Enabled", - "disabled": "Disabled" - }, - "tooltips": { - "autoLaunchAdmin": "Administrator mode may not support auto launch" - }, - "badges": { - "adminMode": "Administrator Mode", - "serviceMode": "Service Mode", - "sidecarMode": "User Mode", - "adminServiceMode": "Admin + Service Mode" - } - }, - "ipInfo": { - "title": "IP Information", - "errors": { - "load": "Failed to get IP info" - }, - "labels": { - "retry": "Retry", - "ip": "IP", - "asn": "ASN", - "isp": "ISP", - "org": "ORG", - "location": "Location", - "timezone": "Timezone", - "autoRefresh": "Auto refresh", - "unknown": "Unknown" - } - }, - "traffic": { - "metrics": { - "uploadSpeed": "Upload Speed", - "downloadSpeed": "Download Speed", - "activeConnections": "Active Connections", - "uploaded": "Uploaded", - "downloaded": "Downloaded", - "memoryUsage": "Core Usage" - }, - "legends": { - "upload": "Upload", - "download": "Download" - }, - "patterns": { - "minutes": "{{time}} Minutes" - } - }, - "currentProxy": { - "title": "Current Node", - "actions": { - "refreshDelay": "Delay check" - }, - "labels": { - "globalMode": "Global Mode", - "directMode": "Direct Mode", - "group": "Group", - "proxy": "Proxy", - "noActiveNode": "No active proxy node" - } - }, - "profile": { - "title": "Profiles", - "actions": { - "import": "Import" - }, - "labels": { - "from": "From", - "updateTime": "Update Time", - "usedTotal": "Used / Total", - "expireTime": "Expire Time", - "clickToImport": "Click to import subscription" - } - } - }, - "connection": { - "fields": { - "host": "Host", - "downloaded": "Downloaded", - "uploaded": "Uploaded", - "dlSpeed": "DL Speed", - "ulSpeed": "UL Speed", - "chains": "Chains", - "rule": "Rule", - "process": "Process", - "time": "Time", - "source": "Source", - "destination": "Destination", - "destinationPort": "Destination Port", - "type": "Type" - }, - "actions": { - "closeConnection": "Close Connection" - }, - "order": { - "default": "Default", - "uploadSpeed": "Upload Speed", - "downloadSpeed": "Download Speed" - } - }, - "settings": { - "system": { - "title": "System Setting", - "toggles": { - "tunMode": "Tun Mode", - "systemProxy": "System Proxy" - }, - "labels": { - "autoLaunch": "Auto Launch", - "silentStart": "Silent Start" - }, - "tooltips": { - "autoLaunchAdmin": "Administrator mode may not support auto launch", - "silentStart": "Start the program in background mode without displaying the panel" - } - }, - "proxyControl": { - "labels": { - "systemProxy": "System Proxy", - "tunMode": "Tun Mode" - }, - "tooltips": { - "systemProxy": "Enable to modify the operating system's proxy settings. If enabling fails, modify the operating system's proxy settings manually", - "tunMode": "Tun (Virtual NIC) mode: Captures all system traffic, when enabled, there is no need to enable system proxy.", - "tunUnavailable": "TUN requires Service Mode or Admin Mode" - }, - "actions": { - "installService": "Install Service", - "uninstallService": "Uninstall Service" - } - }, - "externalController": { - "title": "External Controller", - "fields": { - "enable": "Enable External Controller", - "address": "External Controller", - "secret": "Core Secret" - }, - "placeholders": { - "address": "Required", - "secret": "Recommended" - }, - "tooltips": { - "copy": "Copy to clipboard" - }, - "messages": { - "addressRequired": "Controller address cannot be empty", - "secretRequired": "Secret cannot be empty", - "copyFailed": "Failed to copy", - "controllerCopied": "Controller address copied to clipboard", - "secretCopied": "Secret copied to clipboard" - } - }, - "externalCors": { - "title": "External Cors Configuration", - "fields": { - "allowPrivateNetwork": "Allow private network access", - "allowedOrigins": "Allowed Origins" - }, - "placeholders": { - "origin": "Please enter a valid url" - }, - "actions": { - "add": "Add" - }, - "messages": { - "alwaysIncluded": "Always included origins: {{urls}}" - }, - "tooltips": { - "open": "External Cors Settings" - } - }, - "clash": { - "title": "Clash Setting", - "items": { - "allowLan": "Allow LAN", - "dnsOverwrite": "DNS Overwrite", - "ipv6": "IPv6", - "unifiedDelay": "Unified Delay", - "logLevel": "Log Level", - "portConfig": "Port Config", - "external": "External", - "webUI": "Web UI", - "clashCore": "Clash Core", - "openUwpTool": "Open UWP tool", - "updateGeoData": "Update GeoData" - }, - "tooltips": { - "networkInterface": "Network Interface", - "unifiedDelay": "When unified delay is turned on, two delay tests will be performed to eliminate the delay differences between different types of nodes caused by connection handshakes, etc", - "logLevel": "This parameter is valid only for kernel log files in the log directory Service folder", - "openUwpTool": "Since Windows 8, UWP apps (such as Microsoft Store) are restricted from directly accessing local host network services, and this tool can be used to bypass this restriction" - }, - "options": { - "logLevel": { - "debug": "Debug", - "info": "Info", - "warning": "Warn", - "error": "Error", - "silent": "Silent" - } - }, - "messages": { - "geoDataUpdated": "GeoData Updated" - }, - "port": { - "title": "Port Config", - "fields": { - "mixed": "Mixed Port", - "socks": "Socks Port", - "http": "Http(s) Port", - "redir": "Redir Port", - "tproxy": "Tproxy Port" - }, - "actions": { - "random": "Random Port" - }, - "messages": { - "saved": "Port settings saved", - "saveFailed": "Failed to save port settings" - } - } - }, - "liteMode": { - "title": "LightWeight Mode Settings", - "actions": { - "enterNow": "Enter LightWeight Mode Now" - }, - "toggles": { - "autoEnter": "Auto Enter LightWeight Mode" - }, - "tooltips": { - "autoEnter": "Enable to automatically activate LightWeight Mode after the window is closed for a period of time" - }, - "fields": { - "delay": "Auto Enter LightWeight Mode Delay" - }, - "messages": { - "autoEnterHint": "When closing the window, LightWeight Mode will be automatically activated after {{n}} minutes" - } - }, - "backup": { - "title": "Backup Setting", - "tabs": { - "local": "Local backup", - "webdav": "WebDAV backup" - }, - "actions": { - "selectTarget": "Select backup target", - "backup": "Backup", - "refresh": "Refresh", - "save": "Save", - "export": "Export", - "exportBackup": "Export Backup", - "delete": "Delete", - "deleteBackup": "Delete Backup", - "restore": "Restore", - "restoreBackup": "Restore Backup" - }, - "fields": { - "webdavUrl": "WebDAV Server URL", - "username": "Username", - "password": "Password", - "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." - }, - "messages": { - "webdavUrlRequired": "WebDAV URL cannot be empty", - "invalidWebdavUrl": "Invalid WebDAV URL format", - "usernameRequired": "Username cannot be empty", - "passwordRequired": "Password cannot be empty", - "webdavConfigSaved": "WebDAV configuration saved successfully", - "webdavConfigSaveFailed": "Failed to save WebDAV configuration: {{error}}", - "backupCreated": "Backup created successfully", - "backupFailed": "Backup failed: {{error}}", - "localBackupCreated": "Local backup created successfully", - "localBackupFailed": "Local backup failed", - "restoreSuccess": "Restore Success, App will restart in 1s", - "localBackupExported": "Local backup exported successfully", - "localBackupExportFailed": "Failed to export local backup", - "confirmDelete": "Confirm to delete this backup file?", - "confirmRestore": "Confirm to restore this backup file?" - }, - "table": { - "filename": "Filename", - "backupTime": "Backup Time", - "actions": "Actions", - "noBackups": "No backups available", - "rowsPerPage": "Rows per page" - } - }, - "verge": { - "basic": { - "title": "Verge Basic Setting", - "items": { - "language": "Language", - "themeMode": "Theme Mode", - "trayClickEvent": "Tray Click Event", - "copyEnvType": "Copy Env Type", - "startPage": "Start Page", - "startupScript": "Startup Script", - "themeSetting": "Theme Setting", - "layoutSetting": "Layout Setting", - "misc": "Miscellaneous", - "hotkeySetting": "Hotkey Setting" - }, - "actions": { - "browse": "Browse", - "clear": "Clear" - }, - "trayOptions": { - "showMainWindow": "Show Main Window", - "showTrayMenu": "Show Tray Menu", - "disable": "Disable" - } - }, - "advanced": { - "title": "Verge Advanced Setting", - "items": { - "backupSetting": "Backup Setting", - "runtimeConfig": "Runtime Config", - "openConfDir": "Open Conf Dir", - "openCoreDir": "Open Core Dir", - "openLogsDir": "Open Logs Dir", - "checkUpdates": "Check for Updates", - "openDevTools": "Dev Tools", - "liteModeSettings": "LightWeight Mode Settings", - "exit": "Exit", - "exportDiagnostics": "Export Diagnostic Info", - "vergeVersion": "Verge Version" - }, - "tooltips": { - "backupInfo": "Support local or WebDAV backup of configuration files", - "openConfDir": "If the software runs abnormally, BACKUP and delete all files in this folder then restart the software", - "liteMode": "Close the GUI and keep only the kernel running" - }, - "actions": { - "copyVersion": "Copy Version" - }, - "notifications": { - "latestVersion": "Currently on the Latest Version", - "versionCopied": "Version copied to clipboard" - } - }, - "theme": { - "title": "Theme Setting", - "fields": { - "primaryColor": "Primary Color", - "secondaryColor": "Secondary Color", - "primaryText": "Primary Text", - "secondaryText": "Secondary Text", - "infoColor": "Info Color", - "warningColor": "Warning Color", - "errorColor": "Error Color", - "successColor": "Success Color", - "fontFamily": "Font Family", - "cssInjection": "CSS Injection" - }, - "actions": { - "editCss": "Edit CSS" - }, - "dialogs": { - "editCssTitle": "Edit CSS" - } - }, - "layout": { - "title": "Layout Setting", - "fields": { - "preferSystemTitlebar": "Prefer System Titlebar", - "trafficGraph": "Traffic Graph", - "memoryUsage": "Core Usage", - "proxyGroupIcon": "Proxy Group Icon", - "hoverNavigator": "Hover Jump Navigator", - "hoverNavigatorDelay": "Hover Jump Navigator Delay", - "navIcon": "Nav Icon", - "trayIcon": "Tray Icon", - "showProxyGroupsInline": "Show Proxy Groups Inline", - "commonTrayIcon": "Common Tray Icon", - "systemProxyTrayIcon": "System Proxy Tray Icon", - "tunTrayIcon": "Tun Tray Icon" - }, - "tooltips": { - "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", - "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" - }, - "options": { - "icon": { - "monochrome": "Monochrome", - "colorful": "Colorful", - "disable": "Disable" - } - } - } - }, - "common": { - "notifications": { - "copySuccess": "Copy Success" - } - }, - "misc": { - "title": "Miscellaneous", - "fields": { - "appLogLevel": "App Log Level", - "appLogMaxSize": "App Log Max Size", - "appLogMaxCount": "App Log Max Count", - "autoCloseConnections": "Auto Close Connections", - "autoCheckUpdate": "Auto Check Update", - "enableBuiltinEnhanced": "Enable Builtin Enhanced", - "proxyLayoutColumns": "Proxy Layout Columns", - "autoLogClean": "Auto Log Clean", - "autoDelayDetection": "Auto Delay Detection", - "defaultLatencyTest": "Default Latency Test", - "defaultLatencyTimeout": "Default Latency Timeout" - }, - "tooltips": { - "autoCloseConnections": "Terminate established connections when the proxy group selection or proxy mode changes", - "enableBuiltinEnhanced": "Compatibility handling for the configuration file", - "autoDelayDetection": "Periodically test the current node latency in the background", - "defaultLatencyTest": "Used for HTTP client request testing only and won't make a difference to the configuration file" - }, - "options": { - "proxyLayoutColumns": { - "auto": "Auto Columns" - }, - "autoLogClean": { - "never": "Never Clean", - "retainDays": "Retain {{n}} Days" - } - } - }, - "update": { - "title": "New Version v{{version}}", - "actions": { - "goToRelease": "Go to Release Page", - "update": "Update" - }, - "messages": { - "portableError": "The portable version does not support in-app updates. Please manually download and replace it", - "breakChangeError": "This version is a major update and does not support in-app updates. Please uninstall it and manually download and install the new version" - } - }, - "sysproxy": { - "title": "System Proxy Setting", - "fieldsets": { - "currentStatus": "Current System Proxy" - }, - "fields": { - "enableStatus": "Enable Status:", - "serverAddr": "Server Addr: ", - "pacUrl": "PAC URL: ", - "proxyHost": "Proxy Host", - "usePacMode": "Use PAC Mode", - "proxyGuard": "Proxy Guard", - "guardDuration": "Guard Duration", - "alwaysUseDefaultBypass": "Always use Default Bypass", - "proxyBypass": "Proxy Bypass Settings: ", - "bypass": "Bypass: ", - "pacScriptContent": "PAC Script Content" - }, - "tooltips": { - "proxyGuard": "Enable to prevent other software from modifying the operating system's proxy settings" - }, - "messages": { - "durationTooShort": "Proxy Daemon Duration Cannot be Less than 1 Second", - "invalidBypass": "Invalid Bypass Format", - "invalidProxyHost": "Invalid Proxy Host Format" - }, - "actions": { - "editPac": "Edit PAC" - } - }, - "tun": { - "title": "Tun Mode", - "actions": { - "reset": "Reset to Default" - }, - "fields": { - "stack": "Tun Stack", - "device": "Device Name", - "autoRoute": "Auto Route", - "strictRoute": "Strict Route", - "autoDetectInterface": "Auto Detect Interface", - "dnsHijack": "DNS Hijack", - "mtu": "Max Transmission Unit" - }, - "tooltips": { - "dnsHijack": "Please use , to separate multiple DNS servers" - }, - "messages": { - "applied": "Settings Applied" - } - }, - "dns": { - "dialog": { - "title": "DNS Overwrite", - "warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled" - }, - "sections": { - "general": "DNS Settings", - "fallbackFilter": "Fallback Filter Settings", - "hosts": "Hosts Settings" - }, - "fields": { - "enable": "Enable DNS", - "listen": "DNS Listen", - "enhancedMode": "Enhanced Mode", - "fakeIpRange": "Fake IP Range", - "fakeIpFilterMode": "Fake IP Filter Mode", - "ipv6": { - "label": "IPv6", - "description": "Enable IPv6 DNS resolution" - }, - "preferH3": { - "label": "Prefer H3", - "description": "DNS DOH uses HTTP/3" - }, - "respectRules": { - "label": "Respect Rules", - "description": "DNS connections follow routing rules" - }, - "useHosts": { - "label": "Use Hosts", - "description": "Enable to resolve hosts through hosts file" - }, - "useSystemHosts": { - "label": "Use System Hosts", - "description": "Enable to resolve hosts through system hosts file" - }, - "directPolicy": { - "label": "Direct Nameserver Follow Policy", - "description": "Whether to follow nameserver policy" - }, - "defaultNameserver": { - "label": "Default Nameserver", - "description": "Default DNS servers used to resolve DNS servers" - }, - "nameserver": { - "label": "Nameserver", - "description": "List of DNS servers, comma separated" - }, - "fallback": { - "label": "Fallback", - "description": "List of fallback DNS servers, comma separated" - }, - "proxy": { - "label": "Proxy Server Nameserver", - "description": "DNS servers for proxy node domain resolution" - }, - "directNameserver": { - "label": "Direct Nameserver", - "description": "DNS servers for direct exit domain resolution, supports 'system' keyword, comma separated" - }, - "fakeIpFilter": { - "label": "Fake IP Filter", - "description": "Domains that skip fake IP resolution, comma separated" - }, - "nameserverPolicy": { - "label": "Nameserver Policy", - "description": "Domain-specific DNS server, multiple servers separated by semicolons, format: domain=server1;server2" - }, - "geoipFiltering": { - "label": "GeoIP Filtering", - "description": "Enable GeoIP filtering for fallback" - }, - "geoipCode": "GeoIP Code", - "fallbackIpCidr": { - "label": "Fallback IP CIDR", - "description": "IP CIDRs not using fallback servers, comma separated" - }, - "fallbackDomain": { - "label": "Fallback Domain", - "description": "Domains using fallback servers, comma separated" - }, - "hosts": { - "label": "Hosts", - "description": "Custom domain to IP or domain mapping" - } - }, - "messages": { - "saved": "DNS settings saved", - "configError": "DNS configuration error:" - }, - "errors": { - "invalid": "Invalid configuration" - } - } - }, - "providers": { - "notices": { - "updateSuccess": "{{name}} updated successfully", - "updateFailed": "Failed to update {{name}}: {{message}}", - "genericError": "Update failed: {{message}}", - "none": "No providers available to update", - "allUpdated": "All providers updated successfully" - } - }, - "test": { - "item": { - "actions": { - "test": "Test" - } - }, - "viewer": { - "title": { - "create": "Create Test", - "edit": "Edit Test" - }, - "fields": { - "url": "Test URL" - } - } - } - }, "common": { "editorModes": { "visualization": "Visualization", @@ -1207,5 +220,1000 @@ "unlock": "Unlock menu order", "lock": "Lock menu order" } + }, + "ruleEditor": { + "title": "Edit Rules", + "form": { + "labels": { + "type": "Rule Type", + "content": "Rule Content", + "proxyPolicy": "Proxy Policy" + }, + "toggles": { + "noResolve": "No Resolve" + }, + "actions": { + "prependRule": "Prepend Rule", + "appendRule": "Append Rule" + }, + "validation": { + "conditionRequired": "Rule Condition Required", + "invalidRule": "Invalid Rule" + } + } + }, + "profile": { + "viewer": { + "title": { + "create": "Create Profile", + "edit": "Edit Profile" + }, + "buttons": { + "save": "Save", + "cancel": "Cancel" + }, + "fields": { + "type": "Type", + "name": "Name", + "description": "Descriptions", + "subscriptionUrl": "Subscription URL", + "httpTimeout": "HTTP Request Timeout", + "updateInterval": "Update Interval", + "useSystemProxy": "Use System Proxy", + "useClashProxy": "Use Clash Proxy", + "acceptInvalidCerts": "Allows Invalid Certificates (Danger)", + "allowAutoUpdate": "Allow Auto Update" + }, + "notifications": { + "creationRetry": "Profile creation failed, retrying with Clash proxy...", + "creationSuccess": "Profile creation succeeded with Clash proxy" + } + }, + "fileInput": { + "chooseFile": "Choose File" + }, + "notifications": { + "saved": "Saved successfully" + }, + "proxiesEditor": { + "title": "Edit Proxies", + "placeholders": { + "multiUri": "Use newlines for multiple uri(Base64 encoding supported)" + }, + "actions": { + "prepend": "Prepend Proxy", + "append": "Append Proxy" + } + }, + "groupsEditor": { + "title": "Edit Proxy Groups", + "errors": { + "nameRequired": "Group Name Required", + "nameExists": "Group Name Already Exists" + }, + "fields": { + "type": "Group Type", + "name": "Group Name", + "icon": "Proxy Group Icon", + "proxies": "Use Proxies", + "provider": "Use Provider", + "healthCheckUrl": "Health Check Url", + "expectedStatus": "Expected Status", + "interval": "Interval", + "timeout": "Timeout", + "maxFailedTimes": "Max Failed Times", + "interfaceName": "Interface Name", + "routingMark": "Routing Mark", + "filter": "Filter", + "excludeFilter": "Exclude Filter", + "excludeType": "Exclude Type", + "includeAll": "Include All Proxies and Providers", + "includeAllProxies": "Include All Proxies", + "includeAllProviders": "Include All Providers" + }, + "toggles": { + "lazy": "Lazy", + "disableUdp": "Disable UDP", + "hidden": "Hidden" + }, + "actions": { + "prepend": "Prepend Group", + "append": "Append Group" + } + }, + "menu": { + "home": "Home", + "select": "Select", + "editInfo": "Edit Info", + "editFile": "Edit File", + "editRules": "Edit Rules", + "editProxies": "Edit Proxies", + "editGroups": "Edit Proxy Groups", + "extendConfig": "Extend Config", + "extendScript": "Extend Script", + "openFile": "Open File", + "update": "Update", + "updateViaProxy": "Update via proxy", + "delete": "Delete" + }, + "item": { + "tooltips": { + "showLast": "Click to show last update time", + "showNext": "Click to show next update" + }, + "status": { + "lastUpdateFailed": "Last Update failed", + "nextUp": "Next Up", + "noSchedule": "No schedule", + "unknown": "Unknown", + "autoUpdateDisabled": "Auto update disabled" + } + }, + "confirm": { + "delete": { + "title": "Confirm deletion", + "message": "This operation is not reversible" + } + }, + "logViewer": { + "title": "Script Console" + }, + "more": { + "global": { + "merge": "Global Merge", + "script": "Global Script" + }, + "chips": { + "merge": "Merge", + "script": "Script" + } + }, + "editor": { + "format": "Format document", + "readOnlyMessage": "Cannot edit in read-only editor" + } + }, + "home": { + "proxyTunCard": { + "status": { + "systemProxyEnabled": "System Proxy Enabled", + "systemProxyDisabled": "System Proxy Disabled", + "tunModeServiceRequired": "TUN Mode Service Required", + "tunModeEnabled": "TUN Mode Enabled", + "tunModeDisabled": "TUN Mode Disabled" + }, + "tooltips": { + "systemProxy": "System Proxy Info", + "tunMode": "TUN Mode Intercept Info" + } + }, + "clashInfo": { + "title": "Clash Info", + "fields": { + "coreVersion": "Core Version", + "systemProxyAddress": "System Proxy Address", + "mixedPort": "Mixed Port", + "uptime": "Uptime", + "rulesCount": "Rules Count" + } + }, + "systemInfo": { + "title": "System Info", + "fields": { + "osInfo": "OS Info", + "autoLaunch": "Auto Launch", + "runningMode": "Running Mode", + "lastCheckUpdate": "Last Check Update", + "vergeVersion": "Verge Version" + }, + "actions": { + "settings": "Settings" + }, + "labels": { + "enabled": "Enabled", + "disabled": "Disabled" + }, + "tooltips": { + "autoLaunchAdmin": "Administrator mode may not support auto launch" + }, + "badges": { + "adminMode": "Administrator Mode", + "serviceMode": "Service Mode", + "sidecarMode": "User Mode", + "adminServiceMode": "Admin + Service Mode" + } + }, + "ipInfo": { + "title": "IP Information", + "errors": { + "load": "Failed to get IP info" + }, + "labels": { + "retry": "Retry", + "ip": "IP", + "asn": "ASN", + "isp": "ISP", + "org": "ORG", + "location": "Location", + "timezone": "Timezone", + "autoRefresh": "Auto refresh", + "unknown": "Unknown" + } + }, + "traffic": { + "metrics": { + "uploadSpeed": "Upload Speed", + "downloadSpeed": "Download Speed", + "activeConnections": "Active Connections", + "uploaded": "Uploaded", + "downloaded": "Downloaded", + "memoryUsage": "Core Usage" + }, + "legends": { + "upload": "Upload", + "download": "Download" + }, + "patterns": { + "minutes": "{{time}} Minutes" + } + }, + "currentProxy": { + "title": "Current Node", + "actions": { + "refreshDelay": "Delay check" + }, + "labels": { + "globalMode": "Global Mode", + "directMode": "Direct Mode", + "group": "Group", + "proxy": "Proxy", + "noActiveNode": "No active proxy node" + } + }, + "profile": { + "title": "Profiles", + "actions": { + "import": "Import" + }, + "labels": { + "from": "From", + "updateTime": "Update Time", + "usedTotal": "Used / Total", + "expireTime": "Expire Time", + "clickToImport": "Click to import subscription" + } + }, + "page": { + "title": "Home", + "tooltips": { + "lightweightMode": "Lightweight Mode", + "manual": "Manual", + "settings": "Home Settings" + }, + "cards": { + "trafficStats": "Traffic Stats", + "networkSettings": "Network Settings", + "proxyMode": "Proxy Mode" + }, + "settings": { + "title": "Home Settings", + "cards": { + "profile": "Profile Card", + "currentProxy": "Current Proxy Card", + "network": "Network Settings Card", + "proxyMode": "Proxy Mode Card", + "traffic": "Traffic Stats Card", + "tests": "Website Tests Card", + "ip": "IP Information Card", + "clashInfo": "Clash Info Cards", + "systemInfo": "System Info Cards" + } + } + } + }, + "connection": { + "fields": { + "host": "Host", + "downloaded": "Downloaded", + "uploaded": "Uploaded", + "dlSpeed": "DL Speed", + "ulSpeed": "UL Speed", + "chains": "Chains", + "rule": "Rule", + "process": "Process", + "time": "Time", + "source": "Source", + "destination": "Destination", + "destinationPort": "Destination Port", + "type": "Type" + }, + "actions": { + "closeConnection": "Close Connection" + }, + "order": { + "default": "Default", + "uploadSpeed": "Upload Speed", + "downloadSpeed": "Download Speed" + } + }, + "settings": { + "system": { + "title": "System Setting", + "toggles": { + "tunMode": "Tun Mode", + "systemProxy": "System Proxy" + }, + "labels": { + "autoLaunch": "Auto Launch", + "silentStart": "Silent Start" + }, + "tooltips": { + "autoLaunchAdmin": "Administrator mode may not support auto launch", + "silentStart": "Start the program in background mode without displaying the panel" + } + }, + "proxyControl": { + "labels": { + "systemProxy": "System Proxy", + "tunMode": "Tun Mode" + }, + "tooltips": { + "systemProxy": "Enable to modify the operating system's proxy settings. If enabling fails, modify the operating system's proxy settings manually", + "tunMode": "Tun (Virtual NIC) mode: Captures all system traffic, when enabled, there is no need to enable system proxy.", + "tunUnavailable": "TUN requires Service Mode or Admin Mode" + }, + "actions": { + "installService": "Install Service", + "uninstallService": "Uninstall Service" + } + }, + "externalController": { + "title": "External Controller", + "fields": { + "enable": "Enable External Controller", + "address": "External Controller", + "secret": "Core Secret" + }, + "placeholders": { + "address": "Required", + "secret": "Recommended" + }, + "tooltips": { + "copy": "Copy to clipboard" + }, + "messages": { + "addressRequired": "Controller address cannot be empty", + "secretRequired": "Secret cannot be empty", + "copyFailed": "Failed to copy", + "controllerCopied": "Controller address copied to clipboard", + "secretCopied": "Secret copied to clipboard" + } + }, + "externalCors": { + "title": "External Cors Configuration", + "fields": { + "allowPrivateNetwork": "Allow private network access", + "allowedOrigins": "Allowed Origins" + }, + "placeholders": { + "origin": "Please enter a valid url" + }, + "actions": { + "add": "Add" + }, + "messages": { + "alwaysIncluded": "Always included origins: {{urls}}" + }, + "tooltips": { + "open": "External Cors Settings" + } + }, + "clash": { + "title": "Clash Setting", + "items": { + "allowLan": "Allow LAN", + "dnsOverwrite": "DNS Overwrite", + "ipv6": "IPv6", + "unifiedDelay": "Unified Delay", + "logLevel": "Log Level", + "portConfig": "Port Config", + "external": "External", + "webUI": "Web UI", + "clashCore": "Clash Core", + "openUwpTool": "Open UWP tool", + "updateGeoData": "Update GeoData" + }, + "tooltips": { + "networkInterface": "Network Interface", + "unifiedDelay": "When unified delay is turned on, two delay tests will be performed to eliminate the delay differences between different types of nodes caused by connection handshakes, etc", + "logLevel": "This parameter is valid only for kernel log files in the log directory Service folder", + "openUwpTool": "Since Windows 8, UWP apps (such as Microsoft Store) are restricted from directly accessing local host network services, and this tool can be used to bypass this restriction" + }, + "options": { + "logLevel": { + "debug": "Debug", + "info": "Info", + "warning": "Warn", + "error": "Error", + "silent": "Silent" + } + }, + "messages": { + "geoDataUpdated": "GeoData Updated" + }, + "port": { + "title": "Port Config", + "fields": { + "mixed": "Mixed Port", + "socks": "Socks Port", + "http": "Http(s) Port", + "redir": "Redir Port", + "tproxy": "Tproxy Port" + }, + "actions": { + "random": "Random Port" + }, + "messages": { + "saved": "Port settings saved", + "saveFailed": "Failed to save port settings" + } + } + }, + "liteMode": { + "title": "LightWeight Mode Settings", + "actions": { + "enterNow": "Enter LightWeight Mode Now" + }, + "toggles": { + "autoEnter": "Auto Enter LightWeight Mode" + }, + "tooltips": { + "autoEnter": "Enable to automatically activate LightWeight Mode after the window is closed for a period of time" + }, + "fields": { + "delay": "Auto Enter LightWeight Mode Delay" + }, + "messages": { + "autoEnterHint": "When closing the window, LightWeight Mode will be automatically activated after {{n}} minutes" + } + }, + "backup": { + "title": "Backup Setting", + "tabs": { + "local": "Local backup", + "webdav": "WebDAV backup" + }, + "actions": { + "selectTarget": "Select backup target", + "backup": "Backup", + "refresh": "Refresh", + "save": "Save", + "export": "Export", + "exportBackup": "Export Backup", + "delete": "Delete", + "deleteBackup": "Delete Backup", + "restore": "Restore", + "restoreBackup": "Restore Backup" + }, + "fields": { + "webdavUrl": "WebDAV Server URL", + "username": "Username", + "password": "Password", + "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." + }, + "messages": { + "webdavUrlRequired": "WebDAV URL cannot be empty", + "invalidWebdavUrl": "Invalid WebDAV URL format", + "usernameRequired": "Username cannot be empty", + "passwordRequired": "Password cannot be empty", + "webdavConfigSaved": "WebDAV configuration saved successfully", + "webdavConfigSaveFailed": "Failed to save WebDAV configuration: {{error}}", + "backupCreated": "Backup created successfully", + "backupFailed": "Backup failed: {{error}}", + "localBackupCreated": "Local backup created successfully", + "localBackupFailed": "Local backup failed", + "restoreSuccess": "Restore Success, App will restart in 1s", + "localBackupExported": "Local backup exported successfully", + "localBackupExportFailed": "Failed to export local backup", + "confirmDelete": "Confirm to delete this backup file?", + "confirmRestore": "Confirm to restore this backup file?" + }, + "table": { + "filename": "Filename", + "backupTime": "Backup Time", + "actions": "Actions", + "noBackups": "No backups available", + "rowsPerPage": "Rows per page" + } + }, + "verge": { + "basic": { + "title": "Verge Basic Setting", + "items": { + "language": "Language", + "themeMode": "Theme Mode", + "trayClickEvent": "Tray Click Event", + "copyEnvType": "Copy Env Type", + "startPage": "Start Page", + "startupScript": "Startup Script", + "themeSetting": "Theme Setting", + "layoutSetting": "Layout Setting", + "misc": "Miscellaneous", + "hotkeySetting": "Hotkey Setting" + }, + "actions": { + "browse": "Browse", + "clear": "Clear" + }, + "trayOptions": { + "showMainWindow": "Show Main Window", + "showTrayMenu": "Show Tray Menu", + "disable": "Disable" + } + }, + "advanced": { + "title": "Verge Advanced Setting", + "items": { + "backupSetting": "Backup Setting", + "runtimeConfig": "Runtime Config", + "openConfDir": "Open Conf Dir", + "openCoreDir": "Open Core Dir", + "openLogsDir": "Open Logs Dir", + "checkUpdates": "Check for Updates", + "openDevTools": "Dev Tools", + "liteModeSettings": "LightWeight Mode Settings", + "exit": "Exit", + "exportDiagnostics": "Export Diagnostic Info", + "vergeVersion": "Verge Version" + }, + "tooltips": { + "backupInfo": "Support local or WebDAV backup of configuration files", + "openConfDir": "If the software runs abnormally, BACKUP and delete all files in this folder then restart the software", + "liteMode": "Close the GUI and keep only the kernel running" + }, + "actions": { + "copyVersion": "Copy Version" + }, + "notifications": { + "latestVersion": "Currently on the Latest Version", + "versionCopied": "Version copied to clipboard" + } + }, + "theme": { + "title": "Theme Setting", + "fields": { + "primaryColor": "Primary Color", + "secondaryColor": "Secondary Color", + "primaryText": "Primary Text", + "secondaryText": "Secondary Text", + "infoColor": "Info Color", + "warningColor": "Warning Color", + "errorColor": "Error Color", + "successColor": "Success Color", + "fontFamily": "Font Family", + "cssInjection": "CSS Injection" + }, + "actions": { + "editCss": "Edit CSS" + }, + "dialogs": { + "editCssTitle": "Edit CSS" + } + }, + "layout": { + "title": "Layout Setting", + "fields": { + "preferSystemTitlebar": "Prefer System Titlebar", + "trafficGraph": "Traffic Graph", + "memoryUsage": "Core Usage", + "proxyGroupIcon": "Proxy Group Icon", + "hoverNavigator": "Hover Jump Navigator", + "hoverNavigatorDelay": "Hover Jump Navigator Delay", + "navIcon": "Nav Icon", + "trayIcon": "Tray Icon", + "showProxyGroupsInline": "Show Proxy Groups Inline", + "commonTrayIcon": "Common Tray Icon", + "systemProxyTrayIcon": "System Proxy Tray Icon", + "tunTrayIcon": "Tun Tray Icon" + }, + "tooltips": { + "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", + "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" + }, + "options": { + "icon": { + "monochrome": "Monochrome", + "colorful": "Colorful", + "disable": "Disable" + } + } + } + }, + "common": { + "notifications": { + "copySuccess": "Copy Success" + } + }, + "misc": { + "title": "Miscellaneous", + "fields": { + "appLogLevel": "App Log Level", + "appLogMaxSize": "App Log Max Size", + "appLogMaxCount": "App Log Max Count", + "autoCloseConnections": "Auto Close Connections", + "autoCheckUpdate": "Auto Check Update", + "enableBuiltinEnhanced": "Enable Builtin Enhanced", + "proxyLayoutColumns": "Proxy Layout Columns", + "autoLogClean": "Auto Log Clean", + "autoDelayDetection": "Auto Delay Detection", + "defaultLatencyTest": "Default Latency Test", + "defaultLatencyTimeout": "Default Latency Timeout" + }, + "tooltips": { + "autoCloseConnections": "Terminate established connections when the proxy group selection or proxy mode changes", + "enableBuiltinEnhanced": "Compatibility handling for the configuration file", + "autoDelayDetection": "Periodically test the current node latency in the background", + "defaultLatencyTest": "Used for HTTP client request testing only and won't make a difference to the configuration file" + }, + "options": { + "proxyLayoutColumns": { + "auto": "Auto Columns" + }, + "autoLogClean": { + "never": "Never Clean", + "retainDays": "Retain {{n}} Days" + } + } + }, + "update": { + "title": "New Version v{{version}}", + "actions": { + "goToRelease": "Go to Release Page", + "update": "Update" + }, + "messages": { + "portableError": "The portable version does not support in-app updates. Please manually download and replace it", + "breakChangeError": "This version is a major update and does not support in-app updates. Please uninstall it and manually download and install the new version" + } + }, + "sysproxy": { + "title": "System Proxy Setting", + "fieldsets": { + "currentStatus": "Current System Proxy" + }, + "fields": { + "enableStatus": "Enable Status:", + "serverAddr": "Server Addr: ", + "pacUrl": "PAC URL: ", + "proxyHost": "Proxy Host", + "usePacMode": "Use PAC Mode", + "proxyGuard": "Proxy Guard", + "guardDuration": "Guard Duration", + "alwaysUseDefaultBypass": "Always use Default Bypass", + "proxyBypass": "Proxy Bypass Settings: ", + "bypass": "Bypass: ", + "pacScriptContent": "PAC Script Content" + }, + "tooltips": { + "proxyGuard": "Enable to prevent other software from modifying the operating system's proxy settings" + }, + "messages": { + "durationTooShort": "Proxy Daemon Duration Cannot be Less than 1 Second", + "invalidBypass": "Invalid Bypass Format", + "invalidProxyHost": "Invalid Proxy Host Format" + }, + "actions": { + "editPac": "Edit PAC" + } + }, + "tun": { + "title": "Tun Mode", + "actions": { + "reset": "Reset to Default" + }, + "fields": { + "stack": "Tun Stack", + "device": "Device Name", + "autoRoute": "Auto Route", + "strictRoute": "Strict Route", + "autoDetectInterface": "Auto Detect Interface", + "dnsHijack": "DNS Hijack", + "mtu": "Max Transmission Unit" + }, + "tooltips": { + "dnsHijack": "Please use , to separate multiple DNS servers" + }, + "messages": { + "applied": "Settings Applied" + } + }, + "dns": { + "dialog": { + "title": "DNS Overwrite", + "warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled" + }, + "sections": { + "general": "DNS Settings", + "fallbackFilter": "Fallback Filter Settings", + "hosts": "Hosts Settings" + }, + "fields": { + "enable": "Enable DNS", + "listen": "DNS Listen", + "enhancedMode": "Enhanced Mode", + "fakeIpRange": "Fake IP Range", + "fakeIpFilterMode": "Fake IP Filter Mode", + "ipv6": { + "label": "IPv6", + "description": "Enable IPv6 DNS resolution" + }, + "preferH3": { + "label": "Prefer H3", + "description": "DNS DOH uses HTTP/3" + }, + "respectRules": { + "label": "Respect Rules", + "description": "DNS connections follow routing rules" + }, + "useHosts": { + "label": "Use Hosts", + "description": "Enable to resolve hosts through hosts file" + }, + "useSystemHosts": { + "label": "Use System Hosts", + "description": "Enable to resolve hosts through system hosts file" + }, + "directPolicy": { + "label": "Direct Nameserver Follow Policy", + "description": "Whether to follow nameserver policy" + }, + "defaultNameserver": { + "label": "Default Nameserver", + "description": "Default DNS servers used to resolve DNS servers" + }, + "nameserver": { + "label": "Nameserver", + "description": "List of DNS servers, comma separated" + }, + "fallback": { + "label": "Fallback", + "description": "List of fallback DNS servers, comma separated" + }, + "proxy": { + "label": "Proxy Server Nameserver", + "description": "DNS servers for proxy node domain resolution" + }, + "directNameserver": { + "label": "Direct Nameserver", + "description": "DNS servers for direct exit domain resolution, supports 'system' keyword, comma separated" + }, + "fakeIpFilter": { + "label": "Fake IP Filter", + "description": "Domains that skip fake IP resolution, comma separated" + }, + "nameserverPolicy": { + "label": "Nameserver Policy", + "description": "Domain-specific DNS server, multiple servers separated by semicolons, format: domain=server1;server2" + }, + "geoipFiltering": { + "label": "GeoIP Filtering", + "description": "Enable GeoIP filtering for fallback" + }, + "geoipCode": "GeoIP Code", + "fallbackIpCidr": { + "label": "Fallback IP CIDR", + "description": "IP CIDRs not using fallback servers, comma separated" + }, + "fallbackDomain": { + "label": "Fallback Domain", + "description": "Domains using fallback servers, comma separated" + }, + "hosts": { + "label": "Hosts", + "description": "Custom domain to IP or domain mapping" + } + }, + "messages": { + "saved": "DNS settings saved", + "configError": "DNS configuration error:" + }, + "errors": { + "invalid": "Invalid configuration" + } + }, + "page": { + "title": "Settings", + "actions": { + "manual": "Manual", + "telegram": "Telegram Channel", + "github": "Github Repo" + } + } + }, + "providers": { + "notices": { + "updateSuccess": "{{name}} updated successfully", + "updateFailed": "Failed to update {{name}}: {{message}}", + "genericError": "Update failed: {{message}}", + "none": "No providers available to update", + "allUpdated": "All providers updated successfully" + } + }, + "test": { + "item": { + "actions": { + "test": "Test" + } + }, + "viewer": { + "title": { + "create": "Create Test", + "edit": "Edit Test" + }, + "fields": { + "url": "Test URL" + } + }, + "page": { + "title": "Test", + "actions": { + "testAll": "Test All", + "new": "New" + } + } + }, + "proxies": { + "page": { + "title": { + "default": "Proxy Groups", + "chainMode": "Proxy Chain Mode" + }, + "actions": { + "toggleChain": "🔗 Chain Proxy", + "connect": "Connect", + "disconnect": "Disconnect", + "connecting": "Connecting...", + "clearChainConfig": "Delete Chain Config" + }, + "provider": { + "title": "Proxy Provider", + "actions": { + "updateAll": "Update All", + "update": "Update" + } + }, + "rules": { + "title": "Proxy Rules", + "select": "Select Rules" + }, + "labels": { + "proxyCount": "Proxy Count", + "delayCheckReset": "Delay check to cancel fixed" + }, + "tooltips": { + "locate": "locate", + "delayCheck": "Delay check", + "sortDefault": "Sort by default", + "sortDelay": "Sort by delay", + "sortName": "Sort by name", + "delayCheckUrl": "Delay check URL", + "showBasic": "Proxy basic", + "showDetail": "Proxy detail", + "filter": "Filter" + }, + "placeholders": { + "filter": "Filter conditions", + "delayCheckUrl": "Delay check URL" + }, + "chain": { + "header": "Chain Proxy Config", + "empty": "No proxy chain configured", + "instruction": "Click nodes in order to add to proxy chain", + "minimumNodes": "Chain proxy requires at least 2 nodes", + "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", + "connectFailed": "Failed to connect to proxy chain", + "disconnectFailed": "Failed to disconnect from proxy chain", + "duplicateNode": "Proxy node already exists in chain" + } + } + }, + "rules": { + "page": { + "title": "Rules", + "provider": { + "trigger": "Rule Provider", + "dialogTitle": "Rule Providers", + "actions": { + "updateAll": "Update All", + "update": "Update" + } + } + } + }, + "profiles": { + "page": { + "title": "Profiles", + "actions": { + "updateAll": "Update All Profiles", + "viewRuntimeConfig": "View Runtime Config", + "reactivate": "Reactivate Profiles", + "import": "Import", + "new": "New" + }, + "batch": { + "title": "Batch Operations", + "delete": "Delete Selected Profiles", + "selectAll": "Select All", + "deselectAll": "Deselect All", + "done": "Done", + "selected": "Selected", + "items": "items" + }, + "import": { + "placeholder": "Profile URL", + "paste": "Paste", + "clear": "Clear" + }, + "errors": { + "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", + "onlyYaml": "Only YAML Files Supported" + }, + "notifications": { + "importRetry": "Import failed, retrying with Clash proxy...", + "importFail": "Import failed even with Clash proxy", + "importNeedsRefresh": "Profile imported but may need manual refresh", + "importSuccess": "Profile imported successfully, please restart if not visible", + "profileSwitched": "Profile Switched", + "profileReactivated": "Profile Reactivated", + "switchInterrupted": "Profile switch interrupted by new selection", + "batchDeleted": "Selected profiles deleted successfully" + }, + "notices": { + "forceRefreshCompleted": "Force refresh completed", + "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" + } + } + }, + "connections": { + "page": { + "title": "Connections", + "summary": { + "downloaded": "Downloaded", + "uploaded": "Uploaded" + }, + "actions": { + "listView": "List View", + "tableView": "Table View", + "pause": "Pause", + "resume": "Resume", + "closeAll": "Close All" + } + } + }, + "logs": { + "page": { + "title": "Logs", + "actions": { + "pause": "Pause", + "resume": "Resume", + "clear": "Clear" + }, + "filters": { + "all": "ALL", + "debug": "DEBUG", + "info": "INFO", + "warn": "WARN", + "error": "ERROR" + } + } + }, + "unlock": { + "page": { + "title": "Unlock Test", + "actions": { + "testing": "Testing..." + }, + "empty": "No unlock test items" + } } } diff --git a/src/locales/es.json b/src/locales/es.json index dec337be..9e675a1a 100644 --- a/src/locales/es.json +++ b/src/locales/es.json @@ -13,192 +13,6 @@ "Save": "Guardar", "Delete": "Eliminar", "Enable": "Habilitar", - "pages": { - "home": { - "title": "Hogar", - "tooltips": { - "lightweightMode": "Modo ligero", - "manual": "Manual de uso", - "settings": "Configuración de la página de inicio" - }, - "cards": { - "trafficStats": "Estadísticas de tráfico", - "networkSettings": "Configuración de red", - "proxyMode": "Modo de proxy" - }, - "settings": { - "title": "Configuración de la página de inicio", - "cards": { - "profile": "Tarjeta de suscripción", - "currentProxy": "Tarjeta de proxy actual", - "network": "Tarjeta de configuración de red", - "proxyMode": "Tarjeta de modo de proxy", - "traffic": "Tarjeta de estadísticas de tráfico", - "tests": "Tarjeta de pruebas de sitios web", - "ip": "Tarjeta de información de IP", - "clashInfo": "Tarjetas de información de Clash", - "systemInfo": "Tarjetas de información del sistema" - } - } - }, - "proxies": { - "title": { - "default": "Grupos de proxies", - "chainMode": "Proxy Chain Mode" - }, - "actions": { - "toggleChain": "🔗 Proxy en cadena", - "connect": "Connect", - "disconnect": "Disconnect", - "connecting": "Connecting...", - "clearChainConfig": "Delete Chain Config" - }, - "provider": { - "title": "Proveedor de proxies", - "actions": { - "updateAll": "Actualizar todo", - "update": "Actualizar" - } - }, - "rules": { - "title": "Proxy Rules", - "select": "Select Rules" - }, - "labels": { - "proxyCount": "Número de nodos", - "delayCheckReset": "Realizar prueba de latencia para cancelar la fijación" - }, - "tooltips": { - "locate": "Nodo actual", - "delayCheck": "Prueba de latencia", - "sortDefault": "Ordenación predeterminada", - "sortDelay": "Ordenar por latencia", - "sortName": "Ordenar por nombre", - "delayCheckUrl": "URL de prueba de latencia", - "showBasic": "Ocultar detalles del nodo", - "showDetail": "Mostrar detalles del nodo", - "filter": "Filtrar nodos" - }, - "placeholders": { - "filter": "Condiciones de filtrado", - "delayCheckUrl": "URL de prueba de latencia" - }, - "chain": { - "header": "Chain Proxy Config", - "empty": "No proxy chain configured", - "instruction": "Click nodes in order to add to proxy chain", - "minimumNodes": "Chain proxy requires at least 2 nodes", - "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", - "connectFailed": "Failed to connect to proxy chain", - "disconnectFailed": "Failed to disconnect from proxy chain", - "duplicateNode": "Proxy node already exists in chain" - } - }, - "rules": { - "title": "Reglas", - "provider": { - "trigger": "Proveedor de reglas", - "dialogTitle": "Proveedor de reglas", - "actions": { - "updateAll": "Actualizar todo", - "update": "Actualizar" - } - } - }, - "profiles": { - "title": "Suscripciones", - "actions": { - "updateAll": "Actualizar todas las suscripciones", - "viewRuntimeConfig": "Ver configuración en tiempo de ejecución", - "reactivate": "Reactivar suscripciones", - "import": "Importar", - "new": "Nuevo" - }, - "batch": { - "title": "Batch Operations", - "delete": "Delete Selected Profiles", - "selectAll": "Select All", - "deselectAll": "Deselect All", - "done": "Done", - "selected": "Selected", - "items": "items" - }, - "import": { - "placeholder": "Enlace del archivo de suscripción", - "paste": "Pegar", - "clear": "Limpiar" - }, - "errors": { - "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", - "onlyYaml": "Solo se admiten archivos YAML" - }, - "notifications": { - "importRetry": "Error al importar la suscripción. Intentando con el proxy de Clash...", - "importFail": "Error al importar incluso con el proxy de Clash", - "importNeedsRefresh": "Profile imported but may need manual refresh", - "importSuccess": "Profile imported successfully, please restart if not visible", - "profileSwitched": "Suscripción cambiada", - "profileReactivated": "Suscripción reactivada", - "switchInterrupted": "Profile switch interrupted by new selection", - "batchDeleted": "Selected profiles deleted successfully" - }, - "notices": { - "forceRefreshCompleted": "Force refresh completed", - "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" - } - }, - "connections": { - "title": "Conexiones", - "summary": { - "downloaded": "Descargado", - "uploaded": "Subido" - }, - "actions": { - "listView": "Vista de lista", - "tableView": "Vista de tabla", - "pause": "Pausar", - "resume": "Reanudar", - "closeAll": "Cerrar todas" - } - }, - "settings": { - "title": "Ajustes", - "actions": { - "manual": "Manual de uso", - "telegram": "Canal de Telegram", - "github": "Dirección del proyecto en GitHub" - } - }, - "logs": { - "title": "Registros", - "actions": { - "pause": "Pausar", - "resume": "Reanudar", - "clear": "Limpiar" - }, - "filters": { - "all": "ALL", - "debug": "DEBUG", - "info": "INFO", - "warn": "WARN", - "error": "ERROR" - } - }, - "test": { - "title": "Prueba", - "actions": { - "testAll": "Probar todo", - "new": "Nuevo" - } - }, - "unlock": { - "title": "Prueba de desbloqueo", - "actions": { - "testing": "Probando..." - }, - "empty": "No unlock test items" - } - }, "Proxies": "Proxies", "Update At": "Actualizado el", "rule": "Regla", @@ -380,807 +194,6 @@ "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", - "components": { - "ruleEditor": { - "title": "Editar reglas", - "form": { - "labels": { - "type": "Tipo de regla", - "content": "Contenido de la regla", - "proxyPolicy": "Política de proxy" - }, - "toggles": { - "noResolve": "Omitir resolución DNS" - }, - "actions": { - "prependRule": "Agregar regla previa", - "appendRule": "Agregar regla posterior" - }, - "validation": { - "conditionRequired": "Falta la condición de la regla", - "invalidRule": "Regla no válida" - } - } - }, - "profile": { - "viewer": { - "title": { - "create": "Crear configuración", - "edit": "Editar configuración" - }, - "buttons": { - "save": "Guardar", - "cancel": "Cancelar" - }, - "fields": { - "type": "Tipo", - "name": "Nombre", - "description": "Descripción", - "subscriptionUrl": "Enlace de suscripción", - "httpTimeout": "HTTP Request Timeout", - "updateInterval": "Intervalo de actualización", - "useSystemProxy": "Usar proxy del sistema para actualizar", - "useClashProxy": "Usar proxy del núcleo para actualizar", - "acceptInvalidCerts": "Allows Invalid Certificates (Danger)", - "allowAutoUpdate": "Allow Auto Update" - }, - "notifications": { - "creationRetry": "Error al crear la suscripción. Intentando con el proxy de Clash...", - "creationSuccess": "Creación de la suscripción con el proxy de Clash exitosa" - } - }, - "fileInput": { - "chooseFile": "Elegir archivo" - }, - "notifications": { - "saved": "Saved successfully" - }, - "proxiesEditor": { - "title": "Editar nodos", - "placeholders": { - "multiUri": "Para múltiples URI, utilice saltos de línea (se admite la codificación Base64)" - }, - "actions": { - "prepend": "Agregar nodo de proxy previo", - "append": "Agregar nodo de proxy posterior" - } - }, - "groupsEditor": { - "title": "Editar grupos de proxy", - "errors": { - "nameRequired": "El nombre del grupo de proxy no puede estar vacío", - "nameExists": "El nombre del grupo de proxy ya existe" - }, - "fields": { - "type": "Tipo de grupo de proxy", - "name": "Nombre del grupo de proxy", - "icon": "Icono del grupo de proxy", - "proxies": "Incluir proxies", - "provider": "Incluir proveedor de proxies", - "healthCheckUrl": "URL de prueba de salud", - "expectedStatus": "Código de estado esperado", - "interval": "Intervalo de comprobación", - "timeout": "Tiempo de espera", - "maxFailedTimes": "Número máximo de fallos", - "interfaceName": "Nombre de la interfaz de salida", - "routingMark": "Marca de enrutamiento", - "filter": "Filtrar nodos", - "excludeFilter": "Excluir nodos", - "excludeType": "Tipo de nodo a excluir", - "includeAll": "Incluir todos los proxies de salida y proveedores de proxies", - "includeAllProxies": "Incluir todos los proxies de salida", - "includeAllProviders": "Incluir todos los proveedores de proxies" - }, - "toggles": { - "lazy": "Estado de inactividad", - "disableUdp": "Deshabilitar UDP", - "hidden": "Ocultar grupo de proxy" - }, - "actions": { - "prepend": "Agregar grupo de proxy previo", - "append": "Agregar grupo de proxy posterior" - } - }, - "menu": { - "home": "Hogar", - "select": "Usar", - "editInfo": "Editar información", - "editFile": "Editar archivo", - "editRules": "Editar reglas", - "editProxies": "Editar nodos", - "editGroups": "Editar grupos de proxy", - "extendConfig": "Configurar sobrescritura extendida", - "extendScript": "Script extendido", - "openFile": "Abrir archivo", - "update": "Actualizar", - "updateViaProxy": "Update via proxy", - "delete": "Eliminar" - }, - "item": { - "tooltips": { - "showLast": "Click to show last update time", - "showNext": "Click to show next update" - }, - "status": { - "lastUpdateFailed": "La última actualización falló", - "nextUp": "Próxima actualización", - "noSchedule": "Sin programación", - "unknown": "Desconocido", - "autoUpdateDisabled": "La actualización automática está deshabilitada" - } - }, - "confirm": { - "delete": { - "title": "Confirmar eliminación", - "message": "Esta operación no se puede deshacer" - } - }, - "logViewer": { - "title": "Salida de la consola del script" - }, - "more": { - "global": { - "merge": "Global Merge", - "script": "Global Script" - }, - "chips": { - "merge": "Merge", - "script": "Script" - } - }, - "editor": { - "format": "Formatear documento", - "readOnlyMessage": "No se puede editar en modo de solo lectura" - } - }, - "home": { - "proxyTunCard": { - "status": { - "systemProxyEnabled": "El proxy del sistema está habilitado. Sus aplicaciones accederán a Internet a través del proxy.", - "systemProxyDisabled": "El proxy del sistema está deshabilitado. Se recomienda a la mayoría de los usuarios habilitar esta opción.", - "tunModeServiceRequired": "El modo TUN requiere el modo de servicio. Instale el servicio primero.", - "tunModeEnabled": "El modo TUN está habilitado. Las aplicaciones accederán a Internet a través de la interfaz virtual.", - "tunModeDisabled": "El modo TUN está deshabilitado. Este modo es adecuado para aplicaciones especiales." - }, - "tooltips": { - "systemProxy": "Modifica la configuración del proxy del sistema operativo. Si no se puede habilitar, puede modificar manualmente la configuración del proxy del sistema operativo.", - "tunMode": "El modo TUN puede gestionar todo el tráfico de las aplicaciones. Es adecuado para aplicaciones que no siguen la configuración del proxy del sistema." - } - }, - "clashInfo": { - "title": "Información de Clash", - "fields": { - "coreVersion": "Versión del núcleo", - "systemProxyAddress": "Dirección del proxy del sistema", - "mixedPort": "Mixed Port", - "uptime": "Tiempo de actividad", - "rulesCount": "Número de reglas" - } - }, - "systemInfo": { - "title": "Información del sistema", - "fields": { - "osInfo": "Información del sistema operativo", - "autoLaunch": "Inicio automático al arrancar el sistema", - "runningMode": "Modo de ejecución", - "lastCheckUpdate": "Última comprobación de actualizaciones", - "vergeVersion": "Versión de Verge" - }, - "actions": { - "settings": "Ajustes" - }, - "labels": { - "enabled": "Habilitado", - "disabled": "Deshabilitado" - }, - "tooltips": { - "autoLaunchAdmin": "El modo de administrador puede no admitir el inicio automático." - }, - "badges": { - "adminMode": "Modo de administrador", - "serviceMode": "Modo de servicio", - "sidecarMode": "Modo de usuario", - "adminServiceMode": "Admin + Service Mode" - } - }, - "ipInfo": { - "title": "Información de IP", - "errors": { - "load": "Error al obtener información de IP" - }, - "labels": { - "retry": "Retry", - "ip": "IP", - "asn": "Número de sistema autónomo", - "isp": "Proveedor de servicios de Internet", - "org": "Organización", - "location": "Ubicación", - "timezone": "Zona horaria", - "autoRefresh": "Actualización automática", - "unknown": "Desconocido" - } - }, - "traffic": { - "metrics": { - "uploadSpeed": "Velocidad de subida", - "downloadSpeed": "Velocidad de descarga", - "activeConnections": "Conexiones activas", - "uploaded": "Subido", - "downloaded": "Descargado", - "memoryUsage": "Uso de memoria del núcleo" - }, - "legends": { - "upload": "Subir", - "download": "Descargar" - }, - "patterns": { - "minutes": "{{time}} Minutes" - } - }, - "currentProxy": { - "title": "Nodo actual", - "actions": { - "refreshDelay": "Prueba de latencia" - }, - "labels": { - "globalMode": "Global Mode", - "directMode": "Direct Mode", - "group": "Grupo de proxy", - "proxy": "Nodo", - "noActiveNode": "No hay nodos de proxy activos" - } - }, - "profile": { - "title": "Suscripciones", - "actions": { - "import": "Importar" - }, - "labels": { - "from": "De", - "updateTime": "Hora de actualización", - "usedTotal": "Utilizado / Total", - "expireTime": "Tiempo de expiración", - "clickToImport": "Haga clic para importar una suscripción" - } - } - }, - "connection": { - "fields": { - "host": "Host", - "downloaded": "Descargado", - "uploaded": "Subido", - "dlSpeed": "Velocidad de descarga", - "ulSpeed": "Velocidad de subida", - "chains": "Cadenas", - "rule": "Regla", - "process": "Proceso", - "time": "Tiempo de conexión", - "source": "Dirección de origen", - "destination": "Dirección de destino", - "destinationPort": "Puerto de destino", - "type": "Tipo" - }, - "actions": { - "closeConnection": "Cerrar conexión" - }, - "order": { - "default": "Default", - "uploadSpeed": "Velocidad de subida", - "downloadSpeed": "Velocidad de descarga" - } - }, - "settings": { - "system": { - "title": "Ajustes del sistema", - "toggles": { - "tunMode": "Modo de interfaz virtual (TUN)", - "systemProxy": "Proxy del sistema" - }, - "labels": { - "autoLaunch": "Inicio automático al arrancar el sistema", - "silentStart": "Inicio silencioso" - }, - "tooltips": { - "autoLaunchAdmin": "El modo de administrador puede no admitir el inicio automático.", - "silentStart": "El programa se ejecutará en segundo plano al iniciarse y no mostrará el panel." - } - }, - "proxyControl": { - "labels": { - "systemProxy": "Proxy del sistema", - "tunMode": "Modo de interfaz virtual (TUN)" - }, - "tooltips": { - "systemProxy": "Modifica la configuración del proxy del sistema operativo. Si no se puede habilitar, puede modificar manualmente la configuración del proxy del sistema operativo.", - "tunMode": "El modo TUN (interfaz virtual) gestiona todo el tráfico del sistema. No es necesario habilitar el proxy del sistema cuando está activado.", - "tunUnavailable": "El modo TUN requiere el modo de servicio o el modo de administrador" - }, - "actions": { - "installService": "Instalar servicio", - "uninstallService": "Desinstalar servicio" - } - }, - "externalController": { - "title": "Dirección de escucha del controlador externo", - "fields": { - "enable": "Habilitar controlador externo", - "address": "Dirección de escucha del controlador externo", - "secret": "Clave de acceso a la API" - }, - "placeholders": { - "address": "Requerido", - "secret": "Configuración recomendada" - }, - "tooltips": { - "copy": "Copiar al portapapeles" - }, - "messages": { - "addressRequired": "La dirección del controlador no puede estar vacía", - "secretRequired": "La clave secreta no puede estar vacía", - "copyFailed": "Error al copiar", - "controllerCopied": "El puerto API se copió al portapapeles", - "secretCopied": "La clave API se copió al portapapeles" - } - }, - "externalCors": { - "title": "Configuración de CORS externo", - "fields": { - "allowPrivateNetwork": "Permitir acceso a red privada", - "allowedOrigins": "Orígenes permitidos" - }, - "placeholders": { - "origin": "Introduce una URL válida" - }, - "actions": { - "add": "Agregar" - }, - "messages": { - "alwaysIncluded": "Orígenes siempre incluidos: {{urls}}" - }, - "tooltips": { - "open": "Configuración de CORS externo" - } - }, - "clash": { - "title": "Ajustes de Clash", - "items": { - "allowLan": "Conexión a la red local", - "dnsOverwrite": "Sobrescritura de DNS", - "ipv6": "IPv6", - "unifiedDelay": "Latencia unificada", - "logLevel": "Nivel de registro", - "portConfig": "Configuración de puerto", - "external": "Control externo", - "webUI": "Interfaz web", - "clashCore": "Núcleo de Clash", - "openUwpTool": "Abrir herramienta UWP", - "updateGeoData": "Actualizar GeoData" - }, - "tooltips": { - "networkInterface": "Interfaz de red", - "unifiedDelay": "Al habilitar la latencia unificada, se realizarán dos pruebas de latencia para eliminar las diferencias de latencia entre diferentes tipos de nodos causadas por el handshake de conexión, etc.", - "logLevel": "Solo se aplica al archivo de registro del núcleo en la carpeta Service del directorio de registros.", - "openUwpTool": "A partir de Windows 8, las aplicaciones UWP (como la Tienda de Microsoft) tienen restricciones para acceder directamente a los servicios de red del host local. Use esta herramienta para evitar esta restricción." - }, - "options": { - "logLevel": { - "debug": "Debug", - "info": "Info", - "warning": "Warn", - "error": "Error", - "silent": "Silent" - } - }, - "messages": { - "geoDataUpdated": "GeoData actualizado" - }, - "port": { - "title": "Configuración de puerto", - "fields": { - "mixed": "Puerto de proxy mixto", - "socks": "Puerto de proxy SOCKS", - "http": "Puerto de proxy HTTP(S)", - "redir": "Puerto de proxy transparente Redir", - "tproxy": "Puerto de proxy transparente TPROXY" - }, - "actions": { - "random": "Puerto aleatorio" - }, - "messages": { - "saved": "Port settings saved", - "saveFailed": "Failed to save port settings" - } - } - }, - "liteMode": { - "title": "Configuración del modo ligero", - "actions": { - "enterNow": "Entrar en modo ligero ahora" - }, - "toggles": { - "autoEnter": "Entrar automáticamente en modo ligero" - }, - "tooltips": { - "autoEnter": "Si se habilita, se activará automáticamente el modo ligero después de un tiempo de inactividad de la ventana." - }, - "fields": { - "delay": "Retraso para entrar automáticamente en modo ligero" - }, - "messages": { - "autoEnterHint": "Después de cerrar la ventana, el modo ligero se activará automáticamente después de {{n}} minutos" - } - }, - "backup": { - "title": "Configuración de copia de seguridad", - "tabs": { - "local": "Local backup", - "webdav": "WebDAV backup" - }, - "actions": { - "selectTarget": "Select backup target", - "backup": "Copia de seguridad", - "refresh": "Actualizar", - "save": "Guardar", - "export": "Export", - "exportBackup": "Export Backup", - "delete": "Eliminar", - "deleteBackup": "Eliminar copia de seguridad", - "restore": "Restaurar", - "restoreBackup": "Restaurar copia de seguridad" - }, - "fields": { - "webdavUrl": "Dirección del servidor WebDAV http(s)://", - "username": "Nombre de usuario", - "password": "Contraseña", - "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." - }, - "messages": { - "webdavUrlRequired": "La dirección del servidor WebDAV no puede estar vacía", - "invalidWebdavUrl": "Formato de dirección del servidor WebDAV no válido", - "usernameRequired": "El nombre de usuario no puede estar vacío", - "passwordRequired": "La contraseña no puede estar vacía", - "webdavConfigSaved": "Configuración de WebDAV guardada con éxito", - "webdavConfigSaveFailed": "Error al guardar la configuración de WebDAV: {{error}}", - "backupCreated": "Copia de seguridad creada con éxito", - "backupFailed": "Error al crear la copia de seguridad: {{error}}", - "localBackupCreated": "Local backup created successfully", - "localBackupFailed": "Local backup failed", - "restoreSuccess": "Restauración exitosa. La aplicación se reiniciará en 1 segundo", - "localBackupExported": "Local backup exported successfully", - "localBackupExportFailed": "Failed to export local backup", - "confirmDelete": "Confirm to delete this backup file?", - "confirmRestore": "Confirm to restore this backup file?" - }, - "table": { - "filename": "Nombre del archivo", - "backupTime": "Tiempo de copia de seguridad", - "actions": "Acciones", - "noBackups": "No hay copias de seguridad", - "rowsPerPage": "Rows per page" - } - }, - "verge": { - "basic": { - "title": "Ajustes básicos de Verge", - "items": { - "language": "Configuración de idioma", - "themeMode": "Modo de tema", - "trayClickEvent": "Evento de clic en el icono de la bandeja", - "copyEnvType": "Copiar tipo de variable de entorno", - "startPage": "Página de inicio", - "startupScript": "Script de inicio", - "themeSetting": "Configuración de tema", - "layoutSetting": "Configuración de la interfaz", - "misc": "Ajustes varios", - "hotkeySetting": "Configuración de atajos de teclado" - }, - "actions": { - "browse": "Examinar", - "clear": "Limpiar" - }, - "trayOptions": { - "showMainWindow": "Mostrar ventana principal", - "showTrayMenu": "Mostrar menú de la bandeja", - "disable": "Deshabilitar" - } - }, - "advanced": { - "title": "Ajustes avanzados de Verge", - "items": { - "backupSetting": "Configuración de copia de seguridad", - "runtimeConfig": "Configuración actual", - "openConfDir": "Directorio de configuración", - "openCoreDir": "Directorio del núcleo", - "openLogsDir": "Directorio de registros", - "checkUpdates": "Comprobar actualizaciones", - "openDevTools": "Abrir herramientas de desarrollo", - "liteModeSettings": "Configuración del modo ligero", - "exit": "Salir", - "exportDiagnostics": "Exportar información de diagnóstico", - "vergeVersion": "Versión de Verge" - }, - "tooltips": { - "backupInfo": "Soporte para la copia de seguridad de archivos de configuración a través de WebDAV", - "openConfDir": "Si el software no funciona correctamente, !realice una copia de seguridad! y elimine todos los archivos de esta carpeta, luego reinicie el software.", - "liteMode": "Cierra la interfaz gráfica y solo mantiene el núcleo en ejecución" - }, - "actions": { - "copyVersion": "Copy Version" - }, - "notifications": { - "latestVersion": "Actualmente está en la última versión", - "versionCopied": "Version copied to clipboard" - } - }, - "theme": { - "title": "Configuración de tema", - "fields": { - "primaryColor": "Color principal", - "secondaryColor": "Color secundario", - "primaryText": "Color principal del texto", - "secondaryText": "Color secundario del texto", - "infoColor": "Color de información", - "warningColor": "Color de advertencia", - "errorColor": "Color de error", - "successColor": "Color de éxito", - "fontFamily": "Familia tipográfica", - "cssInjection": "Inyección de CSS" - }, - "actions": { - "editCss": "Edit CSS" - }, - "dialogs": { - "editCssTitle": "Edit CSS" - } - }, - "layout": { - "title": "Configuración de la interfaz", - "fields": { - "preferSystemTitlebar": "Prefer System Titlebar", - "trafficGraph": "Gráfico de tráfico", - "memoryUsage": "Uso de memoria del núcleo", - "proxyGroupIcon": "Icono del grupo de proxy", - "hoverNavigator": "Hover Jump Navigator", - "hoverNavigatorDelay": "Hover Jump Navigator Delay", - "navIcon": "Icono de la barra de navegación", - "trayIcon": "Icono de la bandeja", - "showProxyGroupsInline": "Show Proxy Groups Inline", - "commonTrayIcon": "Icono de bandeja común", - "systemProxyTrayIcon": "Icono de bandeja del proxy del sistema", - "tunTrayIcon": "Icono de bandeja del modo TUN" - }, - "tooltips": { - "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", - "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" - }, - "options": { - "icon": { - "monochrome": "Icono monocromo", - "colorful": "Icono colorido", - "disable": "Deshabilitar" - } - } - } - }, - "common": { - "notifications": { - "copySuccess": "Copia exitosa" - } - }, - "misc": { - "title": "Ajustes varios", - "fields": { - "appLogLevel": "Nivel de registro de la aplicación", - "appLogMaxSize": "App Log Max Size", - "appLogMaxCount": "App Log Max Count", - "autoCloseConnections": "Cerrar conexiones automáticamente", - "autoCheckUpdate": "Comprobar actualizaciones automáticamente", - "enableBuiltinEnhanced": "Habilitar funciones mejoradas integradas", - "proxyLayoutColumns": "Número de columnas en la disposición de la página de proxy", - "autoLogClean": "Limpiar registros automáticamente", - "autoDelayDetection": "Detección automática de latencia", - "defaultLatencyTest": "Enlace de prueba de latencia predeterminado", - "defaultLatencyTimeout": "Tiempo de espera de la prueba de latencia" - }, - "tooltips": { - "autoCloseConnections": "Cierra las conexiones establecidas cuando se cambia el nodo seleccionado en el grupo de proxy o el modo de proxy.", - "enableBuiltinEnhanced": "Procesamiento de compatibilidad de archivos de configuración", - "autoDelayDetection": "Prueba periódicamente la latencia del nodo actual en segundo plano", - "defaultLatencyTest": "Solo se utiliza para pruebas de solicitudes de clientes HTTP y no afectará al archivo de configuración." - }, - "options": { - "proxyLayoutColumns": { - "auto": "Número de columnas automático" - }, - "autoLogClean": { - "never": "No limpiar", - "retainDays": "Retener {{n}} días" - } - } - }, - "update": { - "title": "New Version v{{version}}", - "actions": { - "goToRelease": "Ir a la página de lanzamiento", - "update": "Actualizar" - }, - "messages": { - "portableError": "La versión portátil no admite la actualización desde dentro de la aplicación. Descargue e instale manualmente la actualización.", - "breakChangeError": "Esta es una actualización importante y no se admite la actualización desde dentro de la aplicación. Desinstale e instale manualmente la nueva versión." - } - }, - "sysproxy": { - "title": "Configuración del proxy del sistema", - "fieldsets": { - "currentStatus": "Proxy del sistema actual" - }, - "fields": { - "enableStatus": "Estado de habilitación: ", - "serverAddr": "Dirección del servidor: ", - "pacUrl": "URL del PAC: ", - "proxyHost": "Host del proxy", - "usePacMode": "Usar modo PAC", - "proxyGuard": "Guardia del proxy del sistema", - "guardDuration": "Intervalo de guardia del proxy", - "alwaysUseDefaultBypass": "Siempre usar la lista de omisión predeterminada", - "proxyBypass": "Configuración de omisión del proxy: ", - "bypass": "Omisión actual: ", - "pacScriptContent": "Contenido del script PAC" - }, - "tooltips": { - "proxyGuard": "Habilite esta opción para evitar que otros programas modifiquen la configuración del proxy del sistema operativo." - }, - "messages": { - "durationTooShort": "El intervalo de tiempo del daemon de proxy no puede ser menor de 1 segundo", - "invalidBypass": "Formato de omisión de proxy no válido", - "invalidProxyHost": "Formato de host del proxy no válido" - }, - "actions": { - "editPac": "Editar PAC" - } - }, - "tun": { - "title": "Modo de interfaz virtual (TUN)", - "actions": { - "reset": "Restablecer a los valores predeterminados" - }, - "fields": { - "stack": "Pila del modo TUN", - "device": "Device Name", - "autoRoute": "Configurar enrutamiento global automáticamente", - "strictRoute": "Enrutamiento estricto", - "autoDetectInterface": "Detectar automáticamente la interfaz de salida del tráfico", - "dnsHijack": "Secuestro de DNS", - "mtu": "Unidad máxima de transmisión" - }, - "tooltips": { - "dnsHijack": "Please use , to separate multiple DNS servers" - }, - "messages": { - "applied": "Ajustes aplicados" - } - }, - "dns": { - "dialog": { - "title": "Sobrescritura de DNS", - "warning": "Si no está seguro de cómo configurar esto, no realice cambios y mantenga habilitada la sobrescritura de DNS." - }, - "sections": { - "general": "Configuración de DNS", - "fallbackFilter": "Configuración de filtrado de respaldo", - "hosts": "Configuración de hosts" - }, - "fields": { - "enable": "Habilitar DNS", - "listen": "Dirección de escucha de DNS", - "enhancedMode": "Modo mejorado", - "fakeIpRange": "Rango de Fake IP", - "fakeIpFilterMode": "Modo de filtrado de Fake IP", - "ipv6": { - "label": "IPv6", - "description": "Habilitar resolución DNS IPv6" - }, - "preferH3": { - "label": "Prefiere HTTP/3", - "description": "DNS DOH utiliza el protocolo HTTP/3" - }, - "respectRules": { - "label": "Seguir las reglas de enrutamiento", - "description": "Las conexiones DNS siguen las reglas de enrutamiento" - }, - "useHosts": { - "label": "Usar archivo hosts", - "description": "Habilitar la resolución de nombres de host a través del archivo hosts" - }, - "useSystemHosts": { - "label": "Usar archivo hosts del sistema", - "description": "Habilitar la resolución de nombres de host a través del archivo hosts del sistema" - }, - "directPolicy": { - "label": "Los servidores DNS de conexión directa siguen la política", - "description": "Si seguir la configuración de la política de servidores DNS" - }, - "defaultNameserver": { - "label": "Servidor DNS predeterminado", - "description": "Servidores DNS predeterminados utilizados para resolver servidores DNS" - }, - "nameserver": { - "label": "Servidor DNS", - "description": "Lista de servidores DNS, separados por comas" - }, - "fallback": { - "label": "Servidor de respaldo", - "description": "Lista de servidores DNS de respaldo, separados por comas" - }, - "proxy": { - "label": "DNS del servidor proxy", - "description": "Servidor de resolución de nombres de dominio del nodo de proxy, separados por comas" - }, - "directNameserver": { - "label": "Servidor DNS de conexión directa", - "description": "Servidor de resolución de nombres de dominio de salida directa, admite la palabra clave 'system', separados por comas" - }, - "fakeIpFilter": { - "label": "Filtro de Fake IP", - "description": "Dominios que omiten la resolución de Fake IP, separados por comas" - }, - "nameserverPolicy": { - "label": "Política de servidores DNS", - "description": "Servidor DNS específico de dominio, múltiples servidores separados por punto y coma, formato: dominio=server1;server2" - }, - "geoipFiltering": { - "label": "Filtrado GeoIP", - "description": "Habilitar el filtrado GeoIP de respaldo" - }, - "geoipCode": "Código de país GeoIP", - "fallbackIpCidr": { - "label": "IP CIDR de respaldo", - "description": "IP CIDR que no utilizan servidores de respaldo, separados por comas" - }, - "fallbackDomain": { - "label": "Dominio de respaldo", - "description": "Dominios que utilizan servidores de respaldo, separados por comas" - }, - "hosts": { - "label": "Hosts", - "description": "Asignación personalizada de dominio a IP o dominio, separados por comas" - } - }, - "messages": { - "saved": "Configuración de DNS guardada", - "configError": "DNS configuration error:" - }, - "errors": { - "invalid": "Invalid configuration" - } - } - }, - "providers": { - "notices": { - "updateSuccess": "{{name}} updated successfully", - "updateFailed": "Failed to update {{name}}: {{message}}", - "genericError": "Update failed: {{message}}", - "none": "No providers available to update", - "allUpdated": "All providers updated successfully" - } - }, - "test": { - "item": { - "actions": { - "test": "Prueba" - } - }, - "viewer": { - "title": { - "create": "Crear prueba", - "edit": "Editar prueba" - }, - "fields": { - "url": "URL de prueba" - } - } - } - }, "common": { "editorModes": { "visualization": "Visualización", @@ -1207,5 +220,1000 @@ "unlock": "Unlock menu order", "lock": "Lock menu order" } + }, + "ruleEditor": { + "title": "Editar reglas", + "form": { + "labels": { + "type": "Tipo de regla", + "content": "Contenido de la regla", + "proxyPolicy": "Política de proxy" + }, + "toggles": { + "noResolve": "Omitir resolución DNS" + }, + "actions": { + "prependRule": "Agregar regla previa", + "appendRule": "Agregar regla posterior" + }, + "validation": { + "conditionRequired": "Falta la condición de la regla", + "invalidRule": "Regla no válida" + } + } + }, + "profile": { + "viewer": { + "title": { + "create": "Crear configuración", + "edit": "Editar configuración" + }, + "buttons": { + "save": "Guardar", + "cancel": "Cancelar" + }, + "fields": { + "type": "Tipo", + "name": "Nombre", + "description": "Descripción", + "subscriptionUrl": "Enlace de suscripción", + "httpTimeout": "HTTP Request Timeout", + "updateInterval": "Intervalo de actualización", + "useSystemProxy": "Usar proxy del sistema para actualizar", + "useClashProxy": "Usar proxy del núcleo para actualizar", + "acceptInvalidCerts": "Allows Invalid Certificates (Danger)", + "allowAutoUpdate": "Allow Auto Update" + }, + "notifications": { + "creationRetry": "Error al crear la suscripción. Intentando con el proxy de Clash...", + "creationSuccess": "Creación de la suscripción con el proxy de Clash exitosa" + } + }, + "fileInput": { + "chooseFile": "Elegir archivo" + }, + "notifications": { + "saved": "Saved successfully" + }, + "proxiesEditor": { + "title": "Editar nodos", + "placeholders": { + "multiUri": "Para múltiples URI, utilice saltos de línea (se admite la codificación Base64)" + }, + "actions": { + "prepend": "Agregar nodo de proxy previo", + "append": "Agregar nodo de proxy posterior" + } + }, + "groupsEditor": { + "title": "Editar grupos de proxy", + "errors": { + "nameRequired": "El nombre del grupo de proxy no puede estar vacío", + "nameExists": "El nombre del grupo de proxy ya existe" + }, + "fields": { + "type": "Tipo de grupo de proxy", + "name": "Nombre del grupo de proxy", + "icon": "Icono del grupo de proxy", + "proxies": "Incluir proxies", + "provider": "Incluir proveedor de proxies", + "healthCheckUrl": "URL de prueba de salud", + "expectedStatus": "Código de estado esperado", + "interval": "Intervalo de comprobación", + "timeout": "Tiempo de espera", + "maxFailedTimes": "Número máximo de fallos", + "interfaceName": "Nombre de la interfaz de salida", + "routingMark": "Marca de enrutamiento", + "filter": "Filtrar nodos", + "excludeFilter": "Excluir nodos", + "excludeType": "Tipo de nodo a excluir", + "includeAll": "Incluir todos los proxies de salida y proveedores de proxies", + "includeAllProxies": "Incluir todos los proxies de salida", + "includeAllProviders": "Incluir todos los proveedores de proxies" + }, + "toggles": { + "lazy": "Estado de inactividad", + "disableUdp": "Deshabilitar UDP", + "hidden": "Ocultar grupo de proxy" + }, + "actions": { + "prepend": "Agregar grupo de proxy previo", + "append": "Agregar grupo de proxy posterior" + } + }, + "menu": { + "home": "Hogar", + "select": "Usar", + "editInfo": "Editar información", + "editFile": "Editar archivo", + "editRules": "Editar reglas", + "editProxies": "Editar nodos", + "editGroups": "Editar grupos de proxy", + "extendConfig": "Configurar sobrescritura extendida", + "extendScript": "Script extendido", + "openFile": "Abrir archivo", + "update": "Actualizar", + "updateViaProxy": "Update via proxy", + "delete": "Eliminar" + }, + "item": { + "tooltips": { + "showLast": "Click to show last update time", + "showNext": "Click to show next update" + }, + "status": { + "lastUpdateFailed": "La última actualización falló", + "nextUp": "Próxima actualización", + "noSchedule": "Sin programación", + "unknown": "Desconocido", + "autoUpdateDisabled": "La actualización automática está deshabilitada" + } + }, + "confirm": { + "delete": { + "title": "Confirmar eliminación", + "message": "Esta operación no se puede deshacer" + } + }, + "logViewer": { + "title": "Salida de la consola del script" + }, + "more": { + "global": { + "merge": "Global Merge", + "script": "Global Script" + }, + "chips": { + "merge": "Merge", + "script": "Script" + } + }, + "editor": { + "format": "Formatear documento", + "readOnlyMessage": "No se puede editar en modo de solo lectura" + } + }, + "home": { + "proxyTunCard": { + "status": { + "systemProxyEnabled": "El proxy del sistema está habilitado. Sus aplicaciones accederán a Internet a través del proxy.", + "systemProxyDisabled": "El proxy del sistema está deshabilitado. Se recomienda a la mayoría de los usuarios habilitar esta opción.", + "tunModeServiceRequired": "El modo TUN requiere el modo de servicio. Instale el servicio primero.", + "tunModeEnabled": "El modo TUN está habilitado. Las aplicaciones accederán a Internet a través de la interfaz virtual.", + "tunModeDisabled": "El modo TUN está deshabilitado. Este modo es adecuado para aplicaciones especiales." + }, + "tooltips": { + "systemProxy": "Modifica la configuración del proxy del sistema operativo. Si no se puede habilitar, puede modificar manualmente la configuración del proxy del sistema operativo.", + "tunMode": "El modo TUN puede gestionar todo el tráfico de las aplicaciones. Es adecuado para aplicaciones que no siguen la configuración del proxy del sistema." + } + }, + "clashInfo": { + "title": "Información de Clash", + "fields": { + "coreVersion": "Versión del núcleo", + "systemProxyAddress": "Dirección del proxy del sistema", + "mixedPort": "Mixed Port", + "uptime": "Tiempo de actividad", + "rulesCount": "Número de reglas" + } + }, + "systemInfo": { + "title": "Información del sistema", + "fields": { + "osInfo": "Información del sistema operativo", + "autoLaunch": "Inicio automático al arrancar el sistema", + "runningMode": "Modo de ejecución", + "lastCheckUpdate": "Última comprobación de actualizaciones", + "vergeVersion": "Versión de Verge" + }, + "actions": { + "settings": "Ajustes" + }, + "labels": { + "enabled": "Habilitado", + "disabled": "Deshabilitado" + }, + "tooltips": { + "autoLaunchAdmin": "El modo de administrador puede no admitir el inicio automático." + }, + "badges": { + "adminMode": "Modo de administrador", + "serviceMode": "Modo de servicio", + "sidecarMode": "Modo de usuario", + "adminServiceMode": "Admin + Service Mode" + } + }, + "ipInfo": { + "title": "Información de IP", + "errors": { + "load": "Error al obtener información de IP" + }, + "labels": { + "retry": "Retry", + "ip": "IP", + "asn": "Número de sistema autónomo", + "isp": "Proveedor de servicios de Internet", + "org": "Organización", + "location": "Ubicación", + "timezone": "Zona horaria", + "autoRefresh": "Actualización automática", + "unknown": "Desconocido" + } + }, + "traffic": { + "metrics": { + "uploadSpeed": "Velocidad de subida", + "downloadSpeed": "Velocidad de descarga", + "activeConnections": "Conexiones activas", + "uploaded": "Subido", + "downloaded": "Descargado", + "memoryUsage": "Uso de memoria del núcleo" + }, + "legends": { + "upload": "Subir", + "download": "Descargar" + }, + "patterns": { + "minutes": "{{time}} Minutes" + } + }, + "currentProxy": { + "title": "Nodo actual", + "actions": { + "refreshDelay": "Prueba de latencia" + }, + "labels": { + "globalMode": "Global Mode", + "directMode": "Direct Mode", + "group": "Grupo de proxy", + "proxy": "Nodo", + "noActiveNode": "No hay nodos de proxy activos" + } + }, + "profile": { + "title": "Suscripciones", + "actions": { + "import": "Importar" + }, + "labels": { + "from": "De", + "updateTime": "Hora de actualización", + "usedTotal": "Utilizado / Total", + "expireTime": "Tiempo de expiración", + "clickToImport": "Haga clic para importar una suscripción" + } + }, + "page": { + "title": "Hogar", + "tooltips": { + "lightweightMode": "Modo ligero", + "manual": "Manual de uso", + "settings": "Configuración de la página de inicio" + }, + "cards": { + "trafficStats": "Estadísticas de tráfico", + "networkSettings": "Configuración de red", + "proxyMode": "Modo de proxy" + }, + "settings": { + "title": "Configuración de la página de inicio", + "cards": { + "profile": "Tarjeta de suscripción", + "currentProxy": "Tarjeta de proxy actual", + "network": "Tarjeta de configuración de red", + "proxyMode": "Tarjeta de modo de proxy", + "traffic": "Tarjeta de estadísticas de tráfico", + "tests": "Tarjeta de pruebas de sitios web", + "ip": "Tarjeta de información de IP", + "clashInfo": "Tarjetas de información de Clash", + "systemInfo": "Tarjetas de información del sistema" + } + } + } + }, + "connection": { + "fields": { + "host": "Host", + "downloaded": "Descargado", + "uploaded": "Subido", + "dlSpeed": "Velocidad de descarga", + "ulSpeed": "Velocidad de subida", + "chains": "Cadenas", + "rule": "Regla", + "process": "Proceso", + "time": "Tiempo de conexión", + "source": "Dirección de origen", + "destination": "Dirección de destino", + "destinationPort": "Puerto de destino", + "type": "Tipo" + }, + "actions": { + "closeConnection": "Cerrar conexión" + }, + "order": { + "default": "Default", + "uploadSpeed": "Velocidad de subida", + "downloadSpeed": "Velocidad de descarga" + } + }, + "settings": { + "system": { + "title": "Ajustes del sistema", + "toggles": { + "tunMode": "Modo de interfaz virtual (TUN)", + "systemProxy": "Proxy del sistema" + }, + "labels": { + "autoLaunch": "Inicio automático al arrancar el sistema", + "silentStart": "Inicio silencioso" + }, + "tooltips": { + "autoLaunchAdmin": "El modo de administrador puede no admitir el inicio automático.", + "silentStart": "El programa se ejecutará en segundo plano al iniciarse y no mostrará el panel." + } + }, + "proxyControl": { + "labels": { + "systemProxy": "Proxy del sistema", + "tunMode": "Modo de interfaz virtual (TUN)" + }, + "tooltips": { + "systemProxy": "Modifica la configuración del proxy del sistema operativo. Si no se puede habilitar, puede modificar manualmente la configuración del proxy del sistema operativo.", + "tunMode": "El modo TUN (interfaz virtual) gestiona todo el tráfico del sistema. No es necesario habilitar el proxy del sistema cuando está activado.", + "tunUnavailable": "El modo TUN requiere el modo de servicio o el modo de administrador" + }, + "actions": { + "installService": "Instalar servicio", + "uninstallService": "Desinstalar servicio" + } + }, + "externalController": { + "title": "Dirección de escucha del controlador externo", + "fields": { + "enable": "Habilitar controlador externo", + "address": "Dirección de escucha del controlador externo", + "secret": "Clave de acceso a la API" + }, + "placeholders": { + "address": "Requerido", + "secret": "Configuración recomendada" + }, + "tooltips": { + "copy": "Copiar al portapapeles" + }, + "messages": { + "addressRequired": "La dirección del controlador no puede estar vacía", + "secretRequired": "La clave secreta no puede estar vacía", + "copyFailed": "Error al copiar", + "controllerCopied": "El puerto API se copió al portapapeles", + "secretCopied": "La clave API se copió al portapapeles" + } + }, + "externalCors": { + "title": "Configuración de CORS externo", + "fields": { + "allowPrivateNetwork": "Permitir acceso a red privada", + "allowedOrigins": "Orígenes permitidos" + }, + "placeholders": { + "origin": "Introduce una URL válida" + }, + "actions": { + "add": "Agregar" + }, + "messages": { + "alwaysIncluded": "Orígenes siempre incluidos: {{urls}}" + }, + "tooltips": { + "open": "Configuración de CORS externo" + } + }, + "clash": { + "title": "Ajustes de Clash", + "items": { + "allowLan": "Conexión a la red local", + "dnsOverwrite": "Sobrescritura de DNS", + "ipv6": "IPv6", + "unifiedDelay": "Latencia unificada", + "logLevel": "Nivel de registro", + "portConfig": "Configuración de puerto", + "external": "Control externo", + "webUI": "Interfaz web", + "clashCore": "Núcleo de Clash", + "openUwpTool": "Abrir herramienta UWP", + "updateGeoData": "Actualizar GeoData" + }, + "tooltips": { + "networkInterface": "Interfaz de red", + "unifiedDelay": "Al habilitar la latencia unificada, se realizarán dos pruebas de latencia para eliminar las diferencias de latencia entre diferentes tipos de nodos causadas por el handshake de conexión, etc.", + "logLevel": "Solo se aplica al archivo de registro del núcleo en la carpeta Service del directorio de registros.", + "openUwpTool": "A partir de Windows 8, las aplicaciones UWP (como la Tienda de Microsoft) tienen restricciones para acceder directamente a los servicios de red del host local. Use esta herramienta para evitar esta restricción." + }, + "options": { + "logLevel": { + "debug": "Debug", + "info": "Info", + "warning": "Warn", + "error": "Error", + "silent": "Silent" + } + }, + "messages": { + "geoDataUpdated": "GeoData actualizado" + }, + "port": { + "title": "Configuración de puerto", + "fields": { + "mixed": "Puerto de proxy mixto", + "socks": "Puerto de proxy SOCKS", + "http": "Puerto de proxy HTTP(S)", + "redir": "Puerto de proxy transparente Redir", + "tproxy": "Puerto de proxy transparente TPROXY" + }, + "actions": { + "random": "Puerto aleatorio" + }, + "messages": { + "saved": "Port settings saved", + "saveFailed": "Failed to save port settings" + } + } + }, + "liteMode": { + "title": "Configuración del modo ligero", + "actions": { + "enterNow": "Entrar en modo ligero ahora" + }, + "toggles": { + "autoEnter": "Entrar automáticamente en modo ligero" + }, + "tooltips": { + "autoEnter": "Si se habilita, se activará automáticamente el modo ligero después de un tiempo de inactividad de la ventana." + }, + "fields": { + "delay": "Retraso para entrar automáticamente en modo ligero" + }, + "messages": { + "autoEnterHint": "Después de cerrar la ventana, el modo ligero se activará automáticamente después de {{n}} minutos" + } + }, + "backup": { + "title": "Configuración de copia de seguridad", + "tabs": { + "local": "Local backup", + "webdav": "WebDAV backup" + }, + "actions": { + "selectTarget": "Select backup target", + "backup": "Copia de seguridad", + "refresh": "Actualizar", + "save": "Guardar", + "export": "Export", + "exportBackup": "Export Backup", + "delete": "Eliminar", + "deleteBackup": "Eliminar copia de seguridad", + "restore": "Restaurar", + "restoreBackup": "Restaurar copia de seguridad" + }, + "fields": { + "webdavUrl": "Dirección del servidor WebDAV http(s)://", + "username": "Nombre de usuario", + "password": "Contraseña", + "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." + }, + "messages": { + "webdavUrlRequired": "La dirección del servidor WebDAV no puede estar vacía", + "invalidWebdavUrl": "Formato de dirección del servidor WebDAV no válido", + "usernameRequired": "El nombre de usuario no puede estar vacío", + "passwordRequired": "La contraseña no puede estar vacía", + "webdavConfigSaved": "Configuración de WebDAV guardada con éxito", + "webdavConfigSaveFailed": "Error al guardar la configuración de WebDAV: {{error}}", + "backupCreated": "Copia de seguridad creada con éxito", + "backupFailed": "Error al crear la copia de seguridad: {{error}}", + "localBackupCreated": "Local backup created successfully", + "localBackupFailed": "Local backup failed", + "restoreSuccess": "Restauración exitosa. La aplicación se reiniciará en 1 segundo", + "localBackupExported": "Local backup exported successfully", + "localBackupExportFailed": "Failed to export local backup", + "confirmDelete": "Confirm to delete this backup file?", + "confirmRestore": "Confirm to restore this backup file?" + }, + "table": { + "filename": "Nombre del archivo", + "backupTime": "Tiempo de copia de seguridad", + "actions": "Acciones", + "noBackups": "No hay copias de seguridad", + "rowsPerPage": "Rows per page" + } + }, + "verge": { + "basic": { + "title": "Ajustes básicos de Verge", + "items": { + "language": "Configuración de idioma", + "themeMode": "Modo de tema", + "trayClickEvent": "Evento de clic en el icono de la bandeja", + "copyEnvType": "Copiar tipo de variable de entorno", + "startPage": "Página de inicio", + "startupScript": "Script de inicio", + "themeSetting": "Configuración de tema", + "layoutSetting": "Configuración de la interfaz", + "misc": "Ajustes varios", + "hotkeySetting": "Configuración de atajos de teclado" + }, + "actions": { + "browse": "Examinar", + "clear": "Limpiar" + }, + "trayOptions": { + "showMainWindow": "Mostrar ventana principal", + "showTrayMenu": "Mostrar menú de la bandeja", + "disable": "Deshabilitar" + } + }, + "advanced": { + "title": "Ajustes avanzados de Verge", + "items": { + "backupSetting": "Configuración de copia de seguridad", + "runtimeConfig": "Configuración actual", + "openConfDir": "Directorio de configuración", + "openCoreDir": "Directorio del núcleo", + "openLogsDir": "Directorio de registros", + "checkUpdates": "Comprobar actualizaciones", + "openDevTools": "Abrir herramientas de desarrollo", + "liteModeSettings": "Configuración del modo ligero", + "exit": "Salir", + "exportDiagnostics": "Exportar información de diagnóstico", + "vergeVersion": "Versión de Verge" + }, + "tooltips": { + "backupInfo": "Soporte para la copia de seguridad de archivos de configuración a través de WebDAV", + "openConfDir": "Si el software no funciona correctamente, !realice una copia de seguridad! y elimine todos los archivos de esta carpeta, luego reinicie el software.", + "liteMode": "Cierra la interfaz gráfica y solo mantiene el núcleo en ejecución" + }, + "actions": { + "copyVersion": "Copy Version" + }, + "notifications": { + "latestVersion": "Actualmente está en la última versión", + "versionCopied": "Version copied to clipboard" + } + }, + "theme": { + "title": "Configuración de tema", + "fields": { + "primaryColor": "Color principal", + "secondaryColor": "Color secundario", + "primaryText": "Color principal del texto", + "secondaryText": "Color secundario del texto", + "infoColor": "Color de información", + "warningColor": "Color de advertencia", + "errorColor": "Color de error", + "successColor": "Color de éxito", + "fontFamily": "Familia tipográfica", + "cssInjection": "Inyección de CSS" + }, + "actions": { + "editCss": "Edit CSS" + }, + "dialogs": { + "editCssTitle": "Edit CSS" + } + }, + "layout": { + "title": "Configuración de la interfaz", + "fields": { + "preferSystemTitlebar": "Prefer System Titlebar", + "trafficGraph": "Gráfico de tráfico", + "memoryUsage": "Uso de memoria del núcleo", + "proxyGroupIcon": "Icono del grupo de proxy", + "hoverNavigator": "Hover Jump Navigator", + "hoverNavigatorDelay": "Hover Jump Navigator Delay", + "navIcon": "Icono de la barra de navegación", + "trayIcon": "Icono de la bandeja", + "showProxyGroupsInline": "Show Proxy Groups Inline", + "commonTrayIcon": "Icono de bandeja común", + "systemProxyTrayIcon": "Icono de bandeja del proxy del sistema", + "tunTrayIcon": "Icono de bandeja del modo TUN" + }, + "tooltips": { + "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", + "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" + }, + "options": { + "icon": { + "monochrome": "Icono monocromo", + "colorful": "Icono colorido", + "disable": "Deshabilitar" + } + } + } + }, + "common": { + "notifications": { + "copySuccess": "Copia exitosa" + } + }, + "misc": { + "title": "Ajustes varios", + "fields": { + "appLogLevel": "Nivel de registro de la aplicación", + "appLogMaxSize": "App Log Max Size", + "appLogMaxCount": "App Log Max Count", + "autoCloseConnections": "Cerrar conexiones automáticamente", + "autoCheckUpdate": "Comprobar actualizaciones automáticamente", + "enableBuiltinEnhanced": "Habilitar funciones mejoradas integradas", + "proxyLayoutColumns": "Número de columnas en la disposición de la página de proxy", + "autoLogClean": "Limpiar registros automáticamente", + "autoDelayDetection": "Detección automática de latencia", + "defaultLatencyTest": "Enlace de prueba de latencia predeterminado", + "defaultLatencyTimeout": "Tiempo de espera de la prueba de latencia" + }, + "tooltips": { + "autoCloseConnections": "Cierra las conexiones establecidas cuando se cambia el nodo seleccionado en el grupo de proxy o el modo de proxy.", + "enableBuiltinEnhanced": "Procesamiento de compatibilidad de archivos de configuración", + "autoDelayDetection": "Prueba periódicamente la latencia del nodo actual en segundo plano", + "defaultLatencyTest": "Solo se utiliza para pruebas de solicitudes de clientes HTTP y no afectará al archivo de configuración." + }, + "options": { + "proxyLayoutColumns": { + "auto": "Número de columnas automático" + }, + "autoLogClean": { + "never": "No limpiar", + "retainDays": "Retener {{n}} días" + } + } + }, + "update": { + "title": "New Version v{{version}}", + "actions": { + "goToRelease": "Ir a la página de lanzamiento", + "update": "Actualizar" + }, + "messages": { + "portableError": "La versión portátil no admite la actualización desde dentro de la aplicación. Descargue e instale manualmente la actualización.", + "breakChangeError": "Esta es una actualización importante y no se admite la actualización desde dentro de la aplicación. Desinstale e instale manualmente la nueva versión." + } + }, + "sysproxy": { + "title": "Configuración del proxy del sistema", + "fieldsets": { + "currentStatus": "Proxy del sistema actual" + }, + "fields": { + "enableStatus": "Estado de habilitación: ", + "serverAddr": "Dirección del servidor: ", + "pacUrl": "URL del PAC: ", + "proxyHost": "Host del proxy", + "usePacMode": "Usar modo PAC", + "proxyGuard": "Guardia del proxy del sistema", + "guardDuration": "Intervalo de guardia del proxy", + "alwaysUseDefaultBypass": "Siempre usar la lista de omisión predeterminada", + "proxyBypass": "Configuración de omisión del proxy: ", + "bypass": "Omisión actual: ", + "pacScriptContent": "Contenido del script PAC" + }, + "tooltips": { + "proxyGuard": "Habilite esta opción para evitar que otros programas modifiquen la configuración del proxy del sistema operativo." + }, + "messages": { + "durationTooShort": "El intervalo de tiempo del daemon de proxy no puede ser menor de 1 segundo", + "invalidBypass": "Formato de omisión de proxy no válido", + "invalidProxyHost": "Formato de host del proxy no válido" + }, + "actions": { + "editPac": "Editar PAC" + } + }, + "tun": { + "title": "Modo de interfaz virtual (TUN)", + "actions": { + "reset": "Restablecer a los valores predeterminados" + }, + "fields": { + "stack": "Pila del modo TUN", + "device": "Device Name", + "autoRoute": "Configurar enrutamiento global automáticamente", + "strictRoute": "Enrutamiento estricto", + "autoDetectInterface": "Detectar automáticamente la interfaz de salida del tráfico", + "dnsHijack": "Secuestro de DNS", + "mtu": "Unidad máxima de transmisión" + }, + "tooltips": { + "dnsHijack": "Please use , to separate multiple DNS servers" + }, + "messages": { + "applied": "Ajustes aplicados" + } + }, + "dns": { + "dialog": { + "title": "Sobrescritura de DNS", + "warning": "Si no está seguro de cómo configurar esto, no realice cambios y mantenga habilitada la sobrescritura de DNS." + }, + "sections": { + "general": "Configuración de DNS", + "fallbackFilter": "Configuración de filtrado de respaldo", + "hosts": "Configuración de hosts" + }, + "fields": { + "enable": "Habilitar DNS", + "listen": "Dirección de escucha de DNS", + "enhancedMode": "Modo mejorado", + "fakeIpRange": "Rango de Fake IP", + "fakeIpFilterMode": "Modo de filtrado de Fake IP", + "ipv6": { + "label": "IPv6", + "description": "Habilitar resolución DNS IPv6" + }, + "preferH3": { + "label": "Prefiere HTTP/3", + "description": "DNS DOH utiliza el protocolo HTTP/3" + }, + "respectRules": { + "label": "Seguir las reglas de enrutamiento", + "description": "Las conexiones DNS siguen las reglas de enrutamiento" + }, + "useHosts": { + "label": "Usar archivo hosts", + "description": "Habilitar la resolución de nombres de host a través del archivo hosts" + }, + "useSystemHosts": { + "label": "Usar archivo hosts del sistema", + "description": "Habilitar la resolución de nombres de host a través del archivo hosts del sistema" + }, + "directPolicy": { + "label": "Los servidores DNS de conexión directa siguen la política", + "description": "Si seguir la configuración de la política de servidores DNS" + }, + "defaultNameserver": { + "label": "Servidor DNS predeterminado", + "description": "Servidores DNS predeterminados utilizados para resolver servidores DNS" + }, + "nameserver": { + "label": "Servidor DNS", + "description": "Lista de servidores DNS, separados por comas" + }, + "fallback": { + "label": "Servidor de respaldo", + "description": "Lista de servidores DNS de respaldo, separados por comas" + }, + "proxy": { + "label": "DNS del servidor proxy", + "description": "Servidor de resolución de nombres de dominio del nodo de proxy, separados por comas" + }, + "directNameserver": { + "label": "Servidor DNS de conexión directa", + "description": "Servidor de resolución de nombres de dominio de salida directa, admite la palabra clave 'system', separados por comas" + }, + "fakeIpFilter": { + "label": "Filtro de Fake IP", + "description": "Dominios que omiten la resolución de Fake IP, separados por comas" + }, + "nameserverPolicy": { + "label": "Política de servidores DNS", + "description": "Servidor DNS específico de dominio, múltiples servidores separados por punto y coma, formato: dominio=server1;server2" + }, + "geoipFiltering": { + "label": "Filtrado GeoIP", + "description": "Habilitar el filtrado GeoIP de respaldo" + }, + "geoipCode": "Código de país GeoIP", + "fallbackIpCidr": { + "label": "IP CIDR de respaldo", + "description": "IP CIDR que no utilizan servidores de respaldo, separados por comas" + }, + "fallbackDomain": { + "label": "Dominio de respaldo", + "description": "Dominios que utilizan servidores de respaldo, separados por comas" + }, + "hosts": { + "label": "Hosts", + "description": "Asignación personalizada de dominio a IP o dominio, separados por comas" + } + }, + "messages": { + "saved": "Configuración de DNS guardada", + "configError": "DNS configuration error:" + }, + "errors": { + "invalid": "Invalid configuration" + } + }, + "page": { + "title": "Ajustes", + "actions": { + "manual": "Manual de uso", + "telegram": "Canal de Telegram", + "github": "Dirección del proyecto en GitHub" + } + } + }, + "providers": { + "notices": { + "updateSuccess": "{{name}} updated successfully", + "updateFailed": "Failed to update {{name}}: {{message}}", + "genericError": "Update failed: {{message}}", + "none": "No providers available to update", + "allUpdated": "All providers updated successfully" + } + }, + "test": { + "item": { + "actions": { + "test": "Prueba" + } + }, + "viewer": { + "title": { + "create": "Crear prueba", + "edit": "Editar prueba" + }, + "fields": { + "url": "URL de prueba" + } + }, + "page": { + "title": "Prueba", + "actions": { + "testAll": "Probar todo", + "new": "Nuevo" + } + } + }, + "proxies": { + "page": { + "title": { + "default": "Grupos de proxies", + "chainMode": "Proxy Chain Mode" + }, + "actions": { + "toggleChain": "🔗 Proxy en cadena", + "connect": "Connect", + "disconnect": "Disconnect", + "connecting": "Connecting...", + "clearChainConfig": "Delete Chain Config" + }, + "provider": { + "title": "Proveedor de proxies", + "actions": { + "updateAll": "Actualizar todo", + "update": "Actualizar" + } + }, + "rules": { + "title": "Proxy Rules", + "select": "Select Rules" + }, + "labels": { + "proxyCount": "Número de nodos", + "delayCheckReset": "Realizar prueba de latencia para cancelar la fijación" + }, + "tooltips": { + "locate": "Nodo actual", + "delayCheck": "Prueba de latencia", + "sortDefault": "Ordenación predeterminada", + "sortDelay": "Ordenar por latencia", + "sortName": "Ordenar por nombre", + "delayCheckUrl": "URL de prueba de latencia", + "showBasic": "Ocultar detalles del nodo", + "showDetail": "Mostrar detalles del nodo", + "filter": "Filtrar nodos" + }, + "placeholders": { + "filter": "Condiciones de filtrado", + "delayCheckUrl": "URL de prueba de latencia" + }, + "chain": { + "header": "Chain Proxy Config", + "empty": "No proxy chain configured", + "instruction": "Click nodes in order to add to proxy chain", + "minimumNodes": "Chain proxy requires at least 2 nodes", + "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", + "connectFailed": "Failed to connect to proxy chain", + "disconnectFailed": "Failed to disconnect from proxy chain", + "duplicateNode": "Proxy node already exists in chain" + } + } + }, + "rules": { + "page": { + "title": "Reglas", + "provider": { + "trigger": "Proveedor de reglas", + "dialogTitle": "Proveedor de reglas", + "actions": { + "updateAll": "Actualizar todo", + "update": "Actualizar" + } + } + } + }, + "profiles": { + "page": { + "title": "Suscripciones", + "actions": { + "updateAll": "Actualizar todas las suscripciones", + "viewRuntimeConfig": "Ver configuración en tiempo de ejecución", + "reactivate": "Reactivar suscripciones", + "import": "Importar", + "new": "Nuevo" + }, + "batch": { + "title": "Batch Operations", + "delete": "Delete Selected Profiles", + "selectAll": "Select All", + "deselectAll": "Deselect All", + "done": "Done", + "selected": "Selected", + "items": "items" + }, + "import": { + "placeholder": "Enlace del archivo de suscripción", + "paste": "Pegar", + "clear": "Limpiar" + }, + "errors": { + "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", + "onlyYaml": "Solo se admiten archivos YAML" + }, + "notifications": { + "importRetry": "Error al importar la suscripción. Intentando con el proxy de Clash...", + "importFail": "Error al importar incluso con el proxy de Clash", + "importNeedsRefresh": "Profile imported but may need manual refresh", + "importSuccess": "Profile imported successfully, please restart if not visible", + "profileSwitched": "Suscripción cambiada", + "profileReactivated": "Suscripción reactivada", + "switchInterrupted": "Profile switch interrupted by new selection", + "batchDeleted": "Selected profiles deleted successfully" + }, + "notices": { + "forceRefreshCompleted": "Force refresh completed", + "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" + } + } + }, + "connections": { + "page": { + "title": "Conexiones", + "summary": { + "downloaded": "Descargado", + "uploaded": "Subido" + }, + "actions": { + "listView": "Vista de lista", + "tableView": "Vista de tabla", + "pause": "Pausar", + "resume": "Reanudar", + "closeAll": "Cerrar todas" + } + } + }, + "logs": { + "page": { + "title": "Registros", + "actions": { + "pause": "Pausar", + "resume": "Reanudar", + "clear": "Limpiar" + }, + "filters": { + "all": "ALL", + "debug": "DEBUG", + "info": "INFO", + "warn": "WARN", + "error": "ERROR" + } + } + }, + "unlock": { + "page": { + "title": "Prueba de desbloqueo", + "actions": { + "testing": "Probando..." + }, + "empty": "No unlock test items" + } } } diff --git a/src/locales/fa.json b/src/locales/fa.json index 5d248ce4..43a12433 100644 --- a/src/locales/fa.json +++ b/src/locales/fa.json @@ -13,192 +13,6 @@ "Save": "ذخیره", "Delete": "حذف", "Enable": "فعال کردن", - "pages": { - "home": { - "title": "Home", - "tooltips": { - "lightweightMode": "در فارسی", - "manual": "راهنما", - "settings": "Home Settings" - }, - "cards": { - "trafficStats": "Traffic Stats", - "networkSettings": "Network Settings", - "proxyMode": "Proxy Mode" - }, - "settings": { - "title": "Home Settings", - "cards": { - "profile": "Profile Card", - "currentProxy": "Current Proxy Card", - "network": "Network Settings Card", - "proxyMode": "Proxy Mode Card", - "traffic": "Traffic Stats Card", - "tests": "Website Tests Card", - "ip": "IP Information Card", - "clashInfo": "Clash Info Cards", - "systemInfo": "System Info Cards" - } - } - }, - "proxies": { - "title": { - "default": "گروه‌های پراکسی", - "chainMode": "Proxy Chain Mode" - }, - "actions": { - "toggleChain": "🔗 پراکسی زنجیره‌ای", - "connect": "Connect", - "disconnect": "Disconnect", - "connecting": "Connecting...", - "clearChainConfig": "Delete Chain Config" - }, - "provider": { - "title": "تأمین‌کننده پروکسی", - "actions": { - "updateAll": "به‌روزرسانی همه", - "update": "به‌روزرسانی" - } - }, - "rules": { - "title": "Proxy Rules", - "select": "Select Rules" - }, - "labels": { - "proxyCount": "Proxy Count", - "delayCheckReset": "بررسی تأخیر برای لغو ثابت" - }, - "tooltips": { - "locate": "موقعیت", - "delayCheck": "بررسی تأخیر", - "sortDefault": "مرتب‌سازی بر اساس پیش‌فرض", - "sortDelay": "مرتب‌سازی بر اساس تأخیر", - "sortName": "مرتب‌سازی بر اساس نام", - "delayCheckUrl": "آدرس بررسی تأخیر", - "showBasic": "پراکسی پایه", - "showDetail": "جزئیات پراکسی", - "filter": "فیلتر" - }, - "placeholders": { - "filter": "شرایط فیلتر", - "delayCheckUrl": "آدرس بررسی تأخیر" - }, - "chain": { - "header": "Chain Proxy Config", - "empty": "No proxy chain configured", - "instruction": "Click nodes in order to add to proxy chain", - "minimumNodes": "Chain proxy requires at least 2 nodes", - "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", - "connectFailed": "Failed to connect to proxy chain", - "disconnectFailed": "Failed to disconnect from proxy chain", - "duplicateNode": "Proxy node already exists in chain" - } - }, - "rules": { - "title": "قوانین", - "provider": { - "trigger": "تأمین‌کننده قانون", - "dialogTitle": "تأمین‌کننده قانون", - "actions": { - "updateAll": "به‌روزرسانی همه", - "update": "به‌روزرسانی" - } - } - }, - "profiles": { - "title": "پروفایل‌ها", - "actions": { - "updateAll": "به‌روزرسانی همه پروفایل‌ها", - "viewRuntimeConfig": "مشاهده پیکربندی زمان اجرا", - "reactivate": "فعال‌سازی مجدد پروفایل‌ها", - "import": "وارد کردن", - "new": "جدید" - }, - "batch": { - "title": "Batch Operations", - "delete": "Delete Selected Profiles", - "selectAll": "Select All", - "deselectAll": "Deselect All", - "done": "Done", - "selected": "Selected", - "items": "items" - }, - "import": { - "placeholder": "آدرس پروفایل", - "paste": "چسباندن", - "clear": "پاک کردن" - }, - "errors": { - "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", - "onlyYaml": "فقط فایل‌های YAML پشتیبانی می‌شوند" - }, - "notifications": { - "importRetry": "Import failed, retrying with Clash proxy...", - "importFail": "Import failed even with Clash proxy", - "importNeedsRefresh": "Profile imported but may need manual refresh", - "importSuccess": "Profile imported successfully, please restart if not visible", - "profileSwitched": "پروفایل تغییر یافت", - "profileReactivated": "پروفایل مجدداً فعال شد", - "switchInterrupted": "Profile switch interrupted by new selection", - "batchDeleted": "Selected profiles deleted successfully" - }, - "notices": { - "forceRefreshCompleted": "Force refresh completed", - "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" - } - }, - "connections": { - "title": "اتصالات", - "summary": { - "downloaded": "دانلود شده", - "uploaded": "بارگذاری شده" - }, - "actions": { - "listView": "نمای لیستی", - "tableView": "نمای جدولی", - "pause": "توقف", - "resume": "از سرگیری", - "closeAll": "بستن همه" - } - }, - "settings": { - "title": "تنظیمات", - "actions": { - "manual": "راهنما", - "telegram": "کانال تلگرام", - "github": "مخزن GitHub" - } - }, - "logs": { - "title": "لاگ‌ها", - "actions": { - "pause": "توقف", - "resume": "از سرگیری", - "clear": "پاک کردن" - }, - "filters": { - "all": "ALL", - "debug": "DEBUG", - "info": "INFO", - "warn": "WARN", - "error": "ERROR" - } - }, - "test": { - "title": "آزمون", - "actions": { - "testAll": "آزمون همه", - "new": "جدید" - } - }, - "unlock": { - "title": "Unlock Test", - "actions": { - "testing": "Testing..." - }, - "empty": "No unlock test items" - } - }, "Proxies": "پراکسی‌ها", "Update At": "به‌روزرسانی در", "rule": "قانون", @@ -380,807 +194,6 @@ "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", - "components": { - "ruleEditor": { - "title": "ویرایش قوانین", - "form": { - "labels": { - "type": "نوع قانون", - "content": "محتوای قانون", - "proxyPolicy": "سیاست پروکسی" - }, - "toggles": { - "noResolve": "بدون حل" - }, - "actions": { - "prependRule": "اضافه کردن قانون به ابتدا", - "appendRule": "اضافه کردن قانون به انتها" - }, - "validation": { - "conditionRequired": "شرط قانون الزامی است", - "invalidRule": "قانون نامعتبر" - } - } - }, - "profile": { - "viewer": { - "title": { - "create": "ایجاد پروفایل", - "edit": "ویرایش پروفایل" - }, - "buttons": { - "save": "ذخیره", - "cancel": "لغو" - }, - "fields": { - "type": "نوع", - "name": "نام", - "description": "توضیحات", - "subscriptionUrl": "آدرس اشتراک", - "httpTimeout": "HTTP Request Timeout", - "updateInterval": "فاصله زمانی به‌روزرسانی", - "useSystemProxy": "استفاده از پراکسی سیستم", - "useClashProxy": "استفاده از پراکسی Clash", - "acceptInvalidCerts": "پذیرش گواهی‌نامه‌های نامعتبر (خطرناک)", - "allowAutoUpdate": "Allow Auto Update" - }, - "notifications": { - "creationRetry": "Profile creation failed, retrying with Clash proxy...", - "creationSuccess": "Profile creation succeeded with Clash proxy" - } - }, - "fileInput": { - "chooseFile": "انتخاب فایل" - }, - "notifications": { - "saved": "Saved successfully" - }, - "proxiesEditor": { - "title": "ویرایش پروکسی‌ها", - "placeholders": { - "multiUri": "استفاده از خطوط جدید برای چندین آدرس (پشتیبانی از رمزگذاری Base64)" - }, - "actions": { - "prepend": "پیش‌افزودن پراکسی", - "append": "پس‌افزودن پراکسی" - } - }, - "groupsEditor": { - "title": "ویرایش گروه‌های پروکسی", - "errors": { - "nameRequired": "نام گروه مورد نیاز است", - "nameExists": "نام گروه قبلا وجود دارد" - }, - "fields": { - "type": "نوع گروه", - "name": "نام گروه", - "icon": "آیکون گروه پراکسی", - "proxies": "استفاده از پروکسی‌ها", - "provider": "استفاده از ارائه‌دهنده", - "healthCheckUrl": "آدرس بررسی سلامت", - "expectedStatus": "وضعیت مورد انتظار", - "interval": "فاصله زمانی", - "timeout": "زمان قطع", - "maxFailedTimes": "حداکثر تعداد شکست‌ها", - "interfaceName": "نام رابط", - "routingMark": "علامت مسیریابی", - "filter": "فیلتر", - "excludeFilter": "فیلتر استثناء", - "excludeType": "نوع استثناء", - "includeAll": "شامل همه پروکسی‌ها و ارائه‌دهنده‌ها", - "includeAllProxies": "شامل همه پروکسی‌ها", - "includeAllProviders": "شامل همه ارائه‌دهنده‌ها" - }, - "toggles": { - "lazy": "تنبل", - "disableUdp": "غیرفعال کردن UDP", - "hidden": "مخفی" - }, - "actions": { - "prepend": "اضافه کردن گروه به ابتدا", - "append": "اضافه کردن گروه به انتها" - } - }, - "menu": { - "home": "Home", - "select": "انتخاب", - "editInfo": "ویرایش اطلاعات", - "editFile": "ویرایش فایل", - "editRules": "ویرایش قوانین", - "editProxies": "ویرایش پروکسی‌ها", - "editGroups": "ویرایش گروه‌های پروکسی", - "extendConfig": "توسعه پیکربندی", - "extendScript": "ادغام اسکریپت", - "openFile": "باز کردن فایل", - "update": "به‌روزرسانی", - "updateViaProxy": "Update via proxy", - "delete": "حذف" - }, - "item": { - "tooltips": { - "showLast": "Click to show last update time", - "showNext": "Click to show next update" - }, - "status": { - "lastUpdateFailed": "Last Update failed", - "nextUp": "Next Up", - "noSchedule": "No schedule", - "unknown": "Unknown", - "autoUpdateDisabled": "Auto update disabled" - } - }, - "confirm": { - "delete": { - "title": "تأیید حذف", - "message": "این عملیات قابل برگشت نیست" - } - }, - "logViewer": { - "title": "کنسول اسکریپت" - }, - "more": { - "global": { - "merge": "Global Merge", - "script": "Global Script" - }, - "chips": { - "merge": "Merge", - "script": "Script" - } - }, - "editor": { - "format": "فرمت‌بندی سند", - "readOnlyMessage": "نمی‌توان در ویرایشگر فقط خواندنی ویرایش کرد" - } - }, - "home": { - "proxyTunCard": { - "status": { - "systemProxyEnabled": "System proxy is enabled, your applications will access the network through the proxy", - "systemProxyDisabled": "System proxy is disabled, it is recommended for most users to turn on this option", - "tunModeServiceRequired": "TUN mode requires service mode, please install the service first", - "tunModeEnabled": "TUN mode is enabled, applications will access the network through the virtual network card", - "tunModeDisabled": "TUN mode is disabled, suitable for special applications" - }, - "tooltips": { - "systemProxy": "به امکانات تنظیم پروکسی سیستم عامل دسترسی پیدا کنید. اگر فعال‌سازی ناموفق بود، پروکسی سیستم عامل را به‌صورت دستی تغییر دهید", - "tunMode": "TUN mode can take over all application traffic, suitable for special applications that do not follow the system proxy settings" - } - }, - "clashInfo": { - "title": "Clash Info", - "fields": { - "coreVersion": "Core Version", - "systemProxyAddress": "System Proxy Address", - "mixedPort": "Mixed Port", - "uptime": "Uptime", - "rulesCount": "Rules Count" - } - }, - "systemInfo": { - "title": "System Info", - "fields": { - "osInfo": "OS Info", - "autoLaunch": "راه‌اندازی خودکار", - "runningMode": "Running Mode", - "lastCheckUpdate": "Last Check Update", - "vergeVersion": "نسخه Verge" - }, - "actions": { - "settings": "تنظیمات" - }, - "labels": { - "enabled": "توانایی فعال شد", - "disabled": "غیرفعال شد" - }, - "tooltips": { - "autoLaunchAdmin": "Administrator mode may not support auto launch" - }, - "badges": { - "adminMode": "Administrator Mode", - "serviceMode": "حالت سرویس", - "sidecarMode": "User Mode", - "adminServiceMode": "Admin + Service Mode" - } - }, - "ipInfo": { - "title": "IP Information", - "errors": { - "load": "Failed to get IP info" - }, - "labels": { - "retry": "Retry", - "ip": "IP", - "asn": "ASN", - "isp": "ISP", - "org": "ORG", - "location": "Location", - "timezone": "Timezone", - "autoRefresh": "Auto refresh", - "unknown": "Unknown" - } - }, - "traffic": { - "metrics": { - "uploadSpeed": "سرعت بارگذاری", - "downloadSpeed": "سرعت دانلود", - "activeConnections": "Active Connections", - "uploaded": "بارگذاری شده", - "downloaded": "دانلود شده", - "memoryUsage": "استفاده از حافظه" - }, - "legends": { - "upload": "Upload", - "download": "Download" - }, - "patterns": { - "minutes": "{{time}} Minutes" - } - }, - "currentProxy": { - "title": "Current Node", - "actions": { - "refreshDelay": "بررسی تأخیر" - }, - "labels": { - "globalMode": "حالت جهانی", - "directMode": "حالت مستقیم", - "group": "Group", - "proxy": "Proxy", - "noActiveNode": "No active proxy node" - } - }, - "profile": { - "title": "پروفایل‌ها", - "actions": { - "import": "وارد کردن" - }, - "labels": { - "from": "از", - "updateTime": "زمان به‌روزرسانی", - "usedTotal": "استفاده‌شده / کل", - "expireTime": "زمان انقضا", - "clickToImport": "Click to import subscription" - } - } - }, - "connection": { - "fields": { - "host": "میزبان", - "downloaded": "دانلود شده", - "uploaded": "بارگذاری شده", - "dlSpeed": "سرعت دانلود", - "ulSpeed": "سرعت بارگذاری", - "chains": "زنجیره‌ها", - "rule": "قانون", - "process": "فرآیند", - "time": "زمان", - "source": "منبع", - "destination": "آدرس IP مقصد", - "destinationPort": "بندر هدف", - "type": "نوع" - }, - "actions": { - "closeConnection": "بستن اتصال" - }, - "order": { - "default": "Default", - "uploadSpeed": "سرعت بارگذاری", - "downloadSpeed": "سرعت دانلود" - } - }, - "settings": { - "system": { - "title": "تنظیمات سیستم", - "toggles": { - "tunMode": "Tun (کارت شبکه مجازی)", - "systemProxy": "پراکسی سیستم" - }, - "labels": { - "autoLaunch": "راه‌اندازی خودکار", - "silentStart": "شروع بی‌صدا" - }, - "tooltips": { - "autoLaunchAdmin": "Administrator mode may not support auto launch", - "silentStart": "برنامه را در حالت پس‌زمینه بدون نمایش پانل اجرا کنید" - } - }, - "proxyControl": { - "labels": { - "systemProxy": "پراکسی سیستم", - "tunMode": "Tun (کارت شبکه مجازی)" - }, - "tooltips": { - "systemProxy": "به امکانات تنظیم پروکسی سیستم عامل دسترسی پیدا کنید. اگر فعال‌سازی ناموفق بود، پروکسی سیستم عامل را به‌صورت دستی تغییر دهید", - "tunMode": "حالت Tun (NIC مجازی): تمام ترافیک سیستم را ضبط می کند، وقتی فعال باشد، نیازی به فعال کردن پروکسی سیستم نیست.", - "tunUnavailable": "TUN requires Service Mode or Admin Mode" - }, - "actions": { - "installService": "نصب سرویس", - "uninstallService": "Uninstall Service" - } - }, - "externalController": { - "title": "کنترل‌کننده خارجی", - "fields": { - "enable": "Enable External Controller", - "address": "کنترل‌کننده خارجی", - "secret": "رمز اصلی" - }, - "placeholders": { - "address": "Required", - "secret": "توصیه شده" - }, - "tooltips": { - "copy": "Copy to clipboard" - }, - "messages": { - "addressRequired": "Controller address cannot be empty", - "secretRequired": "Secret cannot be empty", - "copyFailed": "Failed to copy", - "controllerCopied": "Controller address copied to clipboard", - "secretCopied": "Secret copied to clipboard" - } - }, - "externalCors": { - "title": "External Cors Configuration", - "fields": { - "allowPrivateNetwork": "Allow private network access", - "allowedOrigins": "Allowed Origins" - }, - "placeholders": { - "origin": "Please enter a valid url" - }, - "actions": { - "add": "Add" - }, - "messages": { - "alwaysIncluded": "Always included origins: {{urls}}" - }, - "tooltips": { - "open": "External Cors Settings" - } - }, - "clash": { - "title": "تنظیمات Clash", - "items": { - "allowLan": "اجازه LAN", - "dnsOverwrite": "DNS Overwrite", - "ipv6": "IPv6", - "unifiedDelay": "معادلDELAY", - "logLevel": "سطح لاگ", - "portConfig": "پیکربندی پورت", - "external": "خارجی", - "webUI": "رابط وب", - "clashCore": "هسته Clash", - "openUwpTool": "باز کردن ابزار UWP", - "updateGeoData": "به‌روزرسانی GeoData" - }, - "tooltips": { - "networkInterface": "رابط شبکه", - "unifiedDelay": "معادلDELAY را فعال کنید تا ترافیک شبکه به سرعت رسید", - "logLevel": "این فقط روی فایل‌های لاگ هسته تحت فایل سرویس در فهرست ورود اثر می‌گذارد.", - "openUwpTool": "از ویندوز 8 به بعد، برنامه‌های UWP (مانند Microsoft Store) از دسترسی مستقیم به خدمات شبکه محلی محدود شده‌اند و این ابزار می‌تواند برای دور زدن این محدودیت استفاده شود" - }, - "options": { - "logLevel": { - "debug": "Debug", - "info": "Info", - "warning": "Warn", - "error": "Error", - "silent": "Silent" - } - }, - "messages": { - "geoDataUpdated": "GeoData به‌روزرسانی شد" - }, - "port": { - "title": "پیکربندی پورت", - "fields": { - "mixed": "پورت پروکسی ترکیبی", - "socks": "پورت پروکسی Socks", - "http": "پورت پروکسی Http(s)", - "redir": "پورت پروکسی شفاف Redir", - "tproxy": "پورت پروکسی شفاف Tproxy" - }, - "actions": { - "random": "پورت تصادفی" - }, - "messages": { - "saved": "Port settings saved", - "saveFailed": "Failed to save port settings" - } - } - }, - "liteMode": { - "title": "LightWeight Mode Settings", - "actions": { - "enterNow": "Enter LightWeight Mode Now" - }, - "toggles": { - "autoEnter": "Auto Enter LightWeight Mode" - }, - "tooltips": { - "autoEnter": "Enable to automatically activate LightWeight Mode after the window is closed for a period of time" - }, - "fields": { - "delay": "Auto Enter LightWeight Mode Delay" - }, - "messages": { - "autoEnterHint": "When closing the window, LightWeight Mode will be automatically activated after {{n}} minutes" - } - }, - "backup": { - "title": "تنظیمات پشتیبان گیری", - "tabs": { - "local": "Local backup", - "webdav": "WebDAV backup" - }, - "actions": { - "selectTarget": "Select backup target", - "backup": "پشتیبان‌گیری", - "refresh": "بازنشانی", - "save": "ذخیره", - "export": "Export", - "exportBackup": "Export Backup", - "delete": "حذف", - "deleteBackup": "حذف پشتیبان", - "restore": "بازیابی", - "restoreBackup": "بازیابی پشتیبان" - }, - "fields": { - "webdavUrl": "http(s):// URL سرور WebDAV", - "username": "نام کاربری", - "password": "رمز عبور", - "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." - }, - "messages": { - "webdavUrlRequired": "آدرس WebDAV نمی‌تواند خالی باشد", - "invalidWebdavUrl": "فرمت آدرس WebDAV نامعتبر است", - "usernameRequired": "نام کاربری نمی‌تواند خالی باشد", - "passwordRequired": "رمز عبور نمی‌تواند خالی باشد", - "webdavConfigSaved": "پیکربندی WebDAV با موفقیت ذخیره شد", - "webdavConfigSaveFailed": "خطا در ذخیره تنظیمات WebDAV: {{error}}", - "backupCreated": "پشتیبان‌گیری با موفقیت ایجاد شد", - "backupFailed": "خطا در پشتیبان‌گیری: {{error}}", - "localBackupCreated": "Local backup created successfully", - "localBackupFailed": "Local backup failed", - "restoreSuccess": "بازیابی با موفقیت انجام شد، برنامه در 1 ثانیه راه‌اندازی مجدد می‌شود", - "localBackupExported": "Local backup exported successfully", - "localBackupExportFailed": "Failed to export local backup", - "confirmDelete": "آیا از حذف این فایل پشتیبان اطمینان دارید؟", - "confirmRestore": "آیا از بازیابی این فایل پشتیبان اطمینان دارید؟" - }, - "table": { - "filename": "نام فایل", - "backupTime": "زمان پشتیبان‌گیری", - "actions": "عملیات", - "noBackups": "هیچ پشتیبانی موجود نیست", - "rowsPerPage": "Rows per page" - } - }, - "verge": { - "basic": { - "title": "تنظیمات پایه Verge", - "items": { - "language": "زبان", - "themeMode": "حالت تم", - "trayClickEvent": "رویداد کلیک در سینی سیستم", - "copyEnvType": "کپی نوع محیط", - "startPage": "صفحه شروع", - "startupScript": "اسکریپت راه‌اندازی", - "themeSetting": "تنظیمات تم", - "layoutSetting": "تنظیمات چیدمان", - "misc": "متفرقه", - "hotkeySetting": "تنظیمات کلیدهای میانبر" - }, - "actions": { - "browse": "مرور کردن", - "clear": "پاک کردن" - }, - "trayOptions": { - "showMainWindow": "نمایش پنجره اصلی", - "showTrayMenu": "Show Tray Menu", - "disable": "غیرفعال کردن" - } - }, - "advanced": { - "title": "تنظیمات پیشرفته Verge", - "items": { - "backupSetting": "تنظیمات پشتیبان گیری", - "runtimeConfig": "پیکربندی زمان اجرا", - "openConfDir": "باز کردن پوشه برنامه", - "openCoreDir": "باز کردن پوشه هسته", - "openLogsDir": "باز کردن پوشه لاگ‌ها", - "checkUpdates": "بررسی برای به‌روزرسانی‌ها", - "openDevTools": "باز کردن ابزارهای توسعه‌دهنده", - "liteModeSettings": "LightWeight Mode Settings", - "exit": "خروج", - "exportDiagnostics": "Export Diagnostic Info", - "vergeVersion": "نسخه Verge" - }, - "tooltips": { - "backupInfo": "از فایل های پیکربندی پشتیبان WebDAV پشتیبانی می کند", - "openConfDir": "اگر نرم‌افزار به‌طور غیرعادی اجرا می‌شود، از تمام فایل‌های موجود در این پوشه نسخه پشتیبان تهیه و پاک کنید تا نرم‌افزار را مجدداً راه‌اندازی کنید", - "liteMode": "رابط کاربری گرافیکی را ببندید و فقط هسته را در حال اجرا نگه دارید" - }, - "actions": { - "copyVersion": "Copy Version" - }, - "notifications": { - "latestVersion": "در حال حاضر در آخرین نسخه", - "versionCopied": "Version copied to clipboard" - } - }, - "theme": { - "title": "تنظیمات تم", - "fields": { - "primaryColor": "رنگ اصلی", - "secondaryColor": "رنگ ثانویه", - "primaryText": "متن اصلی", - "secondaryText": "متن ثانویه", - "infoColor": "رنگ اطلاعات", - "warningColor": "رنگ هشدار", - "errorColor": "رنگ خطا", - "successColor": "رنگ موفقیت", - "fontFamily": "خانواده فونت", - "cssInjection": "تزریق CSS" - }, - "actions": { - "editCss": "Edit CSS" - }, - "dialogs": { - "editCssTitle": "Edit CSS" - } - }, - "layout": { - "title": "تنظیمات چیدمان", - "fields": { - "preferSystemTitlebar": "Prefer System Titlebar", - "trafficGraph": "نمودار ترافیک", - "memoryUsage": "استفاده از حافظه", - "proxyGroupIcon": "آیکون گروه پراکسی", - "hoverNavigator": "Hover Jump Navigator", - "hoverNavigatorDelay": "Hover Jump Navigator Delay", - "navIcon": "آیکون ناوبری", - "trayIcon": "آیکون سینی سیستم", - "showProxyGroupsInline": "Show Proxy Groups Inline", - "commonTrayIcon": "آیکون مشترک سینی سیستم", - "systemProxyTrayIcon": "آیکون سینی پراکسی سیستم", - "tunTrayIcon": "آیکون سینی Tun" - }, - "tooltips": { - "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", - "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" - }, - "options": { - "icon": { - "monochrome": "تک رنگ", - "colorful": "رنگارنگ", - "disable": "غیرفعال کردن" - } - } - } - }, - "common": { - "notifications": { - "copySuccess": "کپی با موفقیت انجام شد" - } - }, - "misc": { - "title": "متفرقه", - "fields": { - "appLogLevel": "سطح لاگ برنامه", - "appLogMaxSize": "App Log Max Size", - "appLogMaxCount": "App Log Max Count", - "autoCloseConnections": "بستن خودکار اتصالات", - "autoCheckUpdate": "بررسی خودکار به‌روزرسانی", - "enableBuiltinEnhanced": "فعال کردن تقویت داخلی", - "proxyLayoutColumns": "ستون چیدمان پراکسی", - "autoLogClean": "پاکسازی خودکار لاگ", - "autoDelayDetection": "تشخیص تأخیر خودکار", - "defaultLatencyTest": "آزمون تأخیر پیش‌فرض", - "defaultLatencyTimeout": "زمان انتظار تأخیر پیش‌فرض" - }, - "tooltips": { - "autoCloseConnections": "اتصالات برقرار شده را هنگام تغییر انتخاب گروه پروکسی یا حالت پروکسی خاتمه دهید", - "enableBuiltinEnhanced": "مدیریت سازگاری برای فایل پیکربندی", - "autoDelayDetection": "به‌صورت دوره‌ای تأخیر گره فعلی را در پس‌زمینه آزمایش می‌کند", - "defaultLatencyTest": "فقط برای تست درخواست‌های کلاینت HTTP استفاده می‌شود و بر فایل پیکربندی تأثیری نخواهد داشت" - }, - "options": { - "proxyLayoutColumns": { - "auto": "ستون‌های خودکار" - }, - "autoLogClean": { - "never": "هرگز پاک نکن", - "retainDays": "نگهداری به مدت {{n}} روز" - } - } - }, - "update": { - "title": "New Version v{{version}}", - "actions": { - "goToRelease": "رفتن به صفحه انتشار", - "update": "به‌روزرسانی" - }, - "messages": { - "portableError": "نسخه پرتابل از به‌روزرسانی درون برنامه‌ای پشتیبانی نمی‌کند. لطفاً به صورت دستی دانلود و جایگزین کنید", - "breakChangeError": "این نسخه یک به‌روزرسانی اساسی است و پشتیبانی از به‌روزرسانی درون برنامه را پشتیبانی نمی‌کند. لطفاً پس از حذف، دستی دانلود و نصب کنید." - } - }, - "sysproxy": { - "title": "تنظیمات پراکسی سیستم", - "fieldsets": { - "currentStatus": "پراکسی سیستم فعلی" - }, - "fields": { - "enableStatus": "وضعیت فعال", - "serverAddr": "آدرس سرور: ", - "pacUrl": "PAC URL: ", - "proxyHost": "میزبان پراکسی", - "usePacMode": "استفاده از حالت PAC", - "proxyGuard": "محافظ پراکسی", - "guardDuration": "مدت محافظت", - "alwaysUseDefaultBypass": "همیشه از دور زدن پیش‌فرض استفاده کنید", - "proxyBypass": "دور زدن پراکسی: ", - "bypass": "دور زدن: ", - "pacScriptContent": "محتوای اسکریپت PAC" - }, - "tooltips": { - "proxyGuard": "امکان جلوگیری از نرم‌افزارهای دیگر از تغییر تنظیمات پروکسی سیستم عامل را فعال کنید" - }, - "messages": { - "durationTooShort": "مدت زمان دیمن پراکسی نمی‌تواند کمتر از 1 ثانیه باشد", - "invalidBypass": "فرمت عبور نامعتبر است", - "invalidProxyHost": "فرمت میزبان پراکسی نامعتبر است" - }, - "actions": { - "editPac": "ویرایش PAC" - } - }, - "tun": { - "title": "Tun (کارت شبکه مجازی)", - "actions": { - "reset": "بازنشانی به پیش‌فرض" - }, - "fields": { - "stack": "انباشته Tun", - "device": "Device Name", - "autoRoute": "مسیر خودکار", - "strictRoute": "مسیر دقیق", - "autoDetectInterface": "تشخیص خودکار رابط", - "dnsHijack": "ربایش DNS", - "mtu": "واحد حداکثر انتقال" - }, - "tooltips": { - "dnsHijack": "Please use , to separate multiple DNS servers" - }, - "messages": { - "applied": "تنظیمات اعمال شد" - } - }, - "dns": { - "dialog": { - "title": "DNS Overwrite", - "warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled" - }, - "sections": { - "general": "DNS Settings", - "fallbackFilter": "Fallback Filter Settings", - "hosts": "Hosts Settings" - }, - "fields": { - "enable": "Enable DNS", - "listen": "DNS Listen", - "enhancedMode": "Enhanced Mode", - "fakeIpRange": "Fake IP Range", - "fakeIpFilterMode": "Fake IP Filter Mode", - "ipv6": { - "label": "IPv6", - "description": "Enable IPv6 DNS resolution" - }, - "preferH3": { - "label": "Prefer H3", - "description": "DNS DOH uses HTTP/3" - }, - "respectRules": { - "label": "Respect Rules", - "description": "DNS connections follow routing rules" - }, - "useHosts": { - "label": "Use Hosts", - "description": "Enable to resolve hosts through hosts file" - }, - "useSystemHosts": { - "label": "Use System Hosts", - "description": "Enable to resolve hosts through system hosts file" - }, - "directPolicy": { - "label": "Direct Nameserver Follow Policy", - "description": "Whether to follow nameserver policy" - }, - "defaultNameserver": { - "label": "Default Nameserver", - "description": "Default DNS servers used to resolve DNS servers" - }, - "nameserver": { - "label": "Nameserver", - "description": "List of DNS servers, comma separated" - }, - "fallback": { - "label": "Fallback", - "description": "List of fallback DNS servers, comma separated" - }, - "proxy": { - "label": "Proxy Server Nameserver", - "description": "DNS servers for proxy node domain resolution" - }, - "directNameserver": { - "label": "Direct Nameserver", - "description": "DNS servers for direct exit domain resolution, supports 'system' keyword, comma separated" - }, - "fakeIpFilter": { - "label": "Fake IP Filter", - "description": "Domains that skip fake IP resolution, comma separated" - }, - "nameserverPolicy": { - "label": "Nameserver Policy", - "description": "Domain-specific DNS server, multiple servers separated by semicolons, format: domain=server1;server2" - }, - "geoipFiltering": { - "label": "GeoIP Filtering", - "description": "Enable GeoIP filtering for fallback" - }, - "geoipCode": "GeoIP Code", - "fallbackIpCidr": { - "label": "Fallback IP CIDR", - "description": "IP CIDRs not using fallback servers, comma separated" - }, - "fallbackDomain": { - "label": "Fallback Domain", - "description": "Domains using fallback servers, comma separated" - }, - "hosts": { - "label": "Hosts", - "description": "Custom domain to IP or domain mapping" - } - }, - "messages": { - "saved": "DNS settings saved", - "configError": "DNS configuration error:" - }, - "errors": { - "invalid": "Invalid configuration" - } - } - }, - "providers": { - "notices": { - "updateSuccess": "{{name}} updated successfully", - "updateFailed": "Failed to update {{name}}: {{message}}", - "genericError": "Update failed: {{message}}", - "none": "No providers available to update", - "allUpdated": "All providers updated successfully" - } - }, - "test": { - "item": { - "actions": { - "test": "آزمون" - } - }, - "viewer": { - "title": { - "create": "ایجاد آزمون", - "edit": "ویرایش آزمون" - }, - "fields": { - "url": "آدرس آزمون" - } - } - } - }, "common": { "editorModes": { "visualization": "تجسم", @@ -1207,5 +220,1000 @@ "unlock": "Unlock menu order", "lock": "Lock menu order" } + }, + "ruleEditor": { + "title": "ویرایش قوانین", + "form": { + "labels": { + "type": "نوع قانون", + "content": "محتوای قانون", + "proxyPolicy": "سیاست پروکسی" + }, + "toggles": { + "noResolve": "بدون حل" + }, + "actions": { + "prependRule": "اضافه کردن قانون به ابتدا", + "appendRule": "اضافه کردن قانون به انتها" + }, + "validation": { + "conditionRequired": "شرط قانون الزامی است", + "invalidRule": "قانون نامعتبر" + } + } + }, + "profile": { + "viewer": { + "title": { + "create": "ایجاد پروفایل", + "edit": "ویرایش پروفایل" + }, + "buttons": { + "save": "ذخیره", + "cancel": "لغو" + }, + "fields": { + "type": "نوع", + "name": "نام", + "description": "توضیحات", + "subscriptionUrl": "آدرس اشتراک", + "httpTimeout": "HTTP Request Timeout", + "updateInterval": "فاصله زمانی به‌روزرسانی", + "useSystemProxy": "استفاده از پراکسی سیستم", + "useClashProxy": "استفاده از پراکسی Clash", + "acceptInvalidCerts": "پذیرش گواهی‌نامه‌های نامعتبر (خطرناک)", + "allowAutoUpdate": "Allow Auto Update" + }, + "notifications": { + "creationRetry": "Profile creation failed, retrying with Clash proxy...", + "creationSuccess": "Profile creation succeeded with Clash proxy" + } + }, + "fileInput": { + "chooseFile": "انتخاب فایل" + }, + "notifications": { + "saved": "Saved successfully" + }, + "proxiesEditor": { + "title": "ویرایش پروکسی‌ها", + "placeholders": { + "multiUri": "استفاده از خطوط جدید برای چندین آدرس (پشتیبانی از رمزگذاری Base64)" + }, + "actions": { + "prepend": "پیش‌افزودن پراکسی", + "append": "پس‌افزودن پراکسی" + } + }, + "groupsEditor": { + "title": "ویرایش گروه‌های پروکسی", + "errors": { + "nameRequired": "نام گروه مورد نیاز است", + "nameExists": "نام گروه قبلا وجود دارد" + }, + "fields": { + "type": "نوع گروه", + "name": "نام گروه", + "icon": "آیکون گروه پراکسی", + "proxies": "استفاده از پروکسی‌ها", + "provider": "استفاده از ارائه‌دهنده", + "healthCheckUrl": "آدرس بررسی سلامت", + "expectedStatus": "وضعیت مورد انتظار", + "interval": "فاصله زمانی", + "timeout": "زمان قطع", + "maxFailedTimes": "حداکثر تعداد شکست‌ها", + "interfaceName": "نام رابط", + "routingMark": "علامت مسیریابی", + "filter": "فیلتر", + "excludeFilter": "فیلتر استثناء", + "excludeType": "نوع استثناء", + "includeAll": "شامل همه پروکسی‌ها و ارائه‌دهنده‌ها", + "includeAllProxies": "شامل همه پروکسی‌ها", + "includeAllProviders": "شامل همه ارائه‌دهنده‌ها" + }, + "toggles": { + "lazy": "تنبل", + "disableUdp": "غیرفعال کردن UDP", + "hidden": "مخفی" + }, + "actions": { + "prepend": "اضافه کردن گروه به ابتدا", + "append": "اضافه کردن گروه به انتها" + } + }, + "menu": { + "home": "Home", + "select": "انتخاب", + "editInfo": "ویرایش اطلاعات", + "editFile": "ویرایش فایل", + "editRules": "ویرایش قوانین", + "editProxies": "ویرایش پروکسی‌ها", + "editGroups": "ویرایش گروه‌های پروکسی", + "extendConfig": "توسعه پیکربندی", + "extendScript": "ادغام اسکریپت", + "openFile": "باز کردن فایل", + "update": "به‌روزرسانی", + "updateViaProxy": "Update via proxy", + "delete": "حذف" + }, + "item": { + "tooltips": { + "showLast": "Click to show last update time", + "showNext": "Click to show next update" + }, + "status": { + "lastUpdateFailed": "Last Update failed", + "nextUp": "Next Up", + "noSchedule": "No schedule", + "unknown": "Unknown", + "autoUpdateDisabled": "Auto update disabled" + } + }, + "confirm": { + "delete": { + "title": "تأیید حذف", + "message": "این عملیات قابل برگشت نیست" + } + }, + "logViewer": { + "title": "کنسول اسکریپت" + }, + "more": { + "global": { + "merge": "Global Merge", + "script": "Global Script" + }, + "chips": { + "merge": "Merge", + "script": "Script" + } + }, + "editor": { + "format": "فرمت‌بندی سند", + "readOnlyMessage": "نمی‌توان در ویرایشگر فقط خواندنی ویرایش کرد" + } + }, + "home": { + "proxyTunCard": { + "status": { + "systemProxyEnabled": "System proxy is enabled, your applications will access the network through the proxy", + "systemProxyDisabled": "System proxy is disabled, it is recommended for most users to turn on this option", + "tunModeServiceRequired": "TUN mode requires service mode, please install the service first", + "tunModeEnabled": "TUN mode is enabled, applications will access the network through the virtual network card", + "tunModeDisabled": "TUN mode is disabled, suitable for special applications" + }, + "tooltips": { + "systemProxy": "به امکانات تنظیم پروکسی سیستم عامل دسترسی پیدا کنید. اگر فعال‌سازی ناموفق بود، پروکسی سیستم عامل را به‌صورت دستی تغییر دهید", + "tunMode": "TUN mode can take over all application traffic, suitable for special applications that do not follow the system proxy settings" + } + }, + "clashInfo": { + "title": "Clash Info", + "fields": { + "coreVersion": "Core Version", + "systemProxyAddress": "System Proxy Address", + "mixedPort": "Mixed Port", + "uptime": "Uptime", + "rulesCount": "Rules Count" + } + }, + "systemInfo": { + "title": "System Info", + "fields": { + "osInfo": "OS Info", + "autoLaunch": "راه‌اندازی خودکار", + "runningMode": "Running Mode", + "lastCheckUpdate": "Last Check Update", + "vergeVersion": "نسخه Verge" + }, + "actions": { + "settings": "تنظیمات" + }, + "labels": { + "enabled": "توانایی فعال شد", + "disabled": "غیرفعال شد" + }, + "tooltips": { + "autoLaunchAdmin": "Administrator mode may not support auto launch" + }, + "badges": { + "adminMode": "Administrator Mode", + "serviceMode": "حالت سرویس", + "sidecarMode": "User Mode", + "adminServiceMode": "Admin + Service Mode" + } + }, + "ipInfo": { + "title": "IP Information", + "errors": { + "load": "Failed to get IP info" + }, + "labels": { + "retry": "Retry", + "ip": "IP", + "asn": "ASN", + "isp": "ISP", + "org": "ORG", + "location": "Location", + "timezone": "Timezone", + "autoRefresh": "Auto refresh", + "unknown": "Unknown" + } + }, + "traffic": { + "metrics": { + "uploadSpeed": "سرعت بارگذاری", + "downloadSpeed": "سرعت دانلود", + "activeConnections": "Active Connections", + "uploaded": "بارگذاری شده", + "downloaded": "دانلود شده", + "memoryUsage": "استفاده از حافظه" + }, + "legends": { + "upload": "Upload", + "download": "Download" + }, + "patterns": { + "minutes": "{{time}} Minutes" + } + }, + "currentProxy": { + "title": "Current Node", + "actions": { + "refreshDelay": "بررسی تأخیر" + }, + "labels": { + "globalMode": "حالت جهانی", + "directMode": "حالت مستقیم", + "group": "Group", + "proxy": "Proxy", + "noActiveNode": "No active proxy node" + } + }, + "profile": { + "title": "پروفایل‌ها", + "actions": { + "import": "وارد کردن" + }, + "labels": { + "from": "از", + "updateTime": "زمان به‌روزرسانی", + "usedTotal": "استفاده‌شده / کل", + "expireTime": "زمان انقضا", + "clickToImport": "Click to import subscription" + } + }, + "page": { + "title": "Home", + "tooltips": { + "lightweightMode": "در فارسی", + "manual": "راهنما", + "settings": "Home Settings" + }, + "cards": { + "trafficStats": "Traffic Stats", + "networkSettings": "Network Settings", + "proxyMode": "Proxy Mode" + }, + "settings": { + "title": "Home Settings", + "cards": { + "profile": "Profile Card", + "currentProxy": "Current Proxy Card", + "network": "Network Settings Card", + "proxyMode": "Proxy Mode Card", + "traffic": "Traffic Stats Card", + "tests": "Website Tests Card", + "ip": "IP Information Card", + "clashInfo": "Clash Info Cards", + "systemInfo": "System Info Cards" + } + } + } + }, + "connection": { + "fields": { + "host": "میزبان", + "downloaded": "دانلود شده", + "uploaded": "بارگذاری شده", + "dlSpeed": "سرعت دانلود", + "ulSpeed": "سرعت بارگذاری", + "chains": "زنجیره‌ها", + "rule": "قانون", + "process": "فرآیند", + "time": "زمان", + "source": "منبع", + "destination": "آدرس IP مقصد", + "destinationPort": "بندر هدف", + "type": "نوع" + }, + "actions": { + "closeConnection": "بستن اتصال" + }, + "order": { + "default": "Default", + "uploadSpeed": "سرعت بارگذاری", + "downloadSpeed": "سرعت دانلود" + } + }, + "settings": { + "system": { + "title": "تنظیمات سیستم", + "toggles": { + "tunMode": "Tun (کارت شبکه مجازی)", + "systemProxy": "پراکسی سیستم" + }, + "labels": { + "autoLaunch": "راه‌اندازی خودکار", + "silentStart": "شروع بی‌صدا" + }, + "tooltips": { + "autoLaunchAdmin": "Administrator mode may not support auto launch", + "silentStart": "برنامه را در حالت پس‌زمینه بدون نمایش پانل اجرا کنید" + } + }, + "proxyControl": { + "labels": { + "systemProxy": "پراکسی سیستم", + "tunMode": "Tun (کارت شبکه مجازی)" + }, + "tooltips": { + "systemProxy": "به امکانات تنظیم پروکسی سیستم عامل دسترسی پیدا کنید. اگر فعال‌سازی ناموفق بود، پروکسی سیستم عامل را به‌صورت دستی تغییر دهید", + "tunMode": "حالت Tun (NIC مجازی): تمام ترافیک سیستم را ضبط می کند، وقتی فعال باشد، نیازی به فعال کردن پروکسی سیستم نیست.", + "tunUnavailable": "TUN requires Service Mode or Admin Mode" + }, + "actions": { + "installService": "نصب سرویس", + "uninstallService": "Uninstall Service" + } + }, + "externalController": { + "title": "کنترل‌کننده خارجی", + "fields": { + "enable": "Enable External Controller", + "address": "کنترل‌کننده خارجی", + "secret": "رمز اصلی" + }, + "placeholders": { + "address": "Required", + "secret": "توصیه شده" + }, + "tooltips": { + "copy": "Copy to clipboard" + }, + "messages": { + "addressRequired": "Controller address cannot be empty", + "secretRequired": "Secret cannot be empty", + "copyFailed": "Failed to copy", + "controllerCopied": "Controller address copied to clipboard", + "secretCopied": "Secret copied to clipboard" + } + }, + "externalCors": { + "title": "External Cors Configuration", + "fields": { + "allowPrivateNetwork": "Allow private network access", + "allowedOrigins": "Allowed Origins" + }, + "placeholders": { + "origin": "Please enter a valid url" + }, + "actions": { + "add": "Add" + }, + "messages": { + "alwaysIncluded": "Always included origins: {{urls}}" + }, + "tooltips": { + "open": "External Cors Settings" + } + }, + "clash": { + "title": "تنظیمات Clash", + "items": { + "allowLan": "اجازه LAN", + "dnsOverwrite": "DNS Overwrite", + "ipv6": "IPv6", + "unifiedDelay": "معادلDELAY", + "logLevel": "سطح لاگ", + "portConfig": "پیکربندی پورت", + "external": "خارجی", + "webUI": "رابط وب", + "clashCore": "هسته Clash", + "openUwpTool": "باز کردن ابزار UWP", + "updateGeoData": "به‌روزرسانی GeoData" + }, + "tooltips": { + "networkInterface": "رابط شبکه", + "unifiedDelay": "معادلDELAY را فعال کنید تا ترافیک شبکه به سرعت رسید", + "logLevel": "این فقط روی فایل‌های لاگ هسته تحت فایل سرویس در فهرست ورود اثر می‌گذارد.", + "openUwpTool": "از ویندوز 8 به بعد، برنامه‌های UWP (مانند Microsoft Store) از دسترسی مستقیم به خدمات شبکه محلی محدود شده‌اند و این ابزار می‌تواند برای دور زدن این محدودیت استفاده شود" + }, + "options": { + "logLevel": { + "debug": "Debug", + "info": "Info", + "warning": "Warn", + "error": "Error", + "silent": "Silent" + } + }, + "messages": { + "geoDataUpdated": "GeoData به‌روزرسانی شد" + }, + "port": { + "title": "پیکربندی پورت", + "fields": { + "mixed": "پورت پروکسی ترکیبی", + "socks": "پورت پروکسی Socks", + "http": "پورت پروکسی Http(s)", + "redir": "پورت پروکسی شفاف Redir", + "tproxy": "پورت پروکسی شفاف Tproxy" + }, + "actions": { + "random": "پورت تصادفی" + }, + "messages": { + "saved": "Port settings saved", + "saveFailed": "Failed to save port settings" + } + } + }, + "liteMode": { + "title": "LightWeight Mode Settings", + "actions": { + "enterNow": "Enter LightWeight Mode Now" + }, + "toggles": { + "autoEnter": "Auto Enter LightWeight Mode" + }, + "tooltips": { + "autoEnter": "Enable to automatically activate LightWeight Mode after the window is closed for a period of time" + }, + "fields": { + "delay": "Auto Enter LightWeight Mode Delay" + }, + "messages": { + "autoEnterHint": "When closing the window, LightWeight Mode will be automatically activated after {{n}} minutes" + } + }, + "backup": { + "title": "تنظیمات پشتیبان گیری", + "tabs": { + "local": "Local backup", + "webdav": "WebDAV backup" + }, + "actions": { + "selectTarget": "Select backup target", + "backup": "پشتیبان‌گیری", + "refresh": "بازنشانی", + "save": "ذخیره", + "export": "Export", + "exportBackup": "Export Backup", + "delete": "حذف", + "deleteBackup": "حذف پشتیبان", + "restore": "بازیابی", + "restoreBackup": "بازیابی پشتیبان" + }, + "fields": { + "webdavUrl": "http(s):// URL سرور WebDAV", + "username": "نام کاربری", + "password": "رمز عبور", + "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." + }, + "messages": { + "webdavUrlRequired": "آدرس WebDAV نمی‌تواند خالی باشد", + "invalidWebdavUrl": "فرمت آدرس WebDAV نامعتبر است", + "usernameRequired": "نام کاربری نمی‌تواند خالی باشد", + "passwordRequired": "رمز عبور نمی‌تواند خالی باشد", + "webdavConfigSaved": "پیکربندی WebDAV با موفقیت ذخیره شد", + "webdavConfigSaveFailed": "خطا در ذخیره تنظیمات WebDAV: {{error}}", + "backupCreated": "پشتیبان‌گیری با موفقیت ایجاد شد", + "backupFailed": "خطا در پشتیبان‌گیری: {{error}}", + "localBackupCreated": "Local backup created successfully", + "localBackupFailed": "Local backup failed", + "restoreSuccess": "بازیابی با موفقیت انجام شد، برنامه در 1 ثانیه راه‌اندازی مجدد می‌شود", + "localBackupExported": "Local backup exported successfully", + "localBackupExportFailed": "Failed to export local backup", + "confirmDelete": "آیا از حذف این فایل پشتیبان اطمینان دارید؟", + "confirmRestore": "آیا از بازیابی این فایل پشتیبان اطمینان دارید؟" + }, + "table": { + "filename": "نام فایل", + "backupTime": "زمان پشتیبان‌گیری", + "actions": "عملیات", + "noBackups": "هیچ پشتیبانی موجود نیست", + "rowsPerPage": "Rows per page" + } + }, + "verge": { + "basic": { + "title": "تنظیمات پایه Verge", + "items": { + "language": "زبان", + "themeMode": "حالت تم", + "trayClickEvent": "رویداد کلیک در سینی سیستم", + "copyEnvType": "کپی نوع محیط", + "startPage": "صفحه شروع", + "startupScript": "اسکریپت راه‌اندازی", + "themeSetting": "تنظیمات تم", + "layoutSetting": "تنظیمات چیدمان", + "misc": "متفرقه", + "hotkeySetting": "تنظیمات کلیدهای میانبر" + }, + "actions": { + "browse": "مرور کردن", + "clear": "پاک کردن" + }, + "trayOptions": { + "showMainWindow": "نمایش پنجره اصلی", + "showTrayMenu": "Show Tray Menu", + "disable": "غیرفعال کردن" + } + }, + "advanced": { + "title": "تنظیمات پیشرفته Verge", + "items": { + "backupSetting": "تنظیمات پشتیبان گیری", + "runtimeConfig": "پیکربندی زمان اجرا", + "openConfDir": "باز کردن پوشه برنامه", + "openCoreDir": "باز کردن پوشه هسته", + "openLogsDir": "باز کردن پوشه لاگ‌ها", + "checkUpdates": "بررسی برای به‌روزرسانی‌ها", + "openDevTools": "باز کردن ابزارهای توسعه‌دهنده", + "liteModeSettings": "LightWeight Mode Settings", + "exit": "خروج", + "exportDiagnostics": "Export Diagnostic Info", + "vergeVersion": "نسخه Verge" + }, + "tooltips": { + "backupInfo": "از فایل های پیکربندی پشتیبان WebDAV پشتیبانی می کند", + "openConfDir": "اگر نرم‌افزار به‌طور غیرعادی اجرا می‌شود، از تمام فایل‌های موجود در این پوشه نسخه پشتیبان تهیه و پاک کنید تا نرم‌افزار را مجدداً راه‌اندازی کنید", + "liteMode": "رابط کاربری گرافیکی را ببندید و فقط هسته را در حال اجرا نگه دارید" + }, + "actions": { + "copyVersion": "Copy Version" + }, + "notifications": { + "latestVersion": "در حال حاضر در آخرین نسخه", + "versionCopied": "Version copied to clipboard" + } + }, + "theme": { + "title": "تنظیمات تم", + "fields": { + "primaryColor": "رنگ اصلی", + "secondaryColor": "رنگ ثانویه", + "primaryText": "متن اصلی", + "secondaryText": "متن ثانویه", + "infoColor": "رنگ اطلاعات", + "warningColor": "رنگ هشدار", + "errorColor": "رنگ خطا", + "successColor": "رنگ موفقیت", + "fontFamily": "خانواده فونت", + "cssInjection": "تزریق CSS" + }, + "actions": { + "editCss": "Edit CSS" + }, + "dialogs": { + "editCssTitle": "Edit CSS" + } + }, + "layout": { + "title": "تنظیمات چیدمان", + "fields": { + "preferSystemTitlebar": "Prefer System Titlebar", + "trafficGraph": "نمودار ترافیک", + "memoryUsage": "استفاده از حافظه", + "proxyGroupIcon": "آیکون گروه پراکسی", + "hoverNavigator": "Hover Jump Navigator", + "hoverNavigatorDelay": "Hover Jump Navigator Delay", + "navIcon": "آیکون ناوبری", + "trayIcon": "آیکون سینی سیستم", + "showProxyGroupsInline": "Show Proxy Groups Inline", + "commonTrayIcon": "آیکون مشترک سینی سیستم", + "systemProxyTrayIcon": "آیکون سینی پراکسی سیستم", + "tunTrayIcon": "آیکون سینی Tun" + }, + "tooltips": { + "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", + "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" + }, + "options": { + "icon": { + "monochrome": "تک رنگ", + "colorful": "رنگارنگ", + "disable": "غیرفعال کردن" + } + } + } + }, + "common": { + "notifications": { + "copySuccess": "کپی با موفقیت انجام شد" + } + }, + "misc": { + "title": "متفرقه", + "fields": { + "appLogLevel": "سطح لاگ برنامه", + "appLogMaxSize": "App Log Max Size", + "appLogMaxCount": "App Log Max Count", + "autoCloseConnections": "بستن خودکار اتصالات", + "autoCheckUpdate": "بررسی خودکار به‌روزرسانی", + "enableBuiltinEnhanced": "فعال کردن تقویت داخلی", + "proxyLayoutColumns": "ستون چیدمان پراکسی", + "autoLogClean": "پاکسازی خودکار لاگ", + "autoDelayDetection": "تشخیص تأخیر خودکار", + "defaultLatencyTest": "آزمون تأخیر پیش‌فرض", + "defaultLatencyTimeout": "زمان انتظار تأخیر پیش‌فرض" + }, + "tooltips": { + "autoCloseConnections": "اتصالات برقرار شده را هنگام تغییر انتخاب گروه پروکسی یا حالت پروکسی خاتمه دهید", + "enableBuiltinEnhanced": "مدیریت سازگاری برای فایل پیکربندی", + "autoDelayDetection": "به‌صورت دوره‌ای تأخیر گره فعلی را در پس‌زمینه آزمایش می‌کند", + "defaultLatencyTest": "فقط برای تست درخواست‌های کلاینت HTTP استفاده می‌شود و بر فایل پیکربندی تأثیری نخواهد داشت" + }, + "options": { + "proxyLayoutColumns": { + "auto": "ستون‌های خودکار" + }, + "autoLogClean": { + "never": "هرگز پاک نکن", + "retainDays": "نگهداری به مدت {{n}} روز" + } + } + }, + "update": { + "title": "New Version v{{version}}", + "actions": { + "goToRelease": "رفتن به صفحه انتشار", + "update": "به‌روزرسانی" + }, + "messages": { + "portableError": "نسخه پرتابل از به‌روزرسانی درون برنامه‌ای پشتیبانی نمی‌کند. لطفاً به صورت دستی دانلود و جایگزین کنید", + "breakChangeError": "این نسخه یک به‌روزرسانی اساسی است و پشتیبانی از به‌روزرسانی درون برنامه را پشتیبانی نمی‌کند. لطفاً پس از حذف، دستی دانلود و نصب کنید." + } + }, + "sysproxy": { + "title": "تنظیمات پراکسی سیستم", + "fieldsets": { + "currentStatus": "پراکسی سیستم فعلی" + }, + "fields": { + "enableStatus": "وضعیت فعال", + "serverAddr": "آدرس سرور: ", + "pacUrl": "PAC URL: ", + "proxyHost": "میزبان پراکسی", + "usePacMode": "استفاده از حالت PAC", + "proxyGuard": "محافظ پراکسی", + "guardDuration": "مدت محافظت", + "alwaysUseDefaultBypass": "همیشه از دور زدن پیش‌فرض استفاده کنید", + "proxyBypass": "دور زدن پراکسی: ", + "bypass": "دور زدن: ", + "pacScriptContent": "محتوای اسکریپت PAC" + }, + "tooltips": { + "proxyGuard": "امکان جلوگیری از نرم‌افزارهای دیگر از تغییر تنظیمات پروکسی سیستم عامل را فعال کنید" + }, + "messages": { + "durationTooShort": "مدت زمان دیمن پراکسی نمی‌تواند کمتر از 1 ثانیه باشد", + "invalidBypass": "فرمت عبور نامعتبر است", + "invalidProxyHost": "فرمت میزبان پراکسی نامعتبر است" + }, + "actions": { + "editPac": "ویرایش PAC" + } + }, + "tun": { + "title": "Tun (کارت شبکه مجازی)", + "actions": { + "reset": "بازنشانی به پیش‌فرض" + }, + "fields": { + "stack": "انباشته Tun", + "device": "Device Name", + "autoRoute": "مسیر خودکار", + "strictRoute": "مسیر دقیق", + "autoDetectInterface": "تشخیص خودکار رابط", + "dnsHijack": "ربایش DNS", + "mtu": "واحد حداکثر انتقال" + }, + "tooltips": { + "dnsHijack": "Please use , to separate multiple DNS servers" + }, + "messages": { + "applied": "تنظیمات اعمال شد" + } + }, + "dns": { + "dialog": { + "title": "DNS Overwrite", + "warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled" + }, + "sections": { + "general": "DNS Settings", + "fallbackFilter": "Fallback Filter Settings", + "hosts": "Hosts Settings" + }, + "fields": { + "enable": "Enable DNS", + "listen": "DNS Listen", + "enhancedMode": "Enhanced Mode", + "fakeIpRange": "Fake IP Range", + "fakeIpFilterMode": "Fake IP Filter Mode", + "ipv6": { + "label": "IPv6", + "description": "Enable IPv6 DNS resolution" + }, + "preferH3": { + "label": "Prefer H3", + "description": "DNS DOH uses HTTP/3" + }, + "respectRules": { + "label": "Respect Rules", + "description": "DNS connections follow routing rules" + }, + "useHosts": { + "label": "Use Hosts", + "description": "Enable to resolve hosts through hosts file" + }, + "useSystemHosts": { + "label": "Use System Hosts", + "description": "Enable to resolve hosts through system hosts file" + }, + "directPolicy": { + "label": "Direct Nameserver Follow Policy", + "description": "Whether to follow nameserver policy" + }, + "defaultNameserver": { + "label": "Default Nameserver", + "description": "Default DNS servers used to resolve DNS servers" + }, + "nameserver": { + "label": "Nameserver", + "description": "List of DNS servers, comma separated" + }, + "fallback": { + "label": "Fallback", + "description": "List of fallback DNS servers, comma separated" + }, + "proxy": { + "label": "Proxy Server Nameserver", + "description": "DNS servers for proxy node domain resolution" + }, + "directNameserver": { + "label": "Direct Nameserver", + "description": "DNS servers for direct exit domain resolution, supports 'system' keyword, comma separated" + }, + "fakeIpFilter": { + "label": "Fake IP Filter", + "description": "Domains that skip fake IP resolution, comma separated" + }, + "nameserverPolicy": { + "label": "Nameserver Policy", + "description": "Domain-specific DNS server, multiple servers separated by semicolons, format: domain=server1;server2" + }, + "geoipFiltering": { + "label": "GeoIP Filtering", + "description": "Enable GeoIP filtering for fallback" + }, + "geoipCode": "GeoIP Code", + "fallbackIpCidr": { + "label": "Fallback IP CIDR", + "description": "IP CIDRs not using fallback servers, comma separated" + }, + "fallbackDomain": { + "label": "Fallback Domain", + "description": "Domains using fallback servers, comma separated" + }, + "hosts": { + "label": "Hosts", + "description": "Custom domain to IP or domain mapping" + } + }, + "messages": { + "saved": "DNS settings saved", + "configError": "DNS configuration error:" + }, + "errors": { + "invalid": "Invalid configuration" + } + }, + "page": { + "title": "تنظیمات", + "actions": { + "manual": "راهنما", + "telegram": "کانال تلگرام", + "github": "مخزن GitHub" + } + } + }, + "providers": { + "notices": { + "updateSuccess": "{{name}} updated successfully", + "updateFailed": "Failed to update {{name}}: {{message}}", + "genericError": "Update failed: {{message}}", + "none": "No providers available to update", + "allUpdated": "All providers updated successfully" + } + }, + "test": { + "item": { + "actions": { + "test": "آزمون" + } + }, + "viewer": { + "title": { + "create": "ایجاد آزمون", + "edit": "ویرایش آزمون" + }, + "fields": { + "url": "آدرس آزمون" + } + }, + "page": { + "title": "آزمون", + "actions": { + "testAll": "آزمون همه", + "new": "جدید" + } + } + }, + "proxies": { + "page": { + "title": { + "default": "گروه‌های پراکسی", + "chainMode": "Proxy Chain Mode" + }, + "actions": { + "toggleChain": "🔗 پراکسی زنجیره‌ای", + "connect": "Connect", + "disconnect": "Disconnect", + "connecting": "Connecting...", + "clearChainConfig": "Delete Chain Config" + }, + "provider": { + "title": "تأمین‌کننده پروکسی", + "actions": { + "updateAll": "به‌روزرسانی همه", + "update": "به‌روزرسانی" + } + }, + "rules": { + "title": "Proxy Rules", + "select": "Select Rules" + }, + "labels": { + "proxyCount": "Proxy Count", + "delayCheckReset": "بررسی تأخیر برای لغو ثابت" + }, + "tooltips": { + "locate": "موقعیت", + "delayCheck": "بررسی تأخیر", + "sortDefault": "مرتب‌سازی بر اساس پیش‌فرض", + "sortDelay": "مرتب‌سازی بر اساس تأخیر", + "sortName": "مرتب‌سازی بر اساس نام", + "delayCheckUrl": "آدرس بررسی تأخیر", + "showBasic": "پراکسی پایه", + "showDetail": "جزئیات پراکسی", + "filter": "فیلتر" + }, + "placeholders": { + "filter": "شرایط فیلتر", + "delayCheckUrl": "آدرس بررسی تأخیر" + }, + "chain": { + "header": "Chain Proxy Config", + "empty": "No proxy chain configured", + "instruction": "Click nodes in order to add to proxy chain", + "minimumNodes": "Chain proxy requires at least 2 nodes", + "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", + "connectFailed": "Failed to connect to proxy chain", + "disconnectFailed": "Failed to disconnect from proxy chain", + "duplicateNode": "Proxy node already exists in chain" + } + } + }, + "rules": { + "page": { + "title": "قوانین", + "provider": { + "trigger": "تأمین‌کننده قانون", + "dialogTitle": "تأمین‌کننده قانون", + "actions": { + "updateAll": "به‌روزرسانی همه", + "update": "به‌روزرسانی" + } + } + } + }, + "profiles": { + "page": { + "title": "پروفایل‌ها", + "actions": { + "updateAll": "به‌روزرسانی همه پروفایل‌ها", + "viewRuntimeConfig": "مشاهده پیکربندی زمان اجرا", + "reactivate": "فعال‌سازی مجدد پروفایل‌ها", + "import": "وارد کردن", + "new": "جدید" + }, + "batch": { + "title": "Batch Operations", + "delete": "Delete Selected Profiles", + "selectAll": "Select All", + "deselectAll": "Deselect All", + "done": "Done", + "selected": "Selected", + "items": "items" + }, + "import": { + "placeholder": "آدرس پروفایل", + "paste": "چسباندن", + "clear": "پاک کردن" + }, + "errors": { + "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", + "onlyYaml": "فقط فایل‌های YAML پشتیبانی می‌شوند" + }, + "notifications": { + "importRetry": "Import failed, retrying with Clash proxy...", + "importFail": "Import failed even with Clash proxy", + "importNeedsRefresh": "Profile imported but may need manual refresh", + "importSuccess": "Profile imported successfully, please restart if not visible", + "profileSwitched": "پروفایل تغییر یافت", + "profileReactivated": "پروفایل مجدداً فعال شد", + "switchInterrupted": "Profile switch interrupted by new selection", + "batchDeleted": "Selected profiles deleted successfully" + }, + "notices": { + "forceRefreshCompleted": "Force refresh completed", + "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" + } + } + }, + "connections": { + "page": { + "title": "اتصالات", + "summary": { + "downloaded": "دانلود شده", + "uploaded": "بارگذاری شده" + }, + "actions": { + "listView": "نمای لیستی", + "tableView": "نمای جدولی", + "pause": "توقف", + "resume": "از سرگیری", + "closeAll": "بستن همه" + } + } + }, + "logs": { + "page": { + "title": "لاگ‌ها", + "actions": { + "pause": "توقف", + "resume": "از سرگیری", + "clear": "پاک کردن" + }, + "filters": { + "all": "ALL", + "debug": "DEBUG", + "info": "INFO", + "warn": "WARN", + "error": "ERROR" + } + } + }, + "unlock": { + "page": { + "title": "Unlock Test", + "actions": { + "testing": "Testing..." + }, + "empty": "No unlock test items" + } } } diff --git a/src/locales/id.json b/src/locales/id.json index 22e90b11..a08ed09f 100644 --- a/src/locales/id.json +++ b/src/locales/id.json @@ -13,192 +13,6 @@ "Save": "Simpan", "Delete": "Hapus", "Enable": "Aktifkan", - "pages": { - "home": { - "title": "Home", - "tooltips": { - "lightweightMode": "Mode Ringan", - "manual": "Manual", - "settings": "Home Settings" - }, - "cards": { - "trafficStats": "Traffic Stats", - "networkSettings": "Network Settings", - "proxyMode": "Proxy Mode" - }, - "settings": { - "title": "Home Settings", - "cards": { - "profile": "Profile Card", - "currentProxy": "Current Proxy Card", - "network": "Network Settings Card", - "proxyMode": "Proxy Mode Card", - "traffic": "Traffic Stats Card", - "tests": "Website Tests Card", - "ip": "IP Information Card", - "clashInfo": "Clash Info Cards", - "systemInfo": "System Info Cards" - } - } - }, - "proxies": { - "title": { - "default": "Grup Proksi", - "chainMode": "Proxy Chain Mode" - }, - "actions": { - "toggleChain": "🔗 Proxy Rantai", - "connect": "Connect", - "disconnect": "Disconnect", - "connecting": "Connecting...", - "clearChainConfig": "Delete Chain Config" - }, - "provider": { - "title": "Penyedia Proksi", - "actions": { - "updateAll": "Perbarui Semua", - "update": "Perbarui" - } - }, - "rules": { - "title": "Proxy Rules", - "select": "Select Rules" - }, - "labels": { - "proxyCount": "Proxy Count", - "delayCheckReset": "Periksa keterlambatan untuk membatalkan tetap" - }, - "tooltips": { - "locate": "Lokasi", - "delayCheck": "Periksa Keterlambatan", - "sortDefault": "Urutkan secara default", - "sortDelay": "Urutkan berdasarkan keterlambatan", - "sortName": "Urutkan berdasarkan nama", - "delayCheckUrl": "URL Periksa Keterlambatan", - "showBasic": "Dasar Proksi", - "showDetail": "Detail Proksi", - "filter": "Filter" - }, - "placeholders": { - "filter": "Kondisi Filter", - "delayCheckUrl": "URL Periksa Keterlambatan" - }, - "chain": { - "header": "Chain Proxy Config", - "empty": "No proxy chain configured", - "instruction": "Click nodes in order to add to proxy chain", - "minimumNodes": "Chain proxy requires at least 2 nodes", - "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", - "connectFailed": "Failed to connect to proxy chain", - "disconnectFailed": "Failed to disconnect from proxy chain", - "duplicateNode": "Proxy node already exists in chain" - } - }, - "rules": { - "title": "Aturan", - "provider": { - "trigger": "Penyedia Aturan", - "dialogTitle": "Penyedia Aturan", - "actions": { - "updateAll": "Perbarui Semua", - "update": "Perbarui" - } - } - }, - "profiles": { - "title": "Profil", - "actions": { - "updateAll": "Perbarui Semua Profil", - "viewRuntimeConfig": "Lihat Konfigurasi Runtime", - "reactivate": "Reaktivasi Profil", - "import": "Impor", - "new": "Baru" - }, - "batch": { - "title": "Batch Operations", - "delete": "Delete Selected Profiles", - "selectAll": "Select All", - "deselectAll": "Deselect All", - "done": "Done", - "selected": "Selected", - "items": "items" - }, - "import": { - "placeholder": "URL Profil", - "paste": "Tempel", - "clear": "Bersihkan" - }, - "errors": { - "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", - "onlyYaml": "Hanya File YAML yang Didukung" - }, - "notifications": { - "importRetry": "Import failed, retrying with Clash proxy...", - "importFail": "Import failed even with Clash proxy", - "importNeedsRefresh": "Profile imported but may need manual refresh", - "importSuccess": "Profile imported successfully, please restart if not visible", - "profileSwitched": "Profil Beralih", - "profileReactivated": "Profil Diaktifkan Kembali", - "switchInterrupted": "Profile switch interrupted by new selection", - "batchDeleted": "Selected profiles deleted successfully" - }, - "notices": { - "forceRefreshCompleted": "Force refresh completed", - "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" - } - }, - "connections": { - "title": "Koneksi", - "summary": { - "downloaded": "Diunduh", - "uploaded": "Diunggah" - }, - "actions": { - "listView": "Tampilan Daftar", - "tableView": "Tampilan Tabel", - "pause": "Jeda", - "resume": "Lanjut", - "closeAll": "Tutup Semua" - } - }, - "settings": { - "title": "Pengaturan", - "actions": { - "manual": "Manual", - "telegram": "Saluran Telegram", - "github": "Repositori Github" - } - }, - "logs": { - "title": "Log", - "actions": { - "pause": "Jeda", - "resume": "Lanjut", - "clear": "Bersihkan" - }, - "filters": { - "all": "ALL", - "debug": "DEBUG", - "info": "INFO", - "warn": "WARN", - "error": "ERROR" - } - }, - "test": { - "title": "Tes", - "actions": { - "testAll": "Tes Semua", - "new": "Baru" - } - }, - "unlock": { - "title": "Unlock Test", - "actions": { - "testing": "Testing..." - }, - "empty": "No unlock test items" - } - }, "Proxies": "Proksi", "Update At": "Diperbarui Pada", "rule": "aturan", @@ -380,807 +194,6 @@ "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", - "components": { - "ruleEditor": { - "title": "Ubah Aturan", - "form": { - "labels": { - "type": "Jenis Aturan", - "content": "Konten Aturan", - "proxyPolicy": "Kebijakan Proksi" - }, - "toggles": { - "noResolve": "Tidak Menyelesaikan" - }, - "actions": { - "prependRule": "Tambahkan Aturan di Awal", - "appendRule": "Tambahkan Aturan di Akhir" - }, - "validation": { - "conditionRequired": "Kondisi Aturan Diperlukan", - "invalidRule": "Aturan Tidak Valid" - } - } - }, - "profile": { - "viewer": { - "title": { - "create": "Buat Profil", - "edit": "Ubah Profil" - }, - "buttons": { - "save": "Simpan", - "cancel": "Batal" - }, - "fields": { - "type": "Jenis", - "name": "Nama", - "description": "Deskripsi", - "subscriptionUrl": "URL Langganan", - "httpTimeout": "HTTP Request Timeout", - "updateInterval": "Interval Pembaruan", - "useSystemProxy": "Gunakan Proksi Sistem", - "useClashProxy": "Gunakan Proksi Clash", - "acceptInvalidCerts": "Terima Sertifikat Tidak Valid (Bahaya)", - "allowAutoUpdate": "Allow Auto Update" - }, - "notifications": { - "creationRetry": "Profile creation failed, retrying with Clash proxy...", - "creationSuccess": "Profile creation succeeded with Clash proxy" - } - }, - "fileInput": { - "chooseFile": "Pilih Berkas" - }, - "notifications": { - "saved": "Saved successfully" - }, - "proxiesEditor": { - "title": "Ubah Proksi", - "placeholders": { - "multiUri": "Gunakan baris baru untuk beberapa URI (mendukung pengkodean Base64)" - }, - "actions": { - "prepend": "Tambahkan Proksi di Awal", - "append": "Tambahkan Proksi di Akhir" - } - }, - "groupsEditor": { - "title": "Ubah Grup Proksi", - "errors": { - "nameRequired": "Nama Grup Diperlukan", - "nameExists": "Nama Grup Sudah Ada" - }, - "fields": { - "type": "Jenis Grup", - "name": "Nama Grup", - "icon": "Ikon Grup Proksi", - "proxies": "Gunakan Proksi", - "provider": "Gunakan Penyedia", - "healthCheckUrl": "URL Pemeriksaan Kesehatan", - "expectedStatus": "Status yang Diharapkan", - "interval": "Interval", - "timeout": "Waktu Habis", - "maxFailedTimes": "Jumlah Gagal Maksimal", - "interfaceName": "Nama Antarmuka", - "routingMark": "Tanda Routing", - "filter": "Filter", - "excludeFilter": "Kecualikan Filter", - "excludeType": "Kecualikan Jenis", - "includeAll": "Sertakan Semua Proksi dan Penyedia", - "includeAllProxies": "Sertakan Semua Proksi", - "includeAllProviders": "Sertakan Semua Penyedia" - }, - "toggles": { - "lazy": "Malas", - "disableUdp": "Nonaktifkan UDP", - "hidden": "Tersembunyi" - }, - "actions": { - "prepend": "Tambahkan Grup di Awal", - "append": "Tambahkan Grup di Akhir" - } - }, - "menu": { - "home": "Home", - "select": "Pilih", - "editInfo": "Ubah Info", - "editFile": "Ubah Berkas", - "editRules": "Ubah Aturan", - "editProxies": "Ubah Proksi", - "editGroups": "Ubah Grup Proksi", - "extendConfig": "Perluas Konfigurasi", - "extendScript": "Perluas Skrip", - "openFile": "Buka Berkas", - "update": "Perbarui", - "updateViaProxy": "Update via proxy", - "delete": "Hapus" - }, - "item": { - "tooltips": { - "showLast": "Click to show last update time", - "showNext": "Click to show next update" - }, - "status": { - "lastUpdateFailed": "Last Update failed", - "nextUp": "Next Up", - "noSchedule": "No schedule", - "unknown": "Unknown", - "autoUpdateDisabled": "Auto update disabled" - } - }, - "confirm": { - "delete": { - "title": "Konfirmasi penghapusan", - "message": "Operasi ini tidak dapat dibatalkan" - } - }, - "logViewer": { - "title": "Konsol Skrip" - }, - "more": { - "global": { - "merge": "Global Merge", - "script": "Global Script" - }, - "chips": { - "merge": "Merge", - "script": "Script" - } - }, - "editor": { - "format": "Format dokumen", - "readOnlyMessage": "Tidak dapat mengedit di editor hanya baca" - } - }, - "home": { - "proxyTunCard": { - "status": { - "systemProxyEnabled": "System proxy is enabled, your applications will access the network through the proxy", - "systemProxyDisabled": "System proxy is disabled, it is recommended for most users to turn on this option", - "tunModeServiceRequired": "TUN mode requires service mode, please install the service first", - "tunModeEnabled": "TUN mode is enabled, applications will access the network through the virtual network card", - "tunModeDisabled": "TUN mode is disabled, suitable for special applications" - }, - "tooltips": { - "systemProxy": "Aktifkan untuk mengubah pengaturan proksi sistem operasi. Jika pengaktifan gagal, ubah pengaturan proksi sistem operasi secara manual", - "tunMode": "TUN mode can take over all application traffic, suitable for special applications that do not follow the system proxy settings" - } - }, - "clashInfo": { - "title": "Clash Info", - "fields": { - "coreVersion": "Core Version", - "systemProxyAddress": "System Proxy Address", - "mixedPort": "Mixed Port", - "uptime": "Uptime", - "rulesCount": "Rules Count" - } - }, - "systemInfo": { - "title": "System Info", - "fields": { - "osInfo": "OS Info", - "autoLaunch": "Peluncuran Otomatis", - "runningMode": "Running Mode", - "lastCheckUpdate": "Last Check Update", - "vergeVersion": "Versi Verge" - }, - "actions": { - "settings": "Pengaturan" - }, - "labels": { - "enabled": "Diaktifkan", - "disabled": "Dinonaktifkan" - }, - "tooltips": { - "autoLaunchAdmin": "Administrator mode may not support auto launch" - }, - "badges": { - "adminMode": "Administrator Mode", - "serviceMode": "Mode Layanan", - "sidecarMode": "User Mode", - "adminServiceMode": "Admin + Service Mode" - } - }, - "ipInfo": { - "title": "IP Information", - "errors": { - "load": "Failed to get IP info" - }, - "labels": { - "retry": "Retry", - "ip": "IP", - "asn": "ASN", - "isp": "ISP", - "org": "ORG", - "location": "Location", - "timezone": "Timezone", - "autoRefresh": "Auto refresh", - "unknown": "Unknown" - } - }, - "traffic": { - "metrics": { - "uploadSpeed": "Kecepatan Unggah", - "downloadSpeed": "Kecepatan Unduh", - "activeConnections": "Active Connections", - "uploaded": "Diunggah", - "downloaded": "Diunduh", - "memoryUsage": "Penggunaan Memori" - }, - "legends": { - "upload": "Upload", - "download": "Download" - }, - "patterns": { - "minutes": "{{time}} Minutes" - } - }, - "currentProxy": { - "title": "Current Node", - "actions": { - "refreshDelay": "Periksa Keterlambatan" - }, - "labels": { - "globalMode": "Mode Global", - "directMode": "Mode Langsung", - "group": "Group", - "proxy": "Proxy", - "noActiveNode": "No active proxy node" - } - }, - "profile": { - "title": "Profil", - "actions": { - "import": "Impor" - }, - "labels": { - "from": "Dari", - "updateTime": "Waktu Pembaruan", - "usedTotal": "Digunakan / Total", - "expireTime": "Waktu Kedaluwarsa", - "clickToImport": "Click to import subscription" - } - } - }, - "connection": { - "fields": { - "host": "Host", - "downloaded": "Diunduh", - "uploaded": "Diunggah", - "dlSpeed": "Kecepatan Unduh", - "ulSpeed": "Kecepatan Unggah", - "chains": "Rantai", - "rule": "Aturan", - "process": "Proses", - "time": "Waktu", - "source": "Sumber", - "destination": "IP Tujuan", - "destinationPort": "Port Tujuan", - "type": "Jenis" - }, - "actions": { - "closeConnection": "Tutup Koneksi" - }, - "order": { - "default": "Default", - "uploadSpeed": "Kecepatan Unggah", - "downloadSpeed": "Kecepatan Unduh" - } - }, - "settings": { - "system": { - "title": "Pengaturan Sistem", - "toggles": { - "tunMode": "Mode Tun (NIC Virtual)", - "systemProxy": "Proksi Sistem" - }, - "labels": { - "autoLaunch": "Peluncuran Otomatis", - "silentStart": "Mulai Senyap" - }, - "tooltips": { - "autoLaunchAdmin": "Administrator mode may not support auto launch", - "silentStart": "Mulai program dalam mode latar belakang tanpa menampilkan panel" - } - }, - "proxyControl": { - "labels": { - "systemProxy": "Proksi Sistem", - "tunMode": "Mode Tun (NIC Virtual)" - }, - "tooltips": { - "systemProxy": "Aktifkan untuk mengubah pengaturan proksi sistem operasi. Jika pengaktifan gagal, ubah pengaturan proksi sistem operasi secara manual", - "tunMode": "Mode Tun (NIC Virtual): Menangkap semua lalu lintas sistem, saat diaktifkan, tidak perlu mengaktifkan proksi sistem.", - "tunUnavailable": "TUN requires Service Mode or Admin Mode" - }, - "actions": { - "installService": "Instal Layanan", - "uninstallService": "Uninstall Service" - } - }, - "externalController": { - "title": "Alamat Pengendali Eksternal", - "fields": { - "enable": "Enable External Controller", - "address": "Alamat Pengendali Eksternal", - "secret": "Rahasia Inti" - }, - "placeholders": { - "address": "Required", - "secret": "Direkomendasikan" - }, - "tooltips": { - "copy": "Copy to clipboard" - }, - "messages": { - "addressRequired": "Controller address cannot be empty", - "secretRequired": "Secret cannot be empty", - "copyFailed": "Failed to copy", - "controllerCopied": "Controller address copied to clipboard", - "secretCopied": "Secret copied to clipboard" - } - }, - "externalCors": { - "title": "External Cors Configuration", - "fields": { - "allowPrivateNetwork": "Allow private network access", - "allowedOrigins": "Allowed Origins" - }, - "placeholders": { - "origin": "Please enter a valid url" - }, - "actions": { - "add": "Add" - }, - "messages": { - "alwaysIncluded": "Always included origins: {{urls}}" - }, - "tooltips": { - "open": "External Cors Settings" - } - }, - "clash": { - "title": "Pengaturan Clash", - "items": { - "allowLan": "Izinkan LAN", - "dnsOverwrite": "DNS Overwrite", - "ipv6": "IPv6", - "unifiedDelay": "Keterlambatan Terpadu", - "logLevel": "Tingkat Log", - "portConfig": "Konfigurasi Port", - "external": "Eksternal", - "webUI": "Antarmuka Web", - "clashCore": "Inti Clash", - "openUwpTool": "Buka alat UWP", - "updateGeoData": "Perbarui GeoData" - }, - "tooltips": { - "networkInterface": "Antarmuka Jaringan", - "unifiedDelay": "Saat keterlambatan terpadu diaktifkan, dua tes keterlambatan akan dilakukan untuk menghilangkan perbedaan keterlambatan antara berbagai jenis node yang disebabkan oleh jabat tangan koneksi, dll.", - "logLevel": "Ini hanya berlaku untuk file log kernel di folder layanan di direktori log.", - "openUwpTool": "Sejak Windows 8, aplikasi UWP (seperti Microsoft Store) dibatasi dari mengakses layanan jaringan host lokal secara langsung, dan alat ini dapat digunakan untuk melewati pembatasan ini" - }, - "options": { - "logLevel": { - "debug": "Debug", - "info": "Info", - "warning": "Warn", - "error": "Error", - "silent": "Silent" - } - }, - "messages": { - "geoDataUpdated": "GeoData Diperbarui" - }, - "port": { - "title": "Konfigurasi Port", - "fields": { - "mixed": "Port Campuran", - "socks": "Port Socks", - "http": "Port Http(s)", - "redir": "Port Redir", - "tproxy": "Port Tproxy" - }, - "actions": { - "random": "Port Acak" - }, - "messages": { - "saved": "Port settings saved", - "saveFailed": "Failed to save port settings" - } - } - }, - "liteMode": { - "title": "LightWeight Mode Settings", - "actions": { - "enterNow": "Enter LightWeight Mode Now" - }, - "toggles": { - "autoEnter": "Auto Enter LightWeight Mode" - }, - "tooltips": { - "autoEnter": "Enable to automatically activate LightWeight Mode after the window is closed for a period of time" - }, - "fields": { - "delay": "Auto Enter LightWeight Mode Delay" - }, - "messages": { - "autoEnterHint": "When closing the window, LightWeight Mode will be automatically activated after {{n}} minutes" - } - }, - "backup": { - "title": "Pengaturan Cadangan", - "tabs": { - "local": "Local backup", - "webdav": "WebDAV backup" - }, - "actions": { - "selectTarget": "Select backup target", - "backup": "Cadangan", - "refresh": "Segarkan", - "save": "Simpan", - "export": "Export", - "exportBackup": "Export Backup", - "delete": "Hapus", - "deleteBackup": "Hapus Cadangan", - "restore": "Pulihkan", - "restoreBackup": "Pulihkan Cadangan" - }, - "fields": { - "webdavUrl": "URL Server WebDAV", - "username": "Nama Pengguna", - "password": "Kata Sandi", - "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." - }, - "messages": { - "webdavUrlRequired": "URL WebDAV tidak boleh kosong", - "invalidWebdavUrl": "Format URL WebDAV tidak valid", - "usernameRequired": "Nama pengguna tidak boleh kosong", - "passwordRequired": "Kata sandi tidak boleh kosong", - "webdavConfigSaved": "Konfigurasi WebDAV berhasil disimpan", - "webdavConfigSaveFailed": "Gagal menyimpan konfigurasi WebDAV: {{error}}", - "backupCreated": "Cadangan berhasil dibuat", - "backupFailed": "Cadangan gagal: {{error}}", - "localBackupCreated": "Local backup created successfully", - "localBackupFailed": "Local backup failed", - "restoreSuccess": "Pemulihan Berhasil, Aplikasi akan dimulai ulang dalam 1 detik", - "localBackupExported": "Local backup exported successfully", - "localBackupExportFailed": "Failed to export local backup", - "confirmDelete": "Konfirmasi untuk menghapus file cadangan ini?", - "confirmRestore": "Konfirmasi untuk memulihkan file cadangan ini?" - }, - "table": { - "filename": "Nama Berkas", - "backupTime": "Waktu Cadangan", - "actions": "Tindakan", - "noBackups": "Tidak ada cadangan yang tersedia", - "rowsPerPage": "Rows per page" - } - }, - "verge": { - "basic": { - "title": "Pengaturan Dasar Verge", - "items": { - "language": "Bahasa", - "themeMode": "Mode Tema", - "trayClickEvent": "Acara Klik Tray", - "copyEnvType": "Salin Jenis Env", - "startPage": "Halaman Mulai", - "startupScript": "Skrip Startup", - "themeSetting": "Pengaturan Tema", - "layoutSetting": "Pengaturan Tata Letak", - "misc": "Lain-lain", - "hotkeySetting": "Pengaturan Pintasan" - }, - "actions": { - "browse": "Jelajahi", - "clear": "Bersihkan" - }, - "trayOptions": { - "showMainWindow": "Tampilkan Jendela Utama", - "showTrayMenu": "Show Tray Menu", - "disable": "Nonaktifkan" - } - }, - "advanced": { - "title": "Pengaturan Lanjutan Verge", - "items": { - "backupSetting": "Pengaturan Cadangan", - "runtimeConfig": "Konfigurasi Runtime", - "openConfDir": "Buka Direktori Konfigurasi", - "openCoreDir": "Buka Direktori Core", - "openLogsDir": "Buka Direktori Log", - "checkUpdates": "Periksa Pembaruan", - "openDevTools": "Buka Alat Pengembang", - "liteModeSettings": "LightWeight Mode Settings", - "exit": "Keluar", - "exportDiagnostics": "Export Diagnostic Info", - "vergeVersion": "Versi Verge" - }, - "tooltips": { - "backupInfo": "Mendukung file konfigurasi cadangan WebDAV", - "openConfDir": "Jika perangkat lunak berjalan tidak normal, CADANGKAN dan hapus semua file di folder ini lalu mulai ulang perangkat lunak", - "liteMode": "Tutup GUI dan biarkan hanya kernel yang berjalan" - }, - "actions": { - "copyVersion": "Copy Version" - }, - "notifications": { - "latestVersion": "Saat ini pada Versi Terbaru", - "versionCopied": "Version copied to clipboard" - } - }, - "theme": { - "title": "Pengaturan Tema", - "fields": { - "primaryColor": "Warna Utama", - "secondaryColor": "Warna Sekunder", - "primaryText": "Teks Utama", - "secondaryText": "Teks Sekunder", - "infoColor": "Warna Info", - "warningColor": "Warna Peringatan", - "errorColor": "Warna Kesalahan", - "successColor": "Warna Keberhasilan", - "fontFamily": "Keluarga Font", - "cssInjection": "Injeksi CSS" - }, - "actions": { - "editCss": "Edit CSS" - }, - "dialogs": { - "editCssTitle": "Edit CSS" - } - }, - "layout": { - "title": "Pengaturan Tata Letak", - "fields": { - "preferSystemTitlebar": "Prefer System Titlebar", - "trafficGraph": "Grafik Lalu Lintas", - "memoryUsage": "Penggunaan Memori", - "proxyGroupIcon": "Ikon Grup Proksi", - "hoverNavigator": "Hover Jump Navigator", - "hoverNavigatorDelay": "Hover Jump Navigator Delay", - "navIcon": "Ikon Navigasi", - "trayIcon": "Ikon Tray", - "showProxyGroupsInline": "Show Proxy Groups Inline", - "commonTrayIcon": "Ikon Tray Umum", - "systemProxyTrayIcon": "Ikon Tray Proksi Sistem", - "tunTrayIcon": "Ikon Tray Tun" - }, - "tooltips": { - "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", - "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" - }, - "options": { - "icon": { - "monochrome": "Monokrom", - "colorful": "Berwarna", - "disable": "Nonaktifkan" - } - } - } - }, - "common": { - "notifications": { - "copySuccess": "Salin Berhasil" - } - }, - "misc": { - "title": "Lain-lain", - "fields": { - "appLogLevel": "Tingkat Log Aplikasi", - "appLogMaxSize": "App Log Max Size", - "appLogMaxCount": "App Log Max Count", - "autoCloseConnections": "Tutup Koneksi Otomatis", - "autoCheckUpdate": "Periksa Pembaruan Otomatis", - "enableBuiltinEnhanced": "Aktifkan Peningkatan Bawaan", - "proxyLayoutColumns": "Kolom Tata Letak Proksi", - "autoLogClean": "Pembersihan Log Otomatis", - "autoDelayDetection": "Deteksi Latensi Otomatis", - "defaultLatencyTest": "Tes Latensi Default", - "defaultLatencyTimeout": "Waktu Habis Latensi Default" - }, - "tooltips": { - "autoCloseConnections": "Hentikan koneksi yang sudah ada saat pemilihan grup proksi atau mode proksi berubah", - "enableBuiltinEnhanced": "Penanganan kompatibilitas untuk file konfigurasi", - "autoDelayDetection": "Secara berkala menguji latensi node saat ini di latar belakang", - "defaultLatencyTest": "Digunakan hanya untuk pengujian permintaan klien HTTP dan tidak akan mempengaruhi file konfigurasi" - }, - "options": { - "proxyLayoutColumns": { - "auto": "Kolom Otomatis" - }, - "autoLogClean": { - "never": "Jangan Pernah Bersihkan", - "retainDays": "Simpan {{n}} Hari" - } - } - }, - "update": { - "title": "New Version v{{version}}", - "actions": { - "goToRelease": "Pergi ke Halaman Rilis", - "update": "Perbarui" - }, - "messages": { - "portableError": "Versi portabel tidak mendukung pembaruan dalam aplikasi. Harap unduh dan ganti secara manual", - "breakChangeError": "Versi ini adalah pembaruan besar dan tidak mendukung pembaruan dalam aplikasi. Harap hapus instalasi dan unduh serta instal versi baru secara manual" - } - }, - "sysproxy": { - "title": "Pengaturan Proksi Sistem", - "fieldsets": { - "currentStatus": "Proksi Sistem Saat Ini" - }, - "fields": { - "enableStatus": "Status Pengaktifan:", - "serverAddr": "Alamat Server: ", - "pacUrl": "URL PAC: ", - "proxyHost": "Host Proksi", - "usePacMode": "Gunakan Mode PAC", - "proxyGuard": "Penjaga Proksi", - "guardDuration": "Durasi Penjagaan", - "alwaysUseDefaultBypass": "Selalu gunakan Bypass Default", - "proxyBypass": "Pengaturan Bypass Proksi: ", - "bypass": "Bypass: ", - "pacScriptContent": "Konten Skrip PAC" - }, - "tooltips": { - "proxyGuard": "Aktifkan untuk mencegah perangkat lunak lain mengubah pengaturan proksi sistem operasi" - }, - "messages": { - "durationTooShort": "Durasi Daemon Proksi Tidak Boleh Kurang dari 1 Detik", - "invalidBypass": "Format Bypass Tidak Valid", - "invalidProxyHost": "Format Host Proksi Tidak Valid" - }, - "actions": { - "editPac": "Ubah PAC" - } - }, - "tun": { - "title": "Mode Tun (NIC Virtual)", - "actions": { - "reset": "Setel Ulang ke Default" - }, - "fields": { - "stack": "Tumpukan Tun", - "device": "Device Name", - "autoRoute": "Rute Otomatis", - "strictRoute": "Rute Ketat", - "autoDetectInterface": "Deteksi Antarmuka Otomatis", - "dnsHijack": "Pembajakan DNS", - "mtu": "Unit Transmisi Maksimum" - }, - "tooltips": { - "dnsHijack": "Please use , to separate multiple DNS servers" - }, - "messages": { - "applied": "Pengaturan Diterapkan" - } - }, - "dns": { - "dialog": { - "title": "DNS Overwrite", - "warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled" - }, - "sections": { - "general": "DNS Settings", - "fallbackFilter": "Fallback Filter Settings", - "hosts": "Hosts Settings" - }, - "fields": { - "enable": "Enable DNS", - "listen": "DNS Listen", - "enhancedMode": "Enhanced Mode", - "fakeIpRange": "Fake IP Range", - "fakeIpFilterMode": "Fake IP Filter Mode", - "ipv6": { - "label": "IPv6", - "description": "Enable IPv6 DNS resolution" - }, - "preferH3": { - "label": "Prefer H3", - "description": "DNS DOH uses HTTP/3" - }, - "respectRules": { - "label": "Respect Rules", - "description": "DNS connections follow routing rules" - }, - "useHosts": { - "label": "Use Hosts", - "description": "Enable to resolve hosts through hosts file" - }, - "useSystemHosts": { - "label": "Use System Hosts", - "description": "Enable to resolve hosts through system hosts file" - }, - "directPolicy": { - "label": "Direct Nameserver Follow Policy", - "description": "Whether to follow nameserver policy" - }, - "defaultNameserver": { - "label": "Default Nameserver", - "description": "Default DNS servers used to resolve DNS servers" - }, - "nameserver": { - "label": "Nameserver", - "description": "List of DNS servers, comma separated" - }, - "fallback": { - "label": "Fallback", - "description": "List of fallback DNS servers, comma separated" - }, - "proxy": { - "label": "Proxy Server Nameserver", - "description": "DNS servers for proxy node domain resolution" - }, - "directNameserver": { - "label": "Direct Nameserver", - "description": "DNS servers for direct exit domain resolution, supports 'system' keyword, comma separated" - }, - "fakeIpFilter": { - "label": "Fake IP Filter", - "description": "Domains that skip fake IP resolution, comma separated" - }, - "nameserverPolicy": { - "label": "Nameserver Policy", - "description": "Domain-specific DNS server, multiple servers separated by semicolons, format: domain=server1;server2" - }, - "geoipFiltering": { - "label": "GeoIP Filtering", - "description": "Enable GeoIP filtering for fallback" - }, - "geoipCode": "GeoIP Code", - "fallbackIpCidr": { - "label": "Fallback IP CIDR", - "description": "IP CIDRs not using fallback servers, comma separated" - }, - "fallbackDomain": { - "label": "Fallback Domain", - "description": "Domains using fallback servers, comma separated" - }, - "hosts": { - "label": "Hosts", - "description": "Custom domain to IP or domain mapping" - } - }, - "messages": { - "saved": "DNS settings saved", - "configError": "DNS configuration error:" - }, - "errors": { - "invalid": "Invalid configuration" - } - } - }, - "providers": { - "notices": { - "updateSuccess": "{{name}} updated successfully", - "updateFailed": "Failed to update {{name}}: {{message}}", - "genericError": "Update failed: {{message}}", - "none": "No providers available to update", - "allUpdated": "All providers updated successfully" - } - }, - "test": { - "item": { - "actions": { - "test": "Tes" - } - }, - "viewer": { - "title": { - "create": "Buat Tes", - "edit": "Ubah Tes" - }, - "fields": { - "url": "URL Tes" - } - } - } - }, "common": { "editorModes": { "visualization": "Visualisasi", @@ -1207,5 +220,1000 @@ "unlock": "Unlock menu order", "lock": "Lock menu order" } + }, + "ruleEditor": { + "title": "Ubah Aturan", + "form": { + "labels": { + "type": "Jenis Aturan", + "content": "Konten Aturan", + "proxyPolicy": "Kebijakan Proksi" + }, + "toggles": { + "noResolve": "Tidak Menyelesaikan" + }, + "actions": { + "prependRule": "Tambahkan Aturan di Awal", + "appendRule": "Tambahkan Aturan di Akhir" + }, + "validation": { + "conditionRequired": "Kondisi Aturan Diperlukan", + "invalidRule": "Aturan Tidak Valid" + } + } + }, + "profile": { + "viewer": { + "title": { + "create": "Buat Profil", + "edit": "Ubah Profil" + }, + "buttons": { + "save": "Simpan", + "cancel": "Batal" + }, + "fields": { + "type": "Jenis", + "name": "Nama", + "description": "Deskripsi", + "subscriptionUrl": "URL Langganan", + "httpTimeout": "HTTP Request Timeout", + "updateInterval": "Interval Pembaruan", + "useSystemProxy": "Gunakan Proksi Sistem", + "useClashProxy": "Gunakan Proksi Clash", + "acceptInvalidCerts": "Terima Sertifikat Tidak Valid (Bahaya)", + "allowAutoUpdate": "Allow Auto Update" + }, + "notifications": { + "creationRetry": "Profile creation failed, retrying with Clash proxy...", + "creationSuccess": "Profile creation succeeded with Clash proxy" + } + }, + "fileInput": { + "chooseFile": "Pilih Berkas" + }, + "notifications": { + "saved": "Saved successfully" + }, + "proxiesEditor": { + "title": "Ubah Proksi", + "placeholders": { + "multiUri": "Gunakan baris baru untuk beberapa URI (mendukung pengkodean Base64)" + }, + "actions": { + "prepend": "Tambahkan Proksi di Awal", + "append": "Tambahkan Proksi di Akhir" + } + }, + "groupsEditor": { + "title": "Ubah Grup Proksi", + "errors": { + "nameRequired": "Nama Grup Diperlukan", + "nameExists": "Nama Grup Sudah Ada" + }, + "fields": { + "type": "Jenis Grup", + "name": "Nama Grup", + "icon": "Ikon Grup Proksi", + "proxies": "Gunakan Proksi", + "provider": "Gunakan Penyedia", + "healthCheckUrl": "URL Pemeriksaan Kesehatan", + "expectedStatus": "Status yang Diharapkan", + "interval": "Interval", + "timeout": "Waktu Habis", + "maxFailedTimes": "Jumlah Gagal Maksimal", + "interfaceName": "Nama Antarmuka", + "routingMark": "Tanda Routing", + "filter": "Filter", + "excludeFilter": "Kecualikan Filter", + "excludeType": "Kecualikan Jenis", + "includeAll": "Sertakan Semua Proksi dan Penyedia", + "includeAllProxies": "Sertakan Semua Proksi", + "includeAllProviders": "Sertakan Semua Penyedia" + }, + "toggles": { + "lazy": "Malas", + "disableUdp": "Nonaktifkan UDP", + "hidden": "Tersembunyi" + }, + "actions": { + "prepend": "Tambahkan Grup di Awal", + "append": "Tambahkan Grup di Akhir" + } + }, + "menu": { + "home": "Home", + "select": "Pilih", + "editInfo": "Ubah Info", + "editFile": "Ubah Berkas", + "editRules": "Ubah Aturan", + "editProxies": "Ubah Proksi", + "editGroups": "Ubah Grup Proksi", + "extendConfig": "Perluas Konfigurasi", + "extendScript": "Perluas Skrip", + "openFile": "Buka Berkas", + "update": "Perbarui", + "updateViaProxy": "Update via proxy", + "delete": "Hapus" + }, + "item": { + "tooltips": { + "showLast": "Click to show last update time", + "showNext": "Click to show next update" + }, + "status": { + "lastUpdateFailed": "Last Update failed", + "nextUp": "Next Up", + "noSchedule": "No schedule", + "unknown": "Unknown", + "autoUpdateDisabled": "Auto update disabled" + } + }, + "confirm": { + "delete": { + "title": "Konfirmasi penghapusan", + "message": "Operasi ini tidak dapat dibatalkan" + } + }, + "logViewer": { + "title": "Konsol Skrip" + }, + "more": { + "global": { + "merge": "Global Merge", + "script": "Global Script" + }, + "chips": { + "merge": "Merge", + "script": "Script" + } + }, + "editor": { + "format": "Format dokumen", + "readOnlyMessage": "Tidak dapat mengedit di editor hanya baca" + } + }, + "home": { + "proxyTunCard": { + "status": { + "systemProxyEnabled": "System proxy is enabled, your applications will access the network through the proxy", + "systemProxyDisabled": "System proxy is disabled, it is recommended for most users to turn on this option", + "tunModeServiceRequired": "TUN mode requires service mode, please install the service first", + "tunModeEnabled": "TUN mode is enabled, applications will access the network through the virtual network card", + "tunModeDisabled": "TUN mode is disabled, suitable for special applications" + }, + "tooltips": { + "systemProxy": "Aktifkan untuk mengubah pengaturan proksi sistem operasi. Jika pengaktifan gagal, ubah pengaturan proksi sistem operasi secara manual", + "tunMode": "TUN mode can take over all application traffic, suitable for special applications that do not follow the system proxy settings" + } + }, + "clashInfo": { + "title": "Clash Info", + "fields": { + "coreVersion": "Core Version", + "systemProxyAddress": "System Proxy Address", + "mixedPort": "Mixed Port", + "uptime": "Uptime", + "rulesCount": "Rules Count" + } + }, + "systemInfo": { + "title": "System Info", + "fields": { + "osInfo": "OS Info", + "autoLaunch": "Peluncuran Otomatis", + "runningMode": "Running Mode", + "lastCheckUpdate": "Last Check Update", + "vergeVersion": "Versi Verge" + }, + "actions": { + "settings": "Pengaturan" + }, + "labels": { + "enabled": "Diaktifkan", + "disabled": "Dinonaktifkan" + }, + "tooltips": { + "autoLaunchAdmin": "Administrator mode may not support auto launch" + }, + "badges": { + "adminMode": "Administrator Mode", + "serviceMode": "Mode Layanan", + "sidecarMode": "User Mode", + "adminServiceMode": "Admin + Service Mode" + } + }, + "ipInfo": { + "title": "IP Information", + "errors": { + "load": "Failed to get IP info" + }, + "labels": { + "retry": "Retry", + "ip": "IP", + "asn": "ASN", + "isp": "ISP", + "org": "ORG", + "location": "Location", + "timezone": "Timezone", + "autoRefresh": "Auto refresh", + "unknown": "Unknown" + } + }, + "traffic": { + "metrics": { + "uploadSpeed": "Kecepatan Unggah", + "downloadSpeed": "Kecepatan Unduh", + "activeConnections": "Active Connections", + "uploaded": "Diunggah", + "downloaded": "Diunduh", + "memoryUsage": "Penggunaan Memori" + }, + "legends": { + "upload": "Upload", + "download": "Download" + }, + "patterns": { + "minutes": "{{time}} Minutes" + } + }, + "currentProxy": { + "title": "Current Node", + "actions": { + "refreshDelay": "Periksa Keterlambatan" + }, + "labels": { + "globalMode": "Mode Global", + "directMode": "Mode Langsung", + "group": "Group", + "proxy": "Proxy", + "noActiveNode": "No active proxy node" + } + }, + "profile": { + "title": "Profil", + "actions": { + "import": "Impor" + }, + "labels": { + "from": "Dari", + "updateTime": "Waktu Pembaruan", + "usedTotal": "Digunakan / Total", + "expireTime": "Waktu Kedaluwarsa", + "clickToImport": "Click to import subscription" + } + }, + "page": { + "title": "Home", + "tooltips": { + "lightweightMode": "Mode Ringan", + "manual": "Manual", + "settings": "Home Settings" + }, + "cards": { + "trafficStats": "Traffic Stats", + "networkSettings": "Network Settings", + "proxyMode": "Proxy Mode" + }, + "settings": { + "title": "Home Settings", + "cards": { + "profile": "Profile Card", + "currentProxy": "Current Proxy Card", + "network": "Network Settings Card", + "proxyMode": "Proxy Mode Card", + "traffic": "Traffic Stats Card", + "tests": "Website Tests Card", + "ip": "IP Information Card", + "clashInfo": "Clash Info Cards", + "systemInfo": "System Info Cards" + } + } + } + }, + "connection": { + "fields": { + "host": "Host", + "downloaded": "Diunduh", + "uploaded": "Diunggah", + "dlSpeed": "Kecepatan Unduh", + "ulSpeed": "Kecepatan Unggah", + "chains": "Rantai", + "rule": "Aturan", + "process": "Proses", + "time": "Waktu", + "source": "Sumber", + "destination": "IP Tujuan", + "destinationPort": "Port Tujuan", + "type": "Jenis" + }, + "actions": { + "closeConnection": "Tutup Koneksi" + }, + "order": { + "default": "Default", + "uploadSpeed": "Kecepatan Unggah", + "downloadSpeed": "Kecepatan Unduh" + } + }, + "settings": { + "system": { + "title": "Pengaturan Sistem", + "toggles": { + "tunMode": "Mode Tun (NIC Virtual)", + "systemProxy": "Proksi Sistem" + }, + "labels": { + "autoLaunch": "Peluncuran Otomatis", + "silentStart": "Mulai Senyap" + }, + "tooltips": { + "autoLaunchAdmin": "Administrator mode may not support auto launch", + "silentStart": "Mulai program dalam mode latar belakang tanpa menampilkan panel" + } + }, + "proxyControl": { + "labels": { + "systemProxy": "Proksi Sistem", + "tunMode": "Mode Tun (NIC Virtual)" + }, + "tooltips": { + "systemProxy": "Aktifkan untuk mengubah pengaturan proksi sistem operasi. Jika pengaktifan gagal, ubah pengaturan proksi sistem operasi secara manual", + "tunMode": "Mode Tun (NIC Virtual): Menangkap semua lalu lintas sistem, saat diaktifkan, tidak perlu mengaktifkan proksi sistem.", + "tunUnavailable": "TUN requires Service Mode or Admin Mode" + }, + "actions": { + "installService": "Instal Layanan", + "uninstallService": "Uninstall Service" + } + }, + "externalController": { + "title": "Alamat Pengendali Eksternal", + "fields": { + "enable": "Enable External Controller", + "address": "Alamat Pengendali Eksternal", + "secret": "Rahasia Inti" + }, + "placeholders": { + "address": "Required", + "secret": "Direkomendasikan" + }, + "tooltips": { + "copy": "Copy to clipboard" + }, + "messages": { + "addressRequired": "Controller address cannot be empty", + "secretRequired": "Secret cannot be empty", + "copyFailed": "Failed to copy", + "controllerCopied": "Controller address copied to clipboard", + "secretCopied": "Secret copied to clipboard" + } + }, + "externalCors": { + "title": "External Cors Configuration", + "fields": { + "allowPrivateNetwork": "Allow private network access", + "allowedOrigins": "Allowed Origins" + }, + "placeholders": { + "origin": "Please enter a valid url" + }, + "actions": { + "add": "Add" + }, + "messages": { + "alwaysIncluded": "Always included origins: {{urls}}" + }, + "tooltips": { + "open": "External Cors Settings" + } + }, + "clash": { + "title": "Pengaturan Clash", + "items": { + "allowLan": "Izinkan LAN", + "dnsOverwrite": "DNS Overwrite", + "ipv6": "IPv6", + "unifiedDelay": "Keterlambatan Terpadu", + "logLevel": "Tingkat Log", + "portConfig": "Konfigurasi Port", + "external": "Eksternal", + "webUI": "Antarmuka Web", + "clashCore": "Inti Clash", + "openUwpTool": "Buka alat UWP", + "updateGeoData": "Perbarui GeoData" + }, + "tooltips": { + "networkInterface": "Antarmuka Jaringan", + "unifiedDelay": "Saat keterlambatan terpadu diaktifkan, dua tes keterlambatan akan dilakukan untuk menghilangkan perbedaan keterlambatan antara berbagai jenis node yang disebabkan oleh jabat tangan koneksi, dll.", + "logLevel": "Ini hanya berlaku untuk file log kernel di folder layanan di direktori log.", + "openUwpTool": "Sejak Windows 8, aplikasi UWP (seperti Microsoft Store) dibatasi dari mengakses layanan jaringan host lokal secara langsung, dan alat ini dapat digunakan untuk melewati pembatasan ini" + }, + "options": { + "logLevel": { + "debug": "Debug", + "info": "Info", + "warning": "Warn", + "error": "Error", + "silent": "Silent" + } + }, + "messages": { + "geoDataUpdated": "GeoData Diperbarui" + }, + "port": { + "title": "Konfigurasi Port", + "fields": { + "mixed": "Port Campuran", + "socks": "Port Socks", + "http": "Port Http(s)", + "redir": "Port Redir", + "tproxy": "Port Tproxy" + }, + "actions": { + "random": "Port Acak" + }, + "messages": { + "saved": "Port settings saved", + "saveFailed": "Failed to save port settings" + } + } + }, + "liteMode": { + "title": "LightWeight Mode Settings", + "actions": { + "enterNow": "Enter LightWeight Mode Now" + }, + "toggles": { + "autoEnter": "Auto Enter LightWeight Mode" + }, + "tooltips": { + "autoEnter": "Enable to automatically activate LightWeight Mode after the window is closed for a period of time" + }, + "fields": { + "delay": "Auto Enter LightWeight Mode Delay" + }, + "messages": { + "autoEnterHint": "When closing the window, LightWeight Mode will be automatically activated after {{n}} minutes" + } + }, + "backup": { + "title": "Pengaturan Cadangan", + "tabs": { + "local": "Local backup", + "webdav": "WebDAV backup" + }, + "actions": { + "selectTarget": "Select backup target", + "backup": "Cadangan", + "refresh": "Segarkan", + "save": "Simpan", + "export": "Export", + "exportBackup": "Export Backup", + "delete": "Hapus", + "deleteBackup": "Hapus Cadangan", + "restore": "Pulihkan", + "restoreBackup": "Pulihkan Cadangan" + }, + "fields": { + "webdavUrl": "URL Server WebDAV", + "username": "Nama Pengguna", + "password": "Kata Sandi", + "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." + }, + "messages": { + "webdavUrlRequired": "URL WebDAV tidak boleh kosong", + "invalidWebdavUrl": "Format URL WebDAV tidak valid", + "usernameRequired": "Nama pengguna tidak boleh kosong", + "passwordRequired": "Kata sandi tidak boleh kosong", + "webdavConfigSaved": "Konfigurasi WebDAV berhasil disimpan", + "webdavConfigSaveFailed": "Gagal menyimpan konfigurasi WebDAV: {{error}}", + "backupCreated": "Cadangan berhasil dibuat", + "backupFailed": "Cadangan gagal: {{error}}", + "localBackupCreated": "Local backup created successfully", + "localBackupFailed": "Local backup failed", + "restoreSuccess": "Pemulihan Berhasil, Aplikasi akan dimulai ulang dalam 1 detik", + "localBackupExported": "Local backup exported successfully", + "localBackupExportFailed": "Failed to export local backup", + "confirmDelete": "Konfirmasi untuk menghapus file cadangan ini?", + "confirmRestore": "Konfirmasi untuk memulihkan file cadangan ini?" + }, + "table": { + "filename": "Nama Berkas", + "backupTime": "Waktu Cadangan", + "actions": "Tindakan", + "noBackups": "Tidak ada cadangan yang tersedia", + "rowsPerPage": "Rows per page" + } + }, + "verge": { + "basic": { + "title": "Pengaturan Dasar Verge", + "items": { + "language": "Bahasa", + "themeMode": "Mode Tema", + "trayClickEvent": "Acara Klik Tray", + "copyEnvType": "Salin Jenis Env", + "startPage": "Halaman Mulai", + "startupScript": "Skrip Startup", + "themeSetting": "Pengaturan Tema", + "layoutSetting": "Pengaturan Tata Letak", + "misc": "Lain-lain", + "hotkeySetting": "Pengaturan Pintasan" + }, + "actions": { + "browse": "Jelajahi", + "clear": "Bersihkan" + }, + "trayOptions": { + "showMainWindow": "Tampilkan Jendela Utama", + "showTrayMenu": "Show Tray Menu", + "disable": "Nonaktifkan" + } + }, + "advanced": { + "title": "Pengaturan Lanjutan Verge", + "items": { + "backupSetting": "Pengaturan Cadangan", + "runtimeConfig": "Konfigurasi Runtime", + "openConfDir": "Buka Direktori Konfigurasi", + "openCoreDir": "Buka Direktori Core", + "openLogsDir": "Buka Direktori Log", + "checkUpdates": "Periksa Pembaruan", + "openDevTools": "Buka Alat Pengembang", + "liteModeSettings": "LightWeight Mode Settings", + "exit": "Keluar", + "exportDiagnostics": "Export Diagnostic Info", + "vergeVersion": "Versi Verge" + }, + "tooltips": { + "backupInfo": "Mendukung file konfigurasi cadangan WebDAV", + "openConfDir": "Jika perangkat lunak berjalan tidak normal, CADANGKAN dan hapus semua file di folder ini lalu mulai ulang perangkat lunak", + "liteMode": "Tutup GUI dan biarkan hanya kernel yang berjalan" + }, + "actions": { + "copyVersion": "Copy Version" + }, + "notifications": { + "latestVersion": "Saat ini pada Versi Terbaru", + "versionCopied": "Version copied to clipboard" + } + }, + "theme": { + "title": "Pengaturan Tema", + "fields": { + "primaryColor": "Warna Utama", + "secondaryColor": "Warna Sekunder", + "primaryText": "Teks Utama", + "secondaryText": "Teks Sekunder", + "infoColor": "Warna Info", + "warningColor": "Warna Peringatan", + "errorColor": "Warna Kesalahan", + "successColor": "Warna Keberhasilan", + "fontFamily": "Keluarga Font", + "cssInjection": "Injeksi CSS" + }, + "actions": { + "editCss": "Edit CSS" + }, + "dialogs": { + "editCssTitle": "Edit CSS" + } + }, + "layout": { + "title": "Pengaturan Tata Letak", + "fields": { + "preferSystemTitlebar": "Prefer System Titlebar", + "trafficGraph": "Grafik Lalu Lintas", + "memoryUsage": "Penggunaan Memori", + "proxyGroupIcon": "Ikon Grup Proksi", + "hoverNavigator": "Hover Jump Navigator", + "hoverNavigatorDelay": "Hover Jump Navigator Delay", + "navIcon": "Ikon Navigasi", + "trayIcon": "Ikon Tray", + "showProxyGroupsInline": "Show Proxy Groups Inline", + "commonTrayIcon": "Ikon Tray Umum", + "systemProxyTrayIcon": "Ikon Tray Proksi Sistem", + "tunTrayIcon": "Ikon Tray Tun" + }, + "tooltips": { + "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", + "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" + }, + "options": { + "icon": { + "monochrome": "Monokrom", + "colorful": "Berwarna", + "disable": "Nonaktifkan" + } + } + } + }, + "common": { + "notifications": { + "copySuccess": "Salin Berhasil" + } + }, + "misc": { + "title": "Lain-lain", + "fields": { + "appLogLevel": "Tingkat Log Aplikasi", + "appLogMaxSize": "App Log Max Size", + "appLogMaxCount": "App Log Max Count", + "autoCloseConnections": "Tutup Koneksi Otomatis", + "autoCheckUpdate": "Periksa Pembaruan Otomatis", + "enableBuiltinEnhanced": "Aktifkan Peningkatan Bawaan", + "proxyLayoutColumns": "Kolom Tata Letak Proksi", + "autoLogClean": "Pembersihan Log Otomatis", + "autoDelayDetection": "Deteksi Latensi Otomatis", + "defaultLatencyTest": "Tes Latensi Default", + "defaultLatencyTimeout": "Waktu Habis Latensi Default" + }, + "tooltips": { + "autoCloseConnections": "Hentikan koneksi yang sudah ada saat pemilihan grup proksi atau mode proksi berubah", + "enableBuiltinEnhanced": "Penanganan kompatibilitas untuk file konfigurasi", + "autoDelayDetection": "Secara berkala menguji latensi node saat ini di latar belakang", + "defaultLatencyTest": "Digunakan hanya untuk pengujian permintaan klien HTTP dan tidak akan mempengaruhi file konfigurasi" + }, + "options": { + "proxyLayoutColumns": { + "auto": "Kolom Otomatis" + }, + "autoLogClean": { + "never": "Jangan Pernah Bersihkan", + "retainDays": "Simpan {{n}} Hari" + } + } + }, + "update": { + "title": "New Version v{{version}}", + "actions": { + "goToRelease": "Pergi ke Halaman Rilis", + "update": "Perbarui" + }, + "messages": { + "portableError": "Versi portabel tidak mendukung pembaruan dalam aplikasi. Harap unduh dan ganti secara manual", + "breakChangeError": "Versi ini adalah pembaruan besar dan tidak mendukung pembaruan dalam aplikasi. Harap hapus instalasi dan unduh serta instal versi baru secara manual" + } + }, + "sysproxy": { + "title": "Pengaturan Proksi Sistem", + "fieldsets": { + "currentStatus": "Proksi Sistem Saat Ini" + }, + "fields": { + "enableStatus": "Status Pengaktifan:", + "serverAddr": "Alamat Server: ", + "pacUrl": "URL PAC: ", + "proxyHost": "Host Proksi", + "usePacMode": "Gunakan Mode PAC", + "proxyGuard": "Penjaga Proksi", + "guardDuration": "Durasi Penjagaan", + "alwaysUseDefaultBypass": "Selalu gunakan Bypass Default", + "proxyBypass": "Pengaturan Bypass Proksi: ", + "bypass": "Bypass: ", + "pacScriptContent": "Konten Skrip PAC" + }, + "tooltips": { + "proxyGuard": "Aktifkan untuk mencegah perangkat lunak lain mengubah pengaturan proksi sistem operasi" + }, + "messages": { + "durationTooShort": "Durasi Daemon Proksi Tidak Boleh Kurang dari 1 Detik", + "invalidBypass": "Format Bypass Tidak Valid", + "invalidProxyHost": "Format Host Proksi Tidak Valid" + }, + "actions": { + "editPac": "Ubah PAC" + } + }, + "tun": { + "title": "Mode Tun (NIC Virtual)", + "actions": { + "reset": "Setel Ulang ke Default" + }, + "fields": { + "stack": "Tumpukan Tun", + "device": "Device Name", + "autoRoute": "Rute Otomatis", + "strictRoute": "Rute Ketat", + "autoDetectInterface": "Deteksi Antarmuka Otomatis", + "dnsHijack": "Pembajakan DNS", + "mtu": "Unit Transmisi Maksimum" + }, + "tooltips": { + "dnsHijack": "Please use , to separate multiple DNS servers" + }, + "messages": { + "applied": "Pengaturan Diterapkan" + } + }, + "dns": { + "dialog": { + "title": "DNS Overwrite", + "warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled" + }, + "sections": { + "general": "DNS Settings", + "fallbackFilter": "Fallback Filter Settings", + "hosts": "Hosts Settings" + }, + "fields": { + "enable": "Enable DNS", + "listen": "DNS Listen", + "enhancedMode": "Enhanced Mode", + "fakeIpRange": "Fake IP Range", + "fakeIpFilterMode": "Fake IP Filter Mode", + "ipv6": { + "label": "IPv6", + "description": "Enable IPv6 DNS resolution" + }, + "preferH3": { + "label": "Prefer H3", + "description": "DNS DOH uses HTTP/3" + }, + "respectRules": { + "label": "Respect Rules", + "description": "DNS connections follow routing rules" + }, + "useHosts": { + "label": "Use Hosts", + "description": "Enable to resolve hosts through hosts file" + }, + "useSystemHosts": { + "label": "Use System Hosts", + "description": "Enable to resolve hosts through system hosts file" + }, + "directPolicy": { + "label": "Direct Nameserver Follow Policy", + "description": "Whether to follow nameserver policy" + }, + "defaultNameserver": { + "label": "Default Nameserver", + "description": "Default DNS servers used to resolve DNS servers" + }, + "nameserver": { + "label": "Nameserver", + "description": "List of DNS servers, comma separated" + }, + "fallback": { + "label": "Fallback", + "description": "List of fallback DNS servers, comma separated" + }, + "proxy": { + "label": "Proxy Server Nameserver", + "description": "DNS servers for proxy node domain resolution" + }, + "directNameserver": { + "label": "Direct Nameserver", + "description": "DNS servers for direct exit domain resolution, supports 'system' keyword, comma separated" + }, + "fakeIpFilter": { + "label": "Fake IP Filter", + "description": "Domains that skip fake IP resolution, comma separated" + }, + "nameserverPolicy": { + "label": "Nameserver Policy", + "description": "Domain-specific DNS server, multiple servers separated by semicolons, format: domain=server1;server2" + }, + "geoipFiltering": { + "label": "GeoIP Filtering", + "description": "Enable GeoIP filtering for fallback" + }, + "geoipCode": "GeoIP Code", + "fallbackIpCidr": { + "label": "Fallback IP CIDR", + "description": "IP CIDRs not using fallback servers, comma separated" + }, + "fallbackDomain": { + "label": "Fallback Domain", + "description": "Domains using fallback servers, comma separated" + }, + "hosts": { + "label": "Hosts", + "description": "Custom domain to IP or domain mapping" + } + }, + "messages": { + "saved": "DNS settings saved", + "configError": "DNS configuration error:" + }, + "errors": { + "invalid": "Invalid configuration" + } + }, + "page": { + "title": "Pengaturan", + "actions": { + "manual": "Manual", + "telegram": "Saluran Telegram", + "github": "Repositori Github" + } + } + }, + "providers": { + "notices": { + "updateSuccess": "{{name}} updated successfully", + "updateFailed": "Failed to update {{name}}: {{message}}", + "genericError": "Update failed: {{message}}", + "none": "No providers available to update", + "allUpdated": "All providers updated successfully" + } + }, + "test": { + "item": { + "actions": { + "test": "Tes" + } + }, + "viewer": { + "title": { + "create": "Buat Tes", + "edit": "Ubah Tes" + }, + "fields": { + "url": "URL Tes" + } + }, + "page": { + "title": "Tes", + "actions": { + "testAll": "Tes Semua", + "new": "Baru" + } + } + }, + "proxies": { + "page": { + "title": { + "default": "Grup Proksi", + "chainMode": "Proxy Chain Mode" + }, + "actions": { + "toggleChain": "🔗 Proxy Rantai", + "connect": "Connect", + "disconnect": "Disconnect", + "connecting": "Connecting...", + "clearChainConfig": "Delete Chain Config" + }, + "provider": { + "title": "Penyedia Proksi", + "actions": { + "updateAll": "Perbarui Semua", + "update": "Perbarui" + } + }, + "rules": { + "title": "Proxy Rules", + "select": "Select Rules" + }, + "labels": { + "proxyCount": "Proxy Count", + "delayCheckReset": "Periksa keterlambatan untuk membatalkan tetap" + }, + "tooltips": { + "locate": "Lokasi", + "delayCheck": "Periksa Keterlambatan", + "sortDefault": "Urutkan secara default", + "sortDelay": "Urutkan berdasarkan keterlambatan", + "sortName": "Urutkan berdasarkan nama", + "delayCheckUrl": "URL Periksa Keterlambatan", + "showBasic": "Dasar Proksi", + "showDetail": "Detail Proksi", + "filter": "Filter" + }, + "placeholders": { + "filter": "Kondisi Filter", + "delayCheckUrl": "URL Periksa Keterlambatan" + }, + "chain": { + "header": "Chain Proxy Config", + "empty": "No proxy chain configured", + "instruction": "Click nodes in order to add to proxy chain", + "minimumNodes": "Chain proxy requires at least 2 nodes", + "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", + "connectFailed": "Failed to connect to proxy chain", + "disconnectFailed": "Failed to disconnect from proxy chain", + "duplicateNode": "Proxy node already exists in chain" + } + } + }, + "rules": { + "page": { + "title": "Aturan", + "provider": { + "trigger": "Penyedia Aturan", + "dialogTitle": "Penyedia Aturan", + "actions": { + "updateAll": "Perbarui Semua", + "update": "Perbarui" + } + } + } + }, + "profiles": { + "page": { + "title": "Profil", + "actions": { + "updateAll": "Perbarui Semua Profil", + "viewRuntimeConfig": "Lihat Konfigurasi Runtime", + "reactivate": "Reaktivasi Profil", + "import": "Impor", + "new": "Baru" + }, + "batch": { + "title": "Batch Operations", + "delete": "Delete Selected Profiles", + "selectAll": "Select All", + "deselectAll": "Deselect All", + "done": "Done", + "selected": "Selected", + "items": "items" + }, + "import": { + "placeholder": "URL Profil", + "paste": "Tempel", + "clear": "Bersihkan" + }, + "errors": { + "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", + "onlyYaml": "Hanya File YAML yang Didukung" + }, + "notifications": { + "importRetry": "Import failed, retrying with Clash proxy...", + "importFail": "Import failed even with Clash proxy", + "importNeedsRefresh": "Profile imported but may need manual refresh", + "importSuccess": "Profile imported successfully, please restart if not visible", + "profileSwitched": "Profil Beralih", + "profileReactivated": "Profil Diaktifkan Kembali", + "switchInterrupted": "Profile switch interrupted by new selection", + "batchDeleted": "Selected profiles deleted successfully" + }, + "notices": { + "forceRefreshCompleted": "Force refresh completed", + "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" + } + } + }, + "connections": { + "page": { + "title": "Koneksi", + "summary": { + "downloaded": "Diunduh", + "uploaded": "Diunggah" + }, + "actions": { + "listView": "Tampilan Daftar", + "tableView": "Tampilan Tabel", + "pause": "Jeda", + "resume": "Lanjut", + "closeAll": "Tutup Semua" + } + } + }, + "logs": { + "page": { + "title": "Log", + "actions": { + "pause": "Jeda", + "resume": "Lanjut", + "clear": "Bersihkan" + }, + "filters": { + "all": "ALL", + "debug": "DEBUG", + "info": "INFO", + "warn": "WARN", + "error": "ERROR" + } + } + }, + "unlock": { + "page": { + "title": "Unlock Test", + "actions": { + "testing": "Testing..." + }, + "empty": "No unlock test items" + } } } diff --git a/src/locales/jp.json b/src/locales/jp.json index 0caff751..7ff6d4de 100644 --- a/src/locales/jp.json +++ b/src/locales/jp.json @@ -13,192 +13,6 @@ "Save": "保存", "Delete": "削除", "Enable": "有効にする", - "pages": { - "home": { - "title": "ホーム", - "tooltips": { - "lightweightMode": "軽量モード", - "manual": "マニュアル", - "settings": "ホーム設定" - }, - "cards": { - "trafficStats": "トラフィック統計", - "networkSettings": "ネットワーク設定", - "proxyMode": "プロキシモード" - }, - "settings": { - "title": "ホーム設定", - "cards": { - "profile": "プロファイルカード", - "currentProxy": "現在のプロキシカード", - "network": "ネットワーク設定カード", - "proxyMode": "プロキシモードカード", - "traffic": "トラフィック統計カード", - "tests": "ウェブサイトテストカード", - "ip": "IP情報カード", - "clashInfo": "Clash情報カード", - "systemInfo": "システム情報カード" - } - } - }, - "proxies": { - "title": { - "default": "プロキシグループ", - "chainMode": "Proxy Chain Mode" - }, - "actions": { - "toggleChain": "🔗 チェーンプロキシ", - "connect": "Connect", - "disconnect": "Disconnect", - "connecting": "Connecting...", - "clearChainConfig": "Delete Chain Config" - }, - "provider": { - "title": "プロキシプロバイダー", - "actions": { - "updateAll": "すべて更新", - "update": "更新" - } - }, - "rules": { - "title": "Proxy Rules", - "select": "Select Rules" - }, - "labels": { - "proxyCount": "ノード数", - "delayCheckReset": "遅延テストを実行して固定を解除する" - }, - "tooltips": { - "locate": "現在のノード", - "delayCheck": "遅延テスト", - "sortDefault": "デフォルトでソート", - "sortDelay": "遅延でソート", - "sortName": "名前でソート", - "delayCheckUrl": "遅延テストURL", - "showBasic": "ノードの詳細を隠す", - "showDetail": "ノードの詳細を表示する", - "filter": "ノードをフィルタリング" - }, - "placeholders": { - "filter": "フィルタリング条件", - "delayCheckUrl": "遅延テストURL" - }, - "chain": { - "header": "Chain Proxy Config", - "empty": "No proxy chain configured", - "instruction": "Click nodes in order to add to proxy chain", - "minimumNodes": "Chain proxy requires at least 2 nodes", - "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", - "connectFailed": "Failed to connect to proxy chain", - "disconnectFailed": "Failed to disconnect from proxy chain", - "duplicateNode": "Proxy node already exists in chain" - } - }, - "rules": { - "title": "ルール", - "provider": { - "trigger": "ルールプロバイダー", - "dialogTitle": "ルールプロバイダー", - "actions": { - "updateAll": "すべて更新", - "update": "更新" - } - } - }, - "profiles": { - "title": "プロファイル", - "actions": { - "updateAll": "すべてのプロファイルを更新", - "viewRuntimeConfig": "実行時のプロファイルを表示", - "reactivate": "プロファイルを再アクティブ化", - "import": "インポート", - "new": "新規作成" - }, - "batch": { - "title": "バッチ操作", - "delete": "選択したプロファイルを削除", - "selectAll": "すべて選択", - "deselectAll": "すべての選択を解除", - "done": "完了", - "selected": "選択済み", - "items": "アイテム" - }, - "import": { - "placeholder": "プロファイルファイルのURL", - "paste": "貼り付け", - "clear": "クリア" - }, - "errors": { - "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", - "onlyYaml": "YAMLファイルのみサポートされています。" - }, - "notifications": { - "importRetry": "インポートに失敗しました。Clashプロキシを使用して再試行します...", - "importFail": "Clashプロキシを使用してもインポートに失敗しました。", - "importNeedsRefresh": "Profile imported but may need manual refresh", - "importSuccess": "Profile imported successfully, please restart if not visible", - "profileSwitched": "プロファイルが切り替えられました。", - "profileReactivated": "プロファイルが再アクティブ化されました。", - "switchInterrupted": "Profile switch interrupted by new selection", - "batchDeleted": "選択したプロファイルが正常に削除されました" - }, - "notices": { - "forceRefreshCompleted": "Force refresh completed", - "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" - } - }, - "connections": { - "title": "接続", - "summary": { - "downloaded": "ダウンロード量", - "uploaded": "アップロード量" - }, - "actions": { - "listView": "リストビュー", - "tableView": "テーブルビュー", - "pause": "一時停止", - "resume": "再開", - "closeAll": "すべて閉じる" - } - }, - "settings": { - "title": "設定", - "actions": { - "manual": "マニュアル", - "telegram": "Telegramチャンネル", - "github": "GitHubリポジトリ" - } - }, - "logs": { - "title": "ログ", - "actions": { - "pause": "一時停止", - "resume": "再開", - "clear": "クリア" - }, - "filters": { - "all": "ALL", - "debug": "DEBUG", - "info": "INFO", - "warn": "WARN", - "error": "ERROR" - } - }, - "test": { - "title": "テスト", - "actions": { - "testAll": "すべてテスト", - "new": "新規作成" - } - }, - "unlock": { - "title": "ロック解除テスト", - "actions": { - "testing": "テスト中..." - }, - "empty": "アンロックテスト項目はありません" - } - }, "Proxies": "Proxies", "Update At": "更新日時", "rule": "ルール", @@ -380,807 +194,6 @@ "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", - "components": { - "ruleEditor": { - "title": "ルールを編集", - "form": { - "labels": { - "type": "ルールタイプ", - "content": "ルール内容", - "proxyPolicy": "プロキシポリシー" - }, - "toggles": { - "noResolve": "DNS解決をスキップ" - }, - "actions": { - "prependRule": "前置ルールを追加", - "appendRule": "後置ルールを追加" - }, - "validation": { - "conditionRequired": "ルール条件が必要です", - "invalidRule": "無効なルール" - } - } - }, - "profile": { - "viewer": { - "title": { - "create": "新規プロファイルを作成", - "edit": "プロファイルを編集" - }, - "buttons": { - "save": "保存", - "cancel": "キャンセル" - }, - "fields": { - "type": "タイプ", - "name": "名前", - "description": "説明", - "subscriptionUrl": "サブスクリプションURL", - "httpTimeout": "HTTP Request Timeout", - "updateInterval": "更新間隔", - "useSystemProxy": "システムプロキシを使用して更新", - "useClashProxy": "クラッシュプロキシを使用して更新", - "acceptInvalidCerts": "Allows Invalid Certificates (Danger)", - "allowAutoUpdate": "Allow Auto Update" - }, - "notifications": { - "creationRetry": "プロファイルの作成に失敗しました。Clashプロキシを使用して再試行します...", - "creationSuccess": "Clashプロキシを使用してプロファイルの作成に成功しました。" - } - }, - "fileInput": { - "chooseFile": "ファイルを選択" - }, - "notifications": { - "saved": "Saved successfully" - }, - "proxiesEditor": { - "title": "ノードを編集", - "placeholders": { - "multiUri": "複数のURIは改行で区切ってください(Base64エンコードに対応)" - }, - "actions": { - "prepend": "前置プロキシノードを追加", - "append": "後置プロキシノードを追加" - } - }, - "groupsEditor": { - "title": "プロキシグループを編集", - "errors": { - "nameRequired": "プロキシグループ名は必須です", - "nameExists": "プロキシグループ名はすでに存在します" - }, - "fields": { - "type": "プロキシグループタイプ", - "name": "プロキシグループ名", - "icon": "プロキシグループアイコン", - "proxies": "プロキシを導入", - "provider": "プロキシプロバイダーを導入", - "healthCheckUrl": "ヘルスチェックURL", - "expectedStatus": "期待するステータスコード", - "interval": "チェック間隔", - "timeout": "タイムアウト時間", - "maxFailedTimes": "最大失敗回数", - "interfaceName": "出力インターフェース", - "routingMark": "ルーティングマーク", - "filter": "ノードをフィルタリング", - "excludeFilter": "除外ノード", - "excludeType": "除外ノードタイプ", - "includeAll": "すべての出力プロキシ、プロキシプロバイダーを導入", - "includeAllProxies": "すべての出力プロキシを導入", - "includeAllProviders": "すべてのプロキシプロバイダーを導入" - }, - "toggles": { - "lazy": "遅延モード", - "disableUdp": "UDPを無効にする", - "hidden": "プロキシグループを隠す" - }, - "actions": { - "prepend": "前置プロキシグループを追加", - "append": "後置プロキシグループを追加" - } - }, - "menu": { - "home": "ホーム", - "select": "使用する", - "editInfo": "情報を編集", - "editFile": "ファイルを編集", - "editRules": "ルールを編集", - "editProxies": "ノードを編集", - "editGroups": "プロキシグループを編集", - "extendConfig": "拡張上書き設定", - "extendScript": "拡張スクリプト", - "openFile": "ファイルを開く", - "update": "更新", - "updateViaProxy": "Update via proxy", - "delete": "削除" - }, - "item": { - "tooltips": { - "showLast": "Click to show last update time", - "showNext": "Click to show next update" - }, - "status": { - "lastUpdateFailed": "前回の更新に失敗しました。", - "nextUp": "次回の更新", - "noSchedule": "予定がありません。", - "unknown": "不明", - "autoUpdateDisabled": "自動更新が無効になっています。" - } - }, - "confirm": { - "delete": { - "title": "削除を確認", - "message": "この操作は元に戻せません" - } - }, - "logViewer": { - "title": "スクリプトコンソール出力" - }, - "more": { - "global": { - "merge": "Global Merge", - "script": "Global Script" - }, - "chips": { - "merge": "Merge", - "script": "Script" - } - }, - "editor": { - "format": "文書を整形する", - "readOnlyMessage": "読み取り専用モードでは編集できません。" - } - }, - "home": { - "proxyTunCard": { - "status": { - "systemProxyEnabled": "システムプロキシが有効になっています。アプリケーションはプロキシを通じてネットワークにアクセスします。", - "systemProxyDisabled": "システムプロキシが無効になっています。ほとんどのユーザーはこのオプションをオンにすることをお勧めします。", - "tunModeServiceRequired": "TUNモードはサービスモードが必要です。まずサービスをインストールしてください。", - "tunModeEnabled": "TUNモードが有効になっています。アプリケーションは仮想ネットワークカードを通じてネットワークにアクセスします。", - "tunModeDisabled": "TUNモードが無効になっています。特殊なアプリケーションに適しています。" - }, - "tooltips": { - "systemProxy": "オペレーティングシステムのプロキシ設定を変更します。有効にできない場合は、手動でオペレーティングシステムのプロキシ設定を変更してください。", - "tunMode": "TUNモードは全てのアプリケーションのトラフィックを制御できます。システムプロキシ設定に従わない特殊なアプリケーションに適しています。" - } - }, - "clashInfo": { - "title": "Clash情報", - "fields": { - "coreVersion": "コアバージョン", - "systemProxyAddress": "システムプロキシアドレス", - "mixedPort": "Mixed Port", - "uptime": "稼働時間", - "rulesCount": "ルール数" - } - }, - "systemInfo": { - "title": "システム情報", - "fields": { - "osInfo": "オペレーティングシステム情報", - "autoLaunch": "起動時に自動起動", - "runningMode": "実行モード", - "lastCheckUpdate": "最後の更新チェック", - "vergeVersion": "Vergeバージョン" - }, - "actions": { - "settings": "設定" - }, - "labels": { - "enabled": "有効", - "disabled": "無効" - }, - "tooltips": { - "autoLaunchAdmin": "管理者モードでは起動時の自動起動がサポートされない場合があります。" - }, - "badges": { - "adminMode": "管理者モード", - "serviceMode": "サービスモード", - "sidecarMode": "ユーザーモード", - "adminServiceMode": "Admin + Service Mode" - } - }, - "ipInfo": { - "title": "IP情報", - "errors": { - "load": "IP情報の取得に失敗しました。" - }, - "labels": { - "retry": "Retry", - "ip": "IP", - "asn": "自治システム番号", - "isp": "インターネットサービスプロバイダー", - "org": "組織", - "location": "位置", - "timezone": "タイムゾーン", - "autoRefresh": "自動更新", - "unknown": "不明" - } - }, - "traffic": { - "metrics": { - "uploadSpeed": "アップロード速度", - "downloadSpeed": "ダウンロード速度", - "activeConnections": "アクティブな接続", - "uploaded": "アップロード量", - "downloaded": "ダウンロード量", - "memoryUsage": "コアメモリ使用量" - }, - "legends": { - "upload": "アップロード", - "download": "ダウンロード" - }, - "patterns": { - "minutes": "{{time}} Minutes" - } - }, - "currentProxy": { - "title": "現在のノード", - "actions": { - "refreshDelay": "遅延テスト" - }, - "labels": { - "globalMode": "グローバルモード", - "directMode": "直接接続モード", - "group": "プロキシグループ", - "proxy": "ノード", - "noActiveNode": "アクティブなプロキシノードがありません。" - } - }, - "profile": { - "title": "プロファイル", - "actions": { - "import": "インポート" - }, - "labels": { - "from": "から", - "updateTime": "更新時間", - "usedTotal": "使用済み / 合計", - "expireTime": "有効期限", - "clickToImport": "クリックしてサブスクリプションをインポート" - } - } - }, - "connection": { - "fields": { - "host": "ホスト", - "downloaded": "ダウンロード量", - "uploaded": "アップロード量", - "dlSpeed": "ダウンロード速度", - "ulSpeed": "アップロード速度", - "chains": "チェーン", - "rule": "ルール", - "process": "プロセス", - "time": "接続時間", - "source": "送信元アドレス", - "destination": "宛先アドレス", - "destinationPort": "宛先ポート", - "type": "タイプ" - }, - "actions": { - "closeConnection": "接続を閉じる" - }, - "order": { - "default": "Default", - "uploadSpeed": "アップロード速度", - "downloadSpeed": "ダウンロード速度" - } - }, - "settings": { - "system": { - "title": "システム設定", - "toggles": { - "tunMode": "仮想ネットワークカードモード", - "systemProxy": "システムプロキシ" - }, - "labels": { - "autoLaunch": "起動時に自動起動", - "silentStart": "サイレント起動" - }, - "tooltips": { - "autoLaunchAdmin": "管理者モードでは起動時の自動起動がサポートされない場合があります。", - "silentStart": "アプリケーションを起動すると、バックグラウンドモードで実行され、アプリケーションパネルは表示されません。" - } - }, - "proxyControl": { - "labels": { - "systemProxy": "システムプロキシ", - "tunMode": "仮想ネットワークカードモード" - }, - "tooltips": { - "systemProxy": "オペレーティングシステムのプロキシ設定を変更します。有効にできない場合は、手動でオペレーティングシステムのプロキシ設定を変更してください。", - "tunMode": "TUN(仮想ネットワークカード)モードはシステムのすべてのトラフィックを制御します。有効にすると、システムプロキシを開く必要はありません。", - "tunUnavailable": "TUNモードはサービスモードまたは管理者モードが必要です" - }, - "actions": { - "installService": "サービスをインストール", - "uninstallService": "サービスのアンインストール" - } - }, - "externalController": { - "title": "外部コントローラーの監視アドレス", - "fields": { - "enable": "外部コントローラーを有効化", - "address": "外部コントローラーの監視アドレス", - "secret": "APIアクセスキー" - }, - "placeholders": { - "address": "必須", - "secret": "推奨設定" - }, - "tooltips": { - "copy": "クリップボードにコピー" - }, - "messages": { - "addressRequired": "コントローラーのアドレスは空にできません", - "secretRequired": "シークレットを空にすることはできません", - "copyFailed": "コピーに失敗しました", - "controllerCopied": "API ポートがクリップボードにコピーされました", - "secretCopied": "API キーがクリップボードにコピーされました" - } - }, - "externalCors": { - "title": "外部 CORS 設定", - "fields": { - "allowPrivateNetwork": "プライベートネットワークへのアクセスを許可", - "allowedOrigins": "許可されたオリジン" - }, - "placeholders": { - "origin": "有効なURLを入力してください" - }, - "actions": { - "add": "追加" - }, - "messages": { - "alwaysIncluded": "常に含まれるオリジン: {{urls}}" - }, - "tooltips": { - "open": "外部 CORS 設定" - } - }, - "clash": { - "title": "Clash設定", - "items": { - "allowLan": "LAN接続を許可", - "dnsOverwrite": "DNS上書き", - "ipv6": "IPv6", - "unifiedDelay": "統一遅延", - "logLevel": "ログレベル", - "portConfig": "ポート設定", - "external": "外部制御", - "webUI": "Webインターフェース", - "clashCore": "Clashコア", - "openUwpTool": "UWPツールを開く", - "updateGeoData": "GeoDataを更新" - }, - "tooltips": { - "networkInterface": "ネットワークインターフェース", - "unifiedDelay": "統一遅延を有効にすると、2回の遅延テストが行われ、接続ハンドシェイクなどによる異なるタイプのノードの遅延差を解消します。", - "logLevel": "ログディレクトリのServiceフォルダ内のコアログファイルにのみ適用されます。", - "openUwpTool": "Windows 8以降では、UWPアプリケーション(Microsoft Storeなど)がローカルホストのネットワークサービスに直接アクセスすることが制限されています。このツールを使用すると、この制限を回避できます。" - }, - "options": { - "logLevel": { - "debug": "Debug", - "info": "Info", - "warning": "Warn", - "error": "Error", - "silent": "Silent" - } - }, - "messages": { - "geoDataUpdated": "GeoDataが更新されました。" - }, - "port": { - "title": "ポート設定", - "fields": { - "mixed": "混合プロキシポート", - "socks": "SOCKSプロキシポート", - "http": "HTTP(S)プロキシポート", - "redir": "Redir透明プロキシポート", - "tproxy": "TPROXY透明プロキシポート" - }, - "actions": { - "random": "ランダムポート" - }, - "messages": { - "saved": "Port settings saved", - "saveFailed": "Failed to save port settings" - } - } - }, - "liteMode": { - "title": "軽量モード設定", - "actions": { - "enterNow": "今すぐ軽量モードに入る" - }, - "toggles": { - "autoEnter": "自動的に軽量モードに入る" - }, - "tooltips": { - "autoEnter": "有効にすると、ウィンドウを閉じてから一定時間後に自動的に軽量モードが有効になります。" - }, - "fields": { - "delay": "自動的に軽量モードに入るまでの遅延時間" - }, - "messages": { - "autoEnterHint": "ウィンドウを閉じると、{{n}}分後に自動的に軽量モードが有効になります。" - } - }, - "backup": { - "title": "バックアップ設定", - "tabs": { - "local": "Local backup", - "webdav": "WebDAV backup" - }, - "actions": { - "selectTarget": "Select backup target", - "backup": "バックアップ", - "refresh": "更新", - "save": "保存", - "export": "Export", - "exportBackup": "Export Backup", - "delete": "削除", - "deleteBackup": "バックアップを削除", - "restore": "復元", - "restoreBackup": "バックアップを復元" - }, - "fields": { - "webdavUrl": "WebDAVサーバーのURL http(s)://", - "username": "ユーザー名", - "password": "パスワード", - "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." - }, - "messages": { - "webdavUrlRequired": "WebDAVサーバーのURLは必須です。", - "invalidWebdavUrl": "無効なWebDAVサーバーのURL形式", - "usernameRequired": "ユーザー名は必須です。", - "passwordRequired": "パスワードは必須です。", - "webdavConfigSaved": "WebDAV設定が保存されました。", - "webdavConfigSaveFailed": "WebDAV設定の保存に失敗しました: {{error}}", - "backupCreated": "バックアップが作成されました。", - "backupFailed": "バックアップに失敗しました: {{error}}", - "localBackupCreated": "Local backup created successfully", - "localBackupFailed": "Local backup failed", - "restoreSuccess": "復元に成功しました。アプリケーションは1秒後に再起動します。", - "localBackupExported": "Local backup exported successfully", - "localBackupExportFailed": "Failed to export local backup", - "confirmDelete": "Confirm to delete this backup file?", - "confirmRestore": "Confirm to restore this backup file?" - }, - "table": { - "filename": "ファイル名", - "backupTime": "バックアップ時間", - "actions": "操作", - "noBackups": "バックアップがありません。", - "rowsPerPage": "Rows per page" - } - }, - "verge": { - "basic": { - "title": "Verge基本設定", - "items": { - "language": "言語設定", - "themeMode": "テーマモード", - "trayClickEvent": "トレイアイコンクリックイベント", - "copyEnvType": "環境変数タイプをコピー", - "startPage": "起動ページ", - "startupScript": "起動スクリプト", - "themeSetting": "テーマ設定", - "layoutSetting": "レイアウト設定", - "misc": "その他の設定", - "hotkeySetting": "ホットキー設定" - }, - "actions": { - "browse": "参照", - "clear": "クリア" - }, - "trayOptions": { - "showMainWindow": "メインウィンドウを表示", - "showTrayMenu": "トレイメニューを表示", - "disable": "無効にする" - } - }, - "advanced": { - "title": "Verge詳細設定", - "items": { - "backupSetting": "バックアップ設定", - "runtimeConfig": "現在の設定", - "openConfDir": "設定ディレクトリを開く", - "openCoreDir": "コアディレクトリを開く", - "openLogsDir": "ログディレクトリを開く", - "checkUpdates": "更新を確認", - "openDevTools": "開発者ツールを開く", - "liteModeSettings": "軽量モード設定", - "exit": "終了", - "exportDiagnostics": "診断情報をエクスポート", - "vergeVersion": "Vergeバージョン" - }, - "tooltips": { - "backupInfo": "WebDAVを使用した設定ファイルのバックアップをサポートします。", - "openConfDir": "アプリケーションが正常に動作しない場合は、このフォルダ内のすべてのファイルを!バックアップ!して削除し、アプリケーションを再起動してください。", - "liteMode": "GUIを閉じて、コアのみを実行します。" - }, - "actions": { - "copyVersion": "Copy Version" - }, - "notifications": { - "latestVersion": "現在は最新バージョンです。", - "versionCopied": "Version copied to clipboard" - } - }, - "theme": { - "title": "テーマ設定", - "fields": { - "primaryColor": "主要色", - "secondaryColor": "次要色", - "primaryText": "テキスト主要色", - "secondaryText": "テキスト次要色", - "infoColor": "情報色", - "warningColor": "警告色", - "errorColor": "エラー色", - "successColor": "成功色", - "fontFamily": "フォントファミリー", - "cssInjection": "CSSインジェクション" - }, - "actions": { - "editCss": "Edit CSS" - }, - "dialogs": { - "editCssTitle": "Edit CSS" - } - }, - "layout": { - "title": "レイアウト設定", - "fields": { - "preferSystemTitlebar": "Prefer System Titlebar", - "trafficGraph": "トラフィックグラフ", - "memoryUsage": "コアメモリ使用量", - "proxyGroupIcon": "プロキシグループアイコン", - "hoverNavigator": "Hover Jump Navigator", - "hoverNavigatorDelay": "Hover Jump Navigator Delay", - "navIcon": "ナビゲーションバーアイコン", - "trayIcon": "トレイアイコン", - "showProxyGroupsInline": "Show Proxy Groups Inline", - "commonTrayIcon": "通常のトレイアイコン", - "systemProxyTrayIcon": "システムプロキシトレイアイコン", - "tunTrayIcon": "TUNモードトレイアイコン" - }, - "tooltips": { - "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", - "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" - }, - "options": { - "icon": { - "monochrome": "モノクロアイコン", - "colorful": "カラーアイコン", - "disable": "無効にする" - } - } - } - }, - "common": { - "notifications": { - "copySuccess": "コピー成功" - } - }, - "misc": { - "title": "その他の設定", - "fields": { - "appLogLevel": "アプリケーションログレベル", - "appLogMaxSize": "App Log Max Size", - "appLogMaxCount": "App Log Max Count", - "autoCloseConnections": "接続を自動的に閉じる", - "autoCheckUpdate": "自動更新チェック", - "enableBuiltinEnhanced": "組み込み拡張機能を有効にする", - "proxyLayoutColumns": "プロキシページのレイアウト列数", - "autoLogClean": "ログを自動的にクリーンアップ", - "autoDelayDetection": "自動遅延検出", - "defaultLatencyTest": "デフォルトの遅延テストURL", - "defaultLatencyTimeout": "テストタイムアウト時間" - }, - "tooltips": { - "autoCloseConnections": "プロキシグループで選択されたノードまたはプロキシモードが変更されたときに、既存の接続を閉じます。", - "enableBuiltinEnhanced": "設定ファイルの互換性処理", - "autoDelayDetection": "バックグラウンドで現在のノードのレイテンシーを定期的にテストします", - "defaultLatencyTest": "HTTPクライアントリクエストテストにのみ使用され、設定ファイルには影響しません。" - }, - "options": { - "proxyLayoutColumns": { - "auto": "自動列数" - }, - "autoLogClean": { - "never": "クリーンアップしない", - "retainDays": "{{n}}日間保持" - } - } - }, - "update": { - "title": "New Version v{{version}}", - "actions": { - "goToRelease": "リリースページに移動", - "update": "更新" - }, - "messages": { - "portableError": "ポータブル版ではアプリケーション内での更新はサポートされていません。手動でダウンロードして置き換えてください。", - "breakChangeError": "このバージョンは重大な更新であり、アプリケーション内での更新はサポートされていません。アンインストールしてから手動でダウンロードしてインストールしてください。" - } - }, - "sysproxy": { - "title": "システムプロキシ設定", - "fieldsets": { - "currentStatus": "現在のシステムプロキシ" - }, - "fields": { - "enableStatus": "有効状態:", - "serverAddr": "サーバーアドレス:", - "pacUrl": "PACアドレス:", - "proxyHost": "プロキシホスト", - "usePacMode": "PACモードを使用", - "proxyGuard": "システムプロキシガード", - "guardDuration": "プロキシガード間隔", - "alwaysUseDefaultBypass": "常にデフォルトのバイパスを使用", - "proxyBypass": "プロキシバイパス設定:", - "bypass": "現在のバイパス:", - "pacScriptContent": "PACスクリプト内容" - }, - "tooltips": { - "proxyGuard": "他のソフトウェアがオペレーティングシステムのプロキシ設定を変更するのを防ぐために有効にします。" - }, - "messages": { - "durationTooShort": "プロキシデーモンの間隔は1秒以上に設定する必要があります。", - "invalidBypass": "無効なバイパス形式", - "invalidProxyHost": "プロキシホストの形式が無効です" - }, - "actions": { - "editPac": "編集 PAC" - } - }, - "tun": { - "title": "仮想ネットワークカードモード", - "actions": { - "reset": "デフォルト値にリセット" - }, - "fields": { - "stack": "TUNモードスタック", - "device": "Device Name", - "autoRoute": "グローバルルートを自動設定", - "strictRoute": "厳格なルート", - "autoDetectInterface": "トラフィックの出口インターフェースを自動選択", - "dnsHijack": "DNSハイジャック", - "mtu": "最大転送単位" - }, - "tooltips": { - "dnsHijack": "Please use , to separate multiple DNS servers" - }, - "messages": { - "applied": "設定が適用されました。" - } - }, - "dns": { - "dialog": { - "title": "DNS上書き", - "warning": "ここの設定がわからない場合は、変更しないでください。DNS上書きを有効にしたままにしてください。" - }, - "sections": { - "general": "DNS設定", - "fallbackFilter": "フォールバックフィルター設定", - "hosts": "Hosts設定" - }, - "fields": { - "enable": "DNSを有効にする", - "listen": "DNS監視アドレス", - "enhancedMode": "拡張モード", - "fakeIpRange": "Fake IP範囲", - "fakeIpFilterMode": "Fake IPフィルターモード", - "ipv6": { - "label": "IPv6", - "description": "IPv6 DNS解決を有効にする" - }, - "preferH3": { - "label": "HTTP/3を優先する", - "description": "DNS DOHでHTTP/3プロトコルを使用する" - }, - "respectRules": { - "label": "ルートルールに従う", - "description": "DNS接続はルートルールに従います。" - }, - "useHosts": { - "label": "Hostsファイルを使用する", - "description": "Hostsファイルを使用してホスト名を解決する" - }, - "useSystemHosts": { - "label": "システムのHostsファイルを使用する", - "description": "システムのHostsファイルを使用してホスト名を解決する" - }, - "directPolicy": { - "label": "直接接続の名前解決サーバーはポリシーに従う", - "description": "名前解決サーバーのポリシーに従うかどうか" - }, - "defaultNameserver": { - "label": "デフォルトの名前解決サーバー", - "description": "名前解決サーバーを解決するために使用されるデフォルトのDNSサーバー" - }, - "nameserver": { - "label": "名前解決サーバー", - "description": "DNSサーバーのリスト。カンマで区切って指定します。" - }, - "fallback": { - "label": "フォールバックサーバー", - "description": "フォールバックDNSサーバーのリスト。カンマで区切って指定します。" - }, - "proxy": { - "label": "プロキシサーバーの名前解決サーバー", - "description": "プロキシノードの名前解決サーバー。プロキシノードのドメイン名を解決するためにのみ使用されます。カンマで区切って指定します。" - }, - "directNameserver": { - "label": "直接接続の名前解決サーバー", - "description": "直接接続の出口名前解決サーバー。systemキーワードをサポートします。カンマで区切って指定します。" - }, - "fakeIpFilter": { - "label": "Fake IPフィルター", - "description": "Fake IP解決をスキップするドメイン名。カンマで区切って指定します。" - }, - "nameserverPolicy": { - "label": "名前解決サーバーのポリシー", - "description": "特定のドメインのDNSサーバー。複数のサーバーはセミコロンで区切って指定します。形式: domain=server1;server2" - }, - "geoipFiltering": { - "label": "GeoIPフィルタリング", - "description": "フォールバックのGeoIPフィルタリングを有効にする" - }, - "geoipCode": "GeoIP国コード", - "fallbackIpCidr": { - "label": "フォールバックIP CIDR", - "description": "フォールバックサーバーを使用しないIP CIDR。カンマで区切って指定します。" - }, - "fallbackDomain": { - "label": "フォールバックドメイン", - "description": "フォールバックサーバーを使用するドメイン名。カンマで区切って指定します。" - }, - "hosts": { - "label": "Hosts", - "description": "カスタムのドメイン名からIPまたはドメイン名へのマッピング。カンマで区切って指定します。" - } - }, - "messages": { - "saved": "DNS設定が保存されました。", - "configError": "DNS configuration error:" - }, - "errors": { - "invalid": "Invalid configuration" - } - } - }, - "providers": { - "notices": { - "updateSuccess": "{{name}} updated successfully", - "updateFailed": "Failed to update {{name}}: {{message}}", - "genericError": "Update failed: {{message}}", - "none": "No providers available to update", - "allUpdated": "All providers updated successfully" - } - }, - "test": { - "item": { - "actions": { - "test": "テスト" - } - }, - "viewer": { - "title": { - "create": "新規テストを作成", - "edit": "テストを編集" - }, - "fields": { - "url": "テストURL" - } - } - } - }, "common": { "editorModes": { "visualization": "可視化", @@ -1207,5 +220,1000 @@ "unlock": "Unlock menu order", "lock": "Lock menu order" } + }, + "ruleEditor": { + "title": "ルールを編集", + "form": { + "labels": { + "type": "ルールタイプ", + "content": "ルール内容", + "proxyPolicy": "プロキシポリシー" + }, + "toggles": { + "noResolve": "DNS解決をスキップ" + }, + "actions": { + "prependRule": "前置ルールを追加", + "appendRule": "後置ルールを追加" + }, + "validation": { + "conditionRequired": "ルール条件が必要です", + "invalidRule": "無効なルール" + } + } + }, + "profile": { + "viewer": { + "title": { + "create": "新規プロファイルを作成", + "edit": "プロファイルを編集" + }, + "buttons": { + "save": "保存", + "cancel": "キャンセル" + }, + "fields": { + "type": "タイプ", + "name": "名前", + "description": "説明", + "subscriptionUrl": "サブスクリプションURL", + "httpTimeout": "HTTP Request Timeout", + "updateInterval": "更新間隔", + "useSystemProxy": "システムプロキシを使用して更新", + "useClashProxy": "クラッシュプロキシを使用して更新", + "acceptInvalidCerts": "Allows Invalid Certificates (Danger)", + "allowAutoUpdate": "Allow Auto Update" + }, + "notifications": { + "creationRetry": "プロファイルの作成に失敗しました。Clashプロキシを使用して再試行します...", + "creationSuccess": "Clashプロキシを使用してプロファイルの作成に成功しました。" + } + }, + "fileInput": { + "chooseFile": "ファイルを選択" + }, + "notifications": { + "saved": "Saved successfully" + }, + "proxiesEditor": { + "title": "ノードを編集", + "placeholders": { + "multiUri": "複数のURIは改行で区切ってください(Base64エンコードに対応)" + }, + "actions": { + "prepend": "前置プロキシノードを追加", + "append": "後置プロキシノードを追加" + } + }, + "groupsEditor": { + "title": "プロキシグループを編集", + "errors": { + "nameRequired": "プロキシグループ名は必須です", + "nameExists": "プロキシグループ名はすでに存在します" + }, + "fields": { + "type": "プロキシグループタイプ", + "name": "プロキシグループ名", + "icon": "プロキシグループアイコン", + "proxies": "プロキシを導入", + "provider": "プロキシプロバイダーを導入", + "healthCheckUrl": "ヘルスチェックURL", + "expectedStatus": "期待するステータスコード", + "interval": "チェック間隔", + "timeout": "タイムアウト時間", + "maxFailedTimes": "最大失敗回数", + "interfaceName": "出力インターフェース", + "routingMark": "ルーティングマーク", + "filter": "ノードをフィルタリング", + "excludeFilter": "除外ノード", + "excludeType": "除外ノードタイプ", + "includeAll": "すべての出力プロキシ、プロキシプロバイダーを導入", + "includeAllProxies": "すべての出力プロキシを導入", + "includeAllProviders": "すべてのプロキシプロバイダーを導入" + }, + "toggles": { + "lazy": "遅延モード", + "disableUdp": "UDPを無効にする", + "hidden": "プロキシグループを隠す" + }, + "actions": { + "prepend": "前置プロキシグループを追加", + "append": "後置プロキシグループを追加" + } + }, + "menu": { + "home": "ホーム", + "select": "使用する", + "editInfo": "情報を編集", + "editFile": "ファイルを編集", + "editRules": "ルールを編集", + "editProxies": "ノードを編集", + "editGroups": "プロキシグループを編集", + "extendConfig": "拡張上書き設定", + "extendScript": "拡張スクリプト", + "openFile": "ファイルを開く", + "update": "更新", + "updateViaProxy": "Update via proxy", + "delete": "削除" + }, + "item": { + "tooltips": { + "showLast": "Click to show last update time", + "showNext": "Click to show next update" + }, + "status": { + "lastUpdateFailed": "前回の更新に失敗しました。", + "nextUp": "次回の更新", + "noSchedule": "予定がありません。", + "unknown": "不明", + "autoUpdateDisabled": "自動更新が無効になっています。" + } + }, + "confirm": { + "delete": { + "title": "削除を確認", + "message": "この操作は元に戻せません" + } + }, + "logViewer": { + "title": "スクリプトコンソール出力" + }, + "more": { + "global": { + "merge": "Global Merge", + "script": "Global Script" + }, + "chips": { + "merge": "Merge", + "script": "Script" + } + }, + "editor": { + "format": "文書を整形する", + "readOnlyMessage": "読み取り専用モードでは編集できません。" + } + }, + "home": { + "proxyTunCard": { + "status": { + "systemProxyEnabled": "システムプロキシが有効になっています。アプリケーションはプロキシを通じてネットワークにアクセスします。", + "systemProxyDisabled": "システムプロキシが無効になっています。ほとんどのユーザーはこのオプションをオンにすることをお勧めします。", + "tunModeServiceRequired": "TUNモードはサービスモードが必要です。まずサービスをインストールしてください。", + "tunModeEnabled": "TUNモードが有効になっています。アプリケーションは仮想ネットワークカードを通じてネットワークにアクセスします。", + "tunModeDisabled": "TUNモードが無効になっています。特殊なアプリケーションに適しています。" + }, + "tooltips": { + "systemProxy": "オペレーティングシステムのプロキシ設定を変更します。有効にできない場合は、手動でオペレーティングシステムのプロキシ設定を変更してください。", + "tunMode": "TUNモードは全てのアプリケーションのトラフィックを制御できます。システムプロキシ設定に従わない特殊なアプリケーションに適しています。" + } + }, + "clashInfo": { + "title": "Clash情報", + "fields": { + "coreVersion": "コアバージョン", + "systemProxyAddress": "システムプロキシアドレス", + "mixedPort": "Mixed Port", + "uptime": "稼働時間", + "rulesCount": "ルール数" + } + }, + "systemInfo": { + "title": "システム情報", + "fields": { + "osInfo": "オペレーティングシステム情報", + "autoLaunch": "起動時に自動起動", + "runningMode": "実行モード", + "lastCheckUpdate": "最後の更新チェック", + "vergeVersion": "Vergeバージョン" + }, + "actions": { + "settings": "設定" + }, + "labels": { + "enabled": "有効", + "disabled": "無効" + }, + "tooltips": { + "autoLaunchAdmin": "管理者モードでは起動時の自動起動がサポートされない場合があります。" + }, + "badges": { + "adminMode": "管理者モード", + "serviceMode": "サービスモード", + "sidecarMode": "ユーザーモード", + "adminServiceMode": "Admin + Service Mode" + } + }, + "ipInfo": { + "title": "IP情報", + "errors": { + "load": "IP情報の取得に失敗しました。" + }, + "labels": { + "retry": "Retry", + "ip": "IP", + "asn": "自治システム番号", + "isp": "インターネットサービスプロバイダー", + "org": "組織", + "location": "位置", + "timezone": "タイムゾーン", + "autoRefresh": "自動更新", + "unknown": "不明" + } + }, + "traffic": { + "metrics": { + "uploadSpeed": "アップロード速度", + "downloadSpeed": "ダウンロード速度", + "activeConnections": "アクティブな接続", + "uploaded": "アップロード量", + "downloaded": "ダウンロード量", + "memoryUsage": "コアメモリ使用量" + }, + "legends": { + "upload": "アップロード", + "download": "ダウンロード" + }, + "patterns": { + "minutes": "{{time}} Minutes" + } + }, + "currentProxy": { + "title": "現在のノード", + "actions": { + "refreshDelay": "遅延テスト" + }, + "labels": { + "globalMode": "グローバルモード", + "directMode": "直接接続モード", + "group": "プロキシグループ", + "proxy": "ノード", + "noActiveNode": "アクティブなプロキシノードがありません。" + } + }, + "profile": { + "title": "プロファイル", + "actions": { + "import": "インポート" + }, + "labels": { + "from": "から", + "updateTime": "更新時間", + "usedTotal": "使用済み / 合計", + "expireTime": "有効期限", + "clickToImport": "クリックしてサブスクリプションをインポート" + } + }, + "page": { + "title": "ホーム", + "tooltips": { + "lightweightMode": "軽量モード", + "manual": "マニュアル", + "settings": "ホーム設定" + }, + "cards": { + "trafficStats": "トラフィック統計", + "networkSettings": "ネットワーク設定", + "proxyMode": "プロキシモード" + }, + "settings": { + "title": "ホーム設定", + "cards": { + "profile": "プロファイルカード", + "currentProxy": "現在のプロキシカード", + "network": "ネットワーク設定カード", + "proxyMode": "プロキシモードカード", + "traffic": "トラフィック統計カード", + "tests": "ウェブサイトテストカード", + "ip": "IP情報カード", + "clashInfo": "Clash情報カード", + "systemInfo": "システム情報カード" + } + } + } + }, + "connection": { + "fields": { + "host": "ホスト", + "downloaded": "ダウンロード量", + "uploaded": "アップロード量", + "dlSpeed": "ダウンロード速度", + "ulSpeed": "アップロード速度", + "chains": "チェーン", + "rule": "ルール", + "process": "プロセス", + "time": "接続時間", + "source": "送信元アドレス", + "destination": "宛先アドレス", + "destinationPort": "宛先ポート", + "type": "タイプ" + }, + "actions": { + "closeConnection": "接続を閉じる" + }, + "order": { + "default": "Default", + "uploadSpeed": "アップロード速度", + "downloadSpeed": "ダウンロード速度" + } + }, + "settings": { + "system": { + "title": "システム設定", + "toggles": { + "tunMode": "仮想ネットワークカードモード", + "systemProxy": "システムプロキシ" + }, + "labels": { + "autoLaunch": "起動時に自動起動", + "silentStart": "サイレント起動" + }, + "tooltips": { + "autoLaunchAdmin": "管理者モードでは起動時の自動起動がサポートされない場合があります。", + "silentStart": "アプリケーションを起動すると、バックグラウンドモードで実行され、アプリケーションパネルは表示されません。" + } + }, + "proxyControl": { + "labels": { + "systemProxy": "システムプロキシ", + "tunMode": "仮想ネットワークカードモード" + }, + "tooltips": { + "systemProxy": "オペレーティングシステムのプロキシ設定を変更します。有効にできない場合は、手動でオペレーティングシステムのプロキシ設定を変更してください。", + "tunMode": "TUN(仮想ネットワークカード)モードはシステムのすべてのトラフィックを制御します。有効にすると、システムプロキシを開く必要はありません。", + "tunUnavailable": "TUNモードはサービスモードまたは管理者モードが必要です" + }, + "actions": { + "installService": "サービスをインストール", + "uninstallService": "サービスのアンインストール" + } + }, + "externalController": { + "title": "外部コントローラーの監視アドレス", + "fields": { + "enable": "外部コントローラーを有効化", + "address": "外部コントローラーの監視アドレス", + "secret": "APIアクセスキー" + }, + "placeholders": { + "address": "必須", + "secret": "推奨設定" + }, + "tooltips": { + "copy": "クリップボードにコピー" + }, + "messages": { + "addressRequired": "コントローラーのアドレスは空にできません", + "secretRequired": "シークレットを空にすることはできません", + "copyFailed": "コピーに失敗しました", + "controllerCopied": "API ポートがクリップボードにコピーされました", + "secretCopied": "API キーがクリップボードにコピーされました" + } + }, + "externalCors": { + "title": "外部 CORS 設定", + "fields": { + "allowPrivateNetwork": "プライベートネットワークへのアクセスを許可", + "allowedOrigins": "許可されたオリジン" + }, + "placeholders": { + "origin": "有効なURLを入力してください" + }, + "actions": { + "add": "追加" + }, + "messages": { + "alwaysIncluded": "常に含まれるオリジン: {{urls}}" + }, + "tooltips": { + "open": "外部 CORS 設定" + } + }, + "clash": { + "title": "Clash設定", + "items": { + "allowLan": "LAN接続を許可", + "dnsOverwrite": "DNS上書き", + "ipv6": "IPv6", + "unifiedDelay": "統一遅延", + "logLevel": "ログレベル", + "portConfig": "ポート設定", + "external": "外部制御", + "webUI": "Webインターフェース", + "clashCore": "Clashコア", + "openUwpTool": "UWPツールを開く", + "updateGeoData": "GeoDataを更新" + }, + "tooltips": { + "networkInterface": "ネットワークインターフェース", + "unifiedDelay": "統一遅延を有効にすると、2回の遅延テストが行われ、接続ハンドシェイクなどによる異なるタイプのノードの遅延差を解消します。", + "logLevel": "ログディレクトリのServiceフォルダ内のコアログファイルにのみ適用されます。", + "openUwpTool": "Windows 8以降では、UWPアプリケーション(Microsoft Storeなど)がローカルホストのネットワークサービスに直接アクセスすることが制限されています。このツールを使用すると、この制限を回避できます。" + }, + "options": { + "logLevel": { + "debug": "Debug", + "info": "Info", + "warning": "Warn", + "error": "Error", + "silent": "Silent" + } + }, + "messages": { + "geoDataUpdated": "GeoDataが更新されました。" + }, + "port": { + "title": "ポート設定", + "fields": { + "mixed": "混合プロキシポート", + "socks": "SOCKSプロキシポート", + "http": "HTTP(S)プロキシポート", + "redir": "Redir透明プロキシポート", + "tproxy": "TPROXY透明プロキシポート" + }, + "actions": { + "random": "ランダムポート" + }, + "messages": { + "saved": "Port settings saved", + "saveFailed": "Failed to save port settings" + } + } + }, + "liteMode": { + "title": "軽量モード設定", + "actions": { + "enterNow": "今すぐ軽量モードに入る" + }, + "toggles": { + "autoEnter": "自動的に軽量モードに入る" + }, + "tooltips": { + "autoEnter": "有効にすると、ウィンドウを閉じてから一定時間後に自動的に軽量モードが有効になります。" + }, + "fields": { + "delay": "自動的に軽量モードに入るまでの遅延時間" + }, + "messages": { + "autoEnterHint": "ウィンドウを閉じると、{{n}}分後に自動的に軽量モードが有効になります。" + } + }, + "backup": { + "title": "バックアップ設定", + "tabs": { + "local": "Local backup", + "webdav": "WebDAV backup" + }, + "actions": { + "selectTarget": "Select backup target", + "backup": "バックアップ", + "refresh": "更新", + "save": "保存", + "export": "Export", + "exportBackup": "Export Backup", + "delete": "削除", + "deleteBackup": "バックアップを削除", + "restore": "復元", + "restoreBackup": "バックアップを復元" + }, + "fields": { + "webdavUrl": "WebDAVサーバーのURL http(s)://", + "username": "ユーザー名", + "password": "パスワード", + "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." + }, + "messages": { + "webdavUrlRequired": "WebDAVサーバーのURLは必須です。", + "invalidWebdavUrl": "無効なWebDAVサーバーのURL形式", + "usernameRequired": "ユーザー名は必須です。", + "passwordRequired": "パスワードは必須です。", + "webdavConfigSaved": "WebDAV設定が保存されました。", + "webdavConfigSaveFailed": "WebDAV設定の保存に失敗しました: {{error}}", + "backupCreated": "バックアップが作成されました。", + "backupFailed": "バックアップに失敗しました: {{error}}", + "localBackupCreated": "Local backup created successfully", + "localBackupFailed": "Local backup failed", + "restoreSuccess": "復元に成功しました。アプリケーションは1秒後に再起動します。", + "localBackupExported": "Local backup exported successfully", + "localBackupExportFailed": "Failed to export local backup", + "confirmDelete": "Confirm to delete this backup file?", + "confirmRestore": "Confirm to restore this backup file?" + }, + "table": { + "filename": "ファイル名", + "backupTime": "バックアップ時間", + "actions": "操作", + "noBackups": "バックアップがありません。", + "rowsPerPage": "Rows per page" + } + }, + "verge": { + "basic": { + "title": "Verge基本設定", + "items": { + "language": "言語設定", + "themeMode": "テーマモード", + "trayClickEvent": "トレイアイコンクリックイベント", + "copyEnvType": "環境変数タイプをコピー", + "startPage": "起動ページ", + "startupScript": "起動スクリプト", + "themeSetting": "テーマ設定", + "layoutSetting": "レイアウト設定", + "misc": "その他の設定", + "hotkeySetting": "ホットキー設定" + }, + "actions": { + "browse": "参照", + "clear": "クリア" + }, + "trayOptions": { + "showMainWindow": "メインウィンドウを表示", + "showTrayMenu": "トレイメニューを表示", + "disable": "無効にする" + } + }, + "advanced": { + "title": "Verge詳細設定", + "items": { + "backupSetting": "バックアップ設定", + "runtimeConfig": "現在の設定", + "openConfDir": "設定ディレクトリを開く", + "openCoreDir": "コアディレクトリを開く", + "openLogsDir": "ログディレクトリを開く", + "checkUpdates": "更新を確認", + "openDevTools": "開発者ツールを開く", + "liteModeSettings": "軽量モード設定", + "exit": "終了", + "exportDiagnostics": "診断情報をエクスポート", + "vergeVersion": "Vergeバージョン" + }, + "tooltips": { + "backupInfo": "WebDAVを使用した設定ファイルのバックアップをサポートします。", + "openConfDir": "アプリケーションが正常に動作しない場合は、このフォルダ内のすべてのファイルを!バックアップ!して削除し、アプリケーションを再起動してください。", + "liteMode": "GUIを閉じて、コアのみを実行します。" + }, + "actions": { + "copyVersion": "Copy Version" + }, + "notifications": { + "latestVersion": "現在は最新バージョンです。", + "versionCopied": "Version copied to clipboard" + } + }, + "theme": { + "title": "テーマ設定", + "fields": { + "primaryColor": "主要色", + "secondaryColor": "次要色", + "primaryText": "テキスト主要色", + "secondaryText": "テキスト次要色", + "infoColor": "情報色", + "warningColor": "警告色", + "errorColor": "エラー色", + "successColor": "成功色", + "fontFamily": "フォントファミリー", + "cssInjection": "CSSインジェクション" + }, + "actions": { + "editCss": "Edit CSS" + }, + "dialogs": { + "editCssTitle": "Edit CSS" + } + }, + "layout": { + "title": "レイアウト設定", + "fields": { + "preferSystemTitlebar": "Prefer System Titlebar", + "trafficGraph": "トラフィックグラフ", + "memoryUsage": "コアメモリ使用量", + "proxyGroupIcon": "プロキシグループアイコン", + "hoverNavigator": "Hover Jump Navigator", + "hoverNavigatorDelay": "Hover Jump Navigator Delay", + "navIcon": "ナビゲーションバーアイコン", + "trayIcon": "トレイアイコン", + "showProxyGroupsInline": "Show Proxy Groups Inline", + "commonTrayIcon": "通常のトレイアイコン", + "systemProxyTrayIcon": "システムプロキシトレイアイコン", + "tunTrayIcon": "TUNモードトレイアイコン" + }, + "tooltips": { + "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", + "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" + }, + "options": { + "icon": { + "monochrome": "モノクロアイコン", + "colorful": "カラーアイコン", + "disable": "無効にする" + } + } + } + }, + "common": { + "notifications": { + "copySuccess": "コピー成功" + } + }, + "misc": { + "title": "その他の設定", + "fields": { + "appLogLevel": "アプリケーションログレベル", + "appLogMaxSize": "App Log Max Size", + "appLogMaxCount": "App Log Max Count", + "autoCloseConnections": "接続を自動的に閉じる", + "autoCheckUpdate": "自動更新チェック", + "enableBuiltinEnhanced": "組み込み拡張機能を有効にする", + "proxyLayoutColumns": "プロキシページのレイアウト列数", + "autoLogClean": "ログを自動的にクリーンアップ", + "autoDelayDetection": "自動遅延検出", + "defaultLatencyTest": "デフォルトの遅延テストURL", + "defaultLatencyTimeout": "テストタイムアウト時間" + }, + "tooltips": { + "autoCloseConnections": "プロキシグループで選択されたノードまたはプロキシモードが変更されたときに、既存の接続を閉じます。", + "enableBuiltinEnhanced": "設定ファイルの互換性処理", + "autoDelayDetection": "バックグラウンドで現在のノードのレイテンシーを定期的にテストします", + "defaultLatencyTest": "HTTPクライアントリクエストテストにのみ使用され、設定ファイルには影響しません。" + }, + "options": { + "proxyLayoutColumns": { + "auto": "自動列数" + }, + "autoLogClean": { + "never": "クリーンアップしない", + "retainDays": "{{n}}日間保持" + } + } + }, + "update": { + "title": "New Version v{{version}}", + "actions": { + "goToRelease": "リリースページに移動", + "update": "更新" + }, + "messages": { + "portableError": "ポータブル版ではアプリケーション内での更新はサポートされていません。手動でダウンロードして置き換えてください。", + "breakChangeError": "このバージョンは重大な更新であり、アプリケーション内での更新はサポートされていません。アンインストールしてから手動でダウンロードしてインストールしてください。" + } + }, + "sysproxy": { + "title": "システムプロキシ設定", + "fieldsets": { + "currentStatus": "現在のシステムプロキシ" + }, + "fields": { + "enableStatus": "有効状態:", + "serverAddr": "サーバーアドレス:", + "pacUrl": "PACアドレス:", + "proxyHost": "プロキシホスト", + "usePacMode": "PACモードを使用", + "proxyGuard": "システムプロキシガード", + "guardDuration": "プロキシガード間隔", + "alwaysUseDefaultBypass": "常にデフォルトのバイパスを使用", + "proxyBypass": "プロキシバイパス設定:", + "bypass": "現在のバイパス:", + "pacScriptContent": "PACスクリプト内容" + }, + "tooltips": { + "proxyGuard": "他のソフトウェアがオペレーティングシステムのプロキシ設定を変更するのを防ぐために有効にします。" + }, + "messages": { + "durationTooShort": "プロキシデーモンの間隔は1秒以上に設定する必要があります。", + "invalidBypass": "無効なバイパス形式", + "invalidProxyHost": "プロキシホストの形式が無効です" + }, + "actions": { + "editPac": "編集 PAC" + } + }, + "tun": { + "title": "仮想ネットワークカードモード", + "actions": { + "reset": "デフォルト値にリセット" + }, + "fields": { + "stack": "TUNモードスタック", + "device": "Device Name", + "autoRoute": "グローバルルートを自動設定", + "strictRoute": "厳格なルート", + "autoDetectInterface": "トラフィックの出口インターフェースを自動選択", + "dnsHijack": "DNSハイジャック", + "mtu": "最大転送単位" + }, + "tooltips": { + "dnsHijack": "Please use , to separate multiple DNS servers" + }, + "messages": { + "applied": "設定が適用されました。" + } + }, + "dns": { + "dialog": { + "title": "DNS上書き", + "warning": "ここの設定がわからない場合は、変更しないでください。DNS上書きを有効にしたままにしてください。" + }, + "sections": { + "general": "DNS設定", + "fallbackFilter": "フォールバックフィルター設定", + "hosts": "Hosts設定" + }, + "fields": { + "enable": "DNSを有効にする", + "listen": "DNS監視アドレス", + "enhancedMode": "拡張モード", + "fakeIpRange": "Fake IP範囲", + "fakeIpFilterMode": "Fake IPフィルターモード", + "ipv6": { + "label": "IPv6", + "description": "IPv6 DNS解決を有効にする" + }, + "preferH3": { + "label": "HTTP/3を優先する", + "description": "DNS DOHでHTTP/3プロトコルを使用する" + }, + "respectRules": { + "label": "ルートルールに従う", + "description": "DNS接続はルートルールに従います。" + }, + "useHosts": { + "label": "Hostsファイルを使用する", + "description": "Hostsファイルを使用してホスト名を解決する" + }, + "useSystemHosts": { + "label": "システムのHostsファイルを使用する", + "description": "システムのHostsファイルを使用してホスト名を解決する" + }, + "directPolicy": { + "label": "直接接続の名前解決サーバーはポリシーに従う", + "description": "名前解決サーバーのポリシーに従うかどうか" + }, + "defaultNameserver": { + "label": "デフォルトの名前解決サーバー", + "description": "名前解決サーバーを解決するために使用されるデフォルトのDNSサーバー" + }, + "nameserver": { + "label": "名前解決サーバー", + "description": "DNSサーバーのリスト。カンマで区切って指定します。" + }, + "fallback": { + "label": "フォールバックサーバー", + "description": "フォールバックDNSサーバーのリスト。カンマで区切って指定します。" + }, + "proxy": { + "label": "プロキシサーバーの名前解決サーバー", + "description": "プロキシノードの名前解決サーバー。プロキシノードのドメイン名を解決するためにのみ使用されます。カンマで区切って指定します。" + }, + "directNameserver": { + "label": "直接接続の名前解決サーバー", + "description": "直接接続の出口名前解決サーバー。systemキーワードをサポートします。カンマで区切って指定します。" + }, + "fakeIpFilter": { + "label": "Fake IPフィルター", + "description": "Fake IP解決をスキップするドメイン名。カンマで区切って指定します。" + }, + "nameserverPolicy": { + "label": "名前解決サーバーのポリシー", + "description": "特定のドメインのDNSサーバー。複数のサーバーはセミコロンで区切って指定します。形式: domain=server1;server2" + }, + "geoipFiltering": { + "label": "GeoIPフィルタリング", + "description": "フォールバックのGeoIPフィルタリングを有効にする" + }, + "geoipCode": "GeoIP国コード", + "fallbackIpCidr": { + "label": "フォールバックIP CIDR", + "description": "フォールバックサーバーを使用しないIP CIDR。カンマで区切って指定します。" + }, + "fallbackDomain": { + "label": "フォールバックドメイン", + "description": "フォールバックサーバーを使用するドメイン名。カンマで区切って指定します。" + }, + "hosts": { + "label": "Hosts", + "description": "カスタムのドメイン名からIPまたはドメイン名へのマッピング。カンマで区切って指定します。" + } + }, + "messages": { + "saved": "DNS設定が保存されました。", + "configError": "DNS configuration error:" + }, + "errors": { + "invalid": "Invalid configuration" + } + }, + "page": { + "title": "設定", + "actions": { + "manual": "マニュアル", + "telegram": "Telegramチャンネル", + "github": "GitHubリポジトリ" + } + } + }, + "providers": { + "notices": { + "updateSuccess": "{{name}} updated successfully", + "updateFailed": "Failed to update {{name}}: {{message}}", + "genericError": "Update failed: {{message}}", + "none": "No providers available to update", + "allUpdated": "All providers updated successfully" + } + }, + "test": { + "item": { + "actions": { + "test": "テスト" + } + }, + "viewer": { + "title": { + "create": "新規テストを作成", + "edit": "テストを編集" + }, + "fields": { + "url": "テストURL" + } + }, + "page": { + "title": "テスト", + "actions": { + "testAll": "すべてテスト", + "new": "新規作成" + } + } + }, + "proxies": { + "page": { + "title": { + "default": "プロキシグループ", + "chainMode": "Proxy Chain Mode" + }, + "actions": { + "toggleChain": "🔗 チェーンプロキシ", + "connect": "Connect", + "disconnect": "Disconnect", + "connecting": "Connecting...", + "clearChainConfig": "Delete Chain Config" + }, + "provider": { + "title": "プロキシプロバイダー", + "actions": { + "updateAll": "すべて更新", + "update": "更新" + } + }, + "rules": { + "title": "Proxy Rules", + "select": "Select Rules" + }, + "labels": { + "proxyCount": "ノード数", + "delayCheckReset": "遅延テストを実行して固定を解除する" + }, + "tooltips": { + "locate": "現在のノード", + "delayCheck": "遅延テスト", + "sortDefault": "デフォルトでソート", + "sortDelay": "遅延でソート", + "sortName": "名前でソート", + "delayCheckUrl": "遅延テストURL", + "showBasic": "ノードの詳細を隠す", + "showDetail": "ノードの詳細を表示する", + "filter": "ノードをフィルタリング" + }, + "placeholders": { + "filter": "フィルタリング条件", + "delayCheckUrl": "遅延テストURL" + }, + "chain": { + "header": "Chain Proxy Config", + "empty": "No proxy chain configured", + "instruction": "Click nodes in order to add to proxy chain", + "minimumNodes": "Chain proxy requires at least 2 nodes", + "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", + "connectFailed": "Failed to connect to proxy chain", + "disconnectFailed": "Failed to disconnect from proxy chain", + "duplicateNode": "Proxy node already exists in chain" + } + } + }, + "rules": { + "page": { + "title": "ルール", + "provider": { + "trigger": "ルールプロバイダー", + "dialogTitle": "ルールプロバイダー", + "actions": { + "updateAll": "すべて更新", + "update": "更新" + } + } + } + }, + "profiles": { + "page": { + "title": "プロファイル", + "actions": { + "updateAll": "すべてのプロファイルを更新", + "viewRuntimeConfig": "実行時のプロファイルを表示", + "reactivate": "プロファイルを再アクティブ化", + "import": "インポート", + "new": "新規作成" + }, + "batch": { + "title": "バッチ操作", + "delete": "選択したプロファイルを削除", + "selectAll": "すべて選択", + "deselectAll": "すべての選択を解除", + "done": "完了", + "selected": "選択済み", + "items": "アイテム" + }, + "import": { + "placeholder": "プロファイルファイルのURL", + "paste": "貼り付け", + "clear": "クリア" + }, + "errors": { + "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", + "onlyYaml": "YAMLファイルのみサポートされています。" + }, + "notifications": { + "importRetry": "インポートに失敗しました。Clashプロキシを使用して再試行します...", + "importFail": "Clashプロキシを使用してもインポートに失敗しました。", + "importNeedsRefresh": "Profile imported but may need manual refresh", + "importSuccess": "Profile imported successfully, please restart if not visible", + "profileSwitched": "プロファイルが切り替えられました。", + "profileReactivated": "プロファイルが再アクティブ化されました。", + "switchInterrupted": "Profile switch interrupted by new selection", + "batchDeleted": "選択したプロファイルが正常に削除されました" + }, + "notices": { + "forceRefreshCompleted": "Force refresh completed", + "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" + } + } + }, + "connections": { + "page": { + "title": "接続", + "summary": { + "downloaded": "ダウンロード量", + "uploaded": "アップロード量" + }, + "actions": { + "listView": "リストビュー", + "tableView": "テーブルビュー", + "pause": "一時停止", + "resume": "再開", + "closeAll": "すべて閉じる" + } + } + }, + "logs": { + "page": { + "title": "ログ", + "actions": { + "pause": "一時停止", + "resume": "再開", + "clear": "クリア" + }, + "filters": { + "all": "ALL", + "debug": "DEBUG", + "info": "INFO", + "warn": "WARN", + "error": "ERROR" + } + } + }, + "unlock": { + "page": { + "title": "ロック解除テスト", + "actions": { + "testing": "テスト中..." + }, + "empty": "アンロックテスト項目はありません" + } } } diff --git a/src/locales/ko.json b/src/locales/ko.json index 3d3bf526..cd30ec51 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -13,192 +13,6 @@ "Save": "저장", "Delete": "삭제", "Enable": "활성화", - "pages": { - "home": { - "title": "홈", - "tooltips": { - "lightweightMode": "Lightweight Mode", - "manual": "Manual", - "settings": "Home Settings" - }, - "cards": { - "trafficStats": "Traffic Stats", - "networkSettings": "Network Settings", - "proxyMode": "Proxy Mode" - }, - "settings": { - "title": "Home Settings", - "cards": { - "profile": "Profile Card", - "currentProxy": "Current Proxy Card", - "network": "Network Settings Card", - "proxyMode": "Proxy Mode Card", - "traffic": "Traffic Stats Card", - "tests": "Website Tests Card", - "ip": "IP Information Card", - "clashInfo": "Clash Info Cards", - "systemInfo": "System Info Cards" - } - } - }, - "proxies": { - "title": { - "default": "프록시 그룹", - "chainMode": "Proxy Chain Mode" - }, - "actions": { - "toggleChain": "🔗 체인 프록시", - "connect": "Connect", - "disconnect": "Disconnect", - "connecting": "Connecting...", - "clearChainConfig": "Delete Chain Config" - }, - "provider": { - "title": "프록시 제공자", - "actions": { - "updateAll": "모두 업데이트", - "update": "업데이트" - } - }, - "rules": { - "title": "Proxy Rules", - "select": "Select Rules" - }, - "labels": { - "proxyCount": "프록시 개수", - "delayCheckReset": "고정 취소를 위한 지연 확인" - }, - "tooltips": { - "locate": "로케이트", - "delayCheck": "지연 확인", - "sortDefault": "기본값으로 정렬", - "sortDelay": "지연시간으로 정렬", - "sortName": "이름으로 정렬", - "delayCheckUrl": "지연 확인 URL", - "showBasic": "프록시 기본", - "showDetail": "프록시 상세", - "filter": "필터" - }, - "placeholders": { - "filter": "Filter conditions", - "delayCheckUrl": "지연 확인 URL" - }, - "chain": { - "header": "Chain Proxy Config", - "empty": "No proxy chain configured", - "instruction": "Click nodes in order to add to proxy chain", - "minimumNodes": "Chain proxy requires at least 2 nodes", - "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", - "connectFailed": "Failed to connect to proxy chain", - "disconnectFailed": "Failed to disconnect from proxy chain", - "duplicateNode": "Proxy node already exists in chain" - } - }, - "rules": { - "title": "규칙", - "provider": { - "trigger": "규칙 제공자", - "dialogTitle": "규칙 제공자", - "actions": { - "updateAll": "모두 업데이트", - "update": "업데이트" - } - } - }, - "profiles": { - "title": "프로필", - "actions": { - "updateAll": "모든 프로필 업데이트", - "viewRuntimeConfig": "런타임 설정 보기", - "reactivate": "프로필 재활성화", - "import": "가져오기", - "new": "새로 만들기" - }, - "batch": { - "title": "Batch Operations", - "delete": "Delete Selected Profiles", - "selectAll": "Select All", - "deselectAll": "Deselect All", - "done": "Done", - "selected": "Selected", - "items": "items" - }, - "import": { - "placeholder": "프로필 URL", - "paste": "붙여넣기", - "clear": "지우기" - }, - "errors": { - "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", - "onlyYaml": "Only YAML Files Supported" - }, - "notifications": { - "importRetry": "Import failed, retrying with Clash proxy...", - "importFail": "Import failed even with Clash proxy", - "importNeedsRefresh": "Profile imported but may need manual refresh", - "importSuccess": "Profile imported successfully, please restart if not visible", - "profileSwitched": "Profile Switched", - "profileReactivated": "Profile Reactivated", - "switchInterrupted": "Profile switch interrupted by new selection", - "batchDeleted": "Selected profiles deleted successfully" - }, - "notices": { - "forceRefreshCompleted": "Force refresh completed", - "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" - } - }, - "connections": { - "title": "연결", - "summary": { - "downloaded": "다운로드됨", - "uploaded": "업로드됨" - }, - "actions": { - "listView": "목록 보기", - "tableView": "테이블 보기", - "pause": "일시 정지", - "resume": "재개", - "closeAll": "모두 닫기" - } - }, - "settings": { - "title": "설정", - "actions": { - "manual": "Manual", - "telegram": "Telegram Channel", - "github": "Github Repo" - } - }, - "logs": { - "title": "로그", - "actions": { - "pause": "일시 정지", - "resume": "재개", - "clear": "지우기" - }, - "filters": { - "all": "ALL", - "debug": "DEBUG", - "info": "INFO", - "warn": "WARN", - "error": "ERROR" - } - }, - "test": { - "title": "테스트", - "actions": { - "testAll": "모두 테스트", - "new": "새로 만들기" - } - }, - "unlock": { - "title": "Unlock Test", - "actions": { - "testing": "테스트 중..." - }, - "empty": "No unlock test items" - } - }, "Proxies": "프록시", "Update At": "업데이트 시간", "rule": "규칙", @@ -380,807 +194,6 @@ "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", - "components": { - "ruleEditor": { - "title": "규칙 편집", - "form": { - "labels": { - "type": "규칙 유형", - "content": "규칙 내용", - "proxyPolicy": "프록시 정책" - }, - "toggles": { - "noResolve": "해석 안함" - }, - "actions": { - "prependRule": "규칙 앞에 추가", - "appendRule": "규칙 뒤에 추가" - }, - "validation": { - "conditionRequired": "규칙 조건 필요", - "invalidRule": "잘못된 규칙" - } - } - }, - "profile": { - "viewer": { - "title": { - "create": "프로필 생성", - "edit": "프로필 편집" - }, - "buttons": { - "save": "저장", - "cancel": "취소" - }, - "fields": { - "type": "유형", - "name": "이름", - "description": "설명", - "subscriptionUrl": "구독 URL", - "httpTimeout": "HTTP Request Timeout", - "updateInterval": "업데이트 간격", - "useSystemProxy": "시스템 프록시 사용", - "useClashProxy": "Clash 프록시 사용", - "acceptInvalidCerts": "잘못된 인증서 허용(위험)", - "allowAutoUpdate": "Allow Auto Update" - }, - "notifications": { - "creationRetry": "Profile creation failed, retrying with Clash proxy...", - "creationSuccess": "Profile creation succeeded with Clash proxy" - } - }, - "fileInput": { - "chooseFile": "파일 선택" - }, - "notifications": { - "saved": "Saved successfully" - }, - "proxiesEditor": { - "title": "프록시 편집", - "placeholders": { - "multiUri": "여러 URI의 경우 줄바꿈 사용(Base64 인코딩 지원)" - }, - "actions": { - "prepend": "프록시 앞에 추가", - "append": "프록시 뒤에 추가" - } - }, - "groupsEditor": { - "title": "프록시 그룹 편집", - "errors": { - "nameRequired": "그룹 이름 필수", - "nameExists": "그룹 이름이 이미 존재함" - }, - "fields": { - "type": "그룹 유형", - "name": "그룹 이름", - "icon": "Proxy Group Icon", - "proxies": "프록시 사용", - "provider": "제공자 사용", - "healthCheckUrl": "상태 확인 URL", - "expectedStatus": "예상 상태", - "interval": "간격", - "timeout": "타임아웃", - "maxFailedTimes": "최대 실패 횟수", - "interfaceName": "인터페이스 이름", - "routingMark": "라우팅 마크", - "filter": "필터", - "excludeFilter": "제외 필터", - "excludeType": "제외 유형", - "includeAll": "모든 프록시 및 제공자 포함", - "includeAllProxies": "모든 프록시 포함", - "includeAllProviders": "모든 제공자 포함" - }, - "toggles": { - "lazy": "지연 로딩", - "disableUdp": "UDP 비활성화", - "hidden": "숨김" - }, - "actions": { - "prepend": "그룹 앞에 추가", - "append": "그룹 뒤에 추가" - } - }, - "menu": { - "home": "홈", - "select": "선택", - "editInfo": "정보 편집", - "editFile": "파일 편집", - "editRules": "규칙 편집", - "editProxies": "프록시 편집", - "editGroups": "프록시 그룹 편집", - "extendConfig": "설정 확장", - "extendScript": "스크립트 확장", - "openFile": "파일 열기", - "update": "업데이트", - "updateViaProxy": "Update via proxy", - "delete": "삭제" - }, - "item": { - "tooltips": { - "showLast": "Click to show last update time", - "showNext": "Click to show next update" - }, - "status": { - "lastUpdateFailed": "Last Update failed", - "nextUp": "Next Up", - "noSchedule": "No schedule", - "unknown": "Unknown", - "autoUpdateDisabled": "Auto update disabled" - } - }, - "confirm": { - "delete": { - "title": "삭제 확인", - "message": "이 작업은 되돌릴 수 없습니다" - } - }, - "logViewer": { - "title": "스크립트 콘솔" - }, - "more": { - "global": { - "merge": "Global Merge", - "script": "Global Script" - }, - "chips": { - "merge": "Merge", - "script": "Script" - } - }, - "editor": { - "format": "문서 포맷", - "readOnlyMessage": "Cannot edit in read-only editor" - } - }, - "home": { - "proxyTunCard": { - "status": { - "systemProxyEnabled": "System proxy is enabled, your applications will access the network through the proxy", - "systemProxyDisabled": "System proxy is disabled, it is recommended for most users to turn on this option", - "tunModeServiceRequired": "TUN mode requires service mode, please install the service first", - "tunModeEnabled": "TUN mode is enabled, applications will access the network through the virtual network card", - "tunModeDisabled": "TUN mode is disabled, suitable for special applications" - }, - "tooltips": { - "systemProxy": "Enable to modify the operating system's proxy settings. If enabling fails, modify the operating system's proxy settings manually", - "tunMode": "TUN mode can take over all application traffic, suitable for special applications that do not follow the system proxy settings" - } - }, - "clashInfo": { - "title": "Clash Info", - "fields": { - "coreVersion": "Core Version", - "systemProxyAddress": "System Proxy Address", - "mixedPort": "Mixed Port", - "uptime": "Uptime", - "rulesCount": "Rules Count" - } - }, - "systemInfo": { - "title": "System Info", - "fields": { - "osInfo": "OS Info", - "autoLaunch": "Auto Launch", - "runningMode": "Running Mode", - "lastCheckUpdate": "Last Check Update", - "vergeVersion": "Verge Version" - }, - "actions": { - "settings": "설정" - }, - "labels": { - "enabled": "Enabled", - "disabled": "Disabled" - }, - "tooltips": { - "autoLaunchAdmin": "Administrator mode may not support auto launch" - }, - "badges": { - "adminMode": "Administrator Mode", - "serviceMode": "서비스 모드", - "sidecarMode": "User Mode", - "adminServiceMode": "Admin + Service Mode" - } - }, - "ipInfo": { - "title": "IP Information", - "errors": { - "load": "Failed to get IP info" - }, - "labels": { - "retry": "Retry", - "ip": "IP", - "asn": "ASN", - "isp": "ISP", - "org": "ORG", - "location": "Location", - "timezone": "Timezone", - "autoRefresh": "Auto refresh", - "unknown": "Unknown" - } - }, - "traffic": { - "metrics": { - "uploadSpeed": "업로드 속도", - "downloadSpeed": "다운로드 속도", - "activeConnections": "활성 연결", - "uploaded": "업로드됨", - "downloaded": "다운로드됨", - "memoryUsage": "메모리 사용량" - }, - "legends": { - "upload": "업로드", - "download": "다운로드" - }, - "patterns": { - "minutes": "{{time}} Minutes" - } - }, - "currentProxy": { - "title": "Current Node", - "actions": { - "refreshDelay": "지연 확인" - }, - "labels": { - "globalMode": "Global Mode", - "directMode": "Direct Mode", - "group": "Group", - "proxy": "Proxy", - "noActiveNode": "No active proxy node" - } - }, - "profile": { - "title": "프로필", - "actions": { - "import": "가져오기" - }, - "labels": { - "from": "출처", - "updateTime": "업데이트 시간", - "usedTotal": "사용됨 / 전체", - "expireTime": "만료 시간", - "clickToImport": "Click to import subscription" - } - } - }, - "connection": { - "fields": { - "host": "호스트", - "downloaded": "다운로드됨", - "uploaded": "업로드됨", - "dlSpeed": "다운로드 속도", - "ulSpeed": "업로드 속도", - "chains": "체인", - "rule": "규칙", - "process": "프로세스", - "time": "시간", - "source": "소스", - "destination": "목적지", - "destinationPort": "목적지 포트", - "type": "유형" - }, - "actions": { - "closeConnection": "연결 닫기" - }, - "order": { - "default": "Default", - "uploadSpeed": "업로드 속도", - "downloadSpeed": "다운로드 속도" - } - }, - "settings": { - "system": { - "title": "시스템 설정", - "toggles": { - "tunMode": "Tun 모드", - "systemProxy": "시스템 프록시" - }, - "labels": { - "autoLaunch": "Auto Launch", - "silentStart": "자동 시작" - }, - "tooltips": { - "autoLaunchAdmin": "Administrator mode may not support auto launch", - "silentStart": "Start the program in background mode without displaying the panel" - } - }, - "proxyControl": { - "labels": { - "systemProxy": "시스템 프록시", - "tunMode": "Tun 모드" - }, - "tooltips": { - "systemProxy": "Enable to modify the operating system's proxy settings. If enabling fails, modify the operating system's proxy settings manually", - "tunMode": "Tun (Virtual NIC) mode: Captures all system traffic, when enabled, there is no need to enable system proxy.", - "tunUnavailable": "TUN requires Service Mode or Admin Mode" - }, - "actions": { - "installService": "Install Service", - "uninstallService": "Uninstall Service" - } - }, - "externalController": { - "title": "External Controller", - "fields": { - "enable": "Enable External Controller", - "address": "External Controller", - "secret": "Core Secret" - }, - "placeholders": { - "address": "Required", - "secret": "Recommended" - }, - "tooltips": { - "copy": "Copy to clipboard" - }, - "messages": { - "addressRequired": "Controller address cannot be empty", - "secretRequired": "Secret cannot be empty", - "copyFailed": "Failed to copy", - "controllerCopied": "Controller address copied to clipboard", - "secretCopied": "Secret copied to clipboard" - } - }, - "externalCors": { - "title": "External Cors Configuration", - "fields": { - "allowPrivateNetwork": "Allow private network access", - "allowedOrigins": "Allowed Origins" - }, - "placeholders": { - "origin": "Please enter a valid url" - }, - "actions": { - "add": "Add" - }, - "messages": { - "alwaysIncluded": "Always included origins: {{urls}}" - }, - "tooltips": { - "open": "External Cors Settings" - } - }, - "clash": { - "title": "Clash 설정", - "items": { - "allowLan": "Allow LAN", - "dnsOverwrite": "DNS Overwrite", - "ipv6": "IPv6", - "unifiedDelay": "Unified Delay", - "logLevel": "로그 레벨", - "portConfig": "Port Config", - "external": "External", - "webUI": "Web UI", - "clashCore": "Clash Core", - "openUwpTool": "Open UWP tool", - "updateGeoData": "Update GeoData" - }, - "tooltips": { - "networkInterface": "Network Interface", - "unifiedDelay": "When unified delay is turned on, two delay tests will be performed to eliminate the delay differences between different types of nodes caused by connection handshakes, etc", - "logLevel": "This parameter is valid only for kernel log files in the log directory Service folder", - "openUwpTool": "Since Windows 8, UWP apps (such as Microsoft Store) are restricted from directly accessing local host network services, and this tool can be used to bypass this restriction" - }, - "options": { - "logLevel": { - "debug": "Debug", - "info": "Info", - "warning": "Warn", - "error": "Error", - "silent": "Silent" - } - }, - "messages": { - "geoDataUpdated": "GeoData Updated" - }, - "port": { - "title": "Port Config", - "fields": { - "mixed": "혼합 포트", - "socks": "Socks Port", - "http": "Http(s) Port", - "redir": "Redir Port", - "tproxy": "Tproxy Port" - }, - "actions": { - "random": "Random Port" - }, - "messages": { - "saved": "Port settings saved", - "saveFailed": "Failed to save port settings" - } - } - }, - "liteMode": { - "title": "LightWeight Mode Settings", - "actions": { - "enterNow": "Enter LightWeight Mode Now" - }, - "toggles": { - "autoEnter": "Auto Enter LightWeight Mode" - }, - "tooltips": { - "autoEnter": "Enable to automatically activate LightWeight Mode after the window is closed for a period of time" - }, - "fields": { - "delay": "Auto Enter LightWeight Mode Delay" - }, - "messages": { - "autoEnterHint": "When closing the window, LightWeight Mode will be automatically activated after {{n}} minutes" - } - }, - "backup": { - "title": "Backup Setting", - "tabs": { - "local": "Local backup", - "webdav": "WebDAV backup" - }, - "actions": { - "selectTarget": "Select backup target", - "backup": "Backup", - "refresh": "새로고침", - "save": "저장", - "export": "Export", - "exportBackup": "Export Backup", - "delete": "삭제", - "deleteBackup": "Delete Backup", - "restore": "Restore", - "restoreBackup": "Restore Backup" - }, - "fields": { - "webdavUrl": "WebDAV Server URL", - "username": "사용자 이름", - "password": "비밀번호", - "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." - }, - "messages": { - "webdavUrlRequired": "WebDAV URL cannot be empty", - "invalidWebdavUrl": "Invalid WebDAV URL format", - "usernameRequired": "Username cannot be empty", - "passwordRequired": "Password cannot be empty", - "webdavConfigSaved": "WebDAV configuration saved successfully", - "webdavConfigSaveFailed": "Failed to save WebDAV configuration: {{error}}", - "backupCreated": "Backup created successfully", - "backupFailed": "Backup failed: {{error}}", - "localBackupCreated": "Local backup created successfully", - "localBackupFailed": "Local backup failed", - "restoreSuccess": "Restore Success, App will restart in 1s", - "localBackupExported": "Local backup exported successfully", - "localBackupExportFailed": "Failed to export local backup", - "confirmDelete": "Confirm to delete this backup file?", - "confirmRestore": "Confirm to restore this backup file?" - }, - "table": { - "filename": "Filename", - "backupTime": "Backup Time", - "actions": "Actions", - "noBackups": "No backups available", - "rowsPerPage": "Rows per page" - } - }, - "verge": { - "basic": { - "title": "Verge 기본 설정", - "items": { - "language": "언어", - "themeMode": "테마 모드", - "trayClickEvent": "트레이 클릭 이벤트", - "copyEnvType": "환경 유형 복사", - "startPage": "시작 페이지", - "startupScript": "시작 스크립트", - "themeSetting": "Theme Setting", - "layoutSetting": "레이아웃 설정", - "misc": "Miscellaneous", - "hotkeySetting": "단축키 설정" - }, - "actions": { - "browse": "Browse", - "clear": "지우기" - }, - "trayOptions": { - "showMainWindow": "메인 창 표시", - "showTrayMenu": "트레이 메뉴 표시", - "disable": "비활성화" - } - }, - "advanced": { - "title": "Verge Advanced Setting", - "items": { - "backupSetting": "Backup Setting", - "runtimeConfig": "Runtime Config", - "openConfDir": "Open Conf Dir", - "openCoreDir": "Open Core Dir", - "openLogsDir": "Open Logs Dir", - "checkUpdates": "Check for Updates", - "openDevTools": "Dev Tools", - "liteModeSettings": "LightWeight Mode Settings", - "exit": "Exit", - "exportDiagnostics": "Export Diagnostic Info", - "vergeVersion": "Verge Version" - }, - "tooltips": { - "backupInfo": "Support local or WebDAV backup of configuration files", - "openConfDir": "If the software runs abnormally, BACKUP and delete all files in this folder then restart the software", - "liteMode": "Close the GUI and keep only the kernel running" - }, - "actions": { - "copyVersion": "Copy Version" - }, - "notifications": { - "latestVersion": "Currently on the Latest Version", - "versionCopied": "Version copied to clipboard" - } - }, - "theme": { - "title": "Theme Setting", - "fields": { - "primaryColor": "기본 색상", - "secondaryColor": "Secondary Color", - "primaryText": "Primary Text", - "secondaryText": "Secondary Text", - "infoColor": "Info Color", - "warningColor": "Warning Color", - "errorColor": "Error Color", - "successColor": "Success Color", - "fontFamily": "Font Family", - "cssInjection": "CSS Injection" - }, - "actions": { - "editCss": "Edit CSS" - }, - "dialogs": { - "editCssTitle": "Edit CSS" - } - }, - "layout": { - "title": "레이아웃 설정", - "fields": { - "preferSystemTitlebar": "Prefer System Titlebar", - "trafficGraph": "트래픽 그래프", - "memoryUsage": "메모리 사용량", - "proxyGroupIcon": "Proxy Group Icon", - "hoverNavigator": "Hover Jump Navigator", - "hoverNavigatorDelay": "Hover Jump Navigator Delay", - "navIcon": "Nav Icon", - "trayIcon": "Tray Icon", - "showProxyGroupsInline": "Show Proxy Groups Inline", - "commonTrayIcon": "Common Tray Icon", - "systemProxyTrayIcon": "System Proxy Tray Icon", - "tunTrayIcon": "Tun Tray Icon" - }, - "tooltips": { - "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", - "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" - }, - "options": { - "icon": { - "monochrome": "Monochrome", - "colorful": "Colorful", - "disable": "비활성화" - } - } - } - }, - "common": { - "notifications": { - "copySuccess": "복사 성공" - } - }, - "misc": { - "title": "Miscellaneous", - "fields": { - "appLogLevel": "App Log Level", - "appLogMaxSize": "App Log Max Size", - "appLogMaxCount": "App Log Max Count", - "autoCloseConnections": "Auto Close Connections", - "autoCheckUpdate": "Auto Check Update", - "enableBuiltinEnhanced": "Enable Builtin Enhanced", - "proxyLayoutColumns": "Proxy Layout Columns", - "autoLogClean": "Auto Log Clean", - "autoDelayDetection": "자동 지연 감지", - "defaultLatencyTest": "Default Latency Test", - "defaultLatencyTimeout": "Default Latency Timeout" - }, - "tooltips": { - "autoCloseConnections": "Terminate established connections when the proxy group selection or proxy mode changes", - "enableBuiltinEnhanced": "Compatibility handling for the configuration file", - "autoDelayDetection": "백그라운드에서 현재 노드의 지연을 주기적으로 검사합니다", - "defaultLatencyTest": "Used for HTTP client request testing only and won't make a difference to the configuration file" - }, - "options": { - "proxyLayoutColumns": { - "auto": "Auto Columns" - }, - "autoLogClean": { - "never": "Never Clean", - "retainDays": "Retain {{n}} Days" - } - } - }, - "update": { - "title": "New Version v{{version}}", - "actions": { - "goToRelease": "Go to Release Page", - "update": "업데이트" - }, - "messages": { - "portableError": "The portable version does not support in-app updates. Please manually download and replace it", - "breakChangeError": "This version is a major update and does not support in-app updates. Please uninstall it and manually download and install the new version" - } - }, - "sysproxy": { - "title": "System Proxy Setting", - "fieldsets": { - "currentStatus": "Current System Proxy" - }, - "fields": { - "enableStatus": "Enable Status:", - "serverAddr": "Server Addr: ", - "pacUrl": "PAC URL: ", - "proxyHost": "Proxy Host", - "usePacMode": "Use PAC Mode", - "proxyGuard": "Proxy Guard", - "guardDuration": "Guard Duration", - "alwaysUseDefaultBypass": "Always use Default Bypass", - "proxyBypass": "Proxy Bypass Settings: ", - "bypass": "Bypass: ", - "pacScriptContent": "PAC Script Content" - }, - "tooltips": { - "proxyGuard": "Enable to prevent other software from modifying the operating system's proxy settings" - }, - "messages": { - "durationTooShort": "Proxy Daemon Duration Cannot be Less than 1 Second", - "invalidBypass": "Invalid Bypass Format", - "invalidProxyHost": "Invalid Proxy Host Format" - }, - "actions": { - "editPac": "편집 PAC" - } - }, - "tun": { - "title": "Tun 모드", - "actions": { - "reset": "Reset to Default" - }, - "fields": { - "stack": "스택", - "device": "Device Name", - "autoRoute": "자동 라우팅", - "strictRoute": "Strict Route", - "autoDetectInterface": "인터페이스 자동 감지", - "dnsHijack": "DNS Hijack", - "mtu": "MTU" - }, - "tooltips": { - "dnsHijack": "Please use , to separate multiple DNS servers" - }, - "messages": { - "applied": "Settings Applied" - } - }, - "dns": { - "dialog": { - "title": "DNS Overwrite", - "warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled" - }, - "sections": { - "general": "DNS Settings", - "fallbackFilter": "Fallback Filter Settings", - "hosts": "Hosts Settings" - }, - "fields": { - "enable": "Enable DNS", - "listen": "DNS Listen", - "enhancedMode": "Enhanced Mode", - "fakeIpRange": "Fake IP Range", - "fakeIpFilterMode": "Fake IP Filter Mode", - "ipv6": { - "label": "IPv6", - "description": "Enable IPv6 DNS resolution" - }, - "preferH3": { - "label": "Prefer H3", - "description": "DNS DOH uses HTTP/3" - }, - "respectRules": { - "label": "Respect Rules", - "description": "DNS connections follow routing rules" - }, - "useHosts": { - "label": "Use Hosts", - "description": "Enable to resolve hosts through hosts file" - }, - "useSystemHosts": { - "label": "Use System Hosts", - "description": "Enable to resolve hosts through system hosts file" - }, - "directPolicy": { - "label": "Direct Nameserver Follow Policy", - "description": "Whether to follow nameserver policy" - }, - "defaultNameserver": { - "label": "Default Nameserver", - "description": "Default DNS servers used to resolve DNS servers" - }, - "nameserver": { - "label": "Nameserver", - "description": "List of DNS servers, comma separated" - }, - "fallback": { - "label": "Fallback", - "description": "List of fallback DNS servers, comma separated" - }, - "proxy": { - "label": "Proxy Server Nameserver", - "description": "DNS servers for proxy node domain resolution" - }, - "directNameserver": { - "label": "Direct Nameserver", - "description": "DNS servers for direct exit domain resolution, supports 'system' keyword, comma separated" - }, - "fakeIpFilter": { - "label": "Fake IP Filter", - "description": "Domains that skip fake IP resolution, comma separated" - }, - "nameserverPolicy": { - "label": "Nameserver Policy", - "description": "Domain-specific DNS server, multiple servers separated by semicolons, format: domain=server1;server2" - }, - "geoipFiltering": { - "label": "GeoIP Filtering", - "description": "Enable GeoIP filtering for fallback" - }, - "geoipCode": "GeoIP Code", - "fallbackIpCidr": { - "label": "Fallback IP CIDR", - "description": "IP CIDRs not using fallback servers, comma separated" - }, - "fallbackDomain": { - "label": "Fallback Domain", - "description": "Domains using fallback servers, comma separated" - }, - "hosts": { - "label": "Hosts", - "description": "Custom domain to IP or domain mapping" - } - }, - "messages": { - "saved": "DNS settings saved", - "configError": "DNS configuration error:" - }, - "errors": { - "invalid": "Invalid configuration" - } - } - }, - "providers": { - "notices": { - "updateSuccess": "{{name}} updated successfully", - "updateFailed": "Failed to update {{name}}: {{message}}", - "genericError": "Update failed: {{message}}", - "none": "No providers available to update", - "allUpdated": "All providers updated successfully" - } - }, - "test": { - "item": { - "actions": { - "test": "테스트" - } - }, - "viewer": { - "title": { - "create": "테스트 생성", - "edit": "테스트 편집" - }, - "fields": { - "url": "테스트 URL" - } - } - } - }, "common": { "editorModes": { "visualization": "시각화", @@ -1207,5 +220,1000 @@ "unlock": "Unlock menu order", "lock": "Lock menu order" } + }, + "ruleEditor": { + "title": "규칙 편집", + "form": { + "labels": { + "type": "규칙 유형", + "content": "규칙 내용", + "proxyPolicy": "프록시 정책" + }, + "toggles": { + "noResolve": "해석 안함" + }, + "actions": { + "prependRule": "규칙 앞에 추가", + "appendRule": "규칙 뒤에 추가" + }, + "validation": { + "conditionRequired": "규칙 조건 필요", + "invalidRule": "잘못된 규칙" + } + } + }, + "profile": { + "viewer": { + "title": { + "create": "프로필 생성", + "edit": "프로필 편집" + }, + "buttons": { + "save": "저장", + "cancel": "취소" + }, + "fields": { + "type": "유형", + "name": "이름", + "description": "설명", + "subscriptionUrl": "구독 URL", + "httpTimeout": "HTTP Request Timeout", + "updateInterval": "업데이트 간격", + "useSystemProxy": "시스템 프록시 사용", + "useClashProxy": "Clash 프록시 사용", + "acceptInvalidCerts": "잘못된 인증서 허용(위험)", + "allowAutoUpdate": "Allow Auto Update" + }, + "notifications": { + "creationRetry": "Profile creation failed, retrying with Clash proxy...", + "creationSuccess": "Profile creation succeeded with Clash proxy" + } + }, + "fileInput": { + "chooseFile": "파일 선택" + }, + "notifications": { + "saved": "Saved successfully" + }, + "proxiesEditor": { + "title": "프록시 편집", + "placeholders": { + "multiUri": "여러 URI의 경우 줄바꿈 사용(Base64 인코딩 지원)" + }, + "actions": { + "prepend": "프록시 앞에 추가", + "append": "프록시 뒤에 추가" + } + }, + "groupsEditor": { + "title": "프록시 그룹 편집", + "errors": { + "nameRequired": "그룹 이름 필수", + "nameExists": "그룹 이름이 이미 존재함" + }, + "fields": { + "type": "그룹 유형", + "name": "그룹 이름", + "icon": "Proxy Group Icon", + "proxies": "프록시 사용", + "provider": "제공자 사용", + "healthCheckUrl": "상태 확인 URL", + "expectedStatus": "예상 상태", + "interval": "간격", + "timeout": "타임아웃", + "maxFailedTimes": "최대 실패 횟수", + "interfaceName": "인터페이스 이름", + "routingMark": "라우팅 마크", + "filter": "필터", + "excludeFilter": "제외 필터", + "excludeType": "제외 유형", + "includeAll": "모든 프록시 및 제공자 포함", + "includeAllProxies": "모든 프록시 포함", + "includeAllProviders": "모든 제공자 포함" + }, + "toggles": { + "lazy": "지연 로딩", + "disableUdp": "UDP 비활성화", + "hidden": "숨김" + }, + "actions": { + "prepend": "그룹 앞에 추가", + "append": "그룹 뒤에 추가" + } + }, + "menu": { + "home": "홈", + "select": "선택", + "editInfo": "정보 편집", + "editFile": "파일 편집", + "editRules": "규칙 편집", + "editProxies": "프록시 편집", + "editGroups": "프록시 그룹 편집", + "extendConfig": "설정 확장", + "extendScript": "스크립트 확장", + "openFile": "파일 열기", + "update": "업데이트", + "updateViaProxy": "Update via proxy", + "delete": "삭제" + }, + "item": { + "tooltips": { + "showLast": "Click to show last update time", + "showNext": "Click to show next update" + }, + "status": { + "lastUpdateFailed": "Last Update failed", + "nextUp": "Next Up", + "noSchedule": "No schedule", + "unknown": "Unknown", + "autoUpdateDisabled": "Auto update disabled" + } + }, + "confirm": { + "delete": { + "title": "삭제 확인", + "message": "이 작업은 되돌릴 수 없습니다" + } + }, + "logViewer": { + "title": "스크립트 콘솔" + }, + "more": { + "global": { + "merge": "Global Merge", + "script": "Global Script" + }, + "chips": { + "merge": "Merge", + "script": "Script" + } + }, + "editor": { + "format": "문서 포맷", + "readOnlyMessage": "Cannot edit in read-only editor" + } + }, + "home": { + "proxyTunCard": { + "status": { + "systemProxyEnabled": "System proxy is enabled, your applications will access the network through the proxy", + "systemProxyDisabled": "System proxy is disabled, it is recommended for most users to turn on this option", + "tunModeServiceRequired": "TUN mode requires service mode, please install the service first", + "tunModeEnabled": "TUN mode is enabled, applications will access the network through the virtual network card", + "tunModeDisabled": "TUN mode is disabled, suitable for special applications" + }, + "tooltips": { + "systemProxy": "Enable to modify the operating system's proxy settings. If enabling fails, modify the operating system's proxy settings manually", + "tunMode": "TUN mode can take over all application traffic, suitable for special applications that do not follow the system proxy settings" + } + }, + "clashInfo": { + "title": "Clash Info", + "fields": { + "coreVersion": "Core Version", + "systemProxyAddress": "System Proxy Address", + "mixedPort": "Mixed Port", + "uptime": "Uptime", + "rulesCount": "Rules Count" + } + }, + "systemInfo": { + "title": "System Info", + "fields": { + "osInfo": "OS Info", + "autoLaunch": "Auto Launch", + "runningMode": "Running Mode", + "lastCheckUpdate": "Last Check Update", + "vergeVersion": "Verge Version" + }, + "actions": { + "settings": "설정" + }, + "labels": { + "enabled": "Enabled", + "disabled": "Disabled" + }, + "tooltips": { + "autoLaunchAdmin": "Administrator mode may not support auto launch" + }, + "badges": { + "adminMode": "Administrator Mode", + "serviceMode": "서비스 모드", + "sidecarMode": "User Mode", + "adminServiceMode": "Admin + Service Mode" + } + }, + "ipInfo": { + "title": "IP Information", + "errors": { + "load": "Failed to get IP info" + }, + "labels": { + "retry": "Retry", + "ip": "IP", + "asn": "ASN", + "isp": "ISP", + "org": "ORG", + "location": "Location", + "timezone": "Timezone", + "autoRefresh": "Auto refresh", + "unknown": "Unknown" + } + }, + "traffic": { + "metrics": { + "uploadSpeed": "업로드 속도", + "downloadSpeed": "다운로드 속도", + "activeConnections": "활성 연결", + "uploaded": "업로드됨", + "downloaded": "다운로드됨", + "memoryUsage": "메모리 사용량" + }, + "legends": { + "upload": "업로드", + "download": "다운로드" + }, + "patterns": { + "minutes": "{{time}} Minutes" + } + }, + "currentProxy": { + "title": "Current Node", + "actions": { + "refreshDelay": "지연 확인" + }, + "labels": { + "globalMode": "Global Mode", + "directMode": "Direct Mode", + "group": "Group", + "proxy": "Proxy", + "noActiveNode": "No active proxy node" + } + }, + "profile": { + "title": "프로필", + "actions": { + "import": "가져오기" + }, + "labels": { + "from": "출처", + "updateTime": "업데이트 시간", + "usedTotal": "사용됨 / 전체", + "expireTime": "만료 시간", + "clickToImport": "Click to import subscription" + } + }, + "page": { + "title": "홈", + "tooltips": { + "lightweightMode": "Lightweight Mode", + "manual": "Manual", + "settings": "Home Settings" + }, + "cards": { + "trafficStats": "Traffic Stats", + "networkSettings": "Network Settings", + "proxyMode": "Proxy Mode" + }, + "settings": { + "title": "Home Settings", + "cards": { + "profile": "Profile Card", + "currentProxy": "Current Proxy Card", + "network": "Network Settings Card", + "proxyMode": "Proxy Mode Card", + "traffic": "Traffic Stats Card", + "tests": "Website Tests Card", + "ip": "IP Information Card", + "clashInfo": "Clash Info Cards", + "systemInfo": "System Info Cards" + } + } + } + }, + "connection": { + "fields": { + "host": "호스트", + "downloaded": "다운로드됨", + "uploaded": "업로드됨", + "dlSpeed": "다운로드 속도", + "ulSpeed": "업로드 속도", + "chains": "체인", + "rule": "규칙", + "process": "프로세스", + "time": "시간", + "source": "소스", + "destination": "목적지", + "destinationPort": "목적지 포트", + "type": "유형" + }, + "actions": { + "closeConnection": "연결 닫기" + }, + "order": { + "default": "Default", + "uploadSpeed": "업로드 속도", + "downloadSpeed": "다운로드 속도" + } + }, + "settings": { + "system": { + "title": "시스템 설정", + "toggles": { + "tunMode": "Tun 모드", + "systemProxy": "시스템 프록시" + }, + "labels": { + "autoLaunch": "Auto Launch", + "silentStart": "자동 시작" + }, + "tooltips": { + "autoLaunchAdmin": "Administrator mode may not support auto launch", + "silentStart": "Start the program in background mode without displaying the panel" + } + }, + "proxyControl": { + "labels": { + "systemProxy": "시스템 프록시", + "tunMode": "Tun 모드" + }, + "tooltips": { + "systemProxy": "Enable to modify the operating system's proxy settings. If enabling fails, modify the operating system's proxy settings manually", + "tunMode": "Tun (Virtual NIC) mode: Captures all system traffic, when enabled, there is no need to enable system proxy.", + "tunUnavailable": "TUN requires Service Mode or Admin Mode" + }, + "actions": { + "installService": "Install Service", + "uninstallService": "Uninstall Service" + } + }, + "externalController": { + "title": "External Controller", + "fields": { + "enable": "Enable External Controller", + "address": "External Controller", + "secret": "Core Secret" + }, + "placeholders": { + "address": "Required", + "secret": "Recommended" + }, + "tooltips": { + "copy": "Copy to clipboard" + }, + "messages": { + "addressRequired": "Controller address cannot be empty", + "secretRequired": "Secret cannot be empty", + "copyFailed": "Failed to copy", + "controllerCopied": "Controller address copied to clipboard", + "secretCopied": "Secret copied to clipboard" + } + }, + "externalCors": { + "title": "External Cors Configuration", + "fields": { + "allowPrivateNetwork": "Allow private network access", + "allowedOrigins": "Allowed Origins" + }, + "placeholders": { + "origin": "Please enter a valid url" + }, + "actions": { + "add": "Add" + }, + "messages": { + "alwaysIncluded": "Always included origins: {{urls}}" + }, + "tooltips": { + "open": "External Cors Settings" + } + }, + "clash": { + "title": "Clash 설정", + "items": { + "allowLan": "Allow LAN", + "dnsOverwrite": "DNS Overwrite", + "ipv6": "IPv6", + "unifiedDelay": "Unified Delay", + "logLevel": "로그 레벨", + "portConfig": "Port Config", + "external": "External", + "webUI": "Web UI", + "clashCore": "Clash Core", + "openUwpTool": "Open UWP tool", + "updateGeoData": "Update GeoData" + }, + "tooltips": { + "networkInterface": "Network Interface", + "unifiedDelay": "When unified delay is turned on, two delay tests will be performed to eliminate the delay differences between different types of nodes caused by connection handshakes, etc", + "logLevel": "This parameter is valid only for kernel log files in the log directory Service folder", + "openUwpTool": "Since Windows 8, UWP apps (such as Microsoft Store) are restricted from directly accessing local host network services, and this tool can be used to bypass this restriction" + }, + "options": { + "logLevel": { + "debug": "Debug", + "info": "Info", + "warning": "Warn", + "error": "Error", + "silent": "Silent" + } + }, + "messages": { + "geoDataUpdated": "GeoData Updated" + }, + "port": { + "title": "Port Config", + "fields": { + "mixed": "혼합 포트", + "socks": "Socks Port", + "http": "Http(s) Port", + "redir": "Redir Port", + "tproxy": "Tproxy Port" + }, + "actions": { + "random": "Random Port" + }, + "messages": { + "saved": "Port settings saved", + "saveFailed": "Failed to save port settings" + } + } + }, + "liteMode": { + "title": "LightWeight Mode Settings", + "actions": { + "enterNow": "Enter LightWeight Mode Now" + }, + "toggles": { + "autoEnter": "Auto Enter LightWeight Mode" + }, + "tooltips": { + "autoEnter": "Enable to automatically activate LightWeight Mode after the window is closed for a period of time" + }, + "fields": { + "delay": "Auto Enter LightWeight Mode Delay" + }, + "messages": { + "autoEnterHint": "When closing the window, LightWeight Mode will be automatically activated after {{n}} minutes" + } + }, + "backup": { + "title": "Backup Setting", + "tabs": { + "local": "Local backup", + "webdav": "WebDAV backup" + }, + "actions": { + "selectTarget": "Select backup target", + "backup": "Backup", + "refresh": "새로고침", + "save": "저장", + "export": "Export", + "exportBackup": "Export Backup", + "delete": "삭제", + "deleteBackup": "Delete Backup", + "restore": "Restore", + "restoreBackup": "Restore Backup" + }, + "fields": { + "webdavUrl": "WebDAV Server URL", + "username": "사용자 이름", + "password": "비밀번호", + "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." + }, + "messages": { + "webdavUrlRequired": "WebDAV URL cannot be empty", + "invalidWebdavUrl": "Invalid WebDAV URL format", + "usernameRequired": "Username cannot be empty", + "passwordRequired": "Password cannot be empty", + "webdavConfigSaved": "WebDAV configuration saved successfully", + "webdavConfigSaveFailed": "Failed to save WebDAV configuration: {{error}}", + "backupCreated": "Backup created successfully", + "backupFailed": "Backup failed: {{error}}", + "localBackupCreated": "Local backup created successfully", + "localBackupFailed": "Local backup failed", + "restoreSuccess": "Restore Success, App will restart in 1s", + "localBackupExported": "Local backup exported successfully", + "localBackupExportFailed": "Failed to export local backup", + "confirmDelete": "Confirm to delete this backup file?", + "confirmRestore": "Confirm to restore this backup file?" + }, + "table": { + "filename": "Filename", + "backupTime": "Backup Time", + "actions": "Actions", + "noBackups": "No backups available", + "rowsPerPage": "Rows per page" + } + }, + "verge": { + "basic": { + "title": "Verge 기본 설정", + "items": { + "language": "언어", + "themeMode": "테마 모드", + "trayClickEvent": "트레이 클릭 이벤트", + "copyEnvType": "환경 유형 복사", + "startPage": "시작 페이지", + "startupScript": "시작 스크립트", + "themeSetting": "Theme Setting", + "layoutSetting": "레이아웃 설정", + "misc": "Miscellaneous", + "hotkeySetting": "단축키 설정" + }, + "actions": { + "browse": "Browse", + "clear": "지우기" + }, + "trayOptions": { + "showMainWindow": "메인 창 표시", + "showTrayMenu": "트레이 메뉴 표시", + "disable": "비활성화" + } + }, + "advanced": { + "title": "Verge Advanced Setting", + "items": { + "backupSetting": "Backup Setting", + "runtimeConfig": "Runtime Config", + "openConfDir": "Open Conf Dir", + "openCoreDir": "Open Core Dir", + "openLogsDir": "Open Logs Dir", + "checkUpdates": "Check for Updates", + "openDevTools": "Dev Tools", + "liteModeSettings": "LightWeight Mode Settings", + "exit": "Exit", + "exportDiagnostics": "Export Diagnostic Info", + "vergeVersion": "Verge Version" + }, + "tooltips": { + "backupInfo": "Support local or WebDAV backup of configuration files", + "openConfDir": "If the software runs abnormally, BACKUP and delete all files in this folder then restart the software", + "liteMode": "Close the GUI and keep only the kernel running" + }, + "actions": { + "copyVersion": "Copy Version" + }, + "notifications": { + "latestVersion": "Currently on the Latest Version", + "versionCopied": "Version copied to clipboard" + } + }, + "theme": { + "title": "Theme Setting", + "fields": { + "primaryColor": "기본 색상", + "secondaryColor": "Secondary Color", + "primaryText": "Primary Text", + "secondaryText": "Secondary Text", + "infoColor": "Info Color", + "warningColor": "Warning Color", + "errorColor": "Error Color", + "successColor": "Success Color", + "fontFamily": "Font Family", + "cssInjection": "CSS Injection" + }, + "actions": { + "editCss": "Edit CSS" + }, + "dialogs": { + "editCssTitle": "Edit CSS" + } + }, + "layout": { + "title": "레이아웃 설정", + "fields": { + "preferSystemTitlebar": "Prefer System Titlebar", + "trafficGraph": "트래픽 그래프", + "memoryUsage": "메모리 사용량", + "proxyGroupIcon": "Proxy Group Icon", + "hoverNavigator": "Hover Jump Navigator", + "hoverNavigatorDelay": "Hover Jump Navigator Delay", + "navIcon": "Nav Icon", + "trayIcon": "Tray Icon", + "showProxyGroupsInline": "Show Proxy Groups Inline", + "commonTrayIcon": "Common Tray Icon", + "systemProxyTrayIcon": "System Proxy Tray Icon", + "tunTrayIcon": "Tun Tray Icon" + }, + "tooltips": { + "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", + "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" + }, + "options": { + "icon": { + "monochrome": "Monochrome", + "colorful": "Colorful", + "disable": "비활성화" + } + } + } + }, + "common": { + "notifications": { + "copySuccess": "복사 성공" + } + }, + "misc": { + "title": "Miscellaneous", + "fields": { + "appLogLevel": "App Log Level", + "appLogMaxSize": "App Log Max Size", + "appLogMaxCount": "App Log Max Count", + "autoCloseConnections": "Auto Close Connections", + "autoCheckUpdate": "Auto Check Update", + "enableBuiltinEnhanced": "Enable Builtin Enhanced", + "proxyLayoutColumns": "Proxy Layout Columns", + "autoLogClean": "Auto Log Clean", + "autoDelayDetection": "자동 지연 감지", + "defaultLatencyTest": "Default Latency Test", + "defaultLatencyTimeout": "Default Latency Timeout" + }, + "tooltips": { + "autoCloseConnections": "Terminate established connections when the proxy group selection or proxy mode changes", + "enableBuiltinEnhanced": "Compatibility handling for the configuration file", + "autoDelayDetection": "백그라운드에서 현재 노드의 지연을 주기적으로 검사합니다", + "defaultLatencyTest": "Used for HTTP client request testing only and won't make a difference to the configuration file" + }, + "options": { + "proxyLayoutColumns": { + "auto": "Auto Columns" + }, + "autoLogClean": { + "never": "Never Clean", + "retainDays": "Retain {{n}} Days" + } + } + }, + "update": { + "title": "New Version v{{version}}", + "actions": { + "goToRelease": "Go to Release Page", + "update": "업데이트" + }, + "messages": { + "portableError": "The portable version does not support in-app updates. Please manually download and replace it", + "breakChangeError": "This version is a major update and does not support in-app updates. Please uninstall it and manually download and install the new version" + } + }, + "sysproxy": { + "title": "System Proxy Setting", + "fieldsets": { + "currentStatus": "Current System Proxy" + }, + "fields": { + "enableStatus": "Enable Status:", + "serverAddr": "Server Addr: ", + "pacUrl": "PAC URL: ", + "proxyHost": "Proxy Host", + "usePacMode": "Use PAC Mode", + "proxyGuard": "Proxy Guard", + "guardDuration": "Guard Duration", + "alwaysUseDefaultBypass": "Always use Default Bypass", + "proxyBypass": "Proxy Bypass Settings: ", + "bypass": "Bypass: ", + "pacScriptContent": "PAC Script Content" + }, + "tooltips": { + "proxyGuard": "Enable to prevent other software from modifying the operating system's proxy settings" + }, + "messages": { + "durationTooShort": "Proxy Daemon Duration Cannot be Less than 1 Second", + "invalidBypass": "Invalid Bypass Format", + "invalidProxyHost": "Invalid Proxy Host Format" + }, + "actions": { + "editPac": "편집 PAC" + } + }, + "tun": { + "title": "Tun 모드", + "actions": { + "reset": "Reset to Default" + }, + "fields": { + "stack": "스택", + "device": "Device Name", + "autoRoute": "자동 라우팅", + "strictRoute": "Strict Route", + "autoDetectInterface": "인터페이스 자동 감지", + "dnsHijack": "DNS Hijack", + "mtu": "MTU" + }, + "tooltips": { + "dnsHijack": "Please use , to separate multiple DNS servers" + }, + "messages": { + "applied": "Settings Applied" + } + }, + "dns": { + "dialog": { + "title": "DNS Overwrite", + "warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled" + }, + "sections": { + "general": "DNS Settings", + "fallbackFilter": "Fallback Filter Settings", + "hosts": "Hosts Settings" + }, + "fields": { + "enable": "Enable DNS", + "listen": "DNS Listen", + "enhancedMode": "Enhanced Mode", + "fakeIpRange": "Fake IP Range", + "fakeIpFilterMode": "Fake IP Filter Mode", + "ipv6": { + "label": "IPv6", + "description": "Enable IPv6 DNS resolution" + }, + "preferH3": { + "label": "Prefer H3", + "description": "DNS DOH uses HTTP/3" + }, + "respectRules": { + "label": "Respect Rules", + "description": "DNS connections follow routing rules" + }, + "useHosts": { + "label": "Use Hosts", + "description": "Enable to resolve hosts through hosts file" + }, + "useSystemHosts": { + "label": "Use System Hosts", + "description": "Enable to resolve hosts through system hosts file" + }, + "directPolicy": { + "label": "Direct Nameserver Follow Policy", + "description": "Whether to follow nameserver policy" + }, + "defaultNameserver": { + "label": "Default Nameserver", + "description": "Default DNS servers used to resolve DNS servers" + }, + "nameserver": { + "label": "Nameserver", + "description": "List of DNS servers, comma separated" + }, + "fallback": { + "label": "Fallback", + "description": "List of fallback DNS servers, comma separated" + }, + "proxy": { + "label": "Proxy Server Nameserver", + "description": "DNS servers for proxy node domain resolution" + }, + "directNameserver": { + "label": "Direct Nameserver", + "description": "DNS servers for direct exit domain resolution, supports 'system' keyword, comma separated" + }, + "fakeIpFilter": { + "label": "Fake IP Filter", + "description": "Domains that skip fake IP resolution, comma separated" + }, + "nameserverPolicy": { + "label": "Nameserver Policy", + "description": "Domain-specific DNS server, multiple servers separated by semicolons, format: domain=server1;server2" + }, + "geoipFiltering": { + "label": "GeoIP Filtering", + "description": "Enable GeoIP filtering for fallback" + }, + "geoipCode": "GeoIP Code", + "fallbackIpCidr": { + "label": "Fallback IP CIDR", + "description": "IP CIDRs not using fallback servers, comma separated" + }, + "fallbackDomain": { + "label": "Fallback Domain", + "description": "Domains using fallback servers, comma separated" + }, + "hosts": { + "label": "Hosts", + "description": "Custom domain to IP or domain mapping" + } + }, + "messages": { + "saved": "DNS settings saved", + "configError": "DNS configuration error:" + }, + "errors": { + "invalid": "Invalid configuration" + } + }, + "page": { + "title": "설정", + "actions": { + "manual": "Manual", + "telegram": "Telegram Channel", + "github": "Github Repo" + } + } + }, + "providers": { + "notices": { + "updateSuccess": "{{name}} updated successfully", + "updateFailed": "Failed to update {{name}}: {{message}}", + "genericError": "Update failed: {{message}}", + "none": "No providers available to update", + "allUpdated": "All providers updated successfully" + } + }, + "test": { + "item": { + "actions": { + "test": "테스트" + } + }, + "viewer": { + "title": { + "create": "테스트 생성", + "edit": "테스트 편집" + }, + "fields": { + "url": "테스트 URL" + } + }, + "page": { + "title": "테스트", + "actions": { + "testAll": "모두 테스트", + "new": "새로 만들기" + } + } + }, + "proxies": { + "page": { + "title": { + "default": "프록시 그룹", + "chainMode": "Proxy Chain Mode" + }, + "actions": { + "toggleChain": "🔗 체인 프록시", + "connect": "Connect", + "disconnect": "Disconnect", + "connecting": "Connecting...", + "clearChainConfig": "Delete Chain Config" + }, + "provider": { + "title": "프록시 제공자", + "actions": { + "updateAll": "모두 업데이트", + "update": "업데이트" + } + }, + "rules": { + "title": "Proxy Rules", + "select": "Select Rules" + }, + "labels": { + "proxyCount": "프록시 개수", + "delayCheckReset": "고정 취소를 위한 지연 확인" + }, + "tooltips": { + "locate": "로케이트", + "delayCheck": "지연 확인", + "sortDefault": "기본값으로 정렬", + "sortDelay": "지연시간으로 정렬", + "sortName": "이름으로 정렬", + "delayCheckUrl": "지연 확인 URL", + "showBasic": "프록시 기본", + "showDetail": "프록시 상세", + "filter": "필터" + }, + "placeholders": { + "filter": "Filter conditions", + "delayCheckUrl": "지연 확인 URL" + }, + "chain": { + "header": "Chain Proxy Config", + "empty": "No proxy chain configured", + "instruction": "Click nodes in order to add to proxy chain", + "minimumNodes": "Chain proxy requires at least 2 nodes", + "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", + "connectFailed": "Failed to connect to proxy chain", + "disconnectFailed": "Failed to disconnect from proxy chain", + "duplicateNode": "Proxy node already exists in chain" + } + } + }, + "rules": { + "page": { + "title": "규칙", + "provider": { + "trigger": "규칙 제공자", + "dialogTitle": "규칙 제공자", + "actions": { + "updateAll": "모두 업데이트", + "update": "업데이트" + } + } + } + }, + "profiles": { + "page": { + "title": "프로필", + "actions": { + "updateAll": "모든 프로필 업데이트", + "viewRuntimeConfig": "런타임 설정 보기", + "reactivate": "프로필 재활성화", + "import": "가져오기", + "new": "새로 만들기" + }, + "batch": { + "title": "Batch Operations", + "delete": "Delete Selected Profiles", + "selectAll": "Select All", + "deselectAll": "Deselect All", + "done": "Done", + "selected": "Selected", + "items": "items" + }, + "import": { + "placeholder": "프로필 URL", + "paste": "붙여넣기", + "clear": "지우기" + }, + "errors": { + "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", + "onlyYaml": "Only YAML Files Supported" + }, + "notifications": { + "importRetry": "Import failed, retrying with Clash proxy...", + "importFail": "Import failed even with Clash proxy", + "importNeedsRefresh": "Profile imported but may need manual refresh", + "importSuccess": "Profile imported successfully, please restart if not visible", + "profileSwitched": "Profile Switched", + "profileReactivated": "Profile Reactivated", + "switchInterrupted": "Profile switch interrupted by new selection", + "batchDeleted": "Selected profiles deleted successfully" + }, + "notices": { + "forceRefreshCompleted": "Force refresh completed", + "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" + } + } + }, + "connections": { + "page": { + "title": "연결", + "summary": { + "downloaded": "다운로드됨", + "uploaded": "업로드됨" + }, + "actions": { + "listView": "목록 보기", + "tableView": "테이블 보기", + "pause": "일시 정지", + "resume": "재개", + "closeAll": "모두 닫기" + } + } + }, + "logs": { + "page": { + "title": "로그", + "actions": { + "pause": "일시 정지", + "resume": "재개", + "clear": "지우기" + }, + "filters": { + "all": "ALL", + "debug": "DEBUG", + "info": "INFO", + "warn": "WARN", + "error": "ERROR" + } + } + }, + "unlock": { + "page": { + "title": "Unlock Test", + "actions": { + "testing": "테스트 중..." + }, + "empty": "No unlock test items" + } } } diff --git a/src/locales/ru.json b/src/locales/ru.json index 2d714649..9617969c 100644 --- a/src/locales/ru.json +++ b/src/locales/ru.json @@ -13,192 +13,6 @@ "Save": "Сохранить", "Delete": "Удалить", "Enable": "Включить", - "pages": { - "home": { - "title": "Главная", - "tooltips": { - "lightweightMode": "LightWeight Mode", - "manual": "Документация", - "settings": "Настройки главной страницы" - }, - "cards": { - "trafficStats": "Статистика по трафику", - "networkSettings": "Настройки сети", - "proxyMode": "Режим работы" - }, - "settings": { - "title": "Настройки главной страницы", - "cards": { - "profile": "Карточка профиля", - "currentProxy": "Карточка текущего прокси", - "network": "Карточка настроек сети", - "proxyMode": "Карточка режима работы", - "traffic": "Карточка статистики по трафику", - "tests": "Карточка тестов доступности веб-сайтов", - "ip": "Информация об IP", - "clashInfo": "Информация о Clash", - "systemInfo": "Информация о системе" - } - } - }, - "proxies": { - "title": { - "default": "Группы прокси", - "chainMode": "Proxy Chain Mode" - }, - "actions": { - "toggleChain": "🔗 Цепной прокси", - "connect": "Connect", - "disconnect": "Disconnect", - "connecting": "Connecting...", - "clearChainConfig": "Delete Chain Config" - }, - "provider": { - "title": "Провайдер прокси", - "actions": { - "updateAll": "Обновить все", - "update": "Обновить" - } - }, - "rules": { - "title": "Proxy Rules", - "select": "Select Rules" - }, - "labels": { - "proxyCount": "Proxy Count", - "delayCheckReset": "Проверка задержки для отмены фиксированного" - }, - "tooltips": { - "locate": "Местоположение", - "delayCheck": "Проверка задержки", - "sortDefault": "Сортировать по умолчанию", - "sortDelay": "Сортировать по задержке", - "sortName": "Сортировать по названию", - "delayCheckUrl": "URL проверки задержки", - "showBasic": "Отображать меньше сведений о прокси", - "showDetail": "Отображать больше сведений о прокси", - "filter": "Фильтр" - }, - "placeholders": { - "filter": "Условия фильтрации", - "delayCheckUrl": "URL проверки задержки" - }, - "chain": { - "header": "Конфигурация цепочки прокси", - "empty": "Цепочка прокси не настроена", - "instruction": "Нажимайте узлы по порядку, чтобы добавить в цепочку прокси", - "minimumNodes": "Chain proxy requires at least 2 nodes", - "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", - "connectFailed": "Failed to connect to proxy chain", - "disconnectFailed": "Failed to disconnect from proxy chain", - "duplicateNode": "Proxy node already exists in chain" - } - }, - "rules": { - "title": "Правила", - "provider": { - "trigger": "Провайдеры правил", - "dialogTitle": "Провайдеры правил", - "actions": { - "updateAll": "Обновить все", - "update": "Обновить" - } - } - }, - "profiles": { - "title": "Профили", - "actions": { - "updateAll": "Обновить все профили", - "viewRuntimeConfig": "Просмотреть используемый конфиг", - "reactivate": "Перезапустить профиль", - "import": "Импорт", - "new": "Новый" - }, - "batch": { - "title": "Пакетные операции", - "delete": "Удалить выбранные профили", - "selectAll": "Выбрать все", - "deselectAll": "Отменить выбор всех", - "done": "Готово", - "selected": "Выбрано", - "items": "элементы" - }, - "import": { - "placeholder": "URL профиля", - "paste": "Вставить", - "clear": "Очистить" - }, - "errors": { - "invalidUrl": "Недопустимая ссылка на профиль, введите адрес, начинающийся с http:// или https://", - "onlyYaml": "Поддерживаются только файлы YAML" - }, - "notifications": { - "importRetry": "Import failed, retrying with Clash proxy...", - "importFail": "Import failed even with Clash proxy", - "importNeedsRefresh": "Profile imported but may need manual refresh", - "importSuccess": "Profile imported successfully, please restart if not visible", - "profileSwitched": "Профиль изменен", - "profileReactivated": "Профиль перезапущен", - "switchInterrupted": "Profile switch interrupted by new selection", - "batchDeleted": "Выбранные профили успешно удалены" - }, - "notices": { - "forceRefreshCompleted": "Force refresh completed", - "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" - } - }, - "connections": { - "title": "Соединения", - "summary": { - "downloaded": "Скачано", - "uploaded": "Загружено" - }, - "actions": { - "listView": "Отображать в виде списка", - "tableView": "Отображать в виде таблицы", - "pause": "Пауза", - "resume": "Возобновить", - "closeAll": "Закрыть всё" - } - }, - "settings": { - "title": "Настройки", - "actions": { - "manual": "Документация", - "telegram": "Telegram-канал", - "github": "GitHub репозиторий" - } - }, - "logs": { - "title": "Логи", - "actions": { - "pause": "Пауза", - "resume": "Возобновить", - "clear": "Очистить" - }, - "filters": { - "all": "ALL", - "debug": "DEBUG", - "info": "INFO", - "warn": "WARN", - "error": "ERROR" - } - }, - "test": { - "title": "Тест", - "actions": { - "testAll": "Тестировать все", - "new": "Новый" - } - }, - "unlock": { - "title": "Тест доступности веб-сайтов", - "actions": { - "testing": "Тестирование ..." - }, - "empty": "No unlock test items" - } - }, "Proxies": "Прокси", "Update At": "Обновлено в", "rule": "правила", @@ -380,807 +194,6 @@ "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", - "components": { - "ruleEditor": { - "title": "Редактировать правила", - "form": { - "labels": { - "type": "Тип правила", - "content": "Содержимое правила", - "proxyPolicy": "Политика прокси" - }, - "toggles": { - "noResolve": "Без разрешения" - }, - "actions": { - "prependRule": "Добавить правило в начало", - "appendRule": "Добавить правило в конец" - }, - "validation": { - "conditionRequired": "Требуется условие правила", - "invalidRule": "Недействительное правило" - } - } - }, - "profile": { - "viewer": { - "title": { - "create": "Создать профиль", - "edit": "Изменить профиль" - }, - "buttons": { - "save": "Сохранить", - "cancel": "Отмена" - }, - "fields": { - "type": "Тип", - "name": "Название", - "description": "Описание", - "subscriptionUrl": "URL подписки", - "httpTimeout": "HTTP Request Timeout", - "updateInterval": "Интервал обновления", - "useSystemProxy": "Использовать системный прокси для обновления", - "useClashProxy": "Использовать прокси Clash для обновления", - "acceptInvalidCerts": "Принимать недействительные сертификаты (ОПАСНО)", - "allowAutoUpdate": "Allow Auto Update" - }, - "notifications": { - "creationRetry": "Profile creation failed, retrying with Clash proxy...", - "creationSuccess": "Profile creation succeeded with Clash proxy" - } - }, - "fileInput": { - "chooseFile": "Выбрать файл" - }, - "notifications": { - "saved": "Saved successfully" - }, - "proxiesEditor": { - "title": "Редактировать прокси", - "placeholders": { - "multiUri": "Используйте символы новой строки для нескольких URI (поддерживается кодировка Base64)" - }, - "actions": { - "prepend": "Добавить прокси в начало", - "append": "Добавить прокси в конец" - } - }, - "groupsEditor": { - "title": "Редактировать группы прокси", - "errors": { - "nameRequired": "Требуется имя группы", - "nameExists": "Имя группы уже существует" - }, - "fields": { - "type": "Тип группы", - "name": "Имя группы", - "icon": "Иконка Группы прокси", - "proxies": "Использовать прокси", - "provider": "Использовать провайдера", - "healthCheckUrl": "URL проверки здоровья", - "expectedStatus": "Ожидаемый статус", - "interval": "Интервал", - "timeout": "Таймаут", - "maxFailedTimes": "Максимальное количество неудач", - "interfaceName": "Имя интерфейса", - "routingMark": "Марка маршрутизации", - "filter": "Фильтр", - "excludeFilter": "Исключить фильтр", - "excludeType": "Тип исключения", - "includeAll": "Включить все прокси и провайдеры", - "includeAllProxies": "Включить все прокси", - "includeAllProviders": "Включить всех провайдеров" - }, - "toggles": { - "lazy": "Ленивый", - "disableUdp": "Отключить UDP", - "hidden": "Скрытый" - }, - "actions": { - "prepend": "Добавить группу в начало", - "append": "Добавить группу в конец" - } - }, - "menu": { - "home": "Главная", - "select": "Выбрать", - "editInfo": "Изменить информацию", - "editFile": "Изменить файл", - "editRules": "Редактировать правила", - "editProxies": "Редактировать прокси", - "editGroups": "Редактировать группы прокси", - "extendConfig": "Изменить Merge", - "extendScript": "Изменить Script", - "openFile": "Открыть файл", - "update": "Обновить", - "updateViaProxy": "Update via proxy", - "delete": "Удалить" - }, - "item": { - "tooltips": { - "showLast": "Click to show last update time", - "showNext": "Click to show next update" - }, - "status": { - "lastUpdateFailed": "Last Update failed", - "nextUp": "Next Up", - "noSchedule": "No schedule", - "unknown": "Unknown", - "autoUpdateDisabled": "Auto update disabled" - } - }, - "confirm": { - "delete": { - "title": "Подтвердите удаление", - "message": "Эта операция необратима" - } - }, - "logViewer": { - "title": "Консоль скрипта" - }, - "more": { - "global": { - "merge": "Global Merge", - "script": "Global Script" - }, - "chips": { - "merge": "Merge", - "script": "Script" - } - }, - "editor": { - "format": "Форматировать документ", - "readOnlyMessage": "Невозможно редактировать в режиме только для чтения" - } - }, - "home": { - "proxyTunCard": { - "status": { - "systemProxyEnabled": "Системный прокси включен, ваши приложения будут получать доступ к сети через него", - "systemProxyDisabled": "Системный прокси отключен, большинству пользователей рекомендуется включить эту опцию", - "tunModeServiceRequired": "Режим TUN требует установленную службу Clash Verge", - "tunModeEnabled": "Режим TUN включен, приложения будут получать доступ к сети через виртуальную сетевую карту", - "tunModeDisabled": "Режим TUN отключен" - }, - "tooltips": { - "systemProxy": "Разрешить изменение настроек прокси-сервера операционной системы. Если разрешение не удастся, измените настройки прокси-сервера операционной системы вручную", - "tunMode": "Режим TUN может перехватить трафик всех приложений, подходит для приложений, которые не работают в режиме системного прокси." - } - }, - "clashInfo": { - "title": "Информация о Clash", - "fields": { - "coreVersion": "Версия ядра", - "systemProxyAddress": "Адрес системного прокси", - "mixedPort": "Mixed Port", - "uptime": "Время работы", - "rulesCount": "Количество правил" - } - }, - "systemInfo": { - "title": "Информация о системе", - "fields": { - "osInfo": "Версия ОС", - "autoLaunch": "Автозапуск", - "runningMode": "Режим работы", - "lastCheckUpdate": "Последняя проверка обновлений", - "vergeVersion": "Версия Clash Verge Rev" - }, - "actions": { - "settings": "Настройки" - }, - "labels": { - "enabled": "Включено", - "disabled": "Отключено" - }, - "tooltips": { - "autoLaunchAdmin": "Administrator mode may not support auto launch" - }, - "badges": { - "adminMode": "Administrator Mode", - "serviceMode": "Режим системной службы", - "sidecarMode": "Пользовательский режим", - "adminServiceMode": "Admin + Service Mode" - } - }, - "ipInfo": { - "title": "Информация об IP", - "errors": { - "load": "Не удалось получить информацию об IP" - }, - "labels": { - "retry": "Retry", - "ip": "IP", - "asn": "ASN", - "isp": "ISP", - "org": "ORG", - "location": "Location", - "timezone": "Timezone", - "autoRefresh": "Автоматическое обновление через", - "unknown": "Unknown" - } - }, - "traffic": { - "metrics": { - "uploadSpeed": "Скорость загрузки", - "downloadSpeed": "Скорость скачивания", - "activeConnections": "Активные соединения", - "uploaded": "Загружено", - "downloaded": "Скачано", - "memoryUsage": "Использование памяти" - }, - "legends": { - "upload": "Загрузка", - "download": "Скачивание" - }, - "patterns": { - "minutes": "{{time}} Minutes" - } - }, - "currentProxy": { - "title": "Текущий сервер", - "actions": { - "refreshDelay": "Проверка задержки" - }, - "labels": { - "globalMode": "Глобальный режим", - "directMode": "Прямой режим", - "group": "Группа", - "proxy": "Прокси", - "noActiveNode": "Нет активного прокси-узла" - } - }, - "profile": { - "title": "Профили", - "actions": { - "import": "Импорт" - }, - "labels": { - "from": "От", - "updateTime": "Время обновления", - "usedTotal": "Использовано / Всего", - "expireTime": "Время окончания", - "clickToImport": "Нажмите, чтобы импортировать подписку" - } - } - }, - "connection": { - "fields": { - "host": "Хост", - "downloaded": "Скачано", - "uploaded": "Загружено", - "dlSpeed": "Скорость скачивания", - "ulSpeed": "Скорость загрузки", - "chains": "Цепочки", - "rule": "Правило", - "process": "Процесс", - "time": "Время подключения", - "source": "Исходный адрес", - "destination": "IP-адрес назначения", - "destinationPort": "Целевой порт", - "type": "Тип" - }, - "actions": { - "closeConnection": "Закрыть соединение" - }, - "order": { - "default": "Default", - "uploadSpeed": "Скорость загрузки", - "downloadSpeed": "Скорость скачивания" - } - }, - "settings": { - "system": { - "title": "Настройки системы", - "toggles": { - "tunMode": "Режим TUN", - "systemProxy": "Системный прокси" - }, - "labels": { - "autoLaunch": "Автозапуск", - "silentStart": "Тихий запуск" - }, - "tooltips": { - "autoLaunchAdmin": "Administrator mode may not support auto launch", - "silentStart": "Запускать программу в фоновом режиме без отображения панели" - } - }, - "proxyControl": { - "labels": { - "systemProxy": "Системный прокси", - "tunMode": "Режим TUN" - }, - "tooltips": { - "systemProxy": "Разрешить изменение настроек прокси-сервера операционной системы. Если разрешение не удастся, измените настройки прокси-сервера операционной системы вручную", - "tunMode": "Режим Tun: захватывает весь системный трафик, при включении нет необходимости включать системный прокси-сервер.", - "tunUnavailable": "TUN requires Service Mode or Admin Mode" - }, - "actions": { - "installService": "Установить службу", - "uninstallService": "Uninstall Service" - } - }, - "externalController": { - "title": "Адрес прослушивания внешнего контроллера", - "fields": { - "enable": "Включить внешний контроллер", - "address": "Адрес прослушивания внешнего контроллера", - "secret": "Секрет" - }, - "placeholders": { - "address": "Обязательно", - "secret": "Рекомендуется" - }, - "tooltips": { - "copy": "Копировать в буфер обмена" - }, - "messages": { - "addressRequired": "Адрес контроллера не может быть пустым", - "secretRequired": "Секрет не может быть пустым", - "copyFailed": "Не удалось скопировать", - "controllerCopied": "Адрес контроллера скопирован в буфер обмена", - "secretCopied": "Секрет скопирован в буфер обмена" - } - }, - "externalCors": { - "title": "Конфигурация внешнего CORS", - "fields": { - "allowPrivateNetwork": "Разрешить доступ к частной сети", - "allowedOrigins": "Разрешённые источники" - }, - "placeholders": { - "origin": "Введите корректный URL" - }, - "actions": { - "add": "Добавить" - }, - "messages": { - "alwaysIncluded": "Всегда включаемые источники: {{urls}}" - }, - "tooltips": { - "open": "Настройки внешнего CORS" - } - }, - "clash": { - "title": "Настройки Clash", - "items": { - "allowLan": "Разрешить доступ из локальной сети", - "dnsOverwrite": "Переопределение настроек DNS", - "ipv6": "IPv6", - "unifiedDelay": "Точная задержка", - "logLevel": "Уровень логов", - "portConfig": "Настройка порта", - "external": "Внешний контроллер", - "webUI": "Веб-интерфейс", - "clashCore": "Ядро Clash", - "openUwpTool": "Открыть UWP инструмент", - "updateGeoData": "Обновить GeoData" - }, - "tooltips": { - "networkInterface": "Сетевой интерфейс", - "unifiedDelay": "Когда унифицированная(точная) задержка включена, будут выполнены два теста задержки, чтобы устранить различия в задержке между разными типами узлов, вызванные подтверждением соединения и т. д", - "logLevel": "Это действует только на файлы журнала ядра в служебном файле в каталоге журналов.", - "openUwpTool": "С Windows 8 приложения UWP (такие как Microsoft Store) ограничены в прямом доступе к сетевым службам локального хоста, и этот инструмент позволяет обойти это ограничение" - }, - "options": { - "logLevel": { - "debug": "Debug", - "info": "Info", - "warning": "Warn", - "error": "Error", - "silent": "Silent" - } - }, - "messages": { - "geoDataUpdated": "Файлы GeoData обновлены" - }, - "port": { - "title": "Настройка порта", - "fields": { - "mixed": "Смешанный прокси-порт", - "socks": "Порт Socks-прокси", - "http": "Порт Http(s)-прокси", - "redir": "Порт прозрачного прокси Redir", - "tproxy": "Порт прозрачного прокси Tproxy" - }, - "actions": { - "random": "Случайный порт" - }, - "messages": { - "saved": "Port settings saved", - "saveFailed": "Failed to save port settings" - } - } - }, - "liteMode": { - "title": "Настройки LightWeight Mode", - "actions": { - "enterNow": "Войти в LightWeight Mode" - }, - "toggles": { - "autoEnter": "Автоматический вход в LightWeight Mode" - }, - "tooltips": { - "autoEnter": "Автоматически включать LightWeight Mode, если окно закрыто определенное время" - }, - "fields": { - "delay": "Задержка включения LightWeight Mode" - }, - "messages": { - "autoEnterHint": "При закрытии окна LightWeight Mode будет автоматически активирован через {{n}} минут" - } - }, - "backup": { - "title": "Настройки резервного копирования", - "tabs": { - "local": "Local backup", - "webdav": "WebDAV backup" - }, - "actions": { - "selectTarget": "Select backup target", - "backup": "Резервное копирование", - "refresh": "Обновить", - "save": "Сохранить", - "export": "Export", - "exportBackup": "Export Backup", - "delete": "Удалить", - "deleteBackup": "Удалить резервную копию", - "restore": "Восстановить", - "restoreBackup": "Восстановить резервную копию" - }, - "fields": { - "webdavUrl": "URL-адрес сервера WebDAV http(s)://", - "username": "Имя пользователя", - "password": "Пароль", - "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." - }, - "messages": { - "webdavUrlRequired": "URL-адрес WebDAV не может быть пустым", - "invalidWebdavUrl": "Неверный формат URL-адреса WebDAV", - "usernameRequired": "Имя пользователя не может быть пустым", - "passwordRequired": "Пароль не может быть пустым", - "webdavConfigSaved": "Конфигурация WebDAV успешно сохранена", - "webdavConfigSaveFailed": "Не удалось сохранить конфигурацию WebDAV: {{error}}", - "backupCreated": "Резервная копия успешно создана", - "backupFailed": "Ошибка резервного копирования: {{error}}", - "localBackupCreated": "Local backup created successfully", - "localBackupFailed": "Local backup failed", - "restoreSuccess": "Восстановление успешно выполнено, приложение перезапустится через 1 секунду", - "localBackupExported": "Local backup exported successfully", - "localBackupExportFailed": "Failed to export local backup", - "confirmDelete": "Вы уверены, что хотите удалить этот файл резервной копии?", - "confirmRestore": "Вы уверены, что хотите восстановить этот файл резервной копии?" - }, - "table": { - "filename": "Имя файла", - "backupTime": "Время резервного копирования", - "actions": "Действия", - "noBackups": "Нет доступных резервных копий", - "rowsPerPage": "Rows per page" - } - }, - "verge": { - "basic": { - "title": "Основные настройки Verge", - "items": { - "language": "Язык", - "themeMode": "Цветовая тема", - "trayClickEvent": "Событие при щелчке по иконке в трее", - "copyEnvType": "Скопировать тип Env", - "startPage": "Главная страница", - "startupScript": "Скрипт запуска", - "themeSetting": "Настройки темы", - "layoutSetting": "Настройки раскладки", - "misc": "Расширенные настройки", - "hotkeySetting": "Настройки сочетаний клавиш" - }, - "actions": { - "browse": "Просмотреть", - "clear": "Очистить" - }, - "trayOptions": { - "showMainWindow": "Показать главное окно", - "showTrayMenu": "Показать меню в трее", - "disable": "Отключить" - } - }, - "advanced": { - "title": "Расширенные настройки Verge", - "items": { - "backupSetting": "Настройки резервного копирования", - "runtimeConfig": "Используемый конфиг", - "openConfDir": "Открыть папку приложения", - "openCoreDir": "Открыть папку ядра", - "openLogsDir": "Открыть папку логов", - "checkUpdates": "Проверить обновления", - "openDevTools": "Открыть Dev Tools", - "liteModeSettings": "Настройки LightWeight Mode", - "exit": "Выход", - "exportDiagnostics": "Экспорт диагностической информации", - "vergeVersion": "Версия Clash Verge Rev" - }, - "tooltips": { - "backupInfo": "Поддерживает файлы конфигурации резервного копирования WebDAV", - "openConfDir": "Если программное обеспечение работает неправильно, сделайте резервную копию и удалите все файлы в этой папке, а затем перезапустите ПО", - "liteMode": "Режим, в котором работает только ядро Clash, а графический интрефейс закрыт" - }, - "actions": { - "copyVersion": "Copy Version" - }, - "notifications": { - "latestVersion": "Обновление не требуется", - "versionCopied": "Version copied to clipboard" - } - }, - "theme": { - "title": "Настройки темы", - "fields": { - "primaryColor": "Основной цвет", - "secondaryColor": "Вторичный цвет", - "primaryText": "Первичный текст", - "secondaryText": "Вторичный текст", - "infoColor": "Информационный цвет", - "warningColor": "Цвет предупреждения", - "errorColor": "Цвет ошибки", - "successColor": "Цвет успеха", - "fontFamily": "Семейство шрифтов", - "cssInjection": "Внедрение CSS" - }, - "actions": { - "editCss": "Edit CSS" - }, - "dialogs": { - "editCssTitle": "Edit CSS" - } - }, - "layout": { - "title": "Настройки раскладки", - "fields": { - "preferSystemTitlebar": "Prefer System Titlebar", - "trafficGraph": "График трафика", - "memoryUsage": "Использование памяти", - "proxyGroupIcon": "Иконка Группы прокси", - "hoverNavigator": "Hover Jump Navigator", - "hoverNavigatorDelay": "Hover Jump Navigator Delay", - "navIcon": "Иконки навигации", - "trayIcon": "Иконка в трее", - "showProxyGroupsInline": "Show Proxy Groups Inline", - "commonTrayIcon": "Общий значок в трее", - "systemProxyTrayIcon": "Значок системного прокси в трее", - "tunTrayIcon": "Значок TUN в трее" - }, - "tooltips": { - "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", - "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" - }, - "options": { - "icon": { - "monochrome": "Монохромные", - "colorful": "Цветные", - "disable": "Отключить" - } - } - } - }, - "common": { - "notifications": { - "copySuccess": "Скопировано" - } - }, - "misc": { - "title": "Расширенные настройки", - "fields": { - "appLogLevel": "Уровень журнала приложения", - "appLogMaxSize": "App Log Max Size", - "appLogMaxCount": "App Log Max Count", - "autoCloseConnections": "Автоматическое закрытие соединений", - "autoCheckUpdate": "Автоматическая проверка обновлений", - "enableBuiltinEnhanced": "Включить встроенные улучшения", - "proxyLayoutColumns": "Количество столбцов в макете прокси", - "autoLogClean": "Автоматическая очистка логов", - "autoDelayDetection": "Автоматическое измерение задержки", - "defaultLatencyTest": "Ссылка на тест задержки", - "defaultLatencyTimeout": "Таймаут задержки по умолчанию" - }, - "tooltips": { - "autoCloseConnections": "Закрыть установленные соединения при изменении выбора группы прокси или режима прокси", - "enableBuiltinEnhanced": "Обработка совместимости для файла конфигурации", - "autoDelayDetection": "Периодически проверяет задержку текущего узла в фоновом режиме", - "defaultLatencyTest": "Используется только для тестирования HTTP-запросов клиента и не влияет на файл конфигурации" - }, - "options": { - "proxyLayoutColumns": { - "auto": "Авто колонки" - }, - "autoLogClean": { - "never": "Никогда не очищать", - "retainDays": "Сохранять {{n}} дней" - } - } - }, - "update": { - "title": "New Version v{{version}}", - "actions": { - "goToRelease": "Перейти на страницу релизов", - "update": "Обновить" - }, - "messages": { - "portableError": "Портативная версия не поддерживает обновление внутри приложения, пожалуйста, скачайте и замените файлы вручную", - "breakChangeError": "Это крупное обновление, которое не поддерживает обновление внутри приложения. Пожалуйста, удалите его и загрузите установочный файл вручную." - } - }, - "sysproxy": { - "title": "Настройка системного прокси", - "fieldsets": { - "currentStatus": "Текущий системный прокси" - }, - "fields": { - "enableStatus": "Статус включения", - "serverAddr": "Адрес сервера: ", - "pacUrl": "Адрес PAC: ", - "proxyHost": "Хост прокси", - "usePacMode": "Используйте режим PAC", - "proxyGuard": "Proxy Guard", - "guardDuration": "Период защиты", - "alwaysUseDefaultBypass": "Всегда использовать стандартное обходное решение", - "proxyBypass": "Игнорируемые адреса: ", - "bypass": "Игнорируемые адреса: ", - "pacScriptContent": "Содержание сценария PAC" - }, - "tooltips": { - "proxyGuard": "Включите эту функцию чтобы предотвратить изменение настроек прокси-сервера операционной системы другим ПО" - }, - "messages": { - "durationTooShort": "Продолжительность работы прокси-демона не может быть меньше 1 секунды", - "invalidBypass": "Неверный формат обхода", - "invalidProxyHost": "Неверный формат хоста прокси" - }, - "actions": { - "editPac": "Редактировать PAC" - } - }, - "tun": { - "title": "Режим TUN", - "actions": { - "reset": "Сбросить настройки" - }, - "fields": { - "stack": "Стек", - "device": "Device Name", - "autoRoute": "Автоматическая маршрутизация", - "strictRoute": "Строгая маршрутизация", - "autoDetectInterface": "Автоопределение интерфейса", - "dnsHijack": "DNS-перехват", - "mtu": "MTU" - }, - "tooltips": { - "dnsHijack": "Please use , to separate multiple DNS servers" - }, - "messages": { - "applied": "Настройки применены" - } - }, - "dns": { - "dialog": { - "title": "Переопределение настроек DNS", - "warning": "Если вы не знакомы с этими настройками, пожалуйста, не изменяйте и не отключайте их" - }, - "sections": { - "general": "Настройки DNS", - "fallbackFilter": "Настройки фильтра Fallback", - "hosts": "Hosts Settings" - }, - "fields": { - "enable": "Включить DNS", - "listen": "Прослушивание DNS", - "enhancedMode": "Enhanced Mode", - "fakeIpRange": "Диапазон FakeIP", - "fakeIpFilterMode": "FakeIP Filter Mode", - "ipv6": { - "label": "IPv6", - "description": "Enable IPv6 DNS resolution" - }, - "preferH3": { - "label": "Предпочитать H3", - "description": "DNS DOH использует http/3" - }, - "respectRules": { - "label": "Приоритизировать правила", - "description": "Соединения DNS следуют правилам маршрутизации" - }, - "useHosts": { - "label": "Использовать файл Hosts", - "description": "Включить разрешение хостов через файл Hosts" - }, - "useSystemHosts": { - "label": "Использовать системный файл Hosts", - "description": "Включить разрешение хостов через системный файл Hosts" - }, - "directPolicy": { - "label": "Прямой сервер имен следует политике", - "description": "Следовать ли политике DNS-серверов" - }, - "defaultNameserver": { - "label": "DNS-сервер по умолчанию", - "description": "DNS-серверы по умолчанию, используемые для разрешения адресов серверов DNS" - }, - "nameserver": { - "label": "DNS-сервер", - "description": "Список DNS-серверов, разделенных запятой" - }, - "fallback": { - "label": "Fallback", - "description": "Список резервных DNS-серверов, разделенных запятой" - }, - "proxy": { - "label": "Proxy Server Nameserver", - "description": "DNS-серверы для разрешения домена прокси-узлов" - }, - "directNameserver": { - "label": "DNS-сервер для прямых соединений", - "description": "Список DNS-серверов для прямых соединений, разделенных запятой" - }, - "fakeIpFilter": { - "label": "Фильтр FakeIP", - "description": "Домены, которые пропускают разрешение FakeIP, разделенные запятой" - }, - "nameserverPolicy": { - "label": "Политика серверов имен", - "description": "DNS-сервер, специфичный для домена, несколько серверов разделяются знаком ';'" - }, - "geoipFiltering": { - "label": "Фильтрация GeoIP", - "description": "Включить фильтрацию GeoIP" - }, - "geoipCode": "Код GeoIP", - "fallbackIpCidr": { - "label": "Fallback IP CIDR", - "description": "Диапазоны IP-адресов, не использующие резервные серверы, разделенные запятой" - }, - "fallbackDomain": { - "label": "Fallback домены", - "description": "Домены, использующие резервные серверы, разделенные запятой" - }, - "hosts": { - "label": "Hosts", - "description": "Custom domain to IP or domain mapping" - } - }, - "messages": { - "saved": "DNS settings saved", - "configError": "DNS configuration error:" - }, - "errors": { - "invalid": "Invalid configuration" - } - } - }, - "providers": { - "notices": { - "updateSuccess": "{{name}} updated successfully", - "updateFailed": "Failed to update {{name}}: {{message}}", - "genericError": "Update failed: {{message}}", - "none": "No providers available to update", - "allUpdated": "All providers updated successfully" - } - }, - "test": { - "item": { - "actions": { - "test": "Тест" - } - }, - "viewer": { - "title": { - "create": "Создать тест", - "edit": "Редактировать тест" - }, - "fields": { - "url": "URL проверка" - } - } - } - }, "common": { "editorModes": { "visualization": "Визуализация", @@ -1207,5 +220,1000 @@ "unlock": "Unlock menu order", "lock": "Lock menu order" } + }, + "ruleEditor": { + "title": "Редактировать правила", + "form": { + "labels": { + "type": "Тип правила", + "content": "Содержимое правила", + "proxyPolicy": "Политика прокси" + }, + "toggles": { + "noResolve": "Без разрешения" + }, + "actions": { + "prependRule": "Добавить правило в начало", + "appendRule": "Добавить правило в конец" + }, + "validation": { + "conditionRequired": "Требуется условие правила", + "invalidRule": "Недействительное правило" + } + } + }, + "profile": { + "viewer": { + "title": { + "create": "Создать профиль", + "edit": "Изменить профиль" + }, + "buttons": { + "save": "Сохранить", + "cancel": "Отмена" + }, + "fields": { + "type": "Тип", + "name": "Название", + "description": "Описание", + "subscriptionUrl": "URL подписки", + "httpTimeout": "HTTP Request Timeout", + "updateInterval": "Интервал обновления", + "useSystemProxy": "Использовать системный прокси для обновления", + "useClashProxy": "Использовать прокси Clash для обновления", + "acceptInvalidCerts": "Принимать недействительные сертификаты (ОПАСНО)", + "allowAutoUpdate": "Allow Auto Update" + }, + "notifications": { + "creationRetry": "Profile creation failed, retrying with Clash proxy...", + "creationSuccess": "Profile creation succeeded with Clash proxy" + } + }, + "fileInput": { + "chooseFile": "Выбрать файл" + }, + "notifications": { + "saved": "Saved successfully" + }, + "proxiesEditor": { + "title": "Редактировать прокси", + "placeholders": { + "multiUri": "Используйте символы новой строки для нескольких URI (поддерживается кодировка Base64)" + }, + "actions": { + "prepend": "Добавить прокси в начало", + "append": "Добавить прокси в конец" + } + }, + "groupsEditor": { + "title": "Редактировать группы прокси", + "errors": { + "nameRequired": "Требуется имя группы", + "nameExists": "Имя группы уже существует" + }, + "fields": { + "type": "Тип группы", + "name": "Имя группы", + "icon": "Иконка Группы прокси", + "proxies": "Использовать прокси", + "provider": "Использовать провайдера", + "healthCheckUrl": "URL проверки здоровья", + "expectedStatus": "Ожидаемый статус", + "interval": "Интервал", + "timeout": "Таймаут", + "maxFailedTimes": "Максимальное количество неудач", + "interfaceName": "Имя интерфейса", + "routingMark": "Марка маршрутизации", + "filter": "Фильтр", + "excludeFilter": "Исключить фильтр", + "excludeType": "Тип исключения", + "includeAll": "Включить все прокси и провайдеры", + "includeAllProxies": "Включить все прокси", + "includeAllProviders": "Включить всех провайдеров" + }, + "toggles": { + "lazy": "Ленивый", + "disableUdp": "Отключить UDP", + "hidden": "Скрытый" + }, + "actions": { + "prepend": "Добавить группу в начало", + "append": "Добавить группу в конец" + } + }, + "menu": { + "home": "Главная", + "select": "Выбрать", + "editInfo": "Изменить информацию", + "editFile": "Изменить файл", + "editRules": "Редактировать правила", + "editProxies": "Редактировать прокси", + "editGroups": "Редактировать группы прокси", + "extendConfig": "Изменить Merge", + "extendScript": "Изменить Script", + "openFile": "Открыть файл", + "update": "Обновить", + "updateViaProxy": "Update via proxy", + "delete": "Удалить" + }, + "item": { + "tooltips": { + "showLast": "Click to show last update time", + "showNext": "Click to show next update" + }, + "status": { + "lastUpdateFailed": "Last Update failed", + "nextUp": "Next Up", + "noSchedule": "No schedule", + "unknown": "Unknown", + "autoUpdateDisabled": "Auto update disabled" + } + }, + "confirm": { + "delete": { + "title": "Подтвердите удаление", + "message": "Эта операция необратима" + } + }, + "logViewer": { + "title": "Консоль скрипта" + }, + "more": { + "global": { + "merge": "Global Merge", + "script": "Global Script" + }, + "chips": { + "merge": "Merge", + "script": "Script" + } + }, + "editor": { + "format": "Форматировать документ", + "readOnlyMessage": "Невозможно редактировать в режиме только для чтения" + } + }, + "home": { + "proxyTunCard": { + "status": { + "systemProxyEnabled": "Системный прокси включен, ваши приложения будут получать доступ к сети через него", + "systemProxyDisabled": "Системный прокси отключен, большинству пользователей рекомендуется включить эту опцию", + "tunModeServiceRequired": "Режим TUN требует установленную службу Clash Verge", + "tunModeEnabled": "Режим TUN включен, приложения будут получать доступ к сети через виртуальную сетевую карту", + "tunModeDisabled": "Режим TUN отключен" + }, + "tooltips": { + "systemProxy": "Разрешить изменение настроек прокси-сервера операционной системы. Если разрешение не удастся, измените настройки прокси-сервера операционной системы вручную", + "tunMode": "Режим TUN может перехватить трафик всех приложений, подходит для приложений, которые не работают в режиме системного прокси." + } + }, + "clashInfo": { + "title": "Информация о Clash", + "fields": { + "coreVersion": "Версия ядра", + "systemProxyAddress": "Адрес системного прокси", + "mixedPort": "Mixed Port", + "uptime": "Время работы", + "rulesCount": "Количество правил" + } + }, + "systemInfo": { + "title": "Информация о системе", + "fields": { + "osInfo": "Версия ОС", + "autoLaunch": "Автозапуск", + "runningMode": "Режим работы", + "lastCheckUpdate": "Последняя проверка обновлений", + "vergeVersion": "Версия Clash Verge Rev" + }, + "actions": { + "settings": "Настройки" + }, + "labels": { + "enabled": "Включено", + "disabled": "Отключено" + }, + "tooltips": { + "autoLaunchAdmin": "Administrator mode may not support auto launch" + }, + "badges": { + "adminMode": "Administrator Mode", + "serviceMode": "Режим системной службы", + "sidecarMode": "Пользовательский режим", + "adminServiceMode": "Admin + Service Mode" + } + }, + "ipInfo": { + "title": "Информация об IP", + "errors": { + "load": "Не удалось получить информацию об IP" + }, + "labels": { + "retry": "Retry", + "ip": "IP", + "asn": "ASN", + "isp": "ISP", + "org": "ORG", + "location": "Location", + "timezone": "Timezone", + "autoRefresh": "Автоматическое обновление через", + "unknown": "Unknown" + } + }, + "traffic": { + "metrics": { + "uploadSpeed": "Скорость загрузки", + "downloadSpeed": "Скорость скачивания", + "activeConnections": "Активные соединения", + "uploaded": "Загружено", + "downloaded": "Скачано", + "memoryUsage": "Использование памяти" + }, + "legends": { + "upload": "Загрузка", + "download": "Скачивание" + }, + "patterns": { + "minutes": "{{time}} Minutes" + } + }, + "currentProxy": { + "title": "Текущий сервер", + "actions": { + "refreshDelay": "Проверка задержки" + }, + "labels": { + "globalMode": "Глобальный режим", + "directMode": "Прямой режим", + "group": "Группа", + "proxy": "Прокси", + "noActiveNode": "Нет активного прокси-узла" + } + }, + "profile": { + "title": "Профили", + "actions": { + "import": "Импорт" + }, + "labels": { + "from": "От", + "updateTime": "Время обновления", + "usedTotal": "Использовано / Всего", + "expireTime": "Время окончания", + "clickToImport": "Нажмите, чтобы импортировать подписку" + } + }, + "page": { + "title": "Главная", + "tooltips": { + "lightweightMode": "LightWeight Mode", + "manual": "Документация", + "settings": "Настройки главной страницы" + }, + "cards": { + "trafficStats": "Статистика по трафику", + "networkSettings": "Настройки сети", + "proxyMode": "Режим работы" + }, + "settings": { + "title": "Настройки главной страницы", + "cards": { + "profile": "Карточка профиля", + "currentProxy": "Карточка текущего прокси", + "network": "Карточка настроек сети", + "proxyMode": "Карточка режима работы", + "traffic": "Карточка статистики по трафику", + "tests": "Карточка тестов доступности веб-сайтов", + "ip": "Информация об IP", + "clashInfo": "Информация о Clash", + "systemInfo": "Информация о системе" + } + } + } + }, + "connection": { + "fields": { + "host": "Хост", + "downloaded": "Скачано", + "uploaded": "Загружено", + "dlSpeed": "Скорость скачивания", + "ulSpeed": "Скорость загрузки", + "chains": "Цепочки", + "rule": "Правило", + "process": "Процесс", + "time": "Время подключения", + "source": "Исходный адрес", + "destination": "IP-адрес назначения", + "destinationPort": "Целевой порт", + "type": "Тип" + }, + "actions": { + "closeConnection": "Закрыть соединение" + }, + "order": { + "default": "Default", + "uploadSpeed": "Скорость загрузки", + "downloadSpeed": "Скорость скачивания" + } + }, + "settings": { + "system": { + "title": "Настройки системы", + "toggles": { + "tunMode": "Режим TUN", + "systemProxy": "Системный прокси" + }, + "labels": { + "autoLaunch": "Автозапуск", + "silentStart": "Тихий запуск" + }, + "tooltips": { + "autoLaunchAdmin": "Administrator mode may not support auto launch", + "silentStart": "Запускать программу в фоновом режиме без отображения панели" + } + }, + "proxyControl": { + "labels": { + "systemProxy": "Системный прокси", + "tunMode": "Режим TUN" + }, + "tooltips": { + "systemProxy": "Разрешить изменение настроек прокси-сервера операционной системы. Если разрешение не удастся, измените настройки прокси-сервера операционной системы вручную", + "tunMode": "Режим Tun: захватывает весь системный трафик, при включении нет необходимости включать системный прокси-сервер.", + "tunUnavailable": "TUN requires Service Mode or Admin Mode" + }, + "actions": { + "installService": "Установить службу", + "uninstallService": "Uninstall Service" + } + }, + "externalController": { + "title": "Адрес прослушивания внешнего контроллера", + "fields": { + "enable": "Включить внешний контроллер", + "address": "Адрес прослушивания внешнего контроллера", + "secret": "Секрет" + }, + "placeholders": { + "address": "Обязательно", + "secret": "Рекомендуется" + }, + "tooltips": { + "copy": "Копировать в буфер обмена" + }, + "messages": { + "addressRequired": "Адрес контроллера не может быть пустым", + "secretRequired": "Секрет не может быть пустым", + "copyFailed": "Не удалось скопировать", + "controllerCopied": "Адрес контроллера скопирован в буфер обмена", + "secretCopied": "Секрет скопирован в буфер обмена" + } + }, + "externalCors": { + "title": "Конфигурация внешнего CORS", + "fields": { + "allowPrivateNetwork": "Разрешить доступ к частной сети", + "allowedOrigins": "Разрешённые источники" + }, + "placeholders": { + "origin": "Введите корректный URL" + }, + "actions": { + "add": "Добавить" + }, + "messages": { + "alwaysIncluded": "Всегда включаемые источники: {{urls}}" + }, + "tooltips": { + "open": "Настройки внешнего CORS" + } + }, + "clash": { + "title": "Настройки Clash", + "items": { + "allowLan": "Разрешить доступ из локальной сети", + "dnsOverwrite": "Переопределение настроек DNS", + "ipv6": "IPv6", + "unifiedDelay": "Точная задержка", + "logLevel": "Уровень логов", + "portConfig": "Настройка порта", + "external": "Внешний контроллер", + "webUI": "Веб-интерфейс", + "clashCore": "Ядро Clash", + "openUwpTool": "Открыть UWP инструмент", + "updateGeoData": "Обновить GeoData" + }, + "tooltips": { + "networkInterface": "Сетевой интерфейс", + "unifiedDelay": "Когда унифицированная(точная) задержка включена, будут выполнены два теста задержки, чтобы устранить различия в задержке между разными типами узлов, вызванные подтверждением соединения и т. д", + "logLevel": "Это действует только на файлы журнала ядра в служебном файле в каталоге журналов.", + "openUwpTool": "С Windows 8 приложения UWP (такие как Microsoft Store) ограничены в прямом доступе к сетевым службам локального хоста, и этот инструмент позволяет обойти это ограничение" + }, + "options": { + "logLevel": { + "debug": "Debug", + "info": "Info", + "warning": "Warn", + "error": "Error", + "silent": "Silent" + } + }, + "messages": { + "geoDataUpdated": "Файлы GeoData обновлены" + }, + "port": { + "title": "Настройка порта", + "fields": { + "mixed": "Смешанный прокси-порт", + "socks": "Порт Socks-прокси", + "http": "Порт Http(s)-прокси", + "redir": "Порт прозрачного прокси Redir", + "tproxy": "Порт прозрачного прокси Tproxy" + }, + "actions": { + "random": "Случайный порт" + }, + "messages": { + "saved": "Port settings saved", + "saveFailed": "Failed to save port settings" + } + } + }, + "liteMode": { + "title": "Настройки LightWeight Mode", + "actions": { + "enterNow": "Войти в LightWeight Mode" + }, + "toggles": { + "autoEnter": "Автоматический вход в LightWeight Mode" + }, + "tooltips": { + "autoEnter": "Автоматически включать LightWeight Mode, если окно закрыто определенное время" + }, + "fields": { + "delay": "Задержка включения LightWeight Mode" + }, + "messages": { + "autoEnterHint": "При закрытии окна LightWeight Mode будет автоматически активирован через {{n}} минут" + } + }, + "backup": { + "title": "Настройки резервного копирования", + "tabs": { + "local": "Local backup", + "webdav": "WebDAV backup" + }, + "actions": { + "selectTarget": "Select backup target", + "backup": "Резервное копирование", + "refresh": "Обновить", + "save": "Сохранить", + "export": "Export", + "exportBackup": "Export Backup", + "delete": "Удалить", + "deleteBackup": "Удалить резервную копию", + "restore": "Восстановить", + "restoreBackup": "Восстановить резервную копию" + }, + "fields": { + "webdavUrl": "URL-адрес сервера WebDAV http(s)://", + "username": "Имя пользователя", + "password": "Пароль", + "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." + }, + "messages": { + "webdavUrlRequired": "URL-адрес WebDAV не может быть пустым", + "invalidWebdavUrl": "Неверный формат URL-адреса WebDAV", + "usernameRequired": "Имя пользователя не может быть пустым", + "passwordRequired": "Пароль не может быть пустым", + "webdavConfigSaved": "Конфигурация WebDAV успешно сохранена", + "webdavConfigSaveFailed": "Не удалось сохранить конфигурацию WebDAV: {{error}}", + "backupCreated": "Резервная копия успешно создана", + "backupFailed": "Ошибка резервного копирования: {{error}}", + "localBackupCreated": "Local backup created successfully", + "localBackupFailed": "Local backup failed", + "restoreSuccess": "Восстановление успешно выполнено, приложение перезапустится через 1 секунду", + "localBackupExported": "Local backup exported successfully", + "localBackupExportFailed": "Failed to export local backup", + "confirmDelete": "Вы уверены, что хотите удалить этот файл резервной копии?", + "confirmRestore": "Вы уверены, что хотите восстановить этот файл резервной копии?" + }, + "table": { + "filename": "Имя файла", + "backupTime": "Время резервного копирования", + "actions": "Действия", + "noBackups": "Нет доступных резервных копий", + "rowsPerPage": "Rows per page" + } + }, + "verge": { + "basic": { + "title": "Основные настройки Verge", + "items": { + "language": "Язык", + "themeMode": "Цветовая тема", + "trayClickEvent": "Событие при щелчке по иконке в трее", + "copyEnvType": "Скопировать тип Env", + "startPage": "Главная страница", + "startupScript": "Скрипт запуска", + "themeSetting": "Настройки темы", + "layoutSetting": "Настройки раскладки", + "misc": "Расширенные настройки", + "hotkeySetting": "Настройки сочетаний клавиш" + }, + "actions": { + "browse": "Просмотреть", + "clear": "Очистить" + }, + "trayOptions": { + "showMainWindow": "Показать главное окно", + "showTrayMenu": "Показать меню в трее", + "disable": "Отключить" + } + }, + "advanced": { + "title": "Расширенные настройки Verge", + "items": { + "backupSetting": "Настройки резервного копирования", + "runtimeConfig": "Используемый конфиг", + "openConfDir": "Открыть папку приложения", + "openCoreDir": "Открыть папку ядра", + "openLogsDir": "Открыть папку логов", + "checkUpdates": "Проверить обновления", + "openDevTools": "Открыть Dev Tools", + "liteModeSettings": "Настройки LightWeight Mode", + "exit": "Выход", + "exportDiagnostics": "Экспорт диагностической информации", + "vergeVersion": "Версия Clash Verge Rev" + }, + "tooltips": { + "backupInfo": "Поддерживает файлы конфигурации резервного копирования WebDAV", + "openConfDir": "Если программное обеспечение работает неправильно, сделайте резервную копию и удалите все файлы в этой папке, а затем перезапустите ПО", + "liteMode": "Режим, в котором работает только ядро Clash, а графический интрефейс закрыт" + }, + "actions": { + "copyVersion": "Copy Version" + }, + "notifications": { + "latestVersion": "Обновление не требуется", + "versionCopied": "Version copied to clipboard" + } + }, + "theme": { + "title": "Настройки темы", + "fields": { + "primaryColor": "Основной цвет", + "secondaryColor": "Вторичный цвет", + "primaryText": "Первичный текст", + "secondaryText": "Вторичный текст", + "infoColor": "Информационный цвет", + "warningColor": "Цвет предупреждения", + "errorColor": "Цвет ошибки", + "successColor": "Цвет успеха", + "fontFamily": "Семейство шрифтов", + "cssInjection": "Внедрение CSS" + }, + "actions": { + "editCss": "Edit CSS" + }, + "dialogs": { + "editCssTitle": "Edit CSS" + } + }, + "layout": { + "title": "Настройки раскладки", + "fields": { + "preferSystemTitlebar": "Prefer System Titlebar", + "trafficGraph": "График трафика", + "memoryUsage": "Использование памяти", + "proxyGroupIcon": "Иконка Группы прокси", + "hoverNavigator": "Hover Jump Navigator", + "hoverNavigatorDelay": "Hover Jump Navigator Delay", + "navIcon": "Иконки навигации", + "trayIcon": "Иконка в трее", + "showProxyGroupsInline": "Show Proxy Groups Inline", + "commonTrayIcon": "Общий значок в трее", + "systemProxyTrayIcon": "Значок системного прокси в трее", + "tunTrayIcon": "Значок TUN в трее" + }, + "tooltips": { + "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", + "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" + }, + "options": { + "icon": { + "monochrome": "Монохромные", + "colorful": "Цветные", + "disable": "Отключить" + } + } + } + }, + "common": { + "notifications": { + "copySuccess": "Скопировано" + } + }, + "misc": { + "title": "Расширенные настройки", + "fields": { + "appLogLevel": "Уровень журнала приложения", + "appLogMaxSize": "App Log Max Size", + "appLogMaxCount": "App Log Max Count", + "autoCloseConnections": "Автоматическое закрытие соединений", + "autoCheckUpdate": "Автоматическая проверка обновлений", + "enableBuiltinEnhanced": "Включить встроенные улучшения", + "proxyLayoutColumns": "Количество столбцов в макете прокси", + "autoLogClean": "Автоматическая очистка логов", + "autoDelayDetection": "Автоматическое измерение задержки", + "defaultLatencyTest": "Ссылка на тест задержки", + "defaultLatencyTimeout": "Таймаут задержки по умолчанию" + }, + "tooltips": { + "autoCloseConnections": "Закрыть установленные соединения при изменении выбора группы прокси или режима прокси", + "enableBuiltinEnhanced": "Обработка совместимости для файла конфигурации", + "autoDelayDetection": "Периодически проверяет задержку текущего узла в фоновом режиме", + "defaultLatencyTest": "Используется только для тестирования HTTP-запросов клиента и не влияет на файл конфигурации" + }, + "options": { + "proxyLayoutColumns": { + "auto": "Авто колонки" + }, + "autoLogClean": { + "never": "Никогда не очищать", + "retainDays": "Сохранять {{n}} дней" + } + } + }, + "update": { + "title": "New Version v{{version}}", + "actions": { + "goToRelease": "Перейти на страницу релизов", + "update": "Обновить" + }, + "messages": { + "portableError": "Портативная версия не поддерживает обновление внутри приложения, пожалуйста, скачайте и замените файлы вручную", + "breakChangeError": "Это крупное обновление, которое не поддерживает обновление внутри приложения. Пожалуйста, удалите его и загрузите установочный файл вручную." + } + }, + "sysproxy": { + "title": "Настройка системного прокси", + "fieldsets": { + "currentStatus": "Текущий системный прокси" + }, + "fields": { + "enableStatus": "Статус включения", + "serverAddr": "Адрес сервера: ", + "pacUrl": "Адрес PAC: ", + "proxyHost": "Хост прокси", + "usePacMode": "Используйте режим PAC", + "proxyGuard": "Proxy Guard", + "guardDuration": "Период защиты", + "alwaysUseDefaultBypass": "Всегда использовать стандартное обходное решение", + "proxyBypass": "Игнорируемые адреса: ", + "bypass": "Игнорируемые адреса: ", + "pacScriptContent": "Содержание сценария PAC" + }, + "tooltips": { + "proxyGuard": "Включите эту функцию чтобы предотвратить изменение настроек прокси-сервера операционной системы другим ПО" + }, + "messages": { + "durationTooShort": "Продолжительность работы прокси-демона не может быть меньше 1 секунды", + "invalidBypass": "Неверный формат обхода", + "invalidProxyHost": "Неверный формат хоста прокси" + }, + "actions": { + "editPac": "Редактировать PAC" + } + }, + "tun": { + "title": "Режим TUN", + "actions": { + "reset": "Сбросить настройки" + }, + "fields": { + "stack": "Стек", + "device": "Device Name", + "autoRoute": "Автоматическая маршрутизация", + "strictRoute": "Строгая маршрутизация", + "autoDetectInterface": "Автоопределение интерфейса", + "dnsHijack": "DNS-перехват", + "mtu": "MTU" + }, + "tooltips": { + "dnsHijack": "Please use , to separate multiple DNS servers" + }, + "messages": { + "applied": "Настройки применены" + } + }, + "dns": { + "dialog": { + "title": "Переопределение настроек DNS", + "warning": "Если вы не знакомы с этими настройками, пожалуйста, не изменяйте и не отключайте их" + }, + "sections": { + "general": "Настройки DNS", + "fallbackFilter": "Настройки фильтра Fallback", + "hosts": "Hosts Settings" + }, + "fields": { + "enable": "Включить DNS", + "listen": "Прослушивание DNS", + "enhancedMode": "Enhanced Mode", + "fakeIpRange": "Диапазон FakeIP", + "fakeIpFilterMode": "FakeIP Filter Mode", + "ipv6": { + "label": "IPv6", + "description": "Enable IPv6 DNS resolution" + }, + "preferH3": { + "label": "Предпочитать H3", + "description": "DNS DOH использует http/3" + }, + "respectRules": { + "label": "Приоритизировать правила", + "description": "Соединения DNS следуют правилам маршрутизации" + }, + "useHosts": { + "label": "Использовать файл Hosts", + "description": "Включить разрешение хостов через файл Hosts" + }, + "useSystemHosts": { + "label": "Использовать системный файл Hosts", + "description": "Включить разрешение хостов через системный файл Hosts" + }, + "directPolicy": { + "label": "Прямой сервер имен следует политике", + "description": "Следовать ли политике DNS-серверов" + }, + "defaultNameserver": { + "label": "DNS-сервер по умолчанию", + "description": "DNS-серверы по умолчанию, используемые для разрешения адресов серверов DNS" + }, + "nameserver": { + "label": "DNS-сервер", + "description": "Список DNS-серверов, разделенных запятой" + }, + "fallback": { + "label": "Fallback", + "description": "Список резервных DNS-серверов, разделенных запятой" + }, + "proxy": { + "label": "Proxy Server Nameserver", + "description": "DNS-серверы для разрешения домена прокси-узлов" + }, + "directNameserver": { + "label": "DNS-сервер для прямых соединений", + "description": "Список DNS-серверов для прямых соединений, разделенных запятой" + }, + "fakeIpFilter": { + "label": "Фильтр FakeIP", + "description": "Домены, которые пропускают разрешение FakeIP, разделенные запятой" + }, + "nameserverPolicy": { + "label": "Политика серверов имен", + "description": "DNS-сервер, специфичный для домена, несколько серверов разделяются знаком ';'" + }, + "geoipFiltering": { + "label": "Фильтрация GeoIP", + "description": "Включить фильтрацию GeoIP" + }, + "geoipCode": "Код GeoIP", + "fallbackIpCidr": { + "label": "Fallback IP CIDR", + "description": "Диапазоны IP-адресов, не использующие резервные серверы, разделенные запятой" + }, + "fallbackDomain": { + "label": "Fallback домены", + "description": "Домены, использующие резервные серверы, разделенные запятой" + }, + "hosts": { + "label": "Hosts", + "description": "Custom domain to IP or domain mapping" + } + }, + "messages": { + "saved": "DNS settings saved", + "configError": "DNS configuration error:" + }, + "errors": { + "invalid": "Invalid configuration" + } + }, + "page": { + "title": "Настройки", + "actions": { + "manual": "Документация", + "telegram": "Telegram-канал", + "github": "GitHub репозиторий" + } + } + }, + "providers": { + "notices": { + "updateSuccess": "{{name}} updated successfully", + "updateFailed": "Failed to update {{name}}: {{message}}", + "genericError": "Update failed: {{message}}", + "none": "No providers available to update", + "allUpdated": "All providers updated successfully" + } + }, + "test": { + "item": { + "actions": { + "test": "Тест" + } + }, + "viewer": { + "title": { + "create": "Создать тест", + "edit": "Редактировать тест" + }, + "fields": { + "url": "URL проверка" + } + }, + "page": { + "title": "Тест", + "actions": { + "testAll": "Тестировать все", + "new": "Новый" + } + } + }, + "proxies": { + "page": { + "title": { + "default": "Группы прокси", + "chainMode": "Proxy Chain Mode" + }, + "actions": { + "toggleChain": "🔗 Цепной прокси", + "connect": "Connect", + "disconnect": "Disconnect", + "connecting": "Connecting...", + "clearChainConfig": "Delete Chain Config" + }, + "provider": { + "title": "Провайдер прокси", + "actions": { + "updateAll": "Обновить все", + "update": "Обновить" + } + }, + "rules": { + "title": "Proxy Rules", + "select": "Select Rules" + }, + "labels": { + "proxyCount": "Proxy Count", + "delayCheckReset": "Проверка задержки для отмены фиксированного" + }, + "tooltips": { + "locate": "Местоположение", + "delayCheck": "Проверка задержки", + "sortDefault": "Сортировать по умолчанию", + "sortDelay": "Сортировать по задержке", + "sortName": "Сортировать по названию", + "delayCheckUrl": "URL проверки задержки", + "showBasic": "Отображать меньше сведений о прокси", + "showDetail": "Отображать больше сведений о прокси", + "filter": "Фильтр" + }, + "placeholders": { + "filter": "Условия фильтрации", + "delayCheckUrl": "URL проверки задержки" + }, + "chain": { + "header": "Конфигурация цепочки прокси", + "empty": "Цепочка прокси не настроена", + "instruction": "Нажимайте узлы по порядку, чтобы добавить в цепочку прокси", + "minimumNodes": "Chain proxy requires at least 2 nodes", + "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", + "connectFailed": "Failed to connect to proxy chain", + "disconnectFailed": "Failed to disconnect from proxy chain", + "duplicateNode": "Proxy node already exists in chain" + } + } + }, + "rules": { + "page": { + "title": "Правила", + "provider": { + "trigger": "Провайдеры правил", + "dialogTitle": "Провайдеры правил", + "actions": { + "updateAll": "Обновить все", + "update": "Обновить" + } + } + } + }, + "profiles": { + "page": { + "title": "Профили", + "actions": { + "updateAll": "Обновить все профили", + "viewRuntimeConfig": "Просмотреть используемый конфиг", + "reactivate": "Перезапустить профиль", + "import": "Импорт", + "new": "Новый" + }, + "batch": { + "title": "Пакетные операции", + "delete": "Удалить выбранные профили", + "selectAll": "Выбрать все", + "deselectAll": "Отменить выбор всех", + "done": "Готово", + "selected": "Выбрано", + "items": "элементы" + }, + "import": { + "placeholder": "URL профиля", + "paste": "Вставить", + "clear": "Очистить" + }, + "errors": { + "invalidUrl": "Недопустимая ссылка на профиль, введите адрес, начинающийся с http:// или https://", + "onlyYaml": "Поддерживаются только файлы YAML" + }, + "notifications": { + "importRetry": "Import failed, retrying with Clash proxy...", + "importFail": "Import failed even with Clash proxy", + "importNeedsRefresh": "Profile imported but may need manual refresh", + "importSuccess": "Profile imported successfully, please restart if not visible", + "profileSwitched": "Профиль изменен", + "profileReactivated": "Профиль перезапущен", + "switchInterrupted": "Profile switch interrupted by new selection", + "batchDeleted": "Выбранные профили успешно удалены" + }, + "notices": { + "forceRefreshCompleted": "Force refresh completed", + "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" + } + } + }, + "connections": { + "page": { + "title": "Соединения", + "summary": { + "downloaded": "Скачано", + "uploaded": "Загружено" + }, + "actions": { + "listView": "Отображать в виде списка", + "tableView": "Отображать в виде таблицы", + "pause": "Пауза", + "resume": "Возобновить", + "closeAll": "Закрыть всё" + } + } + }, + "logs": { + "page": { + "title": "Логи", + "actions": { + "pause": "Пауза", + "resume": "Возобновить", + "clear": "Очистить" + }, + "filters": { + "all": "ALL", + "debug": "DEBUG", + "info": "INFO", + "warn": "WARN", + "error": "ERROR" + } + } + }, + "unlock": { + "page": { + "title": "Тест доступности веб-сайтов", + "actions": { + "testing": "Тестирование ..." + }, + "empty": "No unlock test items" + } } } diff --git a/src/locales/tr.json b/src/locales/tr.json index 727ad610..bf43d9c8 100644 --- a/src/locales/tr.json +++ b/src/locales/tr.json @@ -13,192 +13,6 @@ "Save": "Kaydet", "Delete": "Sil", "Enable": "Etkinleştir", - "pages": { - "home": { - "title": "Ana Sayfa", - "tooltips": { - "lightweightMode": "Hafif Mod", - "manual": "Kılavuz", - "settings": "Ana Sayfa Ayarları" - }, - "cards": { - "trafficStats": "Trafik İstatistikleri", - "networkSettings": "Ağ Ayarları", - "proxyMode": "Vekil Modu" - }, - "settings": { - "title": "Ana Sayfa Ayarları", - "cards": { - "profile": "Profil Kartı", - "currentProxy": "Geçerli Vekil Kartı", - "network": "Ağ Ayarları Kartı", - "proxyMode": "Vekil Modu Kartı", - "traffic": "Trafik İstatistikleri Kartı", - "tests": "Web Sitesi Testleri Kartı", - "ip": "IP Bilgi Kartı", - "clashInfo": "Clash Bilgi Kartları", - "systemInfo": "Sistem Bilgi Kartları" - } - } - }, - "proxies": { - "title": { - "default": "Vekil Grupları", - "chainMode": "Proxy Chain Mode" - }, - "actions": { - "toggleChain": "🔗 Zincir Proxy", - "connect": "Connect", - "disconnect": "Disconnect", - "connecting": "Connecting...", - "clearChainConfig": "Delete Chain Config" - }, - "provider": { - "title": "Vekil Sağlayıcısı", - "actions": { - "updateAll": "Tümünü Güncelle", - "update": "Güncelle" - } - }, - "rules": { - "title": "Proxy Rules", - "select": "Select Rules" - }, - "labels": { - "proxyCount": "Vekil Sayısı", - "delayCheckReset": "Sabit iptali için gecikme kontrolü" - }, - "tooltips": { - "locate": "konum", - "delayCheck": "Gecikme kontrolü", - "sortDefault": "Varsayılana göre sırala", - "sortDelay": "Gecikmeye göre sırala", - "sortName": "İsme göre sırala", - "delayCheckUrl": "Gecikme kontrol URL'si", - "showBasic": "Temel Vekil", - "showDetail": "Vekil detayı", - "filter": "Filtre" - }, - "placeholders": { - "filter": "Filtre koşulları", - "delayCheckUrl": "Gecikme kontrol URL'si" - }, - "chain": { - "header": "Chain Proxy Config", - "empty": "No proxy chain configured", - "instruction": "Click nodes in order to add to proxy chain", - "minimumNodes": "Chain proxy requires at least 2 nodes", - "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", - "connectFailed": "Failed to connect to proxy chain", - "disconnectFailed": "Failed to disconnect from proxy chain", - "duplicateNode": "Proxy node already exists in chain" - } - }, - "rules": { - "title": "Kurallar", - "provider": { - "trigger": "Kural Sağlayıcısı", - "dialogTitle": "Kural Sağlayıcısı", - "actions": { - "updateAll": "Tümünü Güncelle", - "update": "Güncelle" - } - } - }, - "profiles": { - "title": "Profiller", - "actions": { - "updateAll": "Tüm Profilleri Güncelle", - "viewRuntimeConfig": "Çalışma Zamanı Yapılandırmasını Görüntüle", - "reactivate": "Profilleri Yeniden Etkinleştir", - "import": "İçe Aktar", - "new": "Yeni" - }, - "batch": { - "title": "Toplu İşlemler", - "delete": "Seçili Profilleri Sil", - "selectAll": "Tümünü Seç", - "deselectAll": "Tüm Seçimi Kaldır", - "done": "Tamam", - "selected": "Seçildi", - "items": "öğeler" - }, - "import": { - "placeholder": "Profil URL'si", - "paste": "Yapıştır", - "clear": "Temizle" - }, - "errors": { - "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", - "onlyYaml": "Yalnızca YAML Dosyaları Desteklenir" - }, - "notifications": { - "importRetry": "İçe aktarma başarısız oldu, Clash vekil ile yeniden deneniyor...", - "importFail": "Clash vekil ile bile içe aktarma başarısız oldu", - "importNeedsRefresh": "Profile imported but may need manual refresh", - "importSuccess": "Profile imported successfully, please restart if not visible", - "profileSwitched": "Profil Değiştirildi", - "profileReactivated": "Profil Yeniden Etkinleştirildi", - "switchInterrupted": "Profile switch interrupted by new selection", - "batchDeleted": "Seçili profiller başarıyla silindi" - }, - "notices": { - "forceRefreshCompleted": "Force refresh completed", - "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" - } - }, - "connections": { - "title": "Bağlantılar", - "summary": { - "downloaded": "İndirilen", - "uploaded": "Yüklenen" - }, - "actions": { - "listView": "Liste Görünümü", - "tableView": "Tablo Görünümü", - "pause": "Duraklat", - "resume": "Sürdür", - "closeAll": "Tümünü Kapat" - } - }, - "settings": { - "title": "Ayarlar", - "actions": { - "manual": "Kılavuz", - "telegram": "Telegram Kanalı", - "github": "Github Repo" - } - }, - "logs": { - "title": "Günlükler", - "actions": { - "pause": "Duraklat", - "resume": "Sürdür", - "clear": "Temizle" - }, - "filters": { - "all": "ALL", - "debug": "DEBUG", - "info": "INFO", - "warn": "WARN", - "error": "ERROR" - } - }, - "test": { - "title": "Test", - "actions": { - "testAll": "Tümünü Test Et", - "new": "Yeni" - } - }, - "unlock": { - "title": "Kilit Açma Testi", - "actions": { - "testing": "Test Ediliyor..." - }, - "empty": "No unlock test items" - } - }, "Proxies": "Vekil'ler", "Update At": "Güncelleme Zamanı", "rule": "kural", @@ -380,807 +194,6 @@ "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", - "components": { - "ruleEditor": { - "title": "Kuralları Düzenle", - "form": { - "labels": { - "type": "Kural Tipi", - "content": "Kural İçeriği", - "proxyPolicy": "Vekil Politikası" - }, - "toggles": { - "noResolve": "Çözümleme Yok" - }, - "actions": { - "prependRule": "Kuralın Başına Ekle", - "appendRule": "Kuralın Sonuna Ekle" - }, - "validation": { - "conditionRequired": "Kural Koşulu Gerekli", - "invalidRule": "Geçersiz Kural" - } - } - }, - "profile": { - "viewer": { - "title": { - "create": "Profil Oluştur", - "edit": "Profili Düzenle" - }, - "buttons": { - "save": "Kaydet", - "cancel": "İptal" - }, - "fields": { - "type": "Tip", - "name": "İsim", - "description": "Açıklamalar", - "subscriptionUrl": "Abonelik URL'si", - "httpTimeout": "HTTP Request Timeout", - "updateInterval": "Güncelleme Aralığı", - "useSystemProxy": "Sistem Vekil'ini Kullan", - "useClashProxy": "Clash Vekil'ini Kullan", - "acceptInvalidCerts": "Geçersiz Sertifikalara İzin Ver (Tehlikeli)", - "allowAutoUpdate": "Allow Auto Update" - }, - "notifications": { - "creationRetry": "Profil oluşturma başarısız oldu, Clash vekil ile yeniden deneniyor...", - "creationSuccess": "Clash vekil ile profil oluşturma başarılı oldu" - } - }, - "fileInput": { - "chooseFile": "Dosya Seç" - }, - "notifications": { - "saved": "Saved successfully" - }, - "proxiesEditor": { - "title": "Vekil'leri Düzenle", - "placeholders": { - "multiUri": "Birden fazla URI için yeni satırlar kullanın (Base64 kodlaması desteklenir)" - }, - "actions": { - "prepend": "Vekil'in Başına Ekle", - "append": "Vekil'in Sonuna Ekle" - } - }, - "groupsEditor": { - "title": "Vekil Gruplarını Düzenle", - "errors": { - "nameRequired": "Grup Adı Gerekli", - "nameExists": "Grup Adı Zaten Var" - }, - "fields": { - "type": "Grup Tipi", - "name": "Grup Adı", - "icon": "Vekil Grup Simgesi", - "proxies": "Vekil'leri Kullan", - "provider": "Sağlayıcı Kullan", - "healthCheckUrl": "Sağlık Kontrolü URL'si", - "expectedStatus": "Beklenen Durum", - "interval": "Aralık", - "timeout": "Zaman Aşımı", - "maxFailedTimes": "Maksimum Başarısız Deneme", - "interfaceName": "Arayüz Adı", - "routingMark": "Yönlendirme İşareti", - "filter": "Filtre", - "excludeFilter": "Hariç Tutma Filtresi", - "excludeType": "Hariç Tutma Tipi", - "includeAll": "Tüm Vekil'leri ve Sağlayıcıları Dahil Et", - "includeAllProxies": "Tüm Vekil'leri Dahil Et", - "includeAllProviders": "Tüm Sağlayıcıları Dahil Et" - }, - "toggles": { - "lazy": "Tembel", - "disableUdp": "UDP'yi Devre Dışı Bırak", - "hidden": "Gizli" - }, - "actions": { - "prepend": "Grubun Başına Ekle", - "append": "Grubun Sonuna Ekle" - } - }, - "menu": { - "home": "Ana Sayfa", - "select": "Seç", - "editInfo": "Bilgileri Düzenle", - "editFile": "Dosyayı Düzenle", - "editRules": "Kuralları Düzenle", - "editProxies": "Vekil'leri Düzenle", - "editGroups": "Vekil Gruplarını Düzenle", - "extendConfig": "Yapılandırma Genişletme", - "extendScript": "Betik Genişletme", - "openFile": "Dosyayı Aç", - "update": "Güncelle", - "updateViaProxy": "Update via proxy", - "delete": "Sil" - }, - "item": { - "tooltips": { - "showLast": "Click to show last update time", - "showNext": "Click to show next update" - }, - "status": { - "lastUpdateFailed": "Son güncelleme başarısız oldu", - "nextUp": "Sıradaki", - "noSchedule": "Program yok", - "unknown": "Bilinmiyor", - "autoUpdateDisabled": "Otomatik güncelleme devre dışı" - } - }, - "confirm": { - "delete": { - "title": "Silmeyi Onayla", - "message": "Bu işlem geri alınamaz" - } - }, - "logViewer": { - "title": "Betik Konsolu" - }, - "more": { - "global": { - "merge": "Global Merge", - "script": "Global Script" - }, - "chips": { - "merge": "Merge", - "script": "Script" - } - }, - "editor": { - "format": "Belgeyi biçimlendir", - "readOnlyMessage": "Salt okunur düzenleyicide düzenlenemez" - } - }, - "home": { - "proxyTunCard": { - "status": { - "systemProxyEnabled": "Sistem vekil'i etkinleştirildi, uygulamalarınız vekil üzerinden ağa erişecek", - "systemProxyDisabled": "Sistem vekil'i devre dışı, çoğu kullanıcı için bu seçeneği açmanız önerilir", - "tunModeServiceRequired": "TUN modu hizmet modu gerektirir, lütfen önce hizmeti kurun", - "tunModeEnabled": "TUN modu etkinleştirildi, uygulamalar sanal ağ kartı üzerinden ağa erişecek", - "tunModeDisabled": "TUN modu devre dışı, özel uygulamalar için uygundur" - }, - "tooltips": { - "systemProxy": "İşletim sisteminin vekil ayarlarını değiştirmek için etkinleştirin. Etkinleştirme başarısız olursa, işletim sisteminin proxy ayarlarını manuel olarak değiştirin", - "tunMode": "TUN modu tüm uygulama trafiğini ele alabilir, sistem vekil ayarlarını takip etmeyen özel uygulamalar için uygundur" - } - }, - "clashInfo": { - "title": "Clash Bilgisi", - "fields": { - "coreVersion": "Çekirdek Sürümü", - "systemProxyAddress": "Sistem Vekil Adresi", - "mixedPort": "Mixed Port", - "uptime": "Çalışma Süresi", - "rulesCount": "Kural Sayısı" - } - }, - "systemInfo": { - "title": "Sistem Bilgisi", - "fields": { - "osInfo": "İşletim Sistemi Bilgisi", - "autoLaunch": "Otomatik Başlatma", - "runningMode": "Çalışma Modu", - "lastCheckUpdate": "Son Güncelleme Kontrolü", - "vergeVersion": "Verge Sürümü" - }, - "actions": { - "settings": "Ayarlar" - }, - "labels": { - "enabled": "Etkin", - "disabled": "Devre Dışı" - }, - "tooltips": { - "autoLaunchAdmin": "Yönetici modu otomatik başlatmayı desteklemeyebilir" - }, - "badges": { - "adminMode": "Yönetici Modu", - "serviceMode": "Hizmet Modu", - "sidecarMode": "Kullanıcı Modu", - "adminServiceMode": "Yönetici + Hizmet Modu" - } - }, - "ipInfo": { - "title": "IP Bilgisi", - "errors": { - "load": "IP bilgisi alınamadı" - }, - "labels": { - "retry": "Retry", - "ip": "IP", - "asn": "ASN", - "isp": "ISP", - "org": "Kuruluş", - "location": "Konum", - "timezone": "Saat Dilimi", - "autoRefresh": "Otomatik yenile", - "unknown": "Bilinmiyor" - } - }, - "traffic": { - "metrics": { - "uploadSpeed": "Yükleme Hızı", - "downloadSpeed": "İndirme Hızı", - "activeConnections": "Aktif Bağlantılar", - "uploaded": "Yüklenen", - "downloaded": "İndirilen", - "memoryUsage": "Çekirdek Kullanımı" - }, - "legends": { - "upload": "Yükleme", - "download": "İndirme" - }, - "patterns": { - "minutes": "{{time}} Minutes" - } - }, - "currentProxy": { - "title": "Geçerli Düğüm", - "actions": { - "refreshDelay": "Gecikme kontrolü" - }, - "labels": { - "globalMode": "Küresel Mod", - "directMode": "Doğrudan Mod", - "group": "Grup", - "proxy": "Vekil", - "noActiveNode": "Aktif vekil düğümü yok" - } - }, - "profile": { - "title": "Profiller", - "actions": { - "import": "İçe Aktar" - }, - "labels": { - "from": "Kaynak", - "updateTime": "Güncelleme Zamanı", - "usedTotal": "Kullanılan / Toplam", - "expireTime": "Sona Erme Zamanı", - "clickToImport": "Abonelik içe aktarmak için tıklayın" - } - } - }, - "connection": { - "fields": { - "host": "Ana Bilgisayar", - "downloaded": "İndirilen", - "uploaded": "Yüklenen", - "dlSpeed": "İndirme Hızı", - "ulSpeed": "Yükleme Hızı", - "chains": "Zincirler", - "rule": "Kural", - "process": "İşlem", - "time": "Zaman", - "source": "Kaynak", - "destination": "Hedef", - "destinationPort": "Hedef Port", - "type": "Tip" - }, - "actions": { - "closeConnection": "Bağlantıyı Kapat" - }, - "order": { - "default": "Default", - "uploadSpeed": "Yükleme Hızı", - "downloadSpeed": "İndirme Hızı" - } - }, - "settings": { - "system": { - "title": "Sistem Ayarları", - "toggles": { - "tunMode": "Tun Modu", - "systemProxy": "Sistem Vekil'i" - }, - "labels": { - "autoLaunch": "Otomatik Başlatma", - "silentStart": "Sessiz Başlatma" - }, - "tooltips": { - "autoLaunchAdmin": "Yönetici modu otomatik başlatmayı desteklemeyebilir", - "silentStart": "Programı paneli görüntülemeden arka plan modunda başlatır" - } - }, - "proxyControl": { - "labels": { - "systemProxy": "Sistem Vekil'i", - "tunMode": "Tun Modu" - }, - "tooltips": { - "systemProxy": "İşletim sisteminin vekil ayarlarını değiştirmek için etkinleştirin. Etkinleştirme başarısız olursa, işletim sisteminin proxy ayarlarını manuel olarak değiştirin", - "tunMode": "Tun (Sanal Ağ Kartı) modu: Tüm sistem trafiğini yakalar, etkinleştirildiğinde sistem vekil'ini etkinleştirmeye gerek yoktur.", - "tunUnavailable": "TUN requires Service Mode or Admin Mode" - }, - "actions": { - "installService": "Hizmeti Kur", - "uninstallService": "Uninstall Service" - } - }, - "externalController": { - "title": "Harici Denetleyici", - "fields": { - "enable": "Harici denetleyiciyi etkinleştir", - "address": "Harici Denetleyici", - "secret": "Çekirdek Sırrı" - }, - "placeholders": { - "address": "Gerekli", - "secret": "Önerilen" - }, - "tooltips": { - "copy": "Panoya kopyala" - }, - "messages": { - "addressRequired": "Denetleyici adresi boş olamaz", - "secretRequired": "Gizli anahtar boş olamaz", - "copyFailed": "Kopyalama başarısız", - "controllerCopied": "Denetleyici adresi panoya kopyalandı", - "secretCopied": "Gizli anahtar panoya kopyalandı" - } - }, - "externalCors": { - "title": "Harici CORS yapılandırması", - "fields": { - "allowPrivateNetwork": "Özel ağ erişimine izin ver", - "allowedOrigins": "İzin verilen kökenler" - }, - "placeholders": { - "origin": "Geçerli bir URL girin" - }, - "actions": { - "add": "Ekle" - }, - "messages": { - "alwaysIncluded": "Her zaman dahil edilen kökenler: {{urls}}" - }, - "tooltips": { - "open": "Harici CORS ayarları" - } - }, - "clash": { - "title": "Clash Ayarı", - "items": { - "allowLan": "LAN'a İzin Ver", - "dnsOverwrite": "DNS Üzerine Yazma", - "ipv6": "IPv6", - "unifiedDelay": "Birleşik Gecikme", - "logLevel": "Günlük Seviyesi", - "portConfig": "Port Yapılandırması", - "external": "Harici", - "webUI": "Web Arayüzü", - "clashCore": "Clash Çekirdeği", - "openUwpTool": "UWP Aracını Aç", - "updateGeoData": "GeoData'yı Güncelle" - }, - "tooltips": { - "networkInterface": "Ağ Arayüzü", - "unifiedDelay": "Birleşik gecikme açıldığında, bağlantı el sıkışmaları vb. nedeniyle farklı tür düğümler arasındaki gecikme farklarını ortadan kaldırmak için iki gecikme testi gerçekleştirilir", - "logLevel": "Bu parametre yalnızca günlük dizini Hizmet klasöründeki çekirdek günlük dosyaları için geçerlidir", - "openUwpTool": "Windows 8'den beri, UWP uygulamaları (Microsoft Store gibi) yerel ana bilgisayar ağ hizmetlerine doğrudan erişmekten kısıtlanmıştır ve bu araç bu kısıtlamayı atlatmak için kullanılabilir" - }, - "options": { - "logLevel": { - "debug": "Debug", - "info": "Info", - "warning": "Warn", - "error": "Error", - "silent": "Silent" - } - }, - "messages": { - "geoDataUpdated": "GeoData Güncellendi" - }, - "port": { - "title": "Port Yapılandırması", - "fields": { - "mixed": "Karışık Port", - "socks": "Socks Portu", - "http": "Http(s) Portu", - "redir": "Redir Portu", - "tproxy": "Tvekil Portu" - }, - "actions": { - "random": "Rastgele Port" - }, - "messages": { - "saved": "Port settings saved", - "saveFailed": "Failed to save port settings" - } - } - }, - "liteMode": { - "title": "Hafif Mod Ayarları", - "actions": { - "enterNow": "Şimdi Hafif Moda Gir" - }, - "toggles": { - "autoEnter": "Otomatik Hafif Moda Gir" - }, - "tooltips": { - "autoEnter": "Pencere belirli bir süre kapatıldıktan sonra Hafif Modun otomatik olarak etkinleştirilmesi için etkinleştirin" - }, - "fields": { - "delay": "Otomatik Hafif Mod Giriş Gecikmesi" - }, - "messages": { - "autoEnterHint": "Pencere kapatıldığında, Hafif Mod {{n}} dakika sonra otomatik olarak etkinleştirilecek" - } - }, - "backup": { - "title": "Yedekleme Ayarı", - "tabs": { - "local": "Local backup", - "webdav": "WebDAV backup" - }, - "actions": { - "selectTarget": "Select backup target", - "backup": "Yedekle", - "refresh": "Yenile", - "save": "Kaydet", - "export": "Export", - "exportBackup": "Export Backup", - "delete": "Sil", - "deleteBackup": "Yedeği Sil", - "restore": "Geri Yükle", - "restoreBackup": "Yedeği Geri Yükle" - }, - "fields": { - "webdavUrl": "WebDAV Sunucu URL'si", - "username": "Kullanıcı Adı", - "password": "Şifre", - "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." - }, - "messages": { - "webdavUrlRequired": "WebDAV URL'si boş olamaz", - "invalidWebdavUrl": "Geçersiz WebDAV URL formatı", - "usernameRequired": "Kullanıcı adı boş olamaz", - "passwordRequired": "Şifre boş olamaz", - "webdavConfigSaved": "WebDAV yapılandırması başarıyla kaydedildi", - "webdavConfigSaveFailed": "WebDAV yapılandırması kaydedilemedi: {{error}}", - "backupCreated": "Yedek başarıyla oluşturuldu", - "backupFailed": "Yedekleme başarısız oldu: {{error}}", - "localBackupCreated": "Local backup created successfully", - "localBackupFailed": "Local backup failed", - "restoreSuccess": "Geri Yükleme Başarılı, Uygulama 1 saniye içinde yeniden başlatılacak", - "localBackupExported": "Local backup exported successfully", - "localBackupExportFailed": "Failed to export local backup", - "confirmDelete": "Bu yedek dosyasını silmeyi onaylıyor musunuz?", - "confirmRestore": "Bu yedek dosyasını geri yüklemeyi onaylıyor musunuz?" - }, - "table": { - "filename": "Dosya Adı", - "backupTime": "Yedekleme Zamanı", - "actions": "İşlemler", - "noBackups": "Kullanılabilir yedek yok", - "rowsPerPage": "Rows per page" - } - }, - "verge": { - "basic": { - "title": "Verge Temel Ayarı", - "items": { - "language": "Dil", - "themeMode": "Tema Modu", - "trayClickEvent": "Sistem Tepsisi Tıklama Olayı", - "copyEnvType": "Env Tipini Kopyala", - "startPage": "Başlangıç Sayfası", - "startupScript": "Başlangıç Betiği", - "themeSetting": "Tema Ayarı", - "layoutSetting": "Düzen Ayarı", - "misc": "Çeşitli", - "hotkeySetting": "Kısayol Tuşu Ayarı" - }, - "actions": { - "browse": "Gözat", - "clear": "Temizle" - }, - "trayOptions": { - "showMainWindow": "Ana Pencereyi Göster", - "showTrayMenu": "Tepsi Menüsünü Göster", - "disable": "Devre Dışı Bırak" - } - }, - "advanced": { - "title": "Verge Gelişmiş Ayarı", - "items": { - "backupSetting": "Yedekleme Ayarı", - "runtimeConfig": "Çalışma Zamanı Yapılandırması", - "openConfDir": "Yapılandırma Dizinini Aç", - "openCoreDir": "Çekirdek Dizinini Aç", - "openLogsDir": "Günlük Dizinini Aç", - "checkUpdates": "Güncellemeleri Kontrol Et", - "openDevTools": "Geliştirici Araçları", - "liteModeSettings": "Hafif Mod Ayarları", - "exit": "Çıkış", - "exportDiagnostics": "Tanılama Bilgilerini Dışa Aktar", - "vergeVersion": "Verge Sürümü" - }, - "tooltips": { - "backupInfo": "WebDAV yedekleme yapılandırma dosyalarını destekler", - "openConfDir": "Yazılım anormal çalışıyorsa, bu klasördeki tüm dosyaları YEDEKLEYİN ve silin, ardından yazılımı yeniden başlatın", - "liteMode": "GUI'yi kapatın ve yalnızca çekirdeği çalışır durumda tutun" - }, - "actions": { - "copyVersion": "Copy Version" - }, - "notifications": { - "latestVersion": "Şu Anda En Son Sürümdesiniz", - "versionCopied": "Version copied to clipboard" - } - }, - "theme": { - "title": "Tema Ayarı", - "fields": { - "primaryColor": "Ana Renk", - "secondaryColor": "İkincil Renk", - "primaryText": "Ana Metin", - "secondaryText": "İkincil Metin", - "infoColor": "Bilgi Rengi", - "warningColor": "Uyarı Rengi", - "errorColor": "Hata Rengi", - "successColor": "Başarı Rengi", - "fontFamily": "Yazı Tipi Ailesi", - "cssInjection": "CSS Enjeksiyonu" - }, - "actions": { - "editCss": "Edit CSS" - }, - "dialogs": { - "editCssTitle": "Edit CSS" - } - }, - "layout": { - "title": "Düzen Ayarı", - "fields": { - "preferSystemTitlebar": "Prefer System Titlebar", - "trafficGraph": "Trafik Grafiği", - "memoryUsage": "Çekirdek Kullanımı", - "proxyGroupIcon": "Vekil Grup Simgesi", - "hoverNavigator": "Hover Jump Navigator", - "hoverNavigatorDelay": "Hover Jump Navigator Delay", - "navIcon": "Gezinme Simgesi", - "trayIcon": "Tepsi Simgesi", - "showProxyGroupsInline": "Show Proxy Groups Inline", - "commonTrayIcon": "Genel Tepsi Simgesi", - "systemProxyTrayIcon": "Sistem Vekil Tepsi Simgesi", - "tunTrayIcon": "Tun Tepsi Simgesi" - }, - "tooltips": { - "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", - "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" - }, - "options": { - "icon": { - "monochrome": "Tek Renkli", - "colorful": "Renkli", - "disable": "Devre Dışı Bırak" - } - } - } - }, - "common": { - "notifications": { - "copySuccess": "Kopyalama Başarılı" - } - }, - "misc": { - "title": "Çeşitli", - "fields": { - "appLogLevel": "Uygulama Günlük Seviyesi", - "appLogMaxSize": "App Log Max Size", - "appLogMaxCount": "App Log Max Count", - "autoCloseConnections": "Bağlantıları Otomatik Kapat", - "autoCheckUpdate": "Otomatik Güncelleme Kontrolü", - "enableBuiltinEnhanced": "Yerleşik Geliştirilmiş Modu Etkinleştir", - "proxyLayoutColumns": "Vekil Düzeni Sütunları", - "autoLogClean": "Otomatik Günlük Temizleme", - "autoDelayDetection": "Otomatik Gecikme Tespiti", - "defaultLatencyTest": "Varsayılan Gecikme Testi", - "defaultLatencyTimeout": "Varsayılan Gecikme Zaman Aşımı" - }, - "tooltips": { - "autoCloseConnections": "Vekil grup seçimi veya vekil modu değiştiğinde kurulan bağlantıları sonlandır", - "enableBuiltinEnhanced": "Yapılandırma dosyası için uyumluluk işleme", - "autoDelayDetection": "Arka planda mevcut düğümün gecikmesini periyodik olarak test eder", - "defaultLatencyTest": "Yalnızca HTTP istemci isteği testi için kullanılır ve yapılandırma dosyasında bir fark yaratmaz" - }, - "options": { - "proxyLayoutColumns": { - "auto": "Otomatik Sütunlar" - }, - "autoLogClean": { - "never": "Asla Temizleme", - "retainDays": "{{n}} Gün Sakla" - } - } - }, - "update": { - "title": "New Version v{{version}}", - "actions": { - "goToRelease": "Sürüm Sayfasına Git", - "update": "Güncelle" - }, - "messages": { - "portableError": "Taşınabilir sürüm uygulama içi güncellemeleri desteklemez. Lütfen manuel olarak indirip değiştirin", - "breakChangeError": "Bu sürüm büyük bir güncellemedir ve uygulama içi güncellemeleri desteklemez. Lütfen kaldırın ve yeni sürümü manuel olarak indirip kurun" - } - }, - "sysproxy": { - "title": "Sistem Vekil Ayarı", - "fieldsets": { - "currentStatus": "Geçerli Sistem Vekil'i" - }, - "fields": { - "enableStatus": "Etkinlik Durumu:", - "serverAddr": "Sunucu Adresi: ", - "pacUrl": "PAC URL'si: ", - "proxyHost": "Vekil Sunucusu", - "usePacMode": "PAC Modunu Kullan", - "proxyGuard": "Vekil Koruyucusu", - "guardDuration": "Koruma Süresi", - "alwaysUseDefaultBypass": "Her Zaman Varsayılan Baypas Kullan", - "proxyBypass": "Vekil Baypas Ayarları: ", - "bypass": "Baypas: ", - "pacScriptContent": "PAC Betiği İçeriği" - }, - "tooltips": { - "proxyGuard": "Diğer yazılımların işletim sisteminin vekil ayarlarını değiştirmesini önlemek için etkinleştirin" - }, - "messages": { - "durationTooShort": "Vekil Koruyucu Süresi 1 Saniyeden Az Olamaz", - "invalidBypass": "Geçersiz Baypas Formatı", - "invalidProxyHost": "Geçersiz Vekil Sunucusu Formatı" - }, - "actions": { - "editPac": "Düzenle PAC" - } - }, - "tun": { - "title": "Tun Modu", - "actions": { - "reset": "Varsayılana Sıfırla" - }, - "fields": { - "stack": "Tun Yığını", - "device": "Device Name", - "autoRoute": "Otomatik Yönlendirme", - "strictRoute": "Katı Yönlendirme", - "autoDetectInterface": "Arayüzü Otomatik Algıla", - "dnsHijack": "DNS Ele Geçirme", - "mtu": "Maksimum İletim Birimi" - }, - "tooltips": { - "dnsHijack": "Please use , to separate multiple DNS servers" - }, - "messages": { - "applied": "Ayarlar Uygulandı" - } - }, - "dns": { - "dialog": { - "title": "DNS Üzerine Yazma", - "warning": "Bu ayarlarla ilgili bilginiz yoksa, lütfen bunları değiştirmeyin ve DNS Üzerine Yazma'yı etkin tutun" - }, - "sections": { - "general": "DNS Ayarları", - "fallbackFilter": "Yedek Filtre Ayarları", - "hosts": "Hosts Ayarları" - }, - "fields": { - "enable": "DNS'i Etkinleştir", - "listen": "DNS Dinleme", - "enhancedMode": "Geliştirilmiş Mod", - "fakeIpRange": "Sahte IP Aralığı", - "fakeIpFilterMode": "Sahte IP Filtre Modu", - "ipv6": { - "label": "IPv6", - "description": "IPv6 DNS çözümlemesini etkinleştir" - }, - "preferH3": { - "label": "H3'ü Tercih Et", - "description": "DNS DOH uses HTTP/3" - }, - "respectRules": { - "label": "Kurallara Uy", - "description": "DNS bağlantıları yönlendirme kurallarını takip eder" - }, - "useHosts": { - "label": "Hosts Kullan", - "description": "Ana bilgisayarları hosts dosyası aracılığıyla çözümlemek için etkinleştirin" - }, - "useSystemHosts": { - "label": "Sistem Hosts Dosyasını Kullan", - "description": "Ana bilgisayarları sistem hosts dosyası aracılığıyla çözümlemek için etkinleştirin" - }, - "directPolicy": { - "label": "Doğrudan İsim Sunucusu Politikasını Takip Et", - "description": "İsim sunucusu politikasının takip edilip edilmeyeceği" - }, - "defaultNameserver": { - "label": "Varsayılan İsim Sunucusu", - "description": "DNS sunucularını çözümlemek için kullanılan varsayılan DNS sunucuları" - }, - "nameserver": { - "label": "İsim Sunucusu", - "description": "DNS sunucuları listesi, virgülle ayrılmış" - }, - "fallback": { - "label": "Yedek", - "description": "Yedek DNS sunucuları listesi, virgülle ayrılmış" - }, - "proxy": { - "label": "Vekil Sunucusu İsim Sunucusu", - "description": "Vekil düğümü alan adı çözümlemesi için DNS sunucuları" - }, - "directNameserver": { - "label": "Doğrudan İsim Sunucusu", - "description": "Doğrudan çıkış alan adı çözümlemesi için DNS sunucuları, 'system' anahtar kelimesini destekler, virgülle ayrılmış" - }, - "fakeIpFilter": { - "label": "Sahte IP Filtresi", - "description": "Sahte IP çözümlemesini atlayan alan adları, virgülle ayrılmış" - }, - "nameserverPolicy": { - "label": "İsim Sunucusu Politikası", - "description": "Alana özgü DNS sunucusu, birden çok sunucu noktalı virgülle ayrılır, format: domain=server1;server2" - }, - "geoipFiltering": { - "label": "GeoIP Filtreleme", - "description": "Yedek için GeoIP filtrelemeyi etkinleştir" - }, - "geoipCode": "GeoIP Kodu", - "fallbackIpCidr": { - "label": "Yedek IP CIDR", - "description": "Yedek sunucuları kullanmayan IP CIDR'ları, virgülle ayrılmış" - }, - "fallbackDomain": { - "label": "Yedek Alan Adı", - "description": "Yedek sunucuları kullanan alan adları, virgülle ayrılmış" - }, - "hosts": { - "label": "Hosts", - "description": "Özel alan adından IP'ye veya alan adına eşleme" - } - }, - "messages": { - "saved": "DNS ayarları kaydedildi", - "configError": "DNS configuration error:" - }, - "errors": { - "invalid": "Invalid configuration" - } - } - }, - "providers": { - "notices": { - "updateSuccess": "{{name}} updated successfully", - "updateFailed": "Failed to update {{name}}: {{message}}", - "genericError": "Update failed: {{message}}", - "none": "No providers available to update", - "allUpdated": "All providers updated successfully" - } - }, - "test": { - "item": { - "actions": { - "test": "Test" - } - }, - "viewer": { - "title": { - "create": "Test Oluştur", - "edit": "Testi Düzenle" - }, - "fields": { - "url": "Test URL'si" - } - } - } - }, "common": { "editorModes": { "visualization": "Görselleştirme", @@ -1207,5 +220,1000 @@ "unlock": "Unlock menu order", "lock": "Lock menu order" } + }, + "ruleEditor": { + "title": "Kuralları Düzenle", + "form": { + "labels": { + "type": "Kural Tipi", + "content": "Kural İçeriği", + "proxyPolicy": "Vekil Politikası" + }, + "toggles": { + "noResolve": "Çözümleme Yok" + }, + "actions": { + "prependRule": "Kuralın Başına Ekle", + "appendRule": "Kuralın Sonuna Ekle" + }, + "validation": { + "conditionRequired": "Kural Koşulu Gerekli", + "invalidRule": "Geçersiz Kural" + } + } + }, + "profile": { + "viewer": { + "title": { + "create": "Profil Oluştur", + "edit": "Profili Düzenle" + }, + "buttons": { + "save": "Kaydet", + "cancel": "İptal" + }, + "fields": { + "type": "Tip", + "name": "İsim", + "description": "Açıklamalar", + "subscriptionUrl": "Abonelik URL'si", + "httpTimeout": "HTTP Request Timeout", + "updateInterval": "Güncelleme Aralığı", + "useSystemProxy": "Sistem Vekil'ini Kullan", + "useClashProxy": "Clash Vekil'ini Kullan", + "acceptInvalidCerts": "Geçersiz Sertifikalara İzin Ver (Tehlikeli)", + "allowAutoUpdate": "Allow Auto Update" + }, + "notifications": { + "creationRetry": "Profil oluşturma başarısız oldu, Clash vekil ile yeniden deneniyor...", + "creationSuccess": "Clash vekil ile profil oluşturma başarılı oldu" + } + }, + "fileInput": { + "chooseFile": "Dosya Seç" + }, + "notifications": { + "saved": "Saved successfully" + }, + "proxiesEditor": { + "title": "Vekil'leri Düzenle", + "placeholders": { + "multiUri": "Birden fazla URI için yeni satırlar kullanın (Base64 kodlaması desteklenir)" + }, + "actions": { + "prepend": "Vekil'in Başına Ekle", + "append": "Vekil'in Sonuna Ekle" + } + }, + "groupsEditor": { + "title": "Vekil Gruplarını Düzenle", + "errors": { + "nameRequired": "Grup Adı Gerekli", + "nameExists": "Grup Adı Zaten Var" + }, + "fields": { + "type": "Grup Tipi", + "name": "Grup Adı", + "icon": "Vekil Grup Simgesi", + "proxies": "Vekil'leri Kullan", + "provider": "Sağlayıcı Kullan", + "healthCheckUrl": "Sağlık Kontrolü URL'si", + "expectedStatus": "Beklenen Durum", + "interval": "Aralık", + "timeout": "Zaman Aşımı", + "maxFailedTimes": "Maksimum Başarısız Deneme", + "interfaceName": "Arayüz Adı", + "routingMark": "Yönlendirme İşareti", + "filter": "Filtre", + "excludeFilter": "Hariç Tutma Filtresi", + "excludeType": "Hariç Tutma Tipi", + "includeAll": "Tüm Vekil'leri ve Sağlayıcıları Dahil Et", + "includeAllProxies": "Tüm Vekil'leri Dahil Et", + "includeAllProviders": "Tüm Sağlayıcıları Dahil Et" + }, + "toggles": { + "lazy": "Tembel", + "disableUdp": "UDP'yi Devre Dışı Bırak", + "hidden": "Gizli" + }, + "actions": { + "prepend": "Grubun Başına Ekle", + "append": "Grubun Sonuna Ekle" + } + }, + "menu": { + "home": "Ana Sayfa", + "select": "Seç", + "editInfo": "Bilgileri Düzenle", + "editFile": "Dosyayı Düzenle", + "editRules": "Kuralları Düzenle", + "editProxies": "Vekil'leri Düzenle", + "editGroups": "Vekil Gruplarını Düzenle", + "extendConfig": "Yapılandırma Genişletme", + "extendScript": "Betik Genişletme", + "openFile": "Dosyayı Aç", + "update": "Güncelle", + "updateViaProxy": "Update via proxy", + "delete": "Sil" + }, + "item": { + "tooltips": { + "showLast": "Click to show last update time", + "showNext": "Click to show next update" + }, + "status": { + "lastUpdateFailed": "Son güncelleme başarısız oldu", + "nextUp": "Sıradaki", + "noSchedule": "Program yok", + "unknown": "Bilinmiyor", + "autoUpdateDisabled": "Otomatik güncelleme devre dışı" + } + }, + "confirm": { + "delete": { + "title": "Silmeyi Onayla", + "message": "Bu işlem geri alınamaz" + } + }, + "logViewer": { + "title": "Betik Konsolu" + }, + "more": { + "global": { + "merge": "Global Merge", + "script": "Global Script" + }, + "chips": { + "merge": "Merge", + "script": "Script" + } + }, + "editor": { + "format": "Belgeyi biçimlendir", + "readOnlyMessage": "Salt okunur düzenleyicide düzenlenemez" + } + }, + "home": { + "proxyTunCard": { + "status": { + "systemProxyEnabled": "Sistem vekil'i etkinleştirildi, uygulamalarınız vekil üzerinden ağa erişecek", + "systemProxyDisabled": "Sistem vekil'i devre dışı, çoğu kullanıcı için bu seçeneği açmanız önerilir", + "tunModeServiceRequired": "TUN modu hizmet modu gerektirir, lütfen önce hizmeti kurun", + "tunModeEnabled": "TUN modu etkinleştirildi, uygulamalar sanal ağ kartı üzerinden ağa erişecek", + "tunModeDisabled": "TUN modu devre dışı, özel uygulamalar için uygundur" + }, + "tooltips": { + "systemProxy": "İşletim sisteminin vekil ayarlarını değiştirmek için etkinleştirin. Etkinleştirme başarısız olursa, işletim sisteminin proxy ayarlarını manuel olarak değiştirin", + "tunMode": "TUN modu tüm uygulama trafiğini ele alabilir, sistem vekil ayarlarını takip etmeyen özel uygulamalar için uygundur" + } + }, + "clashInfo": { + "title": "Clash Bilgisi", + "fields": { + "coreVersion": "Çekirdek Sürümü", + "systemProxyAddress": "Sistem Vekil Adresi", + "mixedPort": "Mixed Port", + "uptime": "Çalışma Süresi", + "rulesCount": "Kural Sayısı" + } + }, + "systemInfo": { + "title": "Sistem Bilgisi", + "fields": { + "osInfo": "İşletim Sistemi Bilgisi", + "autoLaunch": "Otomatik Başlatma", + "runningMode": "Çalışma Modu", + "lastCheckUpdate": "Son Güncelleme Kontrolü", + "vergeVersion": "Verge Sürümü" + }, + "actions": { + "settings": "Ayarlar" + }, + "labels": { + "enabled": "Etkin", + "disabled": "Devre Dışı" + }, + "tooltips": { + "autoLaunchAdmin": "Yönetici modu otomatik başlatmayı desteklemeyebilir" + }, + "badges": { + "adminMode": "Yönetici Modu", + "serviceMode": "Hizmet Modu", + "sidecarMode": "Kullanıcı Modu", + "adminServiceMode": "Yönetici + Hizmet Modu" + } + }, + "ipInfo": { + "title": "IP Bilgisi", + "errors": { + "load": "IP bilgisi alınamadı" + }, + "labels": { + "retry": "Retry", + "ip": "IP", + "asn": "ASN", + "isp": "ISP", + "org": "Kuruluş", + "location": "Konum", + "timezone": "Saat Dilimi", + "autoRefresh": "Otomatik yenile", + "unknown": "Bilinmiyor" + } + }, + "traffic": { + "metrics": { + "uploadSpeed": "Yükleme Hızı", + "downloadSpeed": "İndirme Hızı", + "activeConnections": "Aktif Bağlantılar", + "uploaded": "Yüklenen", + "downloaded": "İndirilen", + "memoryUsage": "Çekirdek Kullanımı" + }, + "legends": { + "upload": "Yükleme", + "download": "İndirme" + }, + "patterns": { + "minutes": "{{time}} Minutes" + } + }, + "currentProxy": { + "title": "Geçerli Düğüm", + "actions": { + "refreshDelay": "Gecikme kontrolü" + }, + "labels": { + "globalMode": "Küresel Mod", + "directMode": "Doğrudan Mod", + "group": "Grup", + "proxy": "Vekil", + "noActiveNode": "Aktif vekil düğümü yok" + } + }, + "profile": { + "title": "Profiller", + "actions": { + "import": "İçe Aktar" + }, + "labels": { + "from": "Kaynak", + "updateTime": "Güncelleme Zamanı", + "usedTotal": "Kullanılan / Toplam", + "expireTime": "Sona Erme Zamanı", + "clickToImport": "Abonelik içe aktarmak için tıklayın" + } + }, + "page": { + "title": "Ana Sayfa", + "tooltips": { + "lightweightMode": "Hafif Mod", + "manual": "Kılavuz", + "settings": "Ana Sayfa Ayarları" + }, + "cards": { + "trafficStats": "Trafik İstatistikleri", + "networkSettings": "Ağ Ayarları", + "proxyMode": "Vekil Modu" + }, + "settings": { + "title": "Ana Sayfa Ayarları", + "cards": { + "profile": "Profil Kartı", + "currentProxy": "Geçerli Vekil Kartı", + "network": "Ağ Ayarları Kartı", + "proxyMode": "Vekil Modu Kartı", + "traffic": "Trafik İstatistikleri Kartı", + "tests": "Web Sitesi Testleri Kartı", + "ip": "IP Bilgi Kartı", + "clashInfo": "Clash Bilgi Kartları", + "systemInfo": "Sistem Bilgi Kartları" + } + } + } + }, + "connection": { + "fields": { + "host": "Ana Bilgisayar", + "downloaded": "İndirilen", + "uploaded": "Yüklenen", + "dlSpeed": "İndirme Hızı", + "ulSpeed": "Yükleme Hızı", + "chains": "Zincirler", + "rule": "Kural", + "process": "İşlem", + "time": "Zaman", + "source": "Kaynak", + "destination": "Hedef", + "destinationPort": "Hedef Port", + "type": "Tip" + }, + "actions": { + "closeConnection": "Bağlantıyı Kapat" + }, + "order": { + "default": "Default", + "uploadSpeed": "Yükleme Hızı", + "downloadSpeed": "İndirme Hızı" + } + }, + "settings": { + "system": { + "title": "Sistem Ayarları", + "toggles": { + "tunMode": "Tun Modu", + "systemProxy": "Sistem Vekil'i" + }, + "labels": { + "autoLaunch": "Otomatik Başlatma", + "silentStart": "Sessiz Başlatma" + }, + "tooltips": { + "autoLaunchAdmin": "Yönetici modu otomatik başlatmayı desteklemeyebilir", + "silentStart": "Programı paneli görüntülemeden arka plan modunda başlatır" + } + }, + "proxyControl": { + "labels": { + "systemProxy": "Sistem Vekil'i", + "tunMode": "Tun Modu" + }, + "tooltips": { + "systemProxy": "İşletim sisteminin vekil ayarlarını değiştirmek için etkinleştirin. Etkinleştirme başarısız olursa, işletim sisteminin proxy ayarlarını manuel olarak değiştirin", + "tunMode": "Tun (Sanal Ağ Kartı) modu: Tüm sistem trafiğini yakalar, etkinleştirildiğinde sistem vekil'ini etkinleştirmeye gerek yoktur.", + "tunUnavailable": "TUN requires Service Mode or Admin Mode" + }, + "actions": { + "installService": "Hizmeti Kur", + "uninstallService": "Uninstall Service" + } + }, + "externalController": { + "title": "Harici Denetleyici", + "fields": { + "enable": "Harici denetleyiciyi etkinleştir", + "address": "Harici Denetleyici", + "secret": "Çekirdek Sırrı" + }, + "placeholders": { + "address": "Gerekli", + "secret": "Önerilen" + }, + "tooltips": { + "copy": "Panoya kopyala" + }, + "messages": { + "addressRequired": "Denetleyici adresi boş olamaz", + "secretRequired": "Gizli anahtar boş olamaz", + "copyFailed": "Kopyalama başarısız", + "controllerCopied": "Denetleyici adresi panoya kopyalandı", + "secretCopied": "Gizli anahtar panoya kopyalandı" + } + }, + "externalCors": { + "title": "Harici CORS yapılandırması", + "fields": { + "allowPrivateNetwork": "Özel ağ erişimine izin ver", + "allowedOrigins": "İzin verilen kökenler" + }, + "placeholders": { + "origin": "Geçerli bir URL girin" + }, + "actions": { + "add": "Ekle" + }, + "messages": { + "alwaysIncluded": "Her zaman dahil edilen kökenler: {{urls}}" + }, + "tooltips": { + "open": "Harici CORS ayarları" + } + }, + "clash": { + "title": "Clash Ayarı", + "items": { + "allowLan": "LAN'a İzin Ver", + "dnsOverwrite": "DNS Üzerine Yazma", + "ipv6": "IPv6", + "unifiedDelay": "Birleşik Gecikme", + "logLevel": "Günlük Seviyesi", + "portConfig": "Port Yapılandırması", + "external": "Harici", + "webUI": "Web Arayüzü", + "clashCore": "Clash Çekirdeği", + "openUwpTool": "UWP Aracını Aç", + "updateGeoData": "GeoData'yı Güncelle" + }, + "tooltips": { + "networkInterface": "Ağ Arayüzü", + "unifiedDelay": "Birleşik gecikme açıldığında, bağlantı el sıkışmaları vb. nedeniyle farklı tür düğümler arasındaki gecikme farklarını ortadan kaldırmak için iki gecikme testi gerçekleştirilir", + "logLevel": "Bu parametre yalnızca günlük dizini Hizmet klasöründeki çekirdek günlük dosyaları için geçerlidir", + "openUwpTool": "Windows 8'den beri, UWP uygulamaları (Microsoft Store gibi) yerel ana bilgisayar ağ hizmetlerine doğrudan erişmekten kısıtlanmıştır ve bu araç bu kısıtlamayı atlatmak için kullanılabilir" + }, + "options": { + "logLevel": { + "debug": "Debug", + "info": "Info", + "warning": "Warn", + "error": "Error", + "silent": "Silent" + } + }, + "messages": { + "geoDataUpdated": "GeoData Güncellendi" + }, + "port": { + "title": "Port Yapılandırması", + "fields": { + "mixed": "Karışık Port", + "socks": "Socks Portu", + "http": "Http(s) Portu", + "redir": "Redir Portu", + "tproxy": "Tvekil Portu" + }, + "actions": { + "random": "Rastgele Port" + }, + "messages": { + "saved": "Port settings saved", + "saveFailed": "Failed to save port settings" + } + } + }, + "liteMode": { + "title": "Hafif Mod Ayarları", + "actions": { + "enterNow": "Şimdi Hafif Moda Gir" + }, + "toggles": { + "autoEnter": "Otomatik Hafif Moda Gir" + }, + "tooltips": { + "autoEnter": "Pencere belirli bir süre kapatıldıktan sonra Hafif Modun otomatik olarak etkinleştirilmesi için etkinleştirin" + }, + "fields": { + "delay": "Otomatik Hafif Mod Giriş Gecikmesi" + }, + "messages": { + "autoEnterHint": "Pencere kapatıldığında, Hafif Mod {{n}} dakika sonra otomatik olarak etkinleştirilecek" + } + }, + "backup": { + "title": "Yedekleme Ayarı", + "tabs": { + "local": "Local backup", + "webdav": "WebDAV backup" + }, + "actions": { + "selectTarget": "Select backup target", + "backup": "Yedekle", + "refresh": "Yenile", + "save": "Kaydet", + "export": "Export", + "exportBackup": "Export Backup", + "delete": "Sil", + "deleteBackup": "Yedeği Sil", + "restore": "Geri Yükle", + "restoreBackup": "Yedeği Geri Yükle" + }, + "fields": { + "webdavUrl": "WebDAV Sunucu URL'si", + "username": "Kullanıcı Adı", + "password": "Şifre", + "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." + }, + "messages": { + "webdavUrlRequired": "WebDAV URL'si boş olamaz", + "invalidWebdavUrl": "Geçersiz WebDAV URL formatı", + "usernameRequired": "Kullanıcı adı boş olamaz", + "passwordRequired": "Şifre boş olamaz", + "webdavConfigSaved": "WebDAV yapılandırması başarıyla kaydedildi", + "webdavConfigSaveFailed": "WebDAV yapılandırması kaydedilemedi: {{error}}", + "backupCreated": "Yedek başarıyla oluşturuldu", + "backupFailed": "Yedekleme başarısız oldu: {{error}}", + "localBackupCreated": "Local backup created successfully", + "localBackupFailed": "Local backup failed", + "restoreSuccess": "Geri Yükleme Başarılı, Uygulama 1 saniye içinde yeniden başlatılacak", + "localBackupExported": "Local backup exported successfully", + "localBackupExportFailed": "Failed to export local backup", + "confirmDelete": "Bu yedek dosyasını silmeyi onaylıyor musunuz?", + "confirmRestore": "Bu yedek dosyasını geri yüklemeyi onaylıyor musunuz?" + }, + "table": { + "filename": "Dosya Adı", + "backupTime": "Yedekleme Zamanı", + "actions": "İşlemler", + "noBackups": "Kullanılabilir yedek yok", + "rowsPerPage": "Rows per page" + } + }, + "verge": { + "basic": { + "title": "Verge Temel Ayarı", + "items": { + "language": "Dil", + "themeMode": "Tema Modu", + "trayClickEvent": "Sistem Tepsisi Tıklama Olayı", + "copyEnvType": "Env Tipini Kopyala", + "startPage": "Başlangıç Sayfası", + "startupScript": "Başlangıç Betiği", + "themeSetting": "Tema Ayarı", + "layoutSetting": "Düzen Ayarı", + "misc": "Çeşitli", + "hotkeySetting": "Kısayol Tuşu Ayarı" + }, + "actions": { + "browse": "Gözat", + "clear": "Temizle" + }, + "trayOptions": { + "showMainWindow": "Ana Pencereyi Göster", + "showTrayMenu": "Tepsi Menüsünü Göster", + "disable": "Devre Dışı Bırak" + } + }, + "advanced": { + "title": "Verge Gelişmiş Ayarı", + "items": { + "backupSetting": "Yedekleme Ayarı", + "runtimeConfig": "Çalışma Zamanı Yapılandırması", + "openConfDir": "Yapılandırma Dizinini Aç", + "openCoreDir": "Çekirdek Dizinini Aç", + "openLogsDir": "Günlük Dizinini Aç", + "checkUpdates": "Güncellemeleri Kontrol Et", + "openDevTools": "Geliştirici Araçları", + "liteModeSettings": "Hafif Mod Ayarları", + "exit": "Çıkış", + "exportDiagnostics": "Tanılama Bilgilerini Dışa Aktar", + "vergeVersion": "Verge Sürümü" + }, + "tooltips": { + "backupInfo": "WebDAV yedekleme yapılandırma dosyalarını destekler", + "openConfDir": "Yazılım anormal çalışıyorsa, bu klasördeki tüm dosyaları YEDEKLEYİN ve silin, ardından yazılımı yeniden başlatın", + "liteMode": "GUI'yi kapatın ve yalnızca çekirdeği çalışır durumda tutun" + }, + "actions": { + "copyVersion": "Copy Version" + }, + "notifications": { + "latestVersion": "Şu Anda En Son Sürümdesiniz", + "versionCopied": "Version copied to clipboard" + } + }, + "theme": { + "title": "Tema Ayarı", + "fields": { + "primaryColor": "Ana Renk", + "secondaryColor": "İkincil Renk", + "primaryText": "Ana Metin", + "secondaryText": "İkincil Metin", + "infoColor": "Bilgi Rengi", + "warningColor": "Uyarı Rengi", + "errorColor": "Hata Rengi", + "successColor": "Başarı Rengi", + "fontFamily": "Yazı Tipi Ailesi", + "cssInjection": "CSS Enjeksiyonu" + }, + "actions": { + "editCss": "Edit CSS" + }, + "dialogs": { + "editCssTitle": "Edit CSS" + } + }, + "layout": { + "title": "Düzen Ayarı", + "fields": { + "preferSystemTitlebar": "Prefer System Titlebar", + "trafficGraph": "Trafik Grafiği", + "memoryUsage": "Çekirdek Kullanımı", + "proxyGroupIcon": "Vekil Grup Simgesi", + "hoverNavigator": "Hover Jump Navigator", + "hoverNavigatorDelay": "Hover Jump Navigator Delay", + "navIcon": "Gezinme Simgesi", + "trayIcon": "Tepsi Simgesi", + "showProxyGroupsInline": "Show Proxy Groups Inline", + "commonTrayIcon": "Genel Tepsi Simgesi", + "systemProxyTrayIcon": "Sistem Vekil Tepsi Simgesi", + "tunTrayIcon": "Tun Tepsi Simgesi" + }, + "tooltips": { + "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", + "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" + }, + "options": { + "icon": { + "monochrome": "Tek Renkli", + "colorful": "Renkli", + "disable": "Devre Dışı Bırak" + } + } + } + }, + "common": { + "notifications": { + "copySuccess": "Kopyalama Başarılı" + } + }, + "misc": { + "title": "Çeşitli", + "fields": { + "appLogLevel": "Uygulama Günlük Seviyesi", + "appLogMaxSize": "App Log Max Size", + "appLogMaxCount": "App Log Max Count", + "autoCloseConnections": "Bağlantıları Otomatik Kapat", + "autoCheckUpdate": "Otomatik Güncelleme Kontrolü", + "enableBuiltinEnhanced": "Yerleşik Geliştirilmiş Modu Etkinleştir", + "proxyLayoutColumns": "Vekil Düzeni Sütunları", + "autoLogClean": "Otomatik Günlük Temizleme", + "autoDelayDetection": "Otomatik Gecikme Tespiti", + "defaultLatencyTest": "Varsayılan Gecikme Testi", + "defaultLatencyTimeout": "Varsayılan Gecikme Zaman Aşımı" + }, + "tooltips": { + "autoCloseConnections": "Vekil grup seçimi veya vekil modu değiştiğinde kurulan bağlantıları sonlandır", + "enableBuiltinEnhanced": "Yapılandırma dosyası için uyumluluk işleme", + "autoDelayDetection": "Arka planda mevcut düğümün gecikmesini periyodik olarak test eder", + "defaultLatencyTest": "Yalnızca HTTP istemci isteği testi için kullanılır ve yapılandırma dosyasında bir fark yaratmaz" + }, + "options": { + "proxyLayoutColumns": { + "auto": "Otomatik Sütunlar" + }, + "autoLogClean": { + "never": "Asla Temizleme", + "retainDays": "{{n}} Gün Sakla" + } + } + }, + "update": { + "title": "New Version v{{version}}", + "actions": { + "goToRelease": "Sürüm Sayfasına Git", + "update": "Güncelle" + }, + "messages": { + "portableError": "Taşınabilir sürüm uygulama içi güncellemeleri desteklemez. Lütfen manuel olarak indirip değiştirin", + "breakChangeError": "Bu sürüm büyük bir güncellemedir ve uygulama içi güncellemeleri desteklemez. Lütfen kaldırın ve yeni sürümü manuel olarak indirip kurun" + } + }, + "sysproxy": { + "title": "Sistem Vekil Ayarı", + "fieldsets": { + "currentStatus": "Geçerli Sistem Vekil'i" + }, + "fields": { + "enableStatus": "Etkinlik Durumu:", + "serverAddr": "Sunucu Adresi: ", + "pacUrl": "PAC URL'si: ", + "proxyHost": "Vekil Sunucusu", + "usePacMode": "PAC Modunu Kullan", + "proxyGuard": "Vekil Koruyucusu", + "guardDuration": "Koruma Süresi", + "alwaysUseDefaultBypass": "Her Zaman Varsayılan Baypas Kullan", + "proxyBypass": "Vekil Baypas Ayarları: ", + "bypass": "Baypas: ", + "pacScriptContent": "PAC Betiği İçeriği" + }, + "tooltips": { + "proxyGuard": "Diğer yazılımların işletim sisteminin vekil ayarlarını değiştirmesini önlemek için etkinleştirin" + }, + "messages": { + "durationTooShort": "Vekil Koruyucu Süresi 1 Saniyeden Az Olamaz", + "invalidBypass": "Geçersiz Baypas Formatı", + "invalidProxyHost": "Geçersiz Vekil Sunucusu Formatı" + }, + "actions": { + "editPac": "Düzenle PAC" + } + }, + "tun": { + "title": "Tun Modu", + "actions": { + "reset": "Varsayılana Sıfırla" + }, + "fields": { + "stack": "Tun Yığını", + "device": "Device Name", + "autoRoute": "Otomatik Yönlendirme", + "strictRoute": "Katı Yönlendirme", + "autoDetectInterface": "Arayüzü Otomatik Algıla", + "dnsHijack": "DNS Ele Geçirme", + "mtu": "Maksimum İletim Birimi" + }, + "tooltips": { + "dnsHijack": "Please use , to separate multiple DNS servers" + }, + "messages": { + "applied": "Ayarlar Uygulandı" + } + }, + "dns": { + "dialog": { + "title": "DNS Üzerine Yazma", + "warning": "Bu ayarlarla ilgili bilginiz yoksa, lütfen bunları değiştirmeyin ve DNS Üzerine Yazma'yı etkin tutun" + }, + "sections": { + "general": "DNS Ayarları", + "fallbackFilter": "Yedek Filtre Ayarları", + "hosts": "Hosts Ayarları" + }, + "fields": { + "enable": "DNS'i Etkinleştir", + "listen": "DNS Dinleme", + "enhancedMode": "Geliştirilmiş Mod", + "fakeIpRange": "Sahte IP Aralığı", + "fakeIpFilterMode": "Sahte IP Filtre Modu", + "ipv6": { + "label": "IPv6", + "description": "IPv6 DNS çözümlemesini etkinleştir" + }, + "preferH3": { + "label": "H3'ü Tercih Et", + "description": "DNS DOH uses HTTP/3" + }, + "respectRules": { + "label": "Kurallara Uy", + "description": "DNS bağlantıları yönlendirme kurallarını takip eder" + }, + "useHosts": { + "label": "Hosts Kullan", + "description": "Ana bilgisayarları hosts dosyası aracılığıyla çözümlemek için etkinleştirin" + }, + "useSystemHosts": { + "label": "Sistem Hosts Dosyasını Kullan", + "description": "Ana bilgisayarları sistem hosts dosyası aracılığıyla çözümlemek için etkinleştirin" + }, + "directPolicy": { + "label": "Doğrudan İsim Sunucusu Politikasını Takip Et", + "description": "İsim sunucusu politikasının takip edilip edilmeyeceği" + }, + "defaultNameserver": { + "label": "Varsayılan İsim Sunucusu", + "description": "DNS sunucularını çözümlemek için kullanılan varsayılan DNS sunucuları" + }, + "nameserver": { + "label": "İsim Sunucusu", + "description": "DNS sunucuları listesi, virgülle ayrılmış" + }, + "fallback": { + "label": "Yedek", + "description": "Yedek DNS sunucuları listesi, virgülle ayrılmış" + }, + "proxy": { + "label": "Vekil Sunucusu İsim Sunucusu", + "description": "Vekil düğümü alan adı çözümlemesi için DNS sunucuları" + }, + "directNameserver": { + "label": "Doğrudan İsim Sunucusu", + "description": "Doğrudan çıkış alan adı çözümlemesi için DNS sunucuları, 'system' anahtar kelimesini destekler, virgülle ayrılmış" + }, + "fakeIpFilter": { + "label": "Sahte IP Filtresi", + "description": "Sahte IP çözümlemesini atlayan alan adları, virgülle ayrılmış" + }, + "nameserverPolicy": { + "label": "İsim Sunucusu Politikası", + "description": "Alana özgü DNS sunucusu, birden çok sunucu noktalı virgülle ayrılır, format: domain=server1;server2" + }, + "geoipFiltering": { + "label": "GeoIP Filtreleme", + "description": "Yedek için GeoIP filtrelemeyi etkinleştir" + }, + "geoipCode": "GeoIP Kodu", + "fallbackIpCidr": { + "label": "Yedek IP CIDR", + "description": "Yedek sunucuları kullanmayan IP CIDR'ları, virgülle ayrılmış" + }, + "fallbackDomain": { + "label": "Yedek Alan Adı", + "description": "Yedek sunucuları kullanan alan adları, virgülle ayrılmış" + }, + "hosts": { + "label": "Hosts", + "description": "Özel alan adından IP'ye veya alan adına eşleme" + } + }, + "messages": { + "saved": "DNS ayarları kaydedildi", + "configError": "DNS configuration error:" + }, + "errors": { + "invalid": "Invalid configuration" + } + }, + "page": { + "title": "Ayarlar", + "actions": { + "manual": "Kılavuz", + "telegram": "Telegram Kanalı", + "github": "Github Repo" + } + } + }, + "providers": { + "notices": { + "updateSuccess": "{{name}} updated successfully", + "updateFailed": "Failed to update {{name}}: {{message}}", + "genericError": "Update failed: {{message}}", + "none": "No providers available to update", + "allUpdated": "All providers updated successfully" + } + }, + "test": { + "item": { + "actions": { + "test": "Test" + } + }, + "viewer": { + "title": { + "create": "Test Oluştur", + "edit": "Testi Düzenle" + }, + "fields": { + "url": "Test URL'si" + } + }, + "page": { + "title": "Test", + "actions": { + "testAll": "Tümünü Test Et", + "new": "Yeni" + } + } + }, + "proxies": { + "page": { + "title": { + "default": "Vekil Grupları", + "chainMode": "Proxy Chain Mode" + }, + "actions": { + "toggleChain": "🔗 Zincir Proxy", + "connect": "Connect", + "disconnect": "Disconnect", + "connecting": "Connecting...", + "clearChainConfig": "Delete Chain Config" + }, + "provider": { + "title": "Vekil Sağlayıcısı", + "actions": { + "updateAll": "Tümünü Güncelle", + "update": "Güncelle" + } + }, + "rules": { + "title": "Proxy Rules", + "select": "Select Rules" + }, + "labels": { + "proxyCount": "Vekil Sayısı", + "delayCheckReset": "Sabit iptali için gecikme kontrolü" + }, + "tooltips": { + "locate": "konum", + "delayCheck": "Gecikme kontrolü", + "sortDefault": "Varsayılana göre sırala", + "sortDelay": "Gecikmeye göre sırala", + "sortName": "İsme göre sırala", + "delayCheckUrl": "Gecikme kontrol URL'si", + "showBasic": "Temel Vekil", + "showDetail": "Vekil detayı", + "filter": "Filtre" + }, + "placeholders": { + "filter": "Filtre koşulları", + "delayCheckUrl": "Gecikme kontrol URL'si" + }, + "chain": { + "header": "Chain Proxy Config", + "empty": "No proxy chain configured", + "instruction": "Click nodes in order to add to proxy chain", + "minimumNodes": "Chain proxy requires at least 2 nodes", + "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", + "connectFailed": "Failed to connect to proxy chain", + "disconnectFailed": "Failed to disconnect from proxy chain", + "duplicateNode": "Proxy node already exists in chain" + } + } + }, + "rules": { + "page": { + "title": "Kurallar", + "provider": { + "trigger": "Kural Sağlayıcısı", + "dialogTitle": "Kural Sağlayıcısı", + "actions": { + "updateAll": "Tümünü Güncelle", + "update": "Güncelle" + } + } + } + }, + "profiles": { + "page": { + "title": "Profiller", + "actions": { + "updateAll": "Tüm Profilleri Güncelle", + "viewRuntimeConfig": "Çalışma Zamanı Yapılandırmasını Görüntüle", + "reactivate": "Profilleri Yeniden Etkinleştir", + "import": "İçe Aktar", + "new": "Yeni" + }, + "batch": { + "title": "Toplu İşlemler", + "delete": "Seçili Profilleri Sil", + "selectAll": "Tümünü Seç", + "deselectAll": "Tüm Seçimi Kaldır", + "done": "Tamam", + "selected": "Seçildi", + "items": "öğeler" + }, + "import": { + "placeholder": "Profil URL'si", + "paste": "Yapıştır", + "clear": "Temizle" + }, + "errors": { + "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", + "onlyYaml": "Yalnızca YAML Dosyaları Desteklenir" + }, + "notifications": { + "importRetry": "İçe aktarma başarısız oldu, Clash vekil ile yeniden deneniyor...", + "importFail": "Clash vekil ile bile içe aktarma başarısız oldu", + "importNeedsRefresh": "Profile imported but may need manual refresh", + "importSuccess": "Profile imported successfully, please restart if not visible", + "profileSwitched": "Profil Değiştirildi", + "profileReactivated": "Profil Yeniden Etkinleştirildi", + "switchInterrupted": "Profile switch interrupted by new selection", + "batchDeleted": "Seçili profiller başarıyla silindi" + }, + "notices": { + "forceRefreshCompleted": "Force refresh completed", + "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" + } + } + }, + "connections": { + "page": { + "title": "Bağlantılar", + "summary": { + "downloaded": "İndirilen", + "uploaded": "Yüklenen" + }, + "actions": { + "listView": "Liste Görünümü", + "tableView": "Tablo Görünümü", + "pause": "Duraklat", + "resume": "Sürdür", + "closeAll": "Tümünü Kapat" + } + } + }, + "logs": { + "page": { + "title": "Günlükler", + "actions": { + "pause": "Duraklat", + "resume": "Sürdür", + "clear": "Temizle" + }, + "filters": { + "all": "ALL", + "debug": "DEBUG", + "info": "INFO", + "warn": "WARN", + "error": "ERROR" + } + } + }, + "unlock": { + "page": { + "title": "Kilit Açma Testi", + "actions": { + "testing": "Test Ediliyor..." + }, + "empty": "No unlock test items" + } } } diff --git a/src/locales/tt.json b/src/locales/tt.json index 16e63ef7..404b513c 100644 --- a/src/locales/tt.json +++ b/src/locales/tt.json @@ -13,192 +13,6 @@ "Save": "Саклау", "Delete": "Бетерү", "Enable": "Кушу", - "pages": { - "home": { - "title": "Home", - "tooltips": { - "lightweightMode": "Җиңел Режим", - "manual": "Документация", - "settings": "Home Settings" - }, - "cards": { - "trafficStats": "Traffic Stats", - "networkSettings": "Network Settings", - "proxyMode": "Proxy Mode" - }, - "settings": { - "title": "Home Settings", - "cards": { - "profile": "Profile Card", - "currentProxy": "Current Proxy Card", - "network": "Network Settings Card", - "proxyMode": "Proxy Mode Card", - "traffic": "Traffic Stats Card", - "tests": "Website Tests Card", - "ip": "IP Information Card", - "clashInfo": "Clash Info Cards", - "systemInfo": "System Info Cards" - } - } - }, - "proxies": { - "title": { - "default": "Прокси төркемнәре", - "chainMode": "Proxy Chain Mode" - }, - "actions": { - "toggleChain": "🔗 Чылбыр прокси", - "connect": "Connect", - "disconnect": "Disconnect", - "connecting": "Connecting...", - "clearChainConfig": "Delete Chain Config" - }, - "provider": { - "title": "Прокси провайдеры", - "actions": { - "updateAll": "Барысын да яңарту", - "update": "Яңарту" - } - }, - "rules": { - "title": "Proxy Rules", - "select": "Select Rules" - }, - "labels": { - "proxyCount": "Proxy Count", - "delayCheckReset": "Беркетелгәнне гамәлдән чыгару өчен задержканы тикшерү" - }, - "tooltips": { - "locate": "Урын", - "delayCheck": "Задержканы тикшерү", - "sortDefault": "Башлангыч итеп сортлау", - "sortDelay": "Задержка буенча сортлау", - "sortName": "Исем буенча сортлау", - "delayCheckUrl": "Задержканы тикшерү URL-ы", - "showBasic": "Прокси турында кыскача мәгълүмат", - "showDetail": "Прокси турында тулы мәгълүмат", - "filter": "Фильтр" - }, - "placeholders": { - "filter": "Фильтр шартлары", - "delayCheckUrl": "Задержканы тикшерү URL-ы" - }, - "chain": { - "header": "Chain Proxy Config", - "empty": "No proxy chain configured", - "instruction": "Click nodes in order to add to proxy chain", - "minimumNodes": "Chain proxy requires at least 2 nodes", - "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", - "connectFailed": "Failed to connect to proxy chain", - "disconnectFailed": "Failed to disconnect from proxy chain", - "duplicateNode": "Proxy node already exists in chain" - } - }, - "rules": { - "title": "Кагыйдәләр", - "provider": { - "trigger": "Кагыйдә провайдеры", - "dialogTitle": "Кагыйдә провайдеры", - "actions": { - "updateAll": "Барысын да яңарту", - "update": "Яңарту" - } - } - }, - "profiles": { - "title": "Профильләр", - "actions": { - "updateAll": "Барлык профильләрне яңарту", - "viewRuntimeConfig": "Кулланылган конфигурацияне карау", - "reactivate": "Профильләрне янәдән активлаштыру", - "import": "Импорт", - "new": "Яңа" - }, - "batch": { - "title": "Batch Operations", - "delete": "Delete Selected Profiles", - "selectAll": "Select All", - "deselectAll": "Deselect All", - "done": "Done", - "selected": "Selected", - "items": "items" - }, - "import": { - "placeholder": "Профиль URL-ы", - "paste": "Кую", - "clear": "Чистарту" - }, - "errors": { - "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", - "onlyYaml": "Фәкать YAML-файллар гына хуплана" - }, - "notifications": { - "importRetry": "Import failed, retrying with Clash proxy...", - "importFail": "Import failed even with Clash proxy", - "importNeedsRefresh": "Profile imported but may need manual refresh", - "importSuccess": "Profile imported successfully, please restart if not visible", - "profileSwitched": "Профиль алмаштырылды", - "profileReactivated": "Профиль яңадан активлаштырылды", - "switchInterrupted": "Profile switch interrupted by new selection", - "batchDeleted": "Selected profiles deleted successfully" - }, - "notices": { - "forceRefreshCompleted": "Force refresh completed", - "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" - } - }, - "connections": { - "title": "Тоташулар", - "summary": { - "downloaded": "Йөкләнгән", - "uploaded": "Чыгарылган" - }, - "actions": { - "listView": "Исемлек күзаллау", - "tableView": "Таблица күзаллау", - "pause": "Туктау", - "resume": "Дәвам", - "closeAll": "Барысын да ябу" - } - }, - "settings": { - "title": "Көйләүләр", - "actions": { - "manual": "Документация", - "telegram": "Telegram каналы", - "github": "GitHub репозиториясе" - } - }, - "logs": { - "title": "Логлар", - "actions": { - "pause": "Туктау", - "resume": "Дәвам", - "clear": "Чистарту" - }, - "filters": { - "all": "ALL", - "debug": "DEBUG", - "info": "INFO", - "warn": "WARN", - "error": "ERROR" - } - }, - "test": { - "title": "Тест", - "actions": { - "testAll": "Барчасын тестлау", - "new": "Яңа" - } - }, - "unlock": { - "title": "Unlock Test", - "actions": { - "testing": "Testing..." - }, - "empty": "No unlock test items" - } - }, "Proxies": "Прокси", "Update At": "Яңартылган вакыт", "rule": "кагыйдә", @@ -380,807 +194,6 @@ "Detection timeout or failed": "Detection timeout or failed", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", - "components": { - "ruleEditor": { - "title": "Кагыйдәләрне үзгәртү", - "form": { - "labels": { - "type": "Кагыйдә төре", - "content": "Кагыйдә эчтәлеге", - "proxyPolicy": "Прокси сәясәте" - }, - "toggles": { - "noResolve": "Резолвсыз" - }, - "actions": { - "prependRule": "Кагыйдәне өскә өстәү", - "appendRule": "Кагыйдәне аска өстәү" - }, - "validation": { - "conditionRequired": "Кагыйдә шарты кирәк", - "invalidRule": "Яраксыз кагыйдә" - } - } - }, - "profile": { - "viewer": { - "title": { - "create": "Профиль булдыру", - "edit": "Профильне үзгәртү" - }, - "buttons": { - "save": "Саклау", - "cancel": "Баш тарту" - }, - "fields": { - "type": "Төр", - "name": "Исем", - "description": "Тасвирламалар", - "subscriptionUrl": "Подписка URL-ы", - "httpTimeout": "HTTP Request Timeout", - "updateInterval": "Яңарту интервалы", - "useSystemProxy": "Системалы проксины кулланып яңарту", - "useClashProxy": "Clash прокси кулланып яңарту", - "acceptInvalidCerts": "Дөрес булмаган сертификатларны кабул итү (Куркыныч)", - "allowAutoUpdate": "Allow Auto Update" - }, - "notifications": { - "creationRetry": "Profile creation failed, retrying with Clash proxy...", - "creationSuccess": "Profile creation succeeded with Clash proxy" - } - }, - "fileInput": { - "chooseFile": "Файл сайлау" - }, - "notifications": { - "saved": "Saved successfully" - }, - "proxiesEditor": { - "title": "Проксины үзгәртү", - "placeholders": { - "multiUri": "Берничә URI өчен яңа юл символын кулланыгыз (Base64 кодлавы ярдәм ителә)" - }, - "actions": { - "prepend": "Проксины өскә өстәү", - "append": "Проксины аска өстәү" - } - }, - "groupsEditor": { - "title": "Прокси төркемнәрен үзгәртү", - "errors": { - "nameRequired": "Төркем исеме кирәк", - "nameExists": "Әлеге төркем исеме бар инде" - }, - "fields": { - "type": "Төркем төре", - "name": "Төркем исеме", - "icon": "Прокси төркеме иконкасы", - "proxies": "Прокси куллану", - "provider": "Провайдер куллану", - "healthCheckUrl": "Сәламәтлекне тикшерү URL-ы", - "expectedStatus": "Көтелгән статус коды", - "interval": "Интервал", - "timeout": "Таймаут", - "maxFailedTimes": "Иң күп хаталы тикшерү саны", - "interfaceName": "Интерфейс исеме", - "routingMark": "Маршрут билгесе", - "filter": "Фильтр", - "excludeFilter": "Фильтр аша чыгару", - "excludeType": "Чыгару төре", - "includeAll": "Барлык прокси һәм провайдерларны кертү", - "includeAllProxies": "Барлык проксины кертү", - "includeAllProviders": "Барлык провайдерларны кертү" - }, - "toggles": { - "lazy": "Сак режим (lazy)", - "disableUdp": "UDP'ны сүндерү", - "hidden": "Яшерен" - }, - "actions": { - "prepend": "Төркемне өскә өстәү", - "append": "Төркемне аска өстәү" - } - }, - "menu": { - "home": "Home", - "select": "Сайлау", - "editInfo": "Мәгълүматны үзгәртү", - "editFile": "Файлны үзгәртү", - "editRules": "Кагыйдәләрне үзгәртү", - "editProxies": "Проксины үзгәртү", - "editGroups": "Прокси төркемнәрен үзгәртү", - "extendConfig": "Merge-ны үзгәртергә", - "extendScript": "Script-ны үзгәртергә", - "openFile": "Файлны ачу", - "update": "Яңарту", - "updateViaProxy": "Update via proxy", - "delete": "Бетерү" - }, - "item": { - "tooltips": { - "showLast": "Click to show last update time", - "showNext": "Click to show next update" - }, - "status": { - "lastUpdateFailed": "Last Update failed", - "nextUp": "Next Up", - "noSchedule": "No schedule", - "unknown": "Unknown", - "autoUpdateDisabled": "Auto update disabled" - } - }, - "confirm": { - "delete": { - "title": "Бетерүне раслагыз", - "message": "Бу гамәлне кире кайтарып булмый" - } - }, - "logViewer": { - "title": "Скрипт консоле" - }, - "more": { - "global": { - "merge": "Global Merge", - "script": "Global Script" - }, - "chips": { - "merge": "Merge", - "script": "Script" - } - }, - "editor": { - "format": "Документны форматлау", - "readOnlyMessage": "Уку режимында үзгәртү мөмкин түгел" - } - }, - "home": { - "proxyTunCard": { - "status": { - "systemProxyEnabled": "System proxy is enabled, your applications will access the network through the proxy", - "systemProxyDisabled": "System proxy is disabled, it is recommended for most users to turn on this option", - "tunModeServiceRequired": "TUN mode requires service mode, please install the service first", - "tunModeEnabled": "TUN mode is enabled, applications will access the network through the virtual network card", - "tunModeDisabled": "TUN mode is disabled, suitable for special applications" - }, - "tooltips": { - "systemProxy": "Системалы прокси көйләүләрен үзгәртү рөхсәтен бирегез. Әгәр рөхсәт алу мөмкин түгел икән, прокси көйләүләрен кулдан үзгәртегез", - "tunMode": "TUN mode can take over all application traffic, suitable for special applications that do not follow the system proxy settings" - } - }, - "clashInfo": { - "title": "Clash Info", - "fields": { - "coreVersion": "Core Version", - "systemProxyAddress": "System Proxy Address", - "mixedPort": "Mixed Port", - "uptime": "Uptime", - "rulesCount": "Rules Count" - } - }, - "systemInfo": { - "title": "System Info", - "fields": { - "osInfo": "OS Info", - "autoLaunch": "Автостарт", - "runningMode": "Running Mode", - "lastCheckUpdate": "Last Check Update", - "vergeVersion": "Verge версиясе" - }, - "actions": { - "settings": "Көйләүләр" - }, - "labels": { - "enabled": "Кушылган", - "disabled": "Сүнгән" - }, - "tooltips": { - "autoLaunchAdmin": "Administrator mode may not support auto launch" - }, - "badges": { - "adminMode": "Administrator Mode", - "serviceMode": "Сервис режимы", - "sidecarMode": "User Mode", - "adminServiceMode": "Admin + Service Mode" - } - }, - "ipInfo": { - "title": "IP Information", - "errors": { - "load": "Failed to get IP info" - }, - "labels": { - "retry": "Retry", - "ip": "IP", - "asn": "ASN", - "isp": "ISP", - "org": "ORG", - "location": "Location", - "timezone": "Timezone", - "autoRefresh": "Auto refresh", - "unknown": "Unknown" - } - }, - "traffic": { - "metrics": { - "uploadSpeed": "Йөкләү (чыгару) тизлеге", - "downloadSpeed": "Йөкләү тизлеге", - "activeConnections": "Active Connections", - "uploaded": "Чыгарылган", - "downloaded": "Йөкләнгән", - "memoryUsage": "Хәтер куллану" - }, - "legends": { - "upload": "Upload", - "download": "Download" - }, - "patterns": { - "minutes": "{{time}} Minutes" - } - }, - "currentProxy": { - "title": "Current Node", - "actions": { - "refreshDelay": "Задержканы тикшерү" - }, - "labels": { - "globalMode": "Глобаль режим", - "directMode": "Туры режим", - "group": "Group", - "proxy": "Proxy", - "noActiveNode": "No active proxy node" - } - }, - "profile": { - "title": "Профильләр", - "actions": { - "import": "Импорт" - }, - "labels": { - "from": "Каян", - "updateTime": "Яңарту вакыты", - "usedTotal": "Кулланылган / Барлыгы", - "expireTime": "Тамамлану вакыты", - "clickToImport": "Click to import subscription" - } - } - }, - "connection": { - "fields": { - "host": "Хост", - "downloaded": "Йөкләнгән", - "uploaded": "Чыгарылган", - "dlSpeed": "Йөкләү тизл.", - "ulSpeed": "Чыгару тизл.", - "chains": "Чылбырлар", - "rule": "Кагыйдә", - "process": "Процесс", - "time": "Тоташу вакыты", - "source": "Чыганак адресы", - "destination": "Максат IP-адресы", - "destinationPort": "Барасы порты", - "type": "Төр" - }, - "actions": { - "closeConnection": "Тоташуны ябу" - }, - "order": { - "default": "Default", - "uploadSpeed": "Йөкләү (чыгару) тизлеге", - "downloadSpeed": "Йөкләү тизлеге" - } - }, - "settings": { - "system": { - "title": "Система көйләүләре", - "toggles": { - "tunMode": "Tun режимы (виртуаль челтәр адаптеры)", - "systemProxy": "Системалы прокси" - }, - "labels": { - "autoLaunch": "Автостарт", - "silentStart": "Фон режимында башлау" - }, - "tooltips": { - "autoLaunchAdmin": "Administrator mode may not support auto launch", - "silentStart": "Программаны фоновый режимда, тәрәзәсез эшләтеп җибәрү" - } - }, - "proxyControl": { - "labels": { - "systemProxy": "Системалы прокси", - "tunMode": "Tun режимы (виртуаль челтәр адаптеры)" - }, - "tooltips": { - "systemProxy": "Системалы прокси көйләүләрен үзгәртү рөхсәтен бирегез. Әгәр рөхсәт алу мөмкин түгел икән, прокси көйләүләрен кулдан үзгәртегез", - "tunMode": "Tun режимы бөтен системаның трафигын тотып ала. Аны кабызган очракта системалы проксины аерым кабызу таләп ителми.", - "tunUnavailable": "TUN requires Service Mode or Admin Mode" - }, - "actions": { - "installService": "Хезмәтне урнаштыру", - "uninstallService": "Uninstall Service" - } - }, - "externalController": { - "title": "Тышкы контроллер адресы", - "fields": { - "enable": "Enable External Controller", - "address": "Тышкы контроллер адресы", - "secret": "Серсүз" - }, - "placeholders": { - "address": "Required", - "secret": "Тавсия ителә" - }, - "tooltips": { - "copy": "Copy to clipboard" - }, - "messages": { - "addressRequired": "Controller address cannot be empty", - "secretRequired": "Secret cannot be empty", - "copyFailed": "Failed to copy", - "controllerCopied": "Controller address copied to clipboard", - "secretCopied": "Secret copied to clipboard" - } - }, - "externalCors": { - "title": "External Cors Configuration", - "fields": { - "allowPrivateNetwork": "Allow private network access", - "allowedOrigins": "Allowed Origins" - }, - "placeholders": { - "origin": "Please enter a valid url" - }, - "actions": { - "add": "Add" - }, - "messages": { - "alwaysIncluded": "Always included origins: {{urls}}" - }, - "tooltips": { - "open": "External Cors Settings" - } - }, - "clash": { - "title": "Clash көйләүләре", - "items": { - "allowLan": "Локаль челтәргә рөхсәт", - "dnsOverwrite": "DNS Overwrite", - "ipv6": "IPv6", - "unifiedDelay": "Бердәм задержка", - "logLevel": "Лог дәрәҗәсе", - "portConfig": "Порт көйләүләре", - "external": "Тышкы", - "webUI": "Веб-интерфейс", - "clashCore": "Clash ядросы", - "openUwpTool": "UWP инструментын ачу", - "updateGeoData": "GeoData яңарту" - }, - "tooltips": { - "networkInterface": "Челтәр интерфейсы", - "unifiedDelay": "Бердәм задержка актив булганда, төрле типтагы узеллар өчен икеләтә тест башкарыла, TCP установканы раслау аермаларын тигезләү максатында", - "logLevel": "Бу фәкать сервис режимында эшләгән вакытта системалы журнал файлларына кагыла", - "openUwpTool": "Windows 8'дән башлап UWP кушымталары (Microsoft Store кебек) локаль хосттагы челтәр хезмәтләренә турыдан-туры тоташа алмый. Бу инструмент әлеге чикләүне әйләнеп узарга ярдәм итә" - }, - "options": { - "logLevel": { - "debug": "Debug", - "info": "Info", - "warning": "Warn", - "error": "Error", - "silent": "Silent" - } - }, - "messages": { - "geoDataUpdated": "GeoData яңартылды" - }, - "port": { - "title": "Порт көйләүләре", - "fields": { - "mixed": "Катнаш прокси порты", - "socks": "Socks прокси порты", - "http": "HTTP(s) прокси порты", - "redir": "Redir — үтә күренмәле прокси порты", - "tproxy": "Tproxy — үтә күренмәле прокси порты" - }, - "actions": { - "random": "Очраклы порт" - }, - "messages": { - "saved": "Port settings saved", - "saveFailed": "Failed to save port settings" - } - } - }, - "liteMode": { - "title": "LightWeight Mode Settings", - "actions": { - "enterNow": "Enter LightWeight Mode Now" - }, - "toggles": { - "autoEnter": "Auto Enter LightWeight Mode" - }, - "tooltips": { - "autoEnter": "Enable to automatically activate LightWeight Mode after the window is closed for a period of time" - }, - "fields": { - "delay": "Auto Enter LightWeight Mode Delay" - }, - "messages": { - "autoEnterHint": "When closing the window, LightWeight Mode will be automatically activated after {{n}} minutes" - } - }, - "backup": { - "title": "Резерв копия көйләүләре", - "tabs": { - "local": "Local backup", - "webdav": "WebDAV backup" - }, - "actions": { - "selectTarget": "Select backup target", - "backup": "Резерв копия", - "refresh": "Яңарту", - "save": "Саклау", - "export": "Export", - "exportBackup": "Export Backup", - "delete": "Бетерү", - "deleteBackup": "Резерв копияне бетерү", - "restore": "Кайтару", - "restoreBackup": "Резерв копияне кайтару" - }, - "fields": { - "webdavUrl": "WebDAV сервер URL-ы (http(s)://)", - "username": "Кулланучы исеме", - "password": "Пароль", - "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." - }, - "messages": { - "webdavUrlRequired": "WebDAV адресы буш булырга тиеш түгел", - "invalidWebdavUrl": "WebDAV адресы дөрес түгел", - "usernameRequired": "Кулланучы исеме буш булмаска тиеш", - "passwordRequired": "Пароль буш булмаска тиеш", - "webdavConfigSaved": "WebDAV көйләүләре сакланды", - "webdavConfigSaveFailed": "WebDAV көйләүләрен саклап булмады: {{error}}", - "backupCreated": "Резерв копия уңышлы ясалды", - "backupFailed": "Резерв копия хата белән төгәлләнде: {{error}}", - "localBackupCreated": "Local backup created successfully", - "localBackupFailed": "Local backup failed", - "restoreSuccess": "Уңышлы кайтарылды, кушымта 1 секундтан яңадан башланачак", - "localBackupExported": "Local backup exported successfully", - "localBackupExportFailed": "Failed to export local backup", - "confirmDelete": "Бу резерв копия файлын бетерергә телисезме?", - "confirmRestore": "Бу резерв копия файлын кире кайтарырга телисезме?" - }, - "table": { - "filename": "Файл исеме", - "backupTime": "Резерв копия вакыты", - "actions": "Гамәлләр", - "noBackups": "Резерв копияләр юк", - "rowsPerPage": "Rows per page" - } - }, - "verge": { - "basic": { - "title": "Verge Төп көйләүләр", - "items": { - "language": "Тел", - "themeMode": "Теманың режимы", - "trayClickEvent": "Трейдагы басу вакыйгасы", - "copyEnvType": "Env төрен күчереп алу", - "startPage": "Баш бит", - "startupScript": "Башлану скрипты", - "themeSetting": "Тема көйләүләре", - "layoutSetting": "Расположение көйләүләре", - "misc": "Өстәмә көйләүләр", - "hotkeySetting": "Клавиатура төймәләре (hotkey) көйләүләре" - }, - "actions": { - "browse": "Карау", - "clear": "Чистарту" - }, - "trayOptions": { - "showMainWindow": "Төп тәрәзәне күрсәтү", - "showTrayMenu": "Show Tray Menu", - "disable": "Сүндерү" - } - }, - "advanced": { - "title": "Verge Киңәйтелгән көйләүләр", - "items": { - "backupSetting": "Резерв копия көйләүләре", - "runtimeConfig": "Агымдагы конфигурация", - "openConfDir": "Кушымта папкасын ачу", - "openCoreDir": "Ядро сакланган папканы ачу", - "openLogsDir": "Логлар папкасын ачу", - "checkUpdates": "Яңартуларны тикшерү", - "openDevTools": "Разработчик коралларын ачу", - "liteModeSettings": "LightWeight Mode Settings", - "exit": "Чыгу", - "exportDiagnostics": "Export Diagnostic Info", - "vergeVersion": "Verge версиясе" - }, - "tooltips": { - "backupInfo": "WebDAV аша конфигурация файлын саклауны хуплый", - "openConfDir": "Әгәр программада хаталар чыкса, бу папкадагы файлларны саклап калыгыз да, аннары барысын да бетереп, программаны яңадан башлагыз", - "liteMode": "GUI-ны ябыгыз һәм бары тик төшне генә эшләтеп калдырыгыз" - }, - "actions": { - "copyVersion": "Copy Version" - }, - "notifications": { - "latestVersion": "Сездә иң соңгы версия урнаштырылган", - "versionCopied": "Version copied to clipboard" - } - }, - "theme": { - "title": "Тема көйләүләре", - "fields": { - "primaryColor": "Төп төс", - "secondaryColor": "Икенче төс", - "primaryText": "Primary Text", - "secondaryText": "Secondary Text", - "infoColor": "Мәгълүмат төсе", - "warningColor": "Кисәтү төсе", - "errorColor": "Хата төсе", - "successColor": "Уңыш төсе", - "fontFamily": "Шрифтлар гаиләсе", - "cssInjection": "CSS кертү" - }, - "actions": { - "editCss": "Edit CSS" - }, - "dialogs": { - "editCssTitle": "Edit CSS" - } - }, - "layout": { - "title": "Расположение көйләүләре", - "fields": { - "preferSystemTitlebar": "Prefer System Titlebar", - "trafficGraph": "Трафик графигы", - "memoryUsage": "Хәтер куллану", - "proxyGroupIcon": "Прокси төркеме иконкасы", - "hoverNavigator": "Hover Jump Navigator", - "hoverNavigatorDelay": "Hover Jump Navigator Delay", - "navIcon": "Навигация иконкасы", - "trayIcon": "Трей иконкасы", - "showProxyGroupsInline": "Show Proxy Groups Inline", - "commonTrayIcon": "Гомуми трей иконкасы", - "systemProxyTrayIcon": "Системалы прокси иконкасы", - "tunTrayIcon": "Tun (виртуаль адаптер) иконкасы" - }, - "tooltips": { - "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", - "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" - }, - "options": { - "icon": { - "monochrome": "Монохром", - "colorful": "Төсле", - "disable": "Сүндерү" - } - } - } - }, - "common": { - "notifications": { - "copySuccess": "Күчерелде" - } - }, - "misc": { - "title": "Өстәмә көйләүләр", - "fields": { - "appLogLevel": "Кушымта журналы дәрәҗәсе", - "appLogMaxSize": "App Log Max Size", - "appLogMaxCount": "App Log Max Count", - "autoCloseConnections": "Тоташуларны автоматик ябу", - "autoCheckUpdate": "Яңартуларны автоматик тикшерү", - "enableBuiltinEnhanced": "Эчке камилләштерүне кабызу", - "proxyLayoutColumns": "Прокси күрсәтү баганалары саны", - "autoLogClean": "Логларны автоматик чистарту", - "autoDelayDetection": "Автоматик тоткарлык ачыклау", - "defaultLatencyTest": "Тоткарлануны тикшерү сылтамасы (defaults)", - "defaultLatencyTimeout": "Тоткарлануның стандарт таймауты" - }, - "tooltips": { - "autoCloseConnections": "Прокси төркеме яисә режимын үзгәрткәндә актив тоташуларны өзү", - "enableBuiltinEnhanced": "Конфигурация файлы белән туры килә торган өстәмә оптимизация", - "autoDelayDetection": "Фон режимында хәзерге төен тоткарлыгын периодик тикшерә", - "defaultLatencyTest": "Бу фәкать клиентның HTTP сораулары тесты өчен кулланыла, конфигурация файлына йогынты ясамый" - }, - "options": { - "proxyLayoutColumns": { - "auto": "Авто баганалар" - }, - "autoLogClean": { - "never": "Беркайчан чистартмаска", - "retainDays": "{{n}} көн саклау" - } - } - }, - "update": { - "title": "New Version v{{version}}", - "actions": { - "goToRelease": "Релизлар битенә күчү", - "update": "Яңарту" - }, - "messages": { - "portableError": "Портатив версиядә кушымта эчендә яңарту хупланмый, кулдан төшереп алыгыз", - "breakChangeError": "Бу зур яңарту, ул кушымта эчендә яңартылмый. Борып алып ташлап, яңадан урнаштыру сорала." - } - }, - "sysproxy": { - "title": "Системалы прокси көйләүләре", - "fieldsets": { - "currentStatus": "Агымдагы системалы прокси" - }, - "fields": { - "enableStatus": "Активлаштыру статусы", - "serverAddr": "Сервер адресы", - "pacUrl": "PAC адресы", - "proxyHost": "Прокси хосты", - "usePacMode": "PAC режимын куллану", - "proxyGuard": "Прокси саклаучы", - "guardDuration": "Саклау вакыты", - "alwaysUseDefaultBypass": "Һәрвакыт төп Bypass-ны куллану", - "proxyBypass": "Проксины әйләнеп узу:", - "bypass": "Әйләнеп узу:", - "pacScriptContent": "PAC скрипты эчтәлеге" - }, - "tooltips": { - "proxyGuard": "Системалы прокси көйләүләрен чит программа үзгәртмәсен өчен шушы функцияне кабызыгыз" - }, - "messages": { - "durationTooShort": "Прокси-демон эш вакыты 1 секундтан ким була алмый", - "invalidBypass": "Дөрес булмаган Bypass форматы", - "invalidProxyHost": "Прокси хосты форматы дөрес түгел" - }, - "actions": { - "editPac": "Үзгәртү PAC" - } - }, - "tun": { - "title": "Tun режимы (виртуаль челтәр адаптеры)", - "actions": { - "reset": "Башлангычка кайтару" - }, - "fields": { - "stack": "Стек", - "device": "Device Name", - "autoRoute": "Авто-маршрутлау", - "strictRoute": "Катгый маршрутлау", - "autoDetectInterface": "Интерфейсны автоматик ачыклау", - "dnsHijack": "DNS'ны үзгәртеп тоту (hijack)", - "mtu": "MTU (макс. тапшыру берәмлеге)" - }, - "tooltips": { - "dnsHijack": "Please use , to separate multiple DNS servers" - }, - "messages": { - "applied": "Көйләүләр кулланылды" - } - }, - "dns": { - "dialog": { - "title": "DNS Overwrite", - "warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled" - }, - "sections": { - "general": "DNS Settings", - "fallbackFilter": "Fallback Filter Settings", - "hosts": "Hosts Settings" - }, - "fields": { - "enable": "Enable DNS", - "listen": "DNS Listen", - "enhancedMode": "Enhanced Mode", - "fakeIpRange": "Fake IP Range", - "fakeIpFilterMode": "Fake IP Filter Mode", - "ipv6": { - "label": "IPv6", - "description": "Enable IPv6 DNS resolution" - }, - "preferH3": { - "label": "Prefer H3", - "description": "DNS DOH uses HTTP/3" - }, - "respectRules": { - "label": "Respect Rules", - "description": "DNS connections follow routing rules" - }, - "useHosts": { - "label": "Use Hosts", - "description": "Enable to resolve hosts through hosts file" - }, - "useSystemHosts": { - "label": "Use System Hosts", - "description": "Enable to resolve hosts through system hosts file" - }, - "directPolicy": { - "label": "Direct Nameserver Follow Policy", - "description": "Whether to follow nameserver policy" - }, - "defaultNameserver": { - "label": "Default Nameserver", - "description": "Default DNS servers used to resolve DNS servers" - }, - "nameserver": { - "label": "Nameserver", - "description": "List of DNS servers, comma separated" - }, - "fallback": { - "label": "Fallback", - "description": "List of fallback DNS servers, comma separated" - }, - "proxy": { - "label": "Proxy Server Nameserver", - "description": "DNS servers for proxy node domain resolution" - }, - "directNameserver": { - "label": "Direct Nameserver", - "description": "DNS servers for direct exit domain resolution, supports 'system' keyword, comma separated" - }, - "fakeIpFilter": { - "label": "Fake IP Filter", - "description": "Domains that skip fake IP resolution, comma separated" - }, - "nameserverPolicy": { - "label": "Nameserver Policy", - "description": "Domain-specific DNS server, multiple servers separated by semicolons, format: domain=server1;server2" - }, - "geoipFiltering": { - "label": "GeoIP Filtering", - "description": "Enable GeoIP filtering for fallback" - }, - "geoipCode": "GeoIP Code", - "fallbackIpCidr": { - "label": "Fallback IP CIDR", - "description": "IP CIDRs not using fallback servers, comma separated" - }, - "fallbackDomain": { - "label": "Fallback Domain", - "description": "Domains using fallback servers, comma separated" - }, - "hosts": { - "label": "Hosts", - "description": "Custom domain to IP or domain mapping" - } - }, - "messages": { - "saved": "DNS settings saved", - "configError": "DNS configuration error:" - }, - "errors": { - "invalid": "Invalid configuration" - } - } - }, - "providers": { - "notices": { - "updateSuccess": "{{name}} updated successfully", - "updateFailed": "Failed to update {{name}}: {{message}}", - "genericError": "Update failed: {{message}}", - "none": "No providers available to update", - "allUpdated": "All providers updated successfully" - } - }, - "test": { - "item": { - "actions": { - "test": "Тест" - } - }, - "viewer": { - "title": { - "create": "Тест булдыру", - "edit": "Тестны үзгәртү" - }, - "fields": { - "url": "Тест URL-ы" - } - } - } - }, "common": { "editorModes": { "visualization": "Визуализация", @@ -1207,5 +220,1000 @@ "unlock": "Unlock menu order", "lock": "Lock menu order" } + }, + "ruleEditor": { + "title": "Кагыйдәләрне үзгәртү", + "form": { + "labels": { + "type": "Кагыйдә төре", + "content": "Кагыйдә эчтәлеге", + "proxyPolicy": "Прокси сәясәте" + }, + "toggles": { + "noResolve": "Резолвсыз" + }, + "actions": { + "prependRule": "Кагыйдәне өскә өстәү", + "appendRule": "Кагыйдәне аска өстәү" + }, + "validation": { + "conditionRequired": "Кагыйдә шарты кирәк", + "invalidRule": "Яраксыз кагыйдә" + } + } + }, + "profile": { + "viewer": { + "title": { + "create": "Профиль булдыру", + "edit": "Профильне үзгәртү" + }, + "buttons": { + "save": "Саклау", + "cancel": "Баш тарту" + }, + "fields": { + "type": "Төр", + "name": "Исем", + "description": "Тасвирламалар", + "subscriptionUrl": "Подписка URL-ы", + "httpTimeout": "HTTP Request Timeout", + "updateInterval": "Яңарту интервалы", + "useSystemProxy": "Системалы проксины кулланып яңарту", + "useClashProxy": "Clash прокси кулланып яңарту", + "acceptInvalidCerts": "Дөрес булмаган сертификатларны кабул итү (Куркыныч)", + "allowAutoUpdate": "Allow Auto Update" + }, + "notifications": { + "creationRetry": "Profile creation failed, retrying with Clash proxy...", + "creationSuccess": "Profile creation succeeded with Clash proxy" + } + }, + "fileInput": { + "chooseFile": "Файл сайлау" + }, + "notifications": { + "saved": "Saved successfully" + }, + "proxiesEditor": { + "title": "Проксины үзгәртү", + "placeholders": { + "multiUri": "Берничә URI өчен яңа юл символын кулланыгыз (Base64 кодлавы ярдәм ителә)" + }, + "actions": { + "prepend": "Проксины өскә өстәү", + "append": "Проксины аска өстәү" + } + }, + "groupsEditor": { + "title": "Прокси төркемнәрен үзгәртү", + "errors": { + "nameRequired": "Төркем исеме кирәк", + "nameExists": "Әлеге төркем исеме бар инде" + }, + "fields": { + "type": "Төркем төре", + "name": "Төркем исеме", + "icon": "Прокси төркеме иконкасы", + "proxies": "Прокси куллану", + "provider": "Провайдер куллану", + "healthCheckUrl": "Сәламәтлекне тикшерү URL-ы", + "expectedStatus": "Көтелгән статус коды", + "interval": "Интервал", + "timeout": "Таймаут", + "maxFailedTimes": "Иң күп хаталы тикшерү саны", + "interfaceName": "Интерфейс исеме", + "routingMark": "Маршрут билгесе", + "filter": "Фильтр", + "excludeFilter": "Фильтр аша чыгару", + "excludeType": "Чыгару төре", + "includeAll": "Барлык прокси һәм провайдерларны кертү", + "includeAllProxies": "Барлык проксины кертү", + "includeAllProviders": "Барлык провайдерларны кертү" + }, + "toggles": { + "lazy": "Сак режим (lazy)", + "disableUdp": "UDP'ны сүндерү", + "hidden": "Яшерен" + }, + "actions": { + "prepend": "Төркемне өскә өстәү", + "append": "Төркемне аска өстәү" + } + }, + "menu": { + "home": "Home", + "select": "Сайлау", + "editInfo": "Мәгълүматны үзгәртү", + "editFile": "Файлны үзгәртү", + "editRules": "Кагыйдәләрне үзгәртү", + "editProxies": "Проксины үзгәртү", + "editGroups": "Прокси төркемнәрен үзгәртү", + "extendConfig": "Merge-ны үзгәртергә", + "extendScript": "Script-ны үзгәртергә", + "openFile": "Файлны ачу", + "update": "Яңарту", + "updateViaProxy": "Update via proxy", + "delete": "Бетерү" + }, + "item": { + "tooltips": { + "showLast": "Click to show last update time", + "showNext": "Click to show next update" + }, + "status": { + "lastUpdateFailed": "Last Update failed", + "nextUp": "Next Up", + "noSchedule": "No schedule", + "unknown": "Unknown", + "autoUpdateDisabled": "Auto update disabled" + } + }, + "confirm": { + "delete": { + "title": "Бетерүне раслагыз", + "message": "Бу гамәлне кире кайтарып булмый" + } + }, + "logViewer": { + "title": "Скрипт консоле" + }, + "more": { + "global": { + "merge": "Global Merge", + "script": "Global Script" + }, + "chips": { + "merge": "Merge", + "script": "Script" + } + }, + "editor": { + "format": "Документны форматлау", + "readOnlyMessage": "Уку режимында үзгәртү мөмкин түгел" + } + }, + "home": { + "proxyTunCard": { + "status": { + "systemProxyEnabled": "System proxy is enabled, your applications will access the network through the proxy", + "systemProxyDisabled": "System proxy is disabled, it is recommended for most users to turn on this option", + "tunModeServiceRequired": "TUN mode requires service mode, please install the service first", + "tunModeEnabled": "TUN mode is enabled, applications will access the network through the virtual network card", + "tunModeDisabled": "TUN mode is disabled, suitable for special applications" + }, + "tooltips": { + "systemProxy": "Системалы прокси көйләүләрен үзгәртү рөхсәтен бирегез. Әгәр рөхсәт алу мөмкин түгел икән, прокси көйләүләрен кулдан үзгәртегез", + "tunMode": "TUN mode can take over all application traffic, suitable for special applications that do not follow the system proxy settings" + } + }, + "clashInfo": { + "title": "Clash Info", + "fields": { + "coreVersion": "Core Version", + "systemProxyAddress": "System Proxy Address", + "mixedPort": "Mixed Port", + "uptime": "Uptime", + "rulesCount": "Rules Count" + } + }, + "systemInfo": { + "title": "System Info", + "fields": { + "osInfo": "OS Info", + "autoLaunch": "Автостарт", + "runningMode": "Running Mode", + "lastCheckUpdate": "Last Check Update", + "vergeVersion": "Verge версиясе" + }, + "actions": { + "settings": "Көйләүләр" + }, + "labels": { + "enabled": "Кушылган", + "disabled": "Сүнгән" + }, + "tooltips": { + "autoLaunchAdmin": "Administrator mode may not support auto launch" + }, + "badges": { + "adminMode": "Administrator Mode", + "serviceMode": "Сервис режимы", + "sidecarMode": "User Mode", + "adminServiceMode": "Admin + Service Mode" + } + }, + "ipInfo": { + "title": "IP Information", + "errors": { + "load": "Failed to get IP info" + }, + "labels": { + "retry": "Retry", + "ip": "IP", + "asn": "ASN", + "isp": "ISP", + "org": "ORG", + "location": "Location", + "timezone": "Timezone", + "autoRefresh": "Auto refresh", + "unknown": "Unknown" + } + }, + "traffic": { + "metrics": { + "uploadSpeed": "Йөкләү (чыгару) тизлеге", + "downloadSpeed": "Йөкләү тизлеге", + "activeConnections": "Active Connections", + "uploaded": "Чыгарылган", + "downloaded": "Йөкләнгән", + "memoryUsage": "Хәтер куллану" + }, + "legends": { + "upload": "Upload", + "download": "Download" + }, + "patterns": { + "minutes": "{{time}} Minutes" + } + }, + "currentProxy": { + "title": "Current Node", + "actions": { + "refreshDelay": "Задержканы тикшерү" + }, + "labels": { + "globalMode": "Глобаль режим", + "directMode": "Туры режим", + "group": "Group", + "proxy": "Proxy", + "noActiveNode": "No active proxy node" + } + }, + "profile": { + "title": "Профильләр", + "actions": { + "import": "Импорт" + }, + "labels": { + "from": "Каян", + "updateTime": "Яңарту вакыты", + "usedTotal": "Кулланылган / Барлыгы", + "expireTime": "Тамамлану вакыты", + "clickToImport": "Click to import subscription" + } + }, + "page": { + "title": "Home", + "tooltips": { + "lightweightMode": "Җиңел Режим", + "manual": "Документация", + "settings": "Home Settings" + }, + "cards": { + "trafficStats": "Traffic Stats", + "networkSettings": "Network Settings", + "proxyMode": "Proxy Mode" + }, + "settings": { + "title": "Home Settings", + "cards": { + "profile": "Profile Card", + "currentProxy": "Current Proxy Card", + "network": "Network Settings Card", + "proxyMode": "Proxy Mode Card", + "traffic": "Traffic Stats Card", + "tests": "Website Tests Card", + "ip": "IP Information Card", + "clashInfo": "Clash Info Cards", + "systemInfo": "System Info Cards" + } + } + } + }, + "connection": { + "fields": { + "host": "Хост", + "downloaded": "Йөкләнгән", + "uploaded": "Чыгарылган", + "dlSpeed": "Йөкләү тизл.", + "ulSpeed": "Чыгару тизл.", + "chains": "Чылбырлар", + "rule": "Кагыйдә", + "process": "Процесс", + "time": "Тоташу вакыты", + "source": "Чыганак адресы", + "destination": "Максат IP-адресы", + "destinationPort": "Барасы порты", + "type": "Төр" + }, + "actions": { + "closeConnection": "Тоташуны ябу" + }, + "order": { + "default": "Default", + "uploadSpeed": "Йөкләү (чыгару) тизлеге", + "downloadSpeed": "Йөкләү тизлеге" + } + }, + "settings": { + "system": { + "title": "Система көйләүләре", + "toggles": { + "tunMode": "Tun режимы (виртуаль челтәр адаптеры)", + "systemProxy": "Системалы прокси" + }, + "labels": { + "autoLaunch": "Автостарт", + "silentStart": "Фон режимында башлау" + }, + "tooltips": { + "autoLaunchAdmin": "Administrator mode may not support auto launch", + "silentStart": "Программаны фоновый режимда, тәрәзәсез эшләтеп җибәрү" + } + }, + "proxyControl": { + "labels": { + "systemProxy": "Системалы прокси", + "tunMode": "Tun режимы (виртуаль челтәр адаптеры)" + }, + "tooltips": { + "systemProxy": "Системалы прокси көйләүләрен үзгәртү рөхсәтен бирегез. Әгәр рөхсәт алу мөмкин түгел икән, прокси көйләүләрен кулдан үзгәртегез", + "tunMode": "Tun режимы бөтен системаның трафигын тотып ала. Аны кабызган очракта системалы проксины аерым кабызу таләп ителми.", + "tunUnavailable": "TUN requires Service Mode or Admin Mode" + }, + "actions": { + "installService": "Хезмәтне урнаштыру", + "uninstallService": "Uninstall Service" + } + }, + "externalController": { + "title": "Тышкы контроллер адресы", + "fields": { + "enable": "Enable External Controller", + "address": "Тышкы контроллер адресы", + "secret": "Серсүз" + }, + "placeholders": { + "address": "Required", + "secret": "Тавсия ителә" + }, + "tooltips": { + "copy": "Copy to clipboard" + }, + "messages": { + "addressRequired": "Controller address cannot be empty", + "secretRequired": "Secret cannot be empty", + "copyFailed": "Failed to copy", + "controllerCopied": "Controller address copied to clipboard", + "secretCopied": "Secret copied to clipboard" + } + }, + "externalCors": { + "title": "External Cors Configuration", + "fields": { + "allowPrivateNetwork": "Allow private network access", + "allowedOrigins": "Allowed Origins" + }, + "placeholders": { + "origin": "Please enter a valid url" + }, + "actions": { + "add": "Add" + }, + "messages": { + "alwaysIncluded": "Always included origins: {{urls}}" + }, + "tooltips": { + "open": "External Cors Settings" + } + }, + "clash": { + "title": "Clash көйләүләре", + "items": { + "allowLan": "Локаль челтәргә рөхсәт", + "dnsOverwrite": "DNS Overwrite", + "ipv6": "IPv6", + "unifiedDelay": "Бердәм задержка", + "logLevel": "Лог дәрәҗәсе", + "portConfig": "Порт көйләүләре", + "external": "Тышкы", + "webUI": "Веб-интерфейс", + "clashCore": "Clash ядросы", + "openUwpTool": "UWP инструментын ачу", + "updateGeoData": "GeoData яңарту" + }, + "tooltips": { + "networkInterface": "Челтәр интерфейсы", + "unifiedDelay": "Бердәм задержка актив булганда, төрле типтагы узеллар өчен икеләтә тест башкарыла, TCP установканы раслау аермаларын тигезләү максатында", + "logLevel": "Бу фәкать сервис режимында эшләгән вакытта системалы журнал файлларына кагыла", + "openUwpTool": "Windows 8'дән башлап UWP кушымталары (Microsoft Store кебек) локаль хосттагы челтәр хезмәтләренә турыдан-туры тоташа алмый. Бу инструмент әлеге чикләүне әйләнеп узарга ярдәм итә" + }, + "options": { + "logLevel": { + "debug": "Debug", + "info": "Info", + "warning": "Warn", + "error": "Error", + "silent": "Silent" + } + }, + "messages": { + "geoDataUpdated": "GeoData яңартылды" + }, + "port": { + "title": "Порт көйләүләре", + "fields": { + "mixed": "Катнаш прокси порты", + "socks": "Socks прокси порты", + "http": "HTTP(s) прокси порты", + "redir": "Redir — үтә күренмәле прокси порты", + "tproxy": "Tproxy — үтә күренмәле прокси порты" + }, + "actions": { + "random": "Очраклы порт" + }, + "messages": { + "saved": "Port settings saved", + "saveFailed": "Failed to save port settings" + } + } + }, + "liteMode": { + "title": "LightWeight Mode Settings", + "actions": { + "enterNow": "Enter LightWeight Mode Now" + }, + "toggles": { + "autoEnter": "Auto Enter LightWeight Mode" + }, + "tooltips": { + "autoEnter": "Enable to automatically activate LightWeight Mode after the window is closed for a period of time" + }, + "fields": { + "delay": "Auto Enter LightWeight Mode Delay" + }, + "messages": { + "autoEnterHint": "When closing the window, LightWeight Mode will be automatically activated after {{n}} minutes" + } + }, + "backup": { + "title": "Резерв копия көйләүләре", + "tabs": { + "local": "Local backup", + "webdav": "WebDAV backup" + }, + "actions": { + "selectTarget": "Select backup target", + "backup": "Резерв копия", + "refresh": "Яңарту", + "save": "Саклау", + "export": "Export", + "exportBackup": "Export Backup", + "delete": "Бетерү", + "deleteBackup": "Резерв копияне бетерү", + "restore": "Кайтару", + "restoreBackup": "Резерв копияне кайтару" + }, + "fields": { + "webdavUrl": "WebDAV сервер URL-ы (http(s)://)", + "username": "Кулланучы исеме", + "password": "Пароль", + "info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups." + }, + "messages": { + "webdavUrlRequired": "WebDAV адресы буш булырга тиеш түгел", + "invalidWebdavUrl": "WebDAV адресы дөрес түгел", + "usernameRequired": "Кулланучы исеме буш булмаска тиеш", + "passwordRequired": "Пароль буш булмаска тиеш", + "webdavConfigSaved": "WebDAV көйләүләре сакланды", + "webdavConfigSaveFailed": "WebDAV көйләүләрен саклап булмады: {{error}}", + "backupCreated": "Резерв копия уңышлы ясалды", + "backupFailed": "Резерв копия хата белән төгәлләнде: {{error}}", + "localBackupCreated": "Local backup created successfully", + "localBackupFailed": "Local backup failed", + "restoreSuccess": "Уңышлы кайтарылды, кушымта 1 секундтан яңадан башланачак", + "localBackupExported": "Local backup exported successfully", + "localBackupExportFailed": "Failed to export local backup", + "confirmDelete": "Бу резерв копия файлын бетерергә телисезме?", + "confirmRestore": "Бу резерв копия файлын кире кайтарырга телисезме?" + }, + "table": { + "filename": "Файл исеме", + "backupTime": "Резерв копия вакыты", + "actions": "Гамәлләр", + "noBackups": "Резерв копияләр юк", + "rowsPerPage": "Rows per page" + } + }, + "verge": { + "basic": { + "title": "Verge Төп көйләүләр", + "items": { + "language": "Тел", + "themeMode": "Теманың режимы", + "trayClickEvent": "Трейдагы басу вакыйгасы", + "copyEnvType": "Env төрен күчереп алу", + "startPage": "Баш бит", + "startupScript": "Башлану скрипты", + "themeSetting": "Тема көйләүләре", + "layoutSetting": "Расположение көйләүләре", + "misc": "Өстәмә көйләүләр", + "hotkeySetting": "Клавиатура төймәләре (hotkey) көйләүләре" + }, + "actions": { + "browse": "Карау", + "clear": "Чистарту" + }, + "trayOptions": { + "showMainWindow": "Төп тәрәзәне күрсәтү", + "showTrayMenu": "Show Tray Menu", + "disable": "Сүндерү" + } + }, + "advanced": { + "title": "Verge Киңәйтелгән көйләүләр", + "items": { + "backupSetting": "Резерв копия көйләүләре", + "runtimeConfig": "Агымдагы конфигурация", + "openConfDir": "Кушымта папкасын ачу", + "openCoreDir": "Ядро сакланган папканы ачу", + "openLogsDir": "Логлар папкасын ачу", + "checkUpdates": "Яңартуларны тикшерү", + "openDevTools": "Разработчик коралларын ачу", + "liteModeSettings": "LightWeight Mode Settings", + "exit": "Чыгу", + "exportDiagnostics": "Export Diagnostic Info", + "vergeVersion": "Verge версиясе" + }, + "tooltips": { + "backupInfo": "WebDAV аша конфигурация файлын саклауны хуплый", + "openConfDir": "Әгәр программада хаталар чыкса, бу папкадагы файлларны саклап калыгыз да, аннары барысын да бетереп, программаны яңадан башлагыз", + "liteMode": "GUI-ны ябыгыз һәм бары тик төшне генә эшләтеп калдырыгыз" + }, + "actions": { + "copyVersion": "Copy Version" + }, + "notifications": { + "latestVersion": "Сездә иң соңгы версия урнаштырылган", + "versionCopied": "Version copied to clipboard" + } + }, + "theme": { + "title": "Тема көйләүләре", + "fields": { + "primaryColor": "Төп төс", + "secondaryColor": "Икенче төс", + "primaryText": "Primary Text", + "secondaryText": "Secondary Text", + "infoColor": "Мәгълүмат төсе", + "warningColor": "Кисәтү төсе", + "errorColor": "Хата төсе", + "successColor": "Уңыш төсе", + "fontFamily": "Шрифтлар гаиләсе", + "cssInjection": "CSS кертү" + }, + "actions": { + "editCss": "Edit CSS" + }, + "dialogs": { + "editCssTitle": "Edit CSS" + } + }, + "layout": { + "title": "Расположение көйләүләре", + "fields": { + "preferSystemTitlebar": "Prefer System Titlebar", + "trafficGraph": "Трафик графигы", + "memoryUsage": "Хәтер куллану", + "proxyGroupIcon": "Прокси төркеме иконкасы", + "hoverNavigator": "Hover Jump Navigator", + "hoverNavigatorDelay": "Hover Jump Navigator Delay", + "navIcon": "Навигация иконкасы", + "trayIcon": "Трей иконкасы", + "showProxyGroupsInline": "Show Proxy Groups Inline", + "commonTrayIcon": "Гомуми трей иконкасы", + "systemProxyTrayIcon": "Системалы прокси иконкасы", + "tunTrayIcon": "Tun (виртуаль адаптер) иконкасы" + }, + "tooltips": { + "hoverNavigator": "Automatically scroll to the corresponding proxy group when hovering over alphabet letters", + "hoverNavigatorDelay": "Delay before auto scrolling when hovering, in milliseconds" + }, + "options": { + "icon": { + "monochrome": "Монохром", + "colorful": "Төсле", + "disable": "Сүндерү" + } + } + } + }, + "common": { + "notifications": { + "copySuccess": "Күчерелде" + } + }, + "misc": { + "title": "Өстәмә көйләүләр", + "fields": { + "appLogLevel": "Кушымта журналы дәрәҗәсе", + "appLogMaxSize": "App Log Max Size", + "appLogMaxCount": "App Log Max Count", + "autoCloseConnections": "Тоташуларны автоматик ябу", + "autoCheckUpdate": "Яңартуларны автоматик тикшерү", + "enableBuiltinEnhanced": "Эчке камилләштерүне кабызу", + "proxyLayoutColumns": "Прокси күрсәтү баганалары саны", + "autoLogClean": "Логларны автоматик чистарту", + "autoDelayDetection": "Автоматик тоткарлык ачыклау", + "defaultLatencyTest": "Тоткарлануны тикшерү сылтамасы (defaults)", + "defaultLatencyTimeout": "Тоткарлануның стандарт таймауты" + }, + "tooltips": { + "autoCloseConnections": "Прокси төркеме яисә режимын үзгәрткәндә актив тоташуларны өзү", + "enableBuiltinEnhanced": "Конфигурация файлы белән туры килә торган өстәмә оптимизация", + "autoDelayDetection": "Фон режимында хәзерге төен тоткарлыгын периодик тикшерә", + "defaultLatencyTest": "Бу фәкать клиентның HTTP сораулары тесты өчен кулланыла, конфигурация файлына йогынты ясамый" + }, + "options": { + "proxyLayoutColumns": { + "auto": "Авто баганалар" + }, + "autoLogClean": { + "never": "Беркайчан чистартмаска", + "retainDays": "{{n}} көн саклау" + } + } + }, + "update": { + "title": "New Version v{{version}}", + "actions": { + "goToRelease": "Релизлар битенә күчү", + "update": "Яңарту" + }, + "messages": { + "portableError": "Портатив версиядә кушымта эчендә яңарту хупланмый, кулдан төшереп алыгыз", + "breakChangeError": "Бу зур яңарту, ул кушымта эчендә яңартылмый. Борып алып ташлап, яңадан урнаштыру сорала." + } + }, + "sysproxy": { + "title": "Системалы прокси көйләүләре", + "fieldsets": { + "currentStatus": "Агымдагы системалы прокси" + }, + "fields": { + "enableStatus": "Активлаштыру статусы", + "serverAddr": "Сервер адресы", + "pacUrl": "PAC адресы", + "proxyHost": "Прокси хосты", + "usePacMode": "PAC режимын куллану", + "proxyGuard": "Прокси саклаучы", + "guardDuration": "Саклау вакыты", + "alwaysUseDefaultBypass": "Һәрвакыт төп Bypass-ны куллану", + "proxyBypass": "Проксины әйләнеп узу:", + "bypass": "Әйләнеп узу:", + "pacScriptContent": "PAC скрипты эчтәлеге" + }, + "tooltips": { + "proxyGuard": "Системалы прокси көйләүләрен чит программа үзгәртмәсен өчен шушы функцияне кабызыгыз" + }, + "messages": { + "durationTooShort": "Прокси-демон эш вакыты 1 секундтан ким була алмый", + "invalidBypass": "Дөрес булмаган Bypass форматы", + "invalidProxyHost": "Прокси хосты форматы дөрес түгел" + }, + "actions": { + "editPac": "Үзгәртү PAC" + } + }, + "tun": { + "title": "Tun режимы (виртуаль челтәр адаптеры)", + "actions": { + "reset": "Башлангычка кайтару" + }, + "fields": { + "stack": "Стек", + "device": "Device Name", + "autoRoute": "Авто-маршрутлау", + "strictRoute": "Катгый маршрутлау", + "autoDetectInterface": "Интерфейсны автоматик ачыклау", + "dnsHijack": "DNS'ны үзгәртеп тоту (hijack)", + "mtu": "MTU (макс. тапшыру берәмлеге)" + }, + "tooltips": { + "dnsHijack": "Please use , to separate multiple DNS servers" + }, + "messages": { + "applied": "Көйләүләр кулланылды" + } + }, + "dns": { + "dialog": { + "title": "DNS Overwrite", + "warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled" + }, + "sections": { + "general": "DNS Settings", + "fallbackFilter": "Fallback Filter Settings", + "hosts": "Hosts Settings" + }, + "fields": { + "enable": "Enable DNS", + "listen": "DNS Listen", + "enhancedMode": "Enhanced Mode", + "fakeIpRange": "Fake IP Range", + "fakeIpFilterMode": "Fake IP Filter Mode", + "ipv6": { + "label": "IPv6", + "description": "Enable IPv6 DNS resolution" + }, + "preferH3": { + "label": "Prefer H3", + "description": "DNS DOH uses HTTP/3" + }, + "respectRules": { + "label": "Respect Rules", + "description": "DNS connections follow routing rules" + }, + "useHosts": { + "label": "Use Hosts", + "description": "Enable to resolve hosts through hosts file" + }, + "useSystemHosts": { + "label": "Use System Hosts", + "description": "Enable to resolve hosts through system hosts file" + }, + "directPolicy": { + "label": "Direct Nameserver Follow Policy", + "description": "Whether to follow nameserver policy" + }, + "defaultNameserver": { + "label": "Default Nameserver", + "description": "Default DNS servers used to resolve DNS servers" + }, + "nameserver": { + "label": "Nameserver", + "description": "List of DNS servers, comma separated" + }, + "fallback": { + "label": "Fallback", + "description": "List of fallback DNS servers, comma separated" + }, + "proxy": { + "label": "Proxy Server Nameserver", + "description": "DNS servers for proxy node domain resolution" + }, + "directNameserver": { + "label": "Direct Nameserver", + "description": "DNS servers for direct exit domain resolution, supports 'system' keyword, comma separated" + }, + "fakeIpFilter": { + "label": "Fake IP Filter", + "description": "Domains that skip fake IP resolution, comma separated" + }, + "nameserverPolicy": { + "label": "Nameserver Policy", + "description": "Domain-specific DNS server, multiple servers separated by semicolons, format: domain=server1;server2" + }, + "geoipFiltering": { + "label": "GeoIP Filtering", + "description": "Enable GeoIP filtering for fallback" + }, + "geoipCode": "GeoIP Code", + "fallbackIpCidr": { + "label": "Fallback IP CIDR", + "description": "IP CIDRs not using fallback servers, comma separated" + }, + "fallbackDomain": { + "label": "Fallback Domain", + "description": "Domains using fallback servers, comma separated" + }, + "hosts": { + "label": "Hosts", + "description": "Custom domain to IP or domain mapping" + } + }, + "messages": { + "saved": "DNS settings saved", + "configError": "DNS configuration error:" + }, + "errors": { + "invalid": "Invalid configuration" + } + }, + "page": { + "title": "Көйләүләр", + "actions": { + "manual": "Документация", + "telegram": "Telegram каналы", + "github": "GitHub репозиториясе" + } + } + }, + "providers": { + "notices": { + "updateSuccess": "{{name}} updated successfully", + "updateFailed": "Failed to update {{name}}: {{message}}", + "genericError": "Update failed: {{message}}", + "none": "No providers available to update", + "allUpdated": "All providers updated successfully" + } + }, + "test": { + "item": { + "actions": { + "test": "Тест" + } + }, + "viewer": { + "title": { + "create": "Тест булдыру", + "edit": "Тестны үзгәртү" + }, + "fields": { + "url": "Тест URL-ы" + } + }, + "page": { + "title": "Тест", + "actions": { + "testAll": "Барчасын тестлау", + "new": "Яңа" + } + } + }, + "proxies": { + "page": { + "title": { + "default": "Прокси төркемнәре", + "chainMode": "Proxy Chain Mode" + }, + "actions": { + "toggleChain": "🔗 Чылбыр прокси", + "connect": "Connect", + "disconnect": "Disconnect", + "connecting": "Connecting...", + "clearChainConfig": "Delete Chain Config" + }, + "provider": { + "title": "Прокси провайдеры", + "actions": { + "updateAll": "Барысын да яңарту", + "update": "Яңарту" + } + }, + "rules": { + "title": "Proxy Rules", + "select": "Select Rules" + }, + "labels": { + "proxyCount": "Proxy Count", + "delayCheckReset": "Беркетелгәнне гамәлдән чыгару өчен задержканы тикшерү" + }, + "tooltips": { + "locate": "Урын", + "delayCheck": "Задержканы тикшерү", + "sortDefault": "Башлангыч итеп сортлау", + "sortDelay": "Задержка буенча сортлау", + "sortName": "Исем буенча сортлау", + "delayCheckUrl": "Задержканы тикшерү URL-ы", + "showBasic": "Прокси турында кыскача мәгълүмат", + "showDetail": "Прокси турында тулы мәгълүмат", + "filter": "Фильтр" + }, + "placeholders": { + "filter": "Фильтр шартлары", + "delayCheckUrl": "Задержканы тикшерү URL-ы" + }, + "chain": { + "header": "Chain Proxy Config", + "empty": "No proxy chain configured", + "instruction": "Click nodes in order to add to proxy chain", + "minimumNodes": "Chain proxy requires at least 2 nodes", + "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", + "connectFailed": "Failed to connect to proxy chain", + "disconnectFailed": "Failed to disconnect from proxy chain", + "duplicateNode": "Proxy node already exists in chain" + } + } + }, + "rules": { + "page": { + "title": "Кагыйдәләр", + "provider": { + "trigger": "Кагыйдә провайдеры", + "dialogTitle": "Кагыйдә провайдеры", + "actions": { + "updateAll": "Барысын да яңарту", + "update": "Яңарту" + } + } + } + }, + "profiles": { + "page": { + "title": "Профильләр", + "actions": { + "updateAll": "Барлык профильләрне яңарту", + "viewRuntimeConfig": "Кулланылган конфигурацияне карау", + "reactivate": "Профильләрне янәдән активлаштыру", + "import": "Импорт", + "new": "Яңа" + }, + "batch": { + "title": "Batch Operations", + "delete": "Delete Selected Profiles", + "selectAll": "Select All", + "deselectAll": "Deselect All", + "done": "Done", + "selected": "Selected", + "items": "items" + }, + "import": { + "placeholder": "Профиль URL-ы", + "paste": "Кую", + "clear": "Чистарту" + }, + "errors": { + "invalidUrl": "Invalid profile URL. Please enter a URL starting with http:// or https://", + "onlyYaml": "Фәкать YAML-файллар гына хуплана" + }, + "notifications": { + "importRetry": "Import failed, retrying with Clash proxy...", + "importFail": "Import failed even with Clash proxy", + "importNeedsRefresh": "Profile imported but may need manual refresh", + "importSuccess": "Profile imported successfully, please restart if not visible", + "profileSwitched": "Профиль алмаштырылды", + "profileReactivated": "Профиль яңадан активлаштырылды", + "switchInterrupted": "Profile switch interrupted by new selection", + "batchDeleted": "Selected profiles deleted successfully" + }, + "notices": { + "forceRefreshCompleted": "Force refresh completed", + "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" + } + } + }, + "connections": { + "page": { + "title": "Тоташулар", + "summary": { + "downloaded": "Йөкләнгән", + "uploaded": "Чыгарылган" + }, + "actions": { + "listView": "Исемлек күзаллау", + "tableView": "Таблица күзаллау", + "pause": "Туктау", + "resume": "Дәвам", + "closeAll": "Барысын да ябу" + } + } + }, + "logs": { + "page": { + "title": "Логлар", + "actions": { + "pause": "Туктау", + "resume": "Дәвам", + "clear": "Чистарту" + }, + "filters": { + "all": "ALL", + "debug": "DEBUG", + "info": "INFO", + "warn": "WARN", + "error": "ERROR" + } + } + }, + "unlock": { + "page": { + "title": "Unlock Test", + "actions": { + "testing": "Testing..." + }, + "empty": "No unlock test items" + } } } diff --git a/src/locales/zh.json b/src/locales/zh.json index 9eeec365..22b2aaad 100644 --- a/src/locales/zh.json +++ b/src/locales/zh.json @@ -13,192 +13,6 @@ "Save": "保存", "Delete": "删除", "Enable": "启用", - "pages": { - "home": { - "title": "首页", - "tooltips": { - "lightweightMode": "轻量模式", - "manual": "使用手册", - "settings": "首页设置" - }, - "cards": { - "trafficStats": "流量统计", - "networkSettings": "网络设置", - "proxyMode": "代理模式" - }, - "settings": { - "title": "首页设置", - "cards": { - "profile": "订阅卡", - "currentProxy": "当前代理卡", - "network": "网络设置卡", - "proxyMode": "代理模式卡", - "traffic": "流量统计卡", - "tests": "网站测试卡", - "ip": "IP 信息卡", - "clashInfo": "Clash 信息卡", - "systemInfo": "系统信息卡" - } - } - }, - "proxies": { - "title": { - "default": "代理组", - "chainMode": "链式代理模式" - }, - "actions": { - "toggleChain": "🔗 链式代理", - "connect": "连接", - "disconnect": "断开", - "connecting": "连接中...", - "clearChainConfig": "删除链式配置" - }, - "provider": { - "title": "代理集合", - "actions": { - "updateAll": "更新全部", - "update": "更新" - } - }, - "rules": { - "title": "代理规则", - "select": "选择规则" - }, - "labels": { - "proxyCount": "节点数量", - "delayCheckReset": "进行延迟测试,以取消固定" - }, - "tooltips": { - "locate": "当前节点", - "delayCheck": "延迟测试", - "sortDefault": "默认排序", - "sortDelay": "按延迟排序", - "sortName": "按名称排序", - "delayCheckUrl": "延迟测试链接", - "showBasic": "隐藏节点细节", - "showDetail": "展示节点细节", - "filter": "过滤节点" - }, - "placeholders": { - "filter": "过滤条件", - "delayCheckUrl": "延迟测试链接" - }, - "chain": { - "header": "代理链配置", - "empty": "暂无代理链配置", - "instruction": "顺序点击节点添加到代理链中", - "minimumNodes": "链式代理至少需要 2 个节点", - "minimumNodesHint": "链式代理至少需要 2 个节点,请再添加一个节点。", - "connectFailed": "连接链式代理失败", - "disconnectFailed": "断开链式代理失败", - "duplicateNode": "该节点已在链式代理表中" - } - }, - "rules": { - "title": "规则", - "provider": { - "trigger": "规则集合", - "dialogTitle": "规则集合", - "actions": { - "updateAll": "更新全部", - "update": "更新" - } - } - }, - "profiles": { - "title": "订阅", - "actions": { - "updateAll": "更新所有订阅", - "viewRuntimeConfig": "查看运行时订阅", - "reactivate": "重新激活订阅", - "import": "导入", - "new": "新建" - }, - "batch": { - "title": "批量操作", - "delete": "删除选中订阅", - "selectAll": "全选", - "deselectAll": "取消全选", - "done": "完成", - "selected": "已选中", - "items": "项目" - }, - "import": { - "placeholder": "订阅文件链接", - "paste": "粘贴", - "clear": "清除" - }, - "errors": { - "invalidUrl": "无效的订阅链接,请输入以 http:// 或 https:// 开头的地址", - "onlyYaml": "仅支持 YAML 文件" - }, - "notifications": { - "importRetry": "订阅导入失败,尝试使用 Clash 代理导入", - "importFail": "使用 Clash 代理导入订阅也失败", - "importNeedsRefresh": "Profile imported but may need manual refresh", - "importSuccess": "Profile imported successfully, please restart if not visible", - "profileSwitched": "订阅已切换", - "profileReactivated": "订阅已激活", - "switchInterrupted": "配置切换被新选择中断", - "batchDeleted": "选中的订阅已成功删除" - }, - "notices": { - "forceRefreshCompleted": "数据已强制刷新", - "emergencyRefreshFailed": "紧急刷新失败: {{message}}" - } - }, - "connections": { - "title": "连接", - "summary": { - "downloaded": "下载量", - "uploaded": "上传量" - }, - "actions": { - "listView": "列表视图", - "tableView": "表格视图", - "pause": "暂停", - "resume": "继续", - "closeAll": "关闭全部" - } - }, - "settings": { - "title": "设置", - "actions": { - "manual": "使用手册", - "telegram": "Telegram 频道", - "github": "GitHub 项目地址" - } - }, - "logs": { - "title": "日志", - "actions": { - "pause": "暂停", - "resume": "继续", - "clear": "清除" - }, - "filters": { - "all": "ALL", - "debug": "DEBUG", - "info": "INFO", - "warn": "WARN", - "error": "ERROR" - } - }, - "test": { - "title": "测试", - "actions": { - "testAll": "测试全部", - "new": "新建" - } - }, - "unlock": { - "title": "解锁测试", - "actions": { - "testing": "测试中..." - }, - "empty": "暂无解锁测试项目" - } - }, "Proxies": "代理", "Update At": "更新于", "rule": "规则", @@ -380,807 +194,6 @@ "Detection timeout or failed": "检测超时或失败", "Open App Log": "应用日志", "Open Core Log": "内核日志", - "components": { - "ruleEditor": { - "title": "编辑规则", - "form": { - "labels": { - "type": "规则类型", - "content": "规则内容", - "proxyPolicy": "代理策略" - }, - "toggles": { - "noResolve": "跳过 DNS 解析" - }, - "actions": { - "prependRule": "添加前置规则", - "appendRule": "添加后置规则" - }, - "validation": { - "conditionRequired": "规则条件缺失", - "invalidRule": "无效规则" - } - } - }, - "profile": { - "viewer": { - "title": { - "create": "新建配置", - "edit": "编辑配置" - }, - "buttons": { - "save": "保存", - "cancel": "取消" - }, - "fields": { - "type": "类型", - "name": "名称", - "description": "描述", - "subscriptionUrl": "订阅链接", - "httpTimeout": "HTTP Request Timeout", - "updateInterval": "更新间隔", - "useSystemProxy": "使用系统代理更新", - "useClashProxy": "使用内核代理更新", - "acceptInvalidCerts": "允许无效证书(危险)", - "allowAutoUpdate": "允许自动更新" - }, - "notifications": { - "creationRetry": "订阅创建失败,尝试使用 Clash 代理创建", - "creationSuccess": "使用 Clash 代理创建订阅成功" - } - }, - "fileInput": { - "chooseFile": "选择文件" - }, - "notifications": { - "saved": "保存成功" - }, - "proxiesEditor": { - "title": "编辑节点", - "placeholders": { - "multiUri": "多条 URI 请使用换行分隔(支持 Base64 编码)" - }, - "actions": { - "prepend": "添加前置代理节点", - "append": "添加后置代理节点" - } - }, - "groupsEditor": { - "title": "编辑代理组", - "errors": { - "nameRequired": "代理组名称不能为空", - "nameExists": "代理组名称已存在" - }, - "fields": { - "type": "代理组类型", - "name": "代理组组名", - "icon": "代理组图标", - "proxies": "引入代理", - "provider": "引入代理集合", - "healthCheckUrl": "健康检查测试地址", - "expectedStatus": "期望状态码", - "interval": "检查间隔", - "timeout": "超时时间", - "maxFailedTimes": "最大失败次数", - "interfaceName": "出站接口", - "routingMark": "路由标记", - "filter": "过滤节点", - "excludeFilter": "排除节点", - "excludeType": "排除节点类型", - "includeAll": "引入所有出站代理、代理集合", - "includeAllProxies": "引入所有出站代理", - "includeAllProviders": "引入所有代理集合" - }, - "toggles": { - "lazy": "懒惰状态", - "disableUdp": "禁用 UDP", - "hidden": "隐藏代理组" - }, - "actions": { - "prepend": "添加前置代理组", - "append": "添加后置代理组" - } - }, - "menu": { - "home": "首 页", - "select": "使用", - "editInfo": "编辑信息", - "editFile": "编辑文件", - "editRules": "编辑规则", - "editProxies": "编辑节点", - "editGroups": "编辑代理组", - "extendConfig": "扩展覆写配置", - "extendScript": "扩展脚本", - "openFile": "打开文件", - "update": "更新", - "updateViaProxy": "更新(代理)", - "delete": "删除" - }, - "item": { - "tooltips": { - "showLast": "Click to show last update time", - "showNext": "Click to show next update" - }, - "status": { - "lastUpdateFailed": "上次更新失败", - "nextUp": "下次更新", - "noSchedule": "没有计划", - "unknown": "未知", - "autoUpdateDisabled": "自动更新已禁用" - } - }, - "confirm": { - "delete": { - "title": "确认删除", - "message": "此操作不可逆" - } - }, - "logViewer": { - "title": "脚本控制台输出" - }, - "more": { - "global": { - "merge": "Global Merge", - "script": "Global Script" - }, - "chips": { - "merge": "Merge", - "script": "Script" - } - }, - "editor": { - "format": "格式化文档", - "readOnlyMessage": "无法在只读模式下编辑" - } - }, - "home": { - "proxyTunCard": { - "status": { - "systemProxyEnabled": "系统代理已启用,您的应用将通过代理访问网络", - "systemProxyDisabled": "系统代理已关闭,建议大多数用户打开此选项", - "tunModeServiceRequired": "TUN模式需要服务模式,请先安装服务", - "tunModeEnabled": "TUN 模式已启用,应用将通过虚拟网卡访问网络", - "tunModeDisabled": "TUN 模式已关闭,适用于特殊应用" - }, - "tooltips": { - "systemProxy": "修改操作系统的代理设置,如果开启失败,可手动修改操作系统的代理设置", - "tunMode": "TUN模式可以接管所有应用流量,适用于特殊不遵循系统代理设置的应用" - } - }, - "clashInfo": { - "title": "Clash 信息", - "fields": { - "coreVersion": "内核版本", - "systemProxyAddress": "系统代理地址", - "mixedPort": "Mixed Port", - "uptime": "运行时间", - "rulesCount": "规则数量" - } - }, - "systemInfo": { - "title": "系统信息", - "fields": { - "osInfo": "操作系统信息", - "autoLaunch": "开机自启", - "runningMode": "运行模式", - "lastCheckUpdate": "最后检查更新", - "vergeVersion": "Verge 版本" - }, - "actions": { - "settings": "设置" - }, - "labels": { - "enabled": "已启用", - "disabled": "未启用" - }, - "tooltips": { - "autoLaunchAdmin": "管理员模式可能不支持开机自启" - }, - "badges": { - "adminMode": "管理员模式", - "serviceMode": "服务模式", - "sidecarMode": "用户模式", - "adminServiceMode": "管理员 + 服务模式" - } - }, - "ipInfo": { - "title": "IP 信息", - "errors": { - "load": "获取IP信息失败" - }, - "labels": { - "retry": "Retry", - "ip": "IP", - "asn": "自治域", - "isp": "服务商", - "org": "组织", - "location": "位置", - "timezone": "时区", - "autoRefresh": "自动刷新", - "unknown": "未知" - } - }, - "traffic": { - "metrics": { - "uploadSpeed": "上传速度", - "downloadSpeed": "下载速度", - "activeConnections": "活跃连接", - "uploaded": "上传量", - "downloaded": "下载量", - "memoryUsage": "内核占用" - }, - "legends": { - "upload": "上传", - "download": "下载" - }, - "patterns": { - "minutes": "{{time}} Minutes" - } - }, - "currentProxy": { - "title": "当前节点", - "actions": { - "refreshDelay": "延迟测试" - }, - "labels": { - "globalMode": "全局模式", - "directMode": "直连模式", - "group": "代理组", - "proxy": "节点", - "noActiveNode": "暂无激活的代理节点" - } - }, - "profile": { - "title": "订阅", - "actions": { - "import": "导入" - }, - "labels": { - "from": "来自", - "updateTime": "更新时间", - "usedTotal": "已使用 / 总量", - "expireTime": "到期时间", - "clickToImport": "点击导入订阅" - } - } - }, - "connection": { - "fields": { - "host": "主机", - "downloaded": "下载量", - "uploaded": "上传量", - "dlSpeed": "下载速度", - "ulSpeed": "上传速度", - "chains": "链路", - "rule": "规则", - "process": "进程", - "time": "连接时间", - "source": "源地址", - "destination": "目标地址", - "destinationPort": "目标端口", - "type": "类型" - }, - "actions": { - "closeConnection": "关闭连接" - }, - "order": { - "default": "Default", - "uploadSpeed": "上传速度", - "downloadSpeed": "下载速度" - } - }, - "settings": { - "system": { - "title": "系统设置", - "toggles": { - "tunMode": "虚拟网卡模式", - "systemProxy": "系统代理" - }, - "labels": { - "autoLaunch": "开机自启", - "silentStart": "静默启动" - }, - "tooltips": { - "autoLaunchAdmin": "管理员模式可能不支持开机自启", - "silentStart": "程序启动时以后台模式运行,不显示程序面板" - } - }, - "proxyControl": { - "labels": { - "systemProxy": "系统代理", - "tunMode": "虚拟网卡模式" - }, - "tooltips": { - "systemProxy": "修改操作系统的代理设置,如果开启失败,可手动修改操作系统的代理设置", - "tunMode": "TUN(虚拟网卡)模式接管系统所有流量,启用时无须打开系统代理", - "tunUnavailable": "TUN 模式需要安装服务模式或管理员模式" - }, - "actions": { - "installService": "安装服务", - "uninstallService": "卸载服务" - } - }, - "externalController": { - "title": "外部控制器监听地址", - "fields": { - "enable": "启用外部控制器", - "address": "外部控制器监听地址", - "secret": "API 访问密钥" - }, - "placeholders": { - "address": "必填", - "secret": "建议设置" - }, - "tooltips": { - "copy": "复制到剪贴板" - }, - "messages": { - "addressRequired": "控制器地址不能为空", - "secretRequired": "访问密钥不能为空", - "copyFailed": "复制失败", - "controllerCopied": "控制器地址已复制到剪贴板", - "secretCopied": "访问密钥已复制到剪贴板" - } - }, - "externalCors": { - "title": "外部控制跨域设置", - "fields": { - "allowPrivateNetwork": "允许专用网络访问", - "allowedOrigins": "允许的来源" - }, - "placeholders": { - "origin": "请输入有效的网址" - }, - "actions": { - "add": "添加" - }, - "messages": { - "alwaysIncluded": "始终包含来源:{{urls}}" - }, - "tooltips": { - "open": "外部控制跨域设置" - } - }, - "clash": { - "title": "Clash 设置", - "items": { - "allowLan": "局域网连接", - "dnsOverwrite": "DNS 覆写", - "ipv6": "IPv6", - "unifiedDelay": "统一延迟", - "logLevel": "日志等级", - "portConfig": "端口设置", - "external": "外部控制", - "webUI": "网页界面", - "clashCore": "Clash 内核", - "openUwpTool": "UWP 工具", - "updateGeoData": "更新 GeoData" - }, - "tooltips": { - "networkInterface": "网络接口", - "unifiedDelay": "开启统一延迟时,会进行两次延迟测试,以消除连接握手等带来的不同类型节点的延迟差异", - "logLevel": "仅对日志目录 Service 文件夹下的内核日志文件生效", - "openUwpTool": "Windows 8 开始限制 UWP 应用(如微软商店)直接访问本地主机的网络服务,使用此工具可绕过该限制" - }, - "options": { - "logLevel": { - "debug": "Debug", - "info": "Info", - "warning": "Warn", - "error": "Error", - "silent": "Silent" - } - }, - "messages": { - "geoDataUpdated": "已更新 GeoData" - }, - "port": { - "title": "端口设置", - "fields": { - "mixed": "混合代理端口", - "socks": "SOCKS 代理端口", - "http": "HTTP(S) 代理端口", - "redir": "Redir 透明代理端口", - "tproxy": "Tproxy 透明代理端口" - }, - "actions": { - "random": "随机端口" - }, - "messages": { - "saved": "端口设置已保存", - "saveFailed": "端口设置保存失败" - } - } - }, - "liteMode": { - "title": "轻量模式设置", - "actions": { - "enterNow": "立即进入轻量模式" - }, - "toggles": { - "autoEnter": "自动进入轻量模式" - }, - "tooltips": { - "autoEnter": "启用后,将在窗口关闭一段时间后自动激活轻量模式" - }, - "fields": { - "delay": "自动进入轻量模式延迟" - }, - "messages": { - "autoEnterHint": "关闭窗口后,轻量模式将在 {{n}} 分钟后自动激活" - } - }, - "backup": { - "title": "备份设置", - "tabs": { - "local": "本地备份", - "webdav": "WebDAV 备份" - }, - "actions": { - "selectTarget": "选择备份目标", - "backup": "备份", - "refresh": "刷新", - "save": "保存", - "export": "导出", - "exportBackup": "导出备份", - "delete": "删除", - "deleteBackup": "删除备份", - "restore": "恢复", - "restoreBackup": "恢复备份" - }, - "fields": { - "webdavUrl": "WebDAV 服务器地址 http(s)://", - "username": "用户名", - "password": "密码", - "info": "在应用数据目录中创建本地备份,您可以通过下方列表进行恢复或删除。" - }, - "messages": { - "webdavUrlRequired": "WebDAV 服务器地址不能为空", - "invalidWebdavUrl": "无效的 WebDAV 服务器地址格式", - "usernameRequired": "用户名不能为空", - "passwordRequired": "密码不能为空", - "webdavConfigSaved": "WebDAV 配置保存成功", - "webdavConfigSaveFailed": "保存 WebDAV 配置失败: {{error}}", - "backupCreated": "备份创建成功", - "backupFailed": "备份失败: {{error}}", - "localBackupCreated": "本地备份创建成功", - "localBackupFailed": "本地备份失败", - "restoreSuccess": "恢复成功,应用将在 1 秒后重启", - "localBackupExported": "本地备份导出成功", - "localBackupExportFailed": "本地备份导出失败", - "confirmDelete": "确认删除此备份文件吗?", - "confirmRestore": "确认恢复此份文件吗?" - }, - "table": { - "filename": "文件名称", - "backupTime": "备份时间", - "actions": "操作", - "noBackups": "暂无备份", - "rowsPerPage": "Rows per page" - } - }, - "verge": { - "basic": { - "title": "Verge 基础设置", - "items": { - "language": "语言设置", - "themeMode": "主题模式", - "trayClickEvent": "托盘点击事件", - "copyEnvType": "复制环境变量类型", - "startPage": "启动页面", - "startupScript": "启动脚本", - "themeSetting": "主题设置", - "layoutSetting": "界面设置", - "misc": "杂项设置", - "hotkeySetting": "热键设置" - }, - "actions": { - "browse": "浏览", - "clear": "清除" - }, - "trayOptions": { - "showMainWindow": "显示主窗口", - "showTrayMenu": "显示托盘菜单", - "disable": "禁用" - } - }, - "advanced": { - "title": "Verge 高级设置", - "items": { - "backupSetting": "备份设置", - "runtimeConfig": "当前配置", - "openConfDir": "配置目录", - "openCoreDir": "内核目录", - "openLogsDir": "日志目录", - "checkUpdates": "检查更新", - "openDevTools": "开发者工具", - "liteModeSettings": "轻量模式设置", - "exit": "退出", - "exportDiagnostics": "导出诊断信息", - "vergeVersion": "Verge 版本" - }, - "tooltips": { - "backupInfo": "支持本地或 WebDAV 方式备份配置文件", - "openConfDir": "如果软件运行异常,!备份!并删除此文件夹下的所有文件,重启软件", - "liteMode": "关闭GUI界面,仅保留内核运行" - }, - "actions": { - "copyVersion": "复制Verge版本号" - }, - "notifications": { - "latestVersion": "当前已是最新版本", - "versionCopied": "Verge版本已复制到剪贴板" - } - }, - "theme": { - "title": "主题设置", - "fields": { - "primaryColor": "主要颜色", - "secondaryColor": "次要颜色", - "primaryText": "文本主要颜色", - "secondaryText": "文本次要颜色", - "infoColor": "信息颜色", - "warningColor": "警告颜色", - "errorColor": "错误颜色", - "successColor": "成功颜色", - "fontFamily": "字体系列", - "cssInjection": "CSS 注入" - }, - "actions": { - "editCss": "Edit CSS" - }, - "dialogs": { - "editCssTitle": "Edit CSS" - } - }, - "layout": { - "title": "界面设置", - "fields": { - "preferSystemTitlebar": "优先使用系统标题栏", - "trafficGraph": "流量图显", - "memoryUsage": "内核占用", - "proxyGroupIcon": "代理组图标", - "hoverNavigator": "悬浮跳转导航", - "hoverNavigatorDelay": "悬浮跳转导航延迟", - "navIcon": "导航栏图标", - "trayIcon": "托盘图标", - "showProxyGroupsInline": "将代理组显示在托盘一级菜单", - "commonTrayIcon": "常规托盘图标", - "systemProxyTrayIcon": "系统代理托盘图标", - "tunTrayIcon": "TUN 模式托盘图标" - }, - "tooltips": { - "hoverNavigator": "鼠标悬停在字母上时自动滚动到对应代理组", - "hoverNavigatorDelay": "鼠标悬停后触发自动跳转前等待的毫秒数" - }, - "options": { - "icon": { - "monochrome": "单色图标", - "colorful": "彩色图标", - "disable": "禁用" - } - } - } - }, - "common": { - "notifications": { - "copySuccess": "复制成功" - } - }, - "misc": { - "title": "杂项设置", - "fields": { - "appLogLevel": "应用日志等级", - "appLogMaxSize": "应用日志最大大小", - "appLogMaxCount": "应用日志最大数量", - "autoCloseConnections": "自动关闭连接", - "autoCheckUpdate": "自动检查更新", - "enableBuiltinEnhanced": "内置增强功能", - "proxyLayoutColumns": "代理页布局列数", - "autoLogClean": "自动清理日志", - "autoDelayDetection": "自动延迟检测", - "defaultLatencyTest": "默认测试链接", - "defaultLatencyTimeout": "测试超时时间" - }, - "tooltips": { - "autoCloseConnections": "当代理组选中节点或代理模式变动时,关闭已建立的连接", - "enableBuiltinEnhanced": "配置文件的兼容性处理", - "autoDelayDetection": "后台定时检测当前节点延迟", - "defaultLatencyTest": "仅用于 HTTP 客户端请求测试,不会对配置文件产生影响" - }, - "options": { - "proxyLayoutColumns": { - "auto": "自动列数" - }, - "autoLogClean": { - "never": "不清理", - "retainDays": "保留 {{n}} 天" - } - } - }, - "update": { - "title": "新版本 v{{version}}", - "actions": { - "goToRelease": "前往发布页", - "update": "更新" - }, - "messages": { - "portableError": "便携版不支持应用内更新,请手动下载替换", - "breakChangeError": "此版本为重大更新,不支持应用内更新,请卸载后手动下载安装" - } - }, - "sysproxy": { - "title": "系统代理设置", - "fieldsets": { - "currentStatus": "当前系统代理" - }, - "fields": { - "enableStatus": "开启状态:", - "serverAddr": "服务地址:", - "pacUrl": "PAC 地址:", - "proxyHost": "代理主机", - "usePacMode": "使用 PAC 模式", - "proxyGuard": "系统代理守卫", - "guardDuration": "代理守卫间隔", - "alwaysUseDefaultBypass": "始终使用默认绕过", - "proxyBypass": "代理绕过设置:", - "bypass": "当前绕过:", - "pacScriptContent": "PAC 脚本内容" - }, - "tooltips": { - "proxyGuard": "开启以防止其他软件修改操作系统的代理设置" - }, - "messages": { - "durationTooShort": "代理守护间隔时间不得低于 1 秒", - "invalidBypass": "无效的代理绕过格式", - "invalidProxyHost": "代理主机格式无效" - }, - "actions": { - "editPac": "编辑 PAC" - } - }, - "tun": { - "title": "虚拟网卡模式", - "actions": { - "reset": "重置为默认值" - }, - "fields": { - "stack": "TUN 模式堆栈", - "device": "虚拟网卡名称", - "autoRoute": "自动设置全局路由", - "strictRoute": "严格路由", - "autoDetectInterface": "自动选择流量出口接口", - "dnsHijack": "DNS 劫持", - "mtu": "最大传输单元" - }, - "tooltips": { - "dnsHijack": "多个 DNS 服务器请使用 , 分隔" - }, - "messages": { - "applied": "设置已应用" - } - }, - "dns": { - "dialog": { - "title": "DNS 覆写", - "warning": "如果你不清楚这里的设置请不要修改,并保持 DNS 覆写开启" - }, - "sections": { - "general": "DNS 设置", - "fallbackFilter": "回退过滤设置", - "hosts": "Hosts 设置" - }, - "fields": { - "enable": "启用 DNS", - "listen": "DNS 监听地址", - "enhancedMode": "增强模式", - "fakeIpRange": "Fake IP 范围", - "fakeIpFilterMode": "Fake IP 过滤模式", - "ipv6": { - "label": "IPv6", - "description": "启用 IPv6 DNS 解析" - }, - "preferH3": { - "label": "优先使用 HTTP/3", - "description": "DNS DOH 使用 HTTP/3 协议" - }, - "respectRules": { - "label": "遵循路由规则", - "description": "DNS 连接遵循路由规则" - }, - "useHosts": { - "label": "使用 Hosts", - "description": "启用通过 hosts 文件解析域名" - }, - "useSystemHosts": { - "label": "使用系统 Hosts", - "description": "启用通过系统 hosts 文件解析域名" - }, - "directPolicy": { - "label": "直连域名服务器遵循策略", - "description": "是否遵循 nameserver-policy 设置" - }, - "defaultNameserver": { - "label": "默认域名服务器", - "description": "用于解析 DNS 服务器的默认 DNS 服务器" - }, - "nameserver": { - "label": "域名服务器", - "description": "DNS 服务器列表,用逗号分隔" - }, - "fallback": { - "label": "回退服务器", - "description": "回退 DNS 服务器列表,用逗号分隔" - }, - "proxy": { - "label": "代理节点DNS", - "description": "代理节点域名解析服务器,仅用于解析代理节点的域名,用逗号分隔" - }, - "directNameserver": { - "label": "直连域名服务器", - "description": "直连出口域名解析服务器,支持 system 关键字,用逗号分隔" - }, - "fakeIpFilter": { - "label": "Fake IP 过滤", - "description": "跳过 Fake IP 解析的域名,用逗号分隔" - }, - "nameserverPolicy": { - "label": "域名服务器策略", - "description": "特定域名的 DNS 服务器,多个服务器使用分号分隔,格式: domain=server1;server2" - }, - "geoipFiltering": { - "label": "GeoIP 过滤", - "description": "启用 GeoIP 回退过滤" - }, - "geoipCode": "GeoIP 国家代码", - "fallbackIpCidr": { - "label": "回退 IP CIDR", - "description": "不使用回退服务器的 IP CIDR,用逗号分隔" - }, - "fallbackDomain": { - "label": "回退域名", - "description": "使用回退服务器的域名,用逗号分隔" - }, - "hosts": { - "label": "Hosts", - "description": "自定义域名到 IP 或域名的映射,用逗号分隔" - } - }, - "messages": { - "saved": "DNS 设置已保存", - "configError": "DNS 配置错误:" - }, - "errors": { - "invalid": "Invalid configuration" - } - } - }, - "providers": { - "notices": { - "updateSuccess": "{{name}} 更新成功", - "updateFailed": "{{name}} 更新失败: {{message}}", - "genericError": "更新失败: {{message}}", - "none": "没有可更新的提供者", - "allUpdated": "全部提供者更新成功" - } - }, - "test": { - "item": { - "actions": { - "test": "测试" - } - }, - "viewer": { - "title": { - "create": "新建测试", - "edit": "编辑测试" - }, - "fields": { - "url": "测试地址" - } - } - } - }, "common": { "editorModes": { "visualization": "可视化", @@ -1207,5 +220,1000 @@ "unlock": "解锁菜单排序", "lock": "锁定菜单排序" } + }, + "ruleEditor": { + "title": "编辑规则", + "form": { + "labels": { + "type": "规则类型", + "content": "规则内容", + "proxyPolicy": "代理策略" + }, + "toggles": { + "noResolve": "跳过 DNS 解析" + }, + "actions": { + "prependRule": "添加前置规则", + "appendRule": "添加后置规则" + }, + "validation": { + "conditionRequired": "规则条件缺失", + "invalidRule": "无效规则" + } + } + }, + "profile": { + "viewer": { + "title": { + "create": "新建配置", + "edit": "编辑配置" + }, + "buttons": { + "save": "保存", + "cancel": "取消" + }, + "fields": { + "type": "类型", + "name": "名称", + "description": "描述", + "subscriptionUrl": "订阅链接", + "httpTimeout": "HTTP Request Timeout", + "updateInterval": "更新间隔", + "useSystemProxy": "使用系统代理更新", + "useClashProxy": "使用内核代理更新", + "acceptInvalidCerts": "允许无效证书(危险)", + "allowAutoUpdate": "允许自动更新" + }, + "notifications": { + "creationRetry": "订阅创建失败,尝试使用 Clash 代理创建", + "creationSuccess": "使用 Clash 代理创建订阅成功" + } + }, + "fileInput": { + "chooseFile": "选择文件" + }, + "notifications": { + "saved": "保存成功" + }, + "proxiesEditor": { + "title": "编辑节点", + "placeholders": { + "multiUri": "多条 URI 请使用换行分隔(支持 Base64 编码)" + }, + "actions": { + "prepend": "添加前置代理节点", + "append": "添加后置代理节点" + } + }, + "groupsEditor": { + "title": "编辑代理组", + "errors": { + "nameRequired": "代理组名称不能为空", + "nameExists": "代理组名称已存在" + }, + "fields": { + "type": "代理组类型", + "name": "代理组组名", + "icon": "代理组图标", + "proxies": "引入代理", + "provider": "引入代理集合", + "healthCheckUrl": "健康检查测试地址", + "expectedStatus": "期望状态码", + "interval": "检查间隔", + "timeout": "超时时间", + "maxFailedTimes": "最大失败次数", + "interfaceName": "出站接口", + "routingMark": "路由标记", + "filter": "过滤节点", + "excludeFilter": "排除节点", + "excludeType": "排除节点类型", + "includeAll": "引入所有出站代理、代理集合", + "includeAllProxies": "引入所有出站代理", + "includeAllProviders": "引入所有代理集合" + }, + "toggles": { + "lazy": "懒惰状态", + "disableUdp": "禁用 UDP", + "hidden": "隐藏代理组" + }, + "actions": { + "prepend": "添加前置代理组", + "append": "添加后置代理组" + } + }, + "menu": { + "home": "首 页", + "select": "使用", + "editInfo": "编辑信息", + "editFile": "编辑文件", + "editRules": "编辑规则", + "editProxies": "编辑节点", + "editGroups": "编辑代理组", + "extendConfig": "扩展覆写配置", + "extendScript": "扩展脚本", + "openFile": "打开文件", + "update": "更新", + "updateViaProxy": "更新(代理)", + "delete": "删除" + }, + "item": { + "tooltips": { + "showLast": "Click to show last update time", + "showNext": "Click to show next update" + }, + "status": { + "lastUpdateFailed": "上次更新失败", + "nextUp": "下次更新", + "noSchedule": "没有计划", + "unknown": "未知", + "autoUpdateDisabled": "自动更新已禁用" + } + }, + "confirm": { + "delete": { + "title": "确认删除", + "message": "此操作不可逆" + } + }, + "logViewer": { + "title": "脚本控制台输出" + }, + "more": { + "global": { + "merge": "Global Merge", + "script": "Global Script" + }, + "chips": { + "merge": "Merge", + "script": "Script" + } + }, + "editor": { + "format": "格式化文档", + "readOnlyMessage": "无法在只读模式下编辑" + } + }, + "home": { + "proxyTunCard": { + "status": { + "systemProxyEnabled": "系统代理已启用,您的应用将通过代理访问网络", + "systemProxyDisabled": "系统代理已关闭,建议大多数用户打开此选项", + "tunModeServiceRequired": "TUN模式需要服务模式,请先安装服务", + "tunModeEnabled": "TUN 模式已启用,应用将通过虚拟网卡访问网络", + "tunModeDisabled": "TUN 模式已关闭,适用于特殊应用" + }, + "tooltips": { + "systemProxy": "修改操作系统的代理设置,如果开启失败,可手动修改操作系统的代理设置", + "tunMode": "TUN模式可以接管所有应用流量,适用于特殊不遵循系统代理设置的应用" + } + }, + "clashInfo": { + "title": "Clash 信息", + "fields": { + "coreVersion": "内核版本", + "systemProxyAddress": "系统代理地址", + "mixedPort": "Mixed Port", + "uptime": "运行时间", + "rulesCount": "规则数量" + } + }, + "systemInfo": { + "title": "系统信息", + "fields": { + "osInfo": "操作系统信息", + "autoLaunch": "开机自启", + "runningMode": "运行模式", + "lastCheckUpdate": "最后检查更新", + "vergeVersion": "Verge 版本" + }, + "actions": { + "settings": "设置" + }, + "labels": { + "enabled": "已启用", + "disabled": "未启用" + }, + "tooltips": { + "autoLaunchAdmin": "管理员模式可能不支持开机自启" + }, + "badges": { + "adminMode": "管理员模式", + "serviceMode": "服务模式", + "sidecarMode": "用户模式", + "adminServiceMode": "管理员 + 服务模式" + } + }, + "ipInfo": { + "title": "IP 信息", + "errors": { + "load": "获取IP信息失败" + }, + "labels": { + "retry": "Retry", + "ip": "IP", + "asn": "自治域", + "isp": "服务商", + "org": "组织", + "location": "位置", + "timezone": "时区", + "autoRefresh": "自动刷新", + "unknown": "未知" + } + }, + "traffic": { + "metrics": { + "uploadSpeed": "上传速度", + "downloadSpeed": "下载速度", + "activeConnections": "活跃连接", + "uploaded": "上传量", + "downloaded": "下载量", + "memoryUsage": "内核占用" + }, + "legends": { + "upload": "上传", + "download": "下载" + }, + "patterns": { + "minutes": "{{time}} Minutes" + } + }, + "currentProxy": { + "title": "当前节点", + "actions": { + "refreshDelay": "延迟测试" + }, + "labels": { + "globalMode": "全局模式", + "directMode": "直连模式", + "group": "代理组", + "proxy": "节点", + "noActiveNode": "暂无激活的代理节点" + } + }, + "profile": { + "title": "订阅", + "actions": { + "import": "导入" + }, + "labels": { + "from": "来自", + "updateTime": "更新时间", + "usedTotal": "已使用 / 总量", + "expireTime": "到期时间", + "clickToImport": "点击导入订阅" + } + }, + "page": { + "title": "首页", + "tooltips": { + "lightweightMode": "轻量模式", + "manual": "使用手册", + "settings": "首页设置" + }, + "cards": { + "trafficStats": "流量统计", + "networkSettings": "网络设置", + "proxyMode": "代理模式" + }, + "settings": { + "title": "首页设置", + "cards": { + "profile": "订阅卡", + "currentProxy": "当前代理卡", + "network": "网络设置卡", + "proxyMode": "代理模式卡", + "traffic": "流量统计卡", + "tests": "网站测试卡", + "ip": "IP 信息卡", + "clashInfo": "Clash 信息卡", + "systemInfo": "系统信息卡" + } + } + } + }, + "connection": { + "fields": { + "host": "主机", + "downloaded": "下载量", + "uploaded": "上传量", + "dlSpeed": "下载速度", + "ulSpeed": "上传速度", + "chains": "链路", + "rule": "规则", + "process": "进程", + "time": "连接时间", + "source": "源地址", + "destination": "目标地址", + "destinationPort": "目标端口", + "type": "类型" + }, + "actions": { + "closeConnection": "关闭连接" + }, + "order": { + "default": "Default", + "uploadSpeed": "上传速度", + "downloadSpeed": "下载速度" + } + }, + "settings": { + "system": { + "title": "系统设置", + "toggles": { + "tunMode": "虚拟网卡模式", + "systemProxy": "系统代理" + }, + "labels": { + "autoLaunch": "开机自启", + "silentStart": "静默启动" + }, + "tooltips": { + "autoLaunchAdmin": "管理员模式可能不支持开机自启", + "silentStart": "程序启动时以后台模式运行,不显示程序面板" + } + }, + "proxyControl": { + "labels": { + "systemProxy": "系统代理", + "tunMode": "虚拟网卡模式" + }, + "tooltips": { + "systemProxy": "修改操作系统的代理设置,如果开启失败,可手动修改操作系统的代理设置", + "tunMode": "TUN(虚拟网卡)模式接管系统所有流量,启用时无须打开系统代理", + "tunUnavailable": "TUN 模式需要安装服务模式或管理员模式" + }, + "actions": { + "installService": "安装服务", + "uninstallService": "卸载服务" + } + }, + "externalController": { + "title": "外部控制器监听地址", + "fields": { + "enable": "启用外部控制器", + "address": "外部控制器监听地址", + "secret": "API 访问密钥" + }, + "placeholders": { + "address": "必填", + "secret": "建议设置" + }, + "tooltips": { + "copy": "复制到剪贴板" + }, + "messages": { + "addressRequired": "控制器地址不能为空", + "secretRequired": "访问密钥不能为空", + "copyFailed": "复制失败", + "controllerCopied": "控制器地址已复制到剪贴板", + "secretCopied": "访问密钥已复制到剪贴板" + } + }, + "externalCors": { + "title": "外部控制跨域设置", + "fields": { + "allowPrivateNetwork": "允许专用网络访问", + "allowedOrigins": "允许的来源" + }, + "placeholders": { + "origin": "请输入有效的网址" + }, + "actions": { + "add": "添加" + }, + "messages": { + "alwaysIncluded": "始终包含来源:{{urls}}" + }, + "tooltips": { + "open": "外部控制跨域设置" + } + }, + "clash": { + "title": "Clash 设置", + "items": { + "allowLan": "局域网连接", + "dnsOverwrite": "DNS 覆写", + "ipv6": "IPv6", + "unifiedDelay": "统一延迟", + "logLevel": "日志等级", + "portConfig": "端口设置", + "external": "外部控制", + "webUI": "网页界面", + "clashCore": "Clash 内核", + "openUwpTool": "UWP 工具", + "updateGeoData": "更新 GeoData" + }, + "tooltips": { + "networkInterface": "网络接口", + "unifiedDelay": "开启统一延迟时,会进行两次延迟测试,以消除连接握手等带来的不同类型节点的延迟差异", + "logLevel": "仅对日志目录 Service 文件夹下的内核日志文件生效", + "openUwpTool": "Windows 8 开始限制 UWP 应用(如微软商店)直接访问本地主机的网络服务,使用此工具可绕过该限制" + }, + "options": { + "logLevel": { + "debug": "Debug", + "info": "Info", + "warning": "Warn", + "error": "Error", + "silent": "Silent" + } + }, + "messages": { + "geoDataUpdated": "已更新 GeoData" + }, + "port": { + "title": "端口设置", + "fields": { + "mixed": "混合代理端口", + "socks": "SOCKS 代理端口", + "http": "HTTP(S) 代理端口", + "redir": "Redir 透明代理端口", + "tproxy": "Tproxy 透明代理端口" + }, + "actions": { + "random": "随机端口" + }, + "messages": { + "saved": "端口设置已保存", + "saveFailed": "端口设置保存失败" + } + } + }, + "liteMode": { + "title": "轻量模式设置", + "actions": { + "enterNow": "立即进入轻量模式" + }, + "toggles": { + "autoEnter": "自动进入轻量模式" + }, + "tooltips": { + "autoEnter": "启用后,将在窗口关闭一段时间后自动激活轻量模式" + }, + "fields": { + "delay": "自动进入轻量模式延迟" + }, + "messages": { + "autoEnterHint": "关闭窗口后,轻量模式将在 {{n}} 分钟后自动激活" + } + }, + "backup": { + "title": "备份设置", + "tabs": { + "local": "本地备份", + "webdav": "WebDAV 备份" + }, + "actions": { + "selectTarget": "选择备份目标", + "backup": "备份", + "refresh": "刷新", + "save": "保存", + "export": "导出", + "exportBackup": "导出备份", + "delete": "删除", + "deleteBackup": "删除备份", + "restore": "恢复", + "restoreBackup": "恢复备份" + }, + "fields": { + "webdavUrl": "WebDAV 服务器地址 http(s)://", + "username": "用户名", + "password": "密码", + "info": "在应用数据目录中创建本地备份,您可以通过下方列表进行恢复或删除。" + }, + "messages": { + "webdavUrlRequired": "WebDAV 服务器地址不能为空", + "invalidWebdavUrl": "无效的 WebDAV 服务器地址格式", + "usernameRequired": "用户名不能为空", + "passwordRequired": "密码不能为空", + "webdavConfigSaved": "WebDAV 配置保存成功", + "webdavConfigSaveFailed": "保存 WebDAV 配置失败: {{error}}", + "backupCreated": "备份创建成功", + "backupFailed": "备份失败: {{error}}", + "localBackupCreated": "本地备份创建成功", + "localBackupFailed": "本地备份失败", + "restoreSuccess": "恢复成功,应用将在 1 秒后重启", + "localBackupExported": "本地备份导出成功", + "localBackupExportFailed": "本地备份导出失败", + "confirmDelete": "确认删除此备份文件吗?", + "confirmRestore": "确认恢复此份文件吗?" + }, + "table": { + "filename": "文件名称", + "backupTime": "备份时间", + "actions": "操作", + "noBackups": "暂无备份", + "rowsPerPage": "Rows per page" + } + }, + "verge": { + "basic": { + "title": "Verge 基础设置", + "items": { + "language": "语言设置", + "themeMode": "主题模式", + "trayClickEvent": "托盘点击事件", + "copyEnvType": "复制环境变量类型", + "startPage": "启动页面", + "startupScript": "启动脚本", + "themeSetting": "主题设置", + "layoutSetting": "界面设置", + "misc": "杂项设置", + "hotkeySetting": "热键设置" + }, + "actions": { + "browse": "浏览", + "clear": "清除" + }, + "trayOptions": { + "showMainWindow": "显示主窗口", + "showTrayMenu": "显示托盘菜单", + "disable": "禁用" + } + }, + "advanced": { + "title": "Verge 高级设置", + "items": { + "backupSetting": "备份设置", + "runtimeConfig": "当前配置", + "openConfDir": "配置目录", + "openCoreDir": "内核目录", + "openLogsDir": "日志目录", + "checkUpdates": "检查更新", + "openDevTools": "开发者工具", + "liteModeSettings": "轻量模式设置", + "exit": "退出", + "exportDiagnostics": "导出诊断信息", + "vergeVersion": "Verge 版本" + }, + "tooltips": { + "backupInfo": "支持本地或 WebDAV 方式备份配置文件", + "openConfDir": "如果软件运行异常,!备份!并删除此文件夹下的所有文件,重启软件", + "liteMode": "关闭GUI界面,仅保留内核运行" + }, + "actions": { + "copyVersion": "复制Verge版本号" + }, + "notifications": { + "latestVersion": "当前已是最新版本", + "versionCopied": "Verge版本已复制到剪贴板" + } + }, + "theme": { + "title": "主题设置", + "fields": { + "primaryColor": "主要颜色", + "secondaryColor": "次要颜色", + "primaryText": "文本主要颜色", + "secondaryText": "文本次要颜色", + "infoColor": "信息颜色", + "warningColor": "警告颜色", + "errorColor": "错误颜色", + "successColor": "成功颜色", + "fontFamily": "字体系列", + "cssInjection": "CSS 注入" + }, + "actions": { + "editCss": "Edit CSS" + }, + "dialogs": { + "editCssTitle": "Edit CSS" + } + }, + "layout": { + "title": "界面设置", + "fields": { + "preferSystemTitlebar": "优先使用系统标题栏", + "trafficGraph": "流量图显", + "memoryUsage": "内核占用", + "proxyGroupIcon": "代理组图标", + "hoverNavigator": "悬浮跳转导航", + "hoverNavigatorDelay": "悬浮跳转导航延迟", + "navIcon": "导航栏图标", + "trayIcon": "托盘图标", + "showProxyGroupsInline": "将代理组显示在托盘一级菜单", + "commonTrayIcon": "常规托盘图标", + "systemProxyTrayIcon": "系统代理托盘图标", + "tunTrayIcon": "TUN 模式托盘图标" + }, + "tooltips": { + "hoverNavigator": "鼠标悬停在字母上时自动滚动到对应代理组", + "hoverNavigatorDelay": "鼠标悬停后触发自动跳转前等待的毫秒数" + }, + "options": { + "icon": { + "monochrome": "单色图标", + "colorful": "彩色图标", + "disable": "禁用" + } + } + } + }, + "common": { + "notifications": { + "copySuccess": "复制成功" + } + }, + "misc": { + "title": "杂项设置", + "fields": { + "appLogLevel": "应用日志等级", + "appLogMaxSize": "应用日志最大大小", + "appLogMaxCount": "应用日志最大数量", + "autoCloseConnections": "自动关闭连接", + "autoCheckUpdate": "自动检查更新", + "enableBuiltinEnhanced": "内置增强功能", + "proxyLayoutColumns": "代理页布局列数", + "autoLogClean": "自动清理日志", + "autoDelayDetection": "自动延迟检测", + "defaultLatencyTest": "默认测试链接", + "defaultLatencyTimeout": "测试超时时间" + }, + "tooltips": { + "autoCloseConnections": "当代理组选中节点或代理模式变动时,关闭已建立的连接", + "enableBuiltinEnhanced": "配置文件的兼容性处理", + "autoDelayDetection": "后台定时检测当前节点延迟", + "defaultLatencyTest": "仅用于 HTTP 客户端请求测试,不会对配置文件产生影响" + }, + "options": { + "proxyLayoutColumns": { + "auto": "自动列数" + }, + "autoLogClean": { + "never": "不清理", + "retainDays": "保留 {{n}} 天" + } + } + }, + "update": { + "title": "新版本 v{{version}}", + "actions": { + "goToRelease": "前往发布页", + "update": "更新" + }, + "messages": { + "portableError": "便携版不支持应用内更新,请手动下载替换", + "breakChangeError": "此版本为重大更新,不支持应用内更新,请卸载后手动下载安装" + } + }, + "sysproxy": { + "title": "系统代理设置", + "fieldsets": { + "currentStatus": "当前系统代理" + }, + "fields": { + "enableStatus": "开启状态:", + "serverAddr": "服务地址:", + "pacUrl": "PAC 地址:", + "proxyHost": "代理主机", + "usePacMode": "使用 PAC 模式", + "proxyGuard": "系统代理守卫", + "guardDuration": "代理守卫间隔", + "alwaysUseDefaultBypass": "始终使用默认绕过", + "proxyBypass": "代理绕过设置:", + "bypass": "当前绕过:", + "pacScriptContent": "PAC 脚本内容" + }, + "tooltips": { + "proxyGuard": "开启以防止其他软件修改操作系统的代理设置" + }, + "messages": { + "durationTooShort": "代理守护间隔时间不得低于 1 秒", + "invalidBypass": "无效的代理绕过格式", + "invalidProxyHost": "代理主机格式无效" + }, + "actions": { + "editPac": "编辑 PAC" + } + }, + "tun": { + "title": "虚拟网卡模式", + "actions": { + "reset": "重置为默认值" + }, + "fields": { + "stack": "TUN 模式堆栈", + "device": "虚拟网卡名称", + "autoRoute": "自动设置全局路由", + "strictRoute": "严格路由", + "autoDetectInterface": "自动选择流量出口接口", + "dnsHijack": "DNS 劫持", + "mtu": "最大传输单元" + }, + "tooltips": { + "dnsHijack": "多个 DNS 服务器请使用 , 分隔" + }, + "messages": { + "applied": "设置已应用" + } + }, + "dns": { + "dialog": { + "title": "DNS 覆写", + "warning": "如果你不清楚这里的设置请不要修改,并保持 DNS 覆写开启" + }, + "sections": { + "general": "DNS 设置", + "fallbackFilter": "回退过滤设置", + "hosts": "Hosts 设置" + }, + "fields": { + "enable": "启用 DNS", + "listen": "DNS 监听地址", + "enhancedMode": "增强模式", + "fakeIpRange": "Fake IP 范围", + "fakeIpFilterMode": "Fake IP 过滤模式", + "ipv6": { + "label": "IPv6", + "description": "启用 IPv6 DNS 解析" + }, + "preferH3": { + "label": "优先使用 HTTP/3", + "description": "DNS DOH 使用 HTTP/3 协议" + }, + "respectRules": { + "label": "遵循路由规则", + "description": "DNS 连接遵循路由规则" + }, + "useHosts": { + "label": "使用 Hosts", + "description": "启用通过 hosts 文件解析域名" + }, + "useSystemHosts": { + "label": "使用系统 Hosts", + "description": "启用通过系统 hosts 文件解析域名" + }, + "directPolicy": { + "label": "直连域名服务器遵循策略", + "description": "是否遵循 nameserver-policy 设置" + }, + "defaultNameserver": { + "label": "默认域名服务器", + "description": "用于解析 DNS 服务器的默认 DNS 服务器" + }, + "nameserver": { + "label": "域名服务器", + "description": "DNS 服务器列表,用逗号分隔" + }, + "fallback": { + "label": "回退服务器", + "description": "回退 DNS 服务器列表,用逗号分隔" + }, + "proxy": { + "label": "代理节点DNS", + "description": "代理节点域名解析服务器,仅用于解析代理节点的域名,用逗号分隔" + }, + "directNameserver": { + "label": "直连域名服务器", + "description": "直连出口域名解析服务器,支持 system 关键字,用逗号分隔" + }, + "fakeIpFilter": { + "label": "Fake IP 过滤", + "description": "跳过 Fake IP 解析的域名,用逗号分隔" + }, + "nameserverPolicy": { + "label": "域名服务器策略", + "description": "特定域名的 DNS 服务器,多个服务器使用分号分隔,格式: domain=server1;server2" + }, + "geoipFiltering": { + "label": "GeoIP 过滤", + "description": "启用 GeoIP 回退过滤" + }, + "geoipCode": "GeoIP 国家代码", + "fallbackIpCidr": { + "label": "回退 IP CIDR", + "description": "不使用回退服务器的 IP CIDR,用逗号分隔" + }, + "fallbackDomain": { + "label": "回退域名", + "description": "使用回退服务器的域名,用逗号分隔" + }, + "hosts": { + "label": "Hosts", + "description": "自定义域名到 IP 或域名的映射,用逗号分隔" + } + }, + "messages": { + "saved": "DNS 设置已保存", + "configError": "DNS 配置错误:" + }, + "errors": { + "invalid": "Invalid configuration" + } + }, + "page": { + "title": "设置", + "actions": { + "manual": "使用手册", + "telegram": "Telegram 频道", + "github": "GitHub 项目地址" + } + } + }, + "providers": { + "notices": { + "updateSuccess": "{{name}} 更新成功", + "updateFailed": "{{name}} 更新失败: {{message}}", + "genericError": "更新失败: {{message}}", + "none": "没有可更新的提供者", + "allUpdated": "全部提供者更新成功" + } + }, + "test": { + "item": { + "actions": { + "test": "测试" + } + }, + "viewer": { + "title": { + "create": "新建测试", + "edit": "编辑测试" + }, + "fields": { + "url": "测试地址" + } + }, + "page": { + "title": "测试", + "actions": { + "testAll": "测试全部", + "new": "新建" + } + } + }, + "proxies": { + "page": { + "title": { + "default": "代理组", + "chainMode": "链式代理模式" + }, + "actions": { + "toggleChain": "🔗 链式代理", + "connect": "连接", + "disconnect": "断开", + "connecting": "连接中...", + "clearChainConfig": "删除链式配置" + }, + "provider": { + "title": "代理集合", + "actions": { + "updateAll": "更新全部", + "update": "更新" + } + }, + "rules": { + "title": "代理规则", + "select": "选择规则" + }, + "labels": { + "proxyCount": "节点数量", + "delayCheckReset": "进行延迟测试,以取消固定" + }, + "tooltips": { + "locate": "当前节点", + "delayCheck": "延迟测试", + "sortDefault": "默认排序", + "sortDelay": "按延迟排序", + "sortName": "按名称排序", + "delayCheckUrl": "延迟测试链接", + "showBasic": "隐藏节点细节", + "showDetail": "展示节点细节", + "filter": "过滤节点" + }, + "placeholders": { + "filter": "过滤条件", + "delayCheckUrl": "延迟测试链接" + }, + "chain": { + "header": "代理链配置", + "empty": "暂无代理链配置", + "instruction": "顺序点击节点添加到代理链中", + "minimumNodes": "链式代理至少需要 2 个节点", + "minimumNodesHint": "链式代理至少需要 2 个节点,请再添加一个节点。", + "connectFailed": "连接链式代理失败", + "disconnectFailed": "断开链式代理失败", + "duplicateNode": "该节点已在链式代理表中" + } + } + }, + "rules": { + "page": { + "title": "规则", + "provider": { + "trigger": "规则集合", + "dialogTitle": "规则集合", + "actions": { + "updateAll": "更新全部", + "update": "更新" + } + } + } + }, + "profiles": { + "page": { + "title": "订阅", + "actions": { + "updateAll": "更新所有订阅", + "viewRuntimeConfig": "查看运行时订阅", + "reactivate": "重新激活订阅", + "import": "导入", + "new": "新建" + }, + "batch": { + "title": "批量操作", + "delete": "删除选中订阅", + "selectAll": "全选", + "deselectAll": "取消全选", + "done": "完成", + "selected": "已选中", + "items": "项目" + }, + "import": { + "placeholder": "订阅文件链接", + "paste": "粘贴", + "clear": "清除" + }, + "errors": { + "invalidUrl": "无效的订阅链接,请输入以 http:// 或 https:// 开头的地址", + "onlyYaml": "仅支持 YAML 文件" + }, + "notifications": { + "importRetry": "订阅导入失败,尝试使用 Clash 代理导入", + "importFail": "使用 Clash 代理导入订阅也失败", + "importNeedsRefresh": "Profile imported but may need manual refresh", + "importSuccess": "Profile imported successfully, please restart if not visible", + "profileSwitched": "订阅已切换", + "profileReactivated": "订阅已激活", + "switchInterrupted": "配置切换被新选择中断", + "batchDeleted": "选中的订阅已成功删除" + }, + "notices": { + "forceRefreshCompleted": "数据已强制刷新", + "emergencyRefreshFailed": "紧急刷新失败: {{message}}" + } + } + }, + "connections": { + "page": { + "title": "连接", + "summary": { + "downloaded": "下载量", + "uploaded": "上传量" + }, + "actions": { + "listView": "列表视图", + "tableView": "表格视图", + "pause": "暂停", + "resume": "继续", + "closeAll": "关闭全部" + } + } + }, + "logs": { + "page": { + "title": "日志", + "actions": { + "pause": "暂停", + "resume": "继续", + "clear": "清除" + }, + "filters": { + "all": "ALL", + "debug": "DEBUG", + "info": "INFO", + "warn": "WARN", + "error": "ERROR" + } + } + }, + "unlock": { + "page": { + "title": "解锁测试", + "actions": { + "testing": "测试中..." + }, + "empty": "暂无解锁测试项目" + } } } diff --git a/src/locales/zhtw.json b/src/locales/zhtw.json index 245d630a..cc60139c 100644 --- a/src/locales/zhtw.json +++ b/src/locales/zhtw.json @@ -13,192 +13,6 @@ "Save": "儲存", "Delete": "刪除", "Enable": "啟用", - "pages": { - "home": { - "title": "首頁", - "tooltips": { - "lightweightMode": "輕量模式", - "manual": "使用手冊", - "settings": "首頁設定" - }, - "cards": { - "trafficStats": "流量統計", - "networkSettings": "網路設定", - "proxyMode": "代理模式" - }, - "settings": { - "title": "首頁設定", - "cards": { - "profile": "訂閱卡", - "currentProxy": "目前代理卡", - "network": "網路設定卡", - "proxyMode": "代理模式卡", - "traffic": "流量統計卡", - "tests": "網站測試卡", - "ip": "IP資訊卡", - "clashInfo": "Clash 資訊卡", - "systemInfo": "系統資訊卡" - } - } - }, - "proxies": { - "title": { - "default": "代理組", - "chainMode": "鏈式代理模式" - }, - "actions": { - "toggleChain": "🔗 鏈式代理", - "connect": "連線", - "disconnect": "中斷", - "connecting": "連線中...", - "clearChainConfig": "刪除鏈式設定" - }, - "provider": { - "title": "代理集合", - "actions": { - "updateAll": "全部更新", - "update": "更新" - } - }, - "rules": { - "title": "代理規則", - "select": "選擇規則" - }, - "labels": { - "proxyCount": "節點數量", - "delayCheckReset": "測試延遲以取消固定" - }, - "tooltips": { - "locate": "目前節點", - "delayCheck": "延遲測試", - "sortDefault": "預設排序", - "sortDelay": "按延遲排序", - "sortName": "按名稱排序", - "delayCheckUrl": "延遲測試網址", - "showBasic": "隱藏節點細節", - "showDetail": "展示節點細節", - "filter": "篩選節點" - }, - "placeholders": { - "filter": "篩選條件", - "delayCheckUrl": "延遲測試網址" - }, - "chain": { - "header": "鏈式代理設定", - "empty": "暫無鏈式代理設定", - "instruction": "依序點擊節點新增到鏈式代理中", - "minimumNodes": "鏈式代理至少需要 2 個節點", - "minimumNodesHint": "鏈式代理至少需要 2 個節點,請再新增一個節點。", - "connectFailed": "連線鏈式代理失敗", - "disconnectFailed": "中斷鏈式代理失敗", - "duplicateNode": "該節點已在鏈式代理表中" - } - }, - "rules": { - "title": "規則", - "provider": { - "trigger": "規則集合", - "dialogTitle": "規則集合", - "actions": { - "updateAll": "全部更新", - "update": "更新" - } - } - }, - "profiles": { - "title": "訂閱", - "actions": { - "updateAll": "更新所有訂閱", - "viewRuntimeConfig": "查看執行時訂閱", - "reactivate": "重新啟用訂閱", - "import": "匯入", - "new": "新增" - }, - "batch": { - "title": "批次操作", - "delete": "刪除選取訂閱", - "selectAll": "全選", - "deselectAll": "取消選取", - "done": "完成", - "selected": "已選取", - "items": "項目" - }, - "import": { - "placeholder": "訂閱檔網址", - "paste": "貼上", - "clear": "清除" - }, - "errors": { - "invalidUrl": "無效的訂閱網址,請輸入以 http:// 或 https:// 開頭的位址", - "onlyYaml": "僅支援 YAML 檔案" - }, - "notifications": { - "importRetry": "訂閱匯入失敗,嘗試使用 Clash 代理匯入", - "importFail": "使用 Clash 代理匯入訂閱也失敗", - "importNeedsRefresh": "Profile imported but may need manual refresh", - "importSuccess": "Profile imported successfully, please restart if not visible", - "profileSwitched": "訂閱已切換", - "profileReactivated": "訂閱已啟用", - "switchInterrupted": "配置切換被新的選擇中斷", - "batchDeleted": "選取的訂閱已成功刪除" - }, - "notices": { - "forceRefreshCompleted": "Force refresh completed", - "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" - } - }, - "connections": { - "title": "連線", - "summary": { - "downloaded": "下載量", - "uploaded": "上傳量" - }, - "actions": { - "listView": "列表檢視", - "tableView": "表格檢視", - "pause": "暫停", - "resume": "繼續", - "closeAll": "關閉全部" - } - }, - "settings": { - "title": "設定", - "actions": { - "manual": "使用手冊", - "telegram": "Telegram 頻道", - "github": "GitHub 專案位址" - } - }, - "logs": { - "title": "日誌", - "actions": { - "pause": "暫停", - "resume": "繼續", - "clear": "清除" - }, - "filters": { - "all": "ALL", - "debug": "DEBUG", - "info": "INFO", - "warn": "WARN", - "error": "ERROR" - } - }, - "test": { - "title": "測試", - "actions": { - "testAll": "測試全部", - "new": "新增" - } - }, - "unlock": { - "title": "解鎖測試", - "actions": { - "testing": "測試中..." - }, - "empty": "目前沒有解鎖測試項目" - } - }, "Proxies": "代理", "Update At": "更新於", "rule": "規則", @@ -380,807 +194,6 @@ "Detection timeout or failed": "檢測逾時或失敗", "Open App Log": "Open App Log", "Open Core Log": "Open Core Log", - "components": { - "ruleEditor": { - "title": "編輯規則", - "form": { - "labels": { - "type": "規則類型", - "content": "規則內容", - "proxyPolicy": "代理策略" - }, - "toggles": { - "noResolve": "跳過 DNS 解析" - }, - "actions": { - "prependRule": "新增前置規則", - "appendRule": "新增後置規則" - }, - "validation": { - "conditionRequired": "規則條件為必填", - "invalidRule": "無效規則" - } - } - }, - "profile": { - "viewer": { - "title": { - "create": "新增設定檔", - "edit": "編輯設定檔" - }, - "buttons": { - "save": "儲存", - "cancel": "取消" - }, - "fields": { - "type": "類型", - "name": "名稱", - "description": "描述", - "subscriptionUrl": "訂閱網址", - "httpTimeout": "HTTP Request Timeout", - "updateInterval": "更新間隔", - "useSystemProxy": "使用系統代理更新", - "useClashProxy": "使用內核代理更新", - "acceptInvalidCerts": "允許無效憑證(危險)", - "allowAutoUpdate": "允許自動更新" - }, - "notifications": { - "creationRetry": "訂閱建立失敗,嘗試使用 Clash 代理建立", - "creationSuccess": "使用 Clash 代理建立訂閱成功" - } - }, - "fileInput": { - "chooseFile": "選擇檔案" - }, - "notifications": { - "saved": "儲存成功" - }, - "proxiesEditor": { - "title": "編輯節點", - "placeholders": { - "multiUri": "多條網址,請使用換行分隔(支援 Base64 編碼)" - }, - "actions": { - "prepend": "新增前置代理節點", - "append": "新增後置代理節點" - } - }, - "groupsEditor": { - "title": "編輯代理組", - "errors": { - "nameRequired": "代理組名稱為必填", - "nameExists": "代理組名稱已存在" - }, - "fields": { - "type": "代理組類型", - "name": "代理組名稱", - "icon": "代理組圖示", - "proxies": "使用代理", - "provider": "使用代理集合", - "healthCheckUrl": "健康檢查網址", - "expectedStatus": "預期狀態碼", - "interval": "檢查間隔", - "timeout": "逾時", - "maxFailedTimes": "最大失敗次數", - "interfaceName": "輸出介面", - "routingMark": "路由標記", - "filter": "篩選節點", - "excludeFilter": "排除節點", - "excludeType": "排除節點類型", - "includeAll": "包含所有輸出代理、代理集合", - "includeAllProxies": "包含所有輸出代理", - "includeAllProviders": "包含所有代理集合" - }, - "toggles": { - "lazy": "延遲載入", - "disableUdp": "停用 UDP", - "hidden": "隱藏代理組" - }, - "actions": { - "prepend": "新增前置代理組", - "append": "新增後置代理組" - } - }, - "menu": { - "home": "首 頁", - "select": "使用", - "editInfo": "編輯資訊", - "editFile": "編輯檔案", - "editRules": "編輯規則", - "editProxies": "編輯節點", - "editGroups": "編輯代理組", - "extendConfig": "擴充覆寫設定", - "extendScript": "擴充指令碼", - "openFile": "開啟檔案", - "update": "更新", - "updateViaProxy": "更新(代理)", - "delete": "刪除" - }, - "item": { - "tooltips": { - "showLast": "Click to show last update time", - "showNext": "Click to show next update" - }, - "status": { - "lastUpdateFailed": "上次更新失敗", - "nextUp": "下次更新", - "noSchedule": "沒有排程", - "unknown": "未知", - "autoUpdateDisabled": "自動更新已停用" - } - }, - "confirm": { - "delete": { - "title": "確認刪除", - "message": "此操作無法復原" - } - }, - "logViewer": { - "title": "指令碼控制台輸出" - }, - "more": { - "global": { - "merge": "Global Merge", - "script": "Global Script" - }, - "chips": { - "merge": "Merge", - "script": "Script" - } - }, - "editor": { - "format": "格式化文件", - "readOnlyMessage": "無法在唯讀模式下編輯" - } - }, - "home": { - "proxyTunCard": { - "status": { - "systemProxyEnabled": "系統代理已啟用,您的應用程式將透過代理存取網路", - "systemProxyDisabled": "系統代理已關閉,建議大多數使用者開啟此選項", - "tunModeServiceRequired": "虛擬網路介面卡模式需要服務模式,請先安裝服務", - "tunModeEnabled": "虛擬網路介面卡模式已啟用,應用程式將透過虛擬網路介面卡存取網路", - "tunModeDisabled": "虛擬網路介面卡模式已關閉,適用於特殊應用程式" - }, - "tooltips": { - "systemProxy": "修改作業系統的代理設定,如果開啟失敗,可手動修改作業系統的代理設定", - "tunMode": "虛擬網路介面卡模式可以接管所有應用程式流量,適用於不遵循系統代理設定的特殊應用程式" - } - }, - "clashInfo": { - "title": "Clash 資訊", - "fields": { - "coreVersion": "內核版本", - "systemProxyAddress": "系統代理位址", - "mixedPort": "Mixed Port", - "uptime": "執行時間", - "rulesCount": "規則數量" - } - }, - "systemInfo": { - "title": "系統資訊", - "fields": { - "osInfo": "作業系統資訊", - "autoLaunch": "開機自啟", - "runningMode": "執行模式", - "lastCheckUpdate": "最後檢查更新", - "vergeVersion": "Verge 版本" - }, - "actions": { - "settings": "設定" - }, - "labels": { - "enabled": "已啟用", - "disabled": "已停用" - }, - "tooltips": { - "autoLaunchAdmin": "管理員模式可能不支援開機自啟" - }, - "badges": { - "adminMode": "管理員模式", - "serviceMode": "服務模式", - "sidecarMode": "使用者模式", - "adminServiceMode": "系統管理員 + 服務模式" - } - }, - "ipInfo": { - "title": "IP資訊", - "errors": { - "load": "取得IP資訊失敗" - }, - "labels": { - "retry": "Retry", - "ip": "IP", - "asn": "自治系統", - "isp": "網際網路服務供應商", - "org": "組織", - "location": "位置", - "timezone": "時區", - "autoRefresh": "自動重整", - "unknown": "未知" - } - }, - "traffic": { - "metrics": { - "uploadSpeed": "上傳速度", - "downloadSpeed": "下載速度", - "activeConnections": "作用中連線", - "uploaded": "上傳量", - "downloaded": "下載量", - "memoryUsage": "內核佔用" - }, - "legends": { - "upload": "上傳", - "download": "下載" - }, - "patterns": { - "minutes": "{{time}} Minutes" - } - }, - "currentProxy": { - "title": "目前節點", - "actions": { - "refreshDelay": "延遲測試" - }, - "labels": { - "globalMode": "全域模式", - "directMode": "直連模式", - "group": "代理組", - "proxy": "節點", - "noActiveNode": "暫無作用中的代理節點" - } - }, - "profile": { - "title": "訂閱", - "actions": { - "import": "匯入" - }, - "labels": { - "from": "來自", - "updateTime": "更新時間", - "usedTotal": "已使用 / 總量", - "expireTime": "到期時間", - "clickToImport": "點擊匯入訂閱" - } - } - }, - "connection": { - "fields": { - "host": "主機", - "downloaded": "下載量", - "uploaded": "上傳量", - "dlSpeed": "下載速度", - "ulSpeed": "上傳速度", - "chains": "鏈路", - "rule": "規則", - "process": "處理程序", - "time": "連線時間", - "source": "來源位址", - "destination": "目標位址", - "destinationPort": "目標連接埠", - "type": "類型" - }, - "actions": { - "closeConnection": "關閉連線" - }, - "order": { - "default": "Default", - "uploadSpeed": "上傳速度", - "downloadSpeed": "下載速度" - } - }, - "settings": { - "system": { - "title": "系統設定", - "toggles": { - "tunMode": "虛擬網路介面卡模式", - "systemProxy": "系統代理" - }, - "labels": { - "autoLaunch": "開機自啟", - "silentStart": "靜默啟動" - }, - "tooltips": { - "autoLaunchAdmin": "管理員模式可能不支援開機自啟", - "silentStart": "程序啟動時以後台模式執行,不顯示程序面板" - } - }, - "proxyControl": { - "labels": { - "systemProxy": "系統代理", - "tunMode": "虛擬網路介面卡模式" - }, - "tooltips": { - "systemProxy": "修改作業系統的代理設定,如果開啟失敗,可手動修改作業系統的代理設定", - "tunMode": "TUN(虛擬網路介面卡)模式接管系統所有流量,啟用時無需開啟系統代理", - "tunUnavailable": "虛擬網路介面卡模式需要安裝服務模式或以系統管理員身分執行" - }, - "actions": { - "installService": "安裝服務", - "uninstallService": "解除安裝服務" - } - }, - "externalController": { - "title": "外部控制器監聽位址", - "fields": { - "enable": "啟用外部控制器", - "address": "外部控制器監聽位址", - "secret": "API 存取金鑰" - }, - "placeholders": { - "address": "必填", - "secret": "建議設定" - }, - "tooltips": { - "copy": "複製到剪貼簿" - }, - "messages": { - "addressRequired": "控制器位址不能為空", - "secretRequired": "存取金鑰不能為空", - "copyFailed": "複製失敗", - "controllerCopied": "API 連接埠已複製到剪貼簿", - "secretCopied": "API 金鑰已複製到剪貼簿" - } - }, - "externalCors": { - "title": "外部跨來源資源共享設定", - "fields": { - "allowPrivateNetwork": "允許專用網路存取", - "allowedOrigins": "允許的來源" - }, - "placeholders": { - "origin": "請輸入有效的網址" - }, - "actions": { - "add": "新增" - }, - "messages": { - "alwaysIncluded": "始終包含來源:{{urls}}" - }, - "tooltips": { - "open": "外部跨來源資源共享設定" - } - }, - "clash": { - "title": "Clash 設定", - "items": { - "allowLan": "區域網路連線", - "dnsOverwrite": "DNS 覆寫", - "ipv6": "IPv6", - "unifiedDelay": "統一延遲", - "logLevel": "日誌等級", - "portConfig": "連接埠設定", - "external": "外部控制", - "webUI": "網頁介面", - "clashCore": "Clash 內核", - "openUwpTool": "UWP 工具", - "updateGeoData": "更新 GeoData" - }, - "tooltips": { - "networkInterface": "網路介面", - "unifiedDelay": "開啟統一延遲時,會進行兩次延遲測試,以消除連線握手等帶來的不同類型節點的延遲差異", - "logLevel": "僅對日誌目錄 Service 資料夾下的內核日誌檔案生效", - "openUwpTool": "Windows 8 開始限制 UWP 應用程式(如Microsoft Store)直接存取本機主機的網路服務,使用此工具可繞過該限制" - }, - "options": { - "logLevel": { - "debug": "Debug", - "info": "Info", - "warning": "Warn", - "error": "Error", - "silent": "Silent" - } - }, - "messages": { - "geoDataUpdated": "已更新 GeoData" - }, - "port": { - "title": "連接埠設定", - "fields": { - "mixed": "混合代理連接埠", - "socks": "SOCKS 代理連接埠", - "http": "HTTP(S) 代理連接埠", - "redir": "Redir 透明代理連接埠", - "tproxy": "Tproxy Port" - }, - "actions": { - "random": "隨機連接埠" - }, - "messages": { - "saved": "連結埠設定已儲存", - "saveFailed": "連結埠設定儲存失敗" - } - } - }, - "liteMode": { - "title": "輕量模式設定", - "actions": { - "enterNow": "立即進入輕量模式" - }, - "toggles": { - "autoEnter": "自動進入輕量模式" - }, - "tooltips": { - "autoEnter": "啟用後,將在視窗關閉一段時間後自動啟用輕量模式" - }, - "fields": { - "delay": "自動進入輕量模式延遲" - }, - "messages": { - "autoEnterHint": "關閉視窗後,輕量模式將在 {{n}} 分鐘後自動啟用" - } - }, - "backup": { - "title": "備份設定", - "tabs": { - "local": "本機備份", - "webdav": "WebDAV 備份" - }, - "actions": { - "selectTarget": "選擇備份目標", - "backup": "備份", - "refresh": "重整", - "save": "儲存", - "export": "匯出", - "exportBackup": "匯出備份", - "delete": "刪除", - "deleteBackup": "刪除備份", - "restore": "還原", - "restoreBackup": "還原備份" - }, - "fields": { - "webdavUrl": "WebDAV 伺服器位址 http(s)://", - "username": "使用者名稱", - "password": "密碼", - "info": "在應用程式資料目錄中建立本機備份,您可以透過下方列表進行還原或刪除。" - }, - "messages": { - "webdavUrlRequired": "WebDAV 伺服器位址不能為空", - "invalidWebdavUrl": "無效的 WebDAV 伺服器位址格式", - "usernameRequired": "使用者名稱不能為空", - "passwordRequired": "密碼不能為空", - "webdavConfigSaved": "WebDAV 配置儲存成功", - "webdavConfigSaveFailed": "儲存 WebDAV 配置失敗: {{error}}", - "backupCreated": "備份建立成功", - "backupFailed": "備份失敗: {{error}}", - "localBackupCreated": "本機備份建立成功", - "localBackupFailed": "本機備份失敗", - "restoreSuccess": "還原成功,應用程式將在 1 秒後重啟", - "localBackupExported": "本機備份匯出成功", - "localBackupExportFailed": "本機備份匯出失敗", - "confirmDelete": "確認是否刪除此備份檔案嗎?", - "confirmRestore": "確認還原此份檔案嗎?" - }, - "table": { - "filename": "檔案名稱", - "backupTime": "備份時間", - "actions": "動作", - "noBackups": "暫無備份", - "rowsPerPage": "Rows per page" - } - }, - "verge": { - "basic": { - "title": "Verge 基礎設定", - "items": { - "language": "語言設定", - "themeMode": "主題模式", - "trayClickEvent": "系統匣點擊事件", - "copyEnvType": "複製環境變數類型", - "startPage": "啟動頁面", - "startupScript": "啟動指令碼", - "themeSetting": "主題設定", - "layoutSetting": "介面設定", - "misc": "雜項設定", - "hotkeySetting": "快速鍵設定" - }, - "actions": { - "browse": "瀏覽", - "clear": "清除" - }, - "trayOptions": { - "showMainWindow": "顯示主視窗", - "showTrayMenu": "顯示系統匣選單", - "disable": "停用" - } - }, - "advanced": { - "title": "Verge 進階設定", - "items": { - "backupSetting": "備份設定", - "runtimeConfig": "執行期設定", - "openConfDir": "配置目錄", - "openCoreDir": "內核目錄", - "openLogsDir": "日誌目錄", - "checkUpdates": "檢查更新", - "openDevTools": "開發人員工具", - "liteModeSettings": "輕量模式設定", - "exit": "離開", - "exportDiagnostics": "匯出診斷資訊", - "vergeVersion": "Verge 版本" - }, - "tooltips": { - "backupInfo": "支援本機或 WebDAV 方式備份配置檔案", - "openConfDir": "如果軟體執行異常,!備份!並刪除此資料夾下的所有檔案,重新啟動軟體", - "liteMode": "關閉 GUI 介面,僅保留內核執行" - }, - "actions": { - "copyVersion": "複製Verge版本號" - }, - "notifications": { - "latestVersion": "目前已是最新版本", - "versionCopied": "Verge版本已複製到剪貼簿" - } - }, - "theme": { - "title": "主題設定", - "fields": { - "primaryColor": "主要顏色", - "secondaryColor": "次要顏色", - "primaryText": "文字主要顏色", - "secondaryText": "文字次要顏色", - "infoColor": "資訊顏色", - "warningColor": "警告顏色", - "errorColor": "錯誤顏色", - "successColor": "成功顏色", - "fontFamily": "字型系列", - "cssInjection": "CSS 注入" - }, - "actions": { - "editCss": "Edit CSS" - }, - "dialogs": { - "editCssTitle": "Edit CSS" - } - }, - "layout": { - "title": "介面設定", - "fields": { - "preferSystemTitlebar": "優先使用系統標題欄", - "trafficGraph": "流量圖表", - "memoryUsage": "內核佔用", - "proxyGroupIcon": "代理組圖示", - "hoverNavigator": "懸浮跳轉導航", - "hoverNavigatorDelay": "懸浮跳轉導航延遲", - "navIcon": "導覽列圖示", - "trayIcon": "系統匣圖示", - "showProxyGroupsInline": "將代理組顯示在系統匣一級選單", - "commonTrayIcon": "一般系統匣圖示", - "systemProxyTrayIcon": "系統代理系統匣圖示", - "tunTrayIcon": "虛擬網路介面卡模式系統匣圖示" - }, - "tooltips": { - "hoverNavigator": "滑鼠懸停在字母上時自動捲動到對應代理組", - "hoverNavigatorDelay": "滑鼠懸停後觸發自動跳轉前等待的毫秒數" - }, - "options": { - "icon": { - "monochrome": "單色圖示", - "colorful": "彩色圖示", - "disable": "停用" - } - } - } - }, - "common": { - "notifications": { - "copySuccess": "複製成功" - } - }, - "misc": { - "title": "雜項設定", - "fields": { - "appLogLevel": "應用程式日誌等級", - "appLogMaxSize": "應用程式日誌最大大小", - "appLogMaxCount": "應用程式日誌最大數量", - "autoCloseConnections": "自動關閉連線", - "autoCheckUpdate": "自動檢查更新", - "enableBuiltinEnhanced": "內建增強功能", - "proxyLayoutColumns": "代理頁面欄數", - "autoLogClean": "自動清理日誌", - "autoDelayDetection": "自動延遲偵測", - "defaultLatencyTest": "預設測試網址", - "defaultLatencyTimeout": "測試逾時" - }, - "tooltips": { - "autoCloseConnections": "當代理組選中節點或代理模式變動時,關閉已建立的連線", - "enableBuiltinEnhanced": "配置檔案的相容性處理", - "autoDelayDetection": "在背景定時偵測目前節點延遲", - "defaultLatencyTest": "僅用於 HTTP 客戶端請求測試,不會對配置檔案產生影響" - }, - "options": { - "proxyLayoutColumns": { - "auto": "自動欄數" - }, - "autoLogClean": { - "never": "不清理", - "retainDays": "保留 {{n}} 天" - } - } - }, - "update": { - "title": "New Version v{{version}}", - "actions": { - "goToRelease": "前往發佈頁面", - "update": "更新" - }, - "messages": { - "portableError": "可攜式版不支援應用程式內更新,請手動下載替換", - "breakChangeError": "此版本為重大更新,不支援應用程式內更新,請解除安裝後手動下載安裝" - } - }, - "sysproxy": { - "title": "系統代理設定", - "fieldsets": { - "currentStatus": "目前系統代理" - }, - "fields": { - "enableStatus": "啟用狀態:", - "serverAddr": "服務位址:", - "pacUrl": "PAC 位址:", - "proxyHost": "代理主機", - "usePacMode": "使用 PAC 模式", - "proxyGuard": "系統代理守護", - "guardDuration": "代理守護間隔", - "alwaysUseDefaultBypass": "始終使用預設繞過", - "proxyBypass": "代理繞過設定:", - "bypass": "目前繞過:", - "pacScriptContent": "PAC 指令碼內容" - }, - "tooltips": { - "proxyGuard": "開啟以防止其他軟體修改作業系統的代理設定" - }, - "messages": { - "durationTooShort": "代理守護間隔時間不得低於 1 秒", - "invalidBypass": "無效的代理繞過格式", - "invalidProxyHost": "代理主機格式無效" - }, - "actions": { - "editPac": "編輯 PAC" - } - }, - "tun": { - "title": "虛擬網路介面卡模式", - "actions": { - "reset": "重設為預設值" - }, - "fields": { - "stack": "虛擬網路介面卡模式堆疊", - "device": "Device Name", - "autoRoute": "自動設定全域路由", - "strictRoute": "嚴格路由", - "autoDetectInterface": "自動偵測流量輸出介面", - "dnsHijack": "DNS 綁架", - "mtu": "最大傳輸單位" - }, - "tooltips": { - "dnsHijack": "Please use , to separate multiple DNS servers" - }, - "messages": { - "applied": "設定已套用" - } - }, - "dns": { - "dialog": { - "title": "DNS 覆寫", - "warning": "如果你不清楚這裡的設定請不要修改,並保持 DNS 覆寫開啟" - }, - "sections": { - "general": "DNS 設定", - "fallbackFilter": "備援篩選設定", - "hosts": "Hosts 設定" - }, - "fields": { - "enable": "啟用 DNS", - "listen": "DNS 監聽位址", - "enhancedMode": "增強模式", - "fakeIpRange": "Fake IP 範圍", - "fakeIpFilterMode": "Fake IP 篩選模式", - "ipv6": { - "label": "IPv6", - "description": "啟用 IPv6 DNS 解析" - }, - "preferH3": { - "label": "優先使用 HTTP/3", - "description": "DNS DOH 使用 HTTP/3 協定" - }, - "respectRules": { - "label": "遵循路由規則", - "description": "DNS 連線遵循路由規則" - }, - "useHosts": { - "label": "使用 Hosts", - "description": "啟用透過 hosts 檔案解析網域" - }, - "useSystemHosts": { - "label": "使用系統 Hosts", - "description": "啟用透過系統 hosts 檔案解析網域" - }, - "directPolicy": { - "label": "直連域名伺服器遵循策略", - "description": "是否遵循 nameserver-policy 設定" - }, - "defaultNameserver": { - "label": "預設域名伺服器", - "description": "用於解析 DNS 伺服器的預設 DNS 伺服器" - }, - "nameserver": { - "label": "域名伺服器", - "description": "DNS 伺服器列表,用逗號分隔" - }, - "fallback": { - "label": "備援伺服器", - "description": "備援 DNS 伺服器列表,用逗號分隔" - }, - "proxy": { - "label": "代理節點 DNS", - "description": "代理節點網域解析伺服器,僅用於解析代理節點的網域,用逗號分隔" - }, - "directNameserver": { - "label": "直連域名伺服器", - "description": "直連輸出網域解析伺服器,支援 system 關鍵字,用逗號分隔" - }, - "fakeIpFilter": { - "label": "Fake IP 篩選", - "description": "跳過 Fake IP 解析的網域,用逗號分隔" - }, - "nameserverPolicy": { - "label": "域名伺服器策略", - "description": "特定網域的 DNS 伺服器,多個伺服器使用分號分隔,格式: domain=server1;server2" - }, - "geoipFiltering": { - "label": "GeoIP 篩選", - "description": "啟用 GeoIP 備援篩選" - }, - "geoipCode": "GeoIP 國家代碼", - "fallbackIpCidr": { - "label": "備援 IP CIDR", - "description": "不使用備援伺服器的 IP CIDR,用逗號分隔" - }, - "fallbackDomain": { - "label": "備援網域", - "description": "使用備援伺服器的網域,用逗號分隔" - }, - "hosts": { - "label": "Hosts", - "description": "自訂網域到 IP 或網域的映射,用逗號分隔" - } - }, - "messages": { - "saved": "DNS 設定已儲存", - "configError": "DNS 設定錯誤:" - }, - "errors": { - "invalid": "Invalid configuration" - } - } - }, - "providers": { - "notices": { - "updateSuccess": "{{name}} updated successfully", - "updateFailed": "Failed to update {{name}}: {{message}}", - "genericError": "Update failed: {{message}}", - "none": "No providers available to update", - "allUpdated": "All providers updated successfully" - } - }, - "test": { - "item": { - "actions": { - "test": "測試" - } - }, - "viewer": { - "title": { - "create": "新增測試", - "edit": "編輯測試" - }, - "fields": { - "url": "測試網址" - } - } - } - }, "common": { "editorModes": { "visualization": "視覺化", @@ -1207,5 +220,1000 @@ "unlock": "解鎖選單排序", "lock": "鎖定選單排序" } + }, + "ruleEditor": { + "title": "編輯規則", + "form": { + "labels": { + "type": "規則類型", + "content": "規則內容", + "proxyPolicy": "代理策略" + }, + "toggles": { + "noResolve": "跳過 DNS 解析" + }, + "actions": { + "prependRule": "新增前置規則", + "appendRule": "新增後置規則" + }, + "validation": { + "conditionRequired": "規則條件為必填", + "invalidRule": "無效規則" + } + } + }, + "profile": { + "viewer": { + "title": { + "create": "新增設定檔", + "edit": "編輯設定檔" + }, + "buttons": { + "save": "儲存", + "cancel": "取消" + }, + "fields": { + "type": "類型", + "name": "名稱", + "description": "描述", + "subscriptionUrl": "訂閱網址", + "httpTimeout": "HTTP Request Timeout", + "updateInterval": "更新間隔", + "useSystemProxy": "使用系統代理更新", + "useClashProxy": "使用內核代理更新", + "acceptInvalidCerts": "允許無效憑證(危險)", + "allowAutoUpdate": "允許自動更新" + }, + "notifications": { + "creationRetry": "訂閱建立失敗,嘗試使用 Clash 代理建立", + "creationSuccess": "使用 Clash 代理建立訂閱成功" + } + }, + "fileInput": { + "chooseFile": "選擇檔案" + }, + "notifications": { + "saved": "儲存成功" + }, + "proxiesEditor": { + "title": "編輯節點", + "placeholders": { + "multiUri": "多條網址,請使用換行分隔(支援 Base64 編碼)" + }, + "actions": { + "prepend": "新增前置代理節點", + "append": "新增後置代理節點" + } + }, + "groupsEditor": { + "title": "編輯代理組", + "errors": { + "nameRequired": "代理組名稱為必填", + "nameExists": "代理組名稱已存在" + }, + "fields": { + "type": "代理組類型", + "name": "代理組名稱", + "icon": "代理組圖示", + "proxies": "使用代理", + "provider": "使用代理集合", + "healthCheckUrl": "健康檢查網址", + "expectedStatus": "預期狀態碼", + "interval": "檢查間隔", + "timeout": "逾時", + "maxFailedTimes": "最大失敗次數", + "interfaceName": "輸出介面", + "routingMark": "路由標記", + "filter": "篩選節點", + "excludeFilter": "排除節點", + "excludeType": "排除節點類型", + "includeAll": "包含所有輸出代理、代理集合", + "includeAllProxies": "包含所有輸出代理", + "includeAllProviders": "包含所有代理集合" + }, + "toggles": { + "lazy": "延遲載入", + "disableUdp": "停用 UDP", + "hidden": "隱藏代理組" + }, + "actions": { + "prepend": "新增前置代理組", + "append": "新增後置代理組" + } + }, + "menu": { + "home": "首 頁", + "select": "使用", + "editInfo": "編輯資訊", + "editFile": "編輯檔案", + "editRules": "編輯規則", + "editProxies": "編輯節點", + "editGroups": "編輯代理組", + "extendConfig": "擴充覆寫設定", + "extendScript": "擴充指令碼", + "openFile": "開啟檔案", + "update": "更新", + "updateViaProxy": "更新(代理)", + "delete": "刪除" + }, + "item": { + "tooltips": { + "showLast": "Click to show last update time", + "showNext": "Click to show next update" + }, + "status": { + "lastUpdateFailed": "上次更新失敗", + "nextUp": "下次更新", + "noSchedule": "沒有排程", + "unknown": "未知", + "autoUpdateDisabled": "自動更新已停用" + } + }, + "confirm": { + "delete": { + "title": "確認刪除", + "message": "此操作無法復原" + } + }, + "logViewer": { + "title": "指令碼控制台輸出" + }, + "more": { + "global": { + "merge": "Global Merge", + "script": "Global Script" + }, + "chips": { + "merge": "Merge", + "script": "Script" + } + }, + "editor": { + "format": "格式化文件", + "readOnlyMessage": "無法在唯讀模式下編輯" + } + }, + "home": { + "proxyTunCard": { + "status": { + "systemProxyEnabled": "系統代理已啟用,您的應用程式將透過代理存取網路", + "systemProxyDisabled": "系統代理已關閉,建議大多數使用者開啟此選項", + "tunModeServiceRequired": "虛擬網路介面卡模式需要服務模式,請先安裝服務", + "tunModeEnabled": "虛擬網路介面卡模式已啟用,應用程式將透過虛擬網路介面卡存取網路", + "tunModeDisabled": "虛擬網路介面卡模式已關閉,適用於特殊應用程式" + }, + "tooltips": { + "systemProxy": "修改作業系統的代理設定,如果開啟失敗,可手動修改作業系統的代理設定", + "tunMode": "虛擬網路介面卡模式可以接管所有應用程式流量,適用於不遵循系統代理設定的特殊應用程式" + } + }, + "clashInfo": { + "title": "Clash 資訊", + "fields": { + "coreVersion": "內核版本", + "systemProxyAddress": "系統代理位址", + "mixedPort": "Mixed Port", + "uptime": "執行時間", + "rulesCount": "規則數量" + } + }, + "systemInfo": { + "title": "系統資訊", + "fields": { + "osInfo": "作業系統資訊", + "autoLaunch": "開機自啟", + "runningMode": "執行模式", + "lastCheckUpdate": "最後檢查更新", + "vergeVersion": "Verge 版本" + }, + "actions": { + "settings": "設定" + }, + "labels": { + "enabled": "已啟用", + "disabled": "已停用" + }, + "tooltips": { + "autoLaunchAdmin": "管理員模式可能不支援開機自啟" + }, + "badges": { + "adminMode": "管理員模式", + "serviceMode": "服務模式", + "sidecarMode": "使用者模式", + "adminServiceMode": "系統管理員 + 服務模式" + } + }, + "ipInfo": { + "title": "IP資訊", + "errors": { + "load": "取得IP資訊失敗" + }, + "labels": { + "retry": "Retry", + "ip": "IP", + "asn": "自治系統", + "isp": "網際網路服務供應商", + "org": "組織", + "location": "位置", + "timezone": "時區", + "autoRefresh": "自動重整", + "unknown": "未知" + } + }, + "traffic": { + "metrics": { + "uploadSpeed": "上傳速度", + "downloadSpeed": "下載速度", + "activeConnections": "作用中連線", + "uploaded": "上傳量", + "downloaded": "下載量", + "memoryUsage": "內核佔用" + }, + "legends": { + "upload": "上傳", + "download": "下載" + }, + "patterns": { + "minutes": "{{time}} Minutes" + } + }, + "currentProxy": { + "title": "目前節點", + "actions": { + "refreshDelay": "延遲測試" + }, + "labels": { + "globalMode": "全域模式", + "directMode": "直連模式", + "group": "代理組", + "proxy": "節點", + "noActiveNode": "暫無作用中的代理節點" + } + }, + "profile": { + "title": "訂閱", + "actions": { + "import": "匯入" + }, + "labels": { + "from": "來自", + "updateTime": "更新時間", + "usedTotal": "已使用 / 總量", + "expireTime": "到期時間", + "clickToImport": "點擊匯入訂閱" + } + }, + "page": { + "title": "首頁", + "tooltips": { + "lightweightMode": "輕量模式", + "manual": "使用手冊", + "settings": "首頁設定" + }, + "cards": { + "trafficStats": "流量統計", + "networkSettings": "網路設定", + "proxyMode": "代理模式" + }, + "settings": { + "title": "首頁設定", + "cards": { + "profile": "訂閱卡", + "currentProxy": "目前代理卡", + "network": "網路設定卡", + "proxyMode": "代理模式卡", + "traffic": "流量統計卡", + "tests": "網站測試卡", + "ip": "IP資訊卡", + "clashInfo": "Clash 資訊卡", + "systemInfo": "系統資訊卡" + } + } + } + }, + "connection": { + "fields": { + "host": "主機", + "downloaded": "下載量", + "uploaded": "上傳量", + "dlSpeed": "下載速度", + "ulSpeed": "上傳速度", + "chains": "鏈路", + "rule": "規則", + "process": "處理程序", + "time": "連線時間", + "source": "來源位址", + "destination": "目標位址", + "destinationPort": "目標連接埠", + "type": "類型" + }, + "actions": { + "closeConnection": "關閉連線" + }, + "order": { + "default": "Default", + "uploadSpeed": "上傳速度", + "downloadSpeed": "下載速度" + } + }, + "settings": { + "system": { + "title": "系統設定", + "toggles": { + "tunMode": "虛擬網路介面卡模式", + "systemProxy": "系統代理" + }, + "labels": { + "autoLaunch": "開機自啟", + "silentStart": "靜默啟動" + }, + "tooltips": { + "autoLaunchAdmin": "管理員模式可能不支援開機自啟", + "silentStart": "程序啟動時以後台模式執行,不顯示程序面板" + } + }, + "proxyControl": { + "labels": { + "systemProxy": "系統代理", + "tunMode": "虛擬網路介面卡模式" + }, + "tooltips": { + "systemProxy": "修改作業系統的代理設定,如果開啟失敗,可手動修改作業系統的代理設定", + "tunMode": "TUN(虛擬網路介面卡)模式接管系統所有流量,啟用時無需開啟系統代理", + "tunUnavailable": "虛擬網路介面卡模式需要安裝服務模式或以系統管理員身分執行" + }, + "actions": { + "installService": "安裝服務", + "uninstallService": "解除安裝服務" + } + }, + "externalController": { + "title": "外部控制器監聽位址", + "fields": { + "enable": "啟用外部控制器", + "address": "外部控制器監聽位址", + "secret": "API 存取金鑰" + }, + "placeholders": { + "address": "必填", + "secret": "建議設定" + }, + "tooltips": { + "copy": "複製到剪貼簿" + }, + "messages": { + "addressRequired": "控制器位址不能為空", + "secretRequired": "存取金鑰不能為空", + "copyFailed": "複製失敗", + "controllerCopied": "API 連接埠已複製到剪貼簿", + "secretCopied": "API 金鑰已複製到剪貼簿" + } + }, + "externalCors": { + "title": "外部跨來源資源共享設定", + "fields": { + "allowPrivateNetwork": "允許專用網路存取", + "allowedOrigins": "允許的來源" + }, + "placeholders": { + "origin": "請輸入有效的網址" + }, + "actions": { + "add": "新增" + }, + "messages": { + "alwaysIncluded": "始終包含來源:{{urls}}" + }, + "tooltips": { + "open": "外部跨來源資源共享設定" + } + }, + "clash": { + "title": "Clash 設定", + "items": { + "allowLan": "區域網路連線", + "dnsOverwrite": "DNS 覆寫", + "ipv6": "IPv6", + "unifiedDelay": "統一延遲", + "logLevel": "日誌等級", + "portConfig": "連接埠設定", + "external": "外部控制", + "webUI": "網頁介面", + "clashCore": "Clash 內核", + "openUwpTool": "UWP 工具", + "updateGeoData": "更新 GeoData" + }, + "tooltips": { + "networkInterface": "網路介面", + "unifiedDelay": "開啟統一延遲時,會進行兩次延遲測試,以消除連線握手等帶來的不同類型節點的延遲差異", + "logLevel": "僅對日誌目錄 Service 資料夾下的內核日誌檔案生效", + "openUwpTool": "Windows 8 開始限制 UWP 應用程式(如Microsoft Store)直接存取本機主機的網路服務,使用此工具可繞過該限制" + }, + "options": { + "logLevel": { + "debug": "Debug", + "info": "Info", + "warning": "Warn", + "error": "Error", + "silent": "Silent" + } + }, + "messages": { + "geoDataUpdated": "已更新 GeoData" + }, + "port": { + "title": "連接埠設定", + "fields": { + "mixed": "混合代理連接埠", + "socks": "SOCKS 代理連接埠", + "http": "HTTP(S) 代理連接埠", + "redir": "Redir 透明代理連接埠", + "tproxy": "Tproxy Port" + }, + "actions": { + "random": "隨機連接埠" + }, + "messages": { + "saved": "連結埠設定已儲存", + "saveFailed": "連結埠設定儲存失敗" + } + } + }, + "liteMode": { + "title": "輕量模式設定", + "actions": { + "enterNow": "立即進入輕量模式" + }, + "toggles": { + "autoEnter": "自動進入輕量模式" + }, + "tooltips": { + "autoEnter": "啟用後,將在視窗關閉一段時間後自動啟用輕量模式" + }, + "fields": { + "delay": "自動進入輕量模式延遲" + }, + "messages": { + "autoEnterHint": "關閉視窗後,輕量模式將在 {{n}} 分鐘後自動啟用" + } + }, + "backup": { + "title": "備份設定", + "tabs": { + "local": "本機備份", + "webdav": "WebDAV 備份" + }, + "actions": { + "selectTarget": "選擇備份目標", + "backup": "備份", + "refresh": "重整", + "save": "儲存", + "export": "匯出", + "exportBackup": "匯出備份", + "delete": "刪除", + "deleteBackup": "刪除備份", + "restore": "還原", + "restoreBackup": "還原備份" + }, + "fields": { + "webdavUrl": "WebDAV 伺服器位址 http(s)://", + "username": "使用者名稱", + "password": "密碼", + "info": "在應用程式資料目錄中建立本機備份,您可以透過下方列表進行還原或刪除。" + }, + "messages": { + "webdavUrlRequired": "WebDAV 伺服器位址不能為空", + "invalidWebdavUrl": "無效的 WebDAV 伺服器位址格式", + "usernameRequired": "使用者名稱不能為空", + "passwordRequired": "密碼不能為空", + "webdavConfigSaved": "WebDAV 配置儲存成功", + "webdavConfigSaveFailed": "儲存 WebDAV 配置失敗: {{error}}", + "backupCreated": "備份建立成功", + "backupFailed": "備份失敗: {{error}}", + "localBackupCreated": "本機備份建立成功", + "localBackupFailed": "本機備份失敗", + "restoreSuccess": "還原成功,應用程式將在 1 秒後重啟", + "localBackupExported": "本機備份匯出成功", + "localBackupExportFailed": "本機備份匯出失敗", + "confirmDelete": "確認是否刪除此備份檔案嗎?", + "confirmRestore": "確認還原此份檔案嗎?" + }, + "table": { + "filename": "檔案名稱", + "backupTime": "備份時間", + "actions": "動作", + "noBackups": "暫無備份", + "rowsPerPage": "Rows per page" + } + }, + "verge": { + "basic": { + "title": "Verge 基礎設定", + "items": { + "language": "語言設定", + "themeMode": "主題模式", + "trayClickEvent": "系統匣點擊事件", + "copyEnvType": "複製環境變數類型", + "startPage": "啟動頁面", + "startupScript": "啟動指令碼", + "themeSetting": "主題設定", + "layoutSetting": "介面設定", + "misc": "雜項設定", + "hotkeySetting": "快速鍵設定" + }, + "actions": { + "browse": "瀏覽", + "clear": "清除" + }, + "trayOptions": { + "showMainWindow": "顯示主視窗", + "showTrayMenu": "顯示系統匣選單", + "disable": "停用" + } + }, + "advanced": { + "title": "Verge 進階設定", + "items": { + "backupSetting": "備份設定", + "runtimeConfig": "執行期設定", + "openConfDir": "配置目錄", + "openCoreDir": "內核目錄", + "openLogsDir": "日誌目錄", + "checkUpdates": "檢查更新", + "openDevTools": "開發人員工具", + "liteModeSettings": "輕量模式設定", + "exit": "離開", + "exportDiagnostics": "匯出診斷資訊", + "vergeVersion": "Verge 版本" + }, + "tooltips": { + "backupInfo": "支援本機或 WebDAV 方式備份配置檔案", + "openConfDir": "如果軟體執行異常,!備份!並刪除此資料夾下的所有檔案,重新啟動軟體", + "liteMode": "關閉 GUI 介面,僅保留內核執行" + }, + "actions": { + "copyVersion": "複製Verge版本號" + }, + "notifications": { + "latestVersion": "目前已是最新版本", + "versionCopied": "Verge版本已複製到剪貼簿" + } + }, + "theme": { + "title": "主題設定", + "fields": { + "primaryColor": "主要顏色", + "secondaryColor": "次要顏色", + "primaryText": "文字主要顏色", + "secondaryText": "文字次要顏色", + "infoColor": "資訊顏色", + "warningColor": "警告顏色", + "errorColor": "錯誤顏色", + "successColor": "成功顏色", + "fontFamily": "字型系列", + "cssInjection": "CSS 注入" + }, + "actions": { + "editCss": "Edit CSS" + }, + "dialogs": { + "editCssTitle": "Edit CSS" + } + }, + "layout": { + "title": "介面設定", + "fields": { + "preferSystemTitlebar": "優先使用系統標題欄", + "trafficGraph": "流量圖表", + "memoryUsage": "內核佔用", + "proxyGroupIcon": "代理組圖示", + "hoverNavigator": "懸浮跳轉導航", + "hoverNavigatorDelay": "懸浮跳轉導航延遲", + "navIcon": "導覽列圖示", + "trayIcon": "系統匣圖示", + "showProxyGroupsInline": "將代理組顯示在系統匣一級選單", + "commonTrayIcon": "一般系統匣圖示", + "systemProxyTrayIcon": "系統代理系統匣圖示", + "tunTrayIcon": "虛擬網路介面卡模式系統匣圖示" + }, + "tooltips": { + "hoverNavigator": "滑鼠懸停在字母上時自動捲動到對應代理組", + "hoverNavigatorDelay": "滑鼠懸停後觸發自動跳轉前等待的毫秒數" + }, + "options": { + "icon": { + "monochrome": "單色圖示", + "colorful": "彩色圖示", + "disable": "停用" + } + } + } + }, + "common": { + "notifications": { + "copySuccess": "複製成功" + } + }, + "misc": { + "title": "雜項設定", + "fields": { + "appLogLevel": "應用程式日誌等級", + "appLogMaxSize": "應用程式日誌最大大小", + "appLogMaxCount": "應用程式日誌最大數量", + "autoCloseConnections": "自動關閉連線", + "autoCheckUpdate": "自動檢查更新", + "enableBuiltinEnhanced": "內建增強功能", + "proxyLayoutColumns": "代理頁面欄數", + "autoLogClean": "自動清理日誌", + "autoDelayDetection": "自動延遲偵測", + "defaultLatencyTest": "預設測試網址", + "defaultLatencyTimeout": "測試逾時" + }, + "tooltips": { + "autoCloseConnections": "當代理組選中節點或代理模式變動時,關閉已建立的連線", + "enableBuiltinEnhanced": "配置檔案的相容性處理", + "autoDelayDetection": "在背景定時偵測目前節點延遲", + "defaultLatencyTest": "僅用於 HTTP 客戶端請求測試,不會對配置檔案產生影響" + }, + "options": { + "proxyLayoutColumns": { + "auto": "自動欄數" + }, + "autoLogClean": { + "never": "不清理", + "retainDays": "保留 {{n}} 天" + } + } + }, + "update": { + "title": "New Version v{{version}}", + "actions": { + "goToRelease": "前往發佈頁面", + "update": "更新" + }, + "messages": { + "portableError": "可攜式版不支援應用程式內更新,請手動下載替換", + "breakChangeError": "此版本為重大更新,不支援應用程式內更新,請解除安裝後手動下載安裝" + } + }, + "sysproxy": { + "title": "系統代理設定", + "fieldsets": { + "currentStatus": "目前系統代理" + }, + "fields": { + "enableStatus": "啟用狀態:", + "serverAddr": "服務位址:", + "pacUrl": "PAC 位址:", + "proxyHost": "代理主機", + "usePacMode": "使用 PAC 模式", + "proxyGuard": "系統代理守護", + "guardDuration": "代理守護間隔", + "alwaysUseDefaultBypass": "始終使用預設繞過", + "proxyBypass": "代理繞過設定:", + "bypass": "目前繞過:", + "pacScriptContent": "PAC 指令碼內容" + }, + "tooltips": { + "proxyGuard": "開啟以防止其他軟體修改作業系統的代理設定" + }, + "messages": { + "durationTooShort": "代理守護間隔時間不得低於 1 秒", + "invalidBypass": "無效的代理繞過格式", + "invalidProxyHost": "代理主機格式無效" + }, + "actions": { + "editPac": "編輯 PAC" + } + }, + "tun": { + "title": "虛擬網路介面卡模式", + "actions": { + "reset": "重設為預設值" + }, + "fields": { + "stack": "虛擬網路介面卡模式堆疊", + "device": "Device Name", + "autoRoute": "自動設定全域路由", + "strictRoute": "嚴格路由", + "autoDetectInterface": "自動偵測流量輸出介面", + "dnsHijack": "DNS 綁架", + "mtu": "最大傳輸單位" + }, + "tooltips": { + "dnsHijack": "Please use , to separate multiple DNS servers" + }, + "messages": { + "applied": "設定已套用" + } + }, + "dns": { + "dialog": { + "title": "DNS 覆寫", + "warning": "如果你不清楚這裡的設定請不要修改,並保持 DNS 覆寫開啟" + }, + "sections": { + "general": "DNS 設定", + "fallbackFilter": "備援篩選設定", + "hosts": "Hosts 設定" + }, + "fields": { + "enable": "啟用 DNS", + "listen": "DNS 監聽位址", + "enhancedMode": "增強模式", + "fakeIpRange": "Fake IP 範圍", + "fakeIpFilterMode": "Fake IP 篩選模式", + "ipv6": { + "label": "IPv6", + "description": "啟用 IPv6 DNS 解析" + }, + "preferH3": { + "label": "優先使用 HTTP/3", + "description": "DNS DOH 使用 HTTP/3 協定" + }, + "respectRules": { + "label": "遵循路由規則", + "description": "DNS 連線遵循路由規則" + }, + "useHosts": { + "label": "使用 Hosts", + "description": "啟用透過 hosts 檔案解析網域" + }, + "useSystemHosts": { + "label": "使用系統 Hosts", + "description": "啟用透過系統 hosts 檔案解析網域" + }, + "directPolicy": { + "label": "直連域名伺服器遵循策略", + "description": "是否遵循 nameserver-policy 設定" + }, + "defaultNameserver": { + "label": "預設域名伺服器", + "description": "用於解析 DNS 伺服器的預設 DNS 伺服器" + }, + "nameserver": { + "label": "域名伺服器", + "description": "DNS 伺服器列表,用逗號分隔" + }, + "fallback": { + "label": "備援伺服器", + "description": "備援 DNS 伺服器列表,用逗號分隔" + }, + "proxy": { + "label": "代理節點 DNS", + "description": "代理節點網域解析伺服器,僅用於解析代理節點的網域,用逗號分隔" + }, + "directNameserver": { + "label": "直連域名伺服器", + "description": "直連輸出網域解析伺服器,支援 system 關鍵字,用逗號分隔" + }, + "fakeIpFilter": { + "label": "Fake IP 篩選", + "description": "跳過 Fake IP 解析的網域,用逗號分隔" + }, + "nameserverPolicy": { + "label": "域名伺服器策略", + "description": "特定網域的 DNS 伺服器,多個伺服器使用分號分隔,格式: domain=server1;server2" + }, + "geoipFiltering": { + "label": "GeoIP 篩選", + "description": "啟用 GeoIP 備援篩選" + }, + "geoipCode": "GeoIP 國家代碼", + "fallbackIpCidr": { + "label": "備援 IP CIDR", + "description": "不使用備援伺服器的 IP CIDR,用逗號分隔" + }, + "fallbackDomain": { + "label": "備援網域", + "description": "使用備援伺服器的網域,用逗號分隔" + }, + "hosts": { + "label": "Hosts", + "description": "自訂網域到 IP 或網域的映射,用逗號分隔" + } + }, + "messages": { + "saved": "DNS 設定已儲存", + "configError": "DNS 設定錯誤:" + }, + "errors": { + "invalid": "Invalid configuration" + } + }, + "page": { + "title": "設定", + "actions": { + "manual": "使用手冊", + "telegram": "Telegram 頻道", + "github": "GitHub 專案位址" + } + } + }, + "providers": { + "notices": { + "updateSuccess": "{{name}} updated successfully", + "updateFailed": "Failed to update {{name}}: {{message}}", + "genericError": "Update failed: {{message}}", + "none": "No providers available to update", + "allUpdated": "All providers updated successfully" + } + }, + "test": { + "item": { + "actions": { + "test": "測試" + } + }, + "viewer": { + "title": { + "create": "新增測試", + "edit": "編輯測試" + }, + "fields": { + "url": "測試網址" + } + }, + "page": { + "title": "測試", + "actions": { + "testAll": "測試全部", + "new": "新增" + } + } + }, + "proxies": { + "page": { + "title": { + "default": "代理組", + "chainMode": "鏈式代理模式" + }, + "actions": { + "toggleChain": "🔗 鏈式代理", + "connect": "連線", + "disconnect": "中斷", + "connecting": "連線中...", + "clearChainConfig": "刪除鏈式設定" + }, + "provider": { + "title": "代理集合", + "actions": { + "updateAll": "全部更新", + "update": "更新" + } + }, + "rules": { + "title": "代理規則", + "select": "選擇規則" + }, + "labels": { + "proxyCount": "節點數量", + "delayCheckReset": "測試延遲以取消固定" + }, + "tooltips": { + "locate": "目前節點", + "delayCheck": "延遲測試", + "sortDefault": "預設排序", + "sortDelay": "按延遲排序", + "sortName": "按名稱排序", + "delayCheckUrl": "延遲測試網址", + "showBasic": "隱藏節點細節", + "showDetail": "展示節點細節", + "filter": "篩選節點" + }, + "placeholders": { + "filter": "篩選條件", + "delayCheckUrl": "延遲測試網址" + }, + "chain": { + "header": "鏈式代理設定", + "empty": "暫無鏈式代理設定", + "instruction": "依序點擊節點新增到鏈式代理中", + "minimumNodes": "鏈式代理至少需要 2 個節點", + "minimumNodesHint": "鏈式代理至少需要 2 個節點,請再新增一個節點。", + "connectFailed": "連線鏈式代理失敗", + "disconnectFailed": "中斷鏈式代理失敗", + "duplicateNode": "該節點已在鏈式代理表中" + } + } + }, + "rules": { + "page": { + "title": "規則", + "provider": { + "trigger": "規則集合", + "dialogTitle": "規則集合", + "actions": { + "updateAll": "全部更新", + "update": "更新" + } + } + } + }, + "profiles": { + "page": { + "title": "訂閱", + "actions": { + "updateAll": "更新所有訂閱", + "viewRuntimeConfig": "查看執行時訂閱", + "reactivate": "重新啟用訂閱", + "import": "匯入", + "new": "新增" + }, + "batch": { + "title": "批次操作", + "delete": "刪除選取訂閱", + "selectAll": "全選", + "deselectAll": "取消選取", + "done": "完成", + "selected": "已選取", + "items": "項目" + }, + "import": { + "placeholder": "訂閱檔網址", + "paste": "貼上", + "clear": "清除" + }, + "errors": { + "invalidUrl": "無效的訂閱網址,請輸入以 http:// 或 https:// 開頭的位址", + "onlyYaml": "僅支援 YAML 檔案" + }, + "notifications": { + "importRetry": "訂閱匯入失敗,嘗試使用 Clash 代理匯入", + "importFail": "使用 Clash 代理匯入訂閱也失敗", + "importNeedsRefresh": "Profile imported but may need manual refresh", + "importSuccess": "Profile imported successfully, please restart if not visible", + "profileSwitched": "訂閱已切換", + "profileReactivated": "訂閱已啟用", + "switchInterrupted": "配置切換被新的選擇中斷", + "batchDeleted": "選取的訂閱已成功刪除" + }, + "notices": { + "forceRefreshCompleted": "Force refresh completed", + "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" + } + } + }, + "connections": { + "page": { + "title": "連線", + "summary": { + "downloaded": "下載量", + "uploaded": "上傳量" + }, + "actions": { + "listView": "列表檢視", + "tableView": "表格檢視", + "pause": "暫停", + "resume": "繼續", + "closeAll": "關閉全部" + } + } + }, + "logs": { + "page": { + "title": "日誌", + "actions": { + "pause": "暫停", + "resume": "繼續", + "clear": "清除" + }, + "filters": { + "all": "ALL", + "debug": "DEBUG", + "info": "INFO", + "warn": "WARN", + "error": "ERROR" + } + } + }, + "unlock": { + "page": { + "title": "解鎖測試", + "actions": { + "testing": "測試中..." + }, + "empty": "目前沒有解鎖測試項目" + } } } diff --git a/src/pages/connections.tsx b/src/pages/connections.tsx index 89f2b6f4..46256366 100644 --- a/src/pages/connections.tsx +++ b/src/pages/connections.tsx @@ -36,7 +36,7 @@ type OrderFunc = (list: IConnectionsItem[]) => IConnectionsItem[]; const ORDER_OPTIONS = [ { id: "default", - labelKey: "components.connection.order.default", + labelKey: "connection.order.default", fn: (list: IConnectionsItem[]) => list.sort( (a, b) => @@ -46,13 +46,13 @@ const ORDER_OPTIONS = [ }, { id: "uploadSpeed", - labelKey: "components.connection.order.uploadSpeed", + labelKey: "connection.order.uploadSpeed", fn: (list: IConnectionsItem[]) => list.sort((a, b) => b.curUpload! - a.curUpload!), }, { id: "downloadSpeed", - labelKey: "components.connection.order.downloadSpeed", + labelKey: "connection.order.downloadSpeed", fn: (list: IConnectionsItem[]) => list.sort((a, b) => b.curDownload! - a.curDownload!), }, @@ -150,7 +150,7 @@ const ConnectionsPage = () => { full title={ - {t("pages.connections.title")} + {t("connections.page.title")} } contentStyle={{ @@ -163,11 +163,11 @@ const ConnectionsPage = () => { header={ - {t("pages.connections.summary.downloaded")}:{" "} + {t("connections.page.summary.downloaded")}:{" "} {parseTraffic(displayData.downloadTotal)} - {t("pages.connections.summary.uploaded")}:{" "} + {t("connections.page.summary.uploaded")}:{" "} {parseTraffic(displayData.uploadTotal)} { > {isTableLayout ? ( ) : ( )} @@ -197,8 +197,8 @@ const ConnectionsPage = () => { onClick={handlePauseToggle} title={ isPaused - ? t("pages.connections.actions.resume") - : t("pages.connections.actions.pause") + ? t("connections.page.actions.resume") + : t("connections.page.actions.pause") } > {isPaused ? ( @@ -209,7 +209,7 @@ const ConnectionsPage = () => { diff --git a/src/pages/home.tsx b/src/pages/home.tsx index eb81c873..fbf259d6 100644 --- a/src/pages/home.tsx +++ b/src/pages/home.tsx @@ -112,7 +112,7 @@ const HomeSettingsDialog = ({ return ( - {t("pages.home.settings.title")} + {t("home.page.settings.title")} handleToggle("profile")} /> } - label={t("pages.home.settings.cards.profile")} + label={t("home.page.settings.cards.profile")} /> handleToggle("proxy")} /> } - label={t("pages.home.settings.cards.currentProxy")} + label={t("home.page.settings.cards.currentProxy")} /> handleToggle("network")} /> } - label={t("pages.home.settings.cards.network")} + label={t("home.page.settings.cards.network")} /> handleToggle("mode")} /> } - label={t("pages.home.settings.cards.proxyMode")} + label={t("home.page.settings.cards.proxyMode")} /> handleToggle("traffic")} /> } - label={t("pages.home.settings.cards.traffic")} + label={t("home.page.settings.cards.traffic")} /> handleToggle("test")} /> } - label={t("pages.home.settings.cards.tests")} + label={t("home.page.settings.cards.tests")} /> handleToggle("ip")} /> } - label={t("pages.home.settings.cards.ip")} + label={t("home.page.settings.cards.ip")} /> handleToggle("clashinfo")} /> } - label={t("pages.home.settings.cards.clashInfo")} + label={t("home.page.settings.cards.clashInfo")} /> handleToggle("systeminfo")} /> } - label={t("pages.home.settings.cards.systemInfo")} + label={t("home.page.settings.cards.systemInfo")} /> @@ -323,7 +323,7 @@ const HomePage = () => { renderCard( "traffic", } iconColor="secondary" > @@ -364,11 +364,11 @@ const HomePage = () => { ); return ( - + await entry_lightweight_mode()} size="small" @@ -377,12 +377,12 @@ const HomePage = () => { - + - + @@ -413,7 +413,7 @@ const NetworkSettingsCard = () => { const { t } = useTranslation(); return ( } iconColor="primary" action={null} @@ -428,7 +428,7 @@ const ClashModeEnhancedCard = () => { const { t } = useTranslation(); return ( } iconColor="info" action={null} diff --git a/src/pages/logs.tsx b/src/pages/logs.tsx index 9546b655..efb30f3e 100644 --- a/src/pages/logs.tsx +++ b/src/pages/logs.tsx @@ -60,7 +60,7 @@ const LogPage = () => { return ( { { refreshGetClashLog(true); }} > - {t("pages.logs.actions.clear")} + {t("logs.page.actions.clear")} } @@ -117,11 +117,11 @@ const LogPage = () => { value={logState} onChange={(e) => handleLogLevelChange(e.target.value as LogFilter)} > - {t("pages.logs.filters.all")} - {t("pages.logs.filters.debug")} - {t("pages.logs.filters.info")} - {t("pages.logs.filters.warn")} - {t("pages.logs.filters.error")} + {t("logs.page.filters.all")} + {t("logs.page.filters.debug")} + {t("logs.page.filters.info")} + {t("logs.page.filters.warn")} + {t("logs.page.filters.error")} { diff --git a/src/pages/profiles.tsx b/src/pages/profiles.tsx index 9e17de32..4e90cdc3 100644 --- a/src/pages/profiles.tsx +++ b/src/pages/profiles.tsx @@ -146,7 +146,7 @@ const ProfilePage = () => { setActivatings((prev) => prev.filter((id) => id !== previousSwitching)); showNotice.info( - "pages.profiles.notifications.switchInterrupted", + "profiles.page.notifications.switchInterrupted", `${previousSwitching} → ${newProfile}`, 3000, ); @@ -191,7 +191,7 @@ const ProfilePage = () => { for (const file of paths) { if (!file.endsWith(".yaml") && !file.endsWith(".yml")) { - showNotice.error("pages.profiles.errors.onlyYaml"); + showNotice.error("profiles.page.errors.onlyYaml"); continue; } const item = { @@ -239,11 +239,11 @@ const ProfilePage = () => { await new Promise((resolve) => setTimeout(resolve, 500)); await onEnhance(false); - showNotice.success("pages.profiles.notices.forceRefreshCompleted", 2000); + showNotice.success("profiles.page.notices.forceRefreshCompleted", 2000); } catch (error) { console.error("[紧急刷新] 失败:", error); showNotice.error( - "pages.profiles.notices.emergencyRefreshFailed", + "profiles.page.notices.emergencyRefreshFailed", { message: String(error) }, 4000, ); @@ -275,7 +275,7 @@ const ProfilePage = () => { if (!url) return; // 校验url是否为http/https if (!/^https?:\/\//i.test(url)) { - showNotice.error("pages.profiles.errors.invalidUrl"); + showNotice.error("profiles.page.errors.invalidUrl"); return; } setLoading(true); @@ -293,7 +293,7 @@ const ProfilePage = () => { } catch (initialErr) { console.warn("[订阅导入] 首次导入失败:", initialErr); - showNotice.info("pages.profiles.notifications.importRetry"); + showNotice.info("profiles.page.notifications.importRetry"); try { // 使用自身代理尝试导入 await importProfile(url, { @@ -304,7 +304,7 @@ const ProfilePage = () => { } catch (retryErr) { // 回退导入也失败 showNotice.error( - "pages.profiles.notifications.importFail", + "profiles.page.notifications.importFail", String(retryErr), ); } @@ -352,10 +352,10 @@ const ProfilePage = () => { // 清除SWR缓存并重新获取 await mutate("getProfiles", getProfiles(), { revalidate: true }); await onEnhance(false); - showNotice.error("pages.profiles.notifications.importNeedsRefresh", 3000); + showNotice.error("profiles.page.notifications.importNeedsRefresh", 3000); } catch (finalError) { console.error(`[导入刷新] 最终刷新尝试失败:`, finalError); - showNotice.error("pages.profiles.notifications.importSuccess", 5000); + showNotice.error("profiles.page.notifications.importSuccess", 5000); } }; @@ -473,7 +473,7 @@ const ProfilePage = () => { if (notifySuccess && success) { showNotice.success( - "pages.profiles.notifications.profileSwitched", + "profiles.page.notifications.profileSwitched", 1000, ); } @@ -572,7 +572,7 @@ const ProfilePage = () => { mutateLogs(); if (notifySuccess) { showNotice.success( - "pages.profiles.notifications.profileReactivated", + "profiles.page.notifications.profileReactivated", 1000, ); } @@ -713,7 +713,7 @@ const ProfilePage = () => { setSelectedProfiles(new Set()); setBatchMode(false); - showNotice.success("pages.profiles.notifications.batchDeleted"); + showNotice.success("profiles.page.notifications.batchDeleted"); } catch (err: any) { showNotice.error(err); } finally { @@ -793,7 +793,7 @@ const ProfilePage = () => { return ( @@ -803,7 +803,7 @@ const ProfilePage = () => { @@ -812,7 +812,7 @@ const ProfilePage = () => { @@ -821,7 +821,7 @@ const ProfilePage = () => { configRef.current?.open()} > @@ -830,7 +830,7 @@ const ProfilePage = () => { onEnhance(true)} > @@ -864,8 +864,8 @@ const ProfilePage = () => { color="inherit" title={ isAllSelected() - ? t("pages.profiles.batch.deselectAll") - : t("pages.profiles.batch.selectAll") + ? t("profiles.page.batch.deselectAll") + : t("profiles.page.batch.selectAll") } onClick={ isAllSelected() ? clearAllSelections : selectAllProfiles @@ -882,20 +882,20 @@ const ProfilePage = () => { - {t("pages.profiles.batch.selected")} {selectedProfiles.size}{" "} - {t("pages.profiles.batch.items")} + {t("profiles.page.batch.selected")} {selectedProfiles.size}{" "} + {t("profiles.page.batch.items")} )} @@ -928,7 +928,7 @@ const ProfilePage = () => { event.preventDefault(); void onImport(); }} - placeholder={t("pages.profiles.import.placeholder")} + placeholder={t("profiles.page.import.placeholder")} slotProps={{ input: { sx: { pr: 1 }, @@ -936,7 +936,7 @@ const ProfilePage = () => { @@ -945,7 +945,7 @@ const ProfilePage = () => { setUrl("")} > @@ -962,7 +962,7 @@ const ProfilePage = () => { sx={{ borderRadius: "6px" }} onClick={onImport} > - {t("pages.profiles.actions.import")} + {t("profiles.page.actions.import")} diff --git a/src/pages/proxies.tsx b/src/pages/proxies.tsx index 02016e19..29b630f6 100644 --- a/src/pages/proxies.tsx +++ b/src/pages/proxies.tsx @@ -142,8 +142,8 @@ const ProxyPage = () => { contentStyle={{ height: "101.5%" }} title={ isChainMode - ? t("pages.proxies.title.chainMode") - : t("pages.proxies.title.default") + ? t("proxies.page.title.chainMode") + : t("proxies.page.title.default") } header={ @@ -157,7 +157,7 @@ const ProxyPage = () => { onClick={() => onChangeMode(mode)} sx={{ textTransform: "capitalize" }} > - {t(`pages.proxies.modes.${mode}`)} + {t(`proxies.page.modes.${mode}`)} ))} @@ -168,7 +168,7 @@ const ProxyPage = () => { onClick={onToggleChainMode} sx={{ ml: 1 }} > - {t("pages.proxies.actions.toggleChain")} + {t("proxies.page.actions.toggleChain")} } diff --git a/src/pages/rules.tsx b/src/pages/rules.tsx index 5cb23a67..66e7a569 100644 --- a/src/pages/rules.tsx +++ b/src/pages/rules.tsx @@ -48,7 +48,7 @@ const RulesPage = () => { return ( { return ( @@ -50,7 +50,7 @@ const SettingPage = () => { @@ -59,7 +59,7 @@ const SettingPage = () => { diff --git a/src/pages/test.tsx b/src/pages/test.tsx index 501ab38d..514589b0 100644 --- a/src/pages/test.tsx +++ b/src/pages/test.tsx @@ -141,7 +141,7 @@ const TestPage = () => { return ( } diff --git a/src/pages/unlock.tsx b/src/pages/unlock.tsx index 3f07020b..4bc0cd20 100644 --- a/src/pages/unlock.tsx +++ b/src/pages/unlock.tsx @@ -250,7 +250,7 @@ const UnlockPage = () => { return ( } @@ -282,7 +282,7 @@ const UnlockPage = () => { height: "50%", }} > - + ) : ( @@ -324,7 +324,7 @@ const UnlockPage = () => { > {item.name} - +