mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-10-28 09:12:08 +08:00
chore: i18n (#5276)
* chore: notice i18n * feat: add script to clean up unused i18n keys * chore: cleanup i18n keys * refactor(i18n/proxies): migrate proxies UI to structured locale keys * chore: i18n for rule module * chore: i18n for profile module * chore: i18n for connections module * chore: i18n for settings module * chore: i18n for verge settings * chore: i18n for theme settings * chore: i18n for theme * chore(i18n): components.home.* * chore(i18n): remove unused i18n keys * chore(i18n): components.profile.* * chore(i18n): components.connection * chore(i18n): pages.logs.* * chore(i18n): pages.*.provider * chore(i18n): components.settings.externalCors.* * chore(i18n): components.settings.clash.* * chore(i18n): components.settings.liteMode.* * chore(i18n): components.settings.backup.* * chore(i18n): components.settings.clash.port.* * chore(i18n): components.settings.misc.* * chore(i18n): components.settings.update.* * chore(i18n): components.settings.sysproxy.* * chore(i18n): components.settings.sysproxy.* * chore(i18n): pages.profiles.notices/components.providers.notices * refactor(notice): unify showNotice usage * refactor(notice): add typed showNotice shortcuts, centralize defaults, and simplify subscriptions * refactor: unify showNotice usage * refactor(notice): unify showNotice API * refactor(notice): unify showNotice usage * chore(i18n): components.test.* * chore(i18n): components.settings.dns.* * chore(i18n): components.home.clashInfo.* * chore(i18n): components.home.systemInfo.* * chore(i18n): components.home.ipInfo/traffic.* * chore(i18n): navigation.* * refactor(i18n): remove pages.* namespace and migrate route texts under module-level page keys * chore(i18n): common.* * chore(i18n): common.* * fix: change error handling in patch_profiles_config to return false when a switch is in progress * fix: improve error handling in patch_profiles_config to prevent requests during profile switching * fix: change error handling in patch_profiles_config to return false when a switch is in progress fix: ensure CURRENT_SWITCHING_PROFILE is reset after config updates in perform_config_update and patch_profiles_config * chore(i18n): restructure root-level locale keys into namespaces * chore(i18n): add missing i18n keys * docs: i18n guide * chore: adjust i18n * refactor(i18n): align UI actions and status labels with common keys * refactor(i18n): unify two-name locale namespaces * refactor(i18n/components): unify locale keys and update component references * chore(i18n): add shared and entities namespaces to all locale files * refactor(i18n): consolidate shared and entity namespaces across features * chore(deps): update npm dependencies to ^7.3.5 (#5310) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * refactor(i18n): migrate shared editor modes and consolidate entities namespaces * tmp * refactor(i18n): flatten locales and move theme/validation strings * docs: CONTRIBUTING_i18n.md * refactor(i18n): restructure feedback and profile namespaces for better organization * refactor(i18n): unify settings locale structure and update references * refactor(i18n): reorganize locale keys for home, proxies, rules, connections, logs, unlock, and tests * refactor(i18n/feedback/layout): unify shared toasts & normalize layout namespace * refactor(i18n): centralize common UI strings in shared * refactor(i18n): flatten headers and unify locale schema * refactor(i18n): consolidate duplicate per-feature translations into shared namespace * refactor(i18n): split locales into per-namespace files * style: lint * refactor(i18n): unify unlock UI translations under tests namespace * feat(i18n): add type-checked translation keys * style: eslint import order * feat(i18n): replace ad-hoc loader with rust-i18n backend bundles * chore(prebuild): remove locale-copy step * fix(i18n, notice): propagate runtime params and update cleanup script path * fix(i18n,notice): make locale formatting idempotent and guard early notice translations * fix(i18n): resolve locale aliases and match OS codes correctly * fix(unlock): use i18next-compatible double-brace interpolation in failure notice * fix(i18n): route unlock error notices through translation keys * fix(i18n): i18n types * feat(i18n): localize upgrade notice for Clash core viewer * fix(notice): ensure runtime overrides apply to prefix translations * chore(i18n): replace literal notices with translation keys * chore(i18n): types * chore(i18n): regen typings before formatting to keep keys in sync * chore(i18n): simply labels * chore(i18n): adjust translation * chore: remove eslint-plugin-i18next * chore(i18n): add/refine Korean translations across frontend scopes and Rust backend (#5341) * chore(i18n): translate settings.json (missed in previous pass) (#5343) * chore(i18n): add/refine Korean translations across frontend scopes and Rust backend * chore(i18n): add/refine Korean translations across frontend scopes and Rust backend * fix(i18n-tauri): quote placeholder-leading value in ko.yml to prevent rust_i18n parse panic * chore(i18n): translate settings.json (forgot to include previously) --------- Co-authored-by: rozan <34974262+thelojan@users.noreply.github.com>
This commit is contained in:
co-authored by
renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
rozan
parent
c1a2e99f63
commit
c8aa72186e
@@ -0,0 +1,728 @@
|
||||
// This file is auto-generated by scripts/generate-i18n-keys.mjs
|
||||
// Do not edit this file manually.
|
||||
|
||||
export const translationKeys = [
|
||||
"connections.page.title",
|
||||
"connections.components.fields.host",
|
||||
"connections.components.fields.dlSpeed",
|
||||
"connections.components.fields.ulSpeed",
|
||||
"connections.components.fields.chains",
|
||||
"connections.components.fields.rule",
|
||||
"connections.components.fields.process",
|
||||
"connections.components.fields.time",
|
||||
"connections.components.fields.source",
|
||||
"connections.components.fields.destination",
|
||||
"connections.components.fields.destinationPort",
|
||||
"connections.components.fields.type",
|
||||
"connections.components.order.default",
|
||||
"connections.components.order.uploadSpeed",
|
||||
"connections.components.order.downloadSpeed",
|
||||
"connections.components.actions.closeConnection",
|
||||
"home.page.tooltips.lightweightMode",
|
||||
"home.page.tooltips.manual",
|
||||
"home.page.tooltips.settings",
|
||||
"home.page.cards.trafficStats",
|
||||
"home.page.cards.networkSettings",
|
||||
"home.page.cards.proxyMode",
|
||||
"home.page.settings.cards.profile",
|
||||
"home.page.settings.cards.currentProxy",
|
||||
"home.page.settings.cards.network",
|
||||
"home.page.settings.cards.proxyMode",
|
||||
"home.page.settings.cards.traffic",
|
||||
"home.page.settings.cards.tests",
|
||||
"home.page.settings.cards.ip",
|
||||
"home.page.settings.cards.clashInfo",
|
||||
"home.page.settings.cards.systemInfo",
|
||||
"home.page.settings.title",
|
||||
"home.page.title",
|
||||
"home.components.proxyTun.status.systemProxyEnabled",
|
||||
"home.components.proxyTun.status.systemProxyDisabled",
|
||||
"home.components.proxyTun.status.tunModeServiceRequired",
|
||||
"home.components.proxyTun.status.tunModeEnabled",
|
||||
"home.components.proxyTun.status.tunModeDisabled",
|
||||
"home.components.proxyTun.tooltips.systemProxy",
|
||||
"home.components.proxyTun.tooltips.tunMode",
|
||||
"home.components.clashInfo.title",
|
||||
"home.components.clashInfo.fields.coreVersion",
|
||||
"home.components.clashInfo.fields.systemProxyAddress",
|
||||
"home.components.clashInfo.fields.mixedPort",
|
||||
"home.components.clashInfo.fields.uptime",
|
||||
"home.components.clashInfo.fields.rulesCount",
|
||||
"home.components.systemInfo.title",
|
||||
"home.components.systemInfo.fields.osInfo",
|
||||
"home.components.systemInfo.fields.autoLaunch",
|
||||
"home.components.systemInfo.fields.runningMode",
|
||||
"home.components.systemInfo.fields.lastCheckUpdate",
|
||||
"home.components.systemInfo.fields.vergeVersion",
|
||||
"home.components.systemInfo.actions.settings",
|
||||
"home.components.systemInfo.tooltips.autoLaunchAdmin",
|
||||
"home.components.systemInfo.badges.adminMode",
|
||||
"home.components.systemInfo.badges.serviceMode",
|
||||
"home.components.systemInfo.badges.sidecarMode",
|
||||
"home.components.systemInfo.badges.adminServiceMode",
|
||||
"home.components.ipInfo.title",
|
||||
"home.components.ipInfo.labels.ip",
|
||||
"home.components.ipInfo.labels.asn",
|
||||
"home.components.ipInfo.labels.isp",
|
||||
"home.components.ipInfo.labels.org",
|
||||
"home.components.ipInfo.labels.location",
|
||||
"home.components.ipInfo.labels.timezone",
|
||||
"home.components.ipInfo.labels.autoRefresh",
|
||||
"home.components.ipInfo.labels.unknown",
|
||||
"home.components.ipInfo.errors.load",
|
||||
"home.components.currentProxy.title",
|
||||
"home.components.currentProxy.actions.refreshDelay",
|
||||
"home.components.currentProxy.labels.globalMode",
|
||||
"home.components.currentProxy.labels.directMode",
|
||||
"home.components.currentProxy.labels.group",
|
||||
"home.components.currentProxy.labels.proxy",
|
||||
"home.components.currentProxy.labels.noActiveNode",
|
||||
"home.components.tests.title",
|
||||
"home.components.traffic.metrics.uploadSpeed",
|
||||
"home.components.traffic.metrics.downloadSpeed",
|
||||
"home.components.traffic.metrics.activeConnections",
|
||||
"home.components.traffic.metrics.memoryUsage",
|
||||
"home.components.traffic.legends.upload",
|
||||
"home.components.traffic.legends.download",
|
||||
"home.components.traffic.patterns.minutes",
|
||||
"home.components.clashMode.errors.communication",
|
||||
"home.components.clashMode.labels.rule",
|
||||
"home.components.clashMode.labels.global",
|
||||
"home.components.clashMode.labels.direct",
|
||||
"home.components.clashMode.descriptions.rule",
|
||||
"home.components.clashMode.descriptions.global",
|
||||
"home.components.clashMode.descriptions.direct",
|
||||
"layout.components.navigation.tabs.home",
|
||||
"layout.components.navigation.tabs.proxies",
|
||||
"layout.components.navigation.tabs.profiles",
|
||||
"layout.components.navigation.tabs.connections",
|
||||
"layout.components.navigation.tabs.rules",
|
||||
"layout.components.navigation.tabs.logs",
|
||||
"layout.components.navigation.tabs.unlock",
|
||||
"layout.components.navigation.tabs.settings",
|
||||
"layout.components.navigation.menu.reorderMode",
|
||||
"layout.components.navigation.menu.unlock",
|
||||
"layout.components.navigation.menu.lock",
|
||||
"logs.page.title",
|
||||
"profiles.page.actions.updateAll",
|
||||
"profiles.page.actions.viewRuntimeConfig",
|
||||
"profiles.page.actions.reactivate",
|
||||
"profiles.page.actions.import",
|
||||
"profiles.page.batch.actions.delete",
|
||||
"profiles.page.batch.actions.selectAll",
|
||||
"profiles.page.batch.actions.deselectAll",
|
||||
"profiles.page.batch.actions.done",
|
||||
"profiles.page.batch.summary.selected",
|
||||
"profiles.page.batch.summary.items",
|
||||
"profiles.page.batch.title",
|
||||
"profiles.page.importForm.placeholder",
|
||||
"profiles.page.importForm.actions.paste",
|
||||
"profiles.page.feedback.errors.invalidUrl",
|
||||
"profiles.page.feedback.errors.onlyYaml",
|
||||
"profiles.page.feedback.notifications.importRetry",
|
||||
"profiles.page.feedback.notifications.importFail",
|
||||
"profiles.page.feedback.notifications.importNeedsRefresh",
|
||||
"profiles.page.feedback.notifications.importSuccess",
|
||||
"profiles.page.feedback.notifications.profileSwitched",
|
||||
"profiles.page.feedback.notifications.profileReactivated",
|
||||
"profiles.page.feedback.notifications.switchInterrupted",
|
||||
"profiles.page.feedback.notifications.batchDeleted",
|
||||
"profiles.page.feedback.notices.forceRefreshCompleted",
|
||||
"profiles.page.feedback.notices.emergencyRefreshFailed",
|
||||
"profiles.page.title",
|
||||
"profiles.components.card.labels.clickToImport",
|
||||
"profiles.components.fileInput.chooseFile",
|
||||
"profiles.components.menu.home",
|
||||
"profiles.components.menu.select",
|
||||
"profiles.components.menu.editInfo",
|
||||
"profiles.components.menu.editFile",
|
||||
"profiles.components.menu.editRules",
|
||||
"profiles.components.menu.editProxies",
|
||||
"profiles.components.menu.editGroups",
|
||||
"profiles.components.menu.extendConfig",
|
||||
"profiles.components.menu.extendScript",
|
||||
"profiles.components.menu.openFile",
|
||||
"profiles.components.menu.update",
|
||||
"profiles.components.menu.updateViaProxy",
|
||||
"profiles.components.more.global.merge",
|
||||
"profiles.components.more.global.script",
|
||||
"profiles.components.more.chips.merge",
|
||||
"profiles.components.more.chips.script",
|
||||
"profiles.components.profileItem.tooltips.showLast",
|
||||
"profiles.components.profileItem.tooltips.showNext",
|
||||
"profiles.components.profileItem.status.lastUpdateFailed",
|
||||
"profiles.components.profileItem.status.nextUp",
|
||||
"profiles.components.profileItem.status.noSchedule",
|
||||
"profiles.components.profileItem.status.unknown",
|
||||
"profiles.components.profileItem.status.autoUpdateDisabled",
|
||||
"profiles.modals.profileForm.title.create",
|
||||
"profiles.modals.profileForm.title.edit",
|
||||
"profiles.modals.profileForm.fields.type",
|
||||
"profiles.modals.profileForm.fields.description",
|
||||
"profiles.modals.profileForm.fields.subscriptionUrl",
|
||||
"profiles.modals.profileForm.fields.httpTimeout",
|
||||
"profiles.modals.profileForm.fields.updateInterval",
|
||||
"profiles.modals.profileForm.fields.useSystemProxy",
|
||||
"profiles.modals.profileForm.fields.useClashProxy",
|
||||
"profiles.modals.profileForm.fields.acceptInvalidCerts",
|
||||
"profiles.modals.profileForm.fields.allowAutoUpdate",
|
||||
"profiles.modals.profileForm.feedback.notifications.creationRetry",
|
||||
"profiles.modals.profileForm.feedback.notifications.creationSuccess",
|
||||
"profiles.modals.proxiesEditor.title",
|
||||
"profiles.modals.proxiesEditor.placeholders.multiUri",
|
||||
"profiles.modals.proxiesEditor.actions.prepend",
|
||||
"profiles.modals.proxiesEditor.actions.append",
|
||||
"profiles.modals.groupsEditor.title",
|
||||
"profiles.modals.groupsEditor.errors.nameRequired",
|
||||
"profiles.modals.groupsEditor.errors.nameExists",
|
||||
"profiles.modals.groupsEditor.fields.type",
|
||||
"profiles.modals.groupsEditor.fields.name",
|
||||
"profiles.modals.groupsEditor.fields.icon",
|
||||
"profiles.modals.groupsEditor.fields.proxies",
|
||||
"profiles.modals.groupsEditor.fields.provider",
|
||||
"profiles.modals.groupsEditor.fields.healthCheckUrl",
|
||||
"profiles.modals.groupsEditor.fields.expectedStatus",
|
||||
"profiles.modals.groupsEditor.fields.interval",
|
||||
"profiles.modals.groupsEditor.fields.maxFailedTimes",
|
||||
"profiles.modals.groupsEditor.fields.interfaceName",
|
||||
"profiles.modals.groupsEditor.fields.routingMark",
|
||||
"profiles.modals.groupsEditor.fields.filter",
|
||||
"profiles.modals.groupsEditor.fields.excludeFilter",
|
||||
"profiles.modals.groupsEditor.fields.excludeType",
|
||||
"profiles.modals.groupsEditor.fields.includeAll",
|
||||
"profiles.modals.groupsEditor.fields.includeAllProxies",
|
||||
"profiles.modals.groupsEditor.fields.includeAllProviders",
|
||||
"profiles.modals.groupsEditor.toggles.lazy",
|
||||
"profiles.modals.groupsEditor.toggles.disableUdp",
|
||||
"profiles.modals.groupsEditor.toggles.hidden",
|
||||
"profiles.modals.groupsEditor.actions.prepend",
|
||||
"profiles.modals.groupsEditor.actions.append",
|
||||
"profiles.modals.editor.actions.format",
|
||||
"profiles.modals.editor.messages.readOnly",
|
||||
"profiles.modals.confirmDelete.title",
|
||||
"profiles.modals.confirmDelete.message",
|
||||
"profiles.modals.logViewer.title",
|
||||
"proxies.page.modes.rule",
|
||||
"proxies.page.modes.global",
|
||||
"proxies.page.modes.direct",
|
||||
"proxies.page.actions.toggleChain",
|
||||
"proxies.page.actions.connect",
|
||||
"proxies.page.actions.disconnect",
|
||||
"proxies.page.actions.connecting",
|
||||
"proxies.page.actions.clearChainConfig",
|
||||
"proxies.page.provider.title",
|
||||
"proxies.page.provider.actions.updateAll",
|
||||
"proxies.page.provider.actions.update",
|
||||
"proxies.page.rules.title",
|
||||
"proxies.page.rules.select",
|
||||
"proxies.page.labels.proxyCount",
|
||||
"proxies.page.labels.delayCheckReset",
|
||||
"proxies.page.tooltips.locate",
|
||||
"proxies.page.tooltips.delayCheck",
|
||||
"proxies.page.tooltips.sortDefault",
|
||||
"proxies.page.tooltips.sortDelay",
|
||||
"proxies.page.tooltips.sortName",
|
||||
"proxies.page.tooltips.delayCheckUrl",
|
||||
"proxies.page.tooltips.showBasic",
|
||||
"proxies.page.tooltips.showDetail",
|
||||
"proxies.page.tooltips.filter",
|
||||
"proxies.page.placeholders.delayCheckUrl",
|
||||
"proxies.page.chain.header",
|
||||
"proxies.page.chain.empty",
|
||||
"proxies.page.chain.instruction",
|
||||
"proxies.page.chain.minimumNodes",
|
||||
"proxies.page.chain.minimumNodesHint",
|
||||
"proxies.page.chain.connectFailed",
|
||||
"proxies.page.chain.disconnectFailed",
|
||||
"proxies.page.chain.duplicateNode",
|
||||
"proxies.page.messages.directMode",
|
||||
"proxies.page.title.default",
|
||||
"proxies.page.title.chainMode",
|
||||
"proxies.feedback.notifications.provider.updateSuccess",
|
||||
"proxies.feedback.notifications.provider.updateFailed",
|
||||
"proxies.feedback.notifications.provider.genericError",
|
||||
"proxies.feedback.notifications.provider.none",
|
||||
"proxies.feedback.notifications.provider.allUpdated",
|
||||
"proxies.components.enums.strategies.select",
|
||||
"proxies.components.enums.strategies.url-test",
|
||||
"proxies.components.enums.strategies.fallback",
|
||||
"proxies.components.enums.strategies.load-balance",
|
||||
"proxies.components.enums.strategies.relay",
|
||||
"proxies.components.enums.policies.DIRECT",
|
||||
"proxies.components.enums.policies.REJECT",
|
||||
"proxies.components.enums.policies.REJECT-DROP",
|
||||
"proxies.components.enums.policies.PASS",
|
||||
"rules.page.provider.trigger",
|
||||
"rules.page.provider.dialogTitle",
|
||||
"rules.page.provider.actions.updateAll",
|
||||
"rules.page.provider.actions.update",
|
||||
"rules.page.title",
|
||||
"rules.feedback.notifications.provider.updateSuccess",
|
||||
"rules.feedback.notifications.provider.updateFailed",
|
||||
"rules.feedback.notifications.provider.genericError",
|
||||
"rules.feedback.notifications.provider.none",
|
||||
"rules.feedback.notifications.provider.allUpdated",
|
||||
"rules.modals.editor.form.labels.type",
|
||||
"rules.modals.editor.form.labels.content",
|
||||
"rules.modals.editor.form.labels.proxyPolicy",
|
||||
"rules.modals.editor.form.toggles.noResolve",
|
||||
"rules.modals.editor.form.actions.prependRule",
|
||||
"rules.modals.editor.form.actions.appendRule",
|
||||
"rules.modals.editor.form.validation.conditionRequired",
|
||||
"rules.modals.editor.form.validation.invalidRule",
|
||||
"rules.modals.editor.ruleTypes.DOMAIN",
|
||||
"rules.modals.editor.ruleTypes.DOMAIN-SUFFIX",
|
||||
"rules.modals.editor.ruleTypes.DOMAIN-KEYWORD",
|
||||
"rules.modals.editor.ruleTypes.DOMAIN-REGEX",
|
||||
"rules.modals.editor.ruleTypes.GEOSITE",
|
||||
"rules.modals.editor.ruleTypes.GEOIP",
|
||||
"rules.modals.editor.ruleTypes.SRC-GEOIP",
|
||||
"rules.modals.editor.ruleTypes.IP-ASN",
|
||||
"rules.modals.editor.ruleTypes.SRC-IP-ASN",
|
||||
"rules.modals.editor.ruleTypes.IP-CIDR",
|
||||
"rules.modals.editor.ruleTypes.IP-CIDR6",
|
||||
"rules.modals.editor.ruleTypes.SRC-IP-CIDR",
|
||||
"rules.modals.editor.ruleTypes.IP-SUFFIX",
|
||||
"rules.modals.editor.ruleTypes.SRC-IP-SUFFIX",
|
||||
"rules.modals.editor.ruleTypes.SRC-PORT",
|
||||
"rules.modals.editor.ruleTypes.DST-PORT",
|
||||
"rules.modals.editor.ruleTypes.IN-PORT",
|
||||
"rules.modals.editor.ruleTypes.DSCP",
|
||||
"rules.modals.editor.ruleTypes.PROCESS-NAME",
|
||||
"rules.modals.editor.ruleTypes.PROCESS-PATH",
|
||||
"rules.modals.editor.ruleTypes.PROCESS-NAME-REGEX",
|
||||
"rules.modals.editor.ruleTypes.PROCESS-PATH-REGEX",
|
||||
"rules.modals.editor.ruleTypes.NETWORK",
|
||||
"rules.modals.editor.ruleTypes.UID",
|
||||
"rules.modals.editor.ruleTypes.IN-TYPE",
|
||||
"rules.modals.editor.ruleTypes.IN-USER",
|
||||
"rules.modals.editor.ruleTypes.IN-NAME",
|
||||
"rules.modals.editor.ruleTypes.SUB-RULE",
|
||||
"rules.modals.editor.ruleTypes.RULE-SET",
|
||||
"rules.modals.editor.ruleTypes.AND",
|
||||
"rules.modals.editor.ruleTypes.OR",
|
||||
"rules.modals.editor.ruleTypes.NOT",
|
||||
"rules.modals.editor.ruleTypes.MATCH",
|
||||
"rules.modals.editor.title",
|
||||
"settings.page.actions.manual",
|
||||
"settings.page.actions.telegram",
|
||||
"settings.page.actions.github",
|
||||
"settings.page.title",
|
||||
"settings.sections.system.title",
|
||||
"settings.sections.system.toggles.tunMode",
|
||||
"settings.sections.system.toggles.systemProxy",
|
||||
"settings.sections.system.tooltips.autoLaunchAdmin",
|
||||
"settings.sections.system.tooltips.silentStart",
|
||||
"settings.sections.system.fields.autoLaunch",
|
||||
"settings.sections.system.fields.silentStart",
|
||||
"settings.sections.system.notifications.tunMode.autoDisabled",
|
||||
"settings.sections.system.notifications.tunMode.autoDisableFailed",
|
||||
"settings.sections.proxyControl.tooltips.systemProxy",
|
||||
"settings.sections.proxyControl.tooltips.tunMode",
|
||||
"settings.sections.proxyControl.tooltips.tunUnavailable",
|
||||
"settings.sections.proxyControl.actions.installService",
|
||||
"settings.sections.proxyControl.actions.uninstallService",
|
||||
"settings.sections.proxyControl.fields.systemProxy",
|
||||
"settings.sections.proxyControl.fields.tunMode",
|
||||
"settings.sections.externalController.title",
|
||||
"settings.sections.externalController.fields.enable",
|
||||
"settings.sections.externalController.fields.address",
|
||||
"settings.sections.externalController.fields.secret",
|
||||
"settings.sections.externalController.placeholders.address",
|
||||
"settings.sections.externalController.placeholders.secret",
|
||||
"settings.sections.externalController.tooltips.copy",
|
||||
"settings.sections.externalController.messages.addressRequired",
|
||||
"settings.sections.externalController.messages.secretRequired",
|
||||
"settings.sections.externalController.messages.copyFailed",
|
||||
"settings.sections.externalController.messages.controllerCopied",
|
||||
"settings.sections.externalController.messages.secretCopied",
|
||||
"settings.sections.externalCors.title",
|
||||
"settings.sections.externalCors.fields.allowPrivateNetwork",
|
||||
"settings.sections.externalCors.fields.allowedOrigins",
|
||||
"settings.sections.externalCors.placeholders.origin",
|
||||
"settings.sections.externalCors.actions.add",
|
||||
"settings.sections.externalCors.messages.alwaysIncluded",
|
||||
"settings.sections.externalCors.tooltips.open",
|
||||
"settings.sections.appearance.light",
|
||||
"settings.sections.appearance.dark",
|
||||
"settings.sections.appearance.system",
|
||||
"settings.sections.clash.title",
|
||||
"settings.sections.clash.form.fields.allowLan",
|
||||
"settings.sections.clash.form.fields.dnsOverwrite",
|
||||
"settings.sections.clash.form.fields.ipv6",
|
||||
"settings.sections.clash.form.fields.unifiedDelay",
|
||||
"settings.sections.clash.form.fields.logLevel",
|
||||
"settings.sections.clash.form.fields.portConfig",
|
||||
"settings.sections.clash.form.fields.external",
|
||||
"settings.sections.clash.form.fields.webUI",
|
||||
"settings.sections.clash.form.fields.clashCore",
|
||||
"settings.sections.clash.form.fields.openUwpTool",
|
||||
"settings.sections.clash.form.fields.updateGeoData",
|
||||
"settings.sections.clash.form.tooltips.networkInterface",
|
||||
"settings.sections.clash.form.tooltips.unifiedDelay",
|
||||
"settings.sections.clash.form.tooltips.logLevel",
|
||||
"settings.sections.clash.form.tooltips.openUwpTool",
|
||||
"settings.sections.clash.form.options.logLevel.debug",
|
||||
"settings.sections.clash.form.options.logLevel.info",
|
||||
"settings.sections.clash.form.options.logLevel.warning",
|
||||
"settings.sections.clash.form.options.logLevel.error",
|
||||
"settings.sections.clash.form.options.logLevel.silent",
|
||||
"settings.components.verge.basic.title",
|
||||
"settings.components.verge.basic.actions.browse",
|
||||
"settings.components.verge.basic.trayOptions.showMainWindow",
|
||||
"settings.components.verge.basic.trayOptions.showTrayMenu",
|
||||
"settings.components.verge.basic.trayOptions.disable",
|
||||
"settings.components.verge.basic.fields.language",
|
||||
"settings.components.verge.basic.fields.themeMode",
|
||||
"settings.components.verge.basic.fields.trayClickEvent",
|
||||
"settings.components.verge.basic.fields.copyEnvType",
|
||||
"settings.components.verge.basic.fields.startPage",
|
||||
"settings.components.verge.basic.fields.startupScript",
|
||||
"settings.components.verge.basic.fields.themeSetting",
|
||||
"settings.components.verge.basic.fields.layoutSetting",
|
||||
"settings.components.verge.basic.fields.misc",
|
||||
"settings.components.verge.basic.fields.hotkeySetting",
|
||||
"settings.components.verge.advanced.title",
|
||||
"settings.components.verge.advanced.tooltips.backupInfo",
|
||||
"settings.components.verge.advanced.tooltips.openConfDir",
|
||||
"settings.components.verge.advanced.tooltips.liteMode",
|
||||
"settings.components.verge.advanced.actions.copyVersion",
|
||||
"settings.components.verge.advanced.notifications.latestVersion",
|
||||
"settings.components.verge.advanced.notifications.versionCopied",
|
||||
"settings.components.verge.advanced.fields.backupSetting",
|
||||
"settings.components.verge.advanced.fields.runtimeConfig",
|
||||
"settings.components.verge.advanced.fields.openConfDir",
|
||||
"settings.components.verge.advanced.fields.openCoreDir",
|
||||
"settings.components.verge.advanced.fields.openLogsDir",
|
||||
"settings.components.verge.advanced.fields.checkUpdates",
|
||||
"settings.components.verge.advanced.fields.openDevTools",
|
||||
"settings.components.verge.advanced.fields.liteModeSettings",
|
||||
"settings.components.verge.advanced.fields.exit",
|
||||
"settings.components.verge.advanced.fields.exportDiagnostics",
|
||||
"settings.components.verge.advanced.fields.vergeVersion",
|
||||
"settings.components.verge.theme.title",
|
||||
"settings.components.verge.theme.fields.primaryColor",
|
||||
"settings.components.verge.theme.fields.secondaryColor",
|
||||
"settings.components.verge.theme.fields.primaryText",
|
||||
"settings.components.verge.theme.fields.secondaryText",
|
||||
"settings.components.verge.theme.fields.infoColor",
|
||||
"settings.components.verge.theme.fields.warningColor",
|
||||
"settings.components.verge.theme.fields.errorColor",
|
||||
"settings.components.verge.theme.fields.successColor",
|
||||
"settings.components.verge.theme.fields.fontFamily",
|
||||
"settings.components.verge.theme.fields.cssInjection",
|
||||
"settings.components.verge.theme.actions.editCss",
|
||||
"settings.components.verge.theme.dialogs.editCssTitle",
|
||||
"settings.components.verge.layout.title",
|
||||
"settings.components.verge.layout.fields.preferSystemTitlebar",
|
||||
"settings.components.verge.layout.fields.trafficGraph",
|
||||
"settings.components.verge.layout.fields.memoryUsage",
|
||||
"settings.components.verge.layout.fields.proxyGroupIcon",
|
||||
"settings.components.verge.layout.fields.hoverNavigator",
|
||||
"settings.components.verge.layout.fields.hoverNavigatorDelay",
|
||||
"settings.components.verge.layout.fields.navIcon",
|
||||
"settings.components.verge.layout.fields.trayIcon",
|
||||
"settings.components.verge.layout.fields.showProxyGroupsInline",
|
||||
"settings.components.verge.layout.fields.commonTrayIcon",
|
||||
"settings.components.verge.layout.fields.systemProxyTrayIcon",
|
||||
"settings.components.verge.layout.fields.tunTrayIcon",
|
||||
"settings.components.verge.layout.fields.enableTrayIcon",
|
||||
"settings.components.verge.layout.fields.enableTraySpeed",
|
||||
"settings.components.verge.layout.tooltips.hoverNavigator",
|
||||
"settings.components.verge.layout.tooltips.hoverNavigatorDelay",
|
||||
"settings.components.verge.layout.options.icon.monochrome",
|
||||
"settings.components.verge.layout.options.icon.colorful",
|
||||
"settings.components.verge.layout.options.icon.disable",
|
||||
"settings.modals.clashPort.title",
|
||||
"settings.modals.clashPort.fields.mixed",
|
||||
"settings.modals.clashPort.fields.socks",
|
||||
"settings.modals.clashPort.fields.http",
|
||||
"settings.modals.clashPort.fields.redir",
|
||||
"settings.modals.clashPort.fields.tproxy",
|
||||
"settings.modals.clashPort.actions.random",
|
||||
"settings.modals.clashPort.messages.saved",
|
||||
"settings.modals.clashPort.messages.saveFailed",
|
||||
"settings.modals.clashCore.variants.release",
|
||||
"settings.modals.clashCore.variants.alpha",
|
||||
"settings.modals.liteMode.title",
|
||||
"settings.modals.liteMode.actions.enterNow",
|
||||
"settings.modals.liteMode.toggles.autoEnter",
|
||||
"settings.modals.liteMode.tooltips.autoEnter",
|
||||
"settings.modals.liteMode.fields.delay",
|
||||
"settings.modals.liteMode.messages.autoEnterHint",
|
||||
"settings.modals.backup.title",
|
||||
"settings.modals.backup.tabs.local",
|
||||
"settings.modals.backup.tabs.webdav",
|
||||
"settings.modals.backup.actions.selectTarget",
|
||||
"settings.modals.backup.actions.backup",
|
||||
"settings.modals.backup.actions.export",
|
||||
"settings.modals.backup.actions.exportBackup",
|
||||
"settings.modals.backup.actions.deleteBackup",
|
||||
"settings.modals.backup.actions.restore",
|
||||
"settings.modals.backup.actions.restoreBackup",
|
||||
"settings.modals.backup.fields.webdavUrl",
|
||||
"settings.modals.backup.fields.username",
|
||||
"settings.modals.backup.fields.info",
|
||||
"settings.modals.backup.messages.webdavUrlRequired",
|
||||
"settings.modals.backup.messages.invalidWebdavUrl",
|
||||
"settings.modals.backup.messages.usernameRequired",
|
||||
"settings.modals.backup.messages.passwordRequired",
|
||||
"settings.modals.backup.messages.webdavConfigSaved",
|
||||
"settings.modals.backup.messages.webdavConfigSaveFailed",
|
||||
"settings.modals.backup.messages.backupCreated",
|
||||
"settings.modals.backup.messages.backupFailed",
|
||||
"settings.modals.backup.messages.localBackupCreated",
|
||||
"settings.modals.backup.messages.localBackupFailed",
|
||||
"settings.modals.backup.messages.restoreSuccess",
|
||||
"settings.modals.backup.messages.localBackupExported",
|
||||
"settings.modals.backup.messages.localBackupExportFailed",
|
||||
"settings.modals.backup.messages.confirmDelete",
|
||||
"settings.modals.backup.messages.confirmRestore",
|
||||
"settings.modals.backup.table.filename",
|
||||
"settings.modals.backup.table.backupTime",
|
||||
"settings.modals.backup.table.actions",
|
||||
"settings.modals.backup.table.noBackups",
|
||||
"settings.modals.backup.table.rowsPerPage",
|
||||
"settings.modals.misc.title",
|
||||
"settings.modals.misc.fields.appLogLevel",
|
||||
"settings.modals.misc.fields.appLogMaxSize",
|
||||
"settings.modals.misc.fields.appLogMaxCount",
|
||||
"settings.modals.misc.fields.autoCloseConnections",
|
||||
"settings.modals.misc.fields.autoCheckUpdate",
|
||||
"settings.modals.misc.fields.enableBuiltinEnhanced",
|
||||
"settings.modals.misc.fields.proxyLayoutColumns",
|
||||
"settings.modals.misc.fields.autoLogClean",
|
||||
"settings.modals.misc.fields.autoDelayDetection",
|
||||
"settings.modals.misc.fields.defaultLatencyTest",
|
||||
"settings.modals.misc.fields.defaultLatencyTimeout",
|
||||
"settings.modals.misc.tooltips.autoCloseConnections",
|
||||
"settings.modals.misc.tooltips.enableBuiltinEnhanced",
|
||||
"settings.modals.misc.tooltips.autoDelayDetection",
|
||||
"settings.modals.misc.tooltips.defaultLatencyTest",
|
||||
"settings.modals.misc.options.proxyLayoutColumns.auto",
|
||||
"settings.modals.misc.options.autoLogClean.never",
|
||||
"settings.modals.misc.options.autoLogClean.retainDays",
|
||||
"settings.modals.update.title",
|
||||
"settings.modals.update.actions.goToRelease",
|
||||
"settings.modals.update.actions.update",
|
||||
"settings.modals.update.messages.portableError",
|
||||
"settings.modals.update.messages.breakChangeError",
|
||||
"settings.modals.sysproxy.title",
|
||||
"settings.modals.sysproxy.fieldsets.currentStatus",
|
||||
"settings.modals.sysproxy.fields.enableStatus",
|
||||
"settings.modals.sysproxy.fields.serverAddr",
|
||||
"settings.modals.sysproxy.fields.pacUrl",
|
||||
"settings.modals.sysproxy.fields.proxyHost",
|
||||
"settings.modals.sysproxy.fields.usePacMode",
|
||||
"settings.modals.sysproxy.fields.proxyGuard",
|
||||
"settings.modals.sysproxy.fields.guardDuration",
|
||||
"settings.modals.sysproxy.fields.alwaysUseDefaultBypass",
|
||||
"settings.modals.sysproxy.fields.proxyBypass",
|
||||
"settings.modals.sysproxy.fields.bypass",
|
||||
"settings.modals.sysproxy.fields.pacScriptContent",
|
||||
"settings.modals.sysproxy.tooltips.proxyGuard",
|
||||
"settings.modals.sysproxy.messages.durationTooShort",
|
||||
"settings.modals.sysproxy.messages.invalidBypass",
|
||||
"settings.modals.sysproxy.messages.invalidProxyHost",
|
||||
"settings.modals.sysproxy.actions.editPac",
|
||||
"settings.modals.tun.title",
|
||||
"settings.modals.tun.fields.stack",
|
||||
"settings.modals.tun.fields.device",
|
||||
"settings.modals.tun.fields.autoRoute",
|
||||
"settings.modals.tun.fields.strictRoute",
|
||||
"settings.modals.tun.fields.autoDetectInterface",
|
||||
"settings.modals.tun.fields.dnsHijack",
|
||||
"settings.modals.tun.fields.mtu",
|
||||
"settings.modals.tun.tooltips.dnsHijack",
|
||||
"settings.modals.tun.messages.applied",
|
||||
"settings.modals.dns.dialog.title",
|
||||
"settings.modals.dns.dialog.warning",
|
||||
"settings.modals.dns.sections.general",
|
||||
"settings.modals.dns.sections.fallbackFilter",
|
||||
"settings.modals.dns.sections.hosts",
|
||||
"settings.modals.dns.fields.enable",
|
||||
"settings.modals.dns.fields.listen",
|
||||
"settings.modals.dns.fields.enhancedMode",
|
||||
"settings.modals.dns.fields.fakeIpRange",
|
||||
"settings.modals.dns.fields.fakeIpFilterMode",
|
||||
"settings.modals.dns.fields.ipv6.label",
|
||||
"settings.modals.dns.fields.ipv6.description",
|
||||
"settings.modals.dns.fields.preferH3.label",
|
||||
"settings.modals.dns.fields.preferH3.description",
|
||||
"settings.modals.dns.fields.respectRules.label",
|
||||
"settings.modals.dns.fields.respectRules.description",
|
||||
"settings.modals.dns.fields.useHosts.label",
|
||||
"settings.modals.dns.fields.useHosts.description",
|
||||
"settings.modals.dns.fields.useSystemHosts.label",
|
||||
"settings.modals.dns.fields.useSystemHosts.description",
|
||||
"settings.modals.dns.fields.directPolicy.label",
|
||||
"settings.modals.dns.fields.directPolicy.description",
|
||||
"settings.modals.dns.fields.defaultNameserver.label",
|
||||
"settings.modals.dns.fields.defaultNameserver.description",
|
||||
"settings.modals.dns.fields.nameserver.label",
|
||||
"settings.modals.dns.fields.nameserver.description",
|
||||
"settings.modals.dns.fields.fallback.label",
|
||||
"settings.modals.dns.fields.fallback.description",
|
||||
"settings.modals.dns.fields.proxy.label",
|
||||
"settings.modals.dns.fields.proxy.description",
|
||||
"settings.modals.dns.fields.directNameserver.label",
|
||||
"settings.modals.dns.fields.directNameserver.description",
|
||||
"settings.modals.dns.fields.fakeIpFilter.label",
|
||||
"settings.modals.dns.fields.fakeIpFilter.description",
|
||||
"settings.modals.dns.fields.nameserverPolicy.label",
|
||||
"settings.modals.dns.fields.nameserverPolicy.description",
|
||||
"settings.modals.dns.fields.geoipFiltering.label",
|
||||
"settings.modals.dns.fields.geoipFiltering.description",
|
||||
"settings.modals.dns.fields.geoipCode",
|
||||
"settings.modals.dns.fields.fallbackIpCidr.label",
|
||||
"settings.modals.dns.fields.fallbackIpCidr.description",
|
||||
"settings.modals.dns.fields.fallbackDomain.label",
|
||||
"settings.modals.dns.fields.fallbackDomain.description",
|
||||
"settings.modals.dns.fields.hosts.label",
|
||||
"settings.modals.dns.fields.hosts.description",
|
||||
"settings.modals.dns.messages.saved",
|
||||
"settings.modals.dns.messages.configError",
|
||||
"settings.modals.dns.errors.invalid",
|
||||
"settings.modals.dns.errors.invalidYaml",
|
||||
"settings.modals.webUI.actions.openUrl",
|
||||
"settings.modals.webUI.title",
|
||||
"settings.modals.webUI.messages.supportedPlaceholders",
|
||||
"settings.modals.webUI.messages.placeholderInstruction",
|
||||
"settings.modals.hotkey.toggles.enableGlobal",
|
||||
"settings.modals.hotkey.title",
|
||||
"settings.modals.hotkey.functions.rule",
|
||||
"settings.modals.hotkey.functions.global",
|
||||
"settings.modals.hotkey.functions.openOrCloseDashboard",
|
||||
"settings.modals.hotkey.functions.toggleSystemProxy",
|
||||
"settings.modals.hotkey.functions.toggleTunMode",
|
||||
"settings.modals.hotkey.functions.entryLightweightMode",
|
||||
"settings.modals.hotkey.functions.direct",
|
||||
"settings.modals.password.prompts.enterRoot",
|
||||
"settings.modals.networkInterface.title",
|
||||
"settings.modals.networkInterface.fields.ipAddress",
|
||||
"settings.modals.networkInterface.fields.macAddress",
|
||||
"settings.feedback.notifications.clash.restartSuccess",
|
||||
"settings.feedback.notifications.clash.versionUpdated",
|
||||
"settings.feedback.notifications.clash.alreadyLatestVersion",
|
||||
"settings.feedback.notifications.clash.changeSuccess",
|
||||
"settings.feedback.notifications.clash.changeFailed",
|
||||
"settings.feedback.notifications.clash.geoDataUpdated",
|
||||
"settings.feedback.notifications.clashService.installSuccess",
|
||||
"settings.feedback.notifications.clashService.uninstallSuccess",
|
||||
"settings.feedback.notifications.updater.withClashProxySuccess",
|
||||
"settings.feedback.notifications.updater.withClashProxyFailed",
|
||||
"settings.statuses.clash.stopping",
|
||||
"settings.statuses.clash.restarting",
|
||||
"settings.statuses.clashService.installing",
|
||||
"settings.statuses.clashService.uninstalling",
|
||||
"shared.actions.cancel",
|
||||
"shared.actions.close",
|
||||
"shared.actions.confirm",
|
||||
"shared.actions.save",
|
||||
"shared.actions.delete",
|
||||
"shared.actions.edit",
|
||||
"shared.actions.new",
|
||||
"shared.actions.enable",
|
||||
"shared.actions.upgrade",
|
||||
"shared.actions.restart",
|
||||
"shared.actions.resetToDefault",
|
||||
"shared.actions.refresh",
|
||||
"shared.actions.retry",
|
||||
"shared.actions.refreshPage",
|
||||
"shared.actions.showDetails",
|
||||
"shared.actions.hideDetails",
|
||||
"shared.actions.listView",
|
||||
"shared.actions.tableView",
|
||||
"shared.actions.pause",
|
||||
"shared.actions.resume",
|
||||
"shared.actions.closeAll",
|
||||
"shared.actions.clear",
|
||||
"shared.labels.updateAt",
|
||||
"shared.labels.timeout",
|
||||
"shared.labels.icon",
|
||||
"shared.labels.name",
|
||||
"shared.labels.readOnly",
|
||||
"shared.labels.expireTime",
|
||||
"shared.labels.updateTime",
|
||||
"shared.labels.usedTotal",
|
||||
"shared.labels.from",
|
||||
"shared.labels.password",
|
||||
"shared.labels.retryAttempts",
|
||||
"shared.labels.downloaded",
|
||||
"shared.labels.uploaded",
|
||||
"shared.statuses.enabled",
|
||||
"shared.statuses.disabled",
|
||||
"shared.statuses.saving",
|
||||
"shared.statuses.empty",
|
||||
"shared.units.milliseconds",
|
||||
"shared.units.seconds",
|
||||
"shared.units.minutes",
|
||||
"shared.units.kilobytes",
|
||||
"shared.units.files",
|
||||
"shared.placeholders.filter",
|
||||
"shared.placeholders.matchCase",
|
||||
"shared.placeholders.matchWholeWord",
|
||||
"shared.placeholders.useRegex",
|
||||
"shared.validation.invalidRegex",
|
||||
"shared.window.maximize",
|
||||
"shared.window.minimize",
|
||||
"shared.editorModes.visualization",
|
||||
"shared.editorModes.advanced",
|
||||
"shared.feedback.errors.trafficStats",
|
||||
"shared.feedback.errors.trafficStatsDescription",
|
||||
"shared.feedback.notices.raw",
|
||||
"shared.feedback.notices.prefixedRaw",
|
||||
"shared.feedback.notifications.importSuccess",
|
||||
"shared.feedback.notifications.importSubscriptionSuccess",
|
||||
"shared.feedback.notifications.importWithClashProxy",
|
||||
"shared.feedback.notifications.updateAvailable",
|
||||
"shared.feedback.notifications.saved",
|
||||
"shared.feedback.notifications.common.copySuccess",
|
||||
"shared.feedback.notifications.common.saveSuccess",
|
||||
"shared.feedback.notifications.common.saveFailed",
|
||||
"shared.feedback.validation.config.failed",
|
||||
"shared.feedback.validation.config.bootFailed",
|
||||
"shared.feedback.validation.config.coreChangeFailed",
|
||||
"shared.feedback.validation.config.processTerminated",
|
||||
"shared.feedback.validation.script.syntaxError",
|
||||
"shared.feedback.validation.script.missingMain",
|
||||
"shared.feedback.validation.script.fileNotFound",
|
||||
"shared.feedback.validation.script.fileError",
|
||||
"shared.feedback.validation.yaml.syntaxError",
|
||||
"shared.feedback.validation.yaml.readError",
|
||||
"shared.feedback.validation.yaml.mappingError",
|
||||
"shared.feedback.validation.yaml.keyError",
|
||||
"shared.feedback.validation.yaml.generalError",
|
||||
"shared.feedback.validation.merge.syntaxError",
|
||||
"shared.feedback.validation.merge.mappingError",
|
||||
"shared.feedback.validation.merge.keyError",
|
||||
"shared.feedback.validation.merge.generalError",
|
||||
"shared.filters.logLevels.all",
|
||||
"shared.filters.logLevels.debug",
|
||||
"shared.filters.logLevels.info",
|
||||
"shared.filters.logLevels.warn",
|
||||
"shared.filters.logLevels.error",
|
||||
"tests.page.actions.testAll",
|
||||
"tests.page.title",
|
||||
"tests.components.item.actions.test",
|
||||
"tests.modals.test.title.create",
|
||||
"tests.modals.test.title.edit",
|
||||
"tests.modals.test.fields.url",
|
||||
"tests.statuses.test.pending",
|
||||
"tests.statuses.test.yes",
|
||||
"tests.statuses.test.no",
|
||||
"tests.statuses.test.failed",
|
||||
"tests.statuses.test.completed",
|
||||
"tests.statuses.test.disallowedIsp",
|
||||
"tests.statuses.test.originalsOnly",
|
||||
"tests.statuses.test.noDisney",
|
||||
"tests.statuses.test.unsupportedRegion",
|
||||
"tests.statuses.test.failedNetwork",
|
||||
"tests.unlock.page.actions.testing",
|
||||
"tests.unlock.page.empty",
|
||||
"tests.unlock.page.messages.detectionFailedWithName",
|
||||
"tests.unlock.page.messages.detectionTimeout",
|
||||
"tests.unlock.page.title",
|
||||
] as const;
|
||||
|
||||
export type TranslationKey = (typeof translationKeys)[number];
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user