Merge branch 'main' of hiddify-github:hiddify/hiddify-next

This commit is contained in:
Hiddify
2024-03-08 14:20:42 +01:00
17 changed files with 2934 additions and 2800 deletions

View File

@@ -1,406 +1,407 @@
{ {
"general": { "general": {
"appTitle": "Hiddify", "appTitle": "Hiddify",
"reset": "Reset", "reset": "Reset",
"toggle": { "toggle": {
"enabled": "Enabled", "enabled": "Enabled",
"disabled": "Disabled" "disabled": "Disabled"
},
"state": {
"disable": "Disable"
},
"sort": "Sort",
"sortBy": "Sort by",
"addToClipboard": "Add to clipboard",
"notSet": "Not Set",
"agree": "Agree",
"decline": "Decline",
"unknown": "Unknown",
"hidden": "Hidden",
"timeout": "timeout",
"clipboardExportSuccessMsg": "Added to Clipboard"
}, },
"intro": { "state": {
"termsAndPolicyCaution(rich)": "by continuing you agree with ${tap(@:about.termsAndConditions)}", "disable": "Disable"
"start": "Start"
}, },
"home": { "sort": "Sort",
"pageTitle": "Home", "sortBy": "Sort by",
"emptyProfilesMsg": "Begin by adding a subscription profile", "addToClipboard": "Add to clipboard",
"noActiveProfileMsg": "Choose a profile", "notSet": "Not Set",
"connection": { "agree": "Agree",
"tapToConnect": "Tap to Connect", "decline": "Decline",
"connecting": "Connecting", "unknown": "Unknown",
"disconnecting": "Disconnecting", "hidden": "Hidden",
"connected": "Connected", "timeout": "timeout",
"reconnect": "Reconnect", "clipboardExportSuccessMsg": "Added to Clipboard",
"experimentalNotice": "Experimental Features In Use", "showMore": "Show More",
"experimentalNoticeMsg": "You've enabled some experimental features which might affect connection quality and cause unexpected errors. You can always change or reset these options from Config options page.", "showLess": "Show Less"
"disableExperimentalNotice": "Don't show again" },
}, "intro": {
"stats": { "termsAndPolicyCaution(rich)": "by continuing you agree with ${tap(@:about.termsAndConditions)}",
"traffic": "Live Traffic", "start": "Start"
"trafficTotal": "Total Traffic", },
"uplink": "Uplink", "home": {
"downlink": "Downlink", "pageTitle": "Home",
"connection": "Connection" "emptyProfilesMsg": "Begin by adding a subscription profile",
} "noActiveProfileMsg": "Choose a profile",
}, "connection": {
"profile": { "tapToConnect": "Tap to Connect",
"overviewPageTitle": "Profiles", "connecting": "Connecting",
"detailsPageTitle": "Profile", "disconnecting": "Disconnecting",
"activeProfileNameSemanticLabel": "Active profile name: \"${name}\".", "connected": "Connected",
"activeProfileBtnSemanticLabel": "View all profiles.", "reconnect": "Reconnect",
"nonActiveProfileBtnSemanticLabel": "Select \"${name}\" as active profile.", "experimentalNotice": "Experimental Features In Use",
"subscription": { "experimentalNoticeMsg": "You've enabled some experimental features which might affect connection quality and cause unexpected errors. You can always change or reset these options from Config options page.",
"traffic": "Traffic", "disableExperimentalNotice": "Don't show again"
"updatedTimeAgo": "Updated ${timeago}",
"remainingDuration": "${duration} Days Remaining",
"remainingTrafficSemanticLabel": "${consumed} of ${total} traffic consumed.",
"expired": "Expired",
"noTraffic": "Out of Quota",
"upload": "Upload",
"download": "Download",
"total": "Total Traffic",
"expireDate": "Expire Date"
},
"sortBy": {
"lastUpdate": "Recently updated",
"name": "Alphabetically"
},
"add": {
"buttonText": "New Profile",
"shortBtnTxt": "New Profile",
"fromClipboard": "Add From Clipboard",
"scanQr": "Scan QR code",
"qrScanner": {
"permissionDeniedError": "Permission denied",
"unexpectedError": "Something went wrong",
"torchSemanticLabel": "Flash light",
"facingSemanticLabel": "Camera facing"
},
"manually": "Manual Entry",
"addingProfileMsg": "Adding Profile",
"failureMsg": "Failed to add profile"
},
"update": {
"buttonTxt": "Update",
"tooltip": "Update Profile",
"updateSubscriptions": "Update Subscriptions",
"failureMsg": "Failed to update profile",
"successMsg": "Profile updated successfully",
"namedFailureMsg": "Failed to update \"${name}\"",
"namedSuccessMsg": "\"${name}\" updated successfully"
},
"share": {
"buttonText": "Share",
"exportToClipboardSuccess": "Exported to clipboard",
"exportSubLinkToClipboard": "Export subscription link to clipboard",
"subLinkQrCode": "Subscription link QR code",
"exportConfigToClipboard": "Export configuration to clipboard",
"exportConfigToClipboardSuccess": "Configuration copied to clipboard"
},
"edit": {
"buttonTxt": "Edit",
"selectActiveTxt": "Select active profile"
},
"delete": {
"buttonTxt": "Delete",
"confirmationMsg": "Delete profile permanently?",
"successMsg": "Profile deleted successfully"
},
"save": {
"buttonText": "Save",
"successMsg": "Profile saved successfully",
"failureMsg": "Failed to save profile"
},
"detailsForm": {
"nameLabel": "Name",
"nameHint": "Profile name",
"urlLabel": "URL",
"urlHint": "Full config URL",
"emptyNameMsg": "Name is required",
"invalidUrlMsg": "Invalid URL",
"lastUpdate": "Last Update",
"updateInterval": "Auto Update",
"updateIntervalDialogTitle": "Auto Update Interval (in hours)"
}
},
"proxies": {
"pageTitle": "Proxies",
"emptyProxiesMsg": "No proxies available",
"delayTestTooltip": "Test Delay",
"sortTooltip": "Sort Proxies",
"checkIp": "Check IP",
"unknownIp": "Unknown IP",
"sortOptions": {
"unsorted": "Default",
"name": "Alphabetically",
"delay": "By Delay"
},
"activeProxySemanticLabel": "Active proxy",
"delaySemantics": {
"result": "delay: ${delay}ms",
"timeout": "delay test timeout",
"testing": "delay: testing..."
},
"ipInfoSemantics": {
"address": "IP address",
"country": "Country"
},
"statsSemantics": {
"speed": "Speed",
"totalTransferred": "Total transferred"
}
},
"logs": {
"pageTitle": "Logs",
"filterHint": "Filter",
"allLevelsFilter": "All",
"shareCoreLogs": "Share Core Logs",
"shareAppLogs": "Share App logs",
"pauseTooltip": "Pause",
"resumeTooltip": "Resume",
"clearTooltip": "Clear"
},
"settings": {
"pageTitle": "Settings",
"requiresRestartMsg": "For this to take effect restart the app",
"experimental": "Experimental",
"experimentalMsg": "Features with Experimental flag are still in development and might cause issues.",
"exportOptions": "Export Options to Clipboard",
"exportAllOptions": "Export Options to Clipboard (debug)",
"importOptions": "Import Options from Clipboard",
"importOptionsMsg": "This will rewrite all config options with provided values. Are you sure?",
"general": {
"sectionTitle": "General",
"locale": "Language",
"region": "Region",
"regionMsg": "Helps set default options to bypass domestic addresses",
"regions": {
"ir": "Iran (ir)",
"cn": "China (cn)",
"ru": "Russia (ru)",
"af": "Afghanistan (af)",
"other": "Other"
},
"themeMode": "Theme Mode",
"themeModes": {
"system": "Follow system theme",
"dark": "Dark mode",
"light": "Light mode",
"black": "Black mode"
},
"enableAnalytics": "Enable Analytics",
"enableAnalyticsMsg": "Give permission to collect analytics and send crash reports to improve the app",
"autoStart": "Start At Login",
"silentStart": "Start Minimized",
"openWorkingDir": "Open Working Directory",
"ignoreBatteryOptimizations": "Disable Battery Optimization",
"ignoreBatteryOptimizationsMsg": "Remove restrictions for optimal VPN performance",
"dynamicNotification": "Display speed in notification",
"hapticFeedback": "Haptic Feedback",
"autoIpCheck": "Automatically check connection IP"
},
"advanced": {
"sectionTitle": "Advanced",
"debugMode": "Debug Mode",
"debugModeMsg": "Restart the app for applying this change",
"memoryLimit": "Memory Limit",
"memoryLimitMsg": "Enable if you're experiencing out of memory errors or frequent app crash",
"resetTunnel": "Reset VPN Profile"
},
"network": {
"perAppProxyPageTitle": "Per-app Proxy",
"perAppProxyModes": {
"off": "All",
"offMsg": "Proxy all apps",
"include": "Proxy",
"includeMsg": "Proxy only selected apps",
"exclude": "Bypass",
"excludeMsg": "Do not proxy selected apps"
},
"showSystemApps": "Show system apps",
"hideSystemApps": "Hide system apps",
"clearSelection": "Clear selection"
},
"config": {
"resetBtn": "Reset options",
"reconnectMsg": "Reconnect for changes to take effect",
"reconnectBtn": "Reconnect",
"serviceMode": "Service Mode",
"quickSettings": "Quick Settings",
"setupWarp": "Setup WARP",
"allOptions": "All Config Options",
"serviceModes": {
"proxy": "Proxy Service Only",
"systemProxy": "Set System Proxy",
"tun": "VPN",
"tunService": "VPN Service"
},
"shortServiceModes": {
"proxy": "Proxy",
"systemProxy": "System Proxy",
"tun": "VPN",
"tunService": "VPN Service"
},
"section": {
"route": "Route Options",
"dns": "DNS Options",
"inbound": "Inbound Options",
"mux": "Multiplexer",
"outbound": "Outbound Options",
"tlsTricks": "TLS Tricks",
"warp": "WARP Options",
"misc": "Misc Options"
},
"warpConsent": {
"title": "Cloudflare WARP Consent",
"description(rich)": "Cloudflare WARP is a free WireGuard VPN provider. By enabling this option you are agreeing to the Cloudflare WARP's ${tos(Terms of Service)} and ${privacy(Privacy Policy)}."
},
"generateWarpConfig": "Generate WARP config",
"missingWarpConfig": "Missing WARP config",
"warpConfigGenerated": "WARP config generated",
"pageTitle": "Config Options",
"logLevel": "Log Level",
"resolveDestination": "Resolve Destination",
"ipv6Mode": "IPv6 Route",
"ipv6Modes": {
"disable": "Disable",
"enable": "Enable",
"prefer": "Preferred",
"only": "Exclusive"
},
"remoteDnsAddress": "Remote DNS",
"remoteDnsDomainStrategy": "Remote DNS Domain Strategy",
"directDnsAddress": "Direct DNS",
"directDnsDomainStrategy": "Direct DNS Domain Strategy",
"mixedPort": "Mixed Port",
"localDnsPort": "Local DNS Port",
"allowConnectionFromLan": "Allow Connection from LAN",
"tunImplementation": "TUN Implementation",
"mtu": "MTU",
"connectionTestUrl": "Connection Test URL",
"urlTestInterval": "URL Test Interval",
"enableClashApi": "Enable Clash API",
"clashApiPort": "Clash API Port",
"enableTun": "Enable TUN",
"setSystemProxy": "Set System Proxy",
"enableDnsRouting": "Enable DNS Routing",
"enableFakeDns": "Enable Fake DNS",
"bypassLan": "Bypass Lan",
"strictRoute": "Strict Route",
"enableTlsFragment": "Enable TLS Fragment",
"tlsFragmentSize": "TLS Fragment Size",
"tlsFragmentSleep": "TLS Fragment Sleep",
"enableTlsMixedSniCase": "Enable TLS Mixed SNI Case",
"enableTlsPadding": "Enable TLS Padding",
"tlsPaddingSize": "TLS Padding",
"enableMux": "Enable Mux",
"muxProtocol": "Mux Protocol",
"muxMaxStreams": "Max Concurrent Streams",
"enableWarp": "Enable WARP",
"warpDetourMode": "Detour Mode",
"warpDetourModes": {
"proxyOverWarp": "Detour proxies through WARP",
"warpOverProxy": "Detour WARP through proxies"
},
"warpLicenseKey": "License Key",
"warpCleanIp": "Clean IP",
"warpPort": "Port",
"warpNoise": "Noise Count",
"warpNoiseDelay": "Noise Delay"
},
"geoAssets": {
"pageTitle": "Routing Assets",
"geoip": "Geoip",
"geosite": "Geosite",
"version": "Version ${version}",
"fileMissing": "File Missing",
"update": "Update",
"download": "Download",
"failureMsg": "Failed to update asset",
"successMsg": "Successfully updated asset",
"addRecommended": "Add Recommended Assets",
"missingGeoAssetsMsg": "Selected routing assets' files are missing. Either download them or choose existing ones."
}
},
"about": {
"pageTitle": "About",
"version": "Version",
"sourceCode": "Source Code",
"telegramChannel": "Telegram Channel",
"checkForUpdate": "Check for update",
"privacyPolicy": "Privacy policy",
"termsAndConditions": "Terms and conditions"
},
"appUpdate": {
"notAvailableMsg": "Already using the latest version",
"dialogTitle": "Update Available",
"updateMsg": "A new version of @:general.appTitle is available. Would you like to update now?",
"currentVersionLbl": "Current Version",
"newVersionLbl": "New Version",
"updateNowBtnTxt": "Update Now",
"laterBtnTxt": "Later",
"ignoreBtnTxt": "Ignore"
},
"tray": {
"dashboard": "Dashboard",
"quit": "Quit",
"open": "Open",
"status": {
"connect": "Connect",
"connecting": "Connecting",
"disconnect": "Disconnect",
"disconnecting": "Disconnecting"
}
},
"failure": {
"unexpected": "Unexpected Error",
"clash": {
"unexpected": "Unexpected Error",
"core": "Clash Error ${reason}"
},
"singbox": {
"unexpected": "Unexpected Service Error",
"serviceNotRunning": "Service is not running",
"missingPrivilege": "Missing Privilege",
"missingPrivilegeMsg": "VPN mode requires administrator privileges. Either relaunch the app as administrator or change service mode.",
"missingGeoAssets": "Missing Geo Assets",
"missingGeoAssetsMsg": "Geo assets are missing. consider changing active asset or download selected one in the settings.",
"invalidConfigOptions": "Invalid configuration options",
"invalidConfig": "Invalid Configuration",
"create": "Service creation error",
"start": "Service startup error"
},
"connectivity": {
"unexpected": "Unexpected Failure",
"missingVpnPermission": "Missing VPN Permission",
"missingNotificationPermission": "Missing Notification Permission",
"core": "Core Error"
},
"profiles": {
"unexpected": "Unexpected Error",
"notFound": "Profile Not Found",
"invalidConfig": "Invalid Configs",
"invalidUrl": "Invalid URL"
},
"connection": {
"unexpected": "Unexpected connection error",
"timeout": "Connection timeout",
"badResponse": "Bad response",
"connectionError": "Connection error",
"badCertificate": "Bad certificate"
},
"geoAssets": {
"unexpected": "Unexpected Error",
"notUpdate": "No Update Available",
"activeNotFound": "Active Geo Asset Not Found"
}
},
"play": {
"title": "Hiddify (Preview)",
"short_description": "Auto, SSH, VLESS, Vmess, Trojan, Reality, Sing-Box, Clash, Xray, Shadowsocks",
"full_description": "The key goal of Hiddify is to provide a secure, user-friendly and efficient tunneling client. It enables you to route all traffic or selected app traffic to a remote server of your choose, utilizing VPN-Service permission.\n\nNote: We do not provide any server; users are required to ensure their online activities stay private by using use their own self-hosted server or trusted servers. \n \nWe support servers with:\n- Normal V2ray/Xray Subscription Link\n- Clash Subscription Link\n- Sing-Box Subscription Link\n\nWhat is our unique features?\n - User Friendly\n - Optimized and Fast\n - Automatically select LowestPing \n - Show user usage information\n - Easily import sublink by one click using deeplinking \n - Free and No ADS\n - Easily switch user sublinks\n - more and more\n\nSupport:\n- All Protocols supported by Sing-Box \n- VLESS + xtls reality, vision\n- VMESS\n- Trojan\n- ShoadowSocks\n- Reality\n- V2ray\n- Hystria2\n- TUIC\n- SSH\n- ShadowTLS\n\n\nThe source code exist in https://github.com/hiddify/Hiddify-Next\nThe application core is based on open-source sing-box.\n\nPermission Description:\n- VPN Service: As the goal of this application is to provide a secure, user-friendly and efficient tunneling client, we need this permission to be able to route the traffic via tunnel to the remote server. \n- QUERY ALL PACKAGES: This permission is used to allow users to include or exclude specific applications for tunneling.\n- RECEIVE BOOT COMPLETED: This permission can be enabled or disabled from app settings to activate this application upon device boot.\n- POST NOTIFICATIONS: This permission is essential as we employ a foreground service to ensure the continuous operation of the VPN service.\n- This application is free from advertisements. The analytics and crash data only occurs with the explicit consent of the user in the first use of application."
} }
} },
"stats": {
"traffic": "Traffic",
"trafficLive": "Live Traffic",
"trafficTotal": "Total Traffic",
"uplink": "Uplink",
"downlink": "Downlink",
"connection": "Connection",
"speed": "Speed",
"totalTransferred": "Total transferred"
},
"profile": {
"overviewPageTitle": "Profiles",
"detailsPageTitle": "Profile",
"activeProfileNameSemanticLabel": "Active profile name: \"${name}\".",
"activeProfileBtnSemanticLabel": "View all profiles.",
"nonActiveProfileBtnSemanticLabel": "Select \"${name}\" as active profile.",
"subscription": {
"traffic": "Traffic",
"updatedTimeAgo": "Updated ${timeago}",
"remainingDuration": "${duration} Days Remaining",
"remainingTrafficSemanticLabel": "${consumed} of ${total} traffic consumed.",
"expired": "Expired",
"noTraffic": "Out of Quota",
"upload": "Upload",
"download": "Download",
"total": "Total Traffic",
"expireDate": "Expire Date"
},
"sortBy": {
"lastUpdate": "Recently updated",
"name": "Alphabetically"
},
"add": {
"buttonText": "New Profile",
"shortBtnTxt": "New Profile",
"fromClipboard": "Add From Clipboard",
"scanQr": "Scan QR code",
"qrScanner": {
"permissionDeniedError": "Permission denied",
"unexpectedError": "Something went wrong",
"torchSemanticLabel": "Flash light",
"facingSemanticLabel": "Camera facing"
},
"manually": "Manual Entry",
"addingProfileMsg": "Adding Profile",
"failureMsg": "Failed to add profile"
},
"update": {
"buttonTxt": "Update",
"tooltip": "Update Profile",
"updateSubscriptions": "Update Subscriptions",
"failureMsg": "Failed to update profile",
"successMsg": "Profile updated successfully",
"namedFailureMsg": "Failed to update \"${name}\"",
"namedSuccessMsg": "\"${name}\" updated successfully"
},
"share": {
"buttonText": "Share",
"exportToClipboardSuccess": "Exported to clipboard",
"exportSubLinkToClipboard": "Export subscription link to clipboard",
"subLinkQrCode": "Subscription link QR code",
"exportConfigToClipboard": "Export configuration to clipboard",
"exportConfigToClipboardSuccess": "Configuration copied to clipboard"
},
"edit": {
"buttonTxt": "Edit",
"selectActiveTxt": "Select active profile"
},
"delete": {
"buttonTxt": "Delete",
"confirmationMsg": "Delete profile permanently?",
"successMsg": "Profile deleted successfully"
},
"save": {
"buttonText": "Save",
"successMsg": "Profile saved successfully",
"failureMsg": "Failed to save profile"
},
"detailsForm": {
"nameLabel": "Name",
"nameHint": "Profile name",
"urlLabel": "URL",
"urlHint": "Full config URL",
"emptyNameMsg": "Name is required",
"invalidUrlMsg": "Invalid URL",
"lastUpdate": "Last Update",
"updateInterval": "Auto Update",
"updateIntervalDialogTitle": "Auto Update Interval (in hours)"
}
},
"proxies": {
"pageTitle": "Proxies",
"emptyProxiesMsg": "No proxies available",
"delayTestTooltip": "Test Delay",
"sortTooltip": "Sort Proxies",
"checkIp": "Check IP",
"unknownIp": "Unknown IP",
"sortOptions": {
"unsorted": "Default",
"name": "Alphabetically",
"delay": "By Delay"
},
"activeProxySemanticLabel": "Active proxy",
"delaySemantics": {
"result": "delay: ${delay}ms",
"timeout": "delay test timeout",
"testing": "delay: testing..."
},
"ipInfoSemantics": {
"address": "IP address",
"country": "Country"
}
},
"logs": {
"pageTitle": "Logs",
"filterHint": "Filter",
"allLevelsFilter": "All",
"shareCoreLogs": "Share Core Logs",
"shareAppLogs": "Share App logs",
"pauseTooltip": "Pause",
"resumeTooltip": "Resume",
"clearTooltip": "Clear"
},
"settings": {
"pageTitle": "Settings",
"requiresRestartMsg": "For this to take effect restart the app",
"experimental": "Experimental",
"experimentalMsg": "Features with Experimental flag are still in development and might cause issues.",
"exportOptions": "Export Options to Clipboard",
"exportAllOptions": "Export Options to Clipboard (debug)",
"importOptions": "Import Options from Clipboard",
"importOptionsMsg": "This will rewrite all config options with provided values. Are you sure?",
"general": {
"sectionTitle": "General",
"locale": "Language",
"region": "Region",
"regionMsg": "Helps set default options to bypass domestic addresses",
"regions": {
"ir": "Iran (ir)",
"cn": "China (cn)",
"ru": "Russia (ru)",
"af": "Afghanistan (af)",
"other": "Other"
},
"themeMode": "Theme Mode",
"themeModes": {
"system": "Follow system theme",
"dark": "Dark mode",
"light": "Light mode",
"black": "Black mode"
},
"enableAnalytics": "Enable Analytics",
"enableAnalyticsMsg": "Give permission to collect analytics and send crash reports to improve the app",
"autoStart": "Start At Login",
"silentStart": "Start Minimized",
"openWorkingDir": "Open Working Directory",
"ignoreBatteryOptimizations": "Disable Battery Optimization",
"ignoreBatteryOptimizationsMsg": "Remove restrictions for optimal VPN performance",
"dynamicNotification": "Display speed in notification",
"hapticFeedback": "Haptic Feedback",
"autoIpCheck": "Automatically check connection IP"
},
"advanced": {
"sectionTitle": "Advanced",
"debugMode": "Debug Mode",
"debugModeMsg": "Restart the app for applying this change",
"memoryLimit": "Memory Limit",
"memoryLimitMsg": "Enable if you're experiencing out of memory errors or frequent app crash",
"resetTunnel": "Reset VPN Profile"
},
"network": {
"perAppProxyPageTitle": "Per-app Proxy",
"perAppProxyModes": {
"off": "All",
"offMsg": "Proxy all apps",
"include": "Proxy",
"includeMsg": "Proxy only selected apps",
"exclude": "Bypass",
"excludeMsg": "Do not proxy selected apps"
},
"showSystemApps": "Show system apps",
"hideSystemApps": "Hide system apps",
"clearSelection": "Clear selection"
},
"config": {
"resetBtn": "Reset options",
"reconnectMsg": "Reconnect for changes to take effect",
"reconnectBtn": "Reconnect",
"serviceMode": "Service Mode",
"quickSettings": "Quick Settings",
"setupWarp": "Setup WARP",
"allOptions": "All Config Options",
"serviceModes": {
"proxy": "Proxy Service Only",
"systemProxy": "Set System Proxy",
"tun": "VPN",
"tunService": "VPN Service"
},
"shortServiceModes": {
"proxy": "Proxy",
"systemProxy": "System Proxy",
"tun": "VPN",
"tunService": "VPN Service"
},
"section": {
"route": "Route Options",
"dns": "DNS Options",
"inbound": "Inbound Options",
"mux": "Multiplexer",
"outbound": "Outbound Options",
"tlsTricks": "TLS Tricks",
"warp": "WARP Options",
"misc": "Misc Options"
},
"warpConsent": {
"title": "Cloudflare WARP Consent",
"description(rich)": "Cloudflare WARP is a free WireGuard VPN provider. By enabling this option you are agreeing to the Cloudflare WARP's ${tos(Terms of Service)} and ${privacy(Privacy Policy)}."
},
"generateWarpConfig": "Generate WARP config",
"missingWarpConfig": "Missing WARP config",
"warpConfigGenerated": "WARP config generated",
"pageTitle": "Config Options",
"logLevel": "Log Level",
"resolveDestination": "Resolve Destination",
"ipv6Mode": "IPv6 Route",
"ipv6Modes": {
"disable": "Disable",
"enable": "Enable",
"prefer": "Preferred",
"only": "Exclusive"
},
"remoteDnsAddress": "Remote DNS",
"remoteDnsDomainStrategy": "Remote DNS Domain Strategy",
"directDnsAddress": "Direct DNS",
"directDnsDomainStrategy": "Direct DNS Domain Strategy",
"mixedPort": "Mixed Port",
"localDnsPort": "Local DNS Port",
"allowConnectionFromLan": "Allow Connection from LAN",
"tunImplementation": "TUN Implementation",
"mtu": "MTU",
"connectionTestUrl": "Connection Test URL",
"urlTestInterval": "URL Test Interval",
"enableClashApi": "Enable Clash API",
"clashApiPort": "Clash API Port",
"enableTun": "Enable TUN",
"setSystemProxy": "Set System Proxy",
"enableDnsRouting": "Enable DNS Routing",
"enableFakeDns": "Enable Fake DNS",
"bypassLan": "Bypass Lan",
"strictRoute": "Strict Route",
"enableTlsFragment": "Enable TLS Fragment",
"tlsFragmentSize": "TLS Fragment Size",
"tlsFragmentSleep": "TLS Fragment Sleep",
"enableTlsMixedSniCase": "Enable TLS Mixed SNI Case",
"enableTlsPadding": "Enable TLS Padding",
"tlsPaddingSize": "TLS Padding",
"enableMux": "Enable Mux",
"muxProtocol": "Mux Protocol",
"muxMaxStreams": "Max Concurrent Streams",
"enableWarp": "Enable WARP",
"warpDetourMode": "Detour Mode",
"warpDetourModes": {
"proxyOverWarp": "Detour proxies through WARP",
"warpOverProxy": "Detour WARP through proxies"
},
"warpLicenseKey": "License Key",
"warpCleanIp": "Clean IP",
"warpPort": "Port",
"warpNoise": "Noise Count",
"warpNoiseDelay": "Noise Delay"
},
"geoAssets": {
"pageTitle": "Routing Assets",
"geoip": "Geoip",
"geosite": "Geosite",
"version": "Version ${version}",
"fileMissing": "File Missing",
"update": "Update",
"download": "Download",
"failureMsg": "Failed to update asset",
"successMsg": "Successfully updated asset",
"addRecommended": "Add Recommended Assets",
"missingGeoAssetsMsg": "Selected routing assets' files are missing. Either download them or choose existing ones."
}
},
"about": {
"pageTitle": "About",
"version": "Version",
"sourceCode": "Source Code",
"telegramChannel": "Telegram Channel",
"checkForUpdate": "Check for update",
"privacyPolicy": "Privacy policy",
"termsAndConditions": "Terms and conditions"
},
"appUpdate": {
"notAvailableMsg": "Already using the latest version",
"dialogTitle": "Update Available",
"updateMsg": "A new version of @:general.appTitle is available. Would you like to update now?",
"currentVersionLbl": "Current Version",
"newVersionLbl": "New Version",
"updateNowBtnTxt": "Update Now",
"laterBtnTxt": "Later",
"ignoreBtnTxt": "Ignore"
},
"tray": {
"dashboard": "Dashboard",
"quit": "Quit",
"open": "Open",
"status": {
"connect": "Connect",
"connecting": "Connecting",
"disconnect": "Disconnect",
"disconnecting": "Disconnecting"
}
},
"failure": {
"unexpected": "Unexpected Error",
"clash": {
"unexpected": "Unexpected Error",
"core": "Clash Error ${reason}"
},
"singbox": {
"unexpected": "Unexpected Service Error",
"serviceNotRunning": "Service is not running",
"missingPrivilege": "Missing Privilege",
"missingPrivilegeMsg": "VPN mode requires administrator privileges. Either relaunch the app as administrator or change service mode.",
"missingGeoAssets": "Missing Geo Assets",
"missingGeoAssetsMsg": "Geo assets are missing. consider changing active asset or download selected one in the settings.",
"invalidConfigOptions": "Invalid configuration options",
"invalidConfig": "Invalid Configuration",
"create": "Service creation error",
"start": "Service startup error"
},
"connectivity": {
"unexpected": "Unexpected Failure",
"missingVpnPermission": "Missing VPN Permission",
"missingNotificationPermission": "Missing Notification Permission",
"core": "Core Error"
},
"profiles": {
"unexpected": "Unexpected Error",
"notFound": "Profile Not Found",
"invalidConfig": "Invalid Configs",
"invalidUrl": "Invalid URL"
},
"connection": {
"unexpected": "Unexpected connection error",
"timeout": "Connection timeout",
"badResponse": "Bad response",
"connectionError": "Connection error",
"badCertificate": "Bad certificate"
},
"geoAssets": {
"unexpected": "Unexpected Error",
"notUpdate": "No Update Available",
"activeNotFound": "Active Geo Asset Not Found"
}
},
"play": {
"title": "Hiddify (Preview)",
"short_description": "Auto, SSH, VLESS, Vmess, Trojan, Reality, Sing-Box, Clash, Xray, Shadowsocks",
"full_description": "The key goal of Hiddify is to provide a secure, user-friendly and efficient tunneling client. It enables you to route all traffic or selected app traffic to a remote server of your choose, utilizing VPN-Service permission.\n\nNote: We do not provide any server; users are required to ensure their online activities stay private by using use their own self-hosted server or trusted servers. \n \nWe support servers with:\n- Normal V2ray/Xray Subscription Link\n- Clash Subscription Link\n- Sing-Box Subscription Link\n\nWhat is our unique features?\n - User Friendly\n - Optimized and Fast\n - Automatically select LowestPing \n - Show user usage information\n - Easily import sublink by one click using deeplinking \n - Free and No ADS\n - Easily switch user sublinks\n - more and more\n\nSupport:\n- All Protocols supported by Sing-Box \n- VLESS + xtls reality, vision\n- VMESS\n- Trojan\n- ShoadowSocks\n- Reality\n- V2ray\n- Hystria2\n- TUIC\n- SSH\n- ShadowTLS\n\n\nThe source code exist in https://github.com/hiddify/Hiddify-Next\nThe application core is based on open-source sing-box.\n\nPermission Description:\n- VPN Service: As the goal of this application is to provide a secure, user-friendly and efficient tunneling client, we need this permission to be able to route the traffic via tunnel to the remote server. \n- QUERY ALL PACKAGES: This permission is used to allow users to include or exclude specific applications for tunneling.\n- RECEIVE BOOT COMPLETED: This permission can be enabled or disabled from app settings to activate this application upon device boot.\n- POST NOTIFICATIONS: This permission is essential as we employ a foreground service to ensure the continuous operation of the VPN service.\n- This application is free from advertisements. The analytics and crash data only occurs with the explicit consent of the user in the first use of application."
}
}

View File

@@ -33,12 +33,6 @@
"experimentalNotice": "Funciones experimentales en uso", "experimentalNotice": "Funciones experimentales en uso",
"experimentalNoticeMsg": "Ha habilitado algunas funciones experimentales que podrían afectar la calidad de la conexión y provocar errores inesperados. Siempre puede cambiar o restablecer estas opciones desde la página de opciones de configuración.", "experimentalNoticeMsg": "Ha habilitado algunas funciones experimentales que podrían afectar la calidad de la conexión y provocar errores inesperados. Siempre puede cambiar o restablecer estas opciones desde la página de opciones de configuración.",
"disableExperimentalNotice": "No volver a mostrar" "disableExperimentalNotice": "No volver a mostrar"
},
"stats": {
"traffic": "Tráfico en vivo",
"trafficTotal": "Tráfico total",
"uplink": "Enlace ascendente",
"downlink": "Enlace descendente"
} }
}, },
"profile": { "profile": {

View File

@@ -1,359 +1,359 @@
{ {
"general": { "general": {
"appTitle": "هیدیفای", "appTitle": "هیدیفای",
"reset": "بازنشانی", "reset": "بازنشانی",
"toggle": { "toggle": {
"enabled": "فعال", "enabled": "فعال",
"disabled": "غیر فعال" "disabled": "غیر فعال"
},
"state": {
"disable": "غیر فعال"
},
"sort": "مرتب‌سازی",
"sortBy": "مرتب‌سازی براساس",
"addToClipboard": "به کلیپ بورد اضافه کنید",
"notSet": "تنظیم نشده",
"agree": "موافقم",
"decline": "رد",
"unknown": "ناشناخته"
}, },
"intro": { "state": {
"termsAndPolicyCaution(rich)": "در صورت ادامه با ${tap(@:about.termsAndConditions)} موافقت میکنید", "disable": "غیر فعال"
"start": "شروع"
}, },
"home": { "sort": "مرتب‌سازی",
"pageTitle": "خانه", "sortBy": "مرتب‌سازی براساس",
"emptyProfilesMsg": "با افزودن پروفایل شروع کنید", "addToClipboard": "به کلیپ بورد اضافه کنید",
"noActiveProfileMsg": "یک پروفایل انتخاب کنید", "notSet": "تنظیم نشده",
"connection": { "agree": "موافقم",
"tapToConnect": "برای اتصال ضربه بزنید", "decline": د",
"connecting": "در حال اتصال", "unknown": "ناشناخته"
"disconnecting": "در حال قطع اتصال", },
"connected": "متصل", "intro": {
"experimentalNotice": "اخطار استفاده از ویژگی‌های آزمایشی", "termsAndPolicyCaution(rich)": "در صورت ادامه با ${tap(@:about.termsAndConditions)} موافقت میکنید",
"experimentalNoticeMsg": "برخی از ویژگی‌های آزمایشی را فعال کرده‌اید که ممکن است بر کیفیت اتصال تأثیر بگذارد و باعث خطاهای غیرمنتظره شود. همیشه می‌توانید این گزینه‌ها را از صفحه تنظیمات کانفیگ تغییر دهید یا بازنشانی کنید.", "start": "شروع"
"disableExperimentalNotice": "دیگر نشان نده" },
}, "home": {
"stats": { "pageTitle": "خانه",
"traffic": "مصرف لحظه‌ای", "emptyProfilesMsg": "با افزودن پروفایل شروع کنید",
"trafficTotal": "مصرف کل", "noActiveProfileMsg": "یک پروفایل انتخاب کنید",
"uplink": "ارسال", "connection": {
"downlink": "دریافت" "tapToConnect": "برای اتصال ضربه بزنید",
} "connecting": "در حال اتصال",
}, "disconnecting": "در حال قطع اتصال",
"profile": { "connected": "متصل",
"overviewPageTitle": "پروفایل‌ها", "experimentalNotice": "اخطار استفاده از ویژگی‌های آزمایشی",
"detailsPageTitle": "پروفایل", "experimentalNoticeMsg": "برخی از ویژگی‌های آزمایشی را فعال کرده‌اید که ممکن است بر کیفیت اتصال تأثیر بگذارد و باعث خطاهای غیرمنتظره شود. همیشه می‌توانید این گزینه‌ها را از صفحه تنظیمات کانفیگ تغییر دهید یا بازنشانی کنید.",
"activeProfileNameSemanticLabel": "نام پروفایل فعال: ${name}", "disableExperimentalNotice": "دیگر نشان نده"
"activeProfileBtnSemanticLabel": "همه‌ی پروفایل‌ها",
"nonActiveProfileBtnSemanticLabel": "انتخاب ${name} به عنوان پروفایل فعال",
"subscription": {
"traffic": "ترافیک",
"updatedTimeAgo": "بروزرسانی شده در ${timeago}",
"remainingDuration": "${duration} روز باقی مانده",
"remainingTrafficSemanticLabel": "${consumed} از ${total} ترافیک مصرف شده",
"expired": "منقضی شده",
"noTraffic": "پایان ترافیک"
},
"sortBy": {
"lastUpdate": "اخیرا بروز شده",
"name": "براساس نام"
},
"add": {
"buttonText": "افزودن پروفایل جدید",
"shortBtnTxt": "افزودن",
"fromClipboard": "افزودن از کلیپ‌بورد",
"scanQr": "اسکن QR کد",
"qrScanner": {
"permissionDeniedError": "اجازه رد شد",
"unexpectedError": "خطایی رخ داده",
"torchSemanticLabel": "چراغ فلاش",
"facingSemanticLabel": "جهت دوربین"
},
"manually": "افزودن دستی",
"addingProfileMsg": "در حال افزودن پروفایل",
"failureMsg": "در افزودن پروفایل خطایی رخ داد"
},
"update": {
"buttonTxt": "بروزرسانی",
"tooltip": "بروزرسانی پروفایل",
"updateSubscriptions": "بروزرسانی اشتراک‌ها",
"failureMsg": "در بروزرسانی پروفایل خطایی رخ داد",
"successMsg": "پروفایل با موفقیت بروزرسانی شد",
"namedFailureMsg": "در بروزرسانی \"${name}\" خطایی رخ داد",
"namedSuccessMsg": "\"${name}\" با موفقیت به روز شد"
},
"share": {
"buttonText": "اشتراک گذاری",
"exportToClipboardSuccess": "به کلیپ بورد اضافه شد",
"exportSubLinkToClipboard": "افزودن لینک اشتراک به کلیپ بورد",
"subLinkQrCode": "کد QR لینک اشتراک",
"exportConfigToClipboard": "افزودن پیکربندی به کلیپ بورد",
"exportConfigToClipboardSuccess": "پیکربندی در کلیپ بورد کپی شد"
},
"edit": {
"buttonTxt": "ویرایش",
"selectActiveTxt": "انتخاب پروفایل فعال"
},
"delete": {
"buttonTxt": "حذف",
"confirmationMsg": "حذف پروفایل برای همیشه؟",
"successMsg": "پروفایل با موفقیت حذف شد"
},
"save": {
"buttonText": "ذخیره",
"successMsg": "پروفایل با موفقیت ذخیره شد",
"failureMsg": "خطا در ذخیره پروفایل"
},
"detailsForm": {
"nameLabel": "نام",
"nameHint": "نام پروفایل",
"urlLabel": "لینک",
"urlHint": "آدرس کامل کانفیگ",
"emptyNameMsg": "نام نمی‌تواند خالی باشد",
"invalidUrlMsg": "لینک نامعتبر",
"lastUpdate": "آخرین بروزرسانی",
"updateInterval": "بروزرسانی خودکار",
"updateIntervalDialogTitle": "فاصله زمانی بروزرسانی خودکار (ساعت)"
}
},
"proxies": {
"pageTitle": "پراکسی‌ها",
"emptyProxiesMsg": "پراکسی وجود ندارد",
"delayTestTooltip": "تست تاخیر",
"sortTooltip": "مرتب‌سازی پراکسی‌ها",
"sortOptions": {
"unsorted": "پیش‌فرض",
"name": "براساس نام",
"delay": "براساس تاخیر"
}
},
"logs": {
"pageTitle": "لاگ‌ها",
"filterHint": "فیلتر",
"allLevelsFilter": "همه",
"shareCoreLogs": "اشتراک‌گذاری لاگ هسته",
"shareAppLogs": "اشتراک‌گذاری لاگ برنامه",
"pauseTooltip": "مکث",
"resumeTooltip": "از سرگیری",
"clearTooltip": "پاک‌سازی"
},
"settings": {
"pageTitle": "تنظیمات",
"requiresRestartMsg": "برای اعمال این تنظیم برنامه را بازنشانی کنید",
"experimental": "آزمایشی",
"experimentalMsg": "تنظیماتی که عنوان آزمایشی دارند همچنان در دست توسعه هستند و فعال‌سازی آن‌ها میتواند خطاهایی بوجود بیاورد.",
"general": {
"sectionTitle": "عمومی",
"locale": "زبان",
"region": "منطقه",
"regionMsg": "به انتخاب تنظیمات پیش‌فرض برای دورزدن آدرس‌های داخلی کمک میکند",
"regions": {
"ir": "ایران (ir)",
"cn": "چین (cn)",
"ru": "روسیه (ru)",
"af": "افغانستان (af)",
"other": "سایر"
},
"themeMode": "تم مود",
"themeModes": {
"system": "پیروی از تم دستگاه",
"dark": "تم تیره",
"light": "تم روشن",
"black": "تم سیاه"
},
"enableAnalytics": "فعال‌سازی آنالیتیکز",
"enableAnalyticsMsg": "ارائه دسترسی آنالیز و گزارش خطا برای بهبود عملکرد برنامه",
"autoStart": "اجرا با روشن شدن سیستم",
"silentStart": "اجرای ساکت",
"openWorkingDir": "باز کردن دایرکتوری کاری",
"ignoreBatteryOptimizations": "غیرفعال کردن بهینه‌سازی باتری",
"ignoreBatteryOptimizationsMsg": "حذف محدودیت‌ها برای عملکرد بهتر VPN",
"dynamicNotification": "نمایش سرعت در نوتیفیکیشن"
},
"advanced": {
"sectionTitle": "پیشرفته",
"debugMode": "دیباگ مود",
"debugModeMsg": "برای اعمال این تغییر اپ را ری‌استارت کنید",
"memoryLimit": "محدودیت مموری",
"memoryLimitMsg": "اگر با خطاهای کمبود حافظه یا خرابی مکرر برنامه مواجه شدید، فعال کنید",
"resetTunnel": "بازنشانی نمایه VPN"
},
"network": {
"perAppProxyPageTitle": "پراکسی برنامه‌ها",
"perAppProxyModes": {
"off": "همه",
"offMsg": "همه برنامه‌ها پراکسی میشوند",
"include": "پراکسی",
"includeMsg": "تنها برنامه‌های انتخاب شده پراکسی میشوند",
"exclude": "بایپس",
"excludeMsg": "همه بجز برنامه‌های انتخاب شده پراکسی میشوند"
},
"showSystemApps": "نمایش برنامه‌های سیستمی",
"hideSystemApps": "مخفی کردن برنامه‌های سیستمی",
"clearSelection": "حذف انتخاب‌ها"
},
"config": {
"resetBtn": "گزینه ها را بازنشانی کنید",
"serviceMode": "حالت سرویس",
"serviceModes": {
"proxy": "فقط سرویس پروکسی",
"systemProxy": "تنظیم پروکسی سیستم",
"tun": "VPN"
},
"section": {
"route": "تنظیمات مسیریاب",
"dns": "تنظیمات DNS",
"inbound": "تنظیمات ورودی",
"mux": "Multiplexer",
"outbound": "Outbound Options",
"tlsTricks": "TLS Tricks",
"warp": "WARP Options",
"misc": "تنظیمات متفرقه"
},
"warpConsent": {
"title": "رضایت Cloudflare WARP",
"description(rich)": "Cloudflare WARP یک ارائه دهنده رایگان WireGuard VPN است. با فعال کردن این گزینه، با ${tos(شرایط خدمات)} و ${privacy(خط‌مشی رازداری)} Cloudflare WARP موافقت می‌کنید."
},
"pageTitle": "تنظیمات کانفیگ",
"logLevel": "سطح لاگ",
"resolveDestination": "جایگذاری IP مقصد",
"ipv6Mode": "مسیریابی IPV6 در تونل",
"ipv6Modes": {
"disable": "غیرفعال",
"enable": "فعال",
"prefer": "ترجیح",
"only": "فقط"
},
"remoteDnsAddress": "DNS خارجی",
"remoteDnsDomainStrategy": "حالت DNS خارجی",
"directDnsAddress": "DNS مستقیم",
"directDnsDomainStrategy": "حالت DNS مستقیم",
"mixedPort": "پورت همه منظوره",
"localDnsPort": "پورت DNS داخلی",
"allowConnectionFromLan": "Allow Connection from LAN",
"tunImplementation": "مدل تونل",
"mtu": "سایز بسته‌ها",
"connectionTestUrl": "لینک تست اتصال",
"urlTestInterval": "زمان تست اتصال",
"enableClashApi": "فعالسازی کلش",
"clashApiPort": "پورت کلش",
"enableTun": "فعال سازی تونل",
"setSystemProxy": "تنظیم پروکسی سیستم",
"enableDnsRouting": "Enable DNS Routing",
"enableFakeDns": "Enable Fake DNS",
"bypassLan": "Bypass Lan",
"strictRoute": "Strict Route",
"enableTlsFragment": "Enable TLS Fragment",
"tlsFragmentSize": "TLS Fragment Size",
"tlsFragmentSleep": "TLS Fragment Sleep",
"enableTlsMixedSniCase": "Enable TLS Mixed SNI Case",
"enableTlsPadding": "Enable TLS Padding",
"tlsPaddingSize": "TLS Padding",
"enableMux": "Enable Mux",
"muxProtocol": "Mux Protocol",
"muxMaxStreams": "Max Concurrent Streams",
"enableWarp": "Enable WARP",
"warpDetourMode": "Detour Mode",
"warpDetourModes": {
"inbound": "Detour WARP through proxies",
"outbound": "Detour proxies through WARP"
},
"warpLicenseKey": "License Key",
"warpCleanIp": "Clean IP",
"warpPort": "Port",
"warpNoise": "Noise"
},
"geoAssets": {
"pageTitle": "فایل‌های مسیریابی",
"geoip": "Geoip",
"geosite": "Geosite",
"version": "نسخه ${version}",
"fileMissing": "فایل موجود نیست",
"update": "به روز رسانی",
"download": "دانلود",
"failureMsg": "دارایی به روز نشد",
"successMsg": "دارایی با موفقیت به روز شد",
"addRecommended": "اضافه کردن دارایی های توصیه شده",
"missingGeoAssetsMsg": "فایل‌های دارایی‌های مسیریابی انتخابی وجود ندارد. یا آنها را دانلود کنید یا موارد موجود را انتخاب کنید."
}
},
"about": {
"pageTitle": "درباره",
"version": "ورژن",
"sourceCode": "سورس کد",
"telegramChannel": "کانال تلگرام",
"checkForUpdate": "بررسی آپدیت جدید",
"privacyPolicy": "سیاست حفظ حریم خصوصی",
"termsAndConditions": "شرایط و ضوابط استفاده"
},
"appUpdate": {
"notAvailableMsg": "نسخه جدیدی یافت نشد",
"dialogTitle": "نسخه جدید موجود است",
"updateMsg": "نسخه جدیدی از @:general.appTitle موجود است! الان بروزرسانی شود؟",
"currentVersionLbl": "نسخه فعلی",
"newVersionLbl": "نسخه جدید",
"updateNowBtnTxt": "بروزرسانی",
"laterBtnTxt": "بعدا",
"ignoreBtnTxt": "نادیده‌گرفتن"
},
"tray": {
"dashboard": "داشبورد",
"quit": "خروج",
"open": "باز کن",
"status": {
"connect": "اتصال",
"connecting": "در حال اتصال",
"disconnect": "قطع اتصال",
"disconnecting": "در حال قطع اتصال"
}
},
"failure": {
"unexpected": "خطای غیرمنتظره",
"clash": {
"unexpected": "خطای غیرمنتظره",
"core": "خطای کلش ${reason}"
},
"singbox": {
"unexpected": "خطای غیرمنتظره در سرویس",
"serviceNotRunning": "سرویس در حال اجرا نیست",
"missingPrivilege": "نیازمند دسترسی",
"missingPrivilegeMsg": "حالت VPN به دسترسی administrator نیاز دارد. یا برنامه را به عنوان سرپرست راه اندازی مجدد کنید یا حالت سرویس را تغییر دهید.",
"missingGeoAssets": "دارایی های جغرافیایی از دست رفته",
"missingGeoAssetsMsg": "دارایی های جغرافیایی گم شده اند. تغییر دارایی فعال را در نظر بگیرید یا یکی را در تنظیمات دانلود کنید.",
"invalidConfigOptions": "تنظیمات کانفیگ نامعتبر",
"invalidConfig": "کانفیگ غیر معتبر",
"create": "در ایجاد سرویس خطایی رخ داده",
"start": "در راه‌اندازی سرویس خطایی رخ داده"
},
"connectivity": {
"unexpected": "خطای غیرمنتظره",
"missingVpnPermission": "نیازمند دسترسی VPN",
"missingNotificationPermission": "نیازمند دسترسی اعلانات",
"core": "خطای هسته"
},
"profiles": {
"unexpected": "خطای غیرمنتظره",
"notFound": "پروفایل یافت نشد",
"invalidConfig": "کانفیگ غیر معتبر",
"invalidUrl": "لینک نامعتبر"
},
"connection": {
"unexpected": " خطای غیرمنتظره در اتصال",
"timeout": "درخواست بیش از حد مجاز زمان برد",
"badResponse": "پاسخ نامعتبر",
"connectionError": "خطای اتصال",
"badCertificate": "خطای اعتبار سنجی"
},
"geoAssets": {
"unexpected": "خطای غیرمنتظره",
"notUpdate": "به روز رسانی موجود نیست",
"activeNotFound": "Active Geo Asset یافت نشد"
}
},
"play": {
"title": "هیدیفای نکست Hiddify",
"short_description": "Auto, SSH, VLESS, Vmess, Trojan, Reality, Sing-Box, Clash, Xray, Shadowsocks",
"full_description": "هدف اصلی Hiddify ارائه یک کلاینت تونل زنی ایمن، کاربرپسند و کارآمد است. این به شما امکان می دهد تا با استفاده از مجوز VPN-Service، تمام ترافیک یا ترافیک برنامه انتخابی را به یک سرور راه دور مورد نظر خود هدایت کنید.\n\nتوجه: ما هیچ سروری ارائه نمی دهیم. کاربران موظفند با استفاده از سرورهای خود میزبان یا سرورهای مورد اعتماد، فعالیت‌های آنلاین خود را خصوصی نگه دارند.\n \nما از سرورهایی با موارد زیر پشتیبانی می کنیم:\n- لینک اشتراک V2ray/Xray معمولی\n- لینک اشتراک کلش\n- لینک اشتراک Sing-Box\n\nویژگی های منحصر به فرد ما چیست؟\n - کاربر پسند\n - بهینه و سریع\n - به طور خودکار LowestPing را انتخاب کنید\n - نمایش اطلاعات استفاده کاربر\n - به راحتی لینک فرعی را با یک کلیک با استفاده از دیپ لینک وارد کنید\n - رایگان و بدون تبلیغات\n - به راحتی پیوندهای فرعی کاربر را تغییر دهید\n - بیشتر و بیشتر\n\nحمایت کردن:\n- تمام پروتکل های پشتیبانی شده توسط Sing-Box\n- VLESS + xtls \n- VMESS\n- تروجان\n- ShoadowSocks\n- ریالیتی\n- V2ray\n- هیستریا 2\n- TUIC\n- SSH\n- ShadowTLS\n\n\nکد منبع در https://github.com/hiddify/Hiddify-Next وجود دارد\nهسته برنامه بر اساس sing-box منبع باز است.\n\nتوضیحات مجوز:\n- سرویس VPN: از آنجا که هدف این برنامه ارائه یک کلاینت تونل زنی ایمن، کاربر پسند و کارآمد است، ما به این مجوز نیاز داریم تا بتوانیم ترافیک را از طریق تونل به سرور راه دور هدایت کنیم.\n- QUERY ALL PACKAGES: این مجوز برای اجازه دادن به کاربران برای گنجاندن یا حذف برنامه های کاربردی خاص برای تونل زدن استفاده می شود.\n- دریافت بوت تکمیل شد: این مجوز را می توان از تنظیمات برنامه فعال یا غیرفعال کرد تا این برنامه پس از بوت شدن دستگاه فعال شود.\n- اعلان های ارسالی: این مجوز ضروری است زیرا ما از یک سرویس پیش زمینه برای اطمینان از عملکرد مداوم سرویس VPN استفاده می کنیم.\n- این برنامه بدون تبلیغات است. تجزیه و تحلیل و داده های اشکال فقط با رضایت صریح کاربر در اولین استفاده از برنامه اتفاق می افتد."
} }
} },
"stats": {
"trafficLive": "مصرف لحظه‌ای",
"trafficTotal": "مصرف کل",
"uplink": "ارسال",
"downlink": "دریافت"
},
"profile": {
"overviewPageTitle": "پروفایل‌ها",
"detailsPageTitle": "پروفایل",
"activeProfileNameSemanticLabel": "نام پروفایل فعال: ${name}",
"activeProfileBtnSemanticLabel": "همه‌ی پروفایل‌ها",
"nonActiveProfileBtnSemanticLabel": "انتخاب ${name} به عنوان پروفایل فعال",
"subscription": {
"traffic": "ترافیک",
"updatedTimeAgo": "بروزرسانی شده در ${timeago}",
"remainingDuration": "${duration} روز باقی مانده",
"remainingTrafficSemanticLabel": "${consumed} از ${total} ترافیک مصرف شده",
"expired": "منقضی شده",
"noTraffic": "پایان ترافیک"
},
"sortBy": {
"lastUpdate": "اخیرا بروز شده",
"name": "براساس نام"
},
"add": {
"buttonText": "افزودن پروفایل جدید",
"shortBtnTxt": "افزودن",
"fromClipboard": "افزودن از کلیپ‌بورد",
"scanQr": "اسکن QR کد",
"qrScanner": {
"permissionDeniedError": "اجازه رد شد",
"unexpectedError": "خطایی رخ داده",
"torchSemanticLabel": "چراغ فلاش",
"facingSemanticLabel": "جهت دوربین"
},
"manually": "افزودن دستی",
"addingProfileMsg": "در حال افزودن پروفایل",
"failureMsg": "در افزودن پروفایل خطایی رخ داد"
},
"update": {
"buttonTxt": "بروزرسانی",
"tooltip": "بروزرسانی پروفایل",
"updateSubscriptions": "بروزرسانی اشتراک‌ها",
"failureMsg": "در بروزرسانی پروفایل خطایی رخ داد",
"successMsg": "پروفایل با موفقیت بروزرسانی شد",
"namedFailureMsg": "در بروزرسانی \"${name}\" خطایی رخ داد",
"namedSuccessMsg": "\"${name}\" با موفقیت به روز شد"
},
"share": {
"buttonText": "اشتراک گذاری",
"exportToClipboardSuccess": "به کلیپ بورد اضافه شد",
"exportSubLinkToClipboard": "افزودن لینک اشتراک به کلیپ بورد",
"subLinkQrCode": "کد QR لینک اشتراک",
"exportConfigToClipboard": "افزودن پیکربندی به کلیپ بورد",
"exportConfigToClipboardSuccess": "پیکربندی در کلیپ بورد کپی شد"
},
"edit": {
"buttonTxt": "ویرایش",
"selectActiveTxt": "انتخاب پروفایل فعال"
},
"delete": {
"buttonTxt": "حذف",
"confirmationMsg": "حذف پروفایل برای همیشه؟",
"successMsg": "پروفایل با موفقیت حذف شد"
},
"save": {
"buttonText": "ذخیره",
"successMsg": "پروفایل با موفقیت ذخیره شد",
"failureMsg": "خطا در ذخیره پروفایل"
},
"detailsForm": {
"nameLabel": "نام",
"nameHint": "نام پروفایل",
"urlLabel": "لینک",
"urlHint": "آدرس کامل کانفیگ",
"emptyNameMsg": "نام نمی‌تواند خالی باشد",
"invalidUrlMsg": "لینک نامعتبر",
"lastUpdate": "آخرین بروزرسانی",
"updateInterval": "بروزرسانی خودکار",
"updateIntervalDialogTitle": "فاصله زمانی بروزرسانی خودکار (ساعت)"
}
},
"proxies": {
"pageTitle": "پراکسی‌ها",
"emptyProxiesMsg": "پراکسی وجود ندارد",
"delayTestTooltip": "تست تاخیر",
"sortTooltip": "مرتب‌سازی پراکسی‌ها",
"sortOptions": {
"unsorted": "پیش‌فرض",
"name": "براساس نام",
"delay": "براساس تاخیر"
}
},
"logs": {
"pageTitle": "لاگ‌ها",
"filterHint": "فیلتر",
"allLevelsFilter": "همه",
"shareCoreLogs": "اشتراک‌گذاری لاگ هسته",
"shareAppLogs": "اشتراک‌گذاری لاگ برنامه",
"pauseTooltip": "مکث",
"resumeTooltip": "از سرگیری",
"clearTooltip": "پاک‌سازی"
},
"settings": {
"pageTitle": "تنظیمات",
"requiresRestartMsg": "برای اعمال این تنظیم برنامه را بازنشانی کنید",
"experimental": "آزمایشی",
"experimentalMsg": "تنظیماتی که عنوان آزمایشی دارند همچنان در دست توسعه هستند و فعال‌سازی آن‌ها میتواند خطاهایی بوجود بیاورد.",
"general": {
"sectionTitle": "عمومی",
"locale": "زبان",
"region": "منطقه",
"regionMsg": "به انتخاب تنظیمات پیش‌فرض برای دورزدن آدرس‌های داخلی کمک میکند",
"regions": {
"ir": "ایران (ir)",
"cn": "چین (cn)",
"ru": "روسیه (ru)",
"af": "افغانستان (af)",
"other": "سایر"
},
"themeMode": "تم مود",
"themeModes": {
"system": "پیروی از تم دستگاه",
"dark": "تم تیره",
"light": "تم روشن",
"black": "تم سیاه"
},
"enableAnalytics": "فعال‌سازی آنالیتیکز",
"enableAnalyticsMsg": "ارائه دسترسی آنالیز و گزارش خطا برای بهبود عملکرد برنامه",
"autoStart": "اجرا با روشن شدن سیستم",
"silentStart": "اجرای ساکت",
"openWorkingDir": "باز کردن دایرکتوری کاری",
"ignoreBatteryOptimizations": "غیرفعال کردن بهینه‌سازی باتری",
"ignoreBatteryOptimizationsMsg": "حذف محدودیت‌ها برای عملکرد بهتر VPN",
"dynamicNotification": "نمایش سرعت در نوتیفیکیشن"
},
"advanced": {
"sectionTitle": "پیشرفته",
"debugMode": "دیباگ مود",
"debugModeMsg": "برای اعمال این تغییر اپ را ری‌استارت کنید",
"memoryLimit": "محدودیت مموری",
"memoryLimitMsg": "اگر با خطاهای کمبود حافظه یا خرابی مکرر برنامه مواجه شدید، فعال کنید",
"resetTunnel": "بازنشانی نمایه VPN"
},
"network": {
"perAppProxyPageTitle": "پراکسی برنامه‌ها",
"perAppProxyModes": {
"off": "همه",
"offMsg": "همه برنامه‌ها پراکسی میشوند",
"include": "پراکسی",
"includeMsg": "تنها برنامه‌های انتخاب شده پراکسی میشوند",
"exclude": "بایپس",
"excludeMsg": "همه بجز برنامه‌های انتخاب شده پراکسی میشوند"
},
"showSystemApps": "نمایش برنامه‌های سیستمی",
"hideSystemApps": "مخفی کردن برنامه‌های سیستمی",
"clearSelection": "حذف انتخاب‌ها"
},
"config": {
"resetBtn": "گزینه ها را بازنشانی کنید",
"serviceMode": "حالت سرویس",
"serviceModes": {
"proxy": "فقط سرویس پروکسی",
"systemProxy": "تنظیم پروکسی سیستم",
"tun": "VPN"
},
"section": {
"route": "تنظیمات مسیریاب",
"dns": "تنظیمات DNS",
"inbound": "تنظیمات ورودی",
"mux": "Multiplexer",
"outbound": "Outbound Options",
"tlsTricks": "TLS Tricks",
"warp": "WARP Options",
"misc": "تنظیمات متفرقه"
},
"warpConsent": {
"title": "رضایت Cloudflare WARP",
"description(rich)": "Cloudflare WARP یک ارائه دهنده رایگان WireGuard VPN است. با فعال کردن این گزینه، با ${tos(شرایط خدمات)} و ${privacy(خط‌مشی رازداری)} Cloudflare WARP موافقت می‌کنید."
},
"pageTitle": "تنظیمات کانفیگ",
"logLevel": "سطح لاگ",
"resolveDestination": "جایگذاری IP مقصد",
"ipv6Mode": "مسیریابی IPV6 در تونل",
"ipv6Modes": {
"disable": "غیرفعال",
"enable": "فعال",
"prefer": "ترجیح",
"only": "فقط"
},
"remoteDnsAddress": "DNS خارجی",
"remoteDnsDomainStrategy": "حالت DNS خارجی",
"directDnsAddress": "DNS مستقیم",
"directDnsDomainStrategy": "حالت DNS مستقیم",
"mixedPort": "پورت همه منظوره",
"localDnsPort": "پورت DNS داخلی",
"allowConnectionFromLan": "Allow Connection from LAN",
"tunImplementation": "مدل تونل",
"mtu": "سایز بسته‌ها",
"connectionTestUrl": "لینک تست اتصال",
"urlTestInterval": "زمان تست اتصال",
"enableClashApi": "فعالسازی کلش",
"clashApiPort": "پورت کلش",
"enableTun": "فعال سازی تونل",
"setSystemProxy": "تنظیم پروکسی سیستم",
"enableDnsRouting": "Enable DNS Routing",
"enableFakeDns": "Enable Fake DNS",
"bypassLan": "Bypass Lan",
"strictRoute": "Strict Route",
"enableTlsFragment": "Enable TLS Fragment",
"tlsFragmentSize": "TLS Fragment Size",
"tlsFragmentSleep": "TLS Fragment Sleep",
"enableTlsMixedSniCase": "Enable TLS Mixed SNI Case",
"enableTlsPadding": "Enable TLS Padding",
"tlsPaddingSize": "TLS Padding",
"enableMux": "Enable Mux",
"muxProtocol": "Mux Protocol",
"muxMaxStreams": "Max Concurrent Streams",
"enableWarp": "Enable WARP",
"warpDetourMode": "Detour Mode",
"warpDetourModes": {
"inbound": "Detour WARP through proxies",
"outbound": "Detour proxies through WARP"
},
"warpLicenseKey": "License Key",
"warpCleanIp": "Clean IP",
"warpPort": "Port",
"warpNoise": "Noise"
},
"geoAssets": {
"pageTitle": "فایل‌های مسیریابی",
"geoip": "Geoip",
"geosite": "Geosite",
"version": "نسخه ${version}",
"fileMissing": "فایل موجود نیست",
"update": "به روز رسانی",
"download": "دانلود",
"failureMsg": "دارایی به روز نشد",
"successMsg": "دارایی با موفقیت به روز شد",
"addRecommended": "اضافه کردن دارایی های توصیه شده",
"missingGeoAssetsMsg": "فایل‌های دارایی‌های مسیریابی انتخابی وجود ندارد. یا آنها را دانلود کنید یا موارد موجود را انتخاب کنید."
}
},
"about": {
"pageTitle": "درباره",
"version": "ورژن",
"sourceCode": "سورس کد",
"telegramChannel": "کانال تلگرام",
"checkForUpdate": "بررسی آپدیت جدید",
"privacyPolicy": "سیاست حفظ حریم خصوصی",
"termsAndConditions": "شرایط و ضوابط استفاده"
},
"appUpdate": {
"notAvailableMsg": "نسخه جدیدی یافت نشد",
"dialogTitle": "نسخه جدید موجود است",
"updateMsg": "نسخه جدیدی از @:general.appTitle موجود است! الان بروزرسانی شود؟",
"currentVersionLbl": "نسخه فعلی",
"newVersionLbl": "نسخه جدید",
"updateNowBtnTxt": "بروزرسانی",
"laterBtnTxt": "بعدا",
"ignoreBtnTxt": "نادیده‌گرفتن"
},
"tray": {
"dashboard": "داشبورد",
"quit": "خروج",
"open": "باز کن",
"status": {
"connect": "اتصال",
"connecting": "در حال اتصال",
"disconnect": "قطع اتصال",
"disconnecting": "در حال قطع اتصال"
}
},
"failure": {
"unexpected": "خطای غیرمنتظره",
"clash": {
"unexpected": "خطای غیرمنتظره",
"core": "خطای کلش ${reason}"
},
"singbox": {
"unexpected": "خطای غیرمنتظره در سرویس",
"serviceNotRunning": "سرویس در حال اجرا نیست",
"missingPrivilege": "نیازمند دسترسی",
"missingPrivilegeMsg": "حالت VPN به دسترسی administrator نیاز دارد. یا برنامه را به عنوان سرپرست راه اندازی مجدد کنید یا حالت سرویس را تغییر دهید.",
"missingGeoAssets": "دارایی های جغرافیایی از دست رفته",
"missingGeoAssetsMsg": "دارایی های جغرافیایی گم شده اند. تغییر دارایی فعال را در نظر بگیرید یا یکی را در تنظیمات دانلود کنید.",
"invalidConfigOptions": "تنظیمات کانفیگ نامعتبر",
"invalidConfig": "کانفیگ غیر معتبر",
"create": "در ایجاد سرویس خطایی رخ داده",
"start": "در راه‌اندازی سرویس خطایی رخ داده"
},
"connectivity": {
"unexpected": "خطای غیرمنتظره",
"missingVpnPermission": "نیازمند دسترسی VPN",
"missingNotificationPermission": "نیازمند دسترسی اعلانات",
"core": "خطای هسته"
},
"profiles": {
"unexpected": "خطای غیرمنتظره",
"notFound": "پروفایل یافت نشد",
"invalidConfig": "کانفیگ غیر معتبر",
"invalidUrl": "لینک نامعتبر"
},
"connection": {
"unexpected": " خطای غیرمنتظره در اتصال",
"timeout": "درخواست بیش از حد مجاز زمان برد",
"badResponse": "پاسخ نامعتبر",
"connectionError": "خطای اتصال",
"badCertificate": "خطای اعتبار سنجی"
},
"geoAssets": {
"unexpected": "خطای غیرمنتظره",
"notUpdate": "به روز رسانی موجود نیست",
"activeNotFound": "Active Geo Asset یافت نشد"
}
},
"play": {
"title": "هیدیفای نکست Hiddify",
"short_description": "Auto, SSH, VLESS, Vmess, Trojan, Reality, Sing-Box, Clash, Xray, Shadowsocks",
"full_description": "هدف اصلی Hiddify ارائه یک کلاینت تونل زنی ایمن، کاربرپسند و کارآمد است. این به شما امکان می دهد تا با استفاده از مجوز VPN-Service، تمام ترافیک یا ترافیک برنامه انتخابی را به یک سرور راه دور مورد نظر خود هدایت کنید.\n\nتوجه: ما هیچ سروری ارائه نمی دهیم. کاربران موظفند با استفاده از سرورهای خود میزبان یا سرورهای مورد اعتماد، فعالیت‌های آنلاین خود را خصوصی نگه دارند.\n \nما از سرورهایی با موارد زیر پشتیبانی می کنیم:\n- لینک اشتراک V2ray/Xray معمولی\n- لینک اشتراک کلش\n- لینک اشتراک Sing-Box\n\nویژگی های منحصر به فرد ما چیست؟\n - کاربر پسند\n - بهینه و سریع\n - به طور خودکار LowestPing را انتخاب کنید\n - نمایش اطلاعات استفاده کاربر\n - به راحتی لینک فرعی را با یک کلیک با استفاده از دیپ لینک وارد کنید\n - رایگان و بدون تبلیغات\n - به راحتی پیوندهای فرعی کاربر را تغییر دهید\n - بیشتر و بیشتر\n\nحمایت کردن:\n- تمام پروتکل های پشتیبانی شده توسط Sing-Box\n- VLESS + xtls \n- VMESS\n- تروجان\n- ShoadowSocks\n- ریالیتی\n- V2ray\n- هیستریا 2\n- TUIC\n- SSH\n- ShadowTLS\n\n\nکد منبع در https://github.com/hiddify/Hiddify-Next وجود دارد\nهسته برنامه بر اساس sing-box منبع باز است.\n\nتوضیحات مجوز:\n- سرویس VPN: از آنجا که هدف این برنامه ارائه یک کلاینت تونل زنی ایمن، کاربر پسند و کارآمد است، ما به این مجوز نیاز داریم تا بتوانیم ترافیک را از طریق تونل به سرور راه دور هدایت کنیم.\n- QUERY ALL PACKAGES: این مجوز برای اجازه دادن به کاربران برای گنجاندن یا حذف برنامه های کاربردی خاص برای تونل زدن استفاده می شود.\n- دریافت بوت تکمیل شد: این مجوز را می توان از تنظیمات برنامه فعال یا غیرفعال کرد تا این برنامه پس از بوت شدن دستگاه فعال شود.\n- اعلان های ارسالی: این مجوز ضروری است زیرا ما از یک سرویس پیش زمینه برای اطمینان از عملکرد مداوم سرویس VPN استفاده می کنیم.\n- این برنامه بدون تبلیغات است. تجزیه و تحلیل و داده های اشکال فقط با رضایت صریح کاربر در اولین استفاده از برنامه اتفاق می افتد."
}
}

View File

@@ -1,388 +1,386 @@
{ {
"general": { "general": {
"appTitle": "Hiddify", "appTitle": "Hiddify",
"reset": "Restaurar", "reset": "Restaurar",
"toggle": { "toggle": {
"enabled": "Habilitado", "enabled": "Habilitado",
"disabled": "Desabilitado" "disabled": "Desabilitado"
},
"state": {
"disable": "Desabilitar"
},
"sort": "Ordernar",
"sortBy": "Ordenar Por",
"addToClipboard": "Adicionar à área de transferência",
"notSet": "Não configurado",
"agree": "Aceitar",
"decline": "Recusar",
"unknown": "Desconhecido",
"hidden": "Escondido",
"timeout": "tempo esgotado"
}, },
"intro": { "state": {
"termsAndPolicyCaution(rich)": "ao continuar você concorda com ${tap( @:about.termsAndConditions)}", "disable": "Desabilitar"
"start": "Começar"
}, },
"home": { "sort": "Ordernar",
"pageTitle": "Inicio", "sortBy": "Ordenar Por",
"emptyProfilesMsg": "Comece adicionando um perfil de assinatura", "addToClipboard": "Adicionar à área de transferência",
"noActiveProfileMsg": "Escolha um perfil", "notSet": "Não configurado",
"connection": { "agree": "Aceitar",
"tapToConnect": "Toque para conectar", "decline": "Recusar",
"connecting": "Conectando", "unknown": "Desconhecido",
"disconnecting": "Desconectando", "hidden": "Escondido",
"connected": "Conectado", "timeout": "tempo esgotado"
"experimentalNotice": "Recursos experimentais em uso", },
"experimentalNoticeMsg": "Você ativou alguns recursos experimentais que podem afetar a qualidade da conexão e causar erros inesperados. Você sempre pode alterar ou redefinir essas opções na página de opções de configuração.", "intro": {
"disableExperimentalNotice": "Não mostrar novamente" "termsAndPolicyCaution(rich)": "ao continuar você concorda com ${tap( @:about.termsAndConditions)}",
}, "start": "Começar"
"stats": { },
"traffic": "Tráfego ao vivo", "home": {
"trafficTotal": "Tráfego total", "pageTitle": "Inicio",
"uplink": "Ligação ascendente", "emptyProfilesMsg": "Comece adicionando um perfil de assinatura",
"downlink": "Link descendente", "noActiveProfileMsg": "Escolha um perfil",
"connection": "Conexão" "connection": {
} "tapToConnect": "Toque para conectar",
}, "connecting": "Conectando",
"profile": { "disconnecting": "Desconectando",
"overviewPageTitle": "Perfis", "connected": "Conectado",
"detailsPageTitle": "Perfil", "experimentalNotice": "Recursos experimentais em uso",
"activeProfileNameSemanticLabel": "Nome do perfil ativo: \"${name}\".", "experimentalNoticeMsg": "Você ativou alguns recursos experimentais que podem afetar a qualidade da conexão e causar erros inesperados. Você sempre pode alterar ou redefinir essas opções na página de opções de configuração.",
"activeProfileBtnSemanticLabel": "Ver todos os perfis.", "disableExperimentalNotice": "Não mostrar novamente"
"nonActiveProfileBtnSemanticLabel": "Selecione \"${name}\" como perfil ativo.",
"subscription": {
"traffic": "Tráfego",
"updatedTimeAgo": "Atualizado ${timeago}",
"remainingDuration": "${duration} dias restantes",
"remainingTrafficSemanticLabel": "${consumed} de ${total} tráfego consumido.",
"expired": "Expirado",
"noTraffic": "Fora da cota",
"upload": "Upload",
"download": "Download",
"total": "Tráfego total",
"expireDate": "Data de validade"
},
"sortBy": {
"lastUpdate": "Atualizado recentemente",
"name": "Alfabeticamente"
},
"add": {
"buttonText": "Novo Perfil",
"shortBtnTxt": "Novo Perfil",
"fromClipboard": "Adicionar da área de transferência",
"scanQr": "Digitalize o código QR",
"qrScanner": {
"permissionDeniedError": "Permissão negada",
"unexpectedError": "Algo deu errado",
"torchSemanticLabel": "Luz do flash",
"facingSemanticLabel": "Câmera voltada"
},
"manually": "Entrada manual",
"addingProfileMsg": "Adicionando Perfil",
"failureMsg": "Falha ao adicionar perfil"
},
"update": {
"buttonTxt": "Atualizar",
"tooltip": "Atualizar Perfil",
"updateSubscriptions": "Atualizar assinaturas",
"failureMsg": "Falha ao atualizar perfil",
"successMsg": "Perfil atualizado com sucesso",
"namedFailureMsg": "Falha ao atualizar \"${name}\"",
"namedSuccessMsg": "\"${name}\" atualizado com sucesso"
},
"share": {
"buttonText": "Compartilhar",
"exportToClipboardSuccess": "Exportado para a área de transferência",
"exportSubLinkToClipboard": "Exportar link de assinatura para a área de transferência",
"subLinkQrCode": "Código QR do link de assinatura",
"exportConfigToClipboard": "Exportar configuração para a área de transferência",
"exportConfigToClipboardSuccess": "Configuração copiada para a área de transferência"
},
"edit": {
"buttonTxt": "Editar",
"selectActiveTxt": "Selecionar perfil ativo"
},
"delete": {
"buttonTxt": "Deletar",
"confirmationMsg": "Deletar perfil permanentemente?",
"successMsg": "Perfil deletado com sucesso"
},
"save": {
"buttonText": "Salvar",
"successMsg": "Perfil salvo com sucesso",
"failureMsg": "Falha ao salvar perfil"
},
"detailsForm": {
"nameLabel": "Nome",
"nameHint": "Nome do Perfil",
"urlLabel": "URL",
"urlHint": "URL de configuração completo",
"emptyNameMsg": "Nome é obrigatório ",
"invalidUrlMsg": "URL inválido",
"lastUpdate": "Ultima Atualização",
"updateInterval": "Atualização Automática ",
"updateIntervalDialogTitle": "Intervalo de atualização automática (em horas)"
}
},
"proxies": {
"pageTitle": "Proxies",
"emptyProxiesMsg": "Nenhum proxy disponível",
"delayTestTooltip": "Atraso de teste",
"sortTooltip": "Ordenar proxies",
"checkIp": "Verifique o IP",
"unknownIp": "IP desconhecido",
"sortOptions": {
"unsorted": "Padrão",
"name": "Alfabeticamente",
"delay": "Por atraso"
},
"activeProxySemanticLabel": "Proxy ativo",
"delaySemantics": {
"result": "atraso: ${delay}ms",
"timeout": "atrasar o tempo limite do teste",
"testing": "atraso: testando..."
},
"ipInfoSemantics": {
"address": "Endereço de IP",
"country": "País"
},
"statsSemantics": {
"speed": "Velocidade",
"totalTransferred": "Total transferido"
}
},
"logs": {
"pageTitle": "Histórico",
"filterHint": "Filtro",
"allLevelsFilter": "Todos",
"shareCoreLogs": "Compartilhe registros principais",
"shareAppLogs": "Compartilhe registros de aplicativos",
"pauseTooltip": "Pausar",
"resumeTooltip": "Resumir",
"clearTooltip": "Limpar"
},
"settings": {
"pageTitle": "Configurações",
"requiresRestartMsg": "Para que isso tenha efeito, reinicie o aplicativo",
"experimental": "Experimental",
"experimentalMsg": "Os recursos com sinalização Experimental ainda estão em desenvolvimento e podem causar problemas.",
"general": {
"sectionTitle": "Geral",
"locale": "Linguagem",
"region": "Região",
"regionMsg": "Ajuda a definir opções padrão para ignorar endereços domésticos",
"regions": {
"ir": "Irã (ir)",
"cn": "China (cn)",
"ru": "Rússia (ru)",
"af": "Afeganistão (af)",
"other": "Outro"
},
"themeMode": "Modo de Tema",
"themeModes": {
"system": "Seguir o tema do sistema",
"dark": "Modo Escuro",
"light": "Modo Claro",
"black": "Modo Preto"
},
"enableAnalytics": "Habilitar Análise",
"enableAnalyticsMsg": "Dê permissão para coletar análises e enviar relatórios de falhas para melhorar o aplicativo",
"autoStart": "Inicializar no login",
"silentStart": "Inicializar minimizado",
"openWorkingDir": "Abra o diretório de trabalho",
"ignoreBatteryOptimizations": "Desative a otimização da bateria",
"ignoreBatteryOptimizationsMsg": "Remova as restrições para obter o desempenho ideal da VPN",
"dynamicNotification": "Exibir velocidade na notificação",
"hapticFeedback": "Feedback tátil",
"autoIpCheck": "Verifique automaticamente o IP da conexão"
},
"advanced": {
"sectionTitle": "Avançado",
"debugMode": "Modo de desenvolvedor",
"debugModeMsg": "Reinicie o aplicativo para aplicar esta alteração",
"memoryLimit": "Limite de memória",
"memoryLimitMsg": "Ative se você estiver enfrentando erros de falta de memória ou travamentos frequentes do aplicativo",
"resetTunnel": "Redefinir perfil VPN"
},
"network": {
"perAppProxyPageTitle": "Proxy por aplicativo",
"perAppProxyModes": {
"off": "Tudo",
"offMsg": "Proxy de todos os aplicativos",
"include": "Proxy",
"includeMsg": "Aplicativos selecionados apenas por proxy",
"exclude": "Ignorar",
"excludeMsg": "Não faça proxy de aplicativos selecionados"
},
"showSystemApps": "Mostrar aplicativos do sistema",
"hideSystemApps": "Ocultar aplicativos do sistema",
"clearSelection": "Limpar seleção"
},
"config": {
"resetBtn": "Redefinir opções",
"serviceMode": "Modo de serviço",
"serviceModes": {
"proxy": "Somente serviço de proxy",
"systemProxy": "Definir proxy do sistema",
"tun": "VPN",
"tunService": "Serviço VPN"
},
"section": {
"route": "Opções de rota",
"dns": "Opções de DNS",
"inbound": "Opções de entrada",
"mux": "Multiplexador",
"outbound": "Opções de saída",
"tlsTricks": "Truques TLS",
"warp": "Opções de WARP",
"misc": "Opções diversas"
},
"warpConsent": {
"title": "Consentimento WARP da Cloudflare",
"description(rich)": "Cloudflare WARP é um provedor VPN WireGuard gratuito. Ao ativar esta opção, você concorda com os ${tos(Termos de Serviço)} e ${privacy(Política de Privacidade)} do WARP da Cloudflare."
},
"generateWarpConfig": "Gerar configuração WARP",
"missingWarpConfig": "Configuração WARP ausente",
"warpConfigGenerated": "Configuração WARP gerada",
"pageTitle": "Opções de configuração",
"logLevel": "Nível de registro",
"resolveDestination": "Resolver destino",
"ipv6Mode": "Rota IPv6",
"ipv6Modes": {
"disable": "Desabilitar",
"enable": "Habilitar",
"prefer": "Preferido",
"only": "Exclusivo"
},
"remoteDnsAddress": "DNS remoto",
"remoteDnsDomainStrategy": "Estratégia de Domínio DNS Remoto",
"directDnsAddress": "DNS direto",
"directDnsDomainStrategy": "Estratégia de Domínio DNS Direto",
"mixedPort": "Porta Mista",
"localDnsPort": "Porta DNS local",
"allowConnectionFromLan": "Permitir conexão da LAN",
"tunImplementation": "Implementação TUN",
"mtu": "MTU",
"connectionTestUrl": "URL de teste de conexão",
"urlTestInterval": "Intervalo de teste de URL",
"enableClashApi": "Ativar API Clash",
"clashApiPort": "Porta da API Clash",
"enableTun": "Ativar TUN",
"setSystemProxy": "Definir proxy do sistema",
"enableDnsRouting": "Habilitar roteamento DNS",
"enableFakeDns": "Habilitar DNS falso",
"bypassLan": "Ignorar LAN",
"strictRoute": "Rota Estrita",
"enableTlsFragment": "Habilitar fragmento TLS",
"tlsFragmentSize": "Tamanho do fragmento TLS",
"tlsFragmentSleep": "Suspensão do fragmento TLS",
"enableTlsMixedSniCase": "Habilitar caso SNI misto TLS",
"enableTlsPadding": "Habilitar preenchimento TLS",
"tlsPaddingSize": "Preenchimento TLS",
"enableMux": "Habilitar Mux",
"muxProtocol": "Protocolo Mux",
"muxMaxStreams": "Máximo de fluxos simultâneos",
"enableWarp": "Habilitar WARP",
"warpDetourMode": "Modo de desvio",
"warpDetourModes": {
"inbound": "Desvie o WARP através de proxies",
"outbound": "Desviar proxies através do WARP"
},
"warpLicenseKey": "Chave de licença",
"warpCleanIp": "Limpar IP",
"warpPort": "Porta",
"warpNoise": "Contagem de ruído",
"warpNoiseDelay": "Atraso de ruído"
},
"geoAssets": {
"pageTitle": "Ativos de roteamento",
"geoip": "GeoIP",
"geosite": "Geossítio",
"version": "Versão ${version}",
"fileMissing": "Arquivo faltando",
"update": "Atualizar",
"download": "Download",
"failureMsg": "Falha ao atualizar o recurso",
"successMsg": "Recurso atualizado com sucesso",
"addRecommended": "Adicionar recursos recomendados",
"missingGeoAssetsMsg": "Os arquivos dos ativos de roteamento selecionados estão ausentes. Baixe-os ou escolha os existentes."
}
},
"about": {
"pageTitle": "Sobre",
"version": "Versão",
"sourceCode": "Código fonte",
"telegramChannel": "Canal Telegram",
"checkForUpdate": "Verifique atualizações",
"privacyPolicy": "Política de Privacidade",
"termsAndConditions": "Termos e Condições"
},
"appUpdate": {
"notAvailableMsg": "Já usando a versão mais recente",
"dialogTitle": "Atualização disponível",
"updateMsg": "Uma nova versão de @:general.appTitle está disponível. Gostaria de atualizar agora?",
"currentVersionLbl": "Versão Atual",
"newVersionLbl": "Nova versão",
"updateNowBtnTxt": "Atualizar agora",
"laterBtnTxt": "Mais tarde",
"ignoreBtnTxt": "Ignorar"
},
"tray": {
"dashboard": "Painel",
"quit": "Sair",
"open": "Abrir",
"status": {
"connect": "Conectar",
"connecting": "Conectando",
"disconnect": "desconectar",
"disconnecting": "Desconectando"
}
},
"failure": {
"unexpected": "Erro inesperado",
"clash": {
"unexpected": "Erro inesperado",
"core": "Erro de conflito ${reason}"
},
"singbox": {
"unexpected": "Erro de serviço inesperado",
"serviceNotRunning": "O serviço não está em execução",
"missingPrivilege": "Privilégio ausente",
"missingPrivilegeMsg": "O modo VPN requer privilégios de administrador. Reinicie o aplicativo como administrador ou altere o modo de serviço.",
"missingGeoAssets": "Recursos geográficos ausentes",
"missingGeoAssetsMsg": "Os recursos geográficos estão faltando. considere alterar o recurso ativo ou baixar um selecionado nas configurações.",
"invalidConfigOptions": "Opções de configuração inválidas",
"invalidConfig": "Configuração inválida",
"create": "Erro ao criar serviço",
"start": "Erro de inicialização do serviço"
},
"connectivity": {
"unexpected": "Falha inesperada",
"missingVpnPermission": "Permissão VPN ausente",
"missingNotificationPermission": "Permissão de notificação ausente",
"core": "Erro central"
},
"profiles": {
"unexpected": "Erro inesperado",
"notFound": "Perfil Não Encontrado",
"invalidConfig": "Configurações inválidas",
"invalidUrl": "URL inválida"
},
"connection": {
"unexpected": "Erro de conexão inesperado",
"timeout": "Tempo limite de conexão",
"badResponse": "Erro na Resposta",
"connectionError": "Erro de conexão",
"badCertificate": "Erro no certificado"
},
"geoAssets": {
"unexpected": "Erro inesperado",
"notUpdate": "Nenhuma atualização disponível",
"activeNotFound": "Recurso geográfico ativo não encontrado"
}
},
"play": {
"title": "Hiddify (Pré-visualização)",
"short_description": "Auto, SSH, VLESS, Vmess, Trojan, Reality, Sing-Box, Clash, Xray, Shadowsocks"
} }
} },
"stats": {
"trafficLive": "Tráfego ao vivo",
"trafficTotal": "Tráfego total",
"uplink": "Ligação ascendente",
"downlink": "Link descendente",
"connection": "Conexão",
"speed": "Velocidade",
"totalTransferred": "Total transferido"
},
"profile": {
"overviewPageTitle": "Perfis",
"detailsPageTitle": "Perfil",
"activeProfileNameSemanticLabel": "Nome do perfil ativo: \"${name}\".",
"activeProfileBtnSemanticLabel": "Ver todos os perfis.",
"nonActiveProfileBtnSemanticLabel": "Selecione \"${name}\" como perfil ativo.",
"subscription": {
"traffic": "Tráfego",
"updatedTimeAgo": "Atualizado ${timeago}",
"remainingDuration": "${duration} dias restantes",
"remainingTrafficSemanticLabel": "${consumed} de ${total} tráfego consumido.",
"expired": "Expirado",
"noTraffic": "Fora da cota",
"upload": "Upload",
"download": "Download",
"total": "Tráfego total",
"expireDate": "Data de validade"
},
"sortBy": {
"lastUpdate": "Atualizado recentemente",
"name": "Alfabeticamente"
},
"add": {
"buttonText": "Novo Perfil",
"shortBtnTxt": "Novo Perfil",
"fromClipboard": "Adicionar da área de transferência",
"scanQr": "Digitalize o código QR",
"qrScanner": {
"permissionDeniedError": "Permissão negada",
"unexpectedError": "Algo deu errado",
"torchSemanticLabel": "Luz do flash",
"facingSemanticLabel": "Câmera voltada"
},
"manually": "Entrada manual",
"addingProfileMsg": "Adicionando Perfil",
"failureMsg": "Falha ao adicionar perfil"
},
"update": {
"buttonTxt": "Atualizar",
"tooltip": "Atualizar Perfil",
"updateSubscriptions": "Atualizar assinaturas",
"failureMsg": "Falha ao atualizar perfil",
"successMsg": "Perfil atualizado com sucesso",
"namedFailureMsg": "Falha ao atualizar \"${name}\"",
"namedSuccessMsg": "\"${name}\" atualizado com sucesso"
},
"share": {
"buttonText": "Compartilhar",
"exportToClipboardSuccess": "Exportado para a área de transferência",
"exportSubLinkToClipboard": "Exportar link de assinatura para a área de transferência",
"subLinkQrCode": "Código QR do link de assinatura",
"exportConfigToClipboard": "Exportar configuração para a área de transferência",
"exportConfigToClipboardSuccess": "Configuração copiada para a área de transferência"
},
"edit": {
"buttonTxt": "Editar",
"selectActiveTxt": "Selecionar perfil ativo"
},
"delete": {
"buttonTxt": "Deletar",
"confirmationMsg": "Deletar perfil permanentemente?",
"successMsg": "Perfil deletado com sucesso"
},
"save": {
"buttonText": "Salvar",
"successMsg": "Perfil salvo com sucesso",
"failureMsg": "Falha ao salvar perfil"
},
"detailsForm": {
"nameLabel": "Nome",
"nameHint": "Nome do Perfil",
"urlLabel": "URL",
"urlHint": "URL de configuração completo",
"emptyNameMsg": "Nome é obrigatório ",
"invalidUrlMsg": "URL inválido",
"lastUpdate": "Ultima Atualização",
"updateInterval": "Atualização Automática ",
"updateIntervalDialogTitle": "Intervalo de atualização automática (em horas)"
}
},
"proxies": {
"pageTitle": "Proxies",
"emptyProxiesMsg": "Nenhum proxy disponível",
"delayTestTooltip": "Atraso de teste",
"sortTooltip": "Ordenar proxies",
"checkIp": "Verifique o IP",
"unknownIp": "IP desconhecido",
"sortOptions": {
"unsorted": "Padrão",
"name": "Alfabeticamente",
"delay": "Por atraso"
},
"activeProxySemanticLabel": "Proxy ativo",
"delaySemantics": {
"result": "atraso: ${delay}ms",
"timeout": "atrasar o tempo limite do teste",
"testing": "atraso: testando..."
},
"ipInfoSemantics": {
"address": "Endereço de IP",
"country": "País"
}
},
"logs": {
"pageTitle": "Histórico",
"filterHint": "Filtro",
"allLevelsFilter": "Todos",
"shareCoreLogs": "Compartilhe registros principais",
"shareAppLogs": "Compartilhe registros de aplicativos",
"pauseTooltip": "Pausar",
"resumeTooltip": "Resumir",
"clearTooltip": "Limpar"
},
"settings": {
"pageTitle": "Configurações",
"requiresRestartMsg": "Para que isso tenha efeito, reinicie o aplicativo",
"experimental": "Experimental",
"experimentalMsg": "Os recursos com sinalização Experimental ainda estão em desenvolvimento e podem causar problemas.",
"general": {
"sectionTitle": "Geral",
"locale": "Linguagem",
"region": "Região",
"regionMsg": "Ajuda a definir opções padrão para ignorar endereços domésticos",
"regions": {
"ir": "Irã (ir)",
"cn": "China (cn)",
"ru": "Rússia (ru)",
"af": "Afeganistão (af)",
"other": "Outro"
},
"themeMode": "Modo de Tema",
"themeModes": {
"system": "Seguir o tema do sistema",
"dark": "Modo Escuro",
"light": "Modo Claro",
"black": "Modo Preto"
},
"enableAnalytics": "Habilitar Análise",
"enableAnalyticsMsg": "Dê permissão para coletar análises e enviar relatórios de falhas para melhorar o aplicativo",
"autoStart": "Inicializar no login",
"silentStart": "Inicializar minimizado",
"openWorkingDir": "Abra o diretório de trabalho",
"ignoreBatteryOptimizations": "Desative a otimização da bateria",
"ignoreBatteryOptimizationsMsg": "Remova as restrições para obter o desempenho ideal da VPN",
"dynamicNotification": "Exibir velocidade na notificação",
"hapticFeedback": "Feedback tátil",
"autoIpCheck": "Verifique automaticamente o IP da conexão"
},
"advanced": {
"sectionTitle": "Avançado",
"debugMode": "Modo de desenvolvedor",
"debugModeMsg": "Reinicie o aplicativo para aplicar esta alteração",
"memoryLimit": "Limite de memória",
"memoryLimitMsg": "Ative se você estiver enfrentando erros de falta de memória ou travamentos frequentes do aplicativo",
"resetTunnel": "Redefinir perfil VPN"
},
"network": {
"perAppProxyPageTitle": "Proxy por aplicativo",
"perAppProxyModes": {
"off": "Tudo",
"offMsg": "Proxy de todos os aplicativos",
"include": "Proxy",
"includeMsg": "Aplicativos selecionados apenas por proxy",
"exclude": "Ignorar",
"excludeMsg": "Não faça proxy de aplicativos selecionados"
},
"showSystemApps": "Mostrar aplicativos do sistema",
"hideSystemApps": "Ocultar aplicativos do sistema",
"clearSelection": "Limpar seleção"
},
"config": {
"resetBtn": "Redefinir opções",
"serviceMode": "Modo de serviço",
"serviceModes": {
"proxy": "Somente serviço de proxy",
"systemProxy": "Definir proxy do sistema",
"tun": "VPN",
"tunService": "Serviço VPN"
},
"section": {
"route": "Opções de rota",
"dns": "Opções de DNS",
"inbound": "Opções de entrada",
"mux": "Multiplexador",
"outbound": "Opções de saída",
"tlsTricks": "Truques TLS",
"warp": "Opções de WARP",
"misc": "Opções diversas"
},
"warpConsent": {
"title": "Consentimento WARP da Cloudflare",
"description(rich)": "Cloudflare WARP é um provedor VPN WireGuard gratuito. Ao ativar esta opção, você concorda com os ${tos(Termos de Serviço)} e ${privacy(Política de Privacidade)} do WARP da Cloudflare."
},
"generateWarpConfig": "Gerar configuração WARP",
"missingWarpConfig": "Configuração WARP ausente",
"warpConfigGenerated": "Configuração WARP gerada",
"pageTitle": "Opções de configuração",
"logLevel": "Nível de registro",
"resolveDestination": "Resolver destino",
"ipv6Mode": "Rota IPv6",
"ipv6Modes": {
"disable": "Desabilitar",
"enable": "Habilitar",
"prefer": "Preferido",
"only": "Exclusivo"
},
"remoteDnsAddress": "DNS remoto",
"remoteDnsDomainStrategy": "Estratégia de Domínio DNS Remoto",
"directDnsAddress": "DNS direto",
"directDnsDomainStrategy": "Estratégia de Domínio DNS Direto",
"mixedPort": "Porta Mista",
"localDnsPort": "Porta DNS local",
"allowConnectionFromLan": "Permitir conexão da LAN",
"tunImplementation": "Implementação TUN",
"mtu": "MTU",
"connectionTestUrl": "URL de teste de conexão",
"urlTestInterval": "Intervalo de teste de URL",
"enableClashApi": "Ativar API Clash",
"clashApiPort": "Porta da API Clash",
"enableTun": "Ativar TUN",
"setSystemProxy": "Definir proxy do sistema",
"enableDnsRouting": "Habilitar roteamento DNS",
"enableFakeDns": "Habilitar DNS falso",
"bypassLan": "Ignorar LAN",
"strictRoute": "Rota Estrita",
"enableTlsFragment": "Habilitar fragmento TLS",
"tlsFragmentSize": "Tamanho do fragmento TLS",
"tlsFragmentSleep": "Suspensão do fragmento TLS",
"enableTlsMixedSniCase": "Habilitar caso SNI misto TLS",
"enableTlsPadding": "Habilitar preenchimento TLS",
"tlsPaddingSize": "Preenchimento TLS",
"enableMux": "Habilitar Mux",
"muxProtocol": "Protocolo Mux",
"muxMaxStreams": "Máximo de fluxos simultâneos",
"enableWarp": "Habilitar WARP",
"warpDetourMode": "Modo de desvio",
"warpDetourModes": {
"inbound": "Desvie o WARP através de proxies",
"outbound": "Desviar proxies através do WARP"
},
"warpLicenseKey": "Chave de licença",
"warpCleanIp": "Limpar IP",
"warpPort": "Porta",
"warpNoise": "Contagem de ruído",
"warpNoiseDelay": "Atraso de ruído"
},
"geoAssets": {
"pageTitle": "Ativos de roteamento",
"geoip": "GeoIP",
"geosite": "Geossítio",
"version": "Versão ${version}",
"fileMissing": "Arquivo faltando",
"update": "Atualizar",
"download": "Download",
"failureMsg": "Falha ao atualizar o recurso",
"successMsg": "Recurso atualizado com sucesso",
"addRecommended": "Adicionar recursos recomendados",
"missingGeoAssetsMsg": "Os arquivos dos ativos de roteamento selecionados estão ausentes. Baixe-os ou escolha os existentes."
}
},
"about": {
"pageTitle": "Sobre",
"version": "Versão",
"sourceCode": "Código fonte",
"telegramChannel": "Canal Telegram",
"checkForUpdate": "Verifique atualizações",
"privacyPolicy": "Política de Privacidade",
"termsAndConditions": "Termos e Condições"
},
"appUpdate": {
"notAvailableMsg": "Já usando a versão mais recente",
"dialogTitle": "Atualização disponível",
"updateMsg": "Uma nova versão de @:general.appTitle está disponível. Gostaria de atualizar agora?",
"currentVersionLbl": "Versão Atual",
"newVersionLbl": "Nova versão",
"updateNowBtnTxt": "Atualizar agora",
"laterBtnTxt": "Mais tarde",
"ignoreBtnTxt": "Ignorar"
},
"tray": {
"dashboard": "Painel",
"quit": "Sair",
"open": "Abrir",
"status": {
"connect": "Conectar",
"connecting": "Conectando",
"disconnect": "desconectar",
"disconnecting": "Desconectando"
}
},
"failure": {
"unexpected": "Erro inesperado",
"clash": {
"unexpected": "Erro inesperado",
"core": "Erro de conflito ${reason}"
},
"singbox": {
"unexpected": "Erro de serviço inesperado",
"serviceNotRunning": "O serviço não está em execução",
"missingPrivilege": "Privilégio ausente",
"missingPrivilegeMsg": "O modo VPN requer privilégios de administrador. Reinicie o aplicativo como administrador ou altere o modo de serviço.",
"missingGeoAssets": "Recursos geográficos ausentes",
"missingGeoAssetsMsg": "Os recursos geográficos estão faltando. considere alterar o recurso ativo ou baixar um selecionado nas configurações.",
"invalidConfigOptions": "Opções de configuração inválidas",
"invalidConfig": "Configuração inválida",
"create": "Erro ao criar serviço",
"start": "Erro de inicialização do serviço"
},
"connectivity": {
"unexpected": "Falha inesperada",
"missingVpnPermission": "Permissão VPN ausente",
"missingNotificationPermission": "Permissão de notificação ausente",
"core": "Erro central"
},
"profiles": {
"unexpected": "Erro inesperado",
"notFound": "Perfil Não Encontrado",
"invalidConfig": "Configurações inválidas",
"invalidUrl": "URL inválida"
},
"connection": {
"unexpected": "Erro de conexão inesperado",
"timeout": "Tempo limite de conexão",
"badResponse": "Erro na Resposta",
"connectionError": "Erro de conexão",
"badCertificate": "Erro no certificado"
},
"geoAssets": {
"unexpected": "Erro inesperado",
"notUpdate": "Nenhuma atualização disponível",
"activeNotFound": "Recurso geográfico ativo não encontrado"
}
},
"play": {
"title": "Hiddify (Pré-visualização)",
"short_description": "Auto, SSH, VLESS, Vmess, Trojan, Reality, Sing-Box, Clash, Xray, Shadowsocks"
}
}

View File

@@ -1,359 +1,359 @@
{ {
"general": { "general": {
"appTitle": "Hiddify", "appTitle": "Hiddify",
"reset": "Сброс", "reset": "Сброс",
"toggle": { "toggle": {
"enabled": "Включено", "enabled": "Включено",
"disabled": "Отключено" "disabled": "Отключено"
},
"state": {
"disable": "Отключить"
},
"sort": "Сортировка",
"sortBy": "Сортировка",
"addToClipboard": "Копировать в буфер обмена",
"notSet": "Не задано",
"agree": "Соглашаться",
"decline": "Отклонить",
"unknown": "Неизвестный"
}, },
"intro": { "state": {
"termsAndPolicyCaution(rich)": "Продолжая, Вы соглашаетесь с ${tap(@:about.termsAndConditions)}", "disable": "Отключить"
"start": "Начать"
}, },
"home": { "sort": "Сортировка",
"pageTitle": "Главная", "sortBy": "Сортировка",
"emptyProfilesMsg": "Начните с добавления профиля подписки", "addToClipboard": "Копировать в буфер обмена",
"noActiveProfileMsg": "Выберите профиль", "notSet": "Не задано",
"connection": { "agree": "Соглашаться",
"tapToConnect": "Нажмите для подключения", "decline": "Отклонить",
"connecting": "Подключение", "unknown": "Неизвестный"
"disconnecting": "Отключение", },
"connected": "Подключено", "intro": {
"experimentalNotice": "Экспериментальные функции в использовании", "termsAndPolicyCaution(rich)": "Продолжая, Вы соглашаетесь с ${tap(@:about.termsAndConditions)}",
"experimentalNoticeMsg": "Вы включили некоторые экспериментальные функции, которые могут повлиять на качество соединения и вызвать непредвиденные ошибки. Вы всегда можете изменить или сбросить эти параметры на странице параметров конфигурации.", "start": "Начать"
"disableExperimentalNotice": "Больше не показывать" },
}, "home": {
"stats": { "pageTitle": "Главная",
"traffic": "Текущий трафик", "emptyProfilesMsg": "Начните с добавления профиля подписки",
"trafficTotal": "Трафик", "noActiveProfileMsg": "Выберите профиль",
"uplink": "Скорость отправки", "connection": {
"downlink": "Скорость загрузки" "tapToConnect": "Нажмите для подключения",
} "connecting": "Подключение",
}, "disconnecting": "Отключение",
"profile": { "connected": "Подключено",
"overviewPageTitle": "Профили", "experimentalNotice": "Экспериментальные функции в использовании",
"detailsPageTitle": "Профиль", "experimentalNoticeMsg": "Вы включили некоторые экспериментальные функции, которые могут повлиять на качество соединения и вызвать непредвиденные ошибки. Вы всегда можете изменить или сбросить эти параметры на странице параметров конфигурации.",
"activeProfileNameSemanticLabel": "Имя активного профиля: «${name}».", "disableExperimentalNotice": "Больше не показывать"
"activeProfileBtnSemanticLabel": "Посмотреть все профили.",
"nonActiveProfileBtnSemanticLabel": "Выберите «${name}» в качестве активного профиля.",
"subscription": {
"traffic": "Трафик",
"updatedTimeAgo": "Обновлено ${timeago}",
"remainingDuration": "Ещё ${duration} дн.",
"remainingTrafficSemanticLabel": "Использовано ${consumed} трафика из ${total}.",
"expired": "Истекло",
"noTraffic": "Нет доступного трафика"
},
"sortBy": {
"lastUpdate": "по последнему обновлению",
"name": "по названию"
},
"add": {
"buttonText": "Новый профиль",
"shortBtnTxt": "Новый профиль",
"fromClipboard": "Добавить из буфера обмена",
"scanQr": "Сканировать QR-код",
"qrScanner": {
"permissionDeniedError": "Нет прав",
"unexpectedError": "Неизвестная ошибка",
"torchSemanticLabel": "Вспышка",
"facingSemanticLabel": "Фронтальная камера"
},
"manually": "Ввести вручную",
"addingProfileMsg": "Добавление профиля",
"failureMsg": "Не удалось добавить профиль"
},
"update": {
"buttonTxt": "Обновить",
"tooltip": "Обновить профиль",
"updateSubscriptions": "Обновить подписки",
"failureMsg": "Не удалось обновить профиль",
"successMsg": "Профиль успешно обновлён",
"namedFailureMsg": "Не удалось обновить \"${name}\".",
"namedSuccessMsg": "\"${name}\" успешно обновлено"
},
"share": {
"buttonText": "Поделиться",
"exportToClipboardSuccess": "Ссылка скопирована в буфер обмена",
"exportSubLinkToClipboard": "Скопировать ссылку на подписку в буфер обмена",
"subLinkQrCode": "QR-код ссылки на подписку",
"exportConfigToClipboard": "Скопировать конфигурацию в буфер обмена",
"exportConfigToClipboardSuccess": "Конфигурация скопирована в буфер обмена"
},
"edit": {
"buttonTxt": "Изменить",
"selectActiveTxt": "Выберите активный профиль"
},
"delete": {
"buttonTxt": "Удалить",
"confirmationMsg": "Безвозвратно удалить профиль?",
"successMsg": "Профиль успешно удалён"
},
"save": {
"buttonText": "Сохранить",
"successMsg": "Профиль успешно сохранён",
"failureMsg": "Не удалось сохранить профиль"
},
"detailsForm": {
"nameLabel": "Имя",
"nameHint": "Имя профиля",
"urlLabel": "URL",
"urlHint": "Полный URL конфигурации",
"emptyNameMsg": "Поле «Имя» обязательно",
"invalidUrlMsg": "Неправильный URL",
"lastUpdate": "Последнее обновление",
"updateInterval": "Автоматическое обновление",
"updateIntervalDialogTitle": "Интервал обновления (в часах)"
}
},
"proxies": {
"pageTitle": "Прокси",
"emptyProxiesMsg": "Нет доступных прокси",
"delayTestTooltip": "Тестирование задержки",
"sortTooltip": "Сортировка прокси",
"sortOptions": {
"unsorted": "По умолчанию",
"name": "По алфавиту",
"delay": "По задержке"
}
},
"logs": {
"pageTitle": "Журналы",
"filterHint": "Фильтр",
"allLevelsFilter": "Все",
"shareCoreLogs": "Поделиться журналами ядра",
"shareAppLogs": "Поделиться журналами приложения",
"pauseTooltip": "Приостановить",
"resumeTooltip": "Возобновить",
"clearTooltip": "Очистить"
},
"settings": {
"pageTitle": "Настройки",
"requiresRestartMsg": "Чтобы применить изменения, перезапустите приложение.",
"experimental": "Экспериментальный",
"experimentalMsg": "Функции с флагом «Экспериментально» все еще находятся в разработке и могут вызвать проблемы.",
"general": {
"sectionTitle": "Основные",
"locale": "Язык",
"region": "Регион",
"regionMsg": "Помогает установить параметры по умолчанию для обхода внутренних адресов.",
"regions": {
"ir": "Иран (ir)",
"cn": "Китай (cn)",
"ru": "Россия (ru)",
"af": "Afghanistan (af)",
"other": "Другой"
},
"themeMode": "Оформление",
"themeModes": {
"system": "Системная тема",
"dark": "Тёмная тема",
"light": "Светлая тема",
"black": "Чёрная тема"
},
"enableAnalytics": "Сбор аналитики",
"enableAnalyticsMsg": "Сбор данных аналитики и отправка отчётов о сбоях для улучшения приложения",
"autoStart": "Запуск при загрузке",
"silentStart": "Тихий запуск",
"openWorkingDir": "Открыть рабочую папку",
"ignoreBatteryOptimizations": "Отключить оптимизацию батареи",
"ignoreBatteryOptimizationsMsg": "Отключение ограничений для оптимальной производительности VPN.",
"dynamicNotification": "Отображение скорости в уведомлении"
},
"advanced": {
"sectionTitle": "Расширенные",
"debugMode": "Режим отладки",
"debugModeMsg": "Чтобы применить изменения, перезапустите приложение.",
"memoryLimit": "Ограничение памяти",
"memoryLimitMsg": "Включите, если у вас возникают ошибки нехватки памяти или частые сбои приложения.",
"resetTunnel": "Сбросить профиль VPN"
},
"network": {
"perAppProxyPageTitle": "Раздельное проксирование",
"perAppProxyModes": {
"off": "Все",
"offMsg": "Проксировать все приложения",
"include": "Прокси",
"includeMsg": "Проксировать выбранные приложения",
"exclude": "Обход",
"excludeMsg": "Не проксировать выбранные приложения"
},
"showSystemApps": "Показать системные приложения",
"hideSystemApps": "Скрыть системные приложения",
"clearSelection": "Очистить выбор"
},
"config": {
"resetBtn": "Сбросить параметры",
"serviceMode": "Режим работы",
"serviceModes": {
"proxy": "Прокси",
"systemProxy": "Системный прокси",
"tun": "VPN"
},
"section": {
"route": "Варианты маршрутизации",
"dns": "Параметры DNS",
"inbound": "Входящие параметры",
"mux": "Multiplexer",
"outbound": "Outbound Options",
"tlsTricks": "TLS Tricks",
"warp": "WARP Options",
"misc": "Разные параметры"
},
"warpConsent": {
"title": "Согласие Cloudflare WARP",
"description(rich)": "Cloudflare WARP — бесплатный провайдер WireGuard VPN. Включая эту опцию, вы соглашаетесь с ${tos(Условиями обслуживания)} и ${privacy(Политикой конфиденциальности)} Cloudflare WARP."
},
"pageTitle": "Параметры конфигурации",
"logLevel": "Подробность журналирования",
"resolveDestination": "Определять назначение",
"ipv6Mode": "Маршрутизация IPv6",
"ipv6Modes": {
"disable": "Отключено",
"enable": "Включено",
"prefer": "Предпочтительно",
"only": "Исключительно"
},
"remoteDnsAddress": "Удалённый DNS",
"remoteDnsDomainStrategy": "Стратегия удалённого домена DNS",
"directDnsAddress": "Прямой DNS",
"directDnsDomainStrategy": "Стратегия прямого домена DNS",
"mixedPort": "Смешанный порт",
"localDnsPort": "Локальный порт DNS",
"allowConnectionFromLan": "Allow Connection from LAN",
"tunImplementation": "Реализация TUN",
"mtu": "MTU",
"connectionTestUrl": "URL проверки подключения",
"urlTestInterval": "Интервал проверки URL",
"enableClashApi": "Использовать Clash API",
"clashApiPort": "Порт Clash API",
"enableTun": "Использовать TUN",
"setSystemProxy": "Использовать системный прокси",
"enableDnsRouting": "Enable DNS Routing",
"enableFakeDns": "Использовать поддельную DNS",
"bypassLan": "Обход локальной сети",
"strictRoute": "Строгая маршрутизация",
"enableTlsFragment": "Enable TLS Fragment",
"tlsFragmentSize": "TLS Fragment Size",
"tlsFragmentSleep": "TLS Fragment Sleep",
"enableTlsMixedSniCase": "Enable TLS Mixed SNI Case",
"enableTlsPadding": "Enable TLS Padding",
"tlsPaddingSize": "TLS Padding",
"enableMux": "Enable Mux",
"muxProtocol": "Mux Protocol",
"muxMaxStreams": "Max Concurrent Streams",
"enableWarp": "Enable WARP",
"warpDetourMode": "Detour Mode",
"warpDetourModes": {
"inbound": "Detour WARP through proxies",
"outbound": "Detour proxies through WARP"
},
"warpLicenseKey": "License Key",
"warpCleanIp": "Clean IP",
"warpPort": "Port",
"warpNoise": "Noise"
},
"geoAssets": {
"pageTitle": "Активы маршрутизации",
"geoip": "Geoip",
"geosite": "Geosite",
"version": "Версия ${version}",
"fileMissing": "Файл отсутствует",
"update": "Обновить",
"download": "Скачать",
"failureMsg": "Не удалось обновить объект",
"successMsg": "Объект успешно обновлен",
"addRecommended": "Добавить рекомендуемые активы",
"missingGeoAssetsMsg": "Файлы выбранных ресурсов маршрутизации отсутствуют. Либо скачайте их, либо выберите существующие."
}
},
"about": {
"pageTitle": "О программе",
"version": "Версия",
"sourceCode": "Исходный код",
"telegramChannel": "Telegram-канал",
"checkForUpdate": "Проверка обновления",
"privacyPolicy": "Политика конфиденциальности",
"termsAndConditions": "Условия и положения"
},
"appUpdate": {
"notAvailableMsg": "Установлена последняя версия",
"dialogTitle": "Доступно обновление",
"updateMsg": "Доступна новая версия @:general.appTitle. Обновить сейчас?",
"currentVersionLbl": "Текущая версия",
"newVersionLbl": "Новая версия",
"updateNowBtnTxt": "Обновить",
"laterBtnTxt": "Позже",
"ignoreBtnTxt": "Пропустить"
},
"tray": {
"dashboard": "Панель",
"quit": "Выход",
"open": "Открыть",
"status": {
"connect": "Подключиться",
"connecting": "Подключение",
"disconnect": "Отключиться",
"disconnecting": "Отключение"
}
},
"failure": {
"unexpected": "Непредвиденная ошибка",
"clash": {
"unexpected": "Непредвиденная ошибка (Clash)",
"core": "Ошибка ${reason}"
},
"singbox": {
"unexpected": "Непредвиденная ошибка (SingBox)",
"serviceNotRunning": "Сервис не запущен",
"missingPrivilege": "Отсутствие прав",
"missingPrivilegeMsg": "Режим VPN требует прав администратора. Перезапустите приложение от имени администратора или измените режим работы приложения.",
"missingGeoAssets": "Отсутствуют географические ресурсы",
"missingGeoAssetsMsg": "Георесурсы отсутствуют. Изменените выбранный ресурс или загрузите собственный в настройках.",
"invalidConfigOptions": "Неправильные параметры конфигурации",
"invalidConfig": "Неправильная конфигурация",
"create": "Ошибка создания сервиса",
"start": "Ошибка запуска сервиса"
},
"connectivity": {
"unexpected": "Непредвиденная ошибка",
"missingVpnPermission": "Отсутствует разрешение VPN",
"missingNotificationPermission": "Отсутствует разрешение на показ уведомлений",
"core": "Ошибка ядра"
},
"profiles": {
"unexpected": "Непредвиденная ошибка",
"notFound": "Профиль не найден",
"invalidConfig": "Неправильная конфигурация",
"invalidUrl": "Неправильный URL"
},
"connection": {
"unexpected": "Неожиданная ошибка подключения",
"timeout": "Истекло время подключения",
"badResponse": "Неправильный ответ",
"connectionError": "Ошибка подключения",
"badCertificate": "Неправильный сертификат"
},
"geoAssets": {
"unexpected": "Неожиданная ошибка",
"notUpdate": "Нет доступных обновлений",
"activeNotFound": "Активный географический актив не найден"
}
},
"play": {
"title": "Hiddify (Preview)",
"short_description": "Автовыбор, SSH, VLESS, Vmess, Trojan, Reality, Sing-Box, Clash, Xray, Shadowsocks",
"full_description": "Основная цель Hiddify — предоставить безопасный, удобный и эффективный клиент туннелирования. Он позволяет направлять весь трафик или трафик выбранного приложения на указанный Вами удалённый сервер.\nПримечание: мы не предоставляем серверы, пользователи должны сами обеспечивать конфиденциальность своих действий в Интернете, используя собственный сервер или доверенные серверы. Поддерживаются сервера с:— Обычной ссылка на подписку V2ray/Xray— Ссылкой на подписку Clash— Ссылко на подписку на SingBox\nВ чём уникальные особенности? — Удобство — Оптимизация и скорость — Автоматический выбор минимальной задержки — Отображение информации об использовании — Простой импорт ссылок одним щелчком мыши — Бесплатно и без рекламы — Простое переключение ссылок — …и много больше\nПоддерживаются:• Все протоколы, поддерживаемые Sing-Box• VLESS + xtls reality, vision• VMESS• Trojan• ShoadowSocks• Reality• V2ray• Hystria2• TUIC• SSH• ShadowTLS\nИсходный код доступен по адресу https://github.com/hiddify/Hiddify-Next.Ядро приложения основано на открытом исходном коде SingBox.\nОписание разрешений:— СЛУЖБА VPN: поскольку целью данного приложения является предоставление безопасного, удобного и эффективного клиента туннелирования, это разрешение необходимо, чтобы иметь возможность направлять трафик через туннель на удалённый сервер.— ЗАПРОС ВСЕХ ПАКЕТОВ: это разрешение позволяет добавлять или удалять определённые приложения из списка для туннелирования.— ИНФОРМИРОВАНИЕ О ЗАВЕРШЕНИИ ЗАГРУЗКИ: это разрешение можно включить или отключить в настройках приложения, чтобы (де)активировать запуск приложения при загрузке устройства.— ПОСТОЯННОЕ УВЕДОМЛЕНИЕ: это разрешение необходимо, так как используется приоритетная служба для обеспечения непрерывной работы VPN.— Приложение не содержит рекламы. Сбор аналитики и данных о сбоях происходят только с явного согласия пользователя при первом использовании приложения."
} }
} },
"stats": {
"trafficLive": "Текущий трафик",
"trafficTotal": "Трафик",
"uplink": "Скорость отправки",
"downlink": "Скорость загрузки"
},
"profile": {
"overviewPageTitle": "Профили",
"detailsPageTitle": "Профиль",
"activeProfileNameSemanticLabel": "Имя активного профиля: «${name}».",
"activeProfileBtnSemanticLabel": "Посмотреть все профили.",
"nonActiveProfileBtnSemanticLabel": "Выберите «${name}» в качестве активного профиля.",
"subscription": {
"traffic": "Трафик",
"updatedTimeAgo": "Обновлено ${timeago}",
"remainingDuration": "Ещё ${duration} дн.",
"remainingTrafficSemanticLabel": "Использовано ${consumed} трафика из ${total}.",
"expired": "Истекло",
"noTraffic": "Нет доступного трафика"
},
"sortBy": {
"lastUpdate": "по последнему обновлению",
"name": "по названию"
},
"add": {
"buttonText": "Новый профиль",
"shortBtnTxt": "Новый профиль",
"fromClipboard": "Добавить из буфера обмена",
"scanQr": "Сканировать QR-код",
"qrScanner": {
"permissionDeniedError": "Нет прав",
"unexpectedError": "Неизвестная ошибка",
"torchSemanticLabel": "Вспышка",
"facingSemanticLabel": "Фронтальная камера"
},
"manually": "Ввести вручную",
"addingProfileMsg": "Добавление профиля",
"failureMsg": "Не удалось добавить профиль"
},
"update": {
"buttonTxt": "Обновить",
"tooltip": "Обновить профиль",
"updateSubscriptions": "Обновить подписки",
"failureMsg": "Не удалось обновить профиль",
"successMsg": "Профиль успешно обновлён",
"namedFailureMsg": "Не удалось обновить \"${name}\".",
"namedSuccessMsg": "\"${name}\" успешно обновлено"
},
"share": {
"buttonText": "Поделиться",
"exportToClipboardSuccess": "Ссылка скопирована в буфер обмена",
"exportSubLinkToClipboard": "Скопировать ссылку на подписку в буфер обмена",
"subLinkQrCode": "QR-код ссылки на подписку",
"exportConfigToClipboard": "Скопировать конфигурацию в буфер обмена",
"exportConfigToClipboardSuccess": "Конфигурация скопирована в буфер обмена"
},
"edit": {
"buttonTxt": "Изменить",
"selectActiveTxt": "Выберите активный профиль"
},
"delete": {
"buttonTxt": "Удалить",
"confirmationMsg": "Безвозвратно удалить профиль?",
"successMsg": "Профиль успешно удалён"
},
"save": {
"buttonText": "Сохранить",
"successMsg": "Профиль успешно сохранён",
"failureMsg": "Не удалось сохранить профиль"
},
"detailsForm": {
"nameLabel": "Имя",
"nameHint": "Имя профиля",
"urlLabel": "URL",
"urlHint": "Полный URL конфигурации",
"emptyNameMsg": "Поле «Имя» обязательно",
"invalidUrlMsg": "Неправильный URL",
"lastUpdate": "Последнее обновление",
"updateInterval": "Автоматическое обновление",
"updateIntervalDialogTitle": "Интервал обновления (в часах)"
}
},
"proxies": {
"pageTitle": "Прокси",
"emptyProxiesMsg": "Нет доступных прокси",
"delayTestTooltip": "Тестирование задержки",
"sortTooltip": "Сортировка прокси",
"sortOptions": {
"unsorted": "По умолчанию",
"name": "По алфавиту",
"delay": "По задержке"
}
},
"logs": {
"pageTitle": "Журналы",
"filterHint": "Фильтр",
"allLevelsFilter": "Все",
"shareCoreLogs": "Поделиться журналами ядра",
"shareAppLogs": "Поделиться журналами приложения",
"pauseTooltip": "Приостановить",
"resumeTooltip": "Возобновить",
"clearTooltip": "Очистить"
},
"settings": {
"pageTitle": "Настройки",
"requiresRestartMsg": "Чтобы применить изменения, перезапустите приложение.",
"experimental": "Экспериментальный",
"experimentalMsg": "Функции с флагом «Экспериментально» все еще находятся в разработке и могут вызвать проблемы.",
"general": {
"sectionTitle": "Основные",
"locale": "Язык",
"region": "Регион",
"regionMsg": "Помогает установить параметры по умолчанию для обхода внутренних адресов.",
"regions": {
"ir": "Иран (ir)",
"cn": "Китай (cn)",
"ru": "Россия (ru)",
"af": "Afghanistan (af)",
"other": "Другой"
},
"themeMode": "Оформление",
"themeModes": {
"system": "Системная тема",
"dark": "Тёмная тема",
"light": "Светлая тема",
"black": "Чёрная тема"
},
"enableAnalytics": "Сбор аналитики",
"enableAnalyticsMsg": "Сбор данных аналитики и отправка отчётов о сбоях для улучшения приложения",
"autoStart": "Запуск при загрузке",
"silentStart": "Тихий запуск",
"openWorkingDir": "Открыть рабочую папку",
"ignoreBatteryOptimizations": "Отключить оптимизацию батареи",
"ignoreBatteryOptimizationsMsg": "Отключение ограничений для оптимальной производительности VPN.",
"dynamicNotification": "Отображение скорости в уведомлении"
},
"advanced": {
"sectionTitle": "Расширенные",
"debugMode": "Режим отладки",
"debugModeMsg": "Чтобы применить изменения, перезапустите приложение.",
"memoryLimit": "Ограничение памяти",
"memoryLimitMsg": "Включите, если у вас возникают ошибки нехватки памяти или частые сбои приложения.",
"resetTunnel": "Сбросить профиль VPN"
},
"network": {
"perAppProxyPageTitle": "Раздельное проксирование",
"perAppProxyModes": {
"off": "Все",
"offMsg": "Проксировать все приложения",
"include": "Прокси",
"includeMsg": "Проксировать выбранные приложения",
"exclude": "Обход",
"excludeMsg": "Не проксировать выбранные приложения"
},
"showSystemApps": "Показать системные приложения",
"hideSystemApps": "Скрыть системные приложения",
"clearSelection": "Очистить выбор"
},
"config": {
"resetBtn": "Сбросить параметры",
"serviceMode": "Режим работы",
"serviceModes": {
"proxy": "Прокси",
"systemProxy": "Системный прокси",
"tun": "VPN"
},
"section": {
"route": "Варианты маршрутизации",
"dns": "Параметры DNS",
"inbound": "Входящие параметры",
"mux": "Multiplexer",
"outbound": "Outbound Options",
"tlsTricks": "TLS Tricks",
"warp": "WARP Options",
"misc": "Разные параметры"
},
"warpConsent": {
"title": "Согласие Cloudflare WARP",
"description(rich)": "Cloudflare WARP — бесплатный провайдер WireGuard VPN. Включая эту опцию, вы соглашаетесь с ${tos(Условиями обслуживания)} и ${privacy(Политикой конфиденциальности)} Cloudflare WARP."
},
"pageTitle": "Параметры конфигурации",
"logLevel": "Подробность журналирования",
"resolveDestination": "Определять назначение",
"ipv6Mode": "Маршрутизация IPv6",
"ipv6Modes": {
"disable": "Отключено",
"enable": "Включено",
"prefer": "Предпочтительно",
"only": "Исключительно"
},
"remoteDnsAddress": "Удалённый DNS",
"remoteDnsDomainStrategy": "Стратегия удалённого домена DNS",
"directDnsAddress": "Прямой DNS",
"directDnsDomainStrategy": "Стратегия прямого домена DNS",
"mixedPort": "Смешанный порт",
"localDnsPort": "Локальный порт DNS",
"allowConnectionFromLan": "Allow Connection from LAN",
"tunImplementation": "Реализация TUN",
"mtu": "MTU",
"connectionTestUrl": "URL проверки подключения",
"urlTestInterval": "Интервал проверки URL",
"enableClashApi": "Использовать Clash API",
"clashApiPort": "Порт Clash API",
"enableTun": "Использовать TUN",
"setSystemProxy": "Использовать системный прокси",
"enableDnsRouting": "Enable DNS Routing",
"enableFakeDns": "Использовать поддельную DNS",
"bypassLan": "Обход локальной сети",
"strictRoute": "Строгая маршрутизация",
"enableTlsFragment": "Enable TLS Fragment",
"tlsFragmentSize": "TLS Fragment Size",
"tlsFragmentSleep": "TLS Fragment Sleep",
"enableTlsMixedSniCase": "Enable TLS Mixed SNI Case",
"enableTlsPadding": "Enable TLS Padding",
"tlsPaddingSize": "TLS Padding",
"enableMux": "Enable Mux",
"muxProtocol": "Mux Protocol",
"muxMaxStreams": "Max Concurrent Streams",
"enableWarp": "Enable WARP",
"warpDetourMode": "Detour Mode",
"warpDetourModes": {
"inbound": "Detour WARP through proxies",
"outbound": "Detour proxies through WARP"
},
"warpLicenseKey": "License Key",
"warpCleanIp": "Clean IP",
"warpPort": "Port",
"warpNoise": "Noise"
},
"geoAssets": {
"pageTitle": "Активы маршрутизации",
"geoip": "Geoip",
"geosite": "Geosite",
"version": "Версия ${version}",
"fileMissing": "Файл отсутствует",
"update": "Обновить",
"download": "Скачать",
"failureMsg": "Не удалось обновить объект",
"successMsg": "Объект успешно обновлен",
"addRecommended": "Добавить рекомендуемые активы",
"missingGeoAssetsMsg": "Файлы выбранных ресурсов маршрутизации отсутствуют. Либо скачайте их, либо выберите существующие."
}
},
"about": {
"pageTitle": "О программе",
"version": "Версия",
"sourceCode": "Исходный код",
"telegramChannel": "Telegram-канал",
"checkForUpdate": "Проверка обновления",
"privacyPolicy": "Политика конфиденциальности",
"termsAndConditions": "Условия и положения"
},
"appUpdate": {
"notAvailableMsg": "Установлена последняя версия",
"dialogTitle": "Доступно обновление",
"updateMsg": "Доступна новая версия @:general.appTitle. Обновить сейчас?",
"currentVersionLbl": "Текущая версия",
"newVersionLbl": "Новая версия",
"updateNowBtnTxt": "Обновить",
"laterBtnTxt": "Позже",
"ignoreBtnTxt": "Пропустить"
},
"tray": {
"dashboard": "Панель",
"quit": "Выход",
"open": "Открыть",
"status": {
"connect": "Подключиться",
"connecting": "Подключение",
"disconnect": "Отключиться",
"disconnecting": "Отключение"
}
},
"failure": {
"unexpected": "Непредвиденная ошибка",
"clash": {
"unexpected": "Непредвиденная ошибка (Clash)",
"core": "Ошибка ${reason}"
},
"singbox": {
"unexpected": "Непредвиденная ошибка (SingBox)",
"serviceNotRunning": "Сервис не запущен",
"missingPrivilege": "Отсутствие прав",
"missingPrivilegeMsg": "Режим VPN требует прав администратора. Перезапустите приложение от имени администратора или измените режим работы приложения.",
"missingGeoAssets": "Отсутствуют географические ресурсы",
"missingGeoAssetsMsg": "Георесурсы отсутствуют. Изменените выбранный ресурс или загрузите собственный в настройках.",
"invalidConfigOptions": "Неправильные параметры конфигурации",
"invalidConfig": "Неправильная конфигурация",
"create": "Ошибка создания сервиса",
"start": "Ошибка запуска сервиса"
},
"connectivity": {
"unexpected": "Непредвиденная ошибка",
"missingVpnPermission": "Отсутствует разрешение VPN",
"missingNotificationPermission": "Отсутствует разрешение на показ уведомлений",
"core": "Ошибка ядра"
},
"profiles": {
"unexpected": "Непредвиденная ошибка",
"notFound": "Профиль не найден",
"invalidConfig": "Неправильная конфигурация",
"invalidUrl": "Неправильный URL"
},
"connection": {
"unexpected": "Неожиданная ошибка подключения",
"timeout": "Истекло время подключения",
"badResponse": "Неправильный ответ",
"connectionError": "Ошибка подключения",
"badCertificate": "Неправильный сертификат"
},
"geoAssets": {
"unexpected": "Неожиданная ошибка",
"notUpdate": "Нет доступных обновлений",
"activeNotFound": "Активный географический актив не найден"
}
},
"play": {
"title": "Hiddify (Preview)",
"short_description": "Автовыбор, SSH, VLESS, Vmess, Trojan, Reality, Sing-Box, Clash, Xray, Shadowsocks",
"full_description": "Основная цель Hiddify — предоставить безопасный, удобный и эффективный клиент туннелирования. Он позволяет направлять весь трафик или трафик выбранного приложения на указанный Вами удалённый сервер.\nПримечание: мы не предоставляем серверы, пользователи должны сами обеспечивать конфиденциальность своих действий в Интернете, используя собственный сервер или доверенные серверы. Поддерживаются сервера с:— Обычной ссылка на подписку V2ray/Xray— Ссылкой на подписку Clash— Ссылко на подписку на SingBox\nВ чём уникальные особенности? — Удобство — Оптимизация и скорость — Автоматический выбор минимальной задержки — Отображение информации об использовании — Простой импорт ссылок одним щелчком мыши — Бесплатно и без рекламы — Простое переключение ссылок — …и много больше\nПоддерживаются:• Все протоколы, поддерживаемые Sing-Box• VLESS + xtls reality, vision• VMESS• Trojan• ShoadowSocks• Reality• V2ray• Hystria2• TUIC• SSH• ShadowTLS\nИсходный код доступен по адресу https://github.com/hiddify/Hiddify-Next.Ядро приложения основано на открытом исходном коде SingBox.\nОписание разрешений:— СЛУЖБА VPN: поскольку целью данного приложения является предоставление безопасного, удобного и эффективного клиента туннелирования, это разрешение необходимо, чтобы иметь возможность направлять трафик через туннель на удалённый сервер.— ЗАПРОС ВСЕХ ПАКЕТОВ: это разрешение позволяет добавлять или удалять определённые приложения из списка для туннелирования.— ИНФОРМИРОВАНИЕ О ЗАВЕРШЕНИИ ЗАГРУЗКИ: это разрешение можно включить или отключить в настройках приложения, чтобы (де)активировать запуск приложения при загрузке устройства.— ПОСТОЯННОЕ УВЕДОМЛЕНИЕ: это разрешение необходимо, так как используется приоритетная служба для обеспечения непрерывной работы VPN.— Приложение не содержит рекламы. Сбор аналитики и данных о сбоях происходят только с явного согласия пользователя при первом использовании приложения."
}
}

View File

@@ -1,359 +1,359 @@
{ {
"general": { "general": {
"appTitle": "Hiddify", "appTitle": "Hiddify",
"reset": "Sıfırla", "reset": "Sıfırla",
"toggle": { "toggle": {
"enabled": "Etkin", "enabled": "Etkin",
"disabled": "Devre dışı" "disabled": "Devre dışı"
},
"state": {
"disable": "Devre dışı bırak"
},
"sort": "Sırala",
"sortBy": "Sırala",
"addToClipboard": "Panoya ekle",
"notSet": "Ayarlanmadı",
"agree": "Kabul etmek",
"decline": "Reddetmek",
"unknown": "Bilinmeyen"
}, },
"intro": { "state": {
"termsAndPolicyCaution(rich)": "devam ederek ${tap(@:about.termsAndConditions)} kabul etmiş olursunuz", "disable": "Devre dışı bırak"
"start": "Başla"
}, },
"home": { "sort": "Sırala",
"pageTitle": "Ana Sayfa", "sortBy": "Sırala",
"emptyProfilesMsg": "Aboneliği profili ekleyerek başlayın", "addToClipboard": "Panoya ekle",
"noActiveProfileMsg": "Profil seçin", "notSet": "Ayarlanmadı",
"connection": { "agree": "Kabul etmek",
"tapToConnect": "Bağlanmak için dokunun", "decline": "Reddetmek",
"connecting": "Bağlanıyor", "unknown": "Bilinmeyen"
"disconnecting": "Bağlantı kesiliyor", },
"connected": "Bağlandı", "intro": {
"experimentalNotice": "Kullanımdaki Deneysel Özellikler", "termsAndPolicyCaution(rich)": "devam ederek ${tap(@:about.termsAndConditions)} kabul etmiş olursunuz",
"experimentalNoticeMsg": "Bağlantı kalitesini etkileyebilecek ve beklenmeyen hatalara neden olabilecek bazı deneysel özellikleri etkinleştirdiniz. Bu seçenekleri istediğiniz zaman Yapılandırma seçenekleri sayfasından değiştirebilir veya sıfırlayabilirsiniz.", "start": "Başla"
"disableExperimentalNotice": "Bir daha gösterme" },
}, "home": {
"stats": { "pageTitle": "Ana Sayfa",
"traffic": "Canlı Trafik", "emptyProfilesMsg": "Aboneliği profili ekleyerek başlayın",
"trafficTotal": "Toplam Trafik", "noActiveProfileMsg": "Profil seçin",
"uplink": ıkış Yolu", "connection": {
"downlink": "Giriş Yolu" "tapToConnect": "Bağlanmak için dokunun",
} "connecting": "Bağlanıyor",
}, "disconnecting": "Bağlantı kesiliyor",
"profile": { "connected": "Bağlandı",
"overviewPageTitle": "Profiller", "experimentalNotice": "Kullanımdaki Deneysel Özellikler",
"detailsPageTitle": "Profil", "experimentalNoticeMsg": "Bağlantı kalitesini etkileyebilecek ve beklenmeyen hatalara neden olabilecek bazı deneysel özellikleri etkinleştirdiniz. Bu seçenekleri istediğiniz zaman Yapılandırma seçenekleri sayfasından değiştirebilir veya sıfırlayabilirsiniz.",
"activeProfileNameSemanticLabel": "Aktif profil adı: \"${name}\".", "disableExperimentalNotice": "Bir daha gösterme"
"activeProfileBtnSemanticLabel": "Tüm profilleri görüntüleyin.",
"nonActiveProfileBtnSemanticLabel": "Aktif profil olarak \"${name}\" seçeneğini seçin.",
"subscription": {
"traffic": "Trafik",
"updatedTimeAgo": "${timeago} güncellendi",
"remainingDuration": "${duration} Gün Kaldı",
"remainingTrafficSemanticLabel": "${consumed}/${total} trafik tüketildi.",
"expired": "Süresi Doldu",
"noTraffic": "Kotal Doldu"
},
"sortBy": {
"lastUpdate": "Yakın zamanda güncellendi",
"name": "Alfabetik"
},
"add": {
"buttonText": "Yeni profil",
"shortBtnTxt": "Yeni profil",
"fromClipboard": "Panodan Ekle",
"scanQr": "QR kodunu tarayın",
"qrScanner": {
"permissionDeniedError": "İzin reddedildi",
"unexpectedError": "Bir şeyler yanlış gitti",
"torchSemanticLabel": "El feneri",
"facingSemanticLabel": "Kameraya önü"
},
"manually": "Manuel giriş",
"addingProfileMsg": "Profil Ekleniyor",
"failureMsg": "Profil eklenemedi"
},
"update": {
"buttonTxt": "Güncelle",
"tooltip": "Profili Güncelle",
"updateSubscriptions": "Abonelikleri Güncelle",
"failureMsg": "Profil güncellenemedi",
"successMsg": "Profil başarıyla güncellendi",
"namedFailureMsg": "\"${name}\" güncellenemedi",
"namedSuccessMsg": "\"${name}\" başarıyla güncellendi"
},
"share": {
"buttonText": "Paylaş",
"exportToClipboardSuccess": "Panoya aktarıldı",
"exportSubLinkToClipboard": "Abonelik bağlantısını panoya aktar",
"subLinkQrCode": "QR kodun abonelik bağlantısı ",
"exportConfigToClipboard": "Yapılandırmayı panoya aktar",
"exportConfigToClipboardSuccess": "Yapılandırma panoya kopyalandı"
},
"edit": {
"buttonTxt": "Düzenle",
"selectActiveTxt": "Etkin profili seçin"
},
"delete": {
"buttonTxt": "Sil",
"confirmationMsg": "Profil kalıcı olarak silinsin mi?",
"successMsg": "Profil başarıyla silindi"
},
"save": {
"buttonText": "Kaydet",
"successMsg": "Profil başarıyla kaydedildi",
"failureMsg": "Profil kaydedilemedi"
},
"detailsForm": {
"nameLabel": "İsim",
"nameHint": "Profil ismi",
"urlLabel": "URL",
"urlHint": "Tam yapılandırma URL'i",
"emptyNameMsg": "İsim gerekli",
"invalidUrlMsg": "Geçersiz URL",
"lastUpdate": "Son Güncelleme",
"updateInterval": "Otomatik güncelleme",
"updateIntervalDialogTitle": "Otomatik Güncelleme Aralığı (saat olarak)"
}
},
"proxies": {
"pageTitle": "Proxyler",
"emptyProxiesMsg": "Kullanılabilir proxy yok",
"delayTestTooltip": "Test Gecikmesi",
"sortTooltip": "Proxy'leri Sırala",
"sortOptions": {
"unsorted": "Varsayılan",
"name": "Alfabetik olarak",
"delay": "Gecikmeyle"
}
},
"logs": {
"pageTitle": "Log",
"filterHint": "Filtre",
"allLevelsFilter": "Tüm",
"shareCoreLogs": "Çekirdek Loglarını Paylaş",
"shareAppLogs": "Uygulama Loglarını paylaş",
"pauseTooltip": "Duraklat",
"resumeTooltip": "Devam et",
"clearTooltip": "Temizle"
},
"settings": {
"pageTitle": "Ayarlar",
"requiresRestartMsg": "Bunun etkili olması için uygulamayı yeniden başlatın",
"experimental": "Deneysel",
"experimentalMsg": "Deneysel işaretli özellikler hâlâ geliştirilme aşamasındadır ve sorunlara neden olabilir.",
"general": {
"sectionTitle": "Genel",
"locale": "Dil",
"region": "Bölge",
"regionMsg": "Yerel adresleri atlamak için varsayılan seçeneği seçebilirsin",
"regions": {
"ir": "İran (ir)",
"cn": "Çin (cn)",
"ru": "Rusya (ru)",
"af": "Afghanistan (af)",
"other": "Diğer"
},
"themeMode": "Tema Modu",
"themeModes": {
"system": "Sistem temasını takip et",
"dark": "Karanlık mod",
"light": "Işık modu",
"black": "Siyah mod"
},
"enableAnalytics": "Analitikleri Etkinleştir",
"enableAnalyticsMsg": "Uygulamayı iyileştirmek için analiz toplama ve kilitlenme raporları göndermeye izni verin",
"autoStart": "Önyüklemede Başlat",
"silentStart": "Sessiz Başlatma",
"openWorkingDir": "Çalışma Dizinini Aç",
"ignoreBatteryOptimizations": "Pil Optimizasyonunu Devre Dışı Bırak",
"ignoreBatteryOptimizationsMsg": "Optimum VPN performansı için kısıtlamaları kaldırın",
"dynamicNotification": "Bildirimde hızı göster"
},
"advanced": {
"sectionTitle": "Gelişmiş",
"debugMode": "Hata ayıklama modu",
"debugModeMsg": "Bu değişikliği uygulamak için uygulamayı yeniden başlatın",
"memoryLimit": "Bellek Sınırı",
"memoryLimitMsg": "Yetersiz bellek hataları veya sık sık uygulama çökmesi yaşıyorsanız etkinleştirin",
"resetTunnel": "VPN Profilini Sıfırla"
},
"network": {
"perAppProxyPageTitle": "Uygulama başına Proxy",
"perAppProxyModes": {
"off": "Tümü",
"offMsg": "Proxy tüm uygulamalar",
"include": "Proxy",
"includeMsg": "Yalnızca proxy seçilen uygulamalar",
"exclude": "Atlatma",
"excludeMsg": "Seçilen uygulamalara proxy uygulama"
},
"showSystemApps": "Sistem uygulamalarını göster",
"hideSystemApps": "Sistem uygulamalarını gizle",
"clearSelection": "Seçimi temizle"
},
"config": {
"resetBtn": "Ayarları sıfırla",
"serviceMode": "Servis modu",
"serviceModes": {
"proxy": "Proxy",
"systemProxy": "Sistem Proxy",
"tun": "VPN"
},
"section": {
"route": "Rota Seçenekleri",
"dns": "DNS Seçenekleri",
"inbound": "Gelen Seçenekler",
"mux": "Multiplexer",
"outbound": "Outbound Options",
"tlsTricks": "TLS Tricks",
"warp": "WARP Options",
"misc": "Çeşitli Seçenekler"
},
"warpConsent": {
"title": "Cloudflare WARP Onayı",
"description(rich)": "Cloudflare WARP ücretsiz bir WireGuard VPN sağlayıcısıdır. Bu seçeneği etkinleştirerek Cloudflare WARP'ın ${tos(Hizmet Şartları)} ve ${privacy(Gizlilik Politikası)}'nı kabul etmiş olursunuz."
},
"pageTitle": "Yapılandırma Seçenekleri",
"logLevel": "Log Seviyesi",
"resolveDestination": "Hedefi Çöz",
"ipv6Mode": "IPv6 Rotası",
"ipv6Modes": {
"disable": "Devre dışı bırak",
"enable": "Etkinleştir",
"prefer": "Tercih edilen",
"only": "Özel"
},
"remoteDnsAddress": "Uzak DNS",
"remoteDnsDomainStrategy": "Uzak DNS Domain Stratejisi",
"directDnsAddress": "Doğrudan DNS",
"directDnsDomainStrategy": "Doğrudan DNS Domain Stratejisi",
"mixedPort": "Mixed Port",
"localDnsPort": "Yerel DNS Bağlantı Noktası",
"allowConnectionFromLan": "Allow Connection from LAN",
"tunImplementation": "TUN İmplementasyonu",
"mtu": "MTU",
"connectionTestUrl": "Bağlantı Testi URL'i",
"urlTestInterval": "URL Test Aralığı",
"enableClashApi": "Clash API'yi etkinleştir",
"clashApiPort": "Clash API Bağlantı Noktası",
"enableTun": "TUN'u etkinleştir",
"setSystemProxy": "Sistem Proxy'sini Ayarla",
"enableDnsRouting": "Enable DNS Routing",
"enableFakeDns": "Sahte DNS'yi Etkinleştir",
"bypassLan": "Lan'ı Atla",
"strictRoute": "Kesin Rota",
"enableTlsFragment": "Enable TLS Fragment",
"tlsFragmentSize": "TLS Fragment Size",
"tlsFragmentSleep": "TLS Fragment Sleep",
"enableTlsMixedSniCase": "Enable TLS Mixed SNI Case",
"enableTlsPadding": "Enable TLS Padding",
"tlsPaddingSize": "TLS Padding",
"enableMux": "Enable Mux",
"muxProtocol": "Mux Protocol",
"muxMaxStreams": "Max Concurrent Streams",
"enableWarp": "Enable WARP",
"warpDetourMode": "Detour Mode",
"warpDetourModes": {
"inbound": "Detour WARP through proxies",
"outbound": "Detour proxies through WARP"
},
"warpLicenseKey": "License Key",
"warpCleanIp": "Clean IP",
"warpPort": "Port",
"warpNoise": "Noise"
},
"geoAssets": {
"pageTitle": "Varlıkları Yönlendirme",
"geoip": "Geoip",
"geosite": "Geosite",
"version": "Sürüm ${version}",
"fileMissing": "Eksik dosya",
"update": "Güncelleme",
"download": "İndirmek",
"failureMsg": "Öğe güncellenemedi",
"successMsg": "Öğe başarıyla güncellendi",
"addRecommended": "Önerilen Varlıkları Ekle",
"missingGeoAssetsMsg": "Seçilen yönlendirme varlıklarının dosyaları eksik. Bunları indirin veya mevcut olanları seçin."
}
},
"about": {
"pageTitle": "Hakkında",
"version": "Sürüm",
"sourceCode": "Kaynak kodu",
"telegramChannel": "Telegram Kanalı",
"checkForUpdate": "Güncellemeleri kontrol et",
"privacyPolicy": "Gizlilik Politikası",
"termsAndConditions": "Şartlar ve koşullar"
},
"appUpdate": {
"notAvailableMsg": " En son sürümü kullanıyorsunuz",
"dialogTitle": "Yeni Güncell",
"updateMsg": "@:general.appTitle'ın yeni bir sürümü mevcut. Şimdi güncellemek ister misiniz?",
"currentVersionLbl": "Şimdiki versiyon",
"newVersionLbl": "Yeni versiyon",
"updateNowBtnTxt": "Şimdi güncelle",
"laterBtnTxt": "Daha sonra",
"ignoreBtnTxt": "Görmezden gel"
},
"tray": {
"dashboard": "Gösterge Paneli",
"quit": ıkış yap",
"open": "Açık",
"status": {
"connect": "Bağlan",
"connecting": "Bağlanıyor",
"disconnect": "Bağlantıyı kes",
"disconnecting": "Bağlantı kesiliyor"
}
},
"failure": {
"unexpected": "Beklenmeyen hata",
"clash": {
"unexpected": "Beklenmeyen hata",
"core": "Çakışma Hatası ${reason}"
},
"singbox": {
"unexpected": "Beklenmedik Hizmet Hatası",
"serviceNotRunning": "Servis çalışmıyor",
"missingPrivilege": "Eksik Ayrıcalık",
"missingPrivilegeMsg": "VPN modu yönetici ayrıcalıkları gerektirir. Uygulamayı yönetici olarak yeniden başlatın veya hizmet modunu değiştirin.",
"missingGeoAssets": "Eksik Coğrafi Varlıklar",
"missingGeoAssetsMsg": "Coğrafi öğeler eksik. Aktif varlığı değiştirmeyi veya ayarlarda seçileni indirmeyi düşünün.",
"invalidConfigOptions": "Geçersiz yapılandırma seçenekleri",
"invalidConfig": "Geçersiz Yapılandırma",
"create": "Servis oluşturma hatası",
"start": "Servis başlatma hatası"
},
"connectivity": {
"unexpected": "Beklenmedik Hata",
"missingVpnPermission": "Eksik VPN İzni",
"missingNotificationPermission": "Eksik Bildirim İzni",
"core": "Temel Hata"
},
"profiles": {
"unexpected": "Beklenmedik hata",
"notFound": "Profil bulunamadı",
"invalidConfig": "Geçersiz Yapılandırmalar",
"invalidUrl": "Geçersiz URL"
},
"connection": {
"unexpected": "Beklenmeyen bağlantı hatası",
"timeout": "Bağlantı zamanaşımına uğradı",
"badResponse": "Kötü yanıt",
"connectionError": "Bağlantı hatası",
"badCertificate": "Kötü sertifika"
},
"geoAssets": {
"unexpected": "Beklenmeyen hata",
"notUpdate": "Güncelleme mevcut değil",
"activeNotFound": "Etkin Coğrafi Varlık Bulunamadı"
}
},
"play": {
"title": "Hiddify (Önizleme)",
"short_description": "Otomatik, SSH, VLESS, Vmess, Trojan, Reality, Sing-Box, Clash, Xray, Shadowsocks",
"full_description": "Hiddify'in temel hedefi güvenli, kullanıcı dostu ve verimli bir tünel istemcisi sağlamaktır. VPN Hizmeti iznini kullanarak tüm trafiği veya seçilen uygulama trafiğini seçtiğiniz uzak bir sunucuya yönlendirmenizi sağlar. Not: Herhangi bir sunucu sağlamıyoruz; kullanıcıların kendi barındırılan sunucularını veya güvenilir sunucularını kullanarak çevrimiçi etkinliklerinin gizli kalmasını sağlamaları gerekir. Sunucuları aşağıdakilerle destekliyoruz: - Normal V2ray/Xray Abonelik Bağlantısı - Clash Abonelik Bağlantısı - Sing-Box Abonelik Bağlantısı Benzersiz özelliklerimiz nelerdir? - Kullanıcı Dostu - Optimize Edilmiş ve Hızlı - En Düşük Ping'i otomatik olarak seçin - Kullanıcı kullanım bilgilerini gösterin - Derin bağlantı kullanarak tek tıklamayla alt bağlantıyı kolayca içe aktarın - Ücretsiz ve ADS Yok - Kullanıcı alt bağlantılarını kolayca değiştirin - giderek daha fazla Destek: - Sing-Box tarafından desteklenen tüm Protokoller - VLESS + xtls gerçeklik, vizyon - VMESS - Trojan - ShoadowSocks - Reality - V2ray - Hystria2 - TUIC - SSH - ShadowTLS Kaynak kodu https://github.com/hiddify/Hiddify-Next adresinde mevcuttur. Uygulama çekirdeği açık tabanlıdır. kaynak şarkı kutusu. İzin Açıklaması: - VPN Hizmeti: Bu uygulamanın amacı güvenli, kullanıcı dostu ve verimli bir tünel istemcisi sağlamak olduğundan, trafiği tünel aracılığıyla uzak sunucuya yönlendirebilmek için bu izne ihtiyacımız var. - TÜM PAKETLERİ SORGULAYIN: Bu izin, kullanıcıların tünelleme için belirli uygulamaları dahil etmesine veya hariç tutmasına izin vermek için kullanılır. - ALMA ÖNYÜKLEME TAMAMLANDI: Bu izin, cihaz önyüklemesi sırasında bu uygulamayı etkinleştirmek için uygulama ayarlarından etkinleştirilebilir veya devre dışı bırakılabilir. - BİLDİRİMLER SONRASI: VPN hizmetinin sürekli çalışmasını sağlamak için bir ön plan hizmeti kullandığımız için bu izin önemlidir. - Bu uygulama reklam içermez. Analitik ve kilitlenme verileri yalnızca uygulamanın ilk kullanımında kullanıcının açık rızası ile gerçekleşir."
} }
} },
"stats": {
"trafficLive": "Canlı Trafik",
"trafficTotal": "Toplam Trafik",
"uplink": ıkış Yolu",
"downlink": "Giriş Yolu"
},
"profile": {
"overviewPageTitle": "Profiller",
"detailsPageTitle": "Profil",
"activeProfileNameSemanticLabel": "Aktif profil adı: \"${name}\".",
"activeProfileBtnSemanticLabel": "Tüm profilleri görüntüleyin.",
"nonActiveProfileBtnSemanticLabel": "Aktif profil olarak \"${name}\" seçeneğini seçin.",
"subscription": {
"traffic": "Trafik",
"updatedTimeAgo": "${timeago} güncellendi",
"remainingDuration": "${duration} Gün Kaldı",
"remainingTrafficSemanticLabel": "${consumed}/${total} trafik tüketildi.",
"expired": "Süresi Doldu",
"noTraffic": "Kotal Doldu"
},
"sortBy": {
"lastUpdate": "Yakın zamanda güncellendi",
"name": "Alfabetik"
},
"add": {
"buttonText": "Yeni profil",
"shortBtnTxt": "Yeni profil",
"fromClipboard": "Panodan Ekle",
"scanQr": "QR kodunu tarayın",
"qrScanner": {
"permissionDeniedError": "İzin reddedildi",
"unexpectedError": "Bir şeyler yanlış gitti",
"torchSemanticLabel": "El feneri",
"facingSemanticLabel": "Kameraya önü"
},
"manually": "Manuel giriş",
"addingProfileMsg": "Profil Ekleniyor",
"failureMsg": "Profil eklenemedi"
},
"update": {
"buttonTxt": "Güncelle",
"tooltip": "Profili Güncelle",
"updateSubscriptions": "Abonelikleri Güncelle",
"failureMsg": "Profil güncellenemedi",
"successMsg": "Profil başarıyla güncellendi",
"namedFailureMsg": "\"${name}\" güncellenemedi",
"namedSuccessMsg": "\"${name}\" başarıyla güncellendi"
},
"share": {
"buttonText": "Paylaş",
"exportToClipboardSuccess": "Panoya aktarıldı",
"exportSubLinkToClipboard": "Abonelik bağlantısını panoya aktar",
"subLinkQrCode": "QR kodun abonelik bağlantısı ",
"exportConfigToClipboard": "Yapılandırmayı panoya aktar",
"exportConfigToClipboardSuccess": "Yapılandırma panoya kopyalandı"
},
"edit": {
"buttonTxt": "Düzenle",
"selectActiveTxt": "Etkin profili seçin"
},
"delete": {
"buttonTxt": "Sil",
"confirmationMsg": "Profil kalıcı olarak silinsin mi?",
"successMsg": "Profil başarıyla silindi"
},
"save": {
"buttonText": "Kaydet",
"successMsg": "Profil başarıyla kaydedildi",
"failureMsg": "Profil kaydedilemedi"
},
"detailsForm": {
"nameLabel": "İsim",
"nameHint": "Profil ismi",
"urlLabel": "URL",
"urlHint": "Tam yapılandırma URL'i",
"emptyNameMsg": "İsim gerekli",
"invalidUrlMsg": "Geçersiz URL",
"lastUpdate": "Son Güncelleme",
"updateInterval": "Otomatik güncelleme",
"updateIntervalDialogTitle": "Otomatik Güncelleme Aralığı (saat olarak)"
}
},
"proxies": {
"pageTitle": "Proxyler",
"emptyProxiesMsg": "Kullanılabilir proxy yok",
"delayTestTooltip": "Test Gecikmesi",
"sortTooltip": "Proxy'leri Sırala",
"sortOptions": {
"unsorted": "Varsayılan",
"name": "Alfabetik olarak",
"delay": "Gecikmeyle"
}
},
"logs": {
"pageTitle": "Log",
"filterHint": "Filtre",
"allLevelsFilter": "Tüm",
"shareCoreLogs": "Çekirdek Loglarını Paylaş",
"shareAppLogs": "Uygulama Loglarını paylaş",
"pauseTooltip": "Duraklat",
"resumeTooltip": "Devam et",
"clearTooltip": "Temizle"
},
"settings": {
"pageTitle": "Ayarlar",
"requiresRestartMsg": "Bunun etkili olması için uygulamayı yeniden başlatın",
"experimental": "Deneysel",
"experimentalMsg": "Deneysel işaretli özellikler hâlâ geliştirilme aşamasındadır ve sorunlara neden olabilir.",
"general": {
"sectionTitle": "Genel",
"locale": "Dil",
"region": "Bölge",
"regionMsg": "Yerel adresleri atlamak için varsayılan seçeneği seçebilirsin",
"regions": {
"ir": "İran (ir)",
"cn": "Çin (cn)",
"ru": "Rusya (ru)",
"af": "Afghanistan (af)",
"other": "Diğer"
},
"themeMode": "Tema Modu",
"themeModes": {
"system": "Sistem temasını takip et",
"dark": "Karanlık mod",
"light": "Işık modu",
"black": "Siyah mod"
},
"enableAnalytics": "Analitikleri Etkinleştir",
"enableAnalyticsMsg": "Uygulamayı iyileştirmek için analiz toplama ve kilitlenme raporları göndermeye izni verin",
"autoStart": "Önyüklemede Başlat",
"silentStart": "Sessiz Başlatma",
"openWorkingDir": "Çalışma Dizinini Aç",
"ignoreBatteryOptimizations": "Pil Optimizasyonunu Devre Dışı Bırak",
"ignoreBatteryOptimizationsMsg": "Optimum VPN performansı için kısıtlamaları kaldırın",
"dynamicNotification": "Bildirimde hızı göster"
},
"advanced": {
"sectionTitle": "Gelişmiş",
"debugMode": "Hata ayıklama modu",
"debugModeMsg": "Bu değişikliği uygulamak için uygulamayı yeniden başlatın",
"memoryLimit": "Bellek Sınırı",
"memoryLimitMsg": "Yetersiz bellek hataları veya sık sık uygulama çökmesi yaşıyorsanız etkinleştirin",
"resetTunnel": "VPN Profilini Sıfırla"
},
"network": {
"perAppProxyPageTitle": "Uygulama başına Proxy",
"perAppProxyModes": {
"off": "Tümü",
"offMsg": "Proxy tüm uygulamalar",
"include": "Proxy",
"includeMsg": "Yalnızca proxy seçilen uygulamalar",
"exclude": "Atlatma",
"excludeMsg": "Seçilen uygulamalara proxy uygulama"
},
"showSystemApps": "Sistem uygulamalarını göster",
"hideSystemApps": "Sistem uygulamalarını gizle",
"clearSelection": "Seçimi temizle"
},
"config": {
"resetBtn": "Ayarları sıfırla",
"serviceMode": "Servis modu",
"serviceModes": {
"proxy": "Proxy",
"systemProxy": "Sistem Proxy",
"tun": "VPN"
},
"section": {
"route": "Rota Seçenekleri",
"dns": "DNS Seçenekleri",
"inbound": "Gelen Seçenekler",
"mux": "Multiplexer",
"outbound": "Outbound Options",
"tlsTricks": "TLS Tricks",
"warp": "WARP Options",
"misc": "Çeşitli Seçenekler"
},
"warpConsent": {
"title": "Cloudflare WARP Onayı",
"description(rich)": "Cloudflare WARP ücretsiz bir WireGuard VPN sağlayıcısıdır. Bu seçeneği etkinleştirerek Cloudflare WARP'ın ${tos(Hizmet Şartları)} ve ${privacy(Gizlilik Politikası)}'nı kabul etmiş olursunuz."
},
"pageTitle": "Yapılandırma Seçenekleri",
"logLevel": "Log Seviyesi",
"resolveDestination": "Hedefi Çöz",
"ipv6Mode": "IPv6 Rotası",
"ipv6Modes": {
"disable": "Devre dışı bırak",
"enable": "Etkinleştir",
"prefer": "Tercih edilen",
"only": "Özel"
},
"remoteDnsAddress": "Uzak DNS",
"remoteDnsDomainStrategy": "Uzak DNS Domain Stratejisi",
"directDnsAddress": "Doğrudan DNS",
"directDnsDomainStrategy": "Doğrudan DNS Domain Stratejisi",
"mixedPort": "Mixed Port",
"localDnsPort": "Yerel DNS Bağlantı Noktası",
"allowConnectionFromLan": "Allow Connection from LAN",
"tunImplementation": "TUN İmplementasyonu",
"mtu": "MTU",
"connectionTestUrl": "Bağlantı Testi URL'i",
"urlTestInterval": "URL Test Aralığı",
"enableClashApi": "Clash API'yi etkinleştir",
"clashApiPort": "Clash API Bağlantı Noktası",
"enableTun": "TUN'u etkinleştir",
"setSystemProxy": "Sistem Proxy'sini Ayarla",
"enableDnsRouting": "Enable DNS Routing",
"enableFakeDns": "Sahte DNS'yi Etkinleştir",
"bypassLan": "Lan'ı Atla",
"strictRoute": "Kesin Rota",
"enableTlsFragment": "Enable TLS Fragment",
"tlsFragmentSize": "TLS Fragment Size",
"tlsFragmentSleep": "TLS Fragment Sleep",
"enableTlsMixedSniCase": "Enable TLS Mixed SNI Case",
"enableTlsPadding": "Enable TLS Padding",
"tlsPaddingSize": "TLS Padding",
"enableMux": "Enable Mux",
"muxProtocol": "Mux Protocol",
"muxMaxStreams": "Max Concurrent Streams",
"enableWarp": "Enable WARP",
"warpDetourMode": "Detour Mode",
"warpDetourModes": {
"inbound": "Detour WARP through proxies",
"outbound": "Detour proxies through WARP"
},
"warpLicenseKey": "License Key",
"warpCleanIp": "Clean IP",
"warpPort": "Port",
"warpNoise": "Noise"
},
"geoAssets": {
"pageTitle": "Varlıkları Yönlendirme",
"geoip": "Geoip",
"geosite": "Geosite",
"version": "Sürüm ${version}",
"fileMissing": "Eksik dosya",
"update": "Güncelleme",
"download": "İndirmek",
"failureMsg": "Öğe güncellenemedi",
"successMsg": "Öğe başarıyla güncellendi",
"addRecommended": "Önerilen Varlıkları Ekle",
"missingGeoAssetsMsg": "Seçilen yönlendirme varlıklarının dosyaları eksik. Bunları indirin veya mevcut olanları seçin."
}
},
"about": {
"pageTitle": "Hakkında",
"version": "Sürüm",
"sourceCode": "Kaynak kodu",
"telegramChannel": "Telegram Kanalı",
"checkForUpdate": "Güncellemeleri kontrol et",
"privacyPolicy": "Gizlilik Politikası",
"termsAndConditions": "Şartlar ve koşullar"
},
"appUpdate": {
"notAvailableMsg": " En son sürümü kullanıyorsunuz",
"dialogTitle": "Yeni Güncell",
"updateMsg": "@:general.appTitle'ın yeni bir sürümü mevcut. Şimdi güncellemek ister misiniz?",
"currentVersionLbl": "Şimdiki versiyon",
"newVersionLbl": "Yeni versiyon",
"updateNowBtnTxt": "Şimdi güncelle",
"laterBtnTxt": "Daha sonra",
"ignoreBtnTxt": "Görmezden gel"
},
"tray": {
"dashboard": "Gösterge Paneli",
"quit": ıkış yap",
"open": "Açık",
"status": {
"connect": "Bağlan",
"connecting": "Bağlanıyor",
"disconnect": "Bağlantıyı kes",
"disconnecting": "Bağlantı kesiliyor"
}
},
"failure": {
"unexpected": "Beklenmeyen hata",
"clash": {
"unexpected": "Beklenmeyen hata",
"core": "Çakışma Hatası ${reason}"
},
"singbox": {
"unexpected": "Beklenmedik Hizmet Hatası",
"serviceNotRunning": "Servis çalışmıyor",
"missingPrivilege": "Eksik Ayrıcalık",
"missingPrivilegeMsg": "VPN modu yönetici ayrıcalıkları gerektirir. Uygulamayı yönetici olarak yeniden başlatın veya hizmet modunu değiştirin.",
"missingGeoAssets": "Eksik Coğrafi Varlıklar",
"missingGeoAssetsMsg": "Coğrafi öğeler eksik. Aktif varlığı değiştirmeyi veya ayarlarda seçileni indirmeyi düşünün.",
"invalidConfigOptions": "Geçersiz yapılandırma seçenekleri",
"invalidConfig": "Geçersiz Yapılandırma",
"create": "Servis oluşturma hatası",
"start": "Servis başlatma hatası"
},
"connectivity": {
"unexpected": "Beklenmedik Hata",
"missingVpnPermission": "Eksik VPN İzni",
"missingNotificationPermission": "Eksik Bildirim İzni",
"core": "Temel Hata"
},
"profiles": {
"unexpected": "Beklenmedik hata",
"notFound": "Profil bulunamadı",
"invalidConfig": "Geçersiz Yapılandırmalar",
"invalidUrl": "Geçersiz URL"
},
"connection": {
"unexpected": "Beklenmeyen bağlantı hatası",
"timeout": "Bağlantı zamanaşımına uğradı",
"badResponse": "Kötü yanıt",
"connectionError": "Bağlantı hatası",
"badCertificate": "Kötü sertifika"
},
"geoAssets": {
"unexpected": "Beklenmeyen hata",
"notUpdate": "Güncelleme mevcut değil",
"activeNotFound": "Etkin Coğrafi Varlık Bulunamadı"
}
},
"play": {
"title": "Hiddify (Önizleme)",
"short_description": "Otomatik, SSH, VLESS, Vmess, Trojan, Reality, Sing-Box, Clash, Xray, Shadowsocks",
"full_description": "Hiddify'in temel hedefi güvenli, kullanıcı dostu ve verimli bir tünel istemcisi sağlamaktır. VPN Hizmeti iznini kullanarak tüm trafiği veya seçilen uygulama trafiğini seçtiğiniz uzak bir sunucuya yönlendirmenizi sağlar. Not: Herhangi bir sunucu sağlamıyoruz; kullanıcıların kendi barındırılan sunucularını veya güvenilir sunucularını kullanarak çevrimiçi etkinliklerinin gizli kalmasını sağlamaları gerekir. Sunucuları aşağıdakilerle destekliyoruz: - Normal V2ray/Xray Abonelik Bağlantısı - Clash Abonelik Bağlantısı - Sing-Box Abonelik Bağlantısı Benzersiz özelliklerimiz nelerdir? - Kullanıcı Dostu - Optimize Edilmiş ve Hızlı - En Düşük Ping'i otomatik olarak seçin - Kullanıcı kullanım bilgilerini gösterin - Derin bağlantı kullanarak tek tıklamayla alt bağlantıyı kolayca içe aktarın - Ücretsiz ve ADS Yok - Kullanıcı alt bağlantılarını kolayca değiştirin - giderek daha fazla Destek: - Sing-Box tarafından desteklenen tüm Protokoller - VLESS + xtls gerçeklik, vizyon - VMESS - Trojan - ShoadowSocks - Reality - V2ray - Hystria2 - TUIC - SSH - ShadowTLS Kaynak kodu https://github.com/hiddify/Hiddify-Next adresinde mevcuttur. Uygulama çekirdeği açık tabanlıdır. kaynak şarkı kutusu. İzin Açıklaması: - VPN Hizmeti: Bu uygulamanın amacı güvenli, kullanıcı dostu ve verimli bir tünel istemcisi sağlamak olduğundan, trafiği tünel aracılığıyla uzak sunucuya yönlendirebilmek için bu izne ihtiyacımız var. - TÜM PAKETLERİ SORGULAYIN: Bu izin, kullanıcıların tünelleme için belirli uygulamaları dahil etmesine veya hariç tutmasına izin vermek için kullanılır. - ALMA ÖNYÜKLEME TAMAMLANDI: Bu izin, cihaz önyüklemesi sırasında bu uygulamayı etkinleştirmek için uygulama ayarlarından etkinleştirilebilir veya devre dışı bırakılabilir. - BİLDİRİMLER SONRASI: VPN hizmetinin sürekli çalışmasını sağlamak için bir ön plan hizmeti kullandığımız için bu izin önemlidir. - Bu uygulama reklam içermez. Analitik ve kilitlenme verileri yalnızca uygulamanın ilk kullanımında kullanıcının açık rızası ile gerçekleşir."
}
}

View File

@@ -1,389 +1,387 @@
{ {
"general": { "general": {
"appTitle": "Hiddify", "appTitle": "Hiddify",
"reset": "重置", "reset": "重置",
"toggle": { "toggle": {
"enabled": "启用", "enabled": "启用",
"disabled": "禁用" "disabled": "禁用"
},
"state": {
"disable": "禁用"
},
"sort": "排序",
"sortBy": "排序方式",
"addToClipboard": "添加到剪贴板",
"notSet": "没有设置",
"agree": "同意",
"decline": "衰退",
"unknown": "未知",
"hidden": "隐藏",
"timeout": "超时"
}, },
"intro": { "state": {
"termsAndPolicyCaution(rich)": "继续即表示您同意 ${tap(@:about.termsAndConditions)}", "disable": "禁用"
"start": "开始"
}, },
"home": { "sort": "排序",
"pageTitle": "主页", "sortBy": "排序方式",
"emptyProfilesMsg": "首先添加订阅配置文件", "addToClipboard": "添加到剪贴板",
"noActiveProfileMsg": "选择配置文件", "notSet": "没有设置",
"connection": { "agree": "同意",
"tapToConnect": "点击连接", "decline": "衰退",
"connecting": "正在连接", "unknown": "未知",
"disconnecting": "正在断开连接", "hidden": "隐藏",
"connected": "已连接", "timeout": "超时"
"experimentalNotice": "使用中的实验功能", },
"experimentalNoticeMsg": "您启用了一些实验性功能,这些功能可能会影响连接质量并导致意外错误。您始终可以从“配置选项”页面更改或重置这些选项。", "intro": {
"disableExperimentalNotice": "不再显示" "termsAndPolicyCaution(rich)": "继续即表示您同意 ${tap(@:about.termsAndConditions)}",
}, "start": "开始"
"stats": { },
"traffic": "实时流量", "home": {
"trafficTotal": "总流量", "pageTitle": "主页",
"uplink": "上行", "emptyProfilesMsg": "首先添加订阅配置文件",
"downlink": "下行", "noActiveProfileMsg": "选择配置文件",
"connection": "连接" "connection": {
} "tapToConnect": "点击连接",
}, "connecting": "正在连接",
"profile": { "disconnecting": "正在断开连接",
"overviewPageTitle": "配置文件", "connected": "已连接",
"detailsPageTitle": "配置文件", "experimentalNotice": "使用中的实验功能",
"activeProfileNameSemanticLabel": "活动配置文件名称:“${name}”。", "experimentalNoticeMsg": "您启用了一些实验性功能,这些功能可能会影响连接质量并导致意外错误。您始终可以从“配置选项”页面更改或重置这些选项。",
"activeProfileBtnSemanticLabel": "查看所有配置文件。", "disableExperimentalNotice": "不再显示"
"nonActiveProfileBtnSemanticLabel": "选择 “${name}” 作为活动配置文件。",
"subscription": {
"traffic": "流量",
"updatedTimeAgo": "更新 ${timeago}",
"remainingDuration": "剩余 ${duration} 天",
"remainingTrafficSemanticLabel": "已使用 ${consumed} 流量,共 ${total} 流量。",
"expired": "已过期",
"noTraffic": "超出配额",
"upload": "上传",
"download": "下载",
"total": "总流量",
"expireDate": "到期时间"
},
"sortBy": {
"lastUpdate": "最近更新",
"name": "按字母顺序"
},
"add": {
"buttonText": "新的配置文件",
"shortBtnTxt": "新的配置文件",
"fromClipboard": "从剪贴板添加",
"scanQr": "扫描二维码",
"qrScanner": {
"permissionDeniedError": "权限不足",
"unexpectedError": "出了些问题",
"torchSemanticLabel": "手电筒",
"facingSemanticLabel": "相机朝向"
},
"manually": "手动输入",
"addingProfileMsg": "添加配置文件",
"failureMsg": "添加配置文件失败"
},
"update": {
"buttonTxt": "更新",
"tooltip": "更新配置文件",
"updateSubscriptions": "更新订阅",
"failureMsg": "更新配置文件失败",
"successMsg": "配置文件更新成功",
"namedFailureMsg": "无法更新\"${name}\"",
"namedSuccessMsg": "\"${name}\" 更新成功"
},
"share": {
"buttonText": "分享",
"exportToClipboardSuccess": "导出到剪贴板",
"exportSubLinkToClipboard": "将订阅链接导出到剪贴板",
"subLinkQrCode": "订阅链接二维码",
"exportConfigToClipboard": "将配置导出到剪贴板",
"exportConfigToClipboardSuccess": "配置已复制到剪贴板"
},
"edit": {
"buttonTxt": "编辑",
"selectActiveTxt": "选择并激活配置文件"
},
"delete": {
"buttonTxt": "删除",
"confirmationMsg": "要永久删除配置文件吗?",
"successMsg": "配置文件删除成功"
},
"save": {
"buttonText": "保存",
"successMsg": "配置文件保存成功",
"failureMsg": "配置文件保存失败"
},
"detailsForm": {
"nameLabel": "名称",
"nameHint": "配置文件名称",
"urlLabel": "网址",
"urlHint": "完整配置网址",
"emptyNameMsg": "名称为必填项",
"invalidUrlMsg": "无效的网址",
"lastUpdate": "最后更新",
"updateInterval": "自动更新",
"updateIntervalDialogTitle": "自动更新间隔(小时)"
}
},
"proxies": {
"pageTitle": "代理",
"emptyProxiesMsg": "没有可用的代理",
"delayTestTooltip": "测试延迟",
"sortTooltip": "对代理进行排序",
"checkIp": "检测IP地址",
"unknownIp": "未知的IP",
"sortOptions": {
"unsorted": "默认",
"name": "按字母顺序",
"delay": "按延迟顺序"
},
"activeProxySemanticLabel": "活跃的代理",
"delaySemantics": {
"result": "延迟:${delay}ms",
"timeout": "延迟测试超时",
"testing": "正在测试延迟"
},
"ipInfoSemantics": {
"address": "IP地址",
"country": "国家"
},
"statsSemantics": {
"speed": "速度",
"totalTransferred": "总传输量"
}
},
"logs": {
"pageTitle": "日志",
"filterHint": "筛选",
"allLevelsFilter": "全部",
"shareCoreLogs": "分享核心日志",
"shareAppLogs": "分享應用日志",
"pauseTooltip": "暂停",
"resumeTooltip": "恢复",
"clearTooltip": "清除"
},
"settings": {
"pageTitle": "设置",
"requiresRestartMsg": "要使其生效,请重新启动应用程序",
"experimental": "实验性选项",
"experimentalMsg": "带有实验标志的功能仍在开发中,可能会出现问题。",
"general": {
"sectionTitle": "一般选项",
"locale": "语言",
"region": "地区",
"regionMsg": "帮助设置默认选项以绕过国内地址",
"regions": {
"ir": "伊朗 (ir)",
"cn": "中国 (cn)",
"ru": "俄罗斯 (ru)",
"af": "阿富汗 (af)",
"other": "其他"
},
"themeMode": "主题模式",
"themeModes": {
"system": "遵循系统主题",
"dark": "暗色",
"light": "浅色",
"black": "黑色"
},
"enableAnalytics": "启用分析",
"enableAnalyticsMsg": "授予收集分析并发送崩溃报告以改进应用程序的权限",
"autoStart": "开机启动",
"silentStart": "静默启动",
"openWorkingDir": "打开工作目录",
"ignoreBatteryOptimizations": "禁用电池优化",
"ignoreBatteryOptimizationsMsg": "消除限制以获得最佳 VPN 性能",
"dynamicNotification": "在通知中显示速度",
"hapticFeedback": "触觉反馈",
"autoIpCheck": "自动检查连接的 IP"
},
"advanced": {
"sectionTitle": "高级选项",
"debugMode": "调试模式",
"debugModeMsg": "重新启动应用程序以应用此更改",
"memoryLimit": "内存限制",
"memoryLimitMsg": "如果您遇到内存不足错误或频繁应用程序崩溃,请启用",
"resetTunnel": "重置 VPN 配置文件"
},
"network": {
"perAppProxyPageTitle": "分应用代理",
"perAppProxyModes": {
"off": "全部",
"offMsg": "代理所有应用程序",
"include": "代理",
"includeMsg": "仅代理选定的应用程序",
"exclude": "绕过",
"excludeMsg": "不代理选中的应用程序"
},
"showSystemApps": "显示系统应用程序",
"hideSystemApps": "隐藏系统应用程序",
"clearSelection": "清空选项"
},
"config": {
"resetBtn": "重置选项",
"serviceMode": "服务模式",
"serviceModes": {
"proxy": "仅代理",
"systemProxy": "系统代理",
"tun": "VPN",
"tunService": "VPN服务"
},
"section": {
"route": "路由选项",
"dns": "DNS 选项",
"inbound": "入站选项",
"mux": "复用器",
"outbound": "出站选项",
"tlsTricks": "TLS Tricks",
"warp": "WARP 选项",
"misc": "其他选项"
},
"warpConsent": {
"title": "Cloudflare WARP 同意",
"description(rich)": "Cloudflare WARP 是免费的 WireGuard VPN 提供商。启用此选项即表示您同意 Cloudflare WARP 的 ${tos(服务条款)} 和 ${privacy(隐私政策)}"
},
"generateWarpConfig": "生成WARP配置文件",
"missingWarpConfig": "WARP配置缺失",
"warpConfigGenerated": "WARP 配置已生成",
"pageTitle": "配置选项",
"logLevel": "日志级别",
"resolveDestination": "解析目标地址",
"ipv6Mode": "IPv6 路由",
"ipv6Modes": {
"disable": "禁用",
"enable": "启用",
"prefer": "首选",
"only": "仅"
},
"remoteDnsAddress": "远程 DNS",
"remoteDnsDomainStrategy": "远程 DNS 域名策略",
"directDnsAddress": "直连 DNS",
"directDnsDomainStrategy": "直连 DNS 域名策略",
"mixedPort": "混合端口",
"localDnsPort": "本地 DNS 端口",
"allowConnectionFromLan": "允许局域网连接",
"tunImplementation": "TUN 实现",
"mtu": "MTU",
"connectionTestUrl": "连接测试网址",
"urlTestInterval": "网址测试间隔",
"enableClashApi": "启用 Clash API",
"clashApiPort": "Clash API 端口",
"enableTun": "启用 TUN",
"setSystemProxy": "设置系统代理",
"enableDnsRouting": "启用 DNS 路由",
"enableFakeDns": "启用 Fake DNS",
"bypassLan": "绕过局域网",
"strictRoute": "严格路由",
"enableTlsFragment": "启用 TLS 数据分段",
"tlsFragmentSize": "TLS 分段大小",
"tlsFragmentSleep": "TLS 分段休眠",
"enableTlsMixedSniCase": "启用 TLS 混合 SNI 情形",
"enableTlsPadding": "启用 TLS 填充",
"tlsPaddingSize": "TLS 填充",
"enableMux": "启用Mux多路复用",
"muxProtocol": "Mux多路复用控制",
"muxMaxStreams": "Mux最大并发数",
"enableWarp": "启用 WARP",
"warpDetourMode": "链式代理",
"warpDetourModes": {
"inbound": "通过代理绕过 WARP",
"outbound": "通过 WARP 绕过代理"
},
"warpLicenseKey": "许可证密钥",
"warpCleanIp": "干净 IP",
"warpPort": "端口",
"warpNoise": "噪音",
"warpNoiseDelay": "噪音延迟"
},
"geoAssets": {
"pageTitle": "路由资源文件",
"geoip": "Geoip",
"geosite": "Geosite",
"version": "版本 ${version}",
"fileMissing": "文件丢失",
"update": "更新",
"download": "下载",
"failureMsg": "更新资源文件失败",
"successMsg": "已成功更新资源文件",
"addRecommended": "添加建议的资源文件",
"missingGeoAssetsMsg": "所选路由资源的文件丢失。下载它们或选择现有的。"
}
},
"about": {
"pageTitle": "关于",
"version": "版本",
"sourceCode": "源代码",
"telegramChannel": "Telegram 频道",
"checkForUpdate": "检查更新",
"privacyPolicy": "隐私政策",
"termsAndConditions": "条款和条件"
},
"appUpdate": {
"notAvailableMsg": "已是最新版本",
"dialogTitle": "有可用更新",
"updateMsg": "@:general.appTitle 的新版本现已推出。您想现在更新吗?",
"currentVersionLbl": "当前版本",
"newVersionLbl": "新版本",
"updateNowBtnTxt": "现在更新",
"laterBtnTxt": "以后再说",
"ignoreBtnTxt": "忽略"
},
"tray": {
"dashboard": "仪表板",
"quit": "退出",
"open": "打开",
"status": {
"connect": "连接",
"connecting": "正在连接",
"disconnect": "断开连接",
"disconnecting": "正在断开连接"
}
},
"failure": {
"unexpected": "意外错误",
"clash": {
"unexpected": "意外错误",
"core": "Clash 错误 ${reason}"
},
"singbox": {
"unexpected": "意外服务错误",
"serviceNotRunning": "服务未运行",
"missingPrivilege": "缺少权限",
"missingPrivilegeMsg": "VPN 模式需要管理员权限。以管理员身份重新启动应用程序或更改服务模式",
"missingGeoAssets": "缺失 GEO 资源文件",
"missingGeoAssetsMsg": "缺失 GEO 资源文件。请考虑更改激活的资源文件或在设置中下载所选资源文件。",
"invalidConfigOptions": "配置选项无效",
"invalidConfig": "无效配置",
"create": "服务创建错误",
"start": "服务启动错误"
},
"connectivity": {
"unexpected": "意外失败",
"missingVpnPermission": "缺少 VPN 权限",
"missingNotificationPermission": "缺少通知权限",
"core": "核心错误"
},
"profiles": {
"unexpected": "意外错误",
"notFound": "未找到配置文件",
"invalidConfig": "无效配置",
"invalidUrl": "网址无效"
},
"connection": {
"unexpected": "意外连接错误",
"timeout": "连接超时",
"badResponse": "错误响应",
"connectionError": "连接错误",
"badCertificate": "证书无效"
},
"geoAssets": {
"unexpected": "意外错误",
"notUpdate": "无可用更新",
"activeNotFound": "未找到激活的 GEO 资源文件"
}
},
"play": {
"title": "Hiddify预览",
"short_description": "自动SSH, VLESS, Vmess, Trojan, Reality, Sing-Box, Clash, Xray, Shadowsocks",
"full_description": "Hiddify 的主要目标是提供安全、用户友好且高效的隧道客户端。它使您能够利用 VPN 服务权限将所有流量或选定的应用程序流量路由到您选择的远程服务器。\n\n注我们不提供任何服务器用户需要使用自己托管的服务器或可信的服务器来确保您在线活动的私密性。\n \n我们支持以下类型的服务器\n- 普通 V2ray/Xray 订阅链接\n- Clash 订阅链接\n- Sing-Box 订阅链接\n\n我们的特色是什么\n\n- 用户友好\n- 优化和高速\n- 自动选择最低延迟\n- 显示用户使用信息\n- 通过一键链接轻松导入\n- 免费且无广告\n- 轻松切换线路\n- 等等\n\n支持\n- Sing-Box 支持的所有协议\n- VLESS + XTLS Reality、Vision 协议\n- VMESS\n- Trojan\n- Shoadowsocks\n- Reality\n- V2ray\n- Hystria2\n- TUIC\n- SSH\n- ShadowTLS\n\n\n源代码位于 https://github.com/hiddify/Hiddify-Next\n应用程序核心基于开源的 Sing-Box。\n\n权限说明\n\n- VPN 服务:由于此应用程序的目标是提供安全、用户友好和高效的隧道客户端,我们需要此权限以能够通过隧道将流量路由到远程服务器。\n获取应用程序列表此权限用于允许用户包括或排除特定应用程序以进行隧道传输。\n- 接收开机广播:可以从应用程序设置中启用或禁用此权限,以便在设备启动时激活此应用程序。\n- 发送通知:此权限是必需的,因为我们使用前台服务来确保 VPN 服务的持续运行。\n- 本应用程序没有广告。分析和崩溃数据仅在首次使用应用程序时经用户明确同意的情况下发生。"
} }
},
"stats": {
"trafficLive": "实时流量",
"trafficTotal": "总流量",
"uplink": "上行",
"downlink": "下行",
"connection": "连接",
"speed": "速度",
"totalTransferred": "总传输量"
},
"profile": {
"overviewPageTitle": "配置文件",
"detailsPageTitle": "配置文件",
"activeProfileNameSemanticLabel": "活动配置文件名称:“${name}”。",
"activeProfileBtnSemanticLabel": "查看所有配置文件。",
"nonActiveProfileBtnSemanticLabel": "选择 “${name}” 作为活动配置文件。",
"subscription": {
"traffic": "流量",
"updatedTimeAgo": "更新 ${timeago}",
"remainingDuration": "剩余 ${duration} 天",
"remainingTrafficSemanticLabel": "已使用 ${consumed} 流量,共 ${total} 流量。",
"expired": "已过期",
"noTraffic": "超出配额",
"upload": "上传",
"download": "下载",
"total": "总流量",
"expireDate": "到期时间"
},
"sortBy": {
"lastUpdate": "最近更新",
"name": "按字母顺序"
},
"add": {
"buttonText": "新的配置文件",
"shortBtnTxt": "新的配置文件",
"fromClipboard": "从剪贴板添加",
"scanQr": "扫描二维码",
"qrScanner": {
"permissionDeniedError": "权限不足",
"unexpectedError": "出了些问题",
"torchSemanticLabel": "手电筒",
"facingSemanticLabel": "相机朝向"
},
"manually": "手动输入",
"addingProfileMsg": "添加配置文件",
"failureMsg": "添加配置文件失败"
},
"update": {
"buttonTxt": "更新",
"tooltip": "更新配置文件",
"updateSubscriptions": "更新订阅",
"failureMsg": "更新配置文件失败",
"successMsg": "配置文件更新成功",
"namedFailureMsg": "无法更新\"${name}\"",
"namedSuccessMsg": "\"${name}\" 更新成功"
},
"share": {
"buttonText": "分享",
"exportToClipboardSuccess": "导出到剪贴板",
"exportSubLinkToClipboard": "将订阅链接导出到剪贴板",
"subLinkQrCode": "订阅链接二维码",
"exportConfigToClipboard": "将配置导出到剪贴板",
"exportConfigToClipboardSuccess": "配置已复制到剪贴板"
},
"edit": {
"buttonTxt": "编辑",
"selectActiveTxt": "选择并激活配置文件"
},
"delete": {
"buttonTxt": "删除",
"confirmationMsg": "要永久删除配置文件吗?",
"successMsg": "配置文件删除成功"
},
"save": {
"buttonText": "保存",
"successMsg": "配置文件保存成功",
"failureMsg": "配置文件保存失败"
},
"detailsForm": {
"nameLabel": "名称",
"nameHint": "配置文件名称",
"urlLabel": "网址",
"urlHint": "完整配置网址",
"emptyNameMsg": "名称为必填项",
"invalidUrlMsg": "无效的网址",
"lastUpdate": "最后更新",
"updateInterval": "自动更新",
"updateIntervalDialogTitle": "自动更新间隔(小时)"
}
},
"proxies": {
"pageTitle": "代理",
"emptyProxiesMsg": "没有可用的代理",
"delayTestTooltip": "测试延迟",
"sortTooltip": "对代理进行排序",
"checkIp": "检测IP地址",
"unknownIp": "未知的IP",
"sortOptions": {
"unsorted": "默认",
"name": "按字母顺序",
"delay": "按延迟顺序"
},
"activeProxySemanticLabel": "活跃的代理",
"delaySemantics": {
"result": "延迟:${delay}ms",
"timeout": "延迟测试超时",
"testing": "正在测试延迟"
},
"ipInfoSemantics": {
"address": "IP地址",
"country": "国家"
}
},
"logs": {
"pageTitle": "日志",
"filterHint": "筛选",
"allLevelsFilter": "全部",
"shareCoreLogs": "分享核心日志",
"shareAppLogs": "分享應用日志",
"pauseTooltip": "暂停",
"resumeTooltip": "恢复",
"clearTooltip": "清除"
},
"settings": {
"pageTitle": "设置",
"requiresRestartMsg": "要使其生效,请重新启动应用程序",
"experimental": "实验性选项",
"experimentalMsg": "带有实验标志的功能仍在开发中,可能会出现问题。",
"general": {
"sectionTitle": "一般选项",
"locale": "语言",
"region": "地区",
"regionMsg": "帮助设置默认选项以绕过国内地址",
"regions": {
"ir": "伊朗 (ir)",
"cn": "中国 (cn)",
"ru": "俄罗斯 (ru)",
"af": "阿富汗 (af)",
"other": "其他"
},
"themeMode": "主题模式",
"themeModes": {
"system": "遵循系统主题",
"dark": "暗色",
"light": "浅色",
"black": "黑色"
},
"enableAnalytics": "启用分析",
"enableAnalyticsMsg": "授予收集分析并发送崩溃报告以改进应用程序的权限",
"autoStart": "开机启动",
"silentStart": "静默启动",
"openWorkingDir": "打开工作目录",
"ignoreBatteryOptimizations": "禁用电池优化",
"ignoreBatteryOptimizationsMsg": "消除限制以获得最佳 VPN 性能",
"dynamicNotification": "在通知中显示速度",
"hapticFeedback": "触觉反馈",
"autoIpCheck": "自动检查连接的 IP"
},
"advanced": {
"sectionTitle": "高级选项",
"debugMode": "调试模式",
"debugModeMsg": "重新启动应用程序以应用此更改",
"memoryLimit": "内存限制",
"memoryLimitMsg": "如果您遇到内存不足错误或频繁应用程序崩溃,请启用",
"resetTunnel": "重置 VPN 配置文件"
},
"network": {
"perAppProxyPageTitle": "分应用代理",
"perAppProxyModes": {
"off": "全部",
"offMsg": "代理所有应用程序",
"include": "代理",
"includeMsg": "仅代理选定的应用程序",
"exclude": "绕过",
"excludeMsg": "不代理选中的应用程序"
},
"showSystemApps": "显示系统应用程序",
"hideSystemApps": "隐藏系统应用程序",
"clearSelection": "清空选项"
},
"config": {
"resetBtn": "重置选项",
"serviceMode": "服务模式",
"serviceModes": {
"proxy": "仅代理",
"systemProxy": "系统代理",
"tun": "VPN",
"tunService": "VPN服务"
},
"section": {
"route": "路由选项",
"dns": "DNS 选项",
"inbound": "入站选项",
"mux": "复用器",
"outbound": "出站选项",
"tlsTricks": "TLS Tricks",
"warp": "WARP 选项",
"misc": "其他选项"
},
"warpConsent": {
"title": "Cloudflare WARP 同意",
"description(rich)": "Cloudflare WARP 是免费的 WireGuard VPN 提供商。启用此选项即表示您同意 Cloudflare WARP 的 ${tos(服务条款)} 和 ${privacy(隐私政策)}"
},
"generateWarpConfig": "生成WARP配置文件",
"missingWarpConfig": "WARP配置缺失",
"warpConfigGenerated": "WARP 配置已生成",
"pageTitle": "配置选项",
"logLevel": "日志级别",
"resolveDestination": "解析目标地址",
"ipv6Mode": "IPv6 路由",
"ipv6Modes": {
"disable": "禁用",
"enable": "启用",
"prefer": "首选",
"only": "仅"
},
"remoteDnsAddress": "远程 DNS",
"remoteDnsDomainStrategy": "远程 DNS 域名策略",
"directDnsAddress": "直连 DNS",
"directDnsDomainStrategy": "直连 DNS 域名策略",
"mixedPort": "混合端口",
"localDnsPort": "本地 DNS 端口",
"allowConnectionFromLan": "允许局域网连接",
"tunImplementation": "TUN 实现",
"mtu": "MTU",
"connectionTestUrl": "连接测试网址",
"urlTestInterval": "网址测试间隔",
"enableClashApi": "启用 Clash API",
"clashApiPort": "Clash API 端口",
"enableTun": "启用 TUN",
"setSystemProxy": "设置系统代理",
"enableDnsRouting": "启用 DNS 路由",
"enableFakeDns": "启用 Fake DNS",
"bypassLan": "绕过局域网",
"strictRoute": "严格路由",
"enableTlsFragment": "启用 TLS 数据分段",
"tlsFragmentSize": "TLS 分段大小",
"tlsFragmentSleep": "TLS 分段休眠",
"enableTlsMixedSniCase": "启用 TLS 混合 SNI 情形",
"enableTlsPadding": "启用 TLS 填充",
"tlsPaddingSize": "TLS 填充",
"enableMux": "启用Mux多路复用",
"muxProtocol": "Mux多路复用控制",
"muxMaxStreams": "Mux最大并发数",
"enableWarp": "启用 WARP",
"warpDetourMode": "链式代理",
"warpDetourModes": {
"inbound": "通过代理绕过 WARP",
"outbound": "通过 WARP 绕过代理"
},
"warpLicenseKey": "许可证密钥",
"warpCleanIp": "干净 IP",
"warpPort": "端口",
"warpNoise": "噪音",
"warpNoiseDelay": "噪音延迟"
},
"geoAssets": {
"pageTitle": "路由资源文件",
"geoip": "Geoip",
"geosite": "Geosite",
"version": "版本 ${version}",
"fileMissing": "文件丢失",
"update": "更新",
"download": "下载",
"failureMsg": "更新资源文件失败",
"successMsg": "已成功更新资源文件",
"addRecommended": "添加建议的资源文件",
"missingGeoAssetsMsg": "所选路由资源的文件丢失。下载它们或选择现有的。"
}
},
"about": {
"pageTitle": "关于",
"version": "版本",
"sourceCode": "源代码",
"telegramChannel": "Telegram 频道",
"checkForUpdate": "检查更新",
"privacyPolicy": "隐私政策",
"termsAndConditions": "条款和条件"
},
"appUpdate": {
"notAvailableMsg": "已是最新版本",
"dialogTitle": "有可用更新",
"updateMsg": "@:general.appTitle 的新版本现已推出。您想现在更新吗?",
"currentVersionLbl": "当前版本",
"newVersionLbl": "新版本",
"updateNowBtnTxt": "现在更新",
"laterBtnTxt": "以后再说",
"ignoreBtnTxt": "忽略"
},
"tray": {
"dashboard": "仪表板",
"quit": "退出",
"open": "打开",
"status": {
"connect": "连接",
"connecting": "正在连接",
"disconnect": "断开连接",
"disconnecting": "正在断开连接"
}
},
"failure": {
"unexpected": "意外错误",
"clash": {
"unexpected": "意外错误",
"core": "Clash 错误 ${reason}"
},
"singbox": {
"unexpected": "意外服务错误",
"serviceNotRunning": "服务未运行",
"missingPrivilege": "缺少权限",
"missingPrivilegeMsg": "VPN 模式需要管理员权限。以管理员身份重新启动应用程序或更改服务模式",
"missingGeoAssets": "缺失 GEO 资源文件",
"missingGeoAssetsMsg": "缺失 GEO 资源文件。请考虑更改激活的资源文件或在设置中下载所选资源文件。",
"invalidConfigOptions": "配置选项无效",
"invalidConfig": "无效配置",
"create": "服务创建错误",
"start": "服务启动错误"
},
"connectivity": {
"unexpected": "意外失败",
"missingVpnPermission": "缺少 VPN 权限",
"missingNotificationPermission": "缺少通知权限",
"core": "核心错误"
},
"profiles": {
"unexpected": "意外错误",
"notFound": "未找到配置文件",
"invalidConfig": "无效配置",
"invalidUrl": "网址无效"
},
"connection": {
"unexpected": "意外连接错误",
"timeout": "连接超时",
"badResponse": "错误响应",
"connectionError": "连接错误",
"badCertificate": "证书无效"
},
"geoAssets": {
"unexpected": "意外错误",
"notUpdate": "无可用更新",
"activeNotFound": "未找到激活的 GEO 资源文件"
}
},
"play": {
"title": "Hiddify预览",
"short_description": "自动SSH, VLESS, Vmess, Trojan, Reality, Sing-Box, Clash, Xray, Shadowsocks",
"full_description": "Hiddify 的主要目标是提供安全、用户友好且高效的隧道客户端。它使您能够利用 VPN 服务权限将所有流量或选定的应用程序流量路由到您选择的远程服务器。\n\n注我们不提供任何服务器用户需要使用自己托管的服务器或可信的服务器来确保您在线活动的私密性。\n \n我们支持以下类型的服务器\n- 普通 V2ray/Xray 订阅链接\n- Clash 订阅链接\n- Sing-Box 订阅链接\n\n我们的特色是什么\n\n- 用户友好\n- 优化和高速\n- 自动选择最低延迟\n- 显示用户使用信息\n- 通过一键链接轻松导入\n- 免费且无广告\n- 轻松切换线路\n- 等等\n\n支持\n- Sing-Box 支持的所有协议\n- VLESS + XTLS Reality、Vision 协议\n- VMESS\n- Trojan\n- Shoadowsocks\n- Reality\n- V2ray\n- Hystria2\n- TUIC\n- SSH\n- ShadowTLS\n\n\n源代码位于 https://github.com/hiddify/Hiddify-Next\n应用程序核心基于开源的 Sing-Box。\n\n权限说明\n\n- VPN 服务:由于此应用程序的目标是提供安全、用户友好和高效的隧道客户端,我们需要此权限以能够通过隧道将流量路由到远程服务器。\n获取应用程序列表此权限用于允许用户包括或排除特定应用程序以进行隧道传输。\n- 接收开机广播:可以从应用程序设置中启用或禁用此权限,以便在设备启动时激活此应用程序。\n- 发送通知:此权限是必需的,因为我们使用前台服务来确保 VPN 服务的持续运行。\n- 本应用程序没有广告。分析和崩溃数据仅在首次使用应用程序时经用户明确同意的情况下发生。"
}
} }

View File

@@ -1,340 +1,340 @@
{ {
"general": { "general": {
"appTitle": "Hiddify Next", "appTitle": "Hiddify Next",
"reset": "重置", "reset": "重置",
"toggle": { "toggle": {
"enabled": "啟用", "enabled": "啟用",
"disabled": "停用" "disabled": "停用"
},
"state": {
"disable": "停用"
},
"sort": "排序",
"sortBy": "排序方式",
"addToClipboard": "新增到剪貼簿"
}, },
"intro": { "state": {
"termsAndPolicyCaution(rich)": "繼續即表示您同意 ${tap(@:about.termsAndConditions)}", "disable": "停用"
"start": "開始"
}, },
"home": { "sort": "排序",
"pageTitle": "主頁", "sortBy": "排序方式",
"emptyProfilesMsg": "首先新增訂閱設定檔", "addToClipboard": "新增到剪貼簿"
"noActiveProfileMsg": "選擇設定檔", },
"connection": { "intro": {
"tapToConnect": "點擊以連接", "termsAndPolicyCaution(rich)": "繼續即表示您同意 ${tap(@:about.termsAndConditions)}",
"connecting": "連接中", "start": "開始"
"disconnecting": "斷連中", },
"connected": "已連接", "home": {
"experimentalNotice": "使用中的實驗性功能", "pageTitle": "主頁",
"experimentalNoticeMsg": "您啟用了一些實驗性功能,這些功能可能會影響連線品質並導致意外錯誤。您始終可以從「配置選項」頁面變更或重設這些選項。", "emptyProfilesMsg": "首先新增訂閱設定檔",
"disableExperimentalNotice": "不再提示" "noActiveProfileMsg": "選擇設定檔",
}, "connection": {
"stats": { "tapToConnect": "點擊以連接",
"traffic": "即時流量", "connecting": "連接中",
"trafficTotal": "總流量", "disconnecting": "斷連中",
"uplink": "上行", "connected": "已連接",
"downlink": "下行" "experimentalNotice": "使用中的實驗性功能",
} "experimentalNoticeMsg": "您啟用了一些實驗性功能,這些功能可能會影響連線品質並導致意外錯誤。您始終可以從「配置選項」頁面變更或重設這些選項。",
}, "disableExperimentalNotice": "不再提示"
"profile": {
"overviewPageTitle": "設定檔",
"detailsPageTitle": "設定檔",
"activeProfileNameSemanticLabel": "活動設定檔名稱:“${name}”。",
"activeProfileBtnSemanticLabel": "查看所有設定檔。",
"nonActiveProfileBtnSemanticLabel": "選擇“${name}”作為活動設定檔。",
"subscription": {
"traffic": "流量",
"updatedTimeAgo": "更新${timeago}",
"remainingDuration": "剩餘 ${duration} 天",
"remainingTrafficSemanticLabel": "已使用 ${consumed} 流量,總共 ${total} 流量。",
"expired": "已到期",
"noTraffic": "超過配額"
},
"sortBy": {
"lastUpdate": "最近更新",
"name": "按字母順序"
},
"add": {
"buttonText": "新的設定檔",
"shortBtnTxt": "新的設定檔",
"fromClipboard": "從剪貼簿添加",
"scanQr": "掃描 QR code",
"qrScanner": {
"permissionDeniedError": "沒有權限",
"unexpectedError": "出了點問題",
"torchSemanticLabel": "手電筒",
"facingSemanticLabel": "相機朝向"
},
"manually": "手動輸入",
"addingProfileMsg": "新增設定檔",
"failureMsg": "新增設定檔失敗"
},
"update": {
"buttonTxt": "更新",
"tooltip": "更新設定檔",
"updateSubscriptions": "更新訂閱",
"failureMsg": "更新設定檔失敗",
"successMsg": "設定檔更新成功",
"namedFailureMsg": "無法更新“${name}”",
"namedSuccessMsg": "“${name}” 更新成功"
},
"share": {
"buttonText": "分享",
"exportToClipboardSuccess": "匯出到剪貼簿",
"exportSubLinkToClipboard": "將訂閱連結匯出到剪貼簿",
"subLinkQrCode": "訂閱連結 QR code",
"exportConfigToClipboard": "將配置匯出到剪貼簿",
"exportConfigToClipboardSuccess": "配置已複製到剪貼簿"
},
"edit": {
"buttonTxt": "編輯",
"selectActiveTxt": "選擇並激活設定檔"
},
"delete": {
"buttonTxt": "刪除",
"confirmationMsg": "永久刪除設定檔嗎?",
"successMsg": "設定檔刪除成功"
},
"save": {
"buttonText": "儲存",
"successMsg": "設定檔儲存成功",
"failureMsg": "設定檔儲存失敗"
},
"detailsForm": {
"nameLabel": "名稱",
"nameHint": "設定檔名稱",
"urlLabel": "網址",
"urlHint": "完整配置網址",
"emptyNameMsg": "名稱為必填項",
"invalidUrlMsg": "無效的網址",
"lastUpdate": "最後更新",
"updateInterval": "自動更新",
"updateIntervalDialogTitle": "自動更新間隔(以小時為單位)"
}
},
"proxies": {
"pageTitle": "代理",
"emptyProxiesMsg": "沒有可用的代理",
"delayTestTooltip": "測試延遲",
"sortTooltip": "對代理進行排序",
"sortOptions": {
"unsorted": "預設",
"name": "按字母排序",
"delay": "按延遲排序"
}
},
"logs": {
"pageTitle": "日誌",
"filterHint": "篩選",
"allLevelsFilter": "全部",
"shareCoreLogs": "分享核心日誌",
"shareAppLogs": "共享應用程式日誌",
"pauseTooltip": "暫停",
"resumeTooltip": "恢復",
"clearTooltip": "清除"
},
"settings": {
"pageTitle": "設定",
"requiresRestartMsg": "若要使其生效,請重新啟動應用程式",
"experimental": "實驗性的",
"experimentalMsg": "帶有實驗標誌的功能仍在開發中,可能會導致問題。",
"general": {
"sectionTitle": "一般的",
"locale": "語言",
"region": "地區",
"regionMsg": "幫助設定預設選項以繞過國內地址",
"regions": {
"ir": "伊朗 (ir)",
"cn": "中國 (cn)",
"ru": "俄羅斯 (ru)",
"af": "阿富汗 (af)",
"other": "其他"
},
"themeMode": "主題模式",
"themeModes": {
"system": "遵循系統主題",
"dark": "深色",
"light": "淺色",
"black": "黑色"
},
"enableAnalytics": "啟用分析",
"enableAnalyticsMsg": "授予收集分析並發送崩潰報告以改進應用程式的權限",
"autoStart": "隨系統啟動",
"silentStart": "啟動最小化",
"openWorkingDir": "開啟工作目錄",
"ignoreBatteryOptimizations": "停用電池優化",
"ignoreBatteryOptimizationsMsg": "消除限制以獲得最佳 VPN 效能",
"dynamicNotification": "在通知中顯示速度"
},
"advanced": {
"sectionTitle": "高級設定",
"debugMode": "偵錯模式",
"debugModeMsg": "重新啟動應用程式以應用此更改",
"memoryLimit": "記憶體限制",
"memoryLimitMsg": "如果您遇到記憶體不足錯誤或頻繁應用程式崩潰,請啟用",
"resetTunnel": "重置 VPN 設定檔"
},
"network": {
"perAppProxyPageTitle": "應用程式 VPN 模式",
"perAppProxyModes": {
"off": "全部",
"offMsg": "代理所有應用程式",
"include": "代理",
"includeMsg": "僅代理選定的應用程式",
"exclude": "略過",
"excludeMsg": "不代理選定的應用程式"
},
"showSystemApps": "顯示系統應用程式",
"hideSystemApps": "隱藏系統應用程式",
"clearSelection": "清空選項"
},
"config": {
"resetBtn": "重置選項",
"serviceMode": "服務模式",
"serviceModes": {
"proxy": "僅代理",
"systemProxy": "系統代理",
"tun": "VPN"
},
"section": {
"route": "路由選項",
"dns": "DNS 選項",
"inbound": "入站選項",
"mux": "復用器",
"outbound": "出站選項",
"tlsTricks": "TLS Tricks",
"misc": "其他選項"
},
"pageTitle": "配置選項",
"logLevel": "日誌等級",
"resolveDestination": "解析目標地址",
"ipv6Mode": "IPv6 路由",
"ipv6Modes": {
"disable": "停用",
"enable": "啟用",
"prefer": "首選",
"only": "僅"
},
"remoteDnsAddress": "遠端 DNS",
"remoteDnsDomainStrategy": "遠端 DNS 網域策略",
"directDnsAddress": "直連 DNS",
"directDnsDomainStrategy": "直連 DNS 網域策略",
"mixedPort": "混合連接埠",
"localDnsPort": "本地 DNS 連接埠",
"allowConnectionFromLan": "允許區域網路連接",
"tunImplementation": "TUN 實現",
"mtu": "MTU",
"connectionTestUrl": "連接測試網址",
"urlTestInterval": "URL 測試間隔",
"enableClashApi": "啟用 Clash API",
"clashApiPort": "Clash API 連接埠",
"enableTun": "啟用 TUN",
"setSystemProxy": "設定系統代理",
"enableDnsRouting": "啟用 DNS 路由",
"enableFakeDns": "啟用 Fake DNS",
"bypassLan": "繞過區域網路",
"strictRoute": "嚴格路由",
"enableTlsFragment": "啟用 TLS 分段",
"tlsFragmentSize": "TLS 分段大小",
"tlsFragmentSleep": "TLS 分段睡眠",
"enableTlsMixedSniCase": "啟用 TLS 混合 SNI 情況",
"enableTlsPadding": "啟用 TLS 填充",
"tlsPaddingSize": "TLS 填充",
"enableMux": "啟用復用器",
"muxProtocol": "復用器控制",
"muxMaxStreams": "最大並發數"
},
"geoAssets": {
"pageTitle": "路由資源文件",
"geoip": "Geoip",
"geosite": "Geosite",
"version": "版本${version}",
"fileMissing": "文件遺失",
"update": "更新",
"download": "下載",
"failureMsg": "更新資源文件失敗",
"successMsg": "已成功更新資源文件",
"addRecommended": "新增推薦的資源文件",
"missingGeoAssetsMsg": "所選路由資源的檔案遺失。下載它們或選擇現有的。"
}
},
"about": {
"pageTitle": "關於",
"version": "版本",
"sourceCode": "原始代碼",
"telegramChannel": "Telegram 頻道",
"checkForUpdate": "檢查更新",
"privacyPolicy": "隱私政策",
"termsAndConditions": "條款與條件"
},
"appUpdate": {
"notAvailableMsg": "已經是最新版本",
"dialogTitle": "有可用更新",
"updateMsg": "@:general.appTitle 的更新版本現已推出。您想現在更新嗎?",
"currentVersionLbl": "目前版本",
"newVersionLbl": "新版本",
"updateNowBtnTxt": "現在更新",
"laterBtnTxt": "之後再說",
"ignoreBtnTxt": "忽略"
},
"tray": {
"dashboard": "儀表板",
"quit": "退出",
"open": "打開",
"status": {
"connect": "連接",
"connecting": "連接中",
"disconnect": "斷開連接",
"disconnecting": "斷連中"
}
},
"failure": {
"unexpected": "意外錯誤",
"clash": {
"unexpected": "意外錯誤",
"core": "Clash 錯誤 ${reason}"
},
"singbox": {
"unexpected": "意外服務錯誤",
"serviceNotRunning": "服務未運行",
"missingPrivilege": "缺乏權限",
"missingPrivilegeMsg": "VPN 模式需要管理員權限。以管理員身分重新啟動應用程式或變更服務模式。",
"missingGeoAssets": "缺少 GEO 資源文件",
"missingGeoAssetsMsg": "GEO 資源文件缺失。請考慮更改活動資源文件或在設定中下載選定的資源文件。",
"invalidConfigOptions": "配置選項無效",
"invalidConfig": "無效配置",
"create": "服務建立錯誤",
"start": "服務啟動錯誤"
},
"connectivity": {
"unexpected": "意外失敗",
"missingVpnPermission": "缺少 VPN 權限",
"missingNotificationPermission": "缺少通知權限",
"core": "核心錯誤"
},
"profiles": {
"unexpected": "意外錯誤",
"notFound": "未找到設定檔",
"invalidConfig": "無效配置",
"invalidUrl": "無效網址"
},
"connection": {
"unexpected": "意外連線錯誤",
"timeout": "連線過時",
"badResponse": "錯誤反應",
"connectionError": "連線錯誤",
"badCertificate": "無效證書"
},
"geoAssets": {
"unexpected": "意外錯誤",
"notUpdate": "無可用更新",
"activeNotFound": "未找到活動 GEO 資源文件"
}
},
"play": {
"title": "Hiddify Next預覽",
"short_description": "自動、SSH、VLESS、Vmess、Trojan、Reality、Sing-Box、Clash、Xray、Shadowsocks",
"full_description": "HiddifyNext 的主要目標是提供安全、使用者友好且高效率的隧道用戶端。它使您能夠利用 VPN 服務權限將所有流量或選定的應用程式流量路由到您選擇的遠端伺服器。\n\n註我們不提供任何伺服器使用者需要使用自己的自託管伺服器或受信任的伺服器來確保其線上活動的隱私。\n\n我們透過以下方式支援伺服器\n - 普通 V2ray/Xray 訂閱連結\n - Clash 訂閱連結\n - Sing-Box 訂閱連結\n\n 我們的獨特功能是什麼?\n - 使用者友善\n - 最佳化且快速\n - 自動選擇最低延遲\n - 顯示使用者使用資訊\n - 使用一鍵連結輕鬆導入\n - 免費且無廣告\n - 輕鬆切換線路\n - 等等\n 支援:\n - Sing-Box 支援的所有協定 \n - VLESS + XTLS Reality、Vision 協定 \n - VMESS\n - Trojan\n - ShoadowSocks\n - Reality\n - V2ray\n - Hystria2\n - TUIC \n - SSH\n - ShadowTLS\n\n\n 原始碼位於 https://github.com/hiddify/Hiddify-Next\n 應用程式核心基於開源的 Sing-Box。\n\n權限說明\n\n - VPN 服務:由於此應用程式的目標是提供安全性、使用者友好且高效的隧道用戶端,因此我們需要此權限才能透過隧道將流量路由到遠端伺服器。\n - 獲取應用程式列表:此權限用於允許使用者包含或排除隧道的特定應用程式。\n - 接收啟動廣播:可以從應用程式設定中啟用或停用此權限,以在裝置啟動時啟動此應用程式。\n - 發送通知:此權限至關重要,因為我們使用前台服務來確保 VPN 服務的持續運作。\n - 該應用程式沒有廣告。分析和崩潰數據僅在用戶首次使用應用程式時明確同意的情況下才會出現。"
} }
} },
"stats": {
"trafficLive": "即時流量",
"trafficTotal": "總流量",
"uplink": "上行",
"downlink": "下行"
},
"profile": {
"overviewPageTitle": "設定檔",
"detailsPageTitle": "設定檔",
"activeProfileNameSemanticLabel": "活動設定檔名稱:“${name}”。",
"activeProfileBtnSemanticLabel": "查看所有設定檔。",
"nonActiveProfileBtnSemanticLabel": "選擇“${name}”作為活動設定檔。",
"subscription": {
"traffic": "流量",
"updatedTimeAgo": "更新${timeago}",
"remainingDuration": "剩餘 ${duration} 天",
"remainingTrafficSemanticLabel": "已使用 ${consumed} 流量,總共 ${total} 流量。",
"expired": "已到期",
"noTraffic": "超過配額"
},
"sortBy": {
"lastUpdate": "最近更新",
"name": "按字母順序"
},
"add": {
"buttonText": "新的設定檔",
"shortBtnTxt": "新的設定檔",
"fromClipboard": "從剪貼簿添加",
"scanQr": "掃描 QR code",
"qrScanner": {
"permissionDeniedError": "沒有權限",
"unexpectedError": "出了點問題",
"torchSemanticLabel": "手電筒",
"facingSemanticLabel": "相機朝向"
},
"manually": "手動輸入",
"addingProfileMsg": "新增設定檔",
"failureMsg": "新增設定檔失敗"
},
"update": {
"buttonTxt": "更新",
"tooltip": "更新設定檔",
"updateSubscriptions": "更新訂閱",
"failureMsg": "更新設定檔失敗",
"successMsg": "設定檔更新成功",
"namedFailureMsg": "無法更新“${name}”",
"namedSuccessMsg": "“${name}” 更新成功"
},
"share": {
"buttonText": "分享",
"exportToClipboardSuccess": "匯出到剪貼簿",
"exportSubLinkToClipboard": "將訂閱連結匯出到剪貼簿",
"subLinkQrCode": "訂閱連結 QR code",
"exportConfigToClipboard": "將配置匯出到剪貼簿",
"exportConfigToClipboardSuccess": "配置已複製到剪貼簿"
},
"edit": {
"buttonTxt": "編輯",
"selectActiveTxt": "選擇並激活設定檔"
},
"delete": {
"buttonTxt": "刪除",
"confirmationMsg": "永久刪除設定檔嗎?",
"successMsg": "設定檔刪除成功"
},
"save": {
"buttonText": "儲存",
"successMsg": "設定檔儲存成功",
"failureMsg": "設定檔儲存失敗"
},
"detailsForm": {
"nameLabel": "名稱",
"nameHint": "設定檔名稱",
"urlLabel": "網址",
"urlHint": "完整配置網址",
"emptyNameMsg": "名稱為必填項",
"invalidUrlMsg": "無效的網址",
"lastUpdate": "最後更新",
"updateInterval": "自動更新",
"updateIntervalDialogTitle": "自動更新間隔(以小時為單位)"
}
},
"proxies": {
"pageTitle": "代理",
"emptyProxiesMsg": "沒有可用的代理",
"delayTestTooltip": "測試延遲",
"sortTooltip": "對代理進行排序",
"sortOptions": {
"unsorted": "預設",
"name": "按字母排序",
"delay": "按延遲排序"
}
},
"logs": {
"pageTitle": "日誌",
"filterHint": "篩選",
"allLevelsFilter": "全部",
"shareCoreLogs": "分享核心日誌",
"shareAppLogs": "共享應用程式日誌",
"pauseTooltip": "暫停",
"resumeTooltip": "恢復",
"clearTooltip": "清除"
},
"settings": {
"pageTitle": "設定",
"requiresRestartMsg": "若要使其生效,請重新啟動應用程式",
"experimental": "實驗性的",
"experimentalMsg": "帶有實驗標誌的功能仍在開發中,可能會導致問題。",
"general": {
"sectionTitle": "一般的",
"locale": "語言",
"region": "地區",
"regionMsg": "幫助設定預設選項以繞過國內地址",
"regions": {
"ir": "伊朗 (ir)",
"cn": "中國 (cn)",
"ru": "俄羅斯 (ru)",
"af": "阿富汗 (af)",
"other": "其他"
},
"themeMode": "主題模式",
"themeModes": {
"system": "遵循系統主題",
"dark": "深色",
"light": "淺色",
"black": "黑色"
},
"enableAnalytics": "啟用分析",
"enableAnalyticsMsg": "授予收集分析並發送崩潰報告以改進應用程式的權限",
"autoStart": "隨系統啟動",
"silentStart": "啟動最小化",
"openWorkingDir": "開啟工作目錄",
"ignoreBatteryOptimizations": "停用電池優化",
"ignoreBatteryOptimizationsMsg": "消除限制以獲得最佳 VPN 效能",
"dynamicNotification": "在通知中顯示速度"
},
"advanced": {
"sectionTitle": "高級設定",
"debugMode": "偵錯模式",
"debugModeMsg": "重新啟動應用程式以應用此更改",
"memoryLimit": "記憶體限制",
"memoryLimitMsg": "如果您遇到記憶體不足錯誤或頻繁應用程式崩潰,請啟用",
"resetTunnel": "重置 VPN 設定檔"
},
"network": {
"perAppProxyPageTitle": "應用程式 VPN 模式",
"perAppProxyModes": {
"off": "全部",
"offMsg": "代理所有應用程式",
"include": "代理",
"includeMsg": "僅代理選定的應用程式",
"exclude": "略過",
"excludeMsg": "不代理選定的應用程式"
},
"showSystemApps": "顯示系統應用程式",
"hideSystemApps": "隱藏系統應用程式",
"clearSelection": "清空選項"
},
"config": {
"resetBtn": "重置選項",
"serviceMode": "服務模式",
"serviceModes": {
"proxy": "僅代理",
"systemProxy": "系統代理",
"tun": "VPN"
},
"section": {
"route": "路由選項",
"dns": "DNS 選項",
"inbound": "入站選項",
"mux": "復用器",
"outbound": "出站選項",
"tlsTricks": "TLS Tricks",
"misc": "其他選項"
},
"pageTitle": "配置選項",
"logLevel": "日誌等級",
"resolveDestination": "解析目標地址",
"ipv6Mode": "IPv6 路由",
"ipv6Modes": {
"disable": "停用",
"enable": "啟用",
"prefer": "首選",
"only": "僅"
},
"remoteDnsAddress": "遠端 DNS",
"remoteDnsDomainStrategy": "遠端 DNS 網域策略",
"directDnsAddress": "直連 DNS",
"directDnsDomainStrategy": "直連 DNS 網域策略",
"mixedPort": "混合連接埠",
"localDnsPort": "本地 DNS 連接埠",
"allowConnectionFromLan": "允許區域網路連接",
"tunImplementation": "TUN 實現",
"mtu": "MTU",
"connectionTestUrl": "連接測試網址",
"urlTestInterval": "URL 測試間隔",
"enableClashApi": "啟用 Clash API",
"clashApiPort": "Clash API 連接埠",
"enableTun": "啟用 TUN",
"setSystemProxy": "設定系統代理",
"enableDnsRouting": "啟用 DNS 路由",
"enableFakeDns": "啟用 Fake DNS",
"bypassLan": "繞過區域網路",
"strictRoute": "嚴格路由",
"enableTlsFragment": "啟用 TLS 分段",
"tlsFragmentSize": "TLS 分段大小",
"tlsFragmentSleep": "TLS 分段睡眠",
"enableTlsMixedSniCase": "啟用 TLS 混合 SNI 情況",
"enableTlsPadding": "啟用 TLS 填充",
"tlsPaddingSize": "TLS 填充",
"enableMux": "啟用復用器",
"muxProtocol": "復用器控制",
"muxMaxStreams": "最大並發數"
},
"geoAssets": {
"pageTitle": "路由資源文件",
"geoip": "Geoip",
"geosite": "Geosite",
"version": "版本${version}",
"fileMissing": "文件遺失",
"update": "更新",
"download": "下載",
"failureMsg": "更新資源文件失敗",
"successMsg": "已成功更新資源文件",
"addRecommended": "新增推薦的資源文件",
"missingGeoAssetsMsg": "所選路由資源的檔案遺失。下載它們或選擇現有的。"
}
},
"about": {
"pageTitle": "關於",
"version": "版本",
"sourceCode": "原始代碼",
"telegramChannel": "Telegram 頻道",
"checkForUpdate": "檢查更新",
"privacyPolicy": "隱私政策",
"termsAndConditions": "條款與條件"
},
"appUpdate": {
"notAvailableMsg": "已經是最新版本",
"dialogTitle": "有可用更新",
"updateMsg": "@:general.appTitle 的更新版本現已推出。您想現在更新嗎?",
"currentVersionLbl": "目前版本",
"newVersionLbl": "新版本",
"updateNowBtnTxt": "現在更新",
"laterBtnTxt": "之後再說",
"ignoreBtnTxt": "忽略"
},
"tray": {
"dashboard": "儀表板",
"quit": "退出",
"open": "打開",
"status": {
"connect": "連接",
"connecting": "連接中",
"disconnect": "斷開連接",
"disconnecting": "斷連中"
}
},
"failure": {
"unexpected": "意外錯誤",
"clash": {
"unexpected": "意外錯誤",
"core": "Clash 錯誤 ${reason}"
},
"singbox": {
"unexpected": "意外服務錯誤",
"serviceNotRunning": "服務未運行",
"missingPrivilege": "缺乏權限",
"missingPrivilegeMsg": "VPN 模式需要管理員權限。以管理員身分重新啟動應用程式或變更服務模式。",
"missingGeoAssets": "缺少 GEO 資源文件",
"missingGeoAssetsMsg": "GEO 資源文件缺失。請考慮更改活動資源文件或在設定中下載選定的資源文件。",
"invalidConfigOptions": "配置選項無效",
"invalidConfig": "無效配置",
"create": "服務建立錯誤",
"start": "服務啟動錯誤"
},
"connectivity": {
"unexpected": "意外失敗",
"missingVpnPermission": "缺少 VPN 權限",
"missingNotificationPermission": "缺少通知權限",
"core": "核心錯誤"
},
"profiles": {
"unexpected": "意外錯誤",
"notFound": "未找到設定檔",
"invalidConfig": "無效配置",
"invalidUrl": "無效網址"
},
"connection": {
"unexpected": "意外連線錯誤",
"timeout": "連線過時",
"badResponse": "錯誤反應",
"connectionError": "連線錯誤",
"badCertificate": "無效證書"
},
"geoAssets": {
"unexpected": "意外錯誤",
"notUpdate": "無可用更新",
"activeNotFound": "未找到活動 GEO 資源文件"
}
},
"play": {
"title": "Hiddify Next預覽",
"short_description": "自動、SSH、VLESS、Vmess、Trojan、Reality、Sing-Box、Clash、Xray、Shadowsocks",
"full_description": "HiddifyNext 的主要目標是提供安全、使用者友好且高效率的隧道用戶端。它使您能夠利用 VPN 服務權限將所有流量或選定的應用程式流量路由到您選擇的遠端伺服器。\n\n註我們不提供任何伺服器使用者需要使用自己的自託管伺服器或受信任的伺服器來確保其線上活動的隱私。\n\n我們透過以下方式支援伺服器\n - 普通 V2ray/Xray 訂閱連結\n - Clash 訂閱連結\n - Sing-Box 訂閱連結\n\n 我們的獨特功能是什麼?\n - 使用者友善\n - 最佳化且快速\n - 自動選擇最低延遲\n - 顯示使用者使用資訊\n - 使用一鍵連結輕鬆導入\n - 免費且無廣告\n - 輕鬆切換線路\n - 等等\n 支援:\n - Sing-Box 支援的所有協定 \n - VLESS + XTLS Reality、Vision 協定 \n - VMESS\n - Trojan\n - ShoadowSocks\n - Reality\n - V2ray\n - Hystria2\n - TUIC \n - SSH\n - ShadowTLS\n\n\n 原始碼位於 https://github.com/hiddify/Hiddify-Next\n 應用程式核心基於開源的 Sing-Box。\n\n權限說明\n\n - VPN 服務:由於此應用程式的目標是提供安全性、使用者友好且高效的隧道用戶端,因此我們需要此權限才能透過隧道將流量路由到遠端伺服器。\n - 獲取應用程式列表:此權限用於允許使用者包含或排除隧道的特定應用程式。\n - 接收啟動廣播:可以從應用程式設定中啟用或停用此權限,以在裝置啟動時啟動此應用程式。\n - 發送通知:此權限至關重要,因為我們使用前台服務來確保 VPN 服務的持續運作。\n - 該應用程式沒有廣告。分析和崩潰數據僅在用戶首次使用應用程式時明確同意的情況下才會出現。"
}
}

View File

@@ -15,3 +15,5 @@ abstract class Constants {
static const cfWarpTermsOfService = static const cfWarpTermsOfService =
"https://www.cloudflare.com/application/terms/"; "https://www.cloudflare.com/application/terms/";
} }
const kAnimationDuration = Duration(milliseconds: 250);

View File

@@ -0,0 +1,53 @@
import 'package:flutter/material.dart';
import 'package:hiddify/core/model/constants.dart';
class AnimatedText extends Text {
const AnimatedText(
super.data, {
super.key,
super.style,
this.duration = kAnimationDuration,
this.size = true,
this.slide = true,
});
final Duration duration;
final bool size;
final bool slide;
@override
Widget build(BuildContext context) {
return AnimatedSwitcher(
duration: duration,
transitionBuilder: (child, animation) {
child = FadeTransition(
opacity: animation,
child: child,
);
if (size) {
child = SizeTransition(
axis: Axis.horizontal,
fixedCrossAxisSizeFactor: 1,
sizeFactor: Tween<double>(begin: 0.88, end: 1).animate(animation),
child: child,
);
}
if (slide) {
child = SlideTransition(
position: Tween<Offset>(
begin: const Offset(0.0, -0.2),
end: Offset.zero,
).animate(animation),
child: child,
);
}
return child;
},
child: Text(
data!,
key: ValueKey<String>(data!),
style: style,
),
);
}
}

View File

@@ -0,0 +1,10 @@
import 'package:flutter/widgets.dart';
extension SpacedWidgets on List<Widget> {
List<Widget> spaceBy({double? width, double? height}) => [
for (int i = 0; i < length; i++) ...[
if (i > 0) SizedBox(width: width, height: height),
this[i],
],
];
}

View File

@@ -4,6 +4,7 @@ import 'package:gap/gap.dart';
import 'package:hiddify/core/localization/translations.dart'; import 'package:hiddify/core/localization/translations.dart';
import 'package:hiddify/core/model/failures.dart'; import 'package:hiddify/core/model/failures.dart';
import 'package:hiddify/core/theme/theme_extensions.dart'; import 'package:hiddify/core/theme/theme_extensions.dart';
import 'package:hiddify/core/widget/animated_text.dart';
import 'package:hiddify/features/config_option/data/config_option_repository.dart'; import 'package:hiddify/features/config_option/data/config_option_repository.dart';
import 'package:hiddify/features/config_option/notifier/config_option_notifier.dart'; import 'package:hiddify/features/config_option/notifier/config_option_notifier.dart';
import 'package:hiddify/features/connection/model/connection_status.dart'; import 'package:hiddify/features/connection/model/connection_status.dart';
@@ -160,25 +161,9 @@ class _ConnectionButton extends StatelessWidget {
), ),
const Gap(16), const Gap(16),
ExcludeSemantics( ExcludeSemantics(
child: AnimatedSwitcher( child: AnimatedText(
duration: const Duration(milliseconds: 250), label,
transitionBuilder: (child, animation) { style: Theme.of(context).textTheme.titleMedium,
return SlideTransition(
position: Tween<Offset>(
begin: const Offset(0.0, -0.2),
end: Offset.zero,
).animate(animation),
child: FadeTransition(
opacity: animation,
child: child,
),
);
},
child: Text(
label,
key: ValueKey<String>(label),
style: Theme.of(context).textTheme.titleMedium,
),
), ),
), ),
], ],

View File

@@ -9,6 +9,7 @@ import 'package:hiddify/features/proxy/active/active_proxy_notifier.dart';
import 'package:hiddify/features/proxy/active/ip_widget.dart'; import 'package:hiddify/features/proxy/active/ip_widget.dart';
import 'package:hiddify/features/proxy/model/proxy_failure.dart'; import 'package:hiddify/features/proxy/model/proxy_failure.dart';
import 'package:hiddify/features/stats/notifier/stats_notifier.dart'; import 'package:hiddify/features/stats/notifier/stats_notifier.dart';
import 'package:hiddify/gen/fonts.gen.dart';
import 'package:hiddify/utils/utils.dart'; import 'package:hiddify/utils/utils.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
@@ -128,13 +129,13 @@ class _StatsColumn extends HookConsumerWidget {
_InfoProp( _InfoProp(
icon: FluentIcons.arrow_bidirectional_up_down_20_regular, icon: FluentIcons.arrow_bidirectional_up_down_20_regular,
text: (stats?.downlinkTotal ?? 0).size(), text: (stats?.downlinkTotal ?? 0).size(),
semanticLabel: t.proxies.statsSemantics.totalTransferred, semanticLabel: t.stats.totalTransferred,
), ),
const Gap(8), const Gap(8),
_InfoProp( _InfoProp(
icon: FluentIcons.arrow_download_20_regular, icon: FluentIcons.arrow_download_20_regular,
text: (stats?.downlink ?? 0).speed(), text: (stats?.downlink ?? 0).speed(),
semanticLabel: t.proxies.statsSemantics.speed, semanticLabel: t.stats.speed,
), ),
], ],
), ),
@@ -165,7 +166,10 @@ class _InfoProp extends StatelessWidget {
Flexible( Flexible(
child: Text( child: Text(
text, text,
style: Theme.of(context).textTheme.labelMedium, style: Theme.of(context)
.textTheme
.labelMedium
?.copyWith(fontFamily: FontFamily.emoji),
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
), ),
), ),

View File

@@ -1,117 +0,0 @@
import 'package:dartx/dartx.dart';
import 'package:fluentui_system_icons/fluentui_system_icons.dart';
import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:hiddify/core/localization/translations.dart';
import 'package:hiddify/core/widget/shimmer_skeleton.dart';
import 'package:hiddify/features/proxy/active/active_proxy_notifier.dart';
import 'package:hiddify/features/proxy/active/ip_widget.dart';
import 'package:hiddify/features/proxy/model/proxy_failure.dart';
import 'package:hiddify/gen/fonts.gen.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
class ActiveProxySideBarCard extends HookConsumerWidget {
const ActiveProxySideBarCard({super.key});
Widget buildProp(Widget icon, Widget child) {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
icon,
const Gap(4),
Flexible(child: child),
],
);
}
@override
Widget build(BuildContext context, WidgetRef ref) {
final theme = Theme.of(context);
final t = ref.watch(translationsProvider);
final activeProxy = ref.watch(activeProxyNotifierProvider);
final ipInfo = ref.watch(ipInfoNotifierProvider);
Widget propText(String txt) {
return Text(
txt,
overflow: TextOverflow.ellipsis,
style:
theme.textTheme.bodySmall?.copyWith(fontFamily: FontFamily.emoji),
);
}
return Theme(
data: theme.copyWith(
iconTheme: theme.iconTheme.copyWith(size: 14),
),
child: Card(
margin: EdgeInsets.zero,
shadowColor: Colors.transparent,
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 4, horizontal: 8),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(t.home.stats.connection),
const Gap(4),
switch (activeProxy) {
AsyncData(value: final proxy) => buildProp(
const Icon(FluentIcons.arrow_routing_20_regular),
propText(
proxy.selectedName.isNotNullOrBlank
? proxy.selectedName!
: proxy.name,
),
),
_ => buildProp(
const Icon(FluentIcons.arrow_routing_20_regular),
propText("..."),
),
},
const Gap(4),
switch (ipInfo) {
AsyncData(value: final info) => buildProp(
IPCountryFlag(
countryCode: info.countryCode,
size: 16,
),
IPText(
ip: info.ip,
onLongPress: () async {
ref.read(ipInfoNotifierProvider.notifier).refresh();
},
constrained: true,
),
),
AsyncLoading() => buildProp(
const Icon(FluentIcons.question_circle_20_regular),
const ShimmerSkeleton(widthFactor: .85, height: 14),
),
AsyncError(error: final UnknownIp _) => buildProp(
const Icon(FluentIcons.arrow_sync_20_regular),
UnknownIPText(
text: t.proxies.checkIp,
onTap: () async {
ref.read(ipInfoNotifierProvider.notifier).refresh();
},
constrained: true,
),
),
_ => buildProp(
const Icon(FluentIcons.error_circle_20_regular),
UnknownIPText(
text: t.proxies.unknownIp,
onTap: () async {
ref.read(ipInfoNotifierProvider.notifier).refresh();
},
constrained: true,
),
),
},
],
),
),
),
);
}
}

View File

@@ -0,0 +1,87 @@
import 'package:dartx/dartx.dart';
import 'package:fluentui_system_icons/fluentui_system_icons.dart';
import 'package:flutter/material.dart';
import 'package:hiddify/core/localization/translations.dart';
import 'package:hiddify/core/widget/shimmer_skeleton.dart';
import 'package:hiddify/features/proxy/active/active_proxy_notifier.dart';
import 'package:hiddify/features/proxy/active/ip_widget.dart';
import 'package:hiddify/features/proxy/model/proxy_failure.dart';
import 'package:hiddify/features/stats/widget/stats_card.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
class ConnectionStatsCard extends HookConsumerWidget {
const ConnectionStatsCard({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final t = ref.watch(translationsProvider);
final activeProxy = ref.watch(activeProxyNotifierProvider);
final ipInfo = ref.watch(ipInfoNotifierProvider);
return StatsCard(
title: t.stats.connection,
stats: [
switch (activeProxy) {
AsyncData(value: final proxy) => (
label: const Icon(FluentIcons.arrow_routing_20_regular),
data: Text(
proxy.selectedName.isNotNullOrBlank
? proxy.selectedName!
: proxy.name,
),
semanticLabel: null,
),
_ => (
label: const Icon(FluentIcons.arrow_routing_20_regular),
data: const Text("..."),
semanticLabel: null,
),
},
switch (ipInfo) {
AsyncData(value: final info) => (
label: IPCountryFlag(
countryCode: info.countryCode,
size: 16,
),
data: IPText(
ip: info.ip,
onLongPress: () async {
ref.read(ipInfoNotifierProvider.notifier).refresh();
},
constrained: true,
),
semanticLabel: null,
),
AsyncLoading() => (
label: const Icon(FluentIcons.question_circle_20_regular),
data: const ShimmerSkeleton(widthFactor: .85, height: 14),
semanticLabel: null,
),
AsyncError(error: final UnknownIp _) => (
label: const Icon(FluentIcons.arrow_sync_20_regular),
data: UnknownIPText(
text: t.proxies.checkIp,
onTap: () async {
ref.read(ipInfoNotifierProvider.notifier).refresh();
},
constrained: true,
),
semanticLabel: null,
),
_ => (
label: const Icon(FluentIcons.error_circle_20_regular),
data: UnknownIPText(
text: t.proxies.unknownIp,
onTap: () async {
ref.read(ipInfoNotifierProvider.notifier).refresh();
},
constrained: true,
),
semanticLabel: null,
),
},
],
);
}
}

View File

@@ -1,12 +1,22 @@
import 'package:fluentui_system_icons/fluentui_system_icons.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:gap/gap.dart'; import 'package:gap/gap.dart';
import 'package:hiddify/core/localization/translations.dart'; import 'package:hiddify/core/localization/translations.dart';
import 'package:hiddify/features/proxy/active/active_proxy_sidebar_card.dart'; import 'package:hiddify/core/model/constants.dart';
import 'package:hiddify/core/utils/preferences_utils.dart';
import 'package:hiddify/core/widget/animated_text.dart';
import 'package:hiddify/features/stats/model/stats_entity.dart'; import 'package:hiddify/features/stats/model/stats_entity.dart';
import 'package:hiddify/features/stats/notifier/stats_notifier.dart'; import 'package:hiddify/features/stats/notifier/stats_notifier.dart';
import 'package:hiddify/features/stats/widget/connection_stats_card.dart';
import 'package:hiddify/features/stats/widget/stats_card.dart';
import 'package:hiddify/utils/number_formatters.dart'; import 'package:hiddify/utils/number_formatters.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
final showAllSidebarStatsProvider = PreferencesNotifier.createAutoDispose(
"show_all_sidebar_stats",
false,
);
class SideBarStatsOverview extends HookConsumerWidget { class SideBarStatsOverview extends HookConsumerWidget {
const SideBarStatsOverview({super.key}); const SideBarStatsOverview({super.key});
@@ -16,39 +26,114 @@ class SideBarStatsOverview extends HookConsumerWidget {
final stats = final stats =
ref.watch(statsNotifierProvider).asData?.value ?? StatsEntity.empty(); ref.watch(statsNotifierProvider).asData?.value ?? StatsEntity.empty();
final showAll = ref.watch(showAllSidebarStatsProvider);
return Padding( return Padding(
padding: const EdgeInsets.symmetric(vertical: 16, horizontal: 16), padding: const EdgeInsets.symmetric(vertical: 16, horizontal: 16),
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
const ActiveProxySideBarCard(), Padding(
const Gap(8), padding: const EdgeInsets.all(2.0),
_StatCard( child: SizedBox(
title: t.home.stats.traffic, height: 18,
firstStat: ( child: TextButton.icon(
label: "", style: TextButton.styleFrom(
data: stats.uplink.speed(), padding: const EdgeInsets.symmetric(horizontal: 8),
semanticLabel: t.home.stats.uplink, textStyle: Theme.of(context).textTheme.labelSmall,
), ),
secondStat: ( onPressed: () {
label: "", ref
data: stats.downlink.speed(), .read(showAllSidebarStatsProvider.notifier)
semanticLabel: t.home.stats.downlink, .update(!showAll);
},
icon: AnimatedRotation(
turns: showAll ? 1 : 0.5,
duration: kAnimationDuration,
child: const Icon(
FluentIcons.chevron_down_16_regular,
size: 16,
),
),
label: AnimatedText(
showAll ? t.general.showLess : t.general.showMore,
),
),
), ),
), ),
const ConnectionStatsCard(),
const Gap(8), const Gap(8),
_StatCard( AnimatedCrossFade(
title: t.home.stats.trafficTotal, crossFadeState:
firstStat: ( showAll ? CrossFadeState.showSecond : CrossFadeState.showFirst,
label: "", duration: kAnimationDuration,
data: stats.uplinkTotal.size(), firstChild: StatsCard(
semanticLabel: t.home.stats.uplink, title: t.stats.traffic,
stats: [
(
label: const Icon(FluentIcons.arrow_download_16_regular),
data: Text(stats.downlink.speed()),
semanticLabel: t.stats.speed,
),
(
label: const Icon(
FluentIcons.arrow_bidirectional_up_down_16_regular,
),
data: Text(stats.downlinkTotal.size()),
semanticLabel: t.stats.totalTransferred,
),
],
), ),
secondStat: ( secondChild: Column(
label: "", children: [
data: stats.downlinkTotal.size(), StatsCard(
semanticLabel: t.home.stats.downlink, title: t.stats.trafficLive,
stats: [
(
label: const Text(
"",
style: TextStyle(color: Colors.green),
),
data: Text(stats.uplink.speed()),
semanticLabel: t.stats.uplink,
),
(
label: Text(
"",
style: TextStyle(
color: Theme.of(context).colorScheme.error,
),
),
data: Text(stats.downlink.speed()),
semanticLabel: t.stats.downlink,
),
],
),
const Gap(8),
StatsCard(
title: t.stats.trafficTotal,
stats: [
(
label: const Text(
"",
style: TextStyle(color: Colors.green),
),
data: Text(stats.uplinkTotal.size()),
semanticLabel: t.stats.uplink,
),
(
label: Text(
"",
style: TextStyle(
color: Theme.of(context).colorScheme.error,
),
),
data: Text(stats.downlinkTotal.size()),
semanticLabel: t.stats.downlink,
),
],
),
],
), ),
), ),
], ],
@@ -56,63 +141,3 @@ class SideBarStatsOverview extends HookConsumerWidget {
); );
} }
} }
class _StatCard extends HookConsumerWidget {
const _StatCard({
required this.title,
required this.firstStat,
required this.secondStat,
});
final String title;
final ({String label, String data, String semanticLabel}) firstStat;
final ({String label, String data, String semanticLabel}) secondStat;
@override
Widget build(BuildContext context, WidgetRef ref) {
final theme = Theme.of(context);
return Card(
margin: EdgeInsets.zero,
shadowColor: Colors.transparent,
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 4, horizontal: 8),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(title),
const Gap(4),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
firstStat.label,
semanticsLabel: firstStat.semanticLabel,
style: const TextStyle(color: Colors.green),
),
Text(
firstStat.data,
style: theme.textTheme.bodySmall,
),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
secondStat.label,
semanticsLabel: secondStat.semanticLabel,
style: TextStyle(color: theme.colorScheme.error),
),
Text(
secondStat.data,
style: theme.textTheme.bodySmall,
),
],
),
],
),
),
);
}
}

View File

@@ -0,0 +1,94 @@
import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:hiddify/core/widget/spaced_list_widget.dart';
typedef PresentableStat = ({Widget label, Widget data, String? semanticLabel});
class StatsCard extends StatelessWidget {
const StatsCard({
super.key,
this.title,
this.titleStyle,
this.padding = const EdgeInsets.symmetric(vertical: 4, horizontal: 8),
this.labelStyle,
this.dataStyle,
required this.stats,
});
final String? title;
final TextStyle? titleStyle;
final EdgeInsets padding;
final TextStyle? labelStyle;
final TextStyle? dataStyle;
final List<PresentableStat> stats;
@override
Widget build(BuildContext context) {
final effectiveTitleStyle =
titleStyle ?? Theme.of(context).textTheme.bodySmall;
final effectiveLabelStyle = labelStyle ??
Theme.of(context)
.textTheme
.bodySmall
?.copyWith(fontWeight: FontWeight.w300);
final effectiveDataStyle = dataStyle ??
Theme.of(context)
.textTheme
.bodySmall
?.copyWith(fontWeight: FontWeight.w300);
return Card(
margin: EdgeInsets.zero,
shadowColor: Colors.transparent,
child: Padding(
padding: padding,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if (title != null) ...[
Text(
title!,
style: effectiveTitleStyle,
),
const Gap(4),
],
...stats
.map(
(stat) {
Widget label = IconTheme.merge(
data: const IconThemeData(size: 14),
child: DefaultTextStyle(
style: effectiveLabelStyle!,
overflow: TextOverflow.ellipsis,
child: stat.label,
),
);
if (stat.semanticLabel != null) {
label = Tooltip(
message: stat.semanticLabel,
verticalOffset: 8,
child: label,
);
}
return Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
label,
const Gap(2),
DefaultTextStyle(
style: effectiveDataStyle!,
overflow: TextOverflow.ellipsis,
child: Flexible(child: stat.data),
),
],
);
},
)
.toList()
.spaceBy(height: 2),
],
),
),
);
}
}