213a13f62f
Changelog: French, Spanish and Korean translations
944 lines
48 KiB
Plaintext
944 lines
48 KiB
Plaintext
{
|
|
"rule": "Rule",
|
|
"rules": "Rules",
|
|
"global": "Global",
|
|
"direct": "Direct",
|
|
"dashboard": "Dashboard",
|
|
"proxies": "Proxies",
|
|
"profile": "Profile",
|
|
"profiles": "Profiles",
|
|
"tools": "Tools",
|
|
"logs": "Logs",
|
|
"resources": "Resources",
|
|
"trafficUsage": "Traffic usage",
|
|
"networkSpeed": "Network speed",
|
|
"outboundMode": "Outbound mode",
|
|
"serviceStatus": "Service status",
|
|
"serviceRestricted": "Access restricted",
|
|
"serviceAvailable": "Available",
|
|
"serviceUnavailable": "Unavailable",
|
|
"serviceFailed": "Check failed",
|
|
"serviceDisallowedIsp": "Disallowed ISP",
|
|
"serviceBlocked": "Blocked",
|
|
"serviceUnsupportedRegion": "Region not supported",
|
|
"serviceOriginalsOnly": "Originals only",
|
|
"serviceComingSoon": "Coming soon",
|
|
"servicePending": "Not checked",
|
|
"serviceManage": "Manage services",
|
|
"serviceCheck": "Check",
|
|
"serviceCheckAll": "Check all",
|
|
"serviceCheckedAt": "Checked at {time}",
|
|
"upload": "Upload",
|
|
"download": "Download",
|
|
"usedTraffic": "Used traffic",
|
|
"totalTraffic": "Total traffic",
|
|
"expireTime": "Expiration time",
|
|
"nullProfileDesc": "Add a profile to get started",
|
|
"settings": "Settings",
|
|
"language": "Language",
|
|
"defaultText": "Default",
|
|
"more": "More",
|
|
"other": "Other",
|
|
"about": "About",
|
|
"en": "English",
|
|
"es": "Spanish",
|
|
"fr": "French",
|
|
"ja": "Japanese",
|
|
"ko": "Korean",
|
|
"ru": "Russian",
|
|
"zhCN": "Simplified Chinese",
|
|
"theme": "Theme",
|
|
"extend": "Extend",
|
|
"runtimeConfig": "Runtime config",
|
|
"allowLan": "Allow LAN",
|
|
"tun": "TUN",
|
|
"tunDesc": "TUN works only in administrator mode.",
|
|
"minimizeOnExit": "Minimize on exit",
|
|
"autoLaunch": "Auto launch",
|
|
"silentLaunch": "Silent launch",
|
|
"silentLaunchDesc": "Silent launch starts without showing the window.",
|
|
"autoRun": "Auto run",
|
|
"autoRunDesc": "Auto run starts the proxy when the app opens.",
|
|
"logcat": "Logcat",
|
|
"logcatDesc": "Turning off Logcat hides the logs entry.",
|
|
"autoCheckUpdate": "Auto check for updates",
|
|
"checkCertificate": "Verify TLS certificates",
|
|
"checkCertificateDesc": "With TLS verification off, subscriptions and backups are open to man-in-the-middle attacks.",
|
|
"accessControl": "Access control",
|
|
"accessControlDesc": "Access control picks which apps use the proxy.",
|
|
"edit": "Edit",
|
|
"confirm": "Confirm",
|
|
"update": "Update",
|
|
"add": "Add",
|
|
"save": "Save",
|
|
"delete": "Delete",
|
|
"seconds": "seconds",
|
|
"qrcode": "QR code",
|
|
"qrcodeDesc": "Scan a QR code to obtain a profile",
|
|
"url": "URL",
|
|
"link": "Link",
|
|
"linkDesc": "Obtain a profile from a subscription link or a proxy share link",
|
|
"file": "File",
|
|
"fileDesc": "Upload a profile file directly",
|
|
"name": "Name",
|
|
"profileNameNullValidationDesc": "Please enter the profile name",
|
|
"rename": "Rename",
|
|
"profileUrlNullValidationDesc": "Please enter the profile URL",
|
|
"profileUrlInvalidValidationDesc": "Please enter a valid profile URL",
|
|
"autoUpdate": "Auto update",
|
|
"autoUpdateInterval": "Auto-update interval",
|
|
"profileAutoUpdateIntervalNullValidationDesc": "Please enter the auto-update interval",
|
|
"profileAutoUpdateIntervalInvalidValidationDesc": "Please enter a valid interval",
|
|
"themeMode": "Theme mode",
|
|
"themeColor": "Theme color",
|
|
"preview": "Preview",
|
|
"auto": "Auto",
|
|
"light": "Light",
|
|
"dark": "Dark",
|
|
"importFromLink": "Import from link",
|
|
"submit": "Submit",
|
|
"createProfileFromUrlTip": "Do you want to create a profile from {url}?",
|
|
"create": "Create",
|
|
"pleaseUploadValidQrcode": "Please upload a valid QR code",
|
|
"blacklistMode": "Blacklist mode",
|
|
"whitelistMode": "Whitelist mode",
|
|
"selectAll": "Select all",
|
|
"cancelSelectAll": "Deselect all",
|
|
"appAccessControl": "App access control",
|
|
"accessControlAllowDesc": "Only selected apps go through the VPN",
|
|
"accessControlNotAllowDesc": "Selected apps are excluded from the VPN",
|
|
"accessControlDisabledDesc": "App access control is disabled",
|
|
"selected": "Selected",
|
|
"port": "Port",
|
|
"logLevel": "Log level",
|
|
"show": "Show",
|
|
"exit": "Exit",
|
|
"systemProxy": "System proxy",
|
|
"safeMode": "Safe mode",
|
|
"safeModeAppTitle": "{appName} (Safe mode)",
|
|
"project": "Project",
|
|
"core": "Core",
|
|
"tabAnimation": "Tab animation",
|
|
"desc": "A multi-platform proxy client based on ClashMeta, simple and easy to use, open-source and ad-free.",
|
|
"startVpn": "Starting VPN…",
|
|
"stopVpn": "Stopping VPN…",
|
|
"localNetworkDeniedTip": "Local network permission denied: using the gvisor stack, LAN is unreachable.",
|
|
"compatible": "Compatibility mode",
|
|
"notSelectedTip": "The current proxy group cannot be selected",
|
|
"changeProxyFailedTip": "Failed to switch proxy; the previous selection has been restored",
|
|
"databaseWriteFailedTip": "Failed to save the change; it has been rolled back",
|
|
"tip": "Tip",
|
|
"account": "Account",
|
|
"backup": "Backup",
|
|
"backupSuccess": "Backup successful",
|
|
"noInfo": "No info",
|
|
"pleaseBindWebDAV": "Please bind WebDAV",
|
|
"bind": "Bind",
|
|
"connectivity": "Connectivity: ",
|
|
"webDAVConfiguration": "WebDAV configuration",
|
|
"address": "Address",
|
|
"addressHelp": "WebDAV server address",
|
|
"addressTip": "Please enter a valid WebDAV address",
|
|
"password": "Password",
|
|
"authentication": "Authentication",
|
|
"authenticationDesc": "Authentication asks for a username and password on the local proxy port.",
|
|
"authenticationSystemProxyDesc": "The system proxy is not applied while authentication is on.",
|
|
"checkUpdate": "Check for updates",
|
|
"discoverNewVersion": "New version found",
|
|
"checkUpdateError": "The app is already up to date",
|
|
"goDownload": "Download",
|
|
"unknown": "Unknown",
|
|
"country": "Region",
|
|
"search": "Search",
|
|
"allowBypass": "Allow apps to bypass VPN",
|
|
"externalController": "External controller",
|
|
"externalControllerDesc": "The external controller lets you control the core on port 9090.",
|
|
"externalControllerSecret": "External controller secret",
|
|
"ipv6Desc": "IPv6 traffic is received only while IPv6 is on.",
|
|
"app": "App",
|
|
"general": "General",
|
|
"startupAndBackground": "Startup and background",
|
|
"requestsAndUpdates": "Requests and updates",
|
|
"logsAndDiagnostics": "Logs and diagnostics",
|
|
"userAgent": "User-Agent",
|
|
"unifiedDelay": "Unified delay",
|
|
"tcpConcurrent": "TCP concurrent",
|
|
"geodataLoader": "Geo low-memory mode",
|
|
"requests": "Requests",
|
|
"recentRequests": "Recent requests",
|
|
"findProcessMode": "Find process",
|
|
"init": "Init",
|
|
"infiniteTime": "Never expires",
|
|
"connections": "Connections",
|
|
"liveConnections": "Live connections",
|
|
"inbound": "Inbound",
|
|
"intranetIP": "Intranet IP",
|
|
"view": "View",
|
|
"cut": "Cut",
|
|
"copy": "Copy",
|
|
"clipboardWriteFailed": "Couldn't copy to the clipboard. The selection may be too large",
|
|
"paste": "Paste",
|
|
"testUrl": "Test URL",
|
|
"sync": "Sync",
|
|
"exclude": "Hide from recent tasks",
|
|
"compact": "Compact",
|
|
"tab": "Tab",
|
|
"list": "List",
|
|
"delay": "Delay",
|
|
"style": "Style",
|
|
"size": "Size",
|
|
"sort": "Sort",
|
|
"columns": "Columns",
|
|
"proxyGroup": "Proxy group",
|
|
"go": "Go",
|
|
"externalLink": "External link",
|
|
"otherContributors": "Other contributors",
|
|
"appIconDesign": "App icon design",
|
|
"autoCloseConnections": "Auto close connections",
|
|
"autoCloseConnectionsDesc": "Auto close connections drops open connections when you switch proxies.",
|
|
"onlyStatisticsProxy": "Only count proxy traffic",
|
|
"showNotificationStopAction": "Stop button in notification",
|
|
"pureBlackMode": "Pure black mode",
|
|
"sidebarBlur": "Sidebar blur",
|
|
"sidebarBlurDesc": "Show the blurred desktop behind the window through the sidebar",
|
|
"liquidGlass": "Liquid Glass",
|
|
"keepAliveIntervalDesc": "TCP keep-alive interval",
|
|
"entries": " entries",
|
|
"local": "Local",
|
|
"remote": "Remote",
|
|
"mode": "Mode",
|
|
"time": "Time",
|
|
"source": "Source",
|
|
"action": "Action",
|
|
"intelligentSelected": "Smart selection",
|
|
"clipboardImport": "Import from clipboard",
|
|
"clipboardExport": "Export to clipboard",
|
|
"layout": "Layout",
|
|
"tight": "Tight",
|
|
"standard": "Standard",
|
|
"ultra": "Ultra",
|
|
"loose": "Loose",
|
|
"profilesSort": "Sort profiles",
|
|
"start": "Start",
|
|
"runTime": "Run time",
|
|
"stop": "Stop",
|
|
"key": "Key",
|
|
"value": "Value",
|
|
"vpnEnableDesc": "VPN routes all system traffic through VpnService automatically.",
|
|
"options": "Options",
|
|
"enabled": "Enabled",
|
|
"disabled": "Disabled",
|
|
"loopback": "UWP loopback exemption",
|
|
"providers": "External resources",
|
|
"proxyProviders": "Proxy providers",
|
|
"ruleProviders": "Rule providers",
|
|
"providerUrlTip": "Only remote providers are supported",
|
|
"ruleSetEmptyTip": "The rule set has no usable entries",
|
|
"ruleSetMixedTip": "The rule set mixes domains and IP ranges, so its type cannot be told",
|
|
"ruleSetInvalidTip": "This mrs file cannot be read",
|
|
"subscriptionInfo": "Subscription info",
|
|
"ntpStatusDesc": "NTP takes the time from an NTP server instead of the system clock.",
|
|
"server": "Server",
|
|
"ntpInterval": "Sync interval (minutes)",
|
|
"dialerProxy": "Dialer proxy",
|
|
"dialerProxyDesc": "Dialer proxy is the outbound used to reach the NTP server.",
|
|
"writeToSystem": "Write to system",
|
|
"writeToSystemDesc": "Write to system also sets the system clock; Android ignores it.",
|
|
"sniffer": "Sniffer",
|
|
"snifferStatusDesc": "The sniffer reads the domain from TLS, HTTP and QUIC traffic so rules can match it.",
|
|
"overrideDestination": "Override destination",
|
|
"overrideDestinationDesc": "Override destination connects to the sniffed domain instead of the original address.",
|
|
"forceDnsMapping": "Force DNS mapping",
|
|
"forceDnsMappingDesc": "Force DNS mapping also sniffs connections whose domain came from a DNS mapping.",
|
|
"parsePureIp": "Parse pure IP",
|
|
"parsePureIpDesc": "Parse pure IP sniffs connections that carry only an IP address.",
|
|
"forceDomain": "Force domains",
|
|
"forceDomainDesc": "Force domains are sniffed too; other connections that already have a domain are left alone.",
|
|
"skipDomain": "Skip domains",
|
|
"skipDomainDesc": "A sniffed domain on the Skip domains list is not used.",
|
|
"skipSrcAddress": "Skip source addresses",
|
|
"skipDstAddress": "Skip destination addresses",
|
|
"sniffProtocols": "Protocols",
|
|
"ports": "Ports",
|
|
"overrideEntries": "Override entries",
|
|
"addOverrideEntry": "Add override entry",
|
|
"dnsOverrideDesc": "Entries added here replace the DNS of every URL and file profile; anything not added keeps the profile's own setting. Custom profiles set their DNS in their content.",
|
|
"settingEntries": "settings",
|
|
"addSettingEntry": "Add setting",
|
|
"profileSettingsDesc": "Applies to this profile only; anything not added uses its default.",
|
|
"healthCheck": "Health check",
|
|
"discardChanges": "Discard the changes?",
|
|
"quickEdit": "Quick edit",
|
|
"status": "Status",
|
|
"statusDesc": "With DNS off, the system DNS is used.",
|
|
"respectRules": "Respect rules",
|
|
"respectRulesDesc": "Respect rules routes DNS connections by the rules and needs a Proxy Server Nameserver.",
|
|
"dnsMode": "DNS mode",
|
|
"fakeipRange": "Fake-IP range",
|
|
"fakeipFilter": "Fake-IP filter",
|
|
"useHosts": "Use hosts",
|
|
"useSystemHosts": "Use system hosts",
|
|
"fallbackFilter": "Fallback filter",
|
|
"domain": "Domain",
|
|
"listenRoutingMark": "Listen routing mark",
|
|
"listenRoutingMarkDesc": "Listen routing mark works only on Linux.",
|
|
"ipv6Timeout": "IPv6 timeout (ms)",
|
|
"cacheAlgorithm": "Cache algorithm",
|
|
"cacheMaxSize": "Cache size",
|
|
"fakeipRange6": "Fake-IP range (IPv6)",
|
|
"fakeipFilterMode": "Fake-IP filter mode",
|
|
"fakeipFilterModeDesc": "In Fake-IP filter mode, blacklist excludes matches, whitelist fakes only matches, and rule matches as rules.",
|
|
"fakeipTtl": "Fake-IP TTL",
|
|
"reset": "Reset",
|
|
"actionView": "Show/Hide",
|
|
"actionStart": "Start/Stop",
|
|
"actionMode": "Switch mode",
|
|
"actionProxy": "System proxy",
|
|
"actionTun": "TUN",
|
|
"actionRuleMode": "Rule mode",
|
|
"actionGlobalMode": "Global mode",
|
|
"actionDirectMode": "Direct mode",
|
|
"actionDelayTest": "Test all delays",
|
|
"actionUpdateProfiles": "Update profiles",
|
|
"disclaimer": "Disclaimer",
|
|
"disclaimerDesc": "Before using FlClash (\"the Software\"), please read this statement carefully and make sure you understand all of it. Tapping \"Agree\" means you have read, understood, and accept every term below. If you do not agree, tap \"Exit\" and stop using the Software.",
|
|
"disclaimerSoftwareTitle": "Nature of the software",
|
|
"disclaimerSoftwareContent": "The Software is an open-source network proxy client built on the Clash.Meta (mihomo) core. It only provides local tooling such as configuration management, rule-based routing, and traffic forwarding.",
|
|
"disclaimerNoServiceStatement": "The Software itself does not provide any proxy server, node, subscription, or network access service, and has no partnership, agency, or guarantee relationship with any provider of such services.",
|
|
"disclaimerUsageTitle": "Restrictions on use",
|
|
"disclaimerUsageContent": "The Software is intended only for non-commercial uses such as learning, exchange, and technical research. Using it for any commercial purpose is strictly prohibited, including but not limited to paid distribution, bundled sales, use as part of a commercial service, or doing business in the name of the Software. Any commercial activity is unrelated to the Software and its developers.\n\nUsing the Software for anything that violates the laws and regulations of your country or region is strictly prohibited, including but not limited to bypassing lawfully imposed network access restrictions, spreading illegal content, launching network attacks, or infringing the lawful rights of others.",
|
|
"disclaimerResponsibilityTitle": "Your responsibility",
|
|
"disclaimerResponsibilityContent": "You are responsible for making sure that using the Software is lawful where you live, and you alone bear the legal responsibility for everything you do with it and its consequences.\n\nThe subscriptions, nodes, and configurations you import are your own choice. Whether their source is lawful, their content is safe, and their service is reliable is a matter between you and their providers.",
|
|
"disclaimerThirdPartyTitle": "Third-party content",
|
|
"disclaimerThirdPartyContent": "Subscription links, configuration files, rule sets, scripts, external resources, and external links are all provided by third parties. The developers cannot and do not review or guarantee their legality, accuracy, security, or availability.\n\nAny data leak, financial loss, account ban, or other loss caused by third-party content is to be settled between you and the third party; the developers bear no responsibility for it.",
|
|
"disclaimerWarrantyTitle": "No warranty",
|
|
"disclaimerWarrantyContent": "The Software is provided \"as is\" and \"as available\", without warranty of any kind, express or implied, including but not limited to warranties of merchantability, fitness for a particular purpose, non-infringement, uninterrupted availability, freedom from errors, or freedom from security vulnerabilities.\n\nThe developers do not guarantee that the Software will meet your needs or that it will run without interruption or error.",
|
|
"disclaimerLiabilityTitle": "Limitation of liability",
|
|
"disclaimerLiabilityContent": "To the maximum extent permitted by applicable law, neither the developers nor any contributor shall be liable for any direct, indirect, incidental, special, punitive, or consequential damages arising from the use of or inability to use the Software, including but not limited to data loss, device damage, network failures, business interruption, lost profits, or any resulting legal dispute, even if advised of the possibility of such damages.",
|
|
"disclaimerPrivacyTitle": "Data collection and privacy",
|
|
"disclaimerPrivacyContent": "The Software does not collect or upload your subscription URLs, node details, configuration content, visited websites, connection records, traffic content, or logs. This data stays on your device and the developers have no access to it.\n\nThe Software only reaches the network when you use a feature that needs it, such as fetching the subscription URL you provided when updating a profile, or contacting GitHub when checking for updates.\n\nThe Software includes no analytics or crash reporting service on any platform.",
|
|
"disclaimerLicenseTitle": "Open-source license",
|
|
"disclaimerLicenseContent": "The Software is open source under the GPL-3.0 license. You may use, modify, and distribute it freely as long as you comply with that license, which requires derivative works to be released under GPL-3.0 as well and the original copyright notices to be kept.\n\nThird-party components in the Software, including the Clash.Meta core, follow their own licenses. The original authors are not responsible for any issue arising from modified or redistributed versions.",
|
|
"disclaimerChangesTitle": "Changes to this statement",
|
|
"disclaimerChangesContent": "The developers may revise this statement with any release, and the revision takes effect when that release is published. Continuing to use the Software after updating means you accept the revised statement.",
|
|
"disclaimerAcceptTitle": "Acceptance",
|
|
"disclaimerAcceptContent": "By installing, copying, or using the Software, you are deemed to have read and agreed to this entire statement. If you disagree with any of its terms, stop using and uninstall the Software immediately.",
|
|
"disclaimerRestateTitle": "Restate the statement",
|
|
"disclaimerRestateTip": "To confirm you understand, enter the following statement in full in the field below:",
|
|
"disclaimerRestateHint": "Enter the statement above",
|
|
"disclaimerRestateMismatch": "Does not match the statement",
|
|
"disclaimerAcknowledgeTitle": "Confirm the statement",
|
|
"disclaimerAcknowledgeTip": "To confirm you understand, read the following statement and check the box below:",
|
|
"disclaimerAcknowledgeLabel": "I have read and understand this statement",
|
|
"agree": "Agree",
|
|
"hotkeyManagement": "Hotkey management",
|
|
"hotkeyDesc": "Global hotkeys work even while the window is hidden. Tap an action to record its key combination.",
|
|
"hotkeyNotSet": "Not set",
|
|
"pressKeyboard": "Press a key combination",
|
|
"hotkeyNeedsModifier": "Include at least one of {modifiers}",
|
|
"hotkeyConflictWith": "Already used by “{action}”. Saving moves it here.",
|
|
"hotkeyUnavailable": "Not registered, it may be taken by another app",
|
|
"remove": "Remove",
|
|
"noNetwork": "No network",
|
|
"ipv6InboundDesc": "With IPv6 on, the VPN allows IPv6 inbound.",
|
|
"exportLogs": "Export logs",
|
|
"exportSuccess": "Export successful",
|
|
"iconStyle": "Icon style",
|
|
"iconStyleFilled": "Filled",
|
|
"iconStylePlain": "Plain",
|
|
"iconStyleHidden": "Hidden",
|
|
"filter": "Filter",
|
|
"hideTimeoutProxies": "Hide timed-out proxies",
|
|
"hideTimeoutProxiesDesc": "Leave out proxies whose last delay test timed out",
|
|
"stackMode": "Stack mode",
|
|
"network": "Network",
|
|
"bypassDomain": "Bypass domains",
|
|
"bypassDomainDesc": "Bypass domains apply only while the system proxy is on.",
|
|
"resetTip": "Are you sure you want to reset?",
|
|
"icon": "Icon",
|
|
"noData": "No data",
|
|
"fontFamily": "Font family",
|
|
"installedFonts": "Installed fonts",
|
|
"toggle": "Toggle",
|
|
"system": "System",
|
|
"routeAddress": "Route addresses",
|
|
"interfaceNameMode": "Outbound interface",
|
|
"interfaceNameModeClear": "Clear",
|
|
"interfaceNameModeFollow": "Follow config",
|
|
"interfaceNameModeCustom": "Custom",
|
|
"interfaceName": "Interface name",
|
|
"interfaceNameDesc": "Interface name is the network interface outbound connections use.",
|
|
"copyEnvVar": "Copy environment variables",
|
|
"memoryInfo": "Memory info",
|
|
"total": "Total",
|
|
"releaseMemory": "Release memory",
|
|
"memoryCoreHeapInuse": "Heap in use",
|
|
"memoryCoreHeapIdle": "Heap idle",
|
|
"memoryCoreStack": "Goroutine stacks",
|
|
"memoryCoreRuntime": "Runtime overhead",
|
|
"memoryCoreNotRunning": "Core is not running",
|
|
"memoryAppResident": "Resident memory",
|
|
"memoryAppShared": "App & shared",
|
|
"memoryEstimateDesc": "Estimated from process resident memory; it may differ from what the system reports.",
|
|
"memoryEstimateSharedDesc": "The Core runs inside the app process. Its share is estimated from runtime stats, and the rest counts as app and shared memory.",
|
|
"memoryReleased": "Memory released",
|
|
"memoryReleasedSize": "Released {size}",
|
|
"releaseMemoryFailed": "Failed to release memory",
|
|
"cancel": "Cancel",
|
|
"fileIsUpdate": "The file has been modified. Save the changes?",
|
|
"profileHasUpdate": "The profile has been modified. Turn off auto update?",
|
|
"hasCacheChange": "Cache the changes?",
|
|
"copySuccess": "Copied successfully",
|
|
"copyLink": "Copy link",
|
|
"exportFile": "Export file",
|
|
"cacheCorrupt": "The cache is corrupted. Clear it?",
|
|
"detectionTip": "Relies on a third-party API; for reference only",
|
|
"listen": "Listen",
|
|
"undo": "Undo",
|
|
"redo": "Redo",
|
|
"lineWrap": "Word wrap",
|
|
"none": "None",
|
|
"advancedConfig": "Advanced configuration",
|
|
"advancedConfigDesc": "Advanced configuration holds network, DNS, added rules, and scripts.",
|
|
"addRule": "Add rule",
|
|
"content": "Content",
|
|
"ruleTarget": "Rule target",
|
|
"matchTarget": "MATCH-TARGET",
|
|
"followProfile": "Follow profile",
|
|
"sourceIp": "Source IP",
|
|
"noResolve": "Don't resolve IP",
|
|
"saveChanges": "Save the changes?",
|
|
"cannotSave": "Can't save",
|
|
"navigationBarStyle": "Bottom bar",
|
|
"floating": "Floating",
|
|
"docked": "Docked",
|
|
"slide": "Slide",
|
|
"fade": "Fade",
|
|
"pureBlack": "Pure black",
|
|
"customColor": "Custom color",
|
|
"colorStyle": "Color style",
|
|
"grid": "Grid",
|
|
"spectrum": "Spectrum",
|
|
"sliders": "Sliders",
|
|
"hue": "Hue",
|
|
"saturation": "Saturation",
|
|
"brightness": "Brightness",
|
|
"hex": "Hex",
|
|
"monochromeScheme": "Monochrome",
|
|
"vividStyle": "Vivid",
|
|
"tintedStyle": "Tinted",
|
|
"softStyle": "Soft",
|
|
"developerMode": "Developer mode",
|
|
"developerModeEnableTip": "Developer mode is enabled.",
|
|
"messageTest": "Message test",
|
|
"messageTestTip": "This is a message.",
|
|
"crashTest": "Crash test",
|
|
"crashDetected": "Crash detected",
|
|
"crashDetectedTip": "The app failed to finish launching twice in a row. To break the loop, the profile {name} has been deselected and automatic setup was skipped. You can select it again at any time.",
|
|
"launchInterrupted": "Launch did not finish",
|
|
"launchInterruptedTip": "The app exited unexpectedly while it was starting up last time. Automatic setup was skipped for this launch; you can start it manually to retry.",
|
|
"clearData": "Clear data",
|
|
"textScale": "Text scaling",
|
|
"textScalePreview": "Text in the app will look like this",
|
|
"followSystem": "Follow system",
|
|
"internet": "Internet",
|
|
"systemApp": "System apps",
|
|
"noNetworkApp": "No-network apps",
|
|
"restoreStrategy": "Restore strategy",
|
|
"restoreStrategyOverride": "Override",
|
|
"restoreStrategyCompatible": "Compatible",
|
|
"logsTest": "Logs test",
|
|
"emptyTip": "{label} cannot be empty",
|
|
"urlTip": "{label} must be a URL",
|
|
"invalidLinkTip": "Not a subscription link or a proxy share link",
|
|
"numberTip": "{label} must be a number",
|
|
"numberRangeTip": "{label} must be between {min} and {max}",
|
|
"interval": "Interval",
|
|
"existsTip": "{label} already exists",
|
|
"maxLengthTip": "{label} must be at most {max} characters",
|
|
"singleAdd": "Single add",
|
|
"batchAdd": "Batch add",
|
|
"batchListInputTip": "One item per line, or separated by commas",
|
|
"batchMapInputTip": "One entry per line: key, a space, then value",
|
|
"singleImport": "Single import",
|
|
"batchImport": "Batch import",
|
|
"batchUrlInputTip": "One URL per line",
|
|
"batchLinkInputTip": "One link per line",
|
|
"batchPreviewTip": "{count} to add, {skipped} skipped as existing",
|
|
"lineIssueTip": "Line {line}: {message}",
|
|
"singleValueTip": "{label} must be a single item",
|
|
"deleteTip": "Are you sure you want to delete this {label}?",
|
|
"deleteMultipTip": "Are you sure you want to delete the selected {label}?",
|
|
"nullTip": "No {label} yet",
|
|
"script": "Script",
|
|
"color": "Color",
|
|
"unnamed": "Unnamed",
|
|
"pleaseEnterScriptName": "Please enter a script name",
|
|
"mixedPort": "Mixed port",
|
|
"socksPort": "SOCKS port",
|
|
"redirPort": "Redir port",
|
|
"tproxyPort": "TProxy port",
|
|
"portTip": "{label} must be between 1024 and 49151",
|
|
"portConflictTip": "Please enter a different port",
|
|
"import": "Import",
|
|
"importFile": "Import from file",
|
|
"importUrl": "Import from URL",
|
|
"startFromScratch": "Start from scratch",
|
|
"autoSetSystemDns": "Auto-set system DNS",
|
|
"details": "{label} details",
|
|
"creationTime": "Creation time",
|
|
"process": "Process",
|
|
"host": "Host",
|
|
"destination": "Destination",
|
|
"destinationGeoIP": "Destination GeoIP",
|
|
"destinationIPASN": "Destination IP ASN",
|
|
"specialProxy": "Special proxy",
|
|
"specialRules": "Special rules",
|
|
"remoteDestination": "Remote destination",
|
|
"networkType": "Network type",
|
|
"proxyChains": "Proxy chain",
|
|
"log": "Log",
|
|
"connection": "Connection",
|
|
"request": "Request",
|
|
"connected": "Connected",
|
|
"disconnected": "Disconnected",
|
|
"connecting": "Connecting…",
|
|
"restartCoreTip": "Are you sure you want to restart the core?",
|
|
"forceRestartCoreTip": "Are you sure you want to force restart the core?",
|
|
"dnsHijacking": "DNS hijacking",
|
|
"coreStatus": "Core status",
|
|
"appendSystemDns": "Append system DNS",
|
|
"editRule": "Edit rule",
|
|
"extendMode": "Extend mode",
|
|
"standardModeDesc": "Standard mode: adds rules on top of the profile",
|
|
"scriptModeDesc": "Script mode: rewrites the whole profile with an extension script",
|
|
"addedRules": "Added rules",
|
|
"controlGlobalAddedRules": "Control global added rules",
|
|
"quickActions": "Quick actions",
|
|
"rulePresetBlockQuic": "Block QUIC",
|
|
"rulePresetBlockStun": "Block STUN",
|
|
"rulePresetBlockDot": "Block DNS over TLS",
|
|
"rulePresetBlockLoopback": "Block proxy loopback",
|
|
"rulePresetSystemServicesDirect": "Apple and Microsoft direct",
|
|
"rulePresetBittorrentDirect": "BitTorrent direct",
|
|
"rulePresetLanDirect": "LAN direct",
|
|
"extendScript": "Extend script",
|
|
"goToConfigureScript": "Go to script configuration",
|
|
"goToConfigureAddedRules": "Go to added rules configuration",
|
|
"editGlobalRules": "Edit global rules",
|
|
"confirmForceCrashCore": "Are you sure you want to force crash the core?",
|
|
"confirmClearAllData": "Are you sure you want to clear all data?",
|
|
"loading": "Loading…",
|
|
"yearsAgo": "{count, plural, =1{1 year ago} other{{count} years ago}}",
|
|
"monthsAgo": "{count, plural, =1{1 month ago} other{{count} months ago}}",
|
|
"daysAgo": "{count, plural, =1{1 day ago} other{{count} days ago}}",
|
|
"hoursAgo": "{count, plural, =1{1 hour ago} other{{count} hours ago}}",
|
|
"minutesAgo": "{count, plural, =1{1 minute ago} other{{count} minutes ago}}",
|
|
"justNow": "Just now",
|
|
"yearsAgoShort": "{count, plural, other{{count}y ago}}",
|
|
"monthsAgoShort": "{count, plural, other{{count}mo ago}}",
|
|
"daysAgoShort": "{count, plural, other{{count}d ago}}",
|
|
"hoursAgoShort": "{count, plural, other{{count}h ago}}",
|
|
"minutesAgoShort": "{count, plural, other{{count}m ago}}",
|
|
"noLongerRemind": "Don't remind me again",
|
|
"accessControlSettings": "Access control settings",
|
|
"turnOn": "Turn on",
|
|
"turnOff": "Turn off",
|
|
"vpnConfigChangeDetected": "VPN-related configuration change detected",
|
|
"restart": "Restart",
|
|
"speedStatistics": "Speed statistics",
|
|
"resetPageChangesTip": "This page has changes. Are you sure you want to reset?",
|
|
"customProfile": "Custom",
|
|
"customProfileDesc": "Assemble proxy groups and rules from app proxies and other profiles",
|
|
"customProfileResources": "Custom profile resources",
|
|
"customProfileResourcesDesc": "Custom profile resources hold proxies, rule providers, filters, and icon sets.",
|
|
"unknownNetworkError": "Unknown network error",
|
|
"backupFromNewerVersion": "This backup comes from a newer version of the app. Update the app before restoring it",
|
|
"networkTimeoutError": "The request timed out. Check your network or proxy, then try again",
|
|
"networkHostLookupError": "Couldn't resolve the server address. Check that the URL is correct and DNS is working",
|
|
"networkConnectionError": "Couldn't connect to the server. Check your network connection or proxy settings",
|
|
"networkTlsError": "Secure connection failed. The server's certificate may be invalid, or the connection is being intercepted",
|
|
"networkCancelledError": "The request was cancelled",
|
|
"networkAccessDeniedError": "The server denied access (HTTP {code}). The link may have expired, or the credentials are wrong",
|
|
"networkNotFoundError": "Nothing was found at this address (HTTP {code}). Check that the URL is correct",
|
|
"networkRateLimitedError": "Too many requests (HTTP 429). Wait a moment and try again",
|
|
"networkServerError": "The server ran into a problem (HTTP {code}). Try again later",
|
|
"networkBadResponseError": "The server rejected the request (HTTP {code})",
|
|
"networkRequestFailed": "Network request failed: {detail}",
|
|
"invalidBackupFile": "Invalid backup file",
|
|
"pruneCache": "Prune cache",
|
|
"backupAndRestore": "Backup and restore",
|
|
"restore": "Restore",
|
|
"restoreSuccess": "Restore successful",
|
|
"restoreOnlyConfig": "Restore profiles only",
|
|
"restoreAllData": "Restore all data",
|
|
"addProfile": "Add profile",
|
|
"delayTest": "Delay test",
|
|
"proxyGroupEmpty": "Proxy group is empty",
|
|
"confirmExitWindow": "Are you sure you want to exit the current window?",
|
|
"optional": "Optional",
|
|
"maxFailedTimes": "Max failures",
|
|
"testInterval": "Test interval",
|
|
"excludeFilter": "Exclude filter",
|
|
"expectedStatus": "Expected status",
|
|
"strategy": "Strategy",
|
|
"tolerance": "Tolerance",
|
|
"inputProxyGroupName": "Enter the proxy group name",
|
|
"helperCorruptTip": "Helper service unavailable; TUN mode cannot be enabled. Reinstall FlClash to restore it.",
|
|
"tunAuthorizationFailed": "TUN could not be authorized, so it was turned off.",
|
|
"sudoPasswordTitle": "Enter your password for sudo",
|
|
"coreBlockedByPolicyTip": "Windows refused to run FlClashCore.exe (error {code}). An app control policy such as Smart App Control or AppLocker blocks unsigned programs; allow FlClash in that policy or turn it off, then try again.",
|
|
"coreBlockedBySmartAppControlTip": "Windows Smart App Control blocked FlClashCore.exe because it is not signed. Open Windows Security → App & browser control → Smart App Control settings, choose Off, then start FlClash again. Smart App Control cannot be turned back on without reinstalling Windows.",
|
|
"hideFromList": "Hide from list",
|
|
"testWhenUsed": "Test when used",
|
|
"disableUDP": "Disable UDP",
|
|
"confirmDeleteProxyGroup": "Are you sure you want to delete this proxy group?",
|
|
"ruleEmpty": "Rule is empty",
|
|
"inputRuleContent": "Enter the rule content",
|
|
"ruleSet": "Rule set",
|
|
"selectRuleSet": "Please select a rule set",
|
|
"splitStrategy": "Split strategy",
|
|
"selectSplitStrategy": "Please select a split strategy",
|
|
"noResolveHostname": "Don't resolve hostname",
|
|
"matchSourceIp": "Match source IP",
|
|
"basicInfo": "Basic info",
|
|
"additionalParameters": "Additional parameters",
|
|
"proxyType": "Proxy type",
|
|
"basicStrategy": "Basic strategies",
|
|
"editProxy": "Edit proxy",
|
|
"addNodes": "Add nodes",
|
|
"addProxyGroup": "Add proxy group",
|
|
"editProxyGroup": "Edit proxy group",
|
|
"iconUrl": "Icon URL",
|
|
"iconRecords": "Icon records",
|
|
"custom": "Custom",
|
|
"ruleActionDomainDesc": "Match the full domain",
|
|
"ruleActionDomainSuffixDesc": "Match a domain suffix",
|
|
"ruleActionDomainKeywordDesc": "Match a domain keyword",
|
|
"ruleActionDomainRegexDesc": "Match a domain regex",
|
|
"ruleActionDomainWildcardDesc": "Wildcard match; only * and ? are supported",
|
|
"ruleActionGeositeDesc": "Match domains in Geosite",
|
|
"ruleActionIpCidrDesc": "Match an IP address range",
|
|
"ruleActionIpCidr6Desc": "Match an IP address range; IP-CIDR6 is just an alias",
|
|
"ruleActionIpSuffixDesc": "Match an IP suffix range",
|
|
"ruleActionIpAsnDesc": "Match the IP's ASN",
|
|
"ruleActionGeoipDesc": "Match the IP's country code",
|
|
"ruleActionSrcGeoipDesc": "Match the source IP's country code",
|
|
"ruleActionSrcIpAsnDesc": "Match the source IP's ASN",
|
|
"ruleActionSrcIpCidrDesc": "Match a source IP address range",
|
|
"ruleActionSrcIpSuffixDesc": "Match a source IP suffix range",
|
|
"ruleActionDstPortDesc": "Match the destination port range",
|
|
"ruleActionSrcPortDesc": "Match the source port range",
|
|
"ruleActionInPortDesc": "Match the inbound port",
|
|
"ruleActionInTypeDesc": "Match the inbound type",
|
|
"ruleActionInUserDesc": "Match the inbound username; separate multiple usernames with /",
|
|
"ruleActionInNameDesc": "Match the inbound name",
|
|
"ruleActionRematchNameDesc": "Match the rematch name; separate multiple names with /",
|
|
"ruleActionProcessPathDesc": "Match by the full process path",
|
|
"ruleActionProcessPathRegexDesc": "Match by process path regex",
|
|
"ruleActionProcessPathWildcardDesc": "Match by process path wildcard; only * and ? are supported",
|
|
"ruleActionProcessNameDesc": "Match by process name; matches the package name on Android",
|
|
"ruleActionProcessNameRegexDesc": "Match by process name regex; matches the package name on Android",
|
|
"ruleActionProcessNameWildcardDesc": "Match by process name wildcard; only * and ? are supported",
|
|
"ruleActionUidDesc": "Match the Linux user ID",
|
|
"ruleActionNetworkDesc": "Match TCP or UDP",
|
|
"ruleActionDscpDesc": "Match the DSCP mark (tproxy UDP inbound only)",
|
|
"ruleActionRuleSetDesc": "Reference a rule set; requires rule-providers",
|
|
"ruleActionAndDesc": "Logical rule AND",
|
|
"ruleActionOrDesc": "Logical rule OR",
|
|
"ruleActionNotDesc": "Logical rule NOT",
|
|
"ruleActionSubRuleDesc": "Match into a sub-rule; mind the parentheses",
|
|
"ruleActionMatchDesc": "Match all requests, no conditions needed",
|
|
"contentNotEmpty": "Content cannot be empty",
|
|
"splitStrategyNotEmpty": "Split strategy cannot be empty",
|
|
"timeout": "Timeout",
|
|
"delayFailed": "Failed",
|
|
"invalidSubRule": "{subRule} is an invalid SUB_RULE",
|
|
"invalidPolicy": "{target} is an invalid policy",
|
|
"invalidProxyProvider": "{providerName} is an invalid proxy provider",
|
|
"invalidRuleSet": "{ruleSet} is an invalid rule set",
|
|
"invalidNetworkContent": "Only tcp or udp is supported",
|
|
"invalidRangeContent": "Enter numbers or ranges such as 80 or 8000-9000, separated by /",
|
|
"invalidDscpContent": "A DSCP mark cannot exceed 63",
|
|
"invalidCidrContent": "Enter an IP range in CIDR form such as 192.168.0.0/16",
|
|
"invalidPortRangeContent": "Enter a port or a range such as 443 or 8000-9000",
|
|
"invalidHostContent": "Enter a domain or an IP address",
|
|
"invalidListenContent": "Enter an address and port such as 0.0.0.0:1053",
|
|
"invalidProxy": "{proxyName} is an invalid proxy",
|
|
"locationPermissionRequired": "Location permission required",
|
|
"locationPermissionGuide": "1. Open System Settings > Privacy & Security\n2. Choose Location Services\n3. Find and check {appName} in the list\n\nWhen you are done, return to the app to continue. Thank you for your cooperation.",
|
|
"prerequisites": "Prerequisites",
|
|
"ignoreBatteryOptimization": "Ignore battery optimization",
|
|
"batteryOptimizationDesc": "Ignore battery optimization keeps the app running in the background.",
|
|
"locationPermission": "Location permission",
|
|
"locationPermissionDesc": "The system requires location permission to read the Wi-Fi name. On Android choose \"Allow all the time\", otherwise the Wi-Fi name cannot be read while the app is in the background.",
|
|
"excludeSsids": "Exclude SSIDs",
|
|
"excludeSsidsDesc": "When connected to Wi-Fi with an excluded SSID, the app's running state switches automatically.",
|
|
"ssidsEmpty": "SSIDs are empty",
|
|
"onDemand": "On demand",
|
|
"onDemandDesc": "On demand pauses the proxy on excluded Wi-Fi.",
|
|
"locationPermissionDeniedMessage": "Location permission was denied, so the current Wi-Fi name cannot be read. Please enable location permission manually in system settings.",
|
|
"addSsid": "Add SSID",
|
|
"editSsid": "Edit SSID",
|
|
"authorized": "Authorized",
|
|
"tapToAuthorize": "Tap to authorize",
|
|
"suspended": "Suspended…",
|
|
"resourceUpdateInterval": "Auto-update interval",
|
|
"resourceUpdateIntervalTip": "The auto-update interval must be greater than 0",
|
|
"hours": "hours",
|
|
"minutes": "minutes",
|
|
"geoResources": "Geo",
|
|
"geoSkipped": "{name} is already up to date",
|
|
"geoUpdated": "{name} updated",
|
|
"secondsCount": "{count, plural, =1{1 second} other{{count} seconds}}",
|
|
"proxiesCount": "{count, plural, =1{1 proxy} other{{label} proxies}}",
|
|
"rulesCount": "{count, plural, =1{1 rule} other{{label} rules}}",
|
|
"proxyGroupsCount": "{count, plural, =1{1 proxy group} other{{label} proxy groups}}",
|
|
"changelogBreaking": "Breaking changes",
|
|
"changelogFeatures": "New features",
|
|
"changelogFixes": "Bug fixes",
|
|
"changelogPerformance": "Performance",
|
|
"changelogReverts": "Reverts",
|
|
"close": "Close",
|
|
"back": "Back",
|
|
"minimize": "Minimize",
|
|
"maximize": "Maximize",
|
|
"unmaximize": "Restore down",
|
|
"pinWindow": "Pin window",
|
|
"unpinWindow": "Unpin window",
|
|
"exitFullScreen": "Exit full screen",
|
|
"torch": "Flashlight",
|
|
"pickFromAlbum": "Choose from album",
|
|
"blockConnection": "Block connection",
|
|
"closeConnections": "Close connections",
|
|
"scrollToSelected": "Scroll to selected",
|
|
"showMore": "Expand",
|
|
"showLess": "Collapse",
|
|
"previousMatch": "Previous match",
|
|
"nextMatch": "Next match",
|
|
"clearSearch": "Clear search",
|
|
"noSearchResults": "No matching results",
|
|
"showPassword": "Show password",
|
|
"hidePassword": "Hide password",
|
|
"authorize": "Authorize",
|
|
"installedAppsPermissionRequired": "App list permission required",
|
|
"installedAppsPermissionDesc": "This system hides the installed app list until the permission is granted. Authorize it to configure the per-app proxy.",
|
|
"installedAppsPermissionDeniedMessage": "The app list permission was denied, so installed apps cannot be listed. Please grant it manually in system settings.",
|
|
"outboundIp": "Outbound IP",
|
|
"ipAddress": "IP address",
|
|
"ipQualityLevel": "Level",
|
|
"ipQualityGood": "Good",
|
|
"ipQualityNormal": "Normal",
|
|
"ipQualityRisky": "Risky",
|
|
"ipType": "Type",
|
|
"ipTypeResidential": "Residential",
|
|
"ipTypeMobile": "Mobile network",
|
|
"ipTypeBusiness": "Business",
|
|
"ipTypeHosting": "Data center",
|
|
"ipFlags": "Flags",
|
|
"ipFlagProxy": "Proxy",
|
|
"ipFlagVpn": "VPN",
|
|
"ipFlagTor": "Tor",
|
|
"ipFlagAbuser": "Abuse history",
|
|
"ipOrganization": "Organization",
|
|
"ipAsn": "ASN",
|
|
"ipQualitySource": "Answered by",
|
|
"ipQualitySources": "Sources",
|
|
"ipQualityFailed": "Couldn't determine the IP type",
|
|
"ipQualityRetry": "Check again",
|
|
"ipSourceNoType": "No type",
|
|
"ipSourceRateLimited": "Rate limited",
|
|
"ipSourceIpMismatch": "Different outbound IP",
|
|
"hideIp": "Hide IP",
|
|
"editorUnavailable": "Editor unavailable",
|
|
"replace": "Replace",
|
|
"replaceAll": "Replace all",
|
|
"cameraPermissionRequired": "Camera permission required",
|
|
"cameraPermissionDesc": "Allow camera access in system settings to scan QR codes, or choose a QR code image from the album.",
|
|
"cameraUnavailable": "Camera unavailable",
|
|
"retry": "Retry",
|
|
"invalidProfileQrcode": "This QR code doesn't contain a profile link",
|
|
"dnsQueries": "DNS queries",
|
|
"recordType": "Record type",
|
|
"answers": "Answers",
|
|
"responseCode": "Response code",
|
|
"error": "Error",
|
|
"initiator": "Initiator",
|
|
"cache": "Cache",
|
|
"yes": "Yes",
|
|
"no": "No",
|
|
"nonTextProviderFile": "This external resource is not a text file",
|
|
"addCustomProxy": "Add proxy",
|
|
"definitionNotMap": "The configuration must be a YAML mapping with a name and a type",
|
|
"ruleTextInvalid": "The rule must start with a supported type, such as DOMAIN,example.com,DIRECT",
|
|
"ruleListInvalid": "The rules must be a YAML list with one rule per item, such as - DOMAIN,example.com,DIRECT",
|
|
"shareLinksInvalid": "No proxy could be read from the links",
|
|
"shareLinkUnreadable": "No proxy could be read from {link}",
|
|
"proxiesProfileLabel": "{name} and others ({count} proxies)",
|
|
"singleShareLinkOnly": "Enter one link here; edit several from the quick edit of the list",
|
|
"username": "Username",
|
|
"emptyFallback": "Empty fallback",
|
|
"defaultSelected": "Default selection",
|
|
"hashByInUser": "Hash by inbound user",
|
|
"appProxiesEmpty": "No local proxies",
|
|
"nodes": "Nodes",
|
|
"localProxies": "Local proxies",
|
|
"customIssueEmptyName": "The name is empty",
|
|
"customIssueReservedName": "{name} is a built-in policy name and cannot be used here",
|
|
"customIssueDuplicateName": "The name {name} is already used by another proxy or proxy group",
|
|
"customIssueCoreRejected": "The core cannot parse this proxy: {message}",
|
|
"customIssueMissingProxies": "These proxies or policies do not exist: {names}",
|
|
"customIssueMissingProviders": "These proxy providers do not exist: {names}",
|
|
"customIssueNoProxySource": "No proxies or proxy providers are selected, so the core rejects this group",
|
|
"customIssueGroupLoop": "Proxy groups reference each other in a loop: {path}",
|
|
"customIssueInvalidEmptyFallback": "The empty fallback must be a proxy, but {name} does not exist or is a proxy group",
|
|
"customIssueInvalidFilter": "{name} is not a valid regex: {message}",
|
|
"customIssueMissingDialer": "The dialer proxy {name} does not exist",
|
|
"customIssueDialerLoop": "{proxy} dials through {target}, which leads back to {proxy}, so the dial loops",
|
|
"dialerProxyLoopStopped": "Dialing through {name} leads back to the proxy that uses it, so the connection was stopped",
|
|
"customIssuesSummary": "{count} items have problems, and applying this profile may fail",
|
|
"providerInUse": "{label} is still used by {profiles}, which will not work properly once it is deleted. Are you sure you want to delete it?",
|
|
"proxyGroupInUse": "{label} is still named by rules, proxy groups, dialer proxies, DNS or NTP in this profile, which stop working once it is deleted. Are you sure you want to delete it?",
|
|
"proxiesRemovedTip": "These proxies will be deleted: {removed}. A line whose name changed counts as a new proxy, and custom profiles naming the deleted ones will flag them as missing. Apply anyway?",
|
|
"proxiesReplacedTip": "These proxies will be deleted: {removed}. These will be added: {added}. A line whose name changed counts as a new proxy, and custom profiles naming the deleted ones will flag them as missing. Apply anyway?",
|
|
"fontSize": "Size",
|
|
"large": "Large",
|
|
"extraLarge": "Extra large",
|
|
"switchProfile": "Switch profile",
|
|
"lastUpdated": "Last updated",
|
|
"filters": "Filters",
|
|
"label": "Label",
|
|
"regex": "Regex",
|
|
"matchCase": "Match case",
|
|
"iconSets": "Icon sets",
|
|
"invalidIconSet": "Not a valid icon set",
|
|
"recommendedIcons": "Suggested",
|
|
"localImage": "Local image",
|
|
"iconSetsEmptyTip": "No icon sets yet. Add them in Custom profile resources → Icon sets",
|
|
"outbound": "Outbound",
|
|
"strictRoute": "Strict route",
|
|
"congestionController": "TCP congestion control",
|
|
"congestionControllerDesc": "TCP congestion control works only with the mips stack.",
|
|
"routeExcludeAddress": "Route exclude addresses",
|
|
"keepAliveIdle": "TCP keep-alive idle",
|
|
"disableKeepAlive": "Disable TCP keep-alive",
|
|
"routingMark": "Routing mark",
|
|
"strictRouteDesc": "Strict route keeps traffic such as DNS from bypassing TUN, and other devices can no longer reach this one.",
|
|
"initFailed": "Startup failed",
|
|
"initFailedTip": "FlClash ran into an error while starting and can't continue. Copy the details to report the problem. If it keeps happening, clearing the data usually lets the app start again.",
|
|
"errorDetails": "Error details",
|
|
"stackTrace": "Stack trace",
|
|
"clearDataAndExitTip": "This deletes all profiles, settings, and local data, then closes the app. Open it again to start fresh.",
|
|
"clearDataFailed": "Couldn't clear the data: {detail}",
|
|
"bypassPrivateRoute": "Bypass private addresses",
|
|
"bypassPrivateRouteDesc": "With Bypass private addresses on, LAN, loopback and multicast addresses skip TUN.",
|
|
"disableIcmpForwarding": "Disable ICMP forwarding",
|
|
"disableIcmpForwardingDesc": "With ICMP forwarding disabled, TUN answers ping itself, so ping no longer shows the real latency.",
|
|
"excludeInterface": "Excluded interfaces",
|
|
"excludeInterfaceDesc": "Traffic arriving on excluded interfaces, such as docker0, skips TUN.",
|
|
"includeInterface": "Included interfaces",
|
|
"includeInterfaceDesc": "Only traffic arriving on included interfaces goes through TUN, and excluded interfaces no longer apply.",
|
|
"includeUid": "Included user IDs",
|
|
"includeUidDesc": "Only traffic from processes of included user IDs goes through TUN.",
|
|
"excludeUid": "Excluded user IDs",
|
|
"excludeUidDesc": "Traffic from processes of excluded user IDs skips TUN.",
|
|
"excludeSrcPort": "Excluded source ports",
|
|
"excludeSrcPortDesc": "Traffic from excluded source ports skips TUN.",
|
|
"excludeDstPort": "Excluded destination ports",
|
|
"excludeDstPortDesc": "Traffic to excluded destination ports skips TUN.",
|
|
"udpTimeout": "UDP timeout",
|
|
"udpTimeoutDesc": "The UDP timeout is in seconds and works only with the gvisor, system and mixed stacks.",
|
|
"dnsHijackDesc": "Without this entry, TUN hijacks every DNS query to port 53 (any:53).",
|
|
"tunOverrideDesc": "Entries added here replace the TUN settings of every profile; anything not added keeps the profile's own setting. Entries a custom profile adds itself take precedence.",
|
|
"profileTunSettingsDesc": "Applies to this profile only and takes precedence over the TUN override entries in the network settings.",
|
|
"settingsCount": "{count, plural, =1{1 setting} other{{count} settings}}",
|
|
"sectionsInEffect": "{count} in effect",
|
|
"itemsCount": "{count, plural, =1{1 item} other{{count} items}}",
|
|
"additionalPrefix": "Name prefix",
|
|
"additionalSuffix": "Name suffix",
|
|
"skipCertVerify": "Skip certificate verification",
|
|
"ipVersion": "IP version",
|
|
"addFilters": "Add filters",
|
|
"failedItem": "{label}: {message}",
|
|
"failedCount": "{count} items failed",
|
|
"importConfigInvalid": "This file is not a config that can be imported",
|
|
"importConfigReplaceTip": "Importing replaces the proxy groups, rules and settings this profile has now",
|
|
"networkName": "Network name",
|
|
"networkSecret": "Network secret",
|
|
"peers": "Peers",
|
|
"virtualIpv4": "Virtual IPv4",
|
|
"hostname": "Hostname",
|
|
"exitNodes": "Exit nodes",
|
|
"cipher": "Cipher",
|
|
"protocol": "Protocol",
|
|
"protocolParam": "Protocol parameter",
|
|
"obfs": "Obfuscation",
|
|
"obfsParam": "Obfuscation parameter",
|
|
"obfsPassword": "Obfuscation password",
|
|
"obfsMode": "Obfuscation mode",
|
|
"obfsHost": "Obfuscation host",
|
|
"plugin": "Plugin",
|
|
"pluginMode": "Plugin mode",
|
|
"pluginHost": "Plugin host",
|
|
"privateKey": "Private key",
|
|
"publicKey": "Public key",
|
|
"privateKeyPassphrase": "Private key passphrase",
|
|
"preSharedKey": "Pre-shared key",
|
|
"secretKey": "Key",
|
|
"transport": "Transport",
|
|
"uploadBandwidth": "Upload bandwidth",
|
|
"downloadBandwidth": "Download bandwidth",
|
|
"protocolVersion": "Protocol version",
|
|
"portHopping": "Port hopping",
|
|
"hopInterval": "Hop interval",
|
|
"congestionControl": "Congestion control",
|
|
"udpRelayMode": "UDP relay mode",
|
|
"allowedIps": "Allowed IPs",
|
|
"remoteDnsResolve": "Remote DNS resolution",
|
|
"clientFingerprint": "Client fingerprint",
|
|
"required": "Required",
|
|
"ageSecretKey": "Age secret key",
|
|
"ageEncryptedProfile": "Encrypted profile",
|
|
"ageSecretKeyRequiredTip": "This profile is encrypted with age and needs an age secret key to decrypt",
|
|
"currentOutboundDesc": "Holds the start button and can't be removed",
|
|
"running": "Running",
|
|
"notRunning": "Not running",
|
|
"trafficPeak": "Peak {value}",
|
|
"trafficTotal": "Total {value}",
|
|
"ipQualityShort": "Quality",
|
|
"ipTypeUnknown": "Unknown type",
|
|
"tapIconToRetry": "Tap the icon to retry",
|
|
"networkTakeover": "Traffic takeover",
|
|
"portValue": "Port {port}",
|
|
"serviceAbnormalCount": "{count, plural, =1{1 issue} other{{count} issues}}",
|
|
"serviceAllAvailable": "All available",
|
|
"serviceShownOnDashboard": "Shown on the dashboard",
|
|
"groupTimeoutCount": "{count} timed out",
|
|
"groupCountUnit": "groups",
|
|
"groupCount": "{count, plural, =1{1 group} other{{count} groups}}",
|
|
"proxyGroupsAfterStart": "Groups show up here once the core starts",
|
|
"usedShort": "used",
|
|
"profileUpdatedAt": "Updated {time}",
|
|
"profileExpiresIn": "Expires {date}, {days, plural, =1{1 day} other{{days} days}} left",
|
|
"profileDaysLeft": "{days, plural, =1{1 day left} other{{days} days left}}",
|
|
"target": "Target",
|
|
"outboundExit": "Exit",
|
|
"duration": "Duration",
|
|
"traffic": "Traffic",
|
|
"totalDownload": "Downloaded",
|
|
"totalUpload": "Uploaded",
|
|
"initiatorShort": "From",
|
|
"result": "Result",
|
|
"elapsed": "Took",
|
|
"connectionStats": "Connection stats",
|
|
"connectionStatsDesc": "Live connections, recent requests and DNS queries",
|
|
"memoryInfoDesc": "Memory the app and the core use",
|
|
"editDashboard": "Edit dashboard",
|
|
"done": "Done",
|
|
"dashboardAddableSection": "Available to add",
|
|
"customImportDroppedSubRules": "{count, plural, =1{1 SUB-RULE rule was dropped, since custom profiles do not support sub-rules} other{{label} SUB-RULE rules were dropped, since custom profiles do not support sub-rules}}",
|
|
"autoInclude": "Auto-include",
|
|
"allReferencedProxies": "All referenced proxies",
|
|
"allReferencedProxyProviders": "All referenced proxy providers"
|
|
}
|