refactor(i18n): unify two-name locale namespaces
This commit is contained in:
@@ -68,50 +68,50 @@ const InnerConnectionDetail = ({ data, onClose }: InnerProps) => {
|
||||
: metadata.remoteDestination;
|
||||
|
||||
const information = [
|
||||
{ label: t("connection.fields.host"), value: host },
|
||||
{ label: t("connections.fields.host"), value: host },
|
||||
{
|
||||
label: t("connection.fields.downloaded"),
|
||||
label: t("connections.fields.downloaded"),
|
||||
value: parseTraffic(data.download).join(" "),
|
||||
},
|
||||
{
|
||||
label: t("connection.fields.uploaded"),
|
||||
label: t("connections.fields.uploaded"),
|
||||
value: parseTraffic(data.upload).join(" "),
|
||||
},
|
||||
{
|
||||
label: t("connection.fields.dlSpeed"),
|
||||
label: t("connections.fields.dlSpeed"),
|
||||
value: parseTraffic(data.curDownload ?? -1).join(" ") + "/s",
|
||||
},
|
||||
{
|
||||
label: t("connection.fields.ulSpeed"),
|
||||
label: t("connections.fields.ulSpeed"),
|
||||
value: parseTraffic(data.curUpload ?? -1).join(" ") + "/s",
|
||||
},
|
||||
{
|
||||
label: t("connection.fields.chains"),
|
||||
label: t("connections.fields.chains"),
|
||||
value: chains,
|
||||
},
|
||||
{ label: t("connection.fields.rule"), value: rule },
|
||||
{ label: t("connections.fields.rule"), value: rule },
|
||||
{
|
||||
label: t("connection.fields.process"),
|
||||
label: t("connections.fields.process"),
|
||||
value: `${metadata.process}${metadata.processPath ? `(${metadata.processPath})` : ""}`,
|
||||
},
|
||||
{
|
||||
label: t("connection.fields.time"),
|
||||
label: t("connections.fields.time"),
|
||||
value: dayjs(data.start).fromNow(),
|
||||
},
|
||||
{
|
||||
label: t("connection.fields.source"),
|
||||
label: t("connections.fields.source"),
|
||||
value: `${metadata.sourceIP}:${metadata.sourcePort}`,
|
||||
},
|
||||
{
|
||||
label: t("connection.fields.destination"),
|
||||
label: t("connections.fields.destination"),
|
||||
value: Destination,
|
||||
},
|
||||
{
|
||||
label: t("connection.fields.destinationPort"),
|
||||
label: t("connections.fields.destinationPort"),
|
||||
value: `${metadata.destinationPort}`,
|
||||
},
|
||||
{
|
||||
label: t("connection.fields.type"),
|
||||
label: t("connections.fields.type"),
|
||||
value: `${metadata.type}(${metadata.network})`,
|
||||
},
|
||||
];
|
||||
@@ -137,13 +137,13 @@ const InnerConnectionDetail = ({ data, onClose }: InnerProps) => {
|
||||
<Box sx={{ textAlign: "right" }}>
|
||||
<Button
|
||||
variant="contained"
|
||||
title={t("connection.actions.closeConnection")}
|
||||
title={t("connections.actions.closeConnection")}
|
||||
onClick={() => {
|
||||
onDelete();
|
||||
onClose?.();
|
||||
}}
|
||||
>
|
||||
{t("connection.actions.closeConnection")}
|
||||
{t("connections.actions.closeConnection")}
|
||||
</Button>
|
||||
</Box>
|
||||
</Box>
|
||||
|
||||
@@ -48,8 +48,8 @@ export const ConnectionItem = (props: Props) => {
|
||||
edge="end"
|
||||
color="inherit"
|
||||
onClick={onDelete}
|
||||
title={t("connection.actions.closeConnection")}
|
||||
aria-label={t("connection.actions.closeConnection")}
|
||||
title={t("connections.actions.closeConnection")}
|
||||
aria-label={t("connections.actions.closeConnection")}
|
||||
>
|
||||
<CloseRounded />
|
||||
</IconButton>
|
||||
|
||||
@@ -162,13 +162,13 @@ export const ConnectionTable = (props: Props) => {
|
||||
return [
|
||||
{
|
||||
field: "host",
|
||||
headerName: t("connection.fields.host"),
|
||||
headerName: t("connections.fields.host"),
|
||||
width: columnWidths["host"] || 220,
|
||||
minWidth: 180,
|
||||
},
|
||||
{
|
||||
field: "download",
|
||||
headerName: t("connection.fields.downloaded"),
|
||||
headerName: t("connections.fields.downloaded"),
|
||||
width: columnWidths["download"] || 88,
|
||||
align: "right",
|
||||
headerAlign: "right",
|
||||
@@ -176,7 +176,7 @@ export const ConnectionTable = (props: Props) => {
|
||||
},
|
||||
{
|
||||
field: "upload",
|
||||
headerName: t("connection.fields.uploaded"),
|
||||
headerName: t("connections.fields.uploaded"),
|
||||
width: columnWidths["upload"] || 88,
|
||||
align: "right",
|
||||
headerAlign: "right",
|
||||
@@ -184,7 +184,7 @@ export const ConnectionTable = (props: Props) => {
|
||||
},
|
||||
{
|
||||
field: "dlSpeed",
|
||||
headerName: t("connection.fields.dlSpeed"),
|
||||
headerName: t("connections.fields.dlSpeed"),
|
||||
width: columnWidths["dlSpeed"] || 88,
|
||||
align: "right",
|
||||
headerAlign: "right",
|
||||
@@ -192,7 +192,7 @@ export const ConnectionTable = (props: Props) => {
|
||||
},
|
||||
{
|
||||
field: "ulSpeed",
|
||||
headerName: t("connection.fields.ulSpeed"),
|
||||
headerName: t("connections.fields.ulSpeed"),
|
||||
width: columnWidths["ulSpeed"] || 88,
|
||||
align: "right",
|
||||
headerAlign: "right",
|
||||
@@ -200,25 +200,25 @@ export const ConnectionTable = (props: Props) => {
|
||||
},
|
||||
{
|
||||
field: "chains",
|
||||
headerName: t("connection.fields.chains"),
|
||||
headerName: t("connections.fields.chains"),
|
||||
width: columnWidths["chains"] || 340,
|
||||
minWidth: 180,
|
||||
},
|
||||
{
|
||||
field: "rule",
|
||||
headerName: t("connection.fields.rule"),
|
||||
headerName: t("connections.fields.rule"),
|
||||
width: columnWidths["rule"] || 280,
|
||||
minWidth: 180,
|
||||
},
|
||||
{
|
||||
field: "process",
|
||||
headerName: t("connection.fields.process"),
|
||||
headerName: t("connections.fields.process"),
|
||||
width: columnWidths["process"] || 220,
|
||||
minWidth: 180,
|
||||
},
|
||||
{
|
||||
field: "time",
|
||||
headerName: t("connection.fields.time"),
|
||||
headerName: t("connections.fields.time"),
|
||||
width: columnWidths["time"] || 120,
|
||||
minWidth: 100,
|
||||
align: "right",
|
||||
@@ -229,19 +229,19 @@ export const ConnectionTable = (props: Props) => {
|
||||
},
|
||||
{
|
||||
field: "source",
|
||||
headerName: t("connection.fields.source"),
|
||||
headerName: t("connections.fields.source"),
|
||||
width: columnWidths["source"] || 200,
|
||||
minWidth: 130,
|
||||
},
|
||||
{
|
||||
field: "remoteDestination",
|
||||
headerName: t("connection.fields.destination"),
|
||||
headerName: t("connections.fields.destination"),
|
||||
width: columnWidths["remoteDestination"] || 200,
|
||||
minWidth: 130,
|
||||
},
|
||||
{
|
||||
field: "type",
|
||||
headerName: t("connection.fields.type"),
|
||||
headerName: t("connections.fields.type"),
|
||||
width: columnWidths["type"] || 160,
|
||||
minWidth: 100,
|
||||
},
|
||||
|
||||
@@ -97,7 +97,7 @@ export const EditorViewer = <T extends Language>(props: Props<T>) => {
|
||||
onClose,
|
||||
} = props;
|
||||
|
||||
const resolvedTitle = title ?? t("profile.menu.editFile");
|
||||
const resolvedTitle = title ?? t("profiles.menu.editFile");
|
||||
const resolvedInitialData = useMemo(
|
||||
() => initialData ?? Promise.resolve(""),
|
||||
[initialData],
|
||||
@@ -203,7 +203,7 @@ export const EditorViewer = <T extends Language>(props: Props<T>) => {
|
||||
mouseWheelZoom: true, // 按住Ctrl滚轮调节缩放比例
|
||||
readOnly: readOnly, // 只读模式
|
||||
readOnlyMessage: {
|
||||
value: t("profile.editor.readOnlyMessage"),
|
||||
value: t("profiles.editor.readOnlyMessage"),
|
||||
}, // 只读模式尝试编辑时的提示信息
|
||||
renderValidationDecorations: "on", // 只读模式下显示校验信息
|
||||
quickSuggestions: {
|
||||
@@ -233,7 +233,7 @@ export const EditorViewer = <T extends Language>(props: Props<T>) => {
|
||||
size="medium"
|
||||
color="inherit"
|
||||
sx={{ display: readOnly ? "none" : "" }}
|
||||
title={t("profile.editor.format")}
|
||||
title={t("profiles.editor.format")}
|
||||
onClick={() =>
|
||||
editorRef.current
|
||||
?.getAction("editor.action.formatDocument")
|
||||
|
||||
@@ -42,7 +42,7 @@ export const FileInput = (props: Props) => {
|
||||
sx={{ flex: "none" }}
|
||||
onClick={() => inputRef.current?.click()}
|
||||
>
|
||||
{t("profile.fileInput.chooseFile")}
|
||||
{t("profiles.fileInput.chooseFile")}
|
||||
</Button>
|
||||
|
||||
<input
|
||||
|
||||
@@ -74,17 +74,17 @@ interface Props {
|
||||
const builtinProxyPolicies = ["DIRECT", "REJECT", "REJECT-DROP", "PASS"];
|
||||
|
||||
const PROXY_STRATEGY_LABEL_KEYS: Record<string, string> = {
|
||||
select: "proxy.strategies.select",
|
||||
"url-test": "proxy.strategies.url-test",
|
||||
fallback: "proxy.strategies.fallback",
|
||||
"load-balance": "proxy.strategies.load-balance",
|
||||
relay: "proxy.strategies.relay",
|
||||
select: "proxies.strategies.select",
|
||||
"url-test": "proxies.strategies.url-test",
|
||||
fallback: "proxies.strategies.fallback",
|
||||
"load-balance": "proxies.strategies.load-balance",
|
||||
relay: "proxies.strategies.relay",
|
||||
};
|
||||
|
||||
const PROXY_POLICY_LABEL_KEYS: Record<string, string> =
|
||||
builtinProxyPolicies.reduce(
|
||||
(acc, policy) => {
|
||||
acc[policy] = `proxy.policies.${policy}`;
|
||||
acc[policy] = `proxies.policies.${policy}`;
|
||||
return acc;
|
||||
},
|
||||
{} as Record<string, string>,
|
||||
@@ -400,7 +400,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
const validateGroup = () => {
|
||||
const group = formIns.getValues();
|
||||
if (group.name === "") {
|
||||
throw new Error(t("profile.groupsEditor.errors.nameRequired"));
|
||||
throw new Error(t("profiles.groupsEditor.errors.nameRequired"));
|
||||
}
|
||||
};
|
||||
|
||||
@@ -415,7 +415,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
}
|
||||
|
||||
await saveProfileFile(property, nextData);
|
||||
showNotice.success("profile.notifications.saved");
|
||||
showNotice.success("profiles.notifications.saved");
|
||||
setPrevData(nextData);
|
||||
onSave?.(prevData, nextData);
|
||||
onClose();
|
||||
@@ -429,7 +429,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
<DialogTitle>
|
||||
{
|
||||
<Box display="flex" justifyContent="space-between">
|
||||
{t("profile.groupsEditor.title")}
|
||||
{t("profiles.groupsEditor.title")}
|
||||
<Box>
|
||||
<Button
|
||||
variant="contained"
|
||||
@@ -470,7 +470,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
render={({ field }) => (
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("profile.groupsEditor.fields.type")}
|
||||
primary={t("profiles.groupsEditor.fields.type")}
|
||||
/>
|
||||
<Autocomplete
|
||||
size="small"
|
||||
@@ -501,7 +501,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
render={({ field }) => (
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("profile.groupsEditor.fields.name")}
|
||||
primary={t("profiles.groupsEditor.fields.name")}
|
||||
/>
|
||||
<TextField
|
||||
autoComplete="new-password"
|
||||
@@ -520,7 +520,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
render={({ field }) => (
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("profile.groupsEditor.fields.icon")}
|
||||
primary={t("profiles.groupsEditor.fields.icon")}
|
||||
/>
|
||||
<TextField
|
||||
autoComplete="new-password"
|
||||
@@ -537,7 +537,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
render={({ field }) => (
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("profile.groupsEditor.fields.proxies")}
|
||||
primary={t("profiles.groupsEditor.fields.proxies")}
|
||||
/>
|
||||
<Autocomplete
|
||||
size="small"
|
||||
@@ -565,7 +565,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
render={({ field }) => (
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("profile.groupsEditor.fields.provider")}
|
||||
primary={t("profiles.groupsEditor.fields.provider")}
|
||||
/>
|
||||
<Autocomplete
|
||||
size="small"
|
||||
@@ -586,7 +586,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t(
|
||||
"profile.groupsEditor.fields.healthCheckUrl",
|
||||
"profiles.groupsEditor.fields.healthCheckUrl",
|
||||
)}
|
||||
/>
|
||||
<TextField
|
||||
@@ -606,7 +606,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t(
|
||||
"profile.groupsEditor.fields.expectedStatus",
|
||||
"profiles.groupsEditor.fields.expectedStatus",
|
||||
)}
|
||||
/>
|
||||
<TextField
|
||||
@@ -627,7 +627,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
render={({ field }) => (
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("profile.groupsEditor.fields.interval")}
|
||||
primary={t("profiles.groupsEditor.fields.interval")}
|
||||
/>
|
||||
<TextField
|
||||
autoComplete="new-password"
|
||||
@@ -657,7 +657,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
render={({ field }) => (
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("profile.groupsEditor.fields.timeout")}
|
||||
primary={t("profiles.groupsEditor.fields.timeout")}
|
||||
/>
|
||||
<TextField
|
||||
autoComplete="new-password"
|
||||
@@ -688,7 +688,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t(
|
||||
"profile.groupsEditor.fields.maxFailedTimes",
|
||||
"profiles.groupsEditor.fields.maxFailedTimes",
|
||||
)}
|
||||
/>
|
||||
<TextField
|
||||
@@ -710,7 +710,9 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
render={({ field }) => (
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("profile.groupsEditor.fields.interfaceName")}
|
||||
primary={t(
|
||||
"profiles.groupsEditor.fields.interfaceName",
|
||||
)}
|
||||
/>
|
||||
<Autocomplete
|
||||
size="small"
|
||||
@@ -729,7 +731,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
render={({ field }) => (
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("profile.groupsEditor.fields.routingMark")}
|
||||
primary={t("profiles.groupsEditor.fields.routingMark")}
|
||||
/>
|
||||
<TextField
|
||||
autoComplete="new-password"
|
||||
@@ -749,7 +751,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
render={({ field }) => (
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("profile.groupsEditor.fields.filter")}
|
||||
primary={t("profiles.groupsEditor.fields.filter")}
|
||||
/>
|
||||
<TextField
|
||||
autoComplete="new-password"
|
||||
@@ -766,7 +768,9 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
render={({ field }) => (
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("profile.groupsEditor.fields.excludeFilter")}
|
||||
primary={t(
|
||||
"profiles.groupsEditor.fields.excludeFilter",
|
||||
)}
|
||||
/>
|
||||
<TextField
|
||||
autoComplete="new-password"
|
||||
@@ -783,7 +787,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
render={({ field }) => (
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("profile.groupsEditor.fields.excludeType")}
|
||||
primary={t("profiles.groupsEditor.fields.excludeType")}
|
||||
/>
|
||||
<Autocomplete
|
||||
multiple
|
||||
@@ -831,7 +835,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
render={({ field }) => (
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("profile.groupsEditor.fields.includeAll")}
|
||||
primary={t("profiles.groupsEditor.fields.includeAll")}
|
||||
/>
|
||||
<Switch checked={field.value} {...field} />
|
||||
</Item>
|
||||
@@ -844,7 +848,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t(
|
||||
"profile.groupsEditor.fields.includeAllProxies",
|
||||
"profiles.groupsEditor.fields.includeAllProxies",
|
||||
)}
|
||||
/>
|
||||
<Switch checked={field.value} {...field} />
|
||||
@@ -858,7 +862,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t(
|
||||
"profile.groupsEditor.fields.includeAllProviders",
|
||||
"profiles.groupsEditor.fields.includeAllProviders",
|
||||
)}
|
||||
/>
|
||||
<Switch checked={field.value} {...field} />
|
||||
@@ -871,7 +875,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
render={({ field }) => (
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("profile.groupsEditor.toggles.lazy")}
|
||||
primary={t("profiles.groupsEditor.toggles.lazy")}
|
||||
/>
|
||||
<Switch checked={field.value} {...field} />
|
||||
</Item>
|
||||
@@ -883,7 +887,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
render={({ field }) => (
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("profile.groupsEditor.toggles.disableUdp")}
|
||||
primary={t("profiles.groupsEditor.toggles.disableUdp")}
|
||||
/>
|
||||
<Switch checked={field.value} {...field} />
|
||||
</Item>
|
||||
@@ -895,7 +899,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
render={({ field }) => (
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("profile.groupsEditor.toggles.hidden")}
|
||||
primary={t("profiles.groupsEditor.toggles.hidden")}
|
||||
/>
|
||||
<Switch checked={field.value} {...field} />
|
||||
</Item>
|
||||
@@ -913,7 +917,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
for (const item of [...prependSeq, ...groupList]) {
|
||||
if (item.name === formIns.getValues().name) {
|
||||
throw new Error(
|
||||
t("profile.groupsEditor.errors.nameExists"),
|
||||
t("profiles.groupsEditor.errors.nameExists"),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -923,7 +927,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
}
|
||||
}}
|
||||
>
|
||||
{t("profile.groupsEditor.actions.prepend")}
|
||||
{t("profiles.groupsEditor.actions.prepend")}
|
||||
</Button>
|
||||
</Item>
|
||||
<Item>
|
||||
@@ -937,7 +941,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
for (const item of [...appendSeq, ...groupList]) {
|
||||
if (item.name === formIns.getValues().name) {
|
||||
throw new Error(
|
||||
t("profile.groupsEditor.errors.nameExists"),
|
||||
t("profiles.groupsEditor.errors.nameExists"),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -947,7 +951,7 @@ export const GroupsEditorViewer = (props: Props) => {
|
||||
}
|
||||
}}
|
||||
>
|
||||
{t("profile.groupsEditor.actions.append")}
|
||||
{t("profiles.groupsEditor.actions.append")}
|
||||
</Button>
|
||||
</Item>
|
||||
</List>
|
||||
|
||||
@@ -26,7 +26,7 @@ export const LogViewer = (props: Props) => {
|
||||
|
||||
return (
|
||||
<Dialog open={open} onClose={onClose}>
|
||||
<DialogTitle>{t("profile.logViewer.title")}</DialogTitle>
|
||||
<DialogTitle>{t("profiles.logViewer.title")}</DialogTitle>
|
||||
|
||||
<DialogContent
|
||||
sx={{
|
||||
|
||||
@@ -120,38 +120,38 @@ export const ProfileItem = (props: Props) => {
|
||||
|
||||
// 如果已经过期,显示"更新失败"
|
||||
if (nextUpdateDate.isBefore(now)) {
|
||||
setNextUpdateTime(t("profile.item.status.lastUpdateFailed"));
|
||||
setNextUpdateTime(t("profiles.item.status.lastUpdateFailed"));
|
||||
} else {
|
||||
// 否则显示剩余时间
|
||||
const diffMinutes = nextUpdateDate.diff(now, "minute");
|
||||
|
||||
if (diffMinutes < 60) {
|
||||
if (diffMinutes <= 0) {
|
||||
setNextUpdateTime(`${t("profile.item.status.nextUp")} <1m`);
|
||||
setNextUpdateTime(`${t("profiles.item.status.nextUp")} <1m`);
|
||||
} else {
|
||||
setNextUpdateTime(
|
||||
`${t("profile.item.status.nextUp")} ${diffMinutes}m`,
|
||||
`${t("profiles.item.status.nextUp")} ${diffMinutes}m`,
|
||||
);
|
||||
}
|
||||
} else {
|
||||
const hours = Math.floor(diffMinutes / 60);
|
||||
const mins = diffMinutes % 60;
|
||||
setNextUpdateTime(
|
||||
`${t("profile.item.status.nextUp")} ${hours}h ${mins}m`,
|
||||
`${t("profiles.item.status.nextUp")} ${hours}h ${mins}m`,
|
||||
);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
console.log(`返回的下次更新时间为空`);
|
||||
setNextUpdateTime(t("profile.item.status.noSchedule"));
|
||||
setNextUpdateTime(t("profiles.item.status.noSchedule"));
|
||||
}
|
||||
} catch (err) {
|
||||
console.error(`获取下次更新时间出错:`, err);
|
||||
setNextUpdateTime(t("profile.item.status.unknown"));
|
||||
setNextUpdateTime(t("profiles.item.status.unknown"));
|
||||
}
|
||||
} else {
|
||||
console.log(`该配置未设置更新间隔或间隔为0`);
|
||||
setNextUpdateTime(t("profile.item.status.autoUpdateDisabled"));
|
||||
setNextUpdateTime(t("profiles.item.status.autoUpdateDisabled"));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -365,18 +365,18 @@ export const ProfileItem = (props: Props) => {
|
||||
};
|
||||
|
||||
const menuLabels = {
|
||||
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",
|
||||
home: "profiles.menu.home",
|
||||
select: "profiles.menu.select",
|
||||
editInfo: "profiles.menu.editInfo",
|
||||
editFile: "profiles.menu.editFile",
|
||||
editRules: "profiles.menu.editRules",
|
||||
editProxies: "profiles.menu.editProxies",
|
||||
editGroups: "profiles.menu.editGroups",
|
||||
extendConfig: "profiles.menu.extendConfig",
|
||||
extendScript: "profiles.menu.extendScript",
|
||||
openFile: "profiles.menu.openFile",
|
||||
update: "profiles.menu.update",
|
||||
updateViaProxy: "profiles.menu.updateViaProxy",
|
||||
delete: "common.actions.delete",
|
||||
} as const;
|
||||
|
||||
@@ -733,8 +733,8 @@ export const ProfileItem = (props: Props) => {
|
||||
textAlign="right"
|
||||
title={
|
||||
showNextUpdate
|
||||
? t("profile.item.tooltips.showLast")
|
||||
: `${t("common.labels.updateTime")}: ${parseExpire(updated)}\n${t("profile.item.tooltips.showNext")}`
|
||||
? t("profiles.item.tooltips.showLast")
|
||||
: `${t("common.labels.updateTime")}: ${parseExpire(updated)}\n${t("profiles.item.tooltips.showNext")}`
|
||||
}
|
||||
sx={{
|
||||
cursor: "pointer",
|
||||
@@ -891,8 +891,8 @@ export const ProfileItem = (props: Props) => {
|
||||
)}
|
||||
|
||||
<ConfirmViewer
|
||||
title={t("profile.confirm.delete.title")}
|
||||
message={t("profile.confirm.delete.message")}
|
||||
title={t("profiles.confirm.delete.title")}
|
||||
message={t("profiles.confirm.delete.message")}
|
||||
open={confirmOpen}
|
||||
onClose={() => setConfirmOpen(false)}
|
||||
onConfirm={() => {
|
||||
|
||||
@@ -55,18 +55,18 @@ export const ProfileMore = (props: Props) => {
|
||||
const hasError = entries.some(([level]) => level === "exception");
|
||||
|
||||
const globalTitles: Record<Props["id"], string> = {
|
||||
Merge: "profile.more.global.merge",
|
||||
Script: "profile.more.global.script",
|
||||
Merge: "profiles.more.global.merge",
|
||||
Script: "profiles.more.global.script",
|
||||
};
|
||||
|
||||
const chipLabels: Record<Props["id"], string> = {
|
||||
Merge: "profile.more.chips.merge",
|
||||
Script: "profile.more.chips.script",
|
||||
Merge: "profiles.more.chips.merge",
|
||||
Script: "profiles.more.chips.script",
|
||||
};
|
||||
|
||||
const itemMenu = [
|
||||
{ label: "profile.menu.editFile", handler: onEditFile },
|
||||
{ label: "profile.menu.openFile", handler: onOpenFile },
|
||||
{ label: "profiles.menu.editFile", handler: onEditFile },
|
||||
{ label: "profiles.menu.openFile", handler: onOpenFile },
|
||||
];
|
||||
|
||||
const boxStyle = {
|
||||
@@ -121,7 +121,7 @@ export const ProfileMore = (props: Props) => {
|
||||
size="small"
|
||||
edge="start"
|
||||
color="error"
|
||||
title={t("profile.logViewer.title")}
|
||||
title={t("profiles.logViewer.title")}
|
||||
onClick={() => setLogOpen(true)}
|
||||
>
|
||||
<FeaturedPlayListRounded fontSize="inherit" />
|
||||
@@ -132,7 +132,7 @@ export const ProfileMore = (props: Props) => {
|
||||
size="small"
|
||||
edge="start"
|
||||
color="inherit"
|
||||
title={t("profile.logViewer.title")}
|
||||
title={t("profiles.logViewer.title")}
|
||||
onClick={() => setLogOpen(true)}
|
||||
>
|
||||
<FeaturedPlayListRounded fontSize="inherit" />
|
||||
|
||||
@@ -144,7 +144,7 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) {
|
||||
}
|
||||
} catch {
|
||||
// 首次创建/更新失败,尝试使用自身代理
|
||||
showNotice.info("profile.viewer.notifications.creationRetry");
|
||||
showNotice.info("profiles.viewer.notifications.creationRetry");
|
||||
|
||||
// 使用自身代理的配置
|
||||
const retryItem = {
|
||||
@@ -167,7 +167,7 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) {
|
||||
await patchProfile(form.uid, { option: originalOptions });
|
||||
}
|
||||
|
||||
showNotice.success("profile.viewer.notifications.creationSuccess");
|
||||
showNotice.success("profiles.viewer.notifications.creationSuccess");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -216,8 +216,8 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) {
|
||||
open={open}
|
||||
title={
|
||||
openType === "new"
|
||||
? t("profile.viewer.title.create")
|
||||
: t("profile.viewer.title.edit")
|
||||
? t("profiles.viewer.title.create")
|
||||
: t("profiles.viewer.title.edit")
|
||||
}
|
||||
contentSx={{ width: 375, pb: 0, maxHeight: "80%" }}
|
||||
okBtn={t("common.actions.save")}
|
||||
@@ -232,11 +232,11 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) {
|
||||
control={control}
|
||||
render={({ field }) => (
|
||||
<FormControl size="small" fullWidth sx={{ mt: 1, mb: 1 }}>
|
||||
<InputLabel>{t("profile.viewer.fields.type")}</InputLabel>
|
||||
<InputLabel>{t("profiles.viewer.fields.type")}</InputLabel>
|
||||
<Select
|
||||
{...field}
|
||||
autoFocus
|
||||
label={t("profile.viewer.fields.type")}
|
||||
label={t("profiles.viewer.fields.type")}
|
||||
>
|
||||
<MenuItem value="remote">Remote</MenuItem>
|
||||
<MenuItem value="local">Local</MenuItem>
|
||||
@@ -252,7 +252,7 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) {
|
||||
<TextField
|
||||
{...text}
|
||||
{...field}
|
||||
label={t("profile.viewer.fields.name")}
|
||||
label={t("profiles.viewer.fields.name")}
|
||||
/>
|
||||
)}
|
||||
/>
|
||||
@@ -264,7 +264,7 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) {
|
||||
<TextField
|
||||
{...text}
|
||||
{...field}
|
||||
label={t("profile.viewer.fields.description")}
|
||||
label={t("profiles.viewer.fields.description")}
|
||||
/>
|
||||
)}
|
||||
/>
|
||||
@@ -279,7 +279,7 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) {
|
||||
{...text}
|
||||
{...field}
|
||||
multiline
|
||||
label={t("profile.viewer.fields.subscriptionUrl")}
|
||||
label={t("profiles.viewer.fields.subscriptionUrl")}
|
||||
/>
|
||||
)}
|
||||
/>
|
||||
@@ -306,7 +306,7 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) {
|
||||
{...field}
|
||||
type="number"
|
||||
placeholder="60"
|
||||
label={t("profile.viewer.fields.httpTimeout")}
|
||||
label={t("profiles.viewer.fields.httpTimeout")}
|
||||
slotProps={{
|
||||
input: {
|
||||
endAdornment: (
|
||||
@@ -331,7 +331,7 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) {
|
||||
{...text}
|
||||
{...field}
|
||||
type="number"
|
||||
label={t("profile.viewer.fields.updateInterval")}
|
||||
label={t("profiles.viewer.fields.updateInterval")}
|
||||
slotProps={{
|
||||
input: {
|
||||
endAdornment: (
|
||||
@@ -363,7 +363,7 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) {
|
||||
render={({ field }) => (
|
||||
<StyledBox>
|
||||
<InputLabel>
|
||||
{t("profile.viewer.fields.useSystemProxy")}
|
||||
{t("profiles.viewer.fields.useSystemProxy")}
|
||||
</InputLabel>
|
||||
<Switch checked={field.value} {...field} color="primary" />
|
||||
</StyledBox>
|
||||
@@ -376,7 +376,7 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) {
|
||||
render={({ field }) => (
|
||||
<StyledBox>
|
||||
<InputLabel>
|
||||
{t("profile.viewer.fields.useClashProxy")}
|
||||
{t("profiles.viewer.fields.useClashProxy")}
|
||||
</InputLabel>
|
||||
<Switch checked={field.value} {...field} color="primary" />
|
||||
</StyledBox>
|
||||
@@ -389,7 +389,7 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) {
|
||||
render={({ field }) => (
|
||||
<StyledBox>
|
||||
<InputLabel>
|
||||
{t("profile.viewer.fields.acceptInvalidCerts")}
|
||||
{t("profiles.viewer.fields.acceptInvalidCerts")}
|
||||
</InputLabel>
|
||||
<Switch checked={field.value} {...field} color="primary" />
|
||||
</StyledBox>
|
||||
@@ -402,7 +402,7 @@ export function ProfileViewer({ onChange, ref }: ProfileViewerProps) {
|
||||
render={({ field }) => (
|
||||
<StyledBox>
|
||||
<InputLabel>
|
||||
{t("profile.viewer.fields.allowAutoUpdate")}
|
||||
{t("profiles.viewer.fields.allowAutoUpdate")}
|
||||
</InputLabel>
|
||||
<Switch checked={field.value} {...field} color="primary" />
|
||||
</StyledBox>
|
||||
|
||||
@@ -263,7 +263,7 @@ export const ProxiesEditorViewer = (props: Props) => {
|
||||
const handleSave = useLockFn(async () => {
|
||||
try {
|
||||
await saveProfileFile(property, currData);
|
||||
showNotice.success("profile.notifications.saved");
|
||||
showNotice.success("profiles.notifications.saved");
|
||||
onSave?.(prevData, currData);
|
||||
onClose();
|
||||
} catch (err) {
|
||||
@@ -276,7 +276,7 @@ export const ProxiesEditorViewer = (props: Props) => {
|
||||
<DialogTitle>
|
||||
{
|
||||
<Box display="flex" justifyContent="space-between">
|
||||
{t("profile.proxiesEditor.title")}
|
||||
{t("profiles.proxiesEditor.title")}
|
||||
<Box>
|
||||
<Button
|
||||
variant="contained"
|
||||
@@ -315,7 +315,7 @@ export const ProxiesEditorViewer = (props: Props) => {
|
||||
<TextField
|
||||
autoComplete="new-password"
|
||||
placeholder={t(
|
||||
"profile.proxiesEditor.placeholders.multiUri",
|
||||
"profiles.proxiesEditor.placeholders.multiUri",
|
||||
)}
|
||||
fullWidth
|
||||
rows={9}
|
||||
@@ -336,7 +336,7 @@ export const ProxiesEditorViewer = (props: Props) => {
|
||||
});
|
||||
}}
|
||||
>
|
||||
{t("profile.proxiesEditor.actions.prepend")}
|
||||
{t("profiles.proxiesEditor.actions.prepend")}
|
||||
</Button>
|
||||
</Item>
|
||||
<Item>
|
||||
@@ -350,7 +350,7 @@ export const ProxiesEditorViewer = (props: Props) => {
|
||||
});
|
||||
}}
|
||||
>
|
||||
{t("profile.proxiesEditor.actions.append")}
|
||||
{t("profiles.proxiesEditor.actions.append")}
|
||||
</Button>
|
||||
</Item>
|
||||
</List>
|
||||
|
||||
@@ -490,7 +490,7 @@ export const RulesEditorViewer = (props: Props) => {
|
||||
const handleSave = useLockFn(async () => {
|
||||
try {
|
||||
await saveProfileFile(property, currData);
|
||||
showNotice.success("profile.notifications.saved");
|
||||
showNotice.success("profiles.notifications.saved");
|
||||
onSave?.(prevData, currData);
|
||||
onClose();
|
||||
} catch (err: any) {
|
||||
|
||||
@@ -148,132 +148,6 @@
|
||||
"MATCH": "مطابقة جميع الطلبات"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "إنشاء ملف شخصي",
|
||||
"edit": "تعديل الملف الشخصي"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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": {
|
||||
@@ -425,31 +299,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": "إعدادات النظام",
|
||||
@@ -1090,6 +939,19 @@
|
||||
"messages": {
|
||||
"directMode": "الوضع المباشر"
|
||||
}
|
||||
},
|
||||
"strategies": {
|
||||
"select": "اختيار الوكيل يدويًا",
|
||||
"url-test": "اختيار الوكيل بناءً على تأخير اختبار الرابط",
|
||||
"fallback": "التبديل إلى وكيل آخر عند حدوث خطأ",
|
||||
"load-balance": "توزيع التحميل بين الوكلاء",
|
||||
"relay": "التمرير عبر سلسلة الوكلاء المحددة"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "البيانات تخرج مباشرة",
|
||||
"REJECT": "رفض الطلبات",
|
||||
"REJECT-DROP": "تجاهل الطلبات",
|
||||
"PASS": "تخطي هذه القاعدة عند المطابقة"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
@@ -1150,7 +1012,129 @@
|
||||
"notifications": {
|
||||
"importSuccess": "تم استيراد الملف الشخصي بنجاح",
|
||||
"importSubscriptionSuccess": "تم استيراد الاشتراك بنجاح",
|
||||
"importWithClashProxy": "Profile Imported with Clash proxy"
|
||||
"importWithClashProxy": "Profile Imported with Clash proxy",
|
||||
"saved": "Saved successfully"
|
||||
},
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "إنشاء ملف شخصي",
|
||||
"edit": "تعديل الملف الشخصي"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"home": "Home",
|
||||
"select": "اختيار",
|
||||
"editInfo": "تعديل المعلومات",
|
||||
"editFile": "تعديل الملف",
|
||||
"editRules": "تعديل القواعد",
|
||||
"editProxies": "تعديل الوكلاء",
|
||||
"editGroups": "تعديل مجموعات الوكلاء",
|
||||
"extendConfig": "توسيع الإعدادات",
|
||||
"extendScript": "توسيع السكربت",
|
||||
"openFile": "فتح الملف",
|
||||
"update": "تحديث",
|
||||
"updateViaProxy": "Update via proxy"
|
||||
},
|
||||
"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": "إضافة مجموعة في النهاية"
|
||||
}
|
||||
},
|
||||
"fileInput": {
|
||||
"chooseFile": "اختر ملف"
|
||||
},
|
||||
"more": {
|
||||
"global": {
|
||||
"merge": "Global Merge",
|
||||
"script": "Global Script"
|
||||
},
|
||||
"chips": {
|
||||
"merge": "Merge",
|
||||
"script": "Script"
|
||||
}
|
||||
},
|
||||
"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": "لا يمكن التراجع عن هذه العملية"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"format": "تنسيق المستند",
|
||||
"readOnlyMessage": "لا يمكن التعديل في محرر القراءة فقط"
|
||||
},
|
||||
"logViewer": {
|
||||
"title": "وحدة التحكم للسكريبت"
|
||||
}
|
||||
},
|
||||
"connections": {
|
||||
@@ -1167,6 +1151,29 @@
|
||||
"resume": "استأنف",
|
||||
"closeAll": "إغلاق الكل"
|
||||
}
|
||||
},
|
||||
"fields": {
|
||||
"host": "المضيف",
|
||||
"downloaded": "تم التنزيل",
|
||||
"uploaded": "تم الرفع",
|
||||
"dlSpeed": "سرعة التنزيل",
|
||||
"ulSpeed": "سرعة الرفع",
|
||||
"chains": "السلاسل",
|
||||
"rule": "قاعدة",
|
||||
"process": "عملية",
|
||||
"time": "الوقت",
|
||||
"source": "المصدر",
|
||||
"destination": "عنوان IP الوجهة",
|
||||
"destinationPort": "ميناء الوجهة",
|
||||
"type": "النوع"
|
||||
},
|
||||
"order": {
|
||||
"default": "Default",
|
||||
"uploadSpeed": "سرعة الرفع",
|
||||
"downloadSpeed": "سرعة التنزيل"
|
||||
},
|
||||
"actions": {
|
||||
"closeConnection": "إغلاق الاتصال"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
@@ -1207,21 +1214,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"proxy": {
|
||||
"strategies": {
|
||||
"select": "اختيار الوكيل يدويًا",
|
||||
"url-test": "اختيار الوكيل بناءً على تأخير اختبار الرابط",
|
||||
"fallback": "التبديل إلى وكيل آخر عند حدوث خطأ",
|
||||
"load-balance": "توزيع التحميل بين الوكلاء",
|
||||
"relay": "التمرير عبر سلسلة الوكلاء المحددة"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "البيانات تخرج مباشرة",
|
||||
"REJECT": "رفض الطلبات",
|
||||
"REJECT-DROP": "تجاهل الطلبات",
|
||||
"PASS": "تخطي هذه القاعدة عند المطابقة"
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"notifications": {
|
||||
"tunMode": {
|
||||
|
||||
@@ -148,132 +148,6 @@
|
||||
"MATCH": "Alle Anfragen übereinstimmen"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "Neue Konfiguration erstellen",
|
||||
"edit": "Konfiguration bearbeiten"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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": {
|
||||
@@ -425,31 +299,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"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",
|
||||
@@ -1090,6 +939,19 @@
|
||||
"messages": {
|
||||
"directMode": "Direktverbindungs-Modus"
|
||||
}
|
||||
},
|
||||
"strategies": {
|
||||
"select": "Proxy manuell auswählen",
|
||||
"url-test": "Proxy basierend auf URL-Latenztest auswählen",
|
||||
"fallback": "Bei Nichtverfügbarkeit zu einem anderen Proxy wechseln",
|
||||
"load-balance": "Proxy basierend auf Lastverteilung zuweisen",
|
||||
"relay": "Basierend auf definiertem Proxy-Kette weiterleiten"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "Direktverbindung",
|
||||
"REJECT": "Anfrage ablehnen",
|
||||
"REJECT-DROP": "Anfrage verwerfen",
|
||||
"PASS": "Diese Regel überspringen"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
@@ -1150,7 +1012,129 @@
|
||||
"notifications": {
|
||||
"importSuccess": "Abonnement erfolgreich importiert",
|
||||
"importSubscriptionSuccess": "Abonnement erfolgreich importiert",
|
||||
"importWithClashProxy": "Abonnement mit Clash-Proxy importiert"
|
||||
"importWithClashProxy": "Abonnement mit Clash-Proxy importiert",
|
||||
"saved": "Saved successfully"
|
||||
},
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "Neue Konfiguration erstellen",
|
||||
"edit": "Konfiguration bearbeiten"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"fileInput": {
|
||||
"chooseFile": "Datei auswählen"
|
||||
},
|
||||
"more": {
|
||||
"global": {
|
||||
"merge": "Global Merge",
|
||||
"script": "Global Script"
|
||||
},
|
||||
"chips": {
|
||||
"merge": "Merge",
|
||||
"script": "Script"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"format": "Dokument formatieren",
|
||||
"readOnlyMessage": "Bearbeitung im schreibgeschützten Modus nicht möglich"
|
||||
},
|
||||
"logViewer": {
|
||||
"title": "Skript-Konsole-Ausgabe"
|
||||
}
|
||||
},
|
||||
"connections": {
|
||||
@@ -1167,6 +1151,29 @@
|
||||
"resume": "Fortsetzen",
|
||||
"closeAll": "Alle schließen"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"order": {
|
||||
"default": "Default",
|
||||
"uploadSpeed": "Upload-Geschwindigkeit",
|
||||
"downloadSpeed": "Download-Geschwindigkeit"
|
||||
},
|
||||
"actions": {
|
||||
"closeConnection": "Verbindung schließen"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
@@ -1207,21 +1214,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"proxy": {
|
||||
"strategies": {
|
||||
"select": "Proxy manuell auswählen",
|
||||
"url-test": "Proxy basierend auf URL-Latenztest auswählen",
|
||||
"fallback": "Bei Nichtverfügbarkeit zu einem anderen Proxy wechseln",
|
||||
"load-balance": "Proxy basierend auf Lastverteilung zuweisen",
|
||||
"relay": "Basierend auf definiertem Proxy-Kette weiterleiten"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "Direktverbindung",
|
||||
"REJECT": "Anfrage ablehnen",
|
||||
"REJECT-DROP": "Anfrage verwerfen",
|
||||
"PASS": "Diese Regel überspringen"
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"notifications": {
|
||||
"tunMode": {
|
||||
|
||||
@@ -148,132 +148,6 @@
|
||||
"MATCH": "Match all requests (MATCH)"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "Create Profile",
|
||||
"edit": "Edit Profile"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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": {
|
||||
@@ -425,31 +299,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"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",
|
||||
@@ -1090,6 +939,19 @@
|
||||
"messages": {
|
||||
"directMode": "Direct Mode"
|
||||
}
|
||||
},
|
||||
"strategies": {
|
||||
"select": "Select proxy manually",
|
||||
"url-test": "Select proxy based on URL test delay",
|
||||
"fallback": "Switch to another proxy on error",
|
||||
"load-balance": "Distribute proxy based on load balancing",
|
||||
"relay": "Pass through the defined proxy chain"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "Data goes directly outbound (DIRECT)",
|
||||
"REJECT": "Intercepts requests (REJECT)",
|
||||
"REJECT-DROP": "Discards requests (REJECT-DROP)",
|
||||
"PASS": "Skips this rule when matched (PASS)"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
@@ -1150,7 +1012,129 @@
|
||||
"notifications": {
|
||||
"importSuccess": "Profile Imported Successfully",
|
||||
"importSubscriptionSuccess": "Import subscription successful",
|
||||
"importWithClashProxy": "Profile Imported with Clash proxy"
|
||||
"importWithClashProxy": "Profile Imported with Clash proxy",
|
||||
"saved": "Saved successfully"
|
||||
},
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "Create Profile",
|
||||
"edit": "Edit Profile"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"fileInput": {
|
||||
"chooseFile": "Choose File"
|
||||
},
|
||||
"more": {
|
||||
"global": {
|
||||
"merge": "Global Merge",
|
||||
"script": "Global Script"
|
||||
},
|
||||
"chips": {
|
||||
"merge": "Merge",
|
||||
"script": "Script"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"format": "Format document",
|
||||
"readOnlyMessage": "Cannot edit in read-only editor"
|
||||
},
|
||||
"logViewer": {
|
||||
"title": "Script Console"
|
||||
}
|
||||
},
|
||||
"connections": {
|
||||
@@ -1167,6 +1151,29 @@
|
||||
"resume": "Resume",
|
||||
"closeAll": "Close All"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"order": {
|
||||
"default": "Default",
|
||||
"uploadSpeed": "Upload Speed",
|
||||
"downloadSpeed": "Download Speed"
|
||||
},
|
||||
"actions": {
|
||||
"closeConnection": "Close Connection"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
@@ -1207,21 +1214,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"proxy": {
|
||||
"strategies": {
|
||||
"select": "Select proxy manually",
|
||||
"url-test": "Select proxy based on URL test delay",
|
||||
"fallback": "Switch to another proxy on error",
|
||||
"load-balance": "Distribute proxy based on load balancing",
|
||||
"relay": "Pass through the defined proxy chain"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "Data goes directly outbound (DIRECT)",
|
||||
"REJECT": "Intercepts requests (REJECT)",
|
||||
"REJECT-DROP": "Discards requests (REJECT-DROP)",
|
||||
"PASS": "Skips this rule when matched (PASS)"
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"notifications": {
|
||||
"tunMode": {
|
||||
|
||||
@@ -148,132 +148,6 @@
|
||||
"MATCH": "Coincidir con todas las solicitudes"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "Crear configuración",
|
||||
"edit": "Editar configuración"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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": {
|
||||
@@ -425,31 +299,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"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",
|
||||
@@ -1090,6 +939,19 @@
|
||||
"messages": {
|
||||
"directMode": "Modo de conexión directa"
|
||||
}
|
||||
},
|
||||
"strategies": {
|
||||
"select": "Seleccionar proxy manualmente",
|
||||
"url-test": "Seleccionar proxy según la prueba de latencia de la URL",
|
||||
"fallback": "Cambiar a otro proxy cuando no esté disponible",
|
||||
"load-balance": "Asignar proxy según el equilibrio de carga",
|
||||
"relay": "Transferir según la cadena de proxy definida"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "Conexión directa",
|
||||
"REJECT": "Rechazar solicitud",
|
||||
"REJECT-DROP": "Descartar solicitud",
|
||||
"PASS": "Saltar esta regla"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
@@ -1150,7 +1012,129 @@
|
||||
"notifications": {
|
||||
"importSuccess": "Suscripción importada con éxito",
|
||||
"importSubscriptionSuccess": "Suscripción importada con éxito",
|
||||
"importWithClashProxy": "Suscripción importada con el proxy de Clash"
|
||||
"importWithClashProxy": "Suscripción importada con el proxy de Clash",
|
||||
"saved": "Saved successfully"
|
||||
},
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "Crear configuración",
|
||||
"edit": "Editar configuración"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"fileInput": {
|
||||
"chooseFile": "Elegir archivo"
|
||||
},
|
||||
"more": {
|
||||
"global": {
|
||||
"merge": "Global Merge",
|
||||
"script": "Global Script"
|
||||
},
|
||||
"chips": {
|
||||
"merge": "Merge",
|
||||
"script": "Script"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"format": "Formatear documento",
|
||||
"readOnlyMessage": "No se puede editar en modo de solo lectura"
|
||||
},
|
||||
"logViewer": {
|
||||
"title": "Salida de la consola del script"
|
||||
}
|
||||
},
|
||||
"connections": {
|
||||
@@ -1167,6 +1151,29 @@
|
||||
"resume": "Reanudar",
|
||||
"closeAll": "Cerrar todas"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"order": {
|
||||
"default": "Default",
|
||||
"uploadSpeed": "Velocidad de subida",
|
||||
"downloadSpeed": "Velocidad de descarga"
|
||||
},
|
||||
"actions": {
|
||||
"closeConnection": "Cerrar conexión"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
@@ -1207,21 +1214,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"proxy": {
|
||||
"strategies": {
|
||||
"select": "Seleccionar proxy manualmente",
|
||||
"url-test": "Seleccionar proxy según la prueba de latencia de la URL",
|
||||
"fallback": "Cambiar a otro proxy cuando no esté disponible",
|
||||
"load-balance": "Asignar proxy según el equilibrio de carga",
|
||||
"relay": "Transferir según la cadena de proxy definida"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "Conexión directa",
|
||||
"REJECT": "Rechazar solicitud",
|
||||
"REJECT-DROP": "Descartar solicitud",
|
||||
"PASS": "Saltar esta regla"
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"notifications": {
|
||||
"tunMode": {
|
||||
|
||||
@@ -148,132 +148,6 @@
|
||||
"MATCH": "مطابقت با تمام درخواستها"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "ایجاد پروفایل",
|
||||
"edit": "ویرایش پروفایل"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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": {
|
||||
@@ -425,31 +299,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": "تنظیمات سیستم",
|
||||
@@ -1090,6 +939,19 @@
|
||||
"messages": {
|
||||
"directMode": "حالت مستقیم"
|
||||
}
|
||||
},
|
||||
"strategies": {
|
||||
"select": "انتخاب پروکسی به صورت دستی",
|
||||
"url-test": "انتخاب پروکسی بر اساس تأخیر آزمایش URL",
|
||||
"fallback": "تعویض به پروکسی دیگر در صورت بروز خطا",
|
||||
"load-balance": "توزیع پراکسی بر اساس توازن بار",
|
||||
"relay": "عبور از زنجیره پروکسی تعریف شده"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "دادهها به صورت مستقیم خروجی میشوند",
|
||||
"REJECT": "درخواستها را متوقف میکند",
|
||||
"REJECT-DROP": "درخواستها را نادیده میگیرد",
|
||||
"PASS": "این قانون را در صورت تطابق نادیده میگیرد"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
@@ -1150,7 +1012,129 @@
|
||||
"notifications": {
|
||||
"importSuccess": "پروفایل با موفقیت وارد شد",
|
||||
"importSubscriptionSuccess": "وارد کردن اشتراک با موفقیت انجام شد",
|
||||
"importWithClashProxy": "Profile Imported with Clash proxy"
|
||||
"importWithClashProxy": "Profile Imported with Clash proxy",
|
||||
"saved": "Saved successfully"
|
||||
},
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "ایجاد پروفایل",
|
||||
"edit": "ویرایش پروفایل"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"home": "Home",
|
||||
"select": "انتخاب",
|
||||
"editInfo": "ویرایش اطلاعات",
|
||||
"editFile": "ویرایش فایل",
|
||||
"editRules": "ویرایش قوانین",
|
||||
"editProxies": "ویرایش پروکسیها",
|
||||
"editGroups": "ویرایش گروههای پروکسی",
|
||||
"extendConfig": "توسعه پیکربندی",
|
||||
"extendScript": "ادغام اسکریپت",
|
||||
"openFile": "باز کردن فایل",
|
||||
"update": "بهروزرسانی",
|
||||
"updateViaProxy": "Update via proxy"
|
||||
},
|
||||
"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": "اضافه کردن گروه به انتها"
|
||||
}
|
||||
},
|
||||
"fileInput": {
|
||||
"chooseFile": "انتخاب فایل"
|
||||
},
|
||||
"more": {
|
||||
"global": {
|
||||
"merge": "Global Merge",
|
||||
"script": "Global Script"
|
||||
},
|
||||
"chips": {
|
||||
"merge": "Merge",
|
||||
"script": "Script"
|
||||
}
|
||||
},
|
||||
"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": "این عملیات قابل برگشت نیست"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"format": "فرمتبندی سند",
|
||||
"readOnlyMessage": "نمیتوان در ویرایشگر فقط خواندنی ویرایش کرد"
|
||||
},
|
||||
"logViewer": {
|
||||
"title": "کنسول اسکریپت"
|
||||
}
|
||||
},
|
||||
"connections": {
|
||||
@@ -1167,6 +1151,29 @@
|
||||
"resume": "از سرگیری",
|
||||
"closeAll": "بستن همه"
|
||||
}
|
||||
},
|
||||
"fields": {
|
||||
"host": "میزبان",
|
||||
"downloaded": "دانلود شده",
|
||||
"uploaded": "بارگذاری شده",
|
||||
"dlSpeed": "سرعت دانلود",
|
||||
"ulSpeed": "سرعت بارگذاری",
|
||||
"chains": "زنجیرهها",
|
||||
"rule": "قانون",
|
||||
"process": "فرآیند",
|
||||
"time": "زمان",
|
||||
"source": "منبع",
|
||||
"destination": "آدرس IP مقصد",
|
||||
"destinationPort": "بندر هدف",
|
||||
"type": "نوع"
|
||||
},
|
||||
"order": {
|
||||
"default": "Default",
|
||||
"uploadSpeed": "سرعت بارگذاری",
|
||||
"downloadSpeed": "سرعت دانلود"
|
||||
},
|
||||
"actions": {
|
||||
"closeConnection": "بستن اتصال"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
@@ -1207,21 +1214,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"proxy": {
|
||||
"strategies": {
|
||||
"select": "انتخاب پروکسی به صورت دستی",
|
||||
"url-test": "انتخاب پروکسی بر اساس تأخیر آزمایش URL",
|
||||
"fallback": "تعویض به پروکسی دیگر در صورت بروز خطا",
|
||||
"load-balance": "توزیع پراکسی بر اساس توازن بار",
|
||||
"relay": "عبور از زنجیره پروکسی تعریف شده"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "دادهها به صورت مستقیم خروجی میشوند",
|
||||
"REJECT": "درخواستها را متوقف میکند",
|
||||
"REJECT-DROP": "درخواستها را نادیده میگیرد",
|
||||
"PASS": "این قانون را در صورت تطابق نادیده میگیرد"
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"notifications": {
|
||||
"tunMode": {
|
||||
|
||||
@@ -148,132 +148,6 @@
|
||||
"MATCH": "Cocok dengan semua permintaan"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "Buat Profil",
|
||||
"edit": "Ubah Profil"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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": {
|
||||
@@ -425,31 +299,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"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",
|
||||
@@ -1090,6 +939,19 @@
|
||||
"messages": {
|
||||
"directMode": "Mode Langsung"
|
||||
}
|
||||
},
|
||||
"strategies": {
|
||||
"select": "Pilih proksi secara manual",
|
||||
"url-test": "Pilih proksi berdasarkan keterlambatan tes URL",
|
||||
"fallback": "Beralih ke proksi lain saat terjadi kesalahan",
|
||||
"load-balance": "Distribusikan proksi berdasarkan penyeimbangan beban",
|
||||
"relay": "Lewatkan melalui rantai proksi yang ditentukan"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "Data langsung keluar",
|
||||
"REJECT": "Mencegat permintaan",
|
||||
"REJECT-DROP": "Membuang permintaan",
|
||||
"PASS": "Lewati aturan ini saat cocok"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
@@ -1150,7 +1012,129 @@
|
||||
"notifications": {
|
||||
"importSuccess": "Profil Berhasil Diimpor",
|
||||
"importSubscriptionSuccess": "Berlangganan Berhasil Diimpor",
|
||||
"importWithClashProxy": "Profile Imported with Clash proxy"
|
||||
"importWithClashProxy": "Profile Imported with Clash proxy",
|
||||
"saved": "Saved successfully"
|
||||
},
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "Buat Profil",
|
||||
"edit": "Ubah Profil"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"fileInput": {
|
||||
"chooseFile": "Pilih Berkas"
|
||||
},
|
||||
"more": {
|
||||
"global": {
|
||||
"merge": "Global Merge",
|
||||
"script": "Global Script"
|
||||
},
|
||||
"chips": {
|
||||
"merge": "Merge",
|
||||
"script": "Script"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"format": "Format dokumen",
|
||||
"readOnlyMessage": "Tidak dapat mengedit di editor hanya baca"
|
||||
},
|
||||
"logViewer": {
|
||||
"title": "Konsol Skrip"
|
||||
}
|
||||
},
|
||||
"connections": {
|
||||
@@ -1167,6 +1151,29 @@
|
||||
"resume": "Lanjut",
|
||||
"closeAll": "Tutup Semua"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"order": {
|
||||
"default": "Default",
|
||||
"uploadSpeed": "Kecepatan Unggah",
|
||||
"downloadSpeed": "Kecepatan Unduh"
|
||||
},
|
||||
"actions": {
|
||||
"closeConnection": "Tutup Koneksi"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
@@ -1207,21 +1214,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"proxy": {
|
||||
"strategies": {
|
||||
"select": "Pilih proksi secara manual",
|
||||
"url-test": "Pilih proksi berdasarkan keterlambatan tes URL",
|
||||
"fallback": "Beralih ke proksi lain saat terjadi kesalahan",
|
||||
"load-balance": "Distribusikan proksi berdasarkan penyeimbangan beban",
|
||||
"relay": "Lewatkan melalui rantai proksi yang ditentukan"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "Data langsung keluar",
|
||||
"REJECT": "Mencegat permintaan",
|
||||
"REJECT-DROP": "Membuang permintaan",
|
||||
"PASS": "Lewati aturan ini saat cocok"
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"notifications": {
|
||||
"tunMode": {
|
||||
|
||||
@@ -148,132 +148,6 @@
|
||||
"MATCH": "すべてのリクエストを一致させる"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "新規プロファイルを作成",
|
||||
"edit": "プロファイルを編集"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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": {
|
||||
@@ -425,31 +299,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": "システム設定",
|
||||
@@ -1090,6 +939,19 @@
|
||||
"messages": {
|
||||
"directMode": "直接接続モード"
|
||||
}
|
||||
},
|
||||
"strategies": {
|
||||
"select": "手動でプロキシを選択",
|
||||
"url-test": "URLテストによる遅延でプロキシを選択",
|
||||
"fallback": "利用不可の場合は別のプロキシに切り替える",
|
||||
"load-balance": "負荷分散によりプロキシを割り当てる",
|
||||
"relay": "定義されたプロキシチェーンに沿って転送する"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "直接接続",
|
||||
"REJECT": "リクエストを拒否",
|
||||
"REJECT-DROP": "リクエストを破棄",
|
||||
"PASS": "このルールをスキップ"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
@@ -1150,7 +1012,129 @@
|
||||
"notifications": {
|
||||
"importSuccess": "プロファイルのインポートに成功しました。",
|
||||
"importSubscriptionSuccess": "サブスクリプションのインポートに成功しました。",
|
||||
"importWithClashProxy": "Clashプロキシを使用してプロファイルのインポートに成功しました。"
|
||||
"importWithClashProxy": "Clashプロキシを使用してプロファイルのインポートに成功しました。",
|
||||
"saved": "Saved successfully"
|
||||
},
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "新規プロファイルを作成",
|
||||
"edit": "プロファイルを編集"
|
||||
},
|
||||
"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プロキシを使用してプロファイルの作成に成功しました。"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"home": "ホーム",
|
||||
"select": "使用する",
|
||||
"editInfo": "情報を編集",
|
||||
"editFile": "ファイルを編集",
|
||||
"editRules": "ルールを編集",
|
||||
"editProxies": "ノードを編集",
|
||||
"editGroups": "プロキシグループを編集",
|
||||
"extendConfig": "拡張上書き設定",
|
||||
"extendScript": "拡張スクリプト",
|
||||
"openFile": "ファイルを開く",
|
||||
"update": "更新",
|
||||
"updateViaProxy": "Update via proxy"
|
||||
},
|
||||
"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": "後置プロキシグループを追加"
|
||||
}
|
||||
},
|
||||
"fileInput": {
|
||||
"chooseFile": "ファイルを選択"
|
||||
},
|
||||
"more": {
|
||||
"global": {
|
||||
"merge": "Global Merge",
|
||||
"script": "Global Script"
|
||||
},
|
||||
"chips": {
|
||||
"merge": "Merge",
|
||||
"script": "Script"
|
||||
}
|
||||
},
|
||||
"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": "この操作は元に戻せません"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"format": "文書を整形する",
|
||||
"readOnlyMessage": "読み取り専用モードでは編集できません。"
|
||||
},
|
||||
"logViewer": {
|
||||
"title": "スクリプトコンソール出力"
|
||||
}
|
||||
},
|
||||
"connections": {
|
||||
@@ -1167,6 +1151,29 @@
|
||||
"resume": "再開",
|
||||
"closeAll": "すべて閉じる"
|
||||
}
|
||||
},
|
||||
"fields": {
|
||||
"host": "ホスト",
|
||||
"downloaded": "ダウンロード量",
|
||||
"uploaded": "アップロード量",
|
||||
"dlSpeed": "ダウンロード速度",
|
||||
"ulSpeed": "アップロード速度",
|
||||
"chains": "チェーン",
|
||||
"rule": "ルール",
|
||||
"process": "プロセス",
|
||||
"time": "接続時間",
|
||||
"source": "送信元アドレス",
|
||||
"destination": "宛先アドレス",
|
||||
"destinationPort": "宛先ポート",
|
||||
"type": "タイプ"
|
||||
},
|
||||
"order": {
|
||||
"default": "Default",
|
||||
"uploadSpeed": "アップロード速度",
|
||||
"downloadSpeed": "ダウンロード速度"
|
||||
},
|
||||
"actions": {
|
||||
"closeConnection": "接続を閉じる"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
@@ -1207,21 +1214,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"proxy": {
|
||||
"strategies": {
|
||||
"select": "手動でプロキシを選択",
|
||||
"url-test": "URLテストによる遅延でプロキシを選択",
|
||||
"fallback": "利用不可の場合は別のプロキシに切り替える",
|
||||
"load-balance": "負荷分散によりプロキシを割り当てる",
|
||||
"relay": "定義されたプロキシチェーンに沿って転送する"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "直接接続",
|
||||
"REJECT": "リクエストを拒否",
|
||||
"REJECT-DROP": "リクエストを破棄",
|
||||
"PASS": "このルールをスキップ"
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"notifications": {
|
||||
"tunMode": {
|
||||
|
||||
@@ -148,132 +148,6 @@
|
||||
"MATCH": "모든 요청과 일치"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "프로필 생성",
|
||||
"edit": "프로필 편집"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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": {
|
||||
@@ -425,31 +299,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": "시스템 설정",
|
||||
@@ -1090,6 +939,19 @@
|
||||
"messages": {
|
||||
"directMode": "Direct Mode"
|
||||
}
|
||||
},
|
||||
"strategies": {
|
||||
"select": "수동으로 프록시 선택",
|
||||
"url-test": "URL 테스트 지연을 기준으로 프록시 선택",
|
||||
"fallback": "오류 발생 시 다른 프록시로 전환",
|
||||
"load-balance": "부하 분산에 따라 프록시 분배",
|
||||
"relay": "정의된 프록시 체인을 통과"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "데이터가 직접 아웃바운드로 이동",
|
||||
"REJECT": "요청 차단",
|
||||
"REJECT-DROP": "요청 폐기",
|
||||
"PASS": "일치할 경우 이 규칙 건너뛰기"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
@@ -1150,7 +1012,129 @@
|
||||
"notifications": {
|
||||
"importSuccess": "Profile Imported Successfully",
|
||||
"importSubscriptionSuccess": "구독 가져오기 성공",
|
||||
"importWithClashProxy": "Profile Imported with Clash proxy"
|
||||
"importWithClashProxy": "Profile Imported with Clash proxy",
|
||||
"saved": "Saved successfully"
|
||||
},
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "프로필 생성",
|
||||
"edit": "프로필 편집"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"home": "홈",
|
||||
"select": "선택",
|
||||
"editInfo": "정보 편집",
|
||||
"editFile": "파일 편집",
|
||||
"editRules": "규칙 편집",
|
||||
"editProxies": "프록시 편집",
|
||||
"editGroups": "프록시 그룹 편집",
|
||||
"extendConfig": "설정 확장",
|
||||
"extendScript": "스크립트 확장",
|
||||
"openFile": "파일 열기",
|
||||
"update": "업데이트",
|
||||
"updateViaProxy": "Update via proxy"
|
||||
},
|
||||
"proxiesEditor": {
|
||||
"title": "프록시 편집",
|
||||
"placeholders": {
|
||||
"multiUri": "여러 URI의 경우 줄바꿈 사용(Base64 인코딩 지원)"
|
||||
},
|
||||
"actions": {
|
||||
"prepend": "프록시 앞에 추가",
|
||||
"append": "프록시 뒤에 추가"
|
||||
}
|
||||
},
|
||||
"groupsEditor": {
|
||||
"title": "프록시 그룹 편집",
|
||||
"errors": {
|
||||
"nameRequired": "그룹 이름 필수",
|
||||
"nameExists": "그룹 이름이 이미 존재함"
|
||||
},
|
||||
"fields": {
|
||||
"type": "그룹 유형",
|
||||
"name": "그룹 이름",
|
||||
"icon": "Proxy Group Icon",
|
||||
"proxies": "프록시 사용",
|
||||
"provider": "제공자 사용",
|
||||
"healthCheckUrl": "상태 확인 URL",
|
||||
"expectedStatus": "예상 상태",
|
||||
"interval": "간격",
|
||||
"timeout": "타임아웃",
|
||||
"maxFailedTimes": "최대 실패 횟수",
|
||||
"interfaceName": "인터페이스 이름",
|
||||
"routingMark": "라우팅 마크",
|
||||
"filter": "필터",
|
||||
"excludeFilter": "제외 필터",
|
||||
"excludeType": "제외 유형",
|
||||
"includeAll": "모든 프록시 및 제공자 포함",
|
||||
"includeAllProxies": "모든 프록시 포함",
|
||||
"includeAllProviders": "모든 제공자 포함"
|
||||
},
|
||||
"toggles": {
|
||||
"lazy": "지연 로딩",
|
||||
"disableUdp": "UDP 비활성화",
|
||||
"hidden": "숨김"
|
||||
},
|
||||
"actions": {
|
||||
"prepend": "그룹 앞에 추가",
|
||||
"append": "그룹 뒤에 추가"
|
||||
}
|
||||
},
|
||||
"fileInput": {
|
||||
"chooseFile": "파일 선택"
|
||||
},
|
||||
"more": {
|
||||
"global": {
|
||||
"merge": "Global Merge",
|
||||
"script": "Global Script"
|
||||
},
|
||||
"chips": {
|
||||
"merge": "Merge",
|
||||
"script": "Script"
|
||||
}
|
||||
},
|
||||
"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": "이 작업은 되돌릴 수 없습니다"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"format": "문서 포맷",
|
||||
"readOnlyMessage": "Cannot edit in read-only editor"
|
||||
},
|
||||
"logViewer": {
|
||||
"title": "스크립트 콘솔"
|
||||
}
|
||||
},
|
||||
"connections": {
|
||||
@@ -1167,6 +1151,29 @@
|
||||
"resume": "재개",
|
||||
"closeAll": "모두 닫기"
|
||||
}
|
||||
},
|
||||
"fields": {
|
||||
"host": "호스트",
|
||||
"downloaded": "다운로드됨",
|
||||
"uploaded": "업로드됨",
|
||||
"dlSpeed": "다운로드 속도",
|
||||
"ulSpeed": "업로드 속도",
|
||||
"chains": "체인",
|
||||
"rule": "규칙",
|
||||
"process": "프로세스",
|
||||
"time": "시간",
|
||||
"source": "소스",
|
||||
"destination": "목적지",
|
||||
"destinationPort": "목적지 포트",
|
||||
"type": "유형"
|
||||
},
|
||||
"order": {
|
||||
"default": "Default",
|
||||
"uploadSpeed": "업로드 속도",
|
||||
"downloadSpeed": "다운로드 속도"
|
||||
},
|
||||
"actions": {
|
||||
"closeConnection": "연결 닫기"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
@@ -1207,21 +1214,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"proxy": {
|
||||
"strategies": {
|
||||
"select": "수동으로 프록시 선택",
|
||||
"url-test": "URL 테스트 지연을 기준으로 프록시 선택",
|
||||
"fallback": "오류 발생 시 다른 프록시로 전환",
|
||||
"load-balance": "부하 분산에 따라 프록시 분배",
|
||||
"relay": "정의된 프록시 체인을 통과"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "데이터가 직접 아웃바운드로 이동",
|
||||
"REJECT": "요청 차단",
|
||||
"REJECT-DROP": "요청 폐기",
|
||||
"PASS": "일치할 경우 이 규칙 건너뛰기"
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"notifications": {
|
||||
"tunMode": {
|
||||
|
||||
@@ -148,132 +148,6 @@
|
||||
"MATCH": "Соответствует всем запросам"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "Создать профиль",
|
||||
"edit": "Изменить профиль"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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": {
|
||||
@@ -425,31 +299,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": "Настройки системы",
|
||||
@@ -1090,6 +939,19 @@
|
||||
"messages": {
|
||||
"directMode": "Прямой режим"
|
||||
}
|
||||
},
|
||||
"strategies": {
|
||||
"select": "Выбор прокси вручную",
|
||||
"url-test": "Выбор прокси на основе задержки теста URL",
|
||||
"fallback": "Переключение на другой прокси при ошибке",
|
||||
"load-balance": "Распределение прокси на основе балансировки нагрузки",
|
||||
"relay": "Передача через определенную цепочку прокси"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "Данные направляются напрямую наружу",
|
||||
"REJECT": "Перехватывает запросы",
|
||||
"REJECT-DROP": "Отклоняет запросы",
|
||||
"PASS": "Пропускает это правило при совпадении"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
@@ -1150,7 +1012,129 @@
|
||||
"notifications": {
|
||||
"importSuccess": "Профиль успешно импортирован",
|
||||
"importSubscriptionSuccess": "Подписка успешно импортирована",
|
||||
"importWithClashProxy": "Profile Imported with Clash proxy"
|
||||
"importWithClashProxy": "Profile Imported with Clash proxy",
|
||||
"saved": "Saved successfully"
|
||||
},
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "Создать профиль",
|
||||
"edit": "Изменить профиль"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"home": "Главная",
|
||||
"select": "Выбрать",
|
||||
"editInfo": "Изменить информацию",
|
||||
"editFile": "Изменить файл",
|
||||
"editRules": "Редактировать правила",
|
||||
"editProxies": "Редактировать прокси",
|
||||
"editGroups": "Редактировать группы прокси",
|
||||
"extendConfig": "Изменить Merge",
|
||||
"extendScript": "Изменить Script",
|
||||
"openFile": "Открыть файл",
|
||||
"update": "Обновить",
|
||||
"updateViaProxy": "Update via proxy"
|
||||
},
|
||||
"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": "Добавить группу в конец"
|
||||
}
|
||||
},
|
||||
"fileInput": {
|
||||
"chooseFile": "Выбрать файл"
|
||||
},
|
||||
"more": {
|
||||
"global": {
|
||||
"merge": "Global Merge",
|
||||
"script": "Global Script"
|
||||
},
|
||||
"chips": {
|
||||
"merge": "Merge",
|
||||
"script": "Script"
|
||||
}
|
||||
},
|
||||
"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": "Эта операция необратима"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"format": "Форматировать документ",
|
||||
"readOnlyMessage": "Невозможно редактировать в режиме только для чтения"
|
||||
},
|
||||
"logViewer": {
|
||||
"title": "Консоль скрипта"
|
||||
}
|
||||
},
|
||||
"connections": {
|
||||
@@ -1167,6 +1151,29 @@
|
||||
"resume": "Возобновить",
|
||||
"closeAll": "Закрыть всё"
|
||||
}
|
||||
},
|
||||
"fields": {
|
||||
"host": "Хост",
|
||||
"downloaded": "Скачано",
|
||||
"uploaded": "Загружено",
|
||||
"dlSpeed": "Скорость скачивания",
|
||||
"ulSpeed": "Скорость загрузки",
|
||||
"chains": "Цепочки",
|
||||
"rule": "Правило",
|
||||
"process": "Процесс",
|
||||
"time": "Время подключения",
|
||||
"source": "Исходный адрес",
|
||||
"destination": "IP-адрес назначения",
|
||||
"destinationPort": "Целевой порт",
|
||||
"type": "Тип"
|
||||
},
|
||||
"order": {
|
||||
"default": "Default",
|
||||
"uploadSpeed": "Скорость загрузки",
|
||||
"downloadSpeed": "Скорость скачивания"
|
||||
},
|
||||
"actions": {
|
||||
"closeConnection": "Закрыть соединение"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
@@ -1207,21 +1214,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"proxy": {
|
||||
"strategies": {
|
||||
"select": "Выбор прокси вручную",
|
||||
"url-test": "Выбор прокси на основе задержки теста URL",
|
||||
"fallback": "Переключение на другой прокси при ошибке",
|
||||
"load-balance": "Распределение прокси на основе балансировки нагрузки",
|
||||
"relay": "Передача через определенную цепочку прокси"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "Данные направляются напрямую наружу",
|
||||
"REJECT": "Перехватывает запросы",
|
||||
"REJECT-DROP": "Отклоняет запросы",
|
||||
"PASS": "Пропускает это правило при совпадении"
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"notifications": {
|
||||
"tunMode": {
|
||||
|
||||
@@ -148,132 +148,6 @@
|
||||
"MATCH": "Tüm isteklerle eşleşir"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "Profil Oluştur",
|
||||
"edit": "Profili Düzenle"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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": {
|
||||
@@ -425,31 +299,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"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ı",
|
||||
@@ -1090,6 +939,19 @@
|
||||
"messages": {
|
||||
"directMode": "Doğrudan Mod"
|
||||
}
|
||||
},
|
||||
"strategies": {
|
||||
"select": "Vekil'i manuel olarak seçin",
|
||||
"url-test": "URL testi gecikmesine göre vekil seçin",
|
||||
"fallback": "Hata durumunda başka bir vekil'e geçin",
|
||||
"load-balance": "Yük dengelemeye göre vekil dağıtın",
|
||||
"relay": "Tanımlanan vekil zincirinden geçirin"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "Veri doğrudan dışarı gider",
|
||||
"REJECT": "İstekleri engeller",
|
||||
"REJECT-DROP": "İstekleri atar",
|
||||
"PASS": "Eşleştiğinde bu kuralı atlar"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
@@ -1150,7 +1012,129 @@
|
||||
"notifications": {
|
||||
"importSuccess": "Profil Başarıyla İçe Aktarıldı",
|
||||
"importSubscriptionSuccess": "Abonelik içe aktarımı başarılı",
|
||||
"importWithClashProxy": "Profil Clash vekil ile içe aktarıldı"
|
||||
"importWithClashProxy": "Profil Clash vekil ile içe aktarıldı",
|
||||
"saved": "Saved successfully"
|
||||
},
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "Profil Oluştur",
|
||||
"edit": "Profili Düzenle"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"fileInput": {
|
||||
"chooseFile": "Dosya Seç"
|
||||
},
|
||||
"more": {
|
||||
"global": {
|
||||
"merge": "Global Merge",
|
||||
"script": "Global Script"
|
||||
},
|
||||
"chips": {
|
||||
"merge": "Merge",
|
||||
"script": "Script"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"format": "Belgeyi biçimlendir",
|
||||
"readOnlyMessage": "Salt okunur düzenleyicide düzenlenemez"
|
||||
},
|
||||
"logViewer": {
|
||||
"title": "Betik Konsolu"
|
||||
}
|
||||
},
|
||||
"connections": {
|
||||
@@ -1167,6 +1151,29 @@
|
||||
"resume": "Sürdür",
|
||||
"closeAll": "Tümünü Kapat"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"order": {
|
||||
"default": "Default",
|
||||
"uploadSpeed": "Yükleme Hızı",
|
||||
"downloadSpeed": "İndirme Hızı"
|
||||
},
|
||||
"actions": {
|
||||
"closeConnection": "Bağlantıyı Kapat"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
@@ -1207,21 +1214,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"proxy": {
|
||||
"strategies": {
|
||||
"select": "Vekil'i manuel olarak seçin",
|
||||
"url-test": "URL testi gecikmesine göre vekil seçin",
|
||||
"fallback": "Hata durumunda başka bir vekil'e geçin",
|
||||
"load-balance": "Yük dengelemeye göre vekil dağıtın",
|
||||
"relay": "Tanımlanan vekil zincirinden geçirin"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "Veri doğrudan dışarı gider",
|
||||
"REJECT": "İstekleri engeller",
|
||||
"REJECT-DROP": "İstekleri atar",
|
||||
"PASS": "Eşleştiğinde bu kuralı atlar"
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"notifications": {
|
||||
"tunMode": {
|
||||
|
||||
@@ -148,132 +148,6 @@
|
||||
"MATCH": "Барлык сорауларга туры килә"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "Профиль булдыру",
|
||||
"edit": "Профильне үзгәртү"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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": {
|
||||
@@ -425,31 +299,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": "Система көйләүләре",
|
||||
@@ -1090,6 +939,19 @@
|
||||
"messages": {
|
||||
"directMode": "Туры режим"
|
||||
}
|
||||
},
|
||||
"strategies": {
|
||||
"select": "Проксины кулдан сайлау",
|
||||
"url-test": "URL-тест задержкасына карап прокси сайлау",
|
||||
"fallback": "Хата булган очракта башка проксига күчү",
|
||||
"load-balance": "Трафикны баланслау нигезендә прокси тарату",
|
||||
"relay": "Билгеле прокси чылбыры аша тапшыру"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "Туры чыгу",
|
||||
"REJECT": "Сорауларны тоткарлау",
|
||||
"REJECT-DROP": "Сорауларны кире кагу",
|
||||
"PASS": "Туры килсә дә, бу кагыйдәне урап узу"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
@@ -1150,7 +1012,129 @@
|
||||
"notifications": {
|
||||
"importSuccess": "Профиль уңышлы импортланды",
|
||||
"importSubscriptionSuccess": "Import subscription successful",
|
||||
"importWithClashProxy": "Profile Imported with Clash proxy"
|
||||
"importWithClashProxy": "Profile Imported with Clash proxy",
|
||||
"saved": "Saved successfully"
|
||||
},
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "Профиль булдыру",
|
||||
"edit": "Профильне үзгәртү"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"home": "Home",
|
||||
"select": "Сайлау",
|
||||
"editInfo": "Мәгълүматны үзгәртү",
|
||||
"editFile": "Файлны үзгәртү",
|
||||
"editRules": "Кагыйдәләрне үзгәртү",
|
||||
"editProxies": "Проксины үзгәртү",
|
||||
"editGroups": "Прокси төркемнәрен үзгәртү",
|
||||
"extendConfig": "Merge-ны үзгәртергә",
|
||||
"extendScript": "Script-ны үзгәртергә",
|
||||
"openFile": "Файлны ачу",
|
||||
"update": "Яңарту",
|
||||
"updateViaProxy": "Update via proxy"
|
||||
},
|
||||
"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": "Төркемне аска өстәү"
|
||||
}
|
||||
},
|
||||
"fileInput": {
|
||||
"chooseFile": "Файл сайлау"
|
||||
},
|
||||
"more": {
|
||||
"global": {
|
||||
"merge": "Global Merge",
|
||||
"script": "Global Script"
|
||||
},
|
||||
"chips": {
|
||||
"merge": "Merge",
|
||||
"script": "Script"
|
||||
}
|
||||
},
|
||||
"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": "Бу гамәлне кире кайтарып булмый"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"format": "Документны форматлау",
|
||||
"readOnlyMessage": "Уку режимында үзгәртү мөмкин түгел"
|
||||
},
|
||||
"logViewer": {
|
||||
"title": "Скрипт консоле"
|
||||
}
|
||||
},
|
||||
"connections": {
|
||||
@@ -1167,6 +1151,29 @@
|
||||
"resume": "Дәвам",
|
||||
"closeAll": "Барысын да ябу"
|
||||
}
|
||||
},
|
||||
"fields": {
|
||||
"host": "Хост",
|
||||
"downloaded": "Йөкләнгән",
|
||||
"uploaded": "Чыгарылган",
|
||||
"dlSpeed": "Йөкләү тизл.",
|
||||
"ulSpeed": "Чыгару тизл.",
|
||||
"chains": "Чылбырлар",
|
||||
"rule": "Кагыйдә",
|
||||
"process": "Процесс",
|
||||
"time": "Тоташу вакыты",
|
||||
"source": "Чыганак адресы",
|
||||
"destination": "Максат IP-адресы",
|
||||
"destinationPort": "Барасы порты",
|
||||
"type": "Төр"
|
||||
},
|
||||
"order": {
|
||||
"default": "Default",
|
||||
"uploadSpeed": "Йөкләү (чыгару) тизлеге",
|
||||
"downloadSpeed": "Йөкләү тизлеге"
|
||||
},
|
||||
"actions": {
|
||||
"closeConnection": "Тоташуны ябу"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
@@ -1207,21 +1214,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"proxy": {
|
||||
"strategies": {
|
||||
"select": "Проксины кулдан сайлау",
|
||||
"url-test": "URL-тест задержкасына карап прокси сайлау",
|
||||
"fallback": "Хата булган очракта башка проксига күчү",
|
||||
"load-balance": "Трафикны баланслау нигезендә прокси тарату",
|
||||
"relay": "Билгеле прокси чылбыры аша тапшыру"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "Туры чыгу",
|
||||
"REJECT": "Сорауларны тоткарлау",
|
||||
"REJECT-DROP": "Сорауларны кире кагу",
|
||||
"PASS": "Туры килсә дә, бу кагыйдәне урап узу"
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"notifications": {
|
||||
"tunMode": {
|
||||
|
||||
@@ -148,132 +148,6 @@
|
||||
"MATCH": "匹配所有请求 (MATCH)"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "新建配置",
|
||||
"edit": "编辑配置"
|
||||
},
|
||||
"fields": {
|
||||
"type": "类型",
|
||||
"name": "名称",
|
||||
"description": "描述",
|
||||
"subscriptionUrl": "订阅链接",
|
||||
"httpTimeout": "HTTP 请求超时",
|
||||
"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": "更新(代理)"
|
||||
},
|
||||
"item": {
|
||||
"tooltips": {
|
||||
"showLast": "点击查看上次更新时间",
|
||||
"showNext": "点击查看下一次更新"
|
||||
},
|
||||
"status": {
|
||||
"lastUpdateFailed": "上次更新失败",
|
||||
"nextUp": "下次更新",
|
||||
"noSchedule": "没有计划",
|
||||
"unknown": "未知",
|
||||
"autoUpdateDisabled": "自动更新已禁用"
|
||||
}
|
||||
},
|
||||
"confirm": {
|
||||
"delete": {
|
||||
"title": "确认删除",
|
||||
"message": "此操作不可逆"
|
||||
}
|
||||
},
|
||||
"logViewer": {
|
||||
"title": "脚本控制台输出"
|
||||
},
|
||||
"more": {
|
||||
"global": {
|
||||
"merge": "全局扩展覆写配置",
|
||||
"script": "全局扩展脚本"
|
||||
},
|
||||
"chips": {
|
||||
"merge": "Merge",
|
||||
"script": "Script"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"format": "格式化文档",
|
||||
"readOnlyMessage": "无法在只读模式下编辑"
|
||||
}
|
||||
},
|
||||
"home": {
|
||||
"proxyTunCard": {
|
||||
"status": {
|
||||
@@ -425,31 +299,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"connection": {
|
||||
"fields": {
|
||||
"host": "主机",
|
||||
"downloaded": "下载量",
|
||||
"uploaded": "上传量",
|
||||
"dlSpeed": "下载速度",
|
||||
"ulSpeed": "上传速度",
|
||||
"chains": "链路",
|
||||
"rule": "规则",
|
||||
"process": "进程",
|
||||
"time": "连接时间",
|
||||
"source": "源地址",
|
||||
"destination": "目标地址",
|
||||
"destinationPort": "目标端口",
|
||||
"type": "类型"
|
||||
},
|
||||
"actions": {
|
||||
"closeConnection": "关闭连接"
|
||||
},
|
||||
"order": {
|
||||
"default": "默认",
|
||||
"uploadSpeed": "上传速度",
|
||||
"downloadSpeed": "下载速度"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"system": {
|
||||
"title": "系统设置",
|
||||
@@ -1090,6 +939,19 @@
|
||||
"messages": {
|
||||
"directMode": "直连模式"
|
||||
}
|
||||
},
|
||||
"strategies": {
|
||||
"select": "手动选择代理",
|
||||
"url-test": "根据 URL 测试延迟选择代理",
|
||||
"fallback": "不可用时切换到另一个代理",
|
||||
"load-balance": "根据负载均衡分配代理",
|
||||
"relay": "根据定义的代理链传递"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "直连 (DIRECT)",
|
||||
"REJECT": "拦截请求 (REJECT)",
|
||||
"REJECT-DROP": "抛弃请求 (REJECT-DROP)",
|
||||
"PASS": "跳过此规则 (PASS)"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
@@ -1150,7 +1012,129 @@
|
||||
"notifications": {
|
||||
"importSuccess": "导入订阅成功",
|
||||
"importSubscriptionSuccess": "导入订阅成功",
|
||||
"importWithClashProxy": "使用 Clash 代理导入订阅成功"
|
||||
"importWithClashProxy": "使用 Clash 代理导入订阅成功",
|
||||
"saved": "保存成功"
|
||||
},
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "新建配置",
|
||||
"edit": "编辑配置"
|
||||
},
|
||||
"fields": {
|
||||
"type": "类型",
|
||||
"name": "名称",
|
||||
"description": "描述",
|
||||
"subscriptionUrl": "订阅链接",
|
||||
"httpTimeout": "HTTP 请求超时",
|
||||
"updateInterval": "更新间隔",
|
||||
"useSystemProxy": "使用系统代理更新",
|
||||
"useClashProxy": "使用内核代理更新",
|
||||
"acceptInvalidCerts": "允许无效证书(危险)",
|
||||
"allowAutoUpdate": "允许自动更新"
|
||||
},
|
||||
"notifications": {
|
||||
"creationRetry": "订阅创建失败,尝试使用 Clash 代理创建",
|
||||
"creationSuccess": "使用 Clash 代理创建订阅成功"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"home": "首 页",
|
||||
"select": "使用",
|
||||
"editInfo": "编辑信息",
|
||||
"editFile": "编辑文件",
|
||||
"editRules": "编辑规则",
|
||||
"editProxies": "编辑节点",
|
||||
"editGroups": "编辑代理组",
|
||||
"extendConfig": "扩展覆写配置",
|
||||
"extendScript": "扩展脚本",
|
||||
"openFile": "打开文件",
|
||||
"update": "更新",
|
||||
"updateViaProxy": "更新(代理)"
|
||||
},
|
||||
"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": "添加后置代理组"
|
||||
}
|
||||
},
|
||||
"fileInput": {
|
||||
"chooseFile": "选择文件"
|
||||
},
|
||||
"more": {
|
||||
"global": {
|
||||
"merge": "全局扩展覆写配置",
|
||||
"script": "全局扩展脚本"
|
||||
},
|
||||
"chips": {
|
||||
"merge": "Merge",
|
||||
"script": "Script"
|
||||
}
|
||||
},
|
||||
"item": {
|
||||
"tooltips": {
|
||||
"showLast": "点击查看上次更新时间",
|
||||
"showNext": "点击查看下一次更新"
|
||||
},
|
||||
"status": {
|
||||
"lastUpdateFailed": "上次更新失败",
|
||||
"nextUp": "下次更新",
|
||||
"noSchedule": "没有计划",
|
||||
"unknown": "未知",
|
||||
"autoUpdateDisabled": "自动更新已禁用"
|
||||
}
|
||||
},
|
||||
"confirm": {
|
||||
"delete": {
|
||||
"title": "确认删除",
|
||||
"message": "此操作不可逆"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"format": "格式化文档",
|
||||
"readOnlyMessage": "无法在只读模式下编辑"
|
||||
},
|
||||
"logViewer": {
|
||||
"title": "脚本控制台输出"
|
||||
}
|
||||
},
|
||||
"connections": {
|
||||
@@ -1167,6 +1151,29 @@
|
||||
"resume": "继续",
|
||||
"closeAll": "关闭全部"
|
||||
}
|
||||
},
|
||||
"fields": {
|
||||
"host": "主机",
|
||||
"downloaded": "下载量",
|
||||
"uploaded": "上传量",
|
||||
"dlSpeed": "下载速度",
|
||||
"ulSpeed": "上传速度",
|
||||
"chains": "链路",
|
||||
"rule": "规则",
|
||||
"process": "进程",
|
||||
"time": "连接时间",
|
||||
"source": "源地址",
|
||||
"destination": "目标地址",
|
||||
"destinationPort": "目标端口",
|
||||
"type": "类型"
|
||||
},
|
||||
"order": {
|
||||
"default": "默认",
|
||||
"uploadSpeed": "上传速度",
|
||||
"downloadSpeed": "下载速度"
|
||||
},
|
||||
"actions": {
|
||||
"closeConnection": "关闭连接"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
@@ -1207,21 +1214,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"proxy": {
|
||||
"strategies": {
|
||||
"select": "手动选择代理",
|
||||
"url-test": "根据 URL 测试延迟选择代理",
|
||||
"fallback": "不可用时切换到另一个代理",
|
||||
"load-balance": "根据负载均衡分配代理",
|
||||
"relay": "根据定义的代理链传递"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "直连 (DIRECT)",
|
||||
"REJECT": "拦截请求 (REJECT)",
|
||||
"REJECT-DROP": "抛弃请求 (REJECT-DROP)",
|
||||
"PASS": "跳过此规则 (PASS)"
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"notifications": {
|
||||
"tunMode": {
|
||||
|
||||
@@ -148,132 +148,6 @@
|
||||
"MATCH": "配對所有請求 (MATCH)"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "新增設定檔",
|
||||
"edit": "編輯設定檔"
|
||||
},
|
||||
"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": "更新(代理)"
|
||||
},
|
||||
"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": {
|
||||
@@ -425,31 +299,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": "系統設定",
|
||||
@@ -1090,6 +939,19 @@
|
||||
"messages": {
|
||||
"directMode": "直連模式"
|
||||
}
|
||||
},
|
||||
"strategies": {
|
||||
"select": "手動選擇代理",
|
||||
"url-test": "根據網址測試延遲選擇代理",
|
||||
"fallback": "切換至另一個備用代理",
|
||||
"load-balance": "根據負載平衡分配代理",
|
||||
"relay": "根據定義的代理鏈傳送"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "直連 (DIRECT)",
|
||||
"REJECT": "拒絕請求 (REJECT)",
|
||||
"REJECT-DROP": "丟棄請求 (REJECT-DROP)",
|
||||
"PASS": "跳過此規則 (PASS)"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
@@ -1150,7 +1012,129 @@
|
||||
"notifications": {
|
||||
"importSuccess": "匯入設定檔成功",
|
||||
"importSubscriptionSuccess": "匯入訂閱成功",
|
||||
"importWithClashProxy": "使用 Clash 代理匯入訂閱成功"
|
||||
"importWithClashProxy": "使用 Clash 代理匯入訂閱成功",
|
||||
"saved": "儲存成功"
|
||||
},
|
||||
"viewer": {
|
||||
"title": {
|
||||
"create": "新增設定檔",
|
||||
"edit": "編輯設定檔"
|
||||
},
|
||||
"fields": {
|
||||
"type": "類型",
|
||||
"name": "名稱",
|
||||
"description": "描述",
|
||||
"subscriptionUrl": "訂閱網址",
|
||||
"httpTimeout": "HTTP Request Timeout",
|
||||
"updateInterval": "更新間隔",
|
||||
"useSystemProxy": "使用系統代理更新",
|
||||
"useClashProxy": "使用內核代理更新",
|
||||
"acceptInvalidCerts": "允許無效憑證(危險)",
|
||||
"allowAutoUpdate": "允許自動更新"
|
||||
},
|
||||
"notifications": {
|
||||
"creationRetry": "訂閱建立失敗,嘗試使用 Clash 代理建立",
|
||||
"creationSuccess": "使用 Clash 代理建立訂閱成功"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"home": "首 頁",
|
||||
"select": "使用",
|
||||
"editInfo": "編輯資訊",
|
||||
"editFile": "編輯檔案",
|
||||
"editRules": "編輯規則",
|
||||
"editProxies": "編輯節點",
|
||||
"editGroups": "編輯代理組",
|
||||
"extendConfig": "擴充覆寫設定",
|
||||
"extendScript": "擴充指令碼",
|
||||
"openFile": "開啟檔案",
|
||||
"update": "更新",
|
||||
"updateViaProxy": "更新(代理)"
|
||||
},
|
||||
"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": "新增後置代理組"
|
||||
}
|
||||
},
|
||||
"fileInput": {
|
||||
"chooseFile": "選擇檔案"
|
||||
},
|
||||
"more": {
|
||||
"global": {
|
||||
"merge": "Global Merge",
|
||||
"script": "Global Script"
|
||||
},
|
||||
"chips": {
|
||||
"merge": "Merge",
|
||||
"script": "Script"
|
||||
}
|
||||
},
|
||||
"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": "此操作無法復原"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"format": "格式化文件",
|
||||
"readOnlyMessage": "無法在唯讀模式下編輯"
|
||||
},
|
||||
"logViewer": {
|
||||
"title": "指令碼控制台輸出"
|
||||
}
|
||||
},
|
||||
"connections": {
|
||||
@@ -1167,6 +1151,29 @@
|
||||
"resume": "繼續",
|
||||
"closeAll": "關閉全部"
|
||||
}
|
||||
},
|
||||
"fields": {
|
||||
"host": "主機",
|
||||
"downloaded": "下載量",
|
||||
"uploaded": "上傳量",
|
||||
"dlSpeed": "下載速度",
|
||||
"ulSpeed": "上傳速度",
|
||||
"chains": "鏈路",
|
||||
"rule": "規則",
|
||||
"process": "處理程序",
|
||||
"time": "連線時間",
|
||||
"source": "來源位址",
|
||||
"destination": "目標位址",
|
||||
"destinationPort": "目標連接埠",
|
||||
"type": "類型"
|
||||
},
|
||||
"order": {
|
||||
"default": "Default",
|
||||
"uploadSpeed": "上傳速度",
|
||||
"downloadSpeed": "下載速度"
|
||||
},
|
||||
"actions": {
|
||||
"closeConnection": "關閉連線"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
@@ -1207,21 +1214,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"proxy": {
|
||||
"strategies": {
|
||||
"select": "手動選擇代理",
|
||||
"url-test": "根據網址測試延遲選擇代理",
|
||||
"fallback": "切換至另一個備用代理",
|
||||
"load-balance": "根據負載平衡分配代理",
|
||||
"relay": "根據定義的代理鏈傳送"
|
||||
},
|
||||
"policies": {
|
||||
"DIRECT": "直連 (DIRECT)",
|
||||
"REJECT": "拒絕請求 (REJECT)",
|
||||
"REJECT-DROP": "丟棄請求 (REJECT-DROP)",
|
||||
"PASS": "跳過此規則 (PASS)"
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"notifications": {
|
||||
"tunMode": {
|
||||
|
||||
@@ -36,7 +36,7 @@ type OrderFunc = (list: IConnectionsItem[]) => IConnectionsItem[];
|
||||
const ORDER_OPTIONS = [
|
||||
{
|
||||
id: "default",
|
||||
labelKey: "connection.order.default",
|
||||
labelKey: "connections.order.default",
|
||||
fn: (list: IConnectionsItem[]) =>
|
||||
list.sort(
|
||||
(a, b) =>
|
||||
@@ -46,13 +46,13 @@ const ORDER_OPTIONS = [
|
||||
},
|
||||
{
|
||||
id: "uploadSpeed",
|
||||
labelKey: "connection.order.uploadSpeed",
|
||||
labelKey: "connections.order.uploadSpeed",
|
||||
fn: (list: IConnectionsItem[]) =>
|
||||
list.sort((a, b) => b.curUpload! - a.curUpload!),
|
||||
},
|
||||
{
|
||||
id: "downloadSpeed",
|
||||
labelKey: "connection.order.downloadSpeed",
|
||||
labelKey: "connections.order.downloadSpeed",
|
||||
fn: (list: IConnectionsItem[]) =>
|
||||
list.sort((a, b) => b.curDownload! - a.curDownload!),
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user