diff --git a/fe-app-podkop/extract-calls.js b/fe-app-podkop/extract-calls.js index 4bc88d1..6b7d765 100644 --- a/fe-app-podkop/extract-calls.js +++ b/fe-app-podkop/extract-calls.js @@ -1,93 +1,75 @@ -import fg from 'fast-glob'; import fs from 'fs/promises'; import path from 'path'; +import glob from 'fast-glob'; +import { parse } from '@babel/parser'; +import traverse from '@babel/traverse'; +import * as t from '@babel/types'; +import { fileURLToPath } from 'url'; +import { dirname } from 'path'; -const outputFile = 'locales/calls.json'; +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); -const tsSearchGlob = 'src/**/*.ts'; -const jsSearchGlob = '../luci-app-podkop/htdocs/luci-static/resources/view/podkop/**/*.js'; +function stripIllegalReturn(code) { + return code.replace(/^\s*return\s+[^;]+;\s*$/gm, (match, offset, input) => { + const after = input.slice(offset + match.length).trim(); + return after === '' ? '' : match; + }); +} -function extractAllUnderscoreCallsFromContent(content) { - const results = []; - let index = 0; +const files = await glob([ + 'src/**/*.ts', + '../luci-app-podkop/htdocs/luci-static/resources/view/podkop/**/*.js', +], { + ignore: [ + '**/*.test.ts', + '**/main.js', + '../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js', + ], + absolute: true, +}); - while (index < content.length) { - const start = content.indexOf('_(', index); - if (start === -1) break; +const results = {}; - let i = start + 2; - let depth = 1; +for (const file of files) { + const contentRaw = await fs.readFile(file, 'utf8'); + const content = stripIllegalReturn(contentRaw); + const relativePath = path.relative(process.cwd(), file); - while (i < content.length && depth > 0) { - if (content[i] === '(') depth++; - else if (content[i] === ')') depth--; - i++; - } - - const raw = content.slice(start, i); - results.push({ raw, index: start }); - index = i; + let ast; + try { + ast = parse(content, { + sourceType: 'module', + plugins: file.endsWith('.ts') ? ['typescript'] : [], + }); + } catch (e) { + console.warn(`⚠️ Parse error in ${relativePath}, skipping`); + continue; } - return results; -} + traverse.default(ast, { + CallExpression(path) { + if (t.isIdentifier(path.node.callee, { name: '_' })) { + const arg = path.node.arguments[0]; + if (t.isStringLiteral(arg)) { + const key = arg.value.trim(); + if (!key) return; // ❌ пропустить пустые ключи + const location = `${relativePath}:${path.node.loc?.start.line ?? '?'}`; -function getLineNumber(content, charIndex) { - return content.slice(0, charIndex).split('\n').length; -} + if (!results[key]) { + results[key] = { call: key, key, places: [] }; + } -function extractKey(call) { - const match = call.match(/^_\(\s*(['"`])((?:\\\1|.)*?)\1\s*\)$/); - return match ? match[2].trim() : null; -} - -function normalizeCall(call) { - return call - .replace(/\s*\n\s*/g, ' ') - .replace(/\s+/g, ' ') - .replace(/\(\s+/g, '(') - .replace(/\s+\)/g, ')') - .replace(/,\s*\)$/, ')') - .trim(); -} - -async function extractAllUnderscoreCallsWithLocations() { - const files = [ - ...(await fg(tsSearchGlob, { ignore: ['**/*test.ts'], absolute: true })), - ...(await fg(jsSearchGlob, { ignore: ['**/main.js'], absolute: true })), - ]; - - const callMap = new Map(); - - for (const file of files) { - const content = await fs.readFile(file, 'utf8'); - const relativePath = path.relative(process.cwd(), file); - const extracted = extractAllUnderscoreCallsFromContent(content); - - for (const { raw, index } of extracted) { - const line = getLineNumber(content, index); - const location = `${relativePath}:${line}`; - - const normalized = normalizeCall(raw); - const key = extractKey(normalized); - - if (!callMap.has(normalized)) { - callMap.set(normalized, { - call: normalized, - key: key ?? '', - places: [], - }); + results[key].places.push(location); + } } - - callMap.get(normalized).places.push(location); - } - } - - const result = [...callMap.values()]; - await fs.mkdir(path.dirname(outputFile), { recursive: true }); - await fs.writeFile(outputFile, JSON.stringify(result, null, 2), 'utf8'); - - console.log(`✅ Найдено ${result.length} уникальных вызовов _(...). Сохранено в ${outputFile}`); + }, + }); } -extractAllUnderscoreCallsWithLocations().catch(console.error); +const outFile = 'locales/calls.json'; +const sorted = Object.values(results).sort((a, b) => a.key.localeCompare(b.key)); // 🔤 сортировка по ключу + +await fs.mkdir(path.dirname(outFile), { recursive: true }); +await fs.writeFile(outFile, JSON.stringify(sorted, null, 2), 'utf8'); +console.log(`✅ Extracted ${sorted.length} translations to ${outFile}`); diff --git a/fe-app-podkop/locales/calls.json b/fe-app-podkop/locales/calls.json index e972fd0..a5c991b 100644 --- a/fe-app-podkop/locales/calls.json +++ b/fe-app-podkop/locales/calls.json @@ -1,48 +1,1613 @@ [ { - "call": "_('Successfully copied!')", - "key": "Successfully copied!", + "call": "✔ Enabled", + "key": "✔ Enabled", "places": [ - "src/helpers/copyToClipboard.ts:10" + "src/podkop/tabs/dashboard/initController.ts:342" ] }, { - "call": "_('Failed to copy!')", - "key": "Failed to copy!", + "call": "✔ Running", + "key": "✔ Running", "places": [ - "src/helpers/copyToClipboard.ts:12" + "src/podkop/tabs/dashboard/initController.ts:353" ] }, { - "call": "_('Operation timed out')", - "key": "Operation timed out", + "call": "✘ Disabled", + "key": "✘ Disabled", "places": [ - "src/helpers/withTimeout.ts:7" + "src/podkop/tabs/dashboard/initController.ts:343" ] }, { - "call": "_('HTTP error')", - "key": "HTTP error", + "call": "✘ Stopped", + "key": "✘ Stopped", "places": [ - "src/podkop/api.ts:27" + "src/podkop/tabs/dashboard/initController.ts:354" ] }, { - "call": "_('Unknown error')", - "key": "Unknown error", + "call": "Active Connections", + "key": "Active Connections", "places": [ - "src/podkop/api.ts:40" + "src/podkop/tabs/dashboard/initController.ts:304" ] }, { - "call": "_('DNS server address cannot be empty')", + "call": "Additional marking rules found", + "key": "Additional marking rules found", + "places": [ + "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:117" + ] + }, + { + "call": "Applicable for SOCKS and Shadowsocks proxy", + "key": "Applicable for SOCKS and Shadowsocks proxy", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:111" + ] + }, + { + "call": "At least one valid domain must be specified. Comments-only content is not allowed.", + "key": "At least one valid domain must be specified. Comments-only content is not allowed.", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:356" + ] + }, + { + "call": "At least one valid subnet or IP must be specified. Comments-only content is not allowed.", + "key": "At least one valid subnet or IP must be specified. Comments-only content is not allowed.", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:437" + ] + }, + { + "call": "Bootsrap DNS", + "key": "Bootsrap DNS", + "places": [ + "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:72" + ] + }, + { + "call": "Bootstrap DNS server", + "key": "Bootstrap DNS server", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:45" + ] + }, + { + "call": "Browser is not using FakeIP", + "key": "Browser is not using FakeIP", + "places": [ + "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:81" + ] + }, + { + "call": "Browser is using FakeIP correctly", + "key": "Browser is using FakeIP correctly", + "places": [ + "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:80" + ] + }, + { + "call": "Cache File Path", + "key": "Cache File Path", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:322" + ] + }, + { + "call": "Cache file path cannot be empty", + "key": "Cache file path cannot be empty", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:336" + ] + }, + { + "call": "Cannot receive DNS checks result", + "key": "Cannot receive DNS checks result", + "places": [ + "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:26" + ] + }, + { + "call": "Cannot receive nftables checks result", + "key": "Cannot receive nftables checks result", + "places": [ + "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:27" + ] + }, + { + "call": "Cannot receive Sing-box checks result", + "key": "Cannot receive Sing-box checks result", + "places": [ + "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:24" + ] + }, + { + "call": "Checking dns, please wait", + "key": "Checking dns, please wait", + "places": [ + "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:14" + ] + }, + { + "call": "Checking FakeIP, please wait", + "key": "Checking FakeIP, please wait", + "places": [ + "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:14" + ] + }, + { + "call": "Checking nftables, please wait", + "key": "Checking nftables, please wait", + "places": [ + "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:12" + ] + }, + { + "call": "Checking sing-box, please wait", + "key": "Checking sing-box, please wait", + "places": [ + "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:12" + ] + }, + { + "call": "CIDR must be between 0 and 32", + "key": "CIDR must be between 0 and 32", + "places": [ + "src/validators/validateSubnet.ts:33" + ] + }, + { + "call": "Close", + "key": "Close", + "places": [ + "src/partials/modal/renderModal.ts:26" + ] + }, + { + "call": "Community Lists", + "key": "Community Lists", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:211" + ] + }, + { + "call": "Config File Path", + "key": "Config File Path", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:309" + ] + }, + { + "call": "Configuration for Podkop service", + "key": "Configuration for Podkop service", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:27" + ] + }, + { + "call": "Configuration Type", + "key": "Configuration Type", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:22" + ] + }, + { + "call": "Connection Type", + "key": "Connection Type", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:12" + ] + }, + { + "call": "Connection URL", + "key": "Connection URL", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:25" + ] + }, + { + "call": "Copy", + "key": "Copy", + "places": [ + "src/partials/modal/renderModal.ts:20" + ] + }, + { + "call": "Currently unavailable", + "key": "Currently unavailable", + "places": [ + "src/podkop/tabs/dashboard/partials/renderWidget.ts:22" + ] + }, + { + "call": "Dashboard", + "key": "Dashboard", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:80" + ] + }, + { + "call": "Dashboard currently unavailable", + "key": "Dashboard currently unavailable", + "places": [ + "src/podkop/tabs/dashboard/partials/renderSections.ts:19" + ] + }, + { + "call": "Delay in milliseconds before reloading podkop after interface UP", + "key": "Delay in milliseconds before reloading podkop after interface UP", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:215" + ] + }, + { + "call": "Delay value cannot be empty", + "key": "Delay value cannot be empty", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:222" + ] + }, + { + "call": "DHCP has DNS server", + "key": "DHCP has DNS server", + "places": [ + "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:89" + ] + }, + { + "call": "Diagnostics", + "key": "Diagnostics", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:65" + ] + }, + { + "call": "Disable autostart", + "key": "Disable autostart", + "places": [ + "src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:79" + ] + }, + { + "call": "Disable QUIC", + "key": "Disable QUIC", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:239" + ] + }, + { + "call": "Disable the QUIC protocol to improve compatibility or fix issues with video streaming", + "key": "Disable the QUIC protocol to improve compatibility or fix issues with video streaming", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:240" + ] + }, + { + "call": "Disabled", + "key": "Disabled", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:302", + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:382" + ] + }, + { + "call": "DNS checks", + "key": "DNS checks", + "places": [ + "src/podkop/tabs/diagnostic/checks/contstants.ts:14" + ] + }, + { + "call": "DNS checks passed", + "key": "DNS checks passed", + "places": [ + "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:64" + ] + }, + { + "call": "DNS on router", + "key": "DNS on router", + "places": [ + "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:84" + ] + }, + { + "call": "DNS over HTTPS (DoH)", + "key": "DNS over HTTPS (DoH)", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:179", + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:15" + ] + }, + { + "call": "DNS over TLS (DoT)", + "key": "DNS over TLS (DoT)", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:180", + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:16" + ] + }, + { + "call": "DNS Protocol Type", + "key": "DNS Protocol Type", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:176", + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:12" + ] + }, + { + "call": "DNS Rewrite TTL", + "key": "DNS Rewrite TTL", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:68" + ] + }, + { + "call": "DNS Server", + "key": "DNS Server", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:189", + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:24" + ] + }, + { + "call": "DNS server address cannot be empty", "key": "DNS server address cannot be empty", "places": [ "src/validators/validateDns.ts:7" ] }, { - "call": "_('Valid')", + "call": "Domain Resolver", + "key": "Domain Resolver", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:166" + ] + }, + { + "call": "Dont Touch My DHCP!", + "key": "Dont Touch My DHCP!", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:300" + ] + }, + { + "call": "Downlink", + "key": "Downlink", + "places": [ + "src/podkop/tabs/dashboard/initController.ts:238", + "src/podkop/tabs/dashboard/initController.ts:272" + ] + }, + { + "call": "Download", + "key": "Download", + "places": [ + "src/partials/modal/renderModal.ts:15" + ] + }, + { + "call": "Download Lists via Proxy/VPN", + "key": "Download Lists via Proxy/VPN", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:262" + ] + }, + { + "call": "Download Lists via specific proxy section", + "key": "Download Lists via specific proxy section", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:271" + ] + }, + { + "call": "Downloading all lists via main Proxy/VPN", + "key": "Downloading all lists via main Proxy/VPN", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:263" + ] + }, + { + "call": "Downloading all lists via specific Proxy/VPN", + "key": "Downloading all lists via specific Proxy/VPN", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:272" + ] + }, + { + "call": "Dynamic List", + "key": "Dynamic List", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:303", + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:383" + ] + }, + { + "call": "Enable autostart", + "key": "Enable autostart", + "places": [ + "src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:89" + ] + }, + { + "call": "Enable built-in DNS resolver for domains handled by this section", + "key": "Enable built-in DNS resolver for domains handled by this section", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:167" + ] + }, + { + "call": "Enable Mixed Proxy", + "key": "Enable Mixed Proxy", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:575" + ] + }, + { + "call": "Enable Output Network Interface", + "key": "Enable Output Network Interface", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:126" + ] + }, + { + "call": "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies", + "key": "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:576" + ] + }, + { + "call": "Enable YACD", + "key": "Enable YACD", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:230" + ] + }, + { + "call": "Enter complete outbound configuration in JSON format", + "key": "Enter complete outbound configuration in JSON format", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:65" + ] + }, + { + "call": "Enter domain names separated by commas, spaces, or newlines. You can add comments using //", + "key": "Enter domain names separated by commas, spaces, or newlines. You can add comments using //", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:338" + ] + }, + { + "call": "Enter domain names without protocols, e.g. example.com or sub.example.com", + "key": "Enter domain names without protocols, e.g. example.com or sub.example.com", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:312" + ] + }, + { + "call": "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses", + "key": "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:392" + ] + }, + { + "call": "Exclude NTP", + "key": "Exclude NTP", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:358" + ] + }, + { + "call": "Exclude NTP protocol traffic from the tunnel to prevent it from being routed through the proxy or VPN", + "key": "Exclude NTP protocol traffic from the tunnel to prevent it from being routed through the proxy or VPN", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:359" + ] + }, + { + "call": "Failed to copy!", + "key": "Failed to copy!", + "places": [ + "src/helpers/copyToClipboard.ts:12" + ] + }, + { + "call": "FakeIP checks", + "key": "FakeIP checks", + "places": [ + "src/podkop/tabs/diagnostic/checks/contstants.ts:29" + ] + }, + { + "call": "FakeIP checks failed", + "key": "FakeIP checks failed", + "places": [ + "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:57" + ] + }, + { + "call": "FakeIP checks partially passed", + "key": "FakeIP checks partially passed", + "places": [ + "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:51" + ] + }, + { + "call": "FakeIP checks passed", + "key": "FakeIP checks passed", + "places": [ + "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:44" + ] + }, + { + "call": "Fastest", + "key": "Fastest", + "places": [ + "src/podkop/methods/custom/getDashboardSections.ts:117" + ] + }, + { + "call": "Fully Routed IPs", + "key": "Fully Routed IPs", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:550" + ] + }, + { + "call": "Get global check", + "key": "Get global check", + "places": [ + "src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:98" + ] + }, + { + "call": "Global check", + "key": "Global check", + "places": [ + "src/podkop/tabs/diagnostic/initController.ts:218" + ] + }, + { + "call": "HTTP error", + "key": "HTTP error", + "places": [ + "src/podkop/api.ts:27" + ] + }, + { + "call": "Interface Monitoring", + "key": "Interface Monitoring", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:182" + ] + }, + { + "call": "Interface Monitoring Delay", + "key": "Interface Monitoring Delay", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:214" + ] + }, + { + "call": "Interface monitoring for Bad WAN", + "key": "Interface monitoring for Bad WAN", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:183" + ] + }, + { + "call": "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH", + "key": "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH", + "places": [ + "src/validators/validateDns.ts:20" + ] + }, + { + "call": "Invalid domain address", + "key": "Invalid domain address", + "places": [ + "src/validators/validateDomain.ts:18", + "src/validators/validateDomain.ts:27" + ] + }, + { + "call": "Invalid format. Use X.X.X.X or X.X.X.X/Y", + "key": "Invalid format. Use X.X.X.X or X.X.X.X/Y", + "places": [ + "src/validators/validateSubnet.ts:11" + ] + }, + { + "call": "Invalid IP address", + "key": "Invalid IP address", + "places": [ + "src/validators/validateIp.ts:11" + ] + }, + { + "call": "Invalid JSON format", + "key": "Invalid JSON format", + "places": [ + "src/validators/validateOutboundJson.ts:19" + ] + }, + { + "call": "Invalid path format. Path must start with \"/\" and contain valid characters", + "key": "Invalid path format. Path must start with \"/\" and contain valid characters", + "places": [ + "src/validators/validatePath.ts:22" + ] + }, + { + "call": "Invalid port number. Must be between 1 and 65535", + "key": "Invalid port number. Must be between 1 and 65535", + "places": [ + "src/validators/validateShadowsocksUrl.ts:85" + ] + }, + { + "call": "Invalid Shadowsocks URL: decoded credentials must contain method:password", + "key": "Invalid Shadowsocks URL: decoded credentials must contain method:password", + "places": [ + "src/validators/validateShadowsocksUrl.ts:37" + ] + }, + { + "call": "Invalid Shadowsocks URL: missing credentials", + "key": "Invalid Shadowsocks URL: missing credentials", + "places": [ + "src/validators/validateShadowsocksUrl.ts:27" + ] + }, + { + "call": "Invalid Shadowsocks URL: missing method and password separator \":\"", + "key": "Invalid Shadowsocks URL: missing method and password separator \":\"", + "places": [ + "src/validators/validateShadowsocksUrl.ts:46" + ] + }, + { + "call": "Invalid Shadowsocks URL: missing port", + "key": "Invalid Shadowsocks URL: missing port", + "places": [ + "src/validators/validateShadowsocksUrl.ts:76" + ] + }, + { + "call": "Invalid Shadowsocks URL: missing server", + "key": "Invalid Shadowsocks URL: missing server", + "places": [ + "src/validators/validateShadowsocksUrl.ts:67" + ] + }, + { + "call": "Invalid Shadowsocks URL: missing server address", + "key": "Invalid Shadowsocks URL: missing server address", + "places": [ + "src/validators/validateShadowsocksUrl.ts:58" + ] + }, + { + "call": "Invalid Shadowsocks URL: must not contain spaces", + "key": "Invalid Shadowsocks URL: must not contain spaces", + "places": [ + "src/validators/validateShadowsocksUrl.ts:16" + ] + }, + { + "call": "Invalid Shadowsocks URL: must start with ss://", + "key": "Invalid Shadowsocks URL: must start with ss://", + "places": [ + "src/validators/validateShadowsocksUrl.ts:8" + ] + }, + { + "call": "Invalid Shadowsocks URL: parsing failed", + "key": "Invalid Shadowsocks URL: parsing failed", + "places": [ + "src/validators/validateShadowsocksUrl.ts:91" + ] + }, + { + "call": "Invalid SOCKS URL: invalid host format", + "key": "Invalid SOCKS URL: invalid host format", + "places": [ + "src/validators/validateSocksUrl.ts:73" + ] + }, + { + "call": "Invalid SOCKS URL: invalid port number", + "key": "Invalid SOCKS URL: invalid port number", + "places": [ + "src/validators/validateSocksUrl.ts:63" + ] + }, + { + "call": "Invalid SOCKS URL: missing host and port", + "key": "Invalid SOCKS URL: missing host and port", + "places": [ + "src/validators/validateSocksUrl.ts:42" + ] + }, + { + "call": "Invalid SOCKS URL: missing hostname or IP", + "key": "Invalid SOCKS URL: missing hostname or IP", + "places": [ + "src/validators/validateSocksUrl.ts:51" + ] + }, + { + "call": "Invalid SOCKS URL: missing port", + "key": "Invalid SOCKS URL: missing port", + "places": [ + "src/validators/validateSocksUrl.ts:56" + ] + }, + { + "call": "Invalid SOCKS URL: missing username", + "key": "Invalid SOCKS URL: missing username", + "places": [ + "src/validators/validateSocksUrl.ts:34" + ] + }, + { + "call": "Invalid SOCKS URL: must not contain spaces", + "key": "Invalid SOCKS URL: must not contain spaces", + "places": [ + "src/validators/validateSocksUrl.ts:19" + ] + }, + { + "call": "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://", + "key": "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://", + "places": [ + "src/validators/validateSocksUrl.ts:10" + ] + }, + { + "call": "Invalid SOCKS URL: parsing failed", + "key": "Invalid SOCKS URL: parsing failed", + "places": [ + "src/validators/validateSocksUrl.ts:77" + ] + }, + { + "call": "Invalid Trojan URL: must not contain spaces", + "key": "Invalid Trojan URL: must not contain spaces", + "places": [ + "src/validators/validateTrojanUrl.ts:15" + ] + }, + { + "call": "Invalid Trojan URL: must start with trojan://", + "key": "Invalid Trojan URL: must start with trojan://", + "places": [ + "src/validators/validateTrojanUrl.ts:8" + ] + }, + { + "call": "Invalid Trojan URL: parsing failed", + "key": "Invalid Trojan URL: parsing failed", + "places": [ + "src/validators/validateTrojanUrl.ts:56" + ] + }, + { + "call": "Invalid URL format", + "key": "Invalid URL format", + "places": [ + "src/validators/validateUrl.ts:18" + ] + }, + { + "call": "Invalid VLESS URL: parsing failed", + "key": "Invalid VLESS URL: parsing failed", + "places": [ + "src/validators/validateVlessUrl.ts:109" + ] + }, + { + "call": "IP address 0.0.0.0 is not allowed", + "key": "IP address 0.0.0.0 is not allowed", + "places": [ + "src/validators/validateSubnet.ts:18" + ] + }, + { + "call": "Latest", + "key": "Latest", + "places": [ + "src/podkop/tabs/diagnostic/initController.ts:404" + ] + }, + { + "call": "List Update Frequency", + "key": "List Update Frequency", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:250" + ] + }, + { + "call": "Local Domain Lists", + "key": "Local Domain Lists", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:458" + ] + }, + { + "call": "Local Subnet Lists", + "key": "Local Subnet Lists", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:481" + ] + }, + { + "call": "Main DNS", + "key": "Main DNS", + "places": [ + "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:79" + ] + }, + { + "call": "Memory Usage", + "key": "Memory Usage", + "places": [ + "src/podkop/tabs/dashboard/initController.ts:308" + ] + }, + { + "call": "Mixed Proxy Port", + "key": "Mixed Proxy Port", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:586" + ] + }, + { + "call": "Monitored Interfaces", + "key": "Monitored Interfaces", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:191" + ] + }, + { + "call": "Network Interface", + "key": "Network Interface", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:120" + ] + }, + { + "call": "Nftables checks", + "key": "Nftables checks", + "places": [ + "src/podkop/tabs/diagnostic/checks/contstants.ts:24" + ] + }, + { + "call": "Nftables checks partially passed", + "key": "Nftables checks partially passed", + "places": [ + "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:75" + ] + }, + { + "call": "Nftables checks passed", + "key": "Nftables checks passed", + "places": [ + "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:74" + ] + }, + { + "call": "No other marking rules found", + "key": "No other marking rules found", + "places": [ + "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:116" + ] + }, + { + "call": "Not implement yet", + "key": "Not implement yet", + "places": [ + "src/podkop/tabs/diagnostic/partials/renderCheckSection.ts:189" + ] + }, + { + "call": "Not running", + "key": "Not running", + "places": [ + "src/podkop/tabs/diagnostic/diagnostic.store.ts:55", + "src/podkop/tabs/diagnostic/diagnostic.store.ts:63", + "src/podkop/tabs/diagnostic/diagnostic.store.ts:71", + "src/podkop/tabs/diagnostic/diagnostic.store.ts:79" + ] + }, + { + "call": "Operation timed out", + "key": "Operation timed out", + "places": [ + "src/helpers/withTimeout.ts:7" + ] + }, + { + "call": "Outbound Config", + "key": "Outbound Config", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:26" + ] + }, + { + "call": "Outbound Configuration", + "key": "Outbound Configuration", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:64" + ] + }, + { + "call": "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields", + "key": "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields", + "places": [ + "src/validators/validateOutboundJson.ts:11" + ] + }, + { + "call": "Outdated", + "key": "Outdated", + "places": [ + "src/podkop/tabs/diagnostic/initController.ts:394" + ] + }, + { + "call": "Output Network Interface", + "key": "Output Network Interface", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:135" + ] + }, + { + "call": "Path cannot be empty", + "key": "Path cannot be empty", + "places": [ + "src/validators/validatePath.ts:7" + ] + }, + { + "call": "Path must be absolute (start with /)", + "key": "Path must be absolute (start with /)", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:340" + ] + }, + { + "call": "Path must contain at least one directory (like /tmp/cache.db)", + "key": "Path must contain at least one directory (like /tmp/cache.db)", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:349" + ] + }, + { + "call": "Path must end with cache.db", + "key": "Path must end with cache.db", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:344" + ] + }, + { + "call": "Podkop", + "key": "Podkop", + "places": [ + "src/podkop/tabs/dashboard/initController.ts:340" + ] + }, + { + "call": "Podkop Settings", + "key": "Podkop Settings", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:26" + ] + }, + { + "call": "Podkop will not modify your DHCP configuration", + "key": "Podkop will not modify your DHCP configuration", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:301" + ] + }, + { + "call": "Proxy Configuration URL", + "key": "Proxy Configuration URL", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:34" + ] + }, + { + "call": "Proxy traffic is not routed via FakeIP", + "key": "Proxy traffic is not routed via FakeIP", + "places": [ + "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:89" + ] + }, + { + "call": "Proxy traffic is routed via FakeIP", + "key": "Proxy traffic is routed via FakeIP", + "places": [ + "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:88" + ] + }, + { + "call": "Queued", + "key": "Queued", + "places": [ + "src/podkop/tabs/diagnostic/diagnostic.store.ts:95", + "src/podkop/tabs/diagnostic/diagnostic.store.ts:103", + "src/podkop/tabs/diagnostic/diagnostic.store.ts:111", + "src/podkop/tabs/diagnostic/diagnostic.store.ts:119" + ] + }, + { + "call": "Regional options cannot be used together", + "key": "Regional options cannot be used together", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:245" + ] + }, + { + "call": "Remote Domain Lists", + "key": "Remote Domain Lists", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:504" + ] + }, + { + "call": "Remote Subnet Lists", + "key": "Remote Subnet Lists", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:527" + ] + }, + { + "call": "Restart podkop", + "key": "Restart podkop", + "places": [ + "src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:49" + ] + }, + { + "call": "Router DNS is not routed through sing-box", + "key": "Router DNS is not routed through sing-box", + "places": [ + "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:74" + ] + }, + { + "call": "Router DNS is routed through sing-box", + "key": "Router DNS is routed through sing-box", + "places": [ + "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:73" + ] + }, + { + "call": "Routing Excluded IPs", + "key": "Routing Excluded IPs", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:369" + ] + }, + { + "call": "Rules mangle counters", + "key": "Rules mangle counters", + "places": [ + "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:90" + ] + }, + { + "call": "Rules mangle exist", + "key": "Rules mangle exist", + "places": [ + "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:85" + ] + }, + { + "call": "Rules mangle output counters", + "key": "Rules mangle output counters", + "places": [ + "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:100" + ] + }, + { + "call": "Rules mangle output exist", + "key": "Rules mangle output exist", + "places": [ + "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:95" + ] + }, + { + "call": "Rules proxy counters", + "key": "Rules proxy counters", + "places": [ + "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:110" + ] + }, + { + "call": "Rules proxy exist", + "key": "Rules proxy exist", + "places": [ + "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:105" + ] + }, + { + "call": "Run Diagnostic", + "key": "Run Diagnostic", + "places": [ + "src/podkop/tabs/diagnostic/partials/renderRunAction.ts:15" + ] + }, + { + "call": "Russia inside restrictions", + "key": "Russia inside restrictions", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:264" + ] + }, + { + "call": "Sections", + "key": "Sections", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:36" + ] + }, + { + "call": "Select a predefined list for routing", + "key": "Select a predefined list for routing", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:212" + ] + }, + { + "call": "Select between VPN and Proxy connection methods for traffic routing", + "key": "Select between VPN and Proxy connection methods for traffic routing", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:13" + ] + }, + { + "call": "Select DNS protocol to use", + "key": "Select DNS protocol to use", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:13" + ] + }, + { + "call": "Select how often the domain or subnet lists are updated automatically", + "key": "Select how often the domain or subnet lists are updated automatically", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:251" + ] + }, + { + "call": "Select how to configure the proxy", + "key": "Select how to configure the proxy", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:23" + ] + }, + { + "call": "Select network interface for VPN connection", + "key": "Select network interface for VPN connection", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:121" + ] + }, + { + "call": "Select or enter DNS server address", + "key": "Select or enter DNS server address", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:190", + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:25" + ] + }, + { + "call": "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing", + "key": "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:323" + ] + }, + { + "call": "Select path for sing-box config file. Change this ONLY if you know what you are doing", + "key": "Select path for sing-box config file. Change this ONLY if you know what you are doing", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:310" + ] + }, + { + "call": "Select the DNS protocol type for the domain resolver", + "key": "Select the DNS protocol type for the domain resolver", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:177" + ] + }, + { + "call": "Select the list type for adding custom domains", + "key": "Select the list type for adding custom domains", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:300" + ] + }, + { + "call": "Select the list type for adding custom subnets", + "key": "Select the list type for adding custom subnets", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:380" + ] + }, + { + "call": "Select the network interface from which the traffic will originate", + "key": "Select the network interface from which the traffic will originate", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:90" + ] + }, + { + "call": "Select the network interface to which the traffic will originate", + "key": "Select the network interface to which the traffic will originate", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:136" + ] + }, + { + "call": "Select the WAN interfaces to be monitored", + "key": "Select the WAN interfaces to be monitored", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:192" + ] + }, + { + "call": "Services info", + "key": "Services info", + "places": [ + "src/podkop/tabs/dashboard/initController.ts:337" + ] + }, + { + "call": "Settings", + "key": "Settings", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:49" + ] + }, + { + "call": "Show sing-box config", + "key": "Show sing-box config", + "places": [ + "src/podkop/tabs/diagnostic/initController.ts:278", + "src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:116" + ] + }, + { + "call": "Sing-box", + "key": "Sing-box", + "places": [ + "src/podkop/tabs/dashboard/initController.ts:351" + ] + }, + { + "call": "Sing-box autostart disabled", + "key": "Sing-box autostart disabled", + "places": [ + "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:86" + ] + }, + { + "call": "Sing-box checks", + "key": "Sing-box checks", + "places": [ + "src/podkop/tabs/diagnostic/checks/contstants.ts:19" + ] + }, + { + "call": "Sing-box checks passed", + "key": "Sing-box checks passed", + "places": [ + "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:66" + ] + }, + { + "call": "Sing-box installed", + "key": "Sing-box installed", + "places": [ + "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:71" + ] + }, + { + "call": "Sing-box listening ports", + "key": "Sing-box listening ports", + "places": [ + "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:96" + ] + }, + { + "call": "Sing-box process running", + "key": "Sing-box process running", + "places": [ + "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:91" + ] + }, + { + "call": "Sing-box service exist", + "key": "Sing-box service exist", + "places": [ + "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:81" + ] + }, + { + "call": "Sing-box version >= 1.12.4", + "key": "Sing-box version >= 1.12.4", + "places": [ + "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:76" + ] + }, + { + "call": "Source Network Interface", + "key": "Source Network Interface", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:89" + ] + }, + { + "call": "Specify a local IP address to be excluded from routing", + "key": "Specify a local IP address to be excluded from routing", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:370" + ] + }, + { + "call": "Specify local IP addresses or subnets whose traffic will always be routed through the configured route", + "key": "Specify local IP addresses or subnets whose traffic will always be routed through the configured route", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:551" + ] + }, + { + "call": "Specify remote URLs to download and use domain lists", + "key": "Specify remote URLs to download and use domain lists", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:505" + ] + }, + { + "call": "Specify remote URLs to download and use subnet lists", + "key": "Specify remote URLs to download and use subnet lists", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:528" + ] + }, + { + "call": "Specify the path to the list file located on the router filesystem", + "key": "Specify the path to the list file located on the router filesystem", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:459", + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:482" + ] + }, + { + "call": "Start podkop", + "key": "Start podkop", + "places": [ + "src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:69" + ] + }, + { + "call": "Stop podkop", + "key": "Stop podkop", + "places": [ + "src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:59" + ] + }, + { + "call": "Successfully copied!", + "key": "Successfully copied!", + "places": [ + "src/helpers/copyToClipboard.ts:10" + ] + }, + { + "call": "System info", + "key": "System info", + "places": [ + "src/podkop/tabs/dashboard/initController.ts:301" + ] + }, + { + "call": "Table exist", + "key": "Table exist", + "places": [ + "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:80" + ] + }, + { + "call": "Test latency", + "key": "Test latency", + "places": [ + "src/podkop/tabs/dashboard/partials/renderSections.ts:108" + ] + }, + { + "call": "Text List", + "key": "Text List", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:304" + ] + }, + { + "call": "Text List (comma/space/newline separated)", + "key": "Text List (comma/space/newline separated)", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:384" + ] + }, + { + "call": "The DNS server used to look up the IP address of an upstream DNS server", + "key": "The DNS server used to look up the IP address of an upstream DNS server", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:46" + ] + }, + { + "call": "Time in seconds for DNS record caching (default: 60)", + "key": "Time in seconds for DNS record caching (default: 60)", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:69" + ] + }, + { + "call": "Traffic", + "key": "Traffic", + "places": [ + "src/podkop/tabs/dashboard/initController.ts:235" + ] + }, + { + "call": "Traffic Total", + "key": "Traffic Total", + "places": [ + "src/podkop/tabs/dashboard/initController.ts:265" + ] + }, + { + "call": "TTL must be a positive number", + "key": "TTL must be a positive number", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:80" + ] + }, + { + "call": "TTL value cannot be empty", + "key": "TTL value cannot be empty", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:75" + ] + }, + { + "call": "UDP (Unprotected DNS)", + "key": "UDP (Unprotected DNS)", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:181", + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:17" + ] + }, + { + "call": "UDP over TCP", + "key": "UDP over TCP", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:110" + ] + }, + { + "call": "unknown", + "key": "unknown", + "places": [ + "src/podkop/tabs/diagnostic/initController.ts:34", + "src/podkop/tabs/diagnostic/initController.ts:35", + "src/podkop/tabs/diagnostic/initController.ts:36", + "src/podkop/tabs/diagnostic/initController.ts:37", + "src/podkop/tabs/diagnostic/initController.ts:38", + "src/podkop/tabs/diagnostic/initController.ts:39", + "src/podkop/tabs/diagnostic/initController.ts:373" + ] + }, + { + "call": "Unknown error", + "key": "Unknown error", + "places": [ + "src/podkop/api.ts:40" + ] + }, + { + "call": "Uplink", + "key": "Uplink", + "places": [ + "src/podkop/tabs/dashboard/initController.ts:237", + "src/podkop/tabs/dashboard/initController.ts:268" + ] + }, + { + "call": "URL must start with vless://, ss://, trojan://, or socks4/5://", + "key": "URL must start with vless://, ss://, trojan://, or socks4/5://", + "places": [ + "src/validators/validateProxyUrl.ts:27" + ] + }, + { + "call": "URL must use one of the following protocols:", + "key": "URL must use one of the following protocols:", + "places": [ + "src/validators/validateUrl.ts:13" + ] + }, + { + "call": "URLTest", + "key": "URLTest", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:27" + ] + }, + { + "call": "URLTest Proxy Links", + "key": "URLTest Proxy Links", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:87" + ] + }, + { + "call": "User Domain List Type", + "key": "User Domain List Type", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:299" + ] + }, + { + "call": "User Domains", + "key": "User Domains", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:311" + ] + }, + { + "call": "User Domains List", + "key": "User Domains List", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:337" + ] + }, + { + "call": "User Subnet List Type", + "key": "User Subnet List Type", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:379" + ] + }, + { + "call": "User Subnets", + "key": "User Subnets", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:391" + ] + }, + { + "call": "User Subnets List", + "key": "User Subnets List", + "places": [ + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:417" + ] + }, + { + "call": "Valid", "key": "Valid", "places": [ "src/validators/validateDns.ts:11", @@ -61,2049 +1626,7 @@ ] }, { - "call": "_('Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH')", - "key": "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH", - "places": [ - "src/validators/validateDns.ts:20" - ] - }, - { - "call": "_('Invalid domain address')", - "key": "Invalid domain address", - "places": [ - "src/validators/validateDomain.ts:18", - "src/validators/validateDomain.ts:27" - ] - }, - { - "call": "_('Invalid IP address')", - "key": "Invalid IP address", - "places": [ - "src/validators/validateIp.ts:11" - ] - }, - { - "call": "_('Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields')", - "key": "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields", - "places": [ - "src/validators/validateOutboundJson.ts:11", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:327" - ] - }, - { - "call": "_('Invalid JSON format')", - "key": "Invalid JSON format", - "places": [ - "src/validators/validateOutboundJson.ts:19" - ] - }, - { - "call": "_('Path cannot be empty')", - "key": "Path cannot be empty", - "places": [ - "src/validators/validatePath.ts:7" - ] - }, - { - "call": "_('Invalid path format. Path must start with \"/\" and contain valid characters')", - "key": "Invalid path format. Path must start with \"/\" and contain valid characters", - "places": [ - "src/validators/validatePath.ts:22", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:90" - ] - }, - { - "call": "_('URL must start with vless://, ss://, trojan://, or socks4/5://')", - "key": "URL must start with vless://, ss://, trojan://, or socks4/5://", - "places": [ - "src/validators/validateProxyUrl.ts:27" - ] - }, - { - "call": "_('Invalid Shadowsocks URL: must start with ss://')", - "key": "Invalid Shadowsocks URL: must start with ss://", - "places": [ - "src/validators/validateShadowsocksUrl.ts:8" - ] - }, - { - "call": "_('Invalid Shadowsocks URL: must not contain spaces')", - "key": "Invalid Shadowsocks URL: must not contain spaces", - "places": [ - "src/validators/validateShadowsocksUrl.ts:16" - ] - }, - { - "call": "_('Invalid Shadowsocks URL: missing credentials')", - "key": "Invalid Shadowsocks URL: missing credentials", - "places": [ - "src/validators/validateShadowsocksUrl.ts:27" - ] - }, - { - "call": "_('Invalid Shadowsocks URL: decoded credentials must contain method:password')", - "key": "Invalid Shadowsocks URL: decoded credentials must contain method:password", - "places": [ - "src/validators/validateShadowsocksUrl.ts:37" - ] - }, - { - "call": "_('Invalid Shadowsocks URL: missing method and password separator \":\"')", - "key": "Invalid Shadowsocks URL: missing method and password separator \":\"", - "places": [ - "src/validators/validateShadowsocksUrl.ts:46", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:171" - ] - }, - { - "call": "_('Invalid Shadowsocks URL: missing server address')", - "key": "Invalid Shadowsocks URL: missing server address", - "places": [ - "src/validators/validateShadowsocksUrl.ts:58" - ] - }, - { - "call": "_('Invalid Shadowsocks URL: missing server')", - "key": "Invalid Shadowsocks URL: missing server", - "places": [ - "src/validators/validateShadowsocksUrl.ts:67" - ] - }, - { - "call": "_('Invalid Shadowsocks URL: missing port')", - "key": "Invalid Shadowsocks URL: missing port", - "places": [ - "src/validators/validateShadowsocksUrl.ts:76" - ] - }, - { - "call": "_('Invalid port number. Must be between 1 and 65535')", - "key": "Invalid port number. Must be between 1 and 65535", - "places": [ - "src/validators/validateShadowsocksUrl.ts:85" - ] - }, - { - "call": "_('Invalid Shadowsocks URL: parsing failed')", - "key": "Invalid Shadowsocks URL: parsing failed", - "places": [ - "src/validators/validateShadowsocksUrl.ts:91" - ] - }, - { - "call": "_('Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://')", - "key": "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://", - "places": [ - "src/validators/validateSocksUrl.ts:10" - ] - }, - { - "call": "_('Invalid SOCKS URL: must not contain spaces')", - "key": "Invalid SOCKS URL: must not contain spaces", - "places": [ - "src/validators/validateSocksUrl.ts:19" - ] - }, - { - "call": "_('Invalid SOCKS URL: missing username')", - "key": "Invalid SOCKS URL: missing username", - "places": [ - "src/validators/validateSocksUrl.ts:34" - ] - }, - { - "call": "_('Invalid SOCKS URL: missing host and port')", - "key": "Invalid SOCKS URL: missing host and port", - "places": [ - "src/validators/validateSocksUrl.ts:42" - ] - }, - { - "call": "_('Invalid SOCKS URL: missing hostname or IP')", - "key": "Invalid SOCKS URL: missing hostname or IP", - "places": [ - "src/validators/validateSocksUrl.ts:51" - ] - }, - { - "call": "_('Invalid SOCKS URL: missing port')", - "key": "Invalid SOCKS URL: missing port", - "places": [ - "src/validators/validateSocksUrl.ts:56" - ] - }, - { - "call": "_('Invalid SOCKS URL: invalid port number')", - "key": "Invalid SOCKS URL: invalid port number", - "places": [ - "src/validators/validateSocksUrl.ts:63" - ] - }, - { - "call": "_('Invalid SOCKS URL: invalid host format')", - "key": "Invalid SOCKS URL: invalid host format", - "places": [ - "src/validators/validateSocksUrl.ts:73" - ] - }, - { - "call": "_('Invalid SOCKS URL: parsing failed')", - "key": "Invalid SOCKS URL: parsing failed", - "places": [ - "src/validators/validateSocksUrl.ts:77" - ] - }, - { - "call": "_('Invalid format. Use X.X.X.X or X.X.X.X/Y')", - "key": "Invalid format. Use X.X.X.X or X.X.X.X/Y", - "places": [ - "src/validators/validateSubnet.ts:11" - ] - }, - { - "call": "_('IP address 0.0.0.0 is not allowed')", - "key": "IP address 0.0.0.0 is not allowed", - "places": [ - "src/validators/validateSubnet.ts:18" - ] - }, - { - "call": "_('CIDR must be between 0 and 32')", - "key": "CIDR must be between 0 and 32", - "places": [ - "src/validators/validateSubnet.ts:33" - ] - }, - { - "call": "_('Invalid Trojan URL: must start with trojan://')", - "key": "Invalid Trojan URL: must start with trojan://", - "places": [ - "src/validators/validateTrojanUrl.ts:8" - ] - }, - { - "call": "_('Invalid Trojan URL: must not contain spaces')", - "key": "Invalid Trojan URL: must not contain spaces", - "places": [ - "src/validators/validateTrojanUrl.ts:15" - ] - }, - { - "call": "_('Invalid Trojan URL: parsing failed')", - "key": "Invalid Trojan URL: parsing failed", - "places": [ - "src/validators/validateTrojanUrl.ts:56" - ] - }, - { - "call": "_('URL must use one of the following protocols:')", - "key": "URL must use one of the following protocols:", - "places": [ - "src/validators/validateUrl.ts:13" - ] - }, - { - "call": "_('Invalid URL format')", - "key": "Invalid URL format", - "places": [ - "src/validators/validateUrl.ts:18" - ] - }, - { - "call": "_('Invalid VLESS URL: parsing failed')", - "key": "Invalid VLESS URL: parsing failed", - "places": [ - "src/validators/validateVlessUrl.ts:109" - ] - }, - { - "call": "_('Download')", - "key": "Download", - "places": [ - "src/partials/modal/renderModal.ts:15" - ] - }, - { - "call": "_('Copy')", - "key": "Copy", - "places": [ - "src/partials/modal/renderModal.ts:20" - ] - }, - { - "call": "_('Close')", - "key": "Close", - "places": [ - "src/partials/modal/renderModal.ts:26" - ] - }, - { - "call": "_('Fastest')", - "key": "Fastest", - "places": [ - "src/podkop/methods/custom/getDashboardSections.ts:117" - ] - }, - { - "call": "_('Traffic')", - "key": "Traffic", - "places": [ - "src/podkop/tabs/dashboard/initController.ts:235" - ] - }, - { - "call": "_('Uplink')", - "key": "Uplink", - "places": [ - "src/podkop/tabs/dashboard/initController.ts:237", - "src/podkop/tabs/dashboard/initController.ts:268" - ] - }, - { - "call": "_('Downlink')", - "key": "Downlink", - "places": [ - "src/podkop/tabs/dashboard/initController.ts:238", - "src/podkop/tabs/dashboard/initController.ts:272" - ] - }, - { - "call": "_('Traffic Total')", - "key": "Traffic Total", - "places": [ - "src/podkop/tabs/dashboard/initController.ts:265" - ] - }, - { - "call": "_('System info')", - "key": "System info", - "places": [ - "src/podkop/tabs/dashboard/initController.ts:301" - ] - }, - { - "call": "_('Active Connections')", - "key": "Active Connections", - "places": [ - "src/podkop/tabs/dashboard/initController.ts:304" - ] - }, - { - "call": "_('Memory Usage')", - "key": "Memory Usage", - "places": [ - "src/podkop/tabs/dashboard/initController.ts:308" - ] - }, - { - "call": "_('Services info')", - "key": "Services info", - "places": [ - "src/podkop/tabs/dashboard/initController.ts:337" - ] - }, - { - "call": "_('Podkop')", - "key": "Podkop", - "places": [ - "src/podkop/tabs/dashboard/initController.ts:340" - ] - }, - { - "call": "_('✔ Enabled')", - "key": "✔ Enabled", - "places": [ - "src/podkop/tabs/dashboard/initController.ts:342" - ] - }, - { - "call": "_('✘ Disabled')", - "key": "✘ Disabled", - "places": [ - "src/podkop/tabs/dashboard/initController.ts:343" - ] - }, - { - "call": "_('Sing-box')", - "key": "Sing-box", - "places": [ - "src/podkop/tabs/dashboard/initController.ts:351" - ] - }, - { - "call": "_('✔ Running')", - "key": "✔ Running", - "places": [ - "src/podkop/tabs/dashboard/initController.ts:353" - ] - }, - { - "call": "_('✘ Stopped')", - "key": "✘ Stopped", - "places": [ - "src/podkop/tabs/dashboard/initController.ts:354" - ] - }, - { - "call": "_('Not running')", - "key": "Not running", - "places": [ - "src/podkop/tabs/diagnostic/diagnostic.store.ts:55", - "src/podkop/tabs/diagnostic/diagnostic.store.ts:63", - "src/podkop/tabs/diagnostic/diagnostic.store.ts:71", - "src/podkop/tabs/diagnostic/diagnostic.store.ts:79" - ] - }, - { - "call": "_('Queued')", - "key": "Queued", - "places": [ - "src/podkop/tabs/diagnostic/diagnostic.store.ts:95", - "src/podkop/tabs/diagnostic/diagnostic.store.ts:103", - "src/podkop/tabs/diagnostic/diagnostic.store.ts:111", - "src/podkop/tabs/diagnostic/diagnostic.store.ts:119" - ] - }, - { - "call": "_('unknown')", - "key": "unknown", - "places": [ - "src/podkop/tabs/diagnostic/initController.ts:34", - "src/podkop/tabs/diagnostic/initController.ts:35", - "src/podkop/tabs/diagnostic/initController.ts:36", - "src/podkop/tabs/diagnostic/initController.ts:37", - "src/podkop/tabs/diagnostic/initController.ts:38", - "src/podkop/tabs/diagnostic/initController.ts:39", - "src/podkop/tabs/diagnostic/initController.ts:373" - ] - }, - { - "call": "_('Global check')", - "key": "Global check", - "places": [ - "src/podkop/tabs/diagnostic/initController.ts:218" - ] - }, - { - "call": "_('View logs')", - "key": "View logs", - "places": [ - "src/podkop/tabs/diagnostic/initController.ts:248", - "src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:107" - ] - }, - { - "call": "_('Show sing-box config')", - "key": "Show sing-box config", - "places": [ - "src/podkop/tabs/diagnostic/initController.ts:278", - "src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:116" - ] - }, - { - "call": "_('Outdated')", - "key": "Outdated", - "places": [ - "src/podkop/tabs/diagnostic/initController.ts:394" - ] - }, - { - "call": "_('Latest')", - "key": "Latest", - "places": [ - "src/podkop/tabs/diagnostic/initController.ts:404" - ] - }, - { - "call": "_('Dashboard currently unavailable')", - "key": "Dashboard currently unavailable", - "places": [ - "src/podkop/tabs/dashboard/partials/renderSections.ts:19" - ] - }, - { - "call": "_('Test latency')", - "key": "Test latency", - "places": [ - "src/podkop/tabs/dashboard/partials/renderSections.ts:108" - ] - }, - { - "call": "_('Currently unavailable')", - "key": "Currently unavailable", - "places": [ - "src/podkop/tabs/dashboard/partials/renderWidget.ts:22" - ] - }, - { - "call": "_('DNS checks')", - "key": "DNS checks", - "places": [ - "src/podkop/tabs/diagnostic/checks/contstants.ts:14" - ] - }, - { - "call": "_('Sing-box checks')", - "key": "Sing-box checks", - "places": [ - "src/podkop/tabs/diagnostic/checks/contstants.ts:19" - ] - }, - { - "call": "_('Nftables checks')", - "key": "Nftables checks", - "places": [ - "src/podkop/tabs/diagnostic/checks/contstants.ts:24" - ] - }, - { - "call": "_('FakeIP checks')", - "key": "FakeIP checks", - "places": [ - "src/podkop/tabs/diagnostic/checks/contstants.ts:29" - ] - }, - { - "call": "_('Checking dns, please wait')", - "key": "Checking dns, please wait", - "places": [ - "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:14" - ] - }, - { - "call": "_('Cannot receive DNS checks result')", - "key": "Cannot receive DNS checks result", - "places": [ - "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:26" - ] - }, - { - "call": "_('DNS checks passed')", - "key": "DNS checks passed", - "places": [ - "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:64" - ] - }, - { - "call": "_('Bootsrap DNS')", - "key": "Bootsrap DNS", - "places": [ - "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:72" - ] - }, - { - "call": "_('Main DNS')", - "key": "Main DNS", - "places": [ - "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:79" - ] - }, - { - "call": "_('DNS on router')", - "key": "DNS on router", - "places": [ - "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:84" - ] - }, - { - "call": "_('DHCP has DNS server')", - "key": "DHCP has DNS server", - "places": [ - "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:89" - ] - }, - { - "call": "_('Checking FakeIP, please wait')", - "key": "Checking FakeIP, please wait", - "places": [ - "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:14" - ] - }, - { - "call": "_('FakeIP checks passed')", - "key": "FakeIP checks passed", - "places": [ - "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:44" - ] - }, - { - "call": "_('FakeIP checks partially passed')", - "key": "FakeIP checks partially passed", - "places": [ - "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:51" - ] - }, - { - "call": "_('FakeIP checks failed')", - "key": "FakeIP checks failed", - "places": [ - "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:57" - ] - }, - { - "call": "_('Router DNS is routed through sing-box')", - "key": "Router DNS is routed through sing-box", - "places": [ - "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:73" - ] - }, - { - "call": "_('Router DNS is not routed through sing-box')", - "key": "Router DNS is not routed through sing-box", - "places": [ - "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:74" - ] - }, - { - "call": "_('Browser is using FakeIP correctly')", - "key": "Browser is using FakeIP correctly", - "places": [ - "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:80" - ] - }, - { - "call": "_('Browser is not using FakeIP')", - "key": "Browser is not using FakeIP", - "places": [ - "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:81" - ] - }, - { - "call": "_('Proxy traffic is routed via FakeIP')", - "key": "Proxy traffic is routed via FakeIP", - "places": [ - "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:88" - ] - }, - { - "call": "_('Proxy traffic is not routed via FakeIP')", - "key": "Proxy traffic is not routed via FakeIP", - "places": [ - "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:89" - ] - }, - { - "call": "_('Checking nftables, please wait')", - "key": "Checking nftables, please wait", - "places": [ - "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:12" - ] - }, - { - "call": "_('Cannot receive nftables checks result')", - "key": "Cannot receive nftables checks result", - "places": [ - "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:27" - ] - }, - { - "call": "_('Nftables checks passed')", - "key": "Nftables checks passed", - "places": [ - "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:74" - ] - }, - { - "call": "_('Nftables checks partially passed')", - "key": "Nftables checks partially passed", - "places": [ - "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:75" - ] - }, - { - "call": "_('Table exist')", - "key": "Table exist", - "places": [ - "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:80" - ] - }, - { - "call": "_('Rules mangle exist')", - "key": "Rules mangle exist", - "places": [ - "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:85" - ] - }, - { - "call": "_('Rules mangle counters')", - "key": "Rules mangle counters", - "places": [ - "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:90" - ] - }, - { - "call": "_('Rules mangle output exist')", - "key": "Rules mangle output exist", - "places": [ - "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:95" - ] - }, - { - "call": "_('Rules mangle output counters')", - "key": "Rules mangle output counters", - "places": [ - "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:100" - ] - }, - { - "call": "_('Rules proxy exist')", - "key": "Rules proxy exist", - "places": [ - "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:105" - ] - }, - { - "call": "_('Rules proxy counters')", - "key": "Rules proxy counters", - "places": [ - "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:110" - ] - }, - { - "call": "_('No other marking rules found')", - "key": "No other marking rules found", - "places": [ - "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:116" - ] - }, - { - "call": "_('Additional marking rules found')", - "key": "Additional marking rules found", - "places": [ - "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:117" - ] - }, - { - "call": "_('Checking sing-box, please wait')", - "key": "Checking sing-box, please wait", - "places": [ - "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:12" - ] - }, - { - "call": "_('Cannot receive Sing-box checks result')", - "key": "Cannot receive Sing-box checks result", - "places": [ - "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:24" - ] - }, - { - "call": "_('Sing-box checks passed')", - "key": "Sing-box checks passed", - "places": [ - "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:66" - ] - }, - { - "call": "_('Sing-box installed')", - "key": "Sing-box installed", - "places": [ - "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:71" - ] - }, - { - "call": "_('Sing-box version >= 1.12.4')", - "key": "Sing-box version >= 1.12.4", - "places": [ - "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:76" - ] - }, - { - "call": "_('Sing-box service exist')", - "key": "Sing-box service exist", - "places": [ - "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:81" - ] - }, - { - "call": "_('Sing-box autostart disabled')", - "key": "Sing-box autostart disabled", - "places": [ - "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:86" - ] - }, - { - "call": "_('Sing-box process running')", - "key": "Sing-box process running", - "places": [ - "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:91" - ] - }, - { - "call": "_('Sing-box listening ports')", - "key": "Sing-box listening ports", - "places": [ - "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:96" - ] - }, - { - "call": "_('Restart podkop')", - "key": "Restart podkop", - "places": [ - "src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:49" - ] - }, - { - "call": "_('Stop podkop')", - "key": "Stop podkop", - "places": [ - "src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:59" - ] - }, - { - "call": "_('Start podkop')", - "key": "Start podkop", - "places": [ - "src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:69" - ] - }, - { - "call": "_('Disable autostart')", - "key": "Disable autostart", - "places": [ - "src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:79" - ] - }, - { - "call": "_('Enable autostart')", - "key": "Enable autostart", - "places": [ - "src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:89" - ] - }, - { - "call": "_('Get global check')", - "key": "Get global check", - "places": [ - "src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:98" - ] - }, - { - "call": "_('Not implement yet')", - "key": "Not implement yet", - "places": [ - "src/podkop/tabs/diagnostic/partials/renderCheckSection.ts:189" - ] - }, - { - "call": "_('Run Diagnostic')", - "key": "Run Diagnostic", - "places": [ - "src/podkop/tabs/diagnostic/partials/renderRunAction.ts:15" - ] - }, - { - "call": "_(\"Valid\")", - "key": "Valid", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:12", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:23", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:35", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:44", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:47", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:67", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:85", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:122", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:211", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:314", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:332", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:383", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:449" - ] - }, - { - "call": "_(\"Invalid IP address\")", - "key": "Invalid IP address", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:14" - ] - }, - { - "call": "_(\"Invalid domain address\")", - "key": "Invalid domain address", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:27", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:33" - ] - }, - { - "call": "_(\"DNS server address cannot be empty\")", - "key": "DNS server address cannot be empty", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:41" - ] - }, - { - "call": "_(\"Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH\")", - "key": "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:51" - ] - }, - { - "call": "_(\"URL must use one of the following protocols:\")", - "key": "URL must use one of the following protocols:", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:64" - ] - }, - { - "call": "_(\"Invalid URL format\")", - "key": "Invalid URL format", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:69" - ] - }, - { - "call": "_(\"Path cannot be empty\")", - "key": "Path cannot be empty", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:78" - ] - }, - { - "call": "_(\"Invalid format. Use X.X.X.X or X.X.X.X/Y\")", - "key": "Invalid format. Use X.X.X.X or X.X.X.X/Y", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:102" - ] - }, - { - "call": "_(\"IP address 0.0.0.0 is not allowed\")", - "key": "IP address 0.0.0.0 is not allowed", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:107" - ] - }, - { - "call": "_(\"CIDR must be between 0 and 32\")", - "key": "CIDR must be between 0 and 32", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:118" - ] - }, - { - "call": "_(\"Invalid Shadowsocks URL: must start with ss://\")", - "key": "Invalid Shadowsocks URL: must start with ss://", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:139" - ] - }, - { - "call": "_(\"Invalid Shadowsocks URL: must not contain spaces\")", - "key": "Invalid Shadowsocks URL: must not contain spaces", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:146" - ] - }, - { - "call": "_(\"Invalid Shadowsocks URL: missing credentials\")", - "key": "Invalid Shadowsocks URL: missing credentials", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:154" - ] - }, - { - "call": "_(\"Invalid Shadowsocks URL: decoded credentials must contain method:password\")", - "key": "Invalid Shadowsocks URL: decoded credentials must contain method:password", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:162" - ] - }, - { - "call": "_(\"Invalid Shadowsocks URL: missing server address\")", - "key": "Invalid Shadowsocks URL: missing server address", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:181" - ] - }, - { - "call": "_(\"Invalid Shadowsocks URL: missing server\")", - "key": "Invalid Shadowsocks URL: missing server", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:188" - ] - }, - { - "call": "_(\"Invalid Shadowsocks URL: missing port\")", - "key": "Invalid Shadowsocks URL: missing port", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:195" - ] - }, - { - "call": "_(\"Invalid port number. Must be between 1 and 65535\")", - "key": "Invalid port number. Must be between 1 and 65535", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:202" - ] - }, - { - "call": "_(\"Invalid Shadowsocks URL: parsing failed\")", - "key": "Invalid Shadowsocks URL: parsing failed", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:208" - ] - }, - { - "call": "_(\"Invalid VLESS URL: parsing failed\")", - "key": "Invalid VLESS URL: parsing failed", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:316" - ] - }, - { - "call": "_(\"Invalid JSON format\")", - "key": "Invalid JSON format", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:334" - ] - }, - { - "call": "_(\"Invalid Trojan URL: must start with trojan://\")", - "key": "Invalid Trojan URL: must start with trojan://", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:344" - ] - }, - { - "call": "_(\"Invalid Trojan URL: must not contain spaces\")", - "key": "Invalid Trojan URL: must not contain spaces", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:350" - ] - }, - { - "call": "_(\"Invalid Trojan URL: parsing failed\")", - "key": "Invalid Trojan URL: parsing failed", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:381" - ] - }, - { - "call": "_(\"Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://\")", - "key": "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:392" - ] - }, - { - "call": "_(\"Invalid SOCKS URL: must not contain spaces\")", - "key": "Invalid SOCKS URL: must not contain spaces", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:400" - ] - }, - { - "call": "_(\"Invalid SOCKS URL: missing username\")", - "key": "Invalid SOCKS URL: missing username", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:411" - ] - }, - { - "call": "_(\"Invalid SOCKS URL: missing host and port\")", - "key": "Invalid SOCKS URL: missing host and port", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:418" - ] - }, - { - "call": "_(\"Invalid SOCKS URL: missing hostname or IP\")", - "key": "Invalid SOCKS URL: missing hostname or IP", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:425" - ] - }, - { - "call": "_(\"Invalid SOCKS URL: missing port\")", - "key": "Invalid SOCKS URL: missing port", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:429" - ] - }, - { - "call": "_(\"Invalid SOCKS URL: invalid port number\")", - "key": "Invalid SOCKS URL: invalid port number", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:435" - ] - }, - { - "call": "_(\"Invalid SOCKS URL: invalid host format\")", - "key": "Invalid SOCKS URL: invalid host format", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:443" - ] - }, - { - "call": "_(\"Invalid SOCKS URL: parsing failed\")", - "key": "Invalid SOCKS URL: parsing failed", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:447" - ] - }, - { - "call": "_(\"URL must start with vless://, ss://, trojan://, or socks4/5://\")", - "key": "URL must start with vless://, ss://, trojan://, or socks4/5://", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:468" - ] - }, - { - "call": "_(\"Fastest\")", - "key": "Fastest", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:692" - ] - }, - { - "call": "_(\"HTTP error\")", - "key": "HTTP error", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:864" - ] - }, - { - "call": "_(\"Unknown error\")", - "key": "Unknown error", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:875" - ] - }, - { - "call": "_(\"DNS checks\")", - "key": "DNS checks", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:985" - ] - }, - { - "call": "_(\"Sing-box checks\")", - "key": "Sing-box checks", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:990" - ] - }, - { - "call": "_(\"Nftables checks\")", - "key": "Nftables checks", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:995" - ] - }, - { - "call": "_(\"FakeIP checks\")", - "key": "FakeIP checks", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1000" - ] - }, - { - "call": "_(\"Not running\")", - "key": "Not running", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1048", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1056", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1064", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1072" - ] - }, - { - "call": "_(\"Queued\")", - "key": "Queued", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1084", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1092", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1100", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1108" - ] - }, - { - "call": "_(\"Dashboard currently unavailable\")", - "key": "Dashboard currently unavailable", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1578" - ] - }, - { - "call": "_(\"Test latency\")", - "key": "Test latency", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1654" - ] - }, - { - "call": "_(\"Currently unavailable\")", - "key": "Currently unavailable", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1683" - ] - }, - { - "call": "_(\"Traffic\")", - "key": "Traffic", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2024" - ] - }, - { - "call": "_(\"Uplink\")", - "key": "Uplink", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2026", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2051" - ] - }, - { - "call": "_(\"Downlink\")", - "key": "Downlink", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2027", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2055" - ] - }, - { - "call": "_(\"Traffic Total\")", - "key": "Traffic Total", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2048" - ] - }, - { - "call": "_(\"System info\")", - "key": "System info", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2078" - ] - }, - { - "call": "_(\"Active Connections\")", - "key": "Active Connections", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2081" - ] - }, - { - "call": "_(\"Memory Usage\")", - "key": "Memory Usage", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2085" - ] - }, - { - "call": "_(\"Services info\")", - "key": "Services info", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2108" - ] - }, - { - "call": "_(\"Podkop\")", - "key": "Podkop", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2111" - ] - }, - { - "call": "_(\"\\u2714 Enabled\")", - "key": "\\u2714 Enabled", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2112" - ] - }, - { - "call": "_(\"\\u2718 Disabled\")", - "key": "\\u2718 Disabled", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2112" - ] - }, - { - "call": "_(\"Sing-box\")", - "key": "Sing-box", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2118" - ] - }, - { - "call": "_(\"\\u2714 Running\")", - "key": "\\u2714 Running", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2119" - ] - }, - { - "call": "_(\"\\u2718 Stopped\")", - "key": "\\u2718 Stopped", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2119" - ] - }, - { - "call": "_(\"Checking dns, please wait\")", - "key": "Checking dns, please wait", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2365" - ] - }, - { - "call": "_(\"Cannot receive DNS checks result\")", - "key": "Cannot receive DNS checks result", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2375" - ] - }, - { - "call": "_(\"DNS checks passed\")", - "key": "DNS checks passed", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2397" - ] - }, - { - "call": "_(\"Bootsrap DNS\")", - "key": "Bootsrap DNS", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2405" - ] - }, - { - "call": "_(\"Main DNS\")", - "key": "Main DNS", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2412" - ] - }, - { - "call": "_(\"DNS on router\")", - "key": "DNS on router", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2417" - ] - }, - { - "call": "_(\"DHCP has DNS server\")", - "key": "DHCP has DNS server", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2422" - ] - }, - { - "call": "_(\"Checking sing-box, please wait\")", - "key": "Checking sing-box, please wait", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2439" - ] - }, - { - "call": "_(\"Cannot receive Sing-box checks result\")", - "key": "Cannot receive Sing-box checks result", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2449" - ] - }, - { - "call": "_(\"Sing-box checks passed\")", - "key": "Sing-box checks passed", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2471" - ] - }, - { - "call": "_(\"Sing-box installed\")", - "key": "Sing-box installed", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2476" - ] - }, - { - "call": "_(\"Sing-box version >= 1.12.4\")", - "key": "Sing-box version >= 1.12.4", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2481" - ] - }, - { - "call": "_(\"Sing-box service exist\")", - "key": "Sing-box service exist", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2486" - ] - }, - { - "call": "_(\"Sing-box autostart disabled\")", - "key": "Sing-box autostart disabled", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2491" - ] - }, - { - "call": "_(\"Sing-box process running\")", - "key": "Sing-box process running", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2496" - ] - }, - { - "call": "_(\"Sing-box listening ports\")", - "key": "Sing-box listening ports", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2501" - ] - }, - { - "call": "_(\"Checking nftables, please wait\")", - "key": "Checking nftables, please wait", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2518" - ] - }, - { - "call": "_(\"Cannot receive nftables checks result\")", - "key": "Cannot receive nftables checks result", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2530" - ] - }, - { - "call": "_(\"Nftables checks passed\")", - "key": "Nftables checks passed", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2552" - ] - }, - { - "call": "_(\"Nftables checks partially passed\")", - "key": "Nftables checks partially passed", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2552" - ] - }, - { - "call": "_(\"Table exist\")", - "key": "Table exist", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2557" - ] - }, - { - "call": "_(\"Rules mangle exist\")", - "key": "Rules mangle exist", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2562" - ] - }, - { - "call": "_(\"Rules mangle counters\")", - "key": "Rules mangle counters", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2567" - ] - }, - { - "call": "_(\"Rules mangle output exist\")", - "key": "Rules mangle output exist", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2572" - ] - }, - { - "call": "_(\"Rules mangle output counters\")", - "key": "Rules mangle output counters", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2577" - ] - }, - { - "call": "_(\"Rules proxy exist\")", - "key": "Rules proxy exist", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2582" - ] - }, - { - "call": "_(\"Rules proxy counters\")", - "key": "Rules proxy counters", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2587" - ] - }, - { - "call": "_(\"No other marking rules found\")", - "key": "No other marking rules found", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2592" - ] - }, - { - "call": "_(\"Additional marking rules found\")", - "key": "Additional marking rules found", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2592" - ] - }, - { - "call": "_(\"Checking FakeIP, please wait\")", - "key": "Checking FakeIP, please wait", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2609" - ] - }, - { - "call": "_(\"FakeIP checks passed\")", - "key": "FakeIP checks passed", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2627" - ] - }, - { - "call": "_(\"FakeIP checks partially passed\")", - "key": "FakeIP checks partially passed", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2633" - ] - }, - { - "call": "_(\"FakeIP checks failed\")", - "key": "FakeIP checks failed", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2638" - ] - }, - { - "call": "_(\"Router DNS is routed through sing-box\")", - "key": "Router DNS is routed through sing-box", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2651" - ] - }, - { - "call": "_(\"Router DNS is not routed through sing-box\")", - "key": "Router DNS is not routed through sing-box", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2651" - ] - }, - { - "call": "_(\"Browser is using FakeIP correctly\")", - "key": "Browser is using FakeIP correctly", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2656" - ] - }, - { - "call": "_(\"Browser is not using FakeIP\")", - "key": "Browser is not using FakeIP", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2656" - ] - }, - { - "call": "_(\"Proxy traffic is routed via FakeIP\")", - "key": "Proxy traffic is routed via FakeIP", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2662" - ] - }, - { - "call": "_(\"Proxy traffic is not routed via FakeIP\")", - "key": "Proxy traffic is not routed via FakeIP", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2662" - ] - }, - { - "call": "_(\"Successfully copied!\")", - "key": "Successfully copied!", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3288" - ] - }, - { - "call": "_(\"Failed to copy!\")", - "key": "Failed to copy!", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3290" - ] - }, - { - "call": "_(\"Download\")", - "key": "Download", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3306" - ] - }, - { - "call": "_(\"Copy\")", - "key": "Copy", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3311" - ] - }, - { - "call": "_(\"Close\")", - "key": "Close", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3318" - ] - }, - { - "call": "_(\"Restart podkop\")", - "key": "Restart podkop", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3350" - ] - }, - { - "call": "_(\"Stop podkop\")", - "key": "Stop podkop", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3360" - ] - }, - { - "call": "_(\"Start podkop\")", - "key": "Start podkop", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3370" - ] - }, - { - "call": "_(\"Disable autostart\")", - "key": "Disable autostart", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3380" - ] - }, - { - "call": "_(\"Enable autostart\")", - "key": "Enable autostart", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3390" - ] - }, - { - "call": "_(\"Get global check\")", - "key": "Get global check", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3399" - ] - }, - { - "call": "_(\"View logs\")", - "key": "View logs", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3408", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3840" - ] - }, - { - "call": "_(\"Show sing-box config\")", - "key": "Show sing-box config", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3417", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3867" - ] - }, - { - "call": "_(\"Not implement yet\")", - "key": "Not implement yet", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3577" - ] - }, - { - "call": "_(\"Run Diagnostic\")", - "key": "Run Diagnostic", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3587" - ] - }, - { - "call": "_(\"unknown\")", - "key": "unknown", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3651", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3652", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3653", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3654", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3655", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3656", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3950" - ] - }, - { - "call": "_(\"Global check\")", - "key": "Global check", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3813" - ] - }, - { - "call": "_(\"Outdated\")", - "key": "Outdated", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3969" - ] - }, - { - "call": "_(\"Latest\")", - "key": "Latest", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3978" - ] - }, - { - "call": "_(\"Operation timed out\")", - "key": "Operation timed out", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:4389" - ] - }, - { - "call": "_(\"Podkop Settings\")", - "key": "Podkop Settings", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:26" - ] - }, - { - "call": "_(\"Configuration for Podkop service\")", - "key": "Configuration for Podkop service", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:27" - ] - }, - { - "call": "_(\"Sections\")", - "key": "Sections", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:36" - ] - }, - { - "call": "_(\"Settings\")", - "key": "Settings", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:49" - ] - }, - { - "call": "_(\"Diagnostics\")", - "key": "Diagnostics", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:65" - ] - }, - { - "call": "_(\"Dashboard\")", - "key": "Dashboard", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:80" - ] - }, - { - "call": "_(\"Connection Type\")", - "key": "Connection Type", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:12" - ] - }, - { - "call": "_(\"Select between VPN and Proxy connection methods for traffic routing\")", - "key": "Select between VPN and Proxy connection methods for traffic routing", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:13" - ] - }, - { - "call": "_(\"Configuration Type\")", - "key": "Configuration Type", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:22" - ] - }, - { - "call": "_(\"Select how to configure the proxy\")", - "key": "Select how to configure the proxy", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:23" - ] - }, - { - "call": "_(\"Connection URL\")", - "key": "Connection URL", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:25" - ] - }, - { - "call": "_(\"Outbound Config\")", - "key": "Outbound Config", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:26" - ] - }, - { - "call": "_(\"URLTest\")", - "key": "URLTest", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:27" - ] - }, - { - "call": "_(\"Proxy Configuration URL\")", - "key": "Proxy Configuration URL", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:34" - ] - }, - { - "call": "_(\"Outbound Configuration\")", - "key": "Outbound Configuration", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:64" - ] - }, - { - "call": "_(\"Enter complete outbound configuration in JSON format\")", - "key": "Enter complete outbound configuration in JSON format", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:65" - ] - }, - { - "call": "_(\"URLTest Proxy Links\")", - "key": "URLTest Proxy Links", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:87" - ] - }, - { - "call": "_(\"UDP over TCP\")", - "key": "UDP over TCP", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:110" - ] - }, - { - "call": "_(\"Applicable for SOCKS and Shadowsocks proxy\")", - "key": "Applicable for SOCKS and Shadowsocks proxy", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:111" - ] - }, - { - "call": "_(\"Network Interface\")", - "key": "Network Interface", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:120" - ] - }, - { - "call": "_(\"Select network interface for VPN connection\")", - "key": "Select network interface for VPN connection", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:121" - ] - }, - { - "call": "_(\"Domain Resolver\")", - "key": "Domain Resolver", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:166" - ] - }, - { - "call": "_(\"Enable built-in DNS resolver for domains handled by this section\")", - "key": "Enable built-in DNS resolver for domains handled by this section", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:167" - ] - }, - { - "call": "_(\"DNS Protocol Type\")", - "key": "DNS Protocol Type", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:176", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:12" - ] - }, - { - "call": "_(\"Select the DNS protocol type for the domain resolver\")", - "key": "Select the DNS protocol type for the domain resolver", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:177" - ] - }, - { - "call": "_(\"DNS over HTTPS (DoH)\")", - "key": "DNS over HTTPS (DoH)", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:179", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:15" - ] - }, - { - "call": "_(\"DNS over TLS (DoT)\")", - "key": "DNS over TLS (DoT)", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:180", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:16" - ] - }, - { - "call": "_(\"UDP (Unprotected DNS)\")", - "key": "UDP (Unprotected DNS)", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:181", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:17" - ] - }, - { - "call": "_(\"DNS Server\")", - "key": "DNS Server", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:189", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:24" - ] - }, - { - "call": "_(\"Select or enter DNS server address\")", - "key": "Select or enter DNS server address", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:190", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:25" - ] - }, - { - "call": "_(label)", - "key": "", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:193", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:217", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:28", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:51", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:254" - ] - }, - { - "call": "_(\"Community Lists\")", - "key": "Community Lists", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:211" - ] - }, - { - "call": "_(\"Select a predefined list for routing\")", - "key": "Select a predefined list for routing", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:212" - ] - }, - { - "call": "_(\"Regional options cannot be used together\")", - "key": "Regional options cannot be used together", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:245" - ] - }, - { - "call": "_(\"Warning: %s cannot be used together with %s. Previous selections have been removed.\")", - "key": "Warning: %s cannot be used together with %s. Previous selections have been removed.", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:247" - ] - }, - { - "call": "_(\"Russia inside restrictions\")", - "key": "Russia inside restrictions", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:264" - ] - }, - { - "call": "_(\"Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection.\")", - "key": "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection.", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:266" - ] - }, - { - "call": "_(\"User Domain List Type\")", - "key": "User Domain List Type", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:299" - ] - }, - { - "call": "_(\"Select the list type for adding custom domains\")", - "key": "Select the list type for adding custom domains", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:300" - ] - }, - { - "call": "_(\"Disabled\")", - "key": "Disabled", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:302", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:382" - ] - }, - { - "call": "_(\"Dynamic List\")", - "key": "Dynamic List", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:303", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:383" - ] - }, - { - "call": "_(\"Text List\")", - "key": "Text List", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:304" - ] - }, - { - "call": "_(\"User Domains\")", - "key": "User Domains", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:311" - ] - }, - { - "call": "_(\"Enter domain names without protocols, e.g. example.com or sub.example.com\")", - "key": "Enter domain names without protocols, e.g. example.com or sub.example.com", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:312" - ] - }, - { - "call": "_(\"User Domains List\")", - "key": "User Domains List", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:337" - ] - }, - { - "call": "_(\"Enter domain names separated by commas, spaces, or newlines. You can add comments using //\")", - "key": "Enter domain names separated by commas, spaces, or newlines. You can add comments using //", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:338" - ] - }, - { - "call": "_(\"At least one valid domain must be specified. Comments-only content is not allowed.\")", - "key": "At least one valid domain must be specified. Comments-only content is not allowed.", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:356" - ] - }, - { - "call": "_(\"Validation errors:\")", + "call": "Validation errors:", "key": "Validation errors:", "places": [ "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:370", @@ -2111,452 +1634,32 @@ ] }, { - "call": "_(\"User Subnet List Type\")", - "key": "User Subnet List Type", + "call": "View logs", + "key": "View logs", "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:379" + "src/podkop/tabs/diagnostic/initController.ts:248", + "src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:107" ] }, { - "call": "_(\"Select the list type for adding custom subnets\")", - "key": "Select the list type for adding custom subnets", + "call": "Warning: %s cannot be used together with %s. Previous selections have been removed.", + "key": "Warning: %s cannot be used together with %s. Previous selections have been removed.", "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:380" + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:247" ] }, { - "call": "_(\"Text List (comma/space/newline separated)\")", - "key": "Text List (comma/space/newline separated)", + "call": "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection.", + "key": "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection.", "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:384" + "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:266" ] }, { - "call": "_(\"User Subnets\")", - "key": "User Subnets", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:391" - ] - }, - { - "call": "_(\"Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses\")", - "key": "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:392" - ] - }, - { - "call": "_(\"User Subnets List\")", - "key": "User Subnets List", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:417" - ] - }, - { - "call": "_(\"Enter subnets in CIDR notation or single IP addresses, separated by commas, spaces, or newlines. \" + \"You can add comments using //\")", - "key": "Enter subnets in CIDR notation or single IP addresses, separated by commas, spaces, or newlines. \" + \"You can add comments using //", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:418" - ] - }, - { - "call": "_(\"At least one valid subnet or IP must be specified. Comments-only content is not allowed.\")", - "key": "At least one valid subnet or IP must be specified. Comments-only content is not allowed.", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:437" - ] - }, - { - "call": "_(\"Local Domain Lists\")", - "key": "Local Domain Lists", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:458" - ] - }, - { - "call": "_(\"Specify the path to the list file located on the router filesystem\")", - "key": "Specify the path to the list file located on the router filesystem", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:459", - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:482" - ] - }, - { - "call": "_(\"Local Subnet Lists\")", - "key": "Local Subnet Lists", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:481" - ] - }, - { - "call": "_(\"Remote Domain Lists\")", - "key": "Remote Domain Lists", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:504" - ] - }, - { - "call": "_(\"Specify remote URLs to download and use domain lists\")", - "key": "Specify remote URLs to download and use domain lists", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:505" - ] - }, - { - "call": "_(\"Remote Subnet Lists\")", - "key": "Remote Subnet Lists", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:527" - ] - }, - { - "call": "_(\"Specify remote URLs to download and use subnet lists\")", - "key": "Specify remote URLs to download and use subnet lists", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:528" - ] - }, - { - "call": "_(\"Fully Routed IPs\")", - "key": "Fully Routed IPs", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:550" - ] - }, - { - "call": "_(\"Specify local IP addresses or subnets whose traffic will always be routed through the configured route\")", - "key": "Specify local IP addresses or subnets whose traffic will always be routed through the configured route", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:551" - ] - }, - { - "call": "_(\"Enable Mixed Proxy\")", - "key": "Enable Mixed Proxy", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:575" - ] - }, - { - "call": "_(\"Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies\")", - "key": "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:576" - ] - }, - { - "call": "_(\"Mixed Proxy Port\")", - "key": "Mixed Proxy Port", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:586" - ] - }, - { - "call": "_(\"Specify the port number on which the mixed proxy will run for this section. \" + \"Make sure the selected port is not used by another service\")", - "key": "Specify the port number on which the mixed proxy will run for this section. \" + \"Make sure the selected port is not used by another service", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:587" - ] - }, - { - "call": "_(\"Select DNS protocol to use\")", - "key": "Select DNS protocol to use", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:13" - ] - }, - { - "call": "_(\"Bootstrap DNS server\")", - "key": "Bootstrap DNS server", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:45" - ] - }, - { - "call": "_(\"The DNS server used to look up the IP address of an upstream DNS server\")", - "key": "The DNS server used to look up the IP address of an upstream DNS server", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:46" - ] - }, - { - "call": "_(\"DNS Rewrite TTL\")", - "key": "DNS Rewrite TTL", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:68" - ] - }, - { - "call": "_(\"Time in seconds for DNS record caching (default: 60)\")", - "key": "Time in seconds for DNS record caching (default: 60)", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:69" - ] - }, - { - "call": "_(\"TTL value cannot be empty\")", - "key": "TTL value cannot be empty", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:75" - ] - }, - { - "call": "_(\"TTL must be a positive number\")", - "key": "TTL must be a positive number", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:80" - ] - }, - { - "call": "_(\"Source Network Interface\")", - "key": "Source Network Interface", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:89" - ] - }, - { - "call": "_(\"Select the network interface from which the traffic will originate\")", - "key": "Select the network interface from which the traffic will originate", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:90" - ] - }, - { - "call": "_(\"Enable Output Network Interface\")", - "key": "Enable Output Network Interface", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:126" - ] - }, - { - "call": "_(\"You can select Output Network Interface, by default autodetect\")", + "call": "You can select Output Network Interface, by default autodetect", "key": "You can select Output Network Interface, by default autodetect", "places": [ "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:127" ] - }, - { - "call": "_(\"Output Network Interface\")", - "key": "Output Network Interface", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:135" - ] - }, - { - "call": "_(\"Select the network interface to which the traffic will originate\")", - "key": "Select the network interface to which the traffic will originate", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:136" - ] - }, - { - "call": "_(\"Interface Monitoring\")", - "key": "Interface Monitoring", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:182" - ] - }, - { - "call": "_(\"Interface monitoring for Bad WAN\")", - "key": "Interface monitoring for Bad WAN", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:183" - ] - }, - { - "call": "_(\"Monitored Interfaces\")", - "key": "Monitored Interfaces", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:191" - ] - }, - { - "call": "_(\"Select the WAN interfaces to be monitored\")", - "key": "Select the WAN interfaces to be monitored", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:192" - ] - }, - { - "call": "_(\"Interface Monitoring Delay\")", - "key": "Interface Monitoring Delay", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:214" - ] - }, - { - "call": "_(\"Delay in milliseconds before reloading podkop after interface UP\")", - "key": "Delay in milliseconds before reloading podkop after interface UP", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:215" - ] - }, - { - "call": "_(\"Delay value cannot be empty\")", - "key": "Delay value cannot be empty", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:222" - ] - }, - { - "call": "_(\"Enable YACD\")", - "key": "Enable YACD", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:230" - ] - }, - { - "call": "_(\"Disable QUIC\")", - "key": "Disable QUIC", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:239" - ] - }, - { - "call": "_(\"Disable the QUIC protocol to improve compatibility or fix issues with video streaming\")", - "key": "Disable the QUIC protocol to improve compatibility or fix issues with video streaming", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:240" - ] - }, - { - "call": "_(\"List Update Frequency\")", - "key": "List Update Frequency", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:250" - ] - }, - { - "call": "_(\"Select how often the domain or subnet lists are updated automatically\")", - "key": "Select how often the domain or subnet lists are updated automatically", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:251" - ] - }, - { - "call": "_(\"Download Lists via Proxy/VPN\")", - "key": "Download Lists via Proxy/VPN", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:262" - ] - }, - { - "call": "_(\"Downloading all lists via main Proxy/VPN\")", - "key": "Downloading all lists via main Proxy/VPN", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:263" - ] - }, - { - "call": "_(\"Download Lists via specific proxy section\")", - "key": "Download Lists via specific proxy section", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:271" - ] - }, - { - "call": "_(\"Downloading all lists via specific Proxy/VPN\")", - "key": "Downloading all lists via specific Proxy/VPN", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:272" - ] - }, - { - "call": "_(\"Dont Touch My DHCP!\")", - "key": "Dont Touch My DHCP!", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:300" - ] - }, - { - "call": "_(\"Podkop will not modify your DHCP configuration\")", - "key": "Podkop will not modify your DHCP configuration", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:301" - ] - }, - { - "call": "_(\"Config File Path\")", - "key": "Config File Path", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:309" - ] - }, - { - "call": "_(\"Select path for sing-box config file. Change this ONLY if you know what you are doing\")", - "key": "Select path for sing-box config file. Change this ONLY if you know what you are doing", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:310" - ] - }, - { - "call": "_(\"Cache File Path\")", - "key": "Cache File Path", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:322" - ] - }, - { - "call": "_(\"Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing\")", - "key": "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:323" - ] - }, - { - "call": "_(\"Cache file path cannot be empty\")", - "key": "Cache file path cannot be empty", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:336" - ] - }, - { - "call": "_(\"Path must be absolute (start with /)\")", - "key": "Path must be absolute (start with /)", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:340" - ] - }, - { - "call": "_(\"Path must end with cache.db\")", - "key": "Path must end with cache.db", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:344" - ] - }, - { - "call": "_(\"Path must contain at least one directory (like /tmp/cache.db)\")", - "key": "Path must contain at least one directory (like /tmp/cache.db)", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:349" - ] - }, - { - "call": "_(\"Exclude NTP\")", - "key": "Exclude NTP", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:358" - ] - }, - { - "call": "_(\"Exclude NTP protocol traffic from the tunnel to prevent it from being routed through the proxy or VPN\")", - "key": "Exclude NTP protocol traffic from the tunnel to prevent it from being routed through the proxy or VPN", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:359" - ] - }, - { - "call": "_(\"Routing Excluded IPs\")", - "key": "Routing Excluded IPs", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:369" - ] - }, - { - "call": "_(\"Specify a local IP address to be excluded from routing\")", - "key": "Specify a local IP address to be excluded from routing", - "places": [ - "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:370" - ] } ] \ No newline at end of file diff --git a/fe-app-podkop/locales/podkop.pot b/fe-app-podkop/locales/podkop.pot index 415585a..f8c7d1c 100644 --- a/fe-app-podkop/locales/podkop.pot +++ b/fe-app-podkop/locales/podkop.pot @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PODKOP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-21 18:48+0300\n" -"PO-Revision-Date: 2025-10-21 18:48+0300\n" +"POT-Creation-Date: 2025-10-21 19:33+0300\n" +"PO-Revision-Date: 2025-10-21 19:33+0300\n" "Last-Translator: divocat \n" "Language-Team: LANGUAGE \n" "Language: \n" @@ -16,28 +16,933 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: src/helpers/copyToClipboard.ts:10 -msgid "Successfully copied!" +#: src/podkop/tabs/dashboard/initController.ts:342 +msgid "✔ Enabled" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:353 +msgid "✔ Running" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:343 +msgid "✘ Disabled" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:354 +msgid "✘ Stopped" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:304 +msgid "Active Connections" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:117 +msgid "Additional marking rules found" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:111 +msgid "Applicable for SOCKS and Shadowsocks proxy" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:356 +msgid "At least one valid domain must be specified. Comments-only content is not allowed." +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:437 +msgid "At least one valid subnet or IP must be specified. Comments-only content is not allowed." +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:72 +msgid "Bootsrap DNS" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:45 +msgid "Bootstrap DNS server" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:81 +msgid "Browser is not using FakeIP" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:80 +msgid "Browser is using FakeIP correctly" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:322 +msgid "Cache File Path" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:336 +msgid "Cache file path cannot be empty" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:26 +msgid "Cannot receive DNS checks result" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:27 +msgid "Cannot receive nftables checks result" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:24 +msgid "Cannot receive Sing-box checks result" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:14 +msgid "Checking dns, please wait" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:14 +msgid "Checking FakeIP, please wait" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:12 +msgid "Checking nftables, please wait" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:12 +msgid "Checking sing-box, please wait" +msgstr "" + +#: src/validators/validateSubnet.ts:33 +msgid "CIDR must be between 0 and 32" +msgstr "" + +#: src/partials/modal/renderModal.ts:26 +msgid "Close" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:211 +msgid "Community Lists" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:309 +msgid "Config File Path" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:27 +msgid "Configuration for Podkop service" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:22 +msgid "Configuration Type" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:12 +msgid "Connection Type" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:25 +msgid "Connection URL" +msgstr "" + +#: src/partials/modal/renderModal.ts:20 +msgid "Copy" +msgstr "" + +#: src/podkop/tabs/dashboard/partials/renderWidget.ts:22 +msgid "Currently unavailable" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:80 +msgid "Dashboard" +msgstr "" + +#: src/podkop/tabs/dashboard/partials/renderSections.ts:19 +msgid "Dashboard currently unavailable" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:215 +msgid "Delay in milliseconds before reloading podkop after interface UP" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:222 +msgid "Delay value cannot be empty" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:89 +msgid "DHCP has DNS server" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:65 +msgid "Diagnostics" +msgstr "" + +#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:79 +msgid "Disable autostart" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:239 +msgid "Disable QUIC" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:240 +msgid "Disable the QUIC protocol to improve compatibility or fix issues with video streaming" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:302 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:382 +msgid "Disabled" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/contstants.ts:14 +msgid "DNS checks" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:64 +msgid "DNS checks passed" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:84 +msgid "DNS on router" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:179 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:15 +msgid "DNS over HTTPS (DoH)" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:180 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:16 +msgid "DNS over TLS (DoT)" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:176 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:12 +msgid "DNS Protocol Type" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:68 +msgid "DNS Rewrite TTL" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:189 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:24 +msgid "DNS Server" +msgstr "" + +#: src/validators/validateDns.ts:7 +msgid "DNS server address cannot be empty" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:166 +msgid "Domain Resolver" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:300 +msgid "Dont Touch My DHCP!" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:238 +#: src/podkop/tabs/dashboard/initController.ts:272 +msgid "Downlink" +msgstr "" + +#: src/partials/modal/renderModal.ts:15 +msgid "Download" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:262 +msgid "Download Lists via Proxy/VPN" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:271 +msgid "Download Lists via specific proxy section" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:263 +msgid "Downloading all lists via main Proxy/VPN" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:272 +msgid "Downloading all lists via specific Proxy/VPN" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:303 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:383 +msgid "Dynamic List" +msgstr "" + +#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:89 +msgid "Enable autostart" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:167 +msgid "Enable built-in DNS resolver for domains handled by this section" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:575 +msgid "Enable Mixed Proxy" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:126 +msgid "Enable Output Network Interface" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:576 +msgid "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:230 +msgid "Enable YACD" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:65 +msgid "Enter complete outbound configuration in JSON format" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:338 +msgid "Enter domain names separated by commas, spaces, or newlines. You can add comments using //" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:312 +msgid "Enter domain names without protocols, e.g. example.com or sub.example.com" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:392 +msgid "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:358 +msgid "Exclude NTP" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:359 +msgid "Exclude NTP protocol traffic from the tunnel to prevent it from being routed through the proxy or VPN" msgstr "" #: src/helpers/copyToClipboard.ts:12 msgid "Failed to copy!" msgstr "" -#: src/helpers/withTimeout.ts:7 -msgid "Operation timed out" +#: src/podkop/tabs/diagnostic/checks/contstants.ts:29 +msgid "FakeIP checks" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:57 +msgid "FakeIP checks failed" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:51 +msgid "FakeIP checks partially passed" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:44 +msgid "FakeIP checks passed" +msgstr "" + +#: src/podkop/methods/custom/getDashboardSections.ts:117 +msgid "Fastest" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:550 +msgid "Fully Routed IPs" +msgstr "" + +#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:98 +msgid "Get global check" +msgstr "" + +#: src/podkop/tabs/diagnostic/initController.ts:218 +msgid "Global check" msgstr "" #: src/podkop/api.ts:27 msgid "HTTP error" msgstr "" +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:182 +msgid "Interface Monitoring" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:214 +msgid "Interface Monitoring Delay" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:183 +msgid "Interface monitoring for Bad WAN" +msgstr "" + +#: src/validators/validateDns.ts:20 +msgid "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH" +msgstr "" + +#: src/validators/validateDomain.ts:18 +#: src/validators/validateDomain.ts:27 +msgid "Invalid domain address" +msgstr "" + +#: src/validators/validateSubnet.ts:11 +msgid "Invalid format. Use X.X.X.X or X.X.X.X/Y" +msgstr "" + +#: src/validators/validateIp.ts:11 +msgid "Invalid IP address" +msgstr "" + +#: src/validators/validateOutboundJson.ts:19 +msgid "Invalid JSON format" +msgstr "" + +#: src/validators/validatePath.ts:22 +msgid "Invalid path format. Path must start with \"/\" and contain valid characters" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:85 +msgid "Invalid port number. Must be between 1 and 65535" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:37 +msgid "Invalid Shadowsocks URL: decoded credentials must contain method:password" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:27 +msgid "Invalid Shadowsocks URL: missing credentials" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:46 +msgid "Invalid Shadowsocks URL: missing method and password separator \":\"" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:76 +msgid "Invalid Shadowsocks URL: missing port" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:67 +msgid "Invalid Shadowsocks URL: missing server" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:58 +msgid "Invalid Shadowsocks URL: missing server address" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:16 +msgid "Invalid Shadowsocks URL: must not contain spaces" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:8 +msgid "Invalid Shadowsocks URL: must start with ss://" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:91 +msgid "Invalid Shadowsocks URL: parsing failed" +msgstr "" + +#: src/validators/validateSocksUrl.ts:73 +msgid "Invalid SOCKS URL: invalid host format" +msgstr "" + +#: src/validators/validateSocksUrl.ts:63 +msgid "Invalid SOCKS URL: invalid port number" +msgstr "" + +#: src/validators/validateSocksUrl.ts:42 +msgid "Invalid SOCKS URL: missing host and port" +msgstr "" + +#: src/validators/validateSocksUrl.ts:51 +msgid "Invalid SOCKS URL: missing hostname or IP" +msgstr "" + +#: src/validators/validateSocksUrl.ts:56 +msgid "Invalid SOCKS URL: missing port" +msgstr "" + +#: src/validators/validateSocksUrl.ts:34 +msgid "Invalid SOCKS URL: missing username" +msgstr "" + +#: src/validators/validateSocksUrl.ts:19 +msgid "Invalid SOCKS URL: must not contain spaces" +msgstr "" + +#: src/validators/validateSocksUrl.ts:10 +msgid "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://" +msgstr "" + +#: src/validators/validateSocksUrl.ts:77 +msgid "Invalid SOCKS URL: parsing failed" +msgstr "" + +#: src/validators/validateTrojanUrl.ts:15 +msgid "Invalid Trojan URL: must not contain spaces" +msgstr "" + +#: src/validators/validateTrojanUrl.ts:8 +msgid "Invalid Trojan URL: must start with trojan://" +msgstr "" + +#: src/validators/validateTrojanUrl.ts:56 +msgid "Invalid Trojan URL: parsing failed" +msgstr "" + +#: src/validators/validateUrl.ts:18 +msgid "Invalid URL format" +msgstr "" + +#: src/validators/validateVlessUrl.ts:109 +msgid "Invalid VLESS URL: parsing failed" +msgstr "" + +#: src/validators/validateSubnet.ts:18 +msgid "IP address 0.0.0.0 is not allowed" +msgstr "" + +#: src/podkop/tabs/diagnostic/initController.ts:404 +msgid "Latest" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:250 +msgid "List Update Frequency" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:458 +msgid "Local Domain Lists" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:481 +msgid "Local Subnet Lists" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:79 +msgid "Main DNS" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:308 +msgid "Memory Usage" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:586 +msgid "Mixed Proxy Port" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:191 +msgid "Monitored Interfaces" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:120 +msgid "Network Interface" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/contstants.ts:24 +msgid "Nftables checks" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:75 +msgid "Nftables checks partially passed" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:74 +msgid "Nftables checks passed" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:116 +msgid "No other marking rules found" +msgstr "" + +#: src/podkop/tabs/diagnostic/partials/renderCheckSection.ts:189 +msgid "Not implement yet" +msgstr "" + +#: src/podkop/tabs/diagnostic/diagnostic.store.ts:55 +#: src/podkop/tabs/diagnostic/diagnostic.store.ts:63 +#: src/podkop/tabs/diagnostic/diagnostic.store.ts:71 +#: src/podkop/tabs/diagnostic/diagnostic.store.ts:79 +msgid "Not running" +msgstr "" + +#: src/helpers/withTimeout.ts:7 +msgid "Operation timed out" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:26 +msgid "Outbound Config" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:64 +msgid "Outbound Configuration" +msgstr "" + +#: src/validators/validateOutboundJson.ts:11 +msgid "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields" +msgstr "" + +#: src/podkop/tabs/diagnostic/initController.ts:394 +msgid "Outdated" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:135 +msgid "Output Network Interface" +msgstr "" + +#: src/validators/validatePath.ts:7 +msgid "Path cannot be empty" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:340 +msgid "Path must be absolute (start with /)" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:349 +msgid "Path must contain at least one directory (like /tmp/cache.db)" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:344 +msgid "Path must end with cache.db" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:340 +msgid "Podkop" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:26 +msgid "Podkop Settings" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:301 +msgid "Podkop will not modify your DHCP configuration" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:34 +msgid "Proxy Configuration URL" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:89 +msgid "Proxy traffic is not routed via FakeIP" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:88 +msgid "Proxy traffic is routed via FakeIP" +msgstr "" + +#: src/podkop/tabs/diagnostic/diagnostic.store.ts:95 +#: src/podkop/tabs/diagnostic/diagnostic.store.ts:103 +#: src/podkop/tabs/diagnostic/diagnostic.store.ts:111 +#: src/podkop/tabs/diagnostic/diagnostic.store.ts:119 +msgid "Queued" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:245 +msgid "Regional options cannot be used together" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:504 +msgid "Remote Domain Lists" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:527 +msgid "Remote Subnet Lists" +msgstr "" + +#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:49 +msgid "Restart podkop" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:74 +msgid "Router DNS is not routed through sing-box" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:73 +msgid "Router DNS is routed through sing-box" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:369 +msgid "Routing Excluded IPs" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:90 +msgid "Rules mangle counters" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:85 +msgid "Rules mangle exist" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:100 +msgid "Rules mangle output counters" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:95 +msgid "Rules mangle output exist" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:110 +msgid "Rules proxy counters" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:105 +msgid "Rules proxy exist" +msgstr "" + +#: src/podkop/tabs/diagnostic/partials/renderRunAction.ts:15 +msgid "Run Diagnostic" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:264 +msgid "Russia inside restrictions" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:36 +msgid "Sections" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:212 +msgid "Select a predefined list for routing" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:13 +msgid "Select between VPN and Proxy connection methods for traffic routing" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:13 +msgid "Select DNS protocol to use" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:251 +msgid "Select how often the domain or subnet lists are updated automatically" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:23 +msgid "Select how to configure the proxy" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:121 +msgid "Select network interface for VPN connection" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:190 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:25 +msgid "Select or enter DNS server address" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:323 +msgid "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:310 +msgid "Select path for sing-box config file. Change this ONLY if you know what you are doing" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:177 +msgid "Select the DNS protocol type for the domain resolver" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:300 +msgid "Select the list type for adding custom domains" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:380 +msgid "Select the list type for adding custom subnets" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:90 +msgid "Select the network interface from which the traffic will originate" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:136 +msgid "Select the network interface to which the traffic will originate" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:192 +msgid "Select the WAN interfaces to be monitored" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:337 +msgid "Services info" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:49 +msgid "Settings" +msgstr "" + +#: src/podkop/tabs/diagnostic/initController.ts:278 +#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:116 +msgid "Show sing-box config" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:351 +msgid "Sing-box" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:86 +msgid "Sing-box autostart disabled" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/contstants.ts:19 +msgid "Sing-box checks" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:66 +msgid "Sing-box checks passed" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:71 +msgid "Sing-box installed" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:96 +msgid "Sing-box listening ports" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:91 +msgid "Sing-box process running" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:81 +msgid "Sing-box service exist" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:76 +msgid "Sing-box version >= 1.12.4" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:89 +msgid "Source Network Interface" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:370 +msgid "Specify a local IP address to be excluded from routing" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:551 +msgid "Specify local IP addresses or subnets whose traffic will always be routed through the configured route" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:505 +msgid "Specify remote URLs to download and use domain lists" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:528 +msgid "Specify remote URLs to download and use subnet lists" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:459 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:482 +msgid "Specify the path to the list file located on the router filesystem" +msgstr "" + +#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:69 +msgid "Start podkop" +msgstr "" + +#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:59 +msgid "Stop podkop" +msgstr "" + +#: src/helpers/copyToClipboard.ts:10 +msgid "Successfully copied!" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:301 +msgid "System info" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:80 +msgid "Table exist" +msgstr "" + +#: src/podkop/tabs/dashboard/partials/renderSections.ts:108 +msgid "Test latency" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:304 +msgid "Text List" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:384 +msgid "Text List (comma/space/newline separated)" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:46 +msgid "The DNS server used to look up the IP address of an upstream DNS server" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:69 +msgid "Time in seconds for DNS record caching (default: 60)" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:235 +msgid "Traffic" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:265 +msgid "Traffic Total" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:80 +msgid "TTL must be a positive number" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:75 +msgid "TTL value cannot be empty" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:181 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:17 +msgid "UDP (Unprotected DNS)" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:110 +msgid "UDP over TCP" +msgstr "" + +#: src/podkop/tabs/diagnostic/initController.ts:34 +#: src/podkop/tabs/diagnostic/initController.ts:35 +#: src/podkop/tabs/diagnostic/initController.ts:36 +#: src/podkop/tabs/diagnostic/initController.ts:37 +#: src/podkop/tabs/diagnostic/initController.ts:38 +#: src/podkop/tabs/diagnostic/initController.ts:39 +#: src/podkop/tabs/diagnostic/initController.ts:373 +msgid "unknown" +msgstr "" + #: src/podkop/api.ts:40 msgid "Unknown error" msgstr "" -#: src/validators/validateDns.ts:7 -msgid "DNS server address cannot be empty" +#: src/podkop/tabs/dashboard/initController.ts:237 +#: src/podkop/tabs/dashboard/initController.ts:268 +msgid "Uplink" +msgstr "" + +#: src/validators/validateProxyUrl.ts:27 +msgid "URL must start with vless://, ss://, trojan://, or socks4/5://" +msgstr "" + +#: src/validators/validateUrl.ts:13 +msgid "URL must use one of the following protocols:" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:27 +msgid "URLTest" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:87 +msgid "URLTest Proxy Links" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:299 +msgid "User Domain List Type" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:311 +msgid "User Domains" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:337 +msgid "User Domains List" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:379 +msgid "User Subnet List Type" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:391 +msgid "User Subnets" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:417 +msgid "User Subnets List" msgstr "" #: src/validators/validateDns.ts:11 @@ -56,254 +961,9 @@ msgstr "" msgid "Valid" msgstr "" -#: src/validators/validateDns.ts:20 -msgid "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH" -msgstr "" - -#: src/validators/validateDomain.ts:18 -#: src/validators/validateDomain.ts:27 -msgid "Invalid domain address" -msgstr "" - -#: src/validators/validateIp.ts:11 -msgid "Invalid IP address" -msgstr "" - -#: src/validators/validateOutboundJson.ts:11 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:327 -msgid "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields" -msgstr "" - -#: src/validators/validateOutboundJson.ts:19 -msgid "Invalid JSON format" -msgstr "" - -#: src/validators/validatePath.ts:7 -msgid "Path cannot be empty" -msgstr "" - -#: src/validators/validatePath.ts:22 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:90 -msgid "Invalid path format. Path must start with \"/\" and contain valid characters" -msgstr "" - -#: src/validators/validateProxyUrl.ts:27 -msgid "URL must start with vless://, ss://, trojan://, or socks4/5://" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:8 -msgid "Invalid Shadowsocks URL: must start with ss://" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:16 -msgid "Invalid Shadowsocks URL: must not contain spaces" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:27 -msgid "Invalid Shadowsocks URL: missing credentials" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:37 -msgid "Invalid Shadowsocks URL: decoded credentials must contain method:password" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:46 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:171 -msgid "Invalid Shadowsocks URL: missing method and password separator \":\"" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:58 -msgid "Invalid Shadowsocks URL: missing server address" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:67 -msgid "Invalid Shadowsocks URL: missing server" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:76 -msgid "Invalid Shadowsocks URL: missing port" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:85 -msgid "Invalid port number. Must be between 1 and 65535" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:91 -msgid "Invalid Shadowsocks URL: parsing failed" -msgstr "" - -#: src/validators/validateSocksUrl.ts:10 -msgid "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://" -msgstr "" - -#: src/validators/validateSocksUrl.ts:19 -msgid "Invalid SOCKS URL: must not contain spaces" -msgstr "" - -#: src/validators/validateSocksUrl.ts:34 -msgid "Invalid SOCKS URL: missing username" -msgstr "" - -#: src/validators/validateSocksUrl.ts:42 -msgid "Invalid SOCKS URL: missing host and port" -msgstr "" - -#: src/validators/validateSocksUrl.ts:51 -msgid "Invalid SOCKS URL: missing hostname or IP" -msgstr "" - -#: src/validators/validateSocksUrl.ts:56 -msgid "Invalid SOCKS URL: missing port" -msgstr "" - -#: src/validators/validateSocksUrl.ts:63 -msgid "Invalid SOCKS URL: invalid port number" -msgstr "" - -#: src/validators/validateSocksUrl.ts:73 -msgid "Invalid SOCKS URL: invalid host format" -msgstr "" - -#: src/validators/validateSocksUrl.ts:77 -msgid "Invalid SOCKS URL: parsing failed" -msgstr "" - -#: src/validators/validateSubnet.ts:11 -msgid "Invalid format. Use X.X.X.X or X.X.X.X/Y" -msgstr "" - -#: src/validators/validateSubnet.ts:18 -msgid "IP address 0.0.0.0 is not allowed" -msgstr "" - -#: src/validators/validateSubnet.ts:33 -msgid "CIDR must be between 0 and 32" -msgstr "" - -#: src/validators/validateTrojanUrl.ts:8 -msgid "Invalid Trojan URL: must start with trojan://" -msgstr "" - -#: src/validators/validateTrojanUrl.ts:15 -msgid "Invalid Trojan URL: must not contain spaces" -msgstr "" - -#: src/validators/validateTrojanUrl.ts:56 -msgid "Invalid Trojan URL: parsing failed" -msgstr "" - -#: src/validators/validateUrl.ts:13 -msgid "URL must use one of the following protocols:" -msgstr "" - -#: src/validators/validateUrl.ts:18 -msgid "Invalid URL format" -msgstr "" - -#: src/validators/validateVlessUrl.ts:109 -msgid "Invalid VLESS URL: parsing failed" -msgstr "" - -#: src/partials/modal/renderModal.ts:15 -msgid "Download" -msgstr "" - -#: src/partials/modal/renderModal.ts:20 -msgid "Copy" -msgstr "" - -#: src/partials/modal/renderModal.ts:26 -msgid "Close" -msgstr "" - -#: src/podkop/methods/custom/getDashboardSections.ts:117 -msgid "Fastest" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:235 -msgid "Traffic" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:237 -#: src/podkop/tabs/dashboard/initController.ts:268 -msgid "Uplink" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:238 -#: src/podkop/tabs/dashboard/initController.ts:272 -msgid "Downlink" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:265 -msgid "Traffic Total" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:301 -msgid "System info" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:304 -msgid "Active Connections" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:308 -msgid "Memory Usage" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:337 -msgid "Services info" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:340 -msgid "Podkop" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:342 -msgid "✔ Enabled" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:343 -msgid "✘ Disabled" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:351 -msgid "Sing-box" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:353 -msgid "✔ Running" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:354 -msgid "✘ Stopped" -msgstr "" - -#: src/podkop/tabs/diagnostic/diagnostic.store.ts:55 -#: src/podkop/tabs/diagnostic/diagnostic.store.ts:63 -#: src/podkop/tabs/diagnostic/diagnostic.store.ts:71 -#: src/podkop/tabs/diagnostic/diagnostic.store.ts:79 -msgid "Not running" -msgstr "" - -#: src/podkop/tabs/diagnostic/diagnostic.store.ts:95 -#: src/podkop/tabs/diagnostic/diagnostic.store.ts:103 -#: src/podkop/tabs/diagnostic/diagnostic.store.ts:111 -#: src/podkop/tabs/diagnostic/diagnostic.store.ts:119 -msgid "Queued" -msgstr "" - -#: src/podkop/tabs/diagnostic/initController.ts:34 -#: src/podkop/tabs/diagnostic/initController.ts:35 -#: src/podkop/tabs/diagnostic/initController.ts:36 -#: src/podkop/tabs/diagnostic/initController.ts:37 -#: src/podkop/tabs/diagnostic/initController.ts:38 -#: src/podkop/tabs/diagnostic/initController.ts:39 -#: src/podkop/tabs/diagnostic/initController.ts:373 -msgid "unknown" -msgstr "" - -#: src/podkop/tabs/diagnostic/initController.ts:218 -msgid "Global check" +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:370 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:449 +msgid "Validation errors:" msgstr "" #: src/podkop/tabs/diagnostic/initController.ts:248 @@ -311,1202 +971,14 @@ msgstr "" msgid "View logs" msgstr "" -#: src/podkop/tabs/diagnostic/initController.ts:278 -#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:116 -msgid "Show sing-box config" -msgstr "" - -#: src/podkop/tabs/diagnostic/initController.ts:394 -msgid "Outdated" -msgstr "" - -#: src/podkop/tabs/diagnostic/initController.ts:404 -msgid "Latest" -msgstr "" - -#: src/podkop/tabs/dashboard/partials/renderSections.ts:19 -msgid "Dashboard currently unavailable" -msgstr "" - -#: src/podkop/tabs/dashboard/partials/renderSections.ts:108 -msgid "Test latency" -msgstr "" - -#: src/podkop/tabs/dashboard/partials/renderWidget.ts:22 -msgid "Currently unavailable" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/contstants.ts:14 -msgid "DNS checks" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/contstants.ts:19 -msgid "Sing-box checks" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/contstants.ts:24 -msgid "Nftables checks" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/contstants.ts:29 -msgid "FakeIP checks" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:14 -msgid "Checking dns, please wait" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:26 -msgid "Cannot receive DNS checks result" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:64 -msgid "DNS checks passed" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:72 -msgid "Bootsrap DNS" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:79 -msgid "Main DNS" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:84 -msgid "DNS on router" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:89 -msgid "DHCP has DNS server" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:14 -msgid "Checking FakeIP, please wait" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:44 -msgid "FakeIP checks passed" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:51 -msgid "FakeIP checks partially passed" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:57 -msgid "FakeIP checks failed" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:73 -msgid "Router DNS is routed through sing-box" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:74 -msgid "Router DNS is not routed through sing-box" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:80 -msgid "Browser is using FakeIP correctly" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:81 -msgid "Browser is not using FakeIP" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:88 -msgid "Proxy traffic is routed via FakeIP" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:89 -msgid "Proxy traffic is not routed via FakeIP" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:12 -msgid "Checking nftables, please wait" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:27 -msgid "Cannot receive nftables checks result" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:74 -msgid "Nftables checks passed" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:75 -msgid "Nftables checks partially passed" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:80 -msgid "Table exist" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:85 -msgid "Rules mangle exist" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:90 -msgid "Rules mangle counters" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:95 -msgid "Rules mangle output exist" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:100 -msgid "Rules mangle output counters" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:105 -msgid "Rules proxy exist" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:110 -msgid "Rules proxy counters" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:116 -msgid "No other marking rules found" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:117 -msgid "Additional marking rules found" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:12 -msgid "Checking sing-box, please wait" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:24 -msgid "Cannot receive Sing-box checks result" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:66 -msgid "Sing-box checks passed" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:71 -msgid "Sing-box installed" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:76 -msgid "Sing-box version >= 1.12.4" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:81 -msgid "Sing-box service exist" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:86 -msgid "Sing-box autostart disabled" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:91 -msgid "Sing-box process running" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:96 -msgid "Sing-box listening ports" -msgstr "" - -#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:49 -msgid "Restart podkop" -msgstr "" - -#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:59 -msgid "Stop podkop" -msgstr "" - -#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:69 -msgid "Start podkop" -msgstr "" - -#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:79 -msgid "Disable autostart" -msgstr "" - -#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:89 -msgid "Enable autostart" -msgstr "" - -#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:98 -msgid "Get global check" -msgstr "" - -#: src/podkop/tabs/diagnostic/partials/renderCheckSection.ts:189 -msgid "Not implement yet" -msgstr "" - -#: src/podkop/tabs/diagnostic/partials/renderRunAction.ts:15 -msgid "Run Diagnostic" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:12 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:23 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:35 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:44 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:47 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:67 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:85 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:122 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:211 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:314 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:332 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:383 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:449 -msgid "Valid" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:14 -msgid "Invalid IP address" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:27 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:33 -msgid "Invalid domain address" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:41 -msgid "DNS server address cannot be empty" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:51 -msgid "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:64 -msgid "URL must use one of the following protocols:" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:69 -msgid "Invalid URL format" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:78 -msgid "Path cannot be empty" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:102 -msgid "Invalid format. Use X.X.X.X or X.X.X.X/Y" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:107 -msgid "IP address 0.0.0.0 is not allowed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:118 -msgid "CIDR must be between 0 and 32" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:139 -msgid "Invalid Shadowsocks URL: must start with ss://" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:146 -msgid "Invalid Shadowsocks URL: must not contain spaces" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:154 -msgid "Invalid Shadowsocks URL: missing credentials" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:162 -msgid "Invalid Shadowsocks URL: decoded credentials must contain method:password" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:181 -msgid "Invalid Shadowsocks URL: missing server address" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:188 -msgid "Invalid Shadowsocks URL: missing server" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:195 -msgid "Invalid Shadowsocks URL: missing port" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:202 -msgid "Invalid port number. Must be between 1 and 65535" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:208 -msgid "Invalid Shadowsocks URL: parsing failed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:316 -msgid "Invalid VLESS URL: parsing failed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:334 -msgid "Invalid JSON format" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:344 -msgid "Invalid Trojan URL: must start with trojan://" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:350 -msgid "Invalid Trojan URL: must not contain spaces" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:381 -msgid "Invalid Trojan URL: parsing failed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:392 -msgid "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:400 -msgid "Invalid SOCKS URL: must not contain spaces" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:411 -msgid "Invalid SOCKS URL: missing username" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:418 -msgid "Invalid SOCKS URL: missing host and port" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:425 -msgid "Invalid SOCKS URL: missing hostname or IP" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:429 -msgid "Invalid SOCKS URL: missing port" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:435 -msgid "Invalid SOCKS URL: invalid port number" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:443 -msgid "Invalid SOCKS URL: invalid host format" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:447 -msgid "Invalid SOCKS URL: parsing failed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:468 -msgid "URL must start with vless://, ss://, trojan://, or socks4/5://" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:692 -msgid "Fastest" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:864 -msgid "HTTP error" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:875 -msgid "Unknown error" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:985 -msgid "DNS checks" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:990 -msgid "Sing-box checks" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:995 -msgid "Nftables checks" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1000 -msgid "FakeIP checks" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1048 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1056 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1064 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1072 -msgid "Not running" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1084 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1092 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1100 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1108 -msgid "Queued" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1578 -msgid "Dashboard currently unavailable" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1654 -msgid "Test latency" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1683 -msgid "Currently unavailable" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2024 -msgid "Traffic" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2026 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2051 -msgid "Uplink" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2027 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2055 -msgid "Downlink" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2048 -msgid "Traffic Total" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2078 -msgid "System info" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2081 -msgid "Active Connections" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2085 -msgid "Memory Usage" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2108 -msgid "Services info" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2111 -msgid "Podkop" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2112 -msgid "\\u2714 Enabled" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2112 -msgid "\\u2718 Disabled" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2118 -msgid "Sing-box" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2119 -msgid "\\u2714 Running" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2119 -msgid "\\u2718 Stopped" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2365 -msgid "Checking dns, please wait" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2375 -msgid "Cannot receive DNS checks result" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2397 -msgid "DNS checks passed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2405 -msgid "Bootsrap DNS" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2412 -msgid "Main DNS" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2417 -msgid "DNS on router" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2422 -msgid "DHCP has DNS server" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2439 -msgid "Checking sing-box, please wait" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2449 -msgid "Cannot receive Sing-box checks result" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2471 -msgid "Sing-box checks passed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2476 -msgid "Sing-box installed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2481 -msgid "Sing-box version >= 1.12.4" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2486 -msgid "Sing-box service exist" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2491 -msgid "Sing-box autostart disabled" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2496 -msgid "Sing-box process running" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2501 -msgid "Sing-box listening ports" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2518 -msgid "Checking nftables, please wait" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2530 -msgid "Cannot receive nftables checks result" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2552 -msgid "Nftables checks passed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2552 -msgid "Nftables checks partially passed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2557 -msgid "Table exist" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2562 -msgid "Rules mangle exist" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2567 -msgid "Rules mangle counters" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2572 -msgid "Rules mangle output exist" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2577 -msgid "Rules mangle output counters" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2582 -msgid "Rules proxy exist" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2587 -msgid "Rules proxy counters" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2592 -msgid "No other marking rules found" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2592 -msgid "Additional marking rules found" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2609 -msgid "Checking FakeIP, please wait" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2627 -msgid "FakeIP checks passed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2633 -msgid "FakeIP checks partially passed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2638 -msgid "FakeIP checks failed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2651 -msgid "Router DNS is routed through sing-box" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2651 -msgid "Router DNS is not routed through sing-box" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2656 -msgid "Browser is using FakeIP correctly" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2656 -msgid "Browser is not using FakeIP" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2662 -msgid "Proxy traffic is routed via FakeIP" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2662 -msgid "Proxy traffic is not routed via FakeIP" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3288 -msgid "Successfully copied!" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3290 -msgid "Failed to copy!" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3306 -msgid "Download" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3311 -msgid "Copy" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3318 -msgid "Close" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3350 -msgid "Restart podkop" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3360 -msgid "Stop podkop" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3370 -msgid "Start podkop" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3380 -msgid "Disable autostart" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3390 -msgid "Enable autostart" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3399 -msgid "Get global check" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3408 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3840 -msgid "View logs" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3417 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3867 -msgid "Show sing-box config" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3577 -msgid "Not implement yet" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3587 -msgid "Run Diagnostic" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3651 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3652 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3653 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3654 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3655 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3656 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3950 -msgid "unknown" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3813 -msgid "Global check" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3969 -msgid "Outdated" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3978 -msgid "Latest" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:4389 -msgid "Operation timed out" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:26 -msgid "Podkop Settings" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:27 -msgid "Configuration for Podkop service" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:36 -msgid "Sections" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:49 -msgid "Settings" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:65 -msgid "Diagnostics" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:80 -msgid "Dashboard" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:12 -msgid "Connection Type" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:13 -msgid "Select between VPN and Proxy connection methods for traffic routing" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:22 -msgid "Configuration Type" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:23 -msgid "Select how to configure the proxy" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:25 -msgid "Connection URL" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:26 -msgid "Outbound Config" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:27 -msgid "URLTest" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:34 -msgid "Proxy Configuration URL" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:64 -msgid "Outbound Configuration" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:65 -msgid "Enter complete outbound configuration in JSON format" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:87 -msgid "URLTest Proxy Links" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:110 -msgid "UDP over TCP" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:111 -msgid "Applicable for SOCKS and Shadowsocks proxy" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:120 -msgid "Network Interface" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:121 -msgid "Select network interface for VPN connection" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:166 -msgid "Domain Resolver" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:167 -msgid "Enable built-in DNS resolver for domains handled by this section" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:176 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:12 -msgid "DNS Protocol Type" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:177 -msgid "Select the DNS protocol type for the domain resolver" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:179 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:15 -msgid "DNS over HTTPS (DoH)" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:180 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:16 -msgid "DNS over TLS (DoT)" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:181 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:17 -msgid "UDP (Unprotected DNS)" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:189 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:24 -msgid "DNS Server" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:190 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:25 -msgid "Select or enter DNS server address" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:193 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:217 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:28 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:51 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:254 -msgid "" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:211 -msgid "Community Lists" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:212 -msgid "Select a predefined list for routing" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:245 -msgid "Regional options cannot be used together" -msgstr "" - #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:247 msgid "Warning: %s cannot be used together with %s. Previous selections have been removed." msgstr "" -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:264 -msgid "Russia inside restrictions" -msgstr "" - #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:266 msgid "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection." msgstr "" -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:299 -msgid "User Domain List Type" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:300 -msgid "Select the list type for adding custom domains" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:302 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:382 -msgid "Disabled" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:303 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:383 -msgid "Dynamic List" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:304 -msgid "Text List" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:311 -msgid "User Domains" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:312 -msgid "Enter domain names without protocols, e.g. example.com or sub.example.com" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:337 -msgid "User Domains List" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:338 -msgid "Enter domain names separated by commas, spaces, or newlines. You can add comments using //" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:356 -msgid "At least one valid domain must be specified. Comments-only content is not allowed." -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:370 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:449 -msgid "Validation errors:" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:379 -msgid "User Subnet List Type" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:380 -msgid "Select the list type for adding custom subnets" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:384 -msgid "Text List (comma/space/newline separated)" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:391 -msgid "User Subnets" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:392 -msgid "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:417 -msgid "User Subnets List" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:418 -msgid "Enter subnets in CIDR notation or single IP addresses, separated by commas, spaces, or newlines. \" + \"You can add comments using //" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:437 -msgid "At least one valid subnet or IP must be specified. Comments-only content is not allowed." -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:458 -msgid "Local Domain Lists" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:459 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:482 -msgid "Specify the path to the list file located on the router filesystem" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:481 -msgid "Local Subnet Lists" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:504 -msgid "Remote Domain Lists" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:505 -msgid "Specify remote URLs to download and use domain lists" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:527 -msgid "Remote Subnet Lists" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:528 -msgid "Specify remote URLs to download and use subnet lists" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:550 -msgid "Fully Routed IPs" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:551 -msgid "Specify local IP addresses or subnets whose traffic will always be routed through the configured route" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:575 -msgid "Enable Mixed Proxy" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:576 -msgid "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:586 -msgid "Mixed Proxy Port" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:587 -msgid "Specify the port number on which the mixed proxy will run for this section. \" + \"Make sure the selected port is not used by another service" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:13 -msgid "Select DNS protocol to use" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:45 -msgid "Bootstrap DNS server" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:46 -msgid "The DNS server used to look up the IP address of an upstream DNS server" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:68 -msgid "DNS Rewrite TTL" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:69 -msgid "Time in seconds for DNS record caching (default: 60)" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:75 -msgid "TTL value cannot be empty" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:80 -msgid "TTL must be a positive number" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:89 -msgid "Source Network Interface" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:90 -msgid "Select the network interface from which the traffic will originate" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:126 -msgid "Enable Output Network Interface" -msgstr "" - #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:127 msgid "You can select Output Network Interface, by default autodetect" msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:135 -msgid "Output Network Interface" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:136 -msgid "Select the network interface to which the traffic will originate" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:182 -msgid "Interface Monitoring" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:183 -msgid "Interface monitoring for Bad WAN" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:191 -msgid "Monitored Interfaces" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:192 -msgid "Select the WAN interfaces to be monitored" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:214 -msgid "Interface Monitoring Delay" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:215 -msgid "Delay in milliseconds before reloading podkop after interface UP" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:222 -msgid "Delay value cannot be empty" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:230 -msgid "Enable YACD" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:239 -msgid "Disable QUIC" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:240 -msgid "Disable the QUIC protocol to improve compatibility or fix issues with video streaming" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:250 -msgid "List Update Frequency" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:251 -msgid "Select how often the domain or subnet lists are updated automatically" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:262 -msgid "Download Lists via Proxy/VPN" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:263 -msgid "Downloading all lists via main Proxy/VPN" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:271 -msgid "Download Lists via specific proxy section" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:272 -msgid "Downloading all lists via specific Proxy/VPN" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:300 -msgid "Dont Touch My DHCP!" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:301 -msgid "Podkop will not modify your DHCP configuration" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:309 -msgid "Config File Path" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:310 -msgid "Select path for sing-box config file. Change this ONLY if you know what you are doing" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:322 -msgid "Cache File Path" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:323 -msgid "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:336 -msgid "Cache file path cannot be empty" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:340 -msgid "Path must be absolute (start with /)" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:344 -msgid "Path must end with cache.db" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:349 -msgid "Path must contain at least one directory (like /tmp/cache.db)" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:358 -msgid "Exclude NTP" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:359 -msgid "Exclude NTP protocol traffic from the tunnel to prevent it from being routed through the proxy or VPN" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:369 -msgid "Routing Excluded IPs" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:370 -msgid "Specify a local IP address to be excluded from routing" -msgstr "" diff --git a/fe-app-podkop/locales/podkop.ru.po b/fe-app-podkop/locales/podkop.ru.po index cb60b88..ea6eee7 100644 --- a/fe-app-podkop/locales/podkop.ru.po +++ b/fe-app-podkop/locales/podkop.ru.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PODKOP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-21 21:44+0300\n" -"PO-Revision-Date: 2025-10-21 21:44+0300\n" +"POT-Creation-Date: 2025-10-21 22:33+0300\n" +"PO-Revision-Date: 2025-10-21 22:33+0300\n" "Last-Translator: divocat\n" "Language-Team: none\n" "Language: ru\n" @@ -17,995 +17,107 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -msgid "Successfully copied!" -msgstr "Успешно скопировано!" - -msgid "Failed to copy!" -msgstr "Не удалось скопировать!" - -msgid "Operation timed out" -msgstr "Время ожидания истекло" - -msgid "HTTP error" -msgstr "Ошибка HTTP" - -msgid "Unknown error" -msgstr "Неизвестная ошибка" - -msgid "DNS server address cannot be empty" -msgstr "Адрес DNS-сервера не может быть пустым" - -msgid "Valid" -msgstr "Валидно" - -msgid "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH" -msgstr "Неверный формат DNS-сервера. Примеры: 8.8.8.8, dns.example.com или dns.example.com/nicedns для DoH" - -msgid "Invalid domain address" -msgstr "Неверный домен" - -msgid "Invalid IP address" -msgstr "Неверный IP-адрес" - -msgid "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields" -msgstr "JSON должен содержать поля \"type\", \"server\" и \"server_port\"" - -msgid "Invalid JSON format" -msgstr "Неверный формат JSON" - -msgid "Path cannot be empty" -msgstr "Путь не может быть пустым" - -msgid "Invalid path format. Path must start with \"/\" and contain valid characters" -msgstr "Неверный формат пути. Путь должен начинаться с \"/\" и содержать допустимые символы" - -msgid "URL must start with vless://, ss://, trojan://, or socks4/5://" -msgstr "Ссылка должна начинаться с vless://, ss://, trojan://, или socks4/5://" - -msgid "Invalid Shadowsocks URL: must start with ss://" -msgstr "Неверный URL Shadowsocks: должен начинаться с ss://" - -msgid "Invalid Shadowsocks URL: must not contain spaces" -msgstr "Неверный URL Shadowsocks: не должен содержать пробелов" - -msgid "Invalid Shadowsocks URL: missing credentials" -msgstr "Неверный URL Shadowsocks: отсутствуют учетные данные" - -msgid "Invalid Shadowsocks URL: decoded credentials must contain method:password" -msgstr "Неверный URL Shadowsocks: декодированные данные должны содержать method:password" - -msgid "Invalid Shadowsocks URL: missing method and password separator \":\"" -msgstr "Неверный URL Shadowsocks: отсутствует разделитель метода и пароля \":\"" - -msgid "Invalid Shadowsocks URL: missing server address" -msgstr "Неверный URL Shadowsocks: отсутствует адрес сервера" - -msgid "Invalid Shadowsocks URL: missing server" -msgstr "Неверный URL Shadowsocks: отсутствует сервер" - -msgid "Invalid Shadowsocks URL: missing port" -msgstr "Неверный URL Shadowsocks: отсутствует порт" - -msgid "Invalid port number. Must be between 1 and 65535" -msgstr "Неверный номер порта. Допустимо от 1 до 65535" - -msgid "Invalid Shadowsocks URL: parsing failed" -msgstr "Неверный URL Shadowsocks: ошибка разбора" - -msgid "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://" -msgstr "Невалидная SOCKS ссылка: должна начинаться с socks4://, socks4a://, или socks5://" - -msgid "Invalid SOCKS URL: must not contain spaces" -msgstr "Невалидная SOCKS ссылка: не должна содержать пробелов" - -msgid "Invalid SOCKS URL: missing username" -msgstr "Невалидная SOCKS ссылка: отсуствует имя пользователя" - -msgid "Invalid SOCKS URL: missing host and port" -msgstr "Невалидная SOCKS ссылка: отсутствуют хост и порт" - -msgid "Invalid SOCKS URL: missing hostname or IP" -msgstr "Невалидная SOCKS ссылка: отсутствуют имя хоста или айпи" - -msgid "Invalid SOCKS URL: missing port" -msgstr "Невалидная SOCKS ссылка: отсутствует порт" - -msgid "Invalid SOCKS URL: invalid port number" -msgstr "Невалидная SOCKS ссылка: невалидный номер порта" - -msgid "Invalid SOCKS URL: invalid host format" -msgstr "Невалидная SOCKS ссылка: невалидный формат хоста" - -msgid "Invalid SOCKS URL: parsing failed" -msgstr "Невалидная SOCKS ссылка: не удалось распарсить" - -msgid "Invalid format. Use X.X.X.X or X.X.X.X/Y" -msgstr "Неверный формат. Используйте X.X.X.X или X.X.X.X/Y" - -msgid "IP address 0.0.0.0 is not allowed" -msgstr "IP-адрес 0.0.0.0 не допускается" - -msgid "CIDR must be between 0 and 32" -msgstr "CIDR должен быть между 0 и 32" - -msgid "Invalid Trojan URL: must start with trojan://" -msgstr "Неверный URL Trojan: должен начинаться с trojan://" - -msgid "Invalid Trojan URL: must not contain spaces" -msgstr "Неверный URL Trojan: не должен содержать пробелов" - -msgid "Invalid Trojan URL: parsing failed" -msgstr "Неверный URL Trojan: ошибка разбора" - -msgid "URL must use one of the following protocols:" -msgstr "URL должен использовать один из следующих протоколов:" - -msgid "Invalid URL format" -msgstr "Неверный формат URL" - -msgid "Invalid VLESS URL: parsing failed" -msgstr "Неверный URL VLESS: ошибка разбора" - -msgid "Download" -msgstr "Скачать" - -msgid "Copy" -msgstr "Скопировать" - -msgid "Close" -msgstr "Закрыть" - -msgid "Traffic" -msgstr "Трафик" - -msgid "Uplink" -msgstr "Исходящий" - -msgid "Downlink" -msgstr "Входящий" - -msgid "Traffic Total" -msgstr "Всего трафика" - -msgid "System info" -msgstr "Системная информация" - -msgid "Active Connections" -msgstr "Активные соединения" - -msgid "Memory Usage" -msgstr "Использование памяти" - -msgid "Services info" -msgstr "Информация о сервисах" - -msgid "Podkop" -msgstr "Podkop" - msgid "✔ Enabled" msgstr "✔ Включено" -msgid "✘ Disabled" -msgstr "✘ Отключено" - -msgid "Sing-box" -msgstr "Sing-box" - msgid "✔ Running" msgstr "✔ Работает" +msgid "✘ Disabled" +msgstr "✘ Отключено" + msgid "✘ Stopped" msgstr "✘ Остановлен" -msgid "Not running" -msgstr "Не запущен" - -msgid "Queued" -msgstr "В очереди" - -msgid "unknown" -msgstr "неизвестно" - -msgid "Global check" -msgstr "Глобальная проверка" - -msgid "View logs" -msgstr "Посмотреть логи" - -msgid "Show sing-box config" -msgstr "Показать sing-box конфиг" - -msgid "Outdated" -msgstr "Устаревшая" - -msgid "Latest" -msgstr "Последняя" - -msgid "Fastest" -msgstr "Самый быстрый" - -msgid "Dashboard currently unavailable" -msgstr "Дашборд сейчас недоступен" - -msgid "Test latency" -msgstr "Проверить задержку" - -msgid "Currently unavailable" -msgstr "Временно недоступно" - -msgid "Restart podkop" -msgstr "Перезапустить podkop" - -msgid "Stop podkop" -msgstr "Остановить podkop" - -msgid "Start podkop" -msgstr "Запустить podkop" - -msgid "Disable autostart" -msgstr "Отключить автостарт" - -msgid "Enable autostart" -msgstr "Включить автостарт" - -msgid "Get global check" -msgstr "Получить глобальную проверку" - -msgid "Not implement yet" -msgstr "Не реализовано" - -msgid "Run Diagnostic" -msgstr "Запустить диагностику" - -msgid "DNS checks" -msgstr "Проверка DNS" - -msgid "Sing-box checks" -msgstr "Проверка Sing-box" - -msgid "Nftables checks" -msgstr "Проверка Nftables" - -msgid "FakeIP checks" -msgstr "Проверка FakeIP" - -msgid "Checking dns, please wait" -msgstr "Проверяем dns, пожалуйста подождите" - -msgid "Cannot receive DNS checks result" -msgstr "Не удалось получить результаты проверки DNS" - -msgid "DNS checks passed" -msgstr "Проверка DNS прошла" - -msgid "Bootsrap DNS" -msgstr "Загрузочный DNS" - -msgid "Main DNS" -msgstr "Основной DNS" - -msgid "DNS on router" -msgstr "DNS на роутере" - -msgid "DHCP has DNS server" -msgstr "DHCP содежрит DNS сервер" - -msgid "Checking FakeIP, please wait" -msgstr "Проверяем FakeIP, пожалуйста подождите" - -msgid "FakeIP checks passed" -msgstr "Проверка FakeIP прошла" - -msgid "FakeIP checks partially passed" -msgstr "Проверка FakeIP частично прошла" - -msgid "FakeIP checks failed" -msgstr "Проверка FakeIP не удалась" - -msgid "Router DNS is routed through sing-box" -msgstr "" - -msgid "Router DNS is not routed through sing-box" -msgstr "" - -msgid "Browser is using FakeIP correctly" -msgstr "" - -msgid "Browser is not using FakeIP" -msgstr "" - -msgid "Proxy traffic is routed via FakeIP" -msgstr "" - -msgid "Proxy traffic is not routed via FakeIP" -msgstr "" - -msgid "Checking nftables, please wait" -msgstr "" - -msgid "Cannot receive nftables checks result" -msgstr "" - -msgid "Nftables checks passed" -msgstr "" - -msgid "Nftables checks partially passed" -msgstr "" - -msgid "Table exist" -msgstr "" - -msgid "Rules mangle exist" -msgstr "" - -msgid "Rules mangle counters" -msgstr "" - -msgid "Rules mangle output exist" -msgstr "" - -msgid "Rules mangle output counters" -msgstr "" - -msgid "Rules proxy exist" -msgstr "" - -msgid "Rules proxy counters" -msgstr "" - -msgid "No other marking rules found" -msgstr "" - -msgid "Additional marking rules found" -msgstr "" - -msgid "Checking sing-box, please wait" -msgstr "" - -msgid "Cannot receive Sing-box checks result" -msgstr "" - -msgid "Sing-box checks passed" -msgstr "" - -msgid "Sing-box installed" -msgstr "" - -msgid "Sing-box version >= 1.12.4" -msgstr "" - -msgid "Sing-box service exist" -msgstr "" - -msgid "Sing-box autostart disabled" -msgstr "" - -msgid "Sing-box process running" -msgstr "" - -msgid "Sing-box listening ports" -msgstr "" - -msgid "Valid" -msgstr "Валидно" - -msgid "Invalid IP address" -msgstr "Неверный IP-адрес" - -msgid "Invalid domain address" -msgstr "Неверный домен" - -msgid "DNS server address cannot be empty" -msgstr "Адрес DNS-сервера не может быть пустым" - -msgid "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH" -msgstr "Неверный формат DNS-сервера. Примеры: 8.8.8.8, dns.example.com или dns.example.com/nicedns для DoH" - -msgid "URL must use one of the following protocols:" -msgstr "URL должен использовать один из следующих протоколов:" - -msgid "Invalid URL format" -msgstr "Неверный формат URL" - -msgid "Path cannot be empty" -msgstr "Путь не может быть пустым" - -msgid "Invalid format. Use X.X.X.X or X.X.X.X/Y" -msgstr "Неверный формат. Используйте X.X.X.X или X.X.X.X/Y" - -msgid "IP address 0.0.0.0 is not allowed" -msgstr "IP-адрес 0.0.0.0 не допускается" - -msgid "CIDR must be between 0 and 32" -msgstr "CIDR должен быть между 0 и 32" - -msgid "Invalid Shadowsocks URL: must start with ss://" -msgstr "Неверный URL Shadowsocks: должен начинаться с ss://" - -msgid "Invalid Shadowsocks URL: must not contain spaces" -msgstr "Неверный URL Shadowsocks: не должен содержать пробелов" - -msgid "Invalid Shadowsocks URL: missing credentials" -msgstr "Неверный URL Shadowsocks: отсутствуют учетные данные" - -msgid "Invalid Shadowsocks URL: decoded credentials must contain method:password" -msgstr "Неверный URL Shadowsocks: декодированные данные должны содержать method:password" - -msgid "Invalid Shadowsocks URL: missing server address" -msgstr "Неверный URL Shadowsocks: отсутствует адрес сервера" - -msgid "Invalid Shadowsocks URL: missing server" -msgstr "Неверный URL Shadowsocks: отсутствует сервер" - -msgid "Invalid Shadowsocks URL: missing port" -msgstr "Неверный URL Shadowsocks: отсутствует порт" - -msgid "Invalid port number. Must be between 1 and 65535" -msgstr "Неверный номер порта. Допустимо от 1 до 65535" - -msgid "Invalid Shadowsocks URL: parsing failed" -msgstr "Неверный URL Shadowsocks: ошибка разбора" - -msgid "Invalid VLESS URL: parsing failed" -msgstr "Неверный URL VLESS: ошибка разбора" - -msgid "Invalid JSON format" -msgstr "Неверный формат JSON" - -msgid "Invalid Trojan URL: must start with trojan://" -msgstr "Неверный URL Trojan: должен начинаться с trojan://" - -msgid "Invalid Trojan URL: must not contain spaces" -msgstr "Неверный URL Trojan: не должен содержать пробелов" - -msgid "Invalid Trojan URL: parsing failed" -msgstr "Неверный URL Trojan: ошибка разбора" - -msgid "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://" -msgstr "" - -msgid "Invalid SOCKS URL: must not contain spaces" -msgstr "" - -msgid "Invalid SOCKS URL: missing username" -msgstr "" - -msgid "Invalid SOCKS URL: missing host and port" -msgstr "" - -msgid "Invalid SOCKS URL: missing hostname or IP" -msgstr "" - -msgid "Invalid SOCKS URL: missing port" -msgstr "" - -msgid "Invalid SOCKS URL: invalid port number" -msgstr "" - -msgid "Invalid SOCKS URL: invalid host format" -msgstr "" - -msgid "Invalid SOCKS URL: parsing failed" -msgstr "" - -msgid "URL must start with vless://, ss://, trojan://, or socks4/5://" -msgstr "" - -msgid "Fastest" -msgstr "Самый быстрый" - -msgid "HTTP error" -msgstr "Ошибка HTTP" - -msgid "Unknown error" -msgstr "Неизвестная ошибка" - -msgid "DNS checks" -msgstr "" - -msgid "Sing-box checks" -msgstr "" - -msgid "Nftables checks" -msgstr "" - -msgid "FakeIP checks" -msgstr "" - -msgid "Not running" -msgstr "" - -msgid "Queued" -msgstr "" - -msgid "Dashboard currently unavailable" -msgstr "Дашборд сейчас недоступен" - -msgid "Test latency" -msgstr "" - -msgid "Currently unavailable" -msgstr "Временно недоступно" - -msgid "Traffic" -msgstr "Трафик" - -msgid "Uplink" -msgstr "Исходящий" - -msgid "Downlink" -msgstr "Входящий" - -msgid "Traffic Total" -msgstr "Всего трафика" - -msgid "System info" -msgstr "Системная информация" - msgid "Active Connections" msgstr "Активные соединения" -msgid "Memory Usage" -msgstr "Использование памяти" - -msgid "Services info" -msgstr "Информация о сервисах" - -msgid "Podkop" -msgstr "Podkop" - -msgid "\\u2714 Enabled" -msgstr "" - -msgid "\\u2718 Disabled" -msgstr "" - -msgid "Sing-box" -msgstr "Sing-box" - -msgid "\\u2714 Running" -msgstr "" - -msgid "\\u2718 Stopped" -msgstr "" - -msgid "Checking dns, please wait" -msgstr "" - -msgid "Cannot receive DNS checks result" -msgstr "" - -msgid "DNS checks passed" -msgstr "" - -msgid "Bootsrap DNS" -msgstr "" - -msgid "Main DNS" -msgstr "" - -msgid "DNS on router" -msgstr "" - -msgid "DHCP has DNS server" -msgstr "" - -msgid "Checking sing-box, please wait" -msgstr "" - -msgid "Cannot receive Sing-box checks result" -msgstr "" - -msgid "Sing-box checks passed" -msgstr "" - -msgid "Sing-box installed" -msgstr "" - -msgid "Sing-box version >= 1.12.4" -msgstr "" - -msgid "Sing-box service exist" -msgstr "" - -msgid "Sing-box autostart disabled" -msgstr "" - -msgid "Sing-box process running" -msgstr "" - -msgid "Sing-box listening ports" -msgstr "" - -msgid "Checking nftables, please wait" -msgstr "" - -msgid "Cannot receive nftables checks result" -msgstr "" - -msgid "Nftables checks passed" -msgstr "" - -msgid "Nftables checks partially passed" -msgstr "" - -msgid "Table exist" -msgstr "" - -msgid "Rules mangle exist" -msgstr "" - -msgid "Rules mangle counters" -msgstr "" - -msgid "Rules mangle output exist" -msgstr "" - -msgid "Rules mangle output counters" -msgstr "" - -msgid "Rules proxy exist" -msgstr "" - -msgid "Rules proxy counters" -msgstr "" - -msgid "No other marking rules found" -msgstr "" - msgid "Additional marking rules found" -msgstr "" - -msgid "Checking FakeIP, please wait" -msgstr "" - -msgid "FakeIP checks passed" -msgstr "" - -msgid "FakeIP checks partially passed" -msgstr "" - -msgid "FakeIP checks failed" -msgstr "" - -msgid "Router DNS is routed through sing-box" -msgstr "" - -msgid "Router DNS is not routed through sing-box" -msgstr "" - -msgid "Browser is using FakeIP correctly" -msgstr "" - -msgid "Browser is not using FakeIP" -msgstr "" - -msgid "Proxy traffic is routed via FakeIP" -msgstr "" - -msgid "Proxy traffic is not routed via FakeIP" -msgstr "" - -msgid "Successfully copied!" -msgstr "" - -msgid "Failed to copy!" -msgstr "" - -msgid "Download" -msgstr "" - -msgid "Copy" -msgstr "" - -msgid "Close" -msgstr "Закрыть" - -msgid "Restart podkop" -msgstr "" - -msgid "Stop podkop" -msgstr "" - -msgid "Start podkop" -msgstr "" - -msgid "Disable autostart" -msgstr "" - -msgid "Enable autostart" -msgstr "" - -msgid "Get global check" -msgstr "" - -msgid "View logs" -msgstr "" - -msgid "Show sing-box config" -msgstr "" - -msgid "Not implement yet" -msgstr "" - -msgid "Run Diagnostic" -msgstr "" - -msgid "unknown" -msgstr "" - -msgid "Global check" -msgstr "Глобальная проверка" - -msgid "Outdated" -msgstr "" - -msgid "Latest" -msgstr "" - -msgid "Operation timed out" -msgstr "Время ожидания истекло" - -msgid "Podkop Settings" -msgstr "" - -msgid "Configuration for Podkop service" -msgstr "" - -msgid "Sections" -msgstr "" - -msgid "Settings" -msgstr "" - -msgid "Diagnostics" -msgstr "Диагностика" - -msgid "Dashboard" -msgstr "Дашборд" - -msgid "Connection Type" -msgstr "Тип подключения" - -msgid "Select between VPN and Proxy connection methods for traffic routing" -msgstr "Выберите между VPN и Proxy методами для маршрутизации трафика" - -msgid "Configuration Type" -msgstr "Тип конфигурации" - -msgid "Select how to configure the proxy" -msgstr "Выберите способ настройки прокси" - -msgid "Connection URL" -msgstr "URL подключения" - -msgid "Outbound Config" -msgstr "Конфигурация Outbound" - -msgid "URLTest" -msgstr "URLTest" - -msgid "Proxy Configuration URL" -msgstr "URL конфигурации прокси" - -msgid "Outbound Configuration" -msgstr "Конфигурация исходящего соединения" - -msgid "Enter complete outbound configuration in JSON format" -msgstr "Введите полную конфигурацию исходящего соединения в формате JSON" - -msgid "URLTest Proxy Links" -msgstr "Ссылки прокси для URLTest" - -msgid "UDP over TCP" -msgstr "" +msgstr "Найдены дополнительные правила маркировки" msgid "Applicable for SOCKS and Shadowsocks proxy" -msgstr "" - -msgid "Network Interface" -msgstr "Сетевой интерфейс" - -msgid "Select network interface for VPN connection" -msgstr "Выберите сетевой интерфейс для VPN подключения" - -msgid "Domain Resolver" -msgstr "Резолвер доменов" - -msgid "Enable built-in DNS resolver for domains handled by this section" -msgstr "Включить встроенный DNS-резолвер для доменов, обрабатываемых в этом разделе" - -msgid "DNS Protocol Type" -msgstr "Тип протокола DNS" - -msgid "Select the DNS protocol type for the domain resolver" -msgstr "Выберите тип протокола DNS для резолвера доменов" - -msgid "DNS over HTTPS (DoH)" -msgstr "DNS через HTTPS (DoH)" - -msgid "DNS over TLS (DoT)" -msgstr "DNS через TLS (DoT)" - -msgid "UDP (Unprotected DNS)" -msgstr "UDP (Незащищённый DNS)" - -msgid "DNS Server" -msgstr "DNS-сервер" - -msgid "Select or enter DNS server address" -msgstr "Выберите или введите адрес DNS-сервера" - -msgid "" -msgstr "" - -msgid "Community Lists" -msgstr "Списки сообщества" - -msgid "Select a predefined list for routing" -msgstr "" - -msgid "Regional options cannot be used together" -msgstr "Нельзя использовать несколько региональных опций одновременно" - -msgid "Warning: %s cannot be used together with %s. Previous selections have been removed." -msgstr "Предупреждение: %s нельзя использовать вместе с %s. Предыдущие варианты были удалены." - -msgid "Russia inside restrictions" -msgstr "Ограничения Russia inside" - -msgid "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection." -msgstr "" - -msgid "User Domain List Type" -msgstr "Тип пользовательского списка доменов" - -msgid "Select the list type for adding custom domains" -msgstr "" - -msgid "Disabled" -msgstr "Отключено" - -msgid "Dynamic List" -msgstr "Динамический список" - -msgid "Text List" -msgstr "Текстовый список" - -msgid "User Domains" -msgstr "Пользовательские домены" - -msgid "Enter domain names without protocols, e.g. example.com or sub.example.com" -msgstr "" - -msgid "User Domains List" -msgstr "Список пользовательских доменов" - -msgid "Enter domain names separated by commas, spaces, or newlines. You can add comments using //" -msgstr "" +msgstr "Применимо для SOCKS и Shadowsocks прокси" msgid "At least one valid domain must be specified. Comments-only content is not allowed." msgstr "Необходимо указать хотя бы один действительный домен. Содержимое только из комментариев не допускается." -msgid "Validation errors:" -msgstr "Ошибки валидации:" - -msgid "User Subnet List Type" -msgstr "Тип пользовательского списка подсетей" - -msgid "Select the list type for adding custom subnets" -msgstr "" - -msgid "Text List (comma/space/newline separated)" -msgstr "Текстовый список (через запятую, пробел или новую строку)" - -msgid "User Subnets" -msgstr "Пользовательские подсети" - -msgid "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses" -msgstr "" - -msgid "User Subnets List" -msgstr "Список пользовательских подсетей" - -msgid "Enter subnets in CIDR notation or single IP addresses, separated by commas, spaces, or newlines. \" + \"You can add comments using //" -msgstr "" - msgid "At least one valid subnet or IP must be specified. Comments-only content is not allowed." msgstr "Необходимо указать хотя бы одну действительную подсеть или IP. Только комментарии недопустимы." -msgid "Local Domain Lists" -msgstr "Локальные списки доменов" - -msgid "Specify the path to the list file located on the router filesystem" -msgstr "" - -msgid "Local Subnet Lists" -msgstr "Локальные списки подсетей" - -msgid "Remote Domain Lists" -msgstr "Удалённые списки доменов" - -msgid "Specify remote URLs to download and use domain lists" -msgstr "" - -msgid "Remote Subnet Lists" -msgstr "Удалённые списки подсетей" - -msgid "Specify remote URLs to download and use subnet lists" -msgstr "" - -msgid "Fully Routed IPs" -msgstr "" - -msgid "Specify local IP addresses or subnets whose traffic will always be routed through the configured route" -msgstr "" - -msgid "Enable Mixed Proxy" -msgstr "" - -msgid "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies" -msgstr "" - -msgid "Mixed Proxy Port" -msgstr "" - -msgid "Specify the port number on which the mixed proxy will run for this section. \" + \"Make sure the selected port is not used by another service" -msgstr "" - -msgid "Select DNS protocol to use" -msgstr "Выберите протокол DNS" +msgid "Bootsrap DNS" +msgstr "Bootstrap DNS" msgid "Bootstrap DNS server" msgstr "Bootstrap DNS-сервер" -msgid "The DNS server used to look up the IP address of an upstream DNS server" -msgstr "DNS-сервер, используемый для поиска IP-адреса вышестоящего DNS-сервера" +msgid "Browser is not using FakeIP" +msgstr "Браузер не использует FakeIP" -msgid "DNS Rewrite TTL" -msgstr "Перезапись TTL для DNS" +msgid "Browser is using FakeIP correctly" +msgstr "Браузер использует FakeIP" -msgid "Time in seconds for DNS record caching (default: 60)" -msgstr "Время в секундах для кэширования DNS записей (по умолчанию: 60)" +msgid "Cache File Path" +msgstr "Путь к файлу кэша" -msgid "TTL value cannot be empty" -msgstr "Значение TTL не может быть пустым" +msgid "Cache file path cannot be empty" +msgstr "Путь к файлу кэша не может быть пустым" -msgid "TTL must be a positive number" -msgstr "TTL должно быть положительным числом" +msgid "Cannot receive DNS checks result" +msgstr "Не удалось получить результаты проверки DNS" -msgid "Source Network Interface" -msgstr "Сетевой интерфейс источника" +msgid "Cannot receive nftables checks result" +msgstr "Не удалось получить результаты проверки nftables" -msgid "Select the network interface from which the traffic will originate" -msgstr "Выберите сетевой интерфейс, с которого будет исходить трафик" +msgid "Cannot receive Sing-box checks result" +msgstr "Не удалось получить результаты проверки Sing-box" -msgid "Enable Output Network Interface" -msgstr "" +msgid "Checking dns, please wait" +msgstr "Проверка dns, пожалуйста подождите" -msgid "You can select Output Network Interface, by default autodetect" -msgstr "" +msgid "Checking FakeIP, please wait" +msgstr "Проверка FakeIP, пожалуйста подождите" -msgid "Output Network Interface" -msgstr "" +msgid "Checking nftables, please wait" +msgstr "Проверка nftables, пожалуйста подождите" -msgid "Select the network interface to which the traffic will originate" -msgstr "" +msgid "Checking sing-box, please wait" +msgstr "Проверка sing-box, пожалуйста подождите" -msgid "Interface Monitoring" -msgstr "" +msgid "CIDR must be between 0 and 32" +msgstr "CIDR должен быть между 0 и 32" -msgid "Interface monitoring for Bad WAN" -msgstr "" +msgid "Close" +msgstr "Закрыть" -msgid "Monitored Interfaces" -msgstr "" +msgid "Community Lists" +msgstr "Списки сообщества" -msgid "Select the WAN interfaces to be monitored" -msgstr "Выберите WAN интерфейсы для мониторинга" +msgid "Config File Path" +msgstr "Путь к файлу конфигурации" -msgid "Interface Monitoring Delay" -msgstr "Задержка при мониторинге интерфейсов" +msgid "Configuration for Podkop service" +msgstr "Настройки сервиса Podkop" + +msgid "Configuration Type" +msgstr "Тип конфигурации" + +msgid "Connection Type" +msgstr "Тип подключения" + +msgid "Connection URL" +msgstr "URL подключения" + +msgid "Copy" +msgstr "Копировать" + +msgid "Currently unavailable" +msgstr "Временно недоступно" + +msgid "Dashboard" +msgstr "Дашборд" + +msgid "Dashboard currently unavailable" +msgstr "Дашборд сейчас недоступен" msgid "Delay in milliseconds before reloading podkop after interface UP" msgstr "Задержка в миллисекундах перед перезагрузкой podkop после поднятия интерфейса" @@ -1013,71 +125,590 @@ msgstr "Задержка в миллисекундах перед перезаг msgid "Delay value cannot be empty" msgstr "Значение задержки не может быть пустым" -msgid "Enable YACD" -msgstr "" +msgid "DHCP has DNS server" +msgstr "DHCP содержит DNS сервер" + +msgid "Diagnostics" +msgstr "Диагностика" + +msgid "Disable autostart" +msgstr "Отключить автостарт" msgid "Disable QUIC" -msgstr "" +msgstr "Отключить QUIC" msgid "Disable the QUIC protocol to improve compatibility or fix issues with video streaming" -msgstr "" +msgstr "Отключить QUIC протокол для улучшения совместимости или исправления видео стриминга" -msgid "List Update Frequency" -msgstr "Частота обновления списков" +msgid "Disabled" +msgstr "Отключено" -msgid "Select how often the domain or subnet lists are updated automatically" -msgstr "" +msgid "DNS checks" +msgstr "DNS проверки" + +msgid "DNS checks passed" +msgstr "DNS проверки успшено завершены" + +msgid "DNS on router" +msgstr "DNS на роутере" + +msgid "DNS over HTTPS (DoH)" +msgstr "DNS через HTTPS (DoH)" + +msgid "DNS over TLS (DoT)" +msgstr "DNS через TLS (DoT)" + +msgid "DNS Protocol Type" +msgstr "Тип протокола DNS" + +msgid "DNS Rewrite TTL" +msgstr "Перезапись TTL для DNS" + +msgid "DNS Server" +msgstr "DNS-сервер" + +msgid "DNS server address cannot be empty" +msgstr "Адрес DNS-сервера не может быть пустым" + +msgid "Domain Resolver" +msgstr "Резолвер доменов" + +msgid "Dont Touch My DHCP!" +msgstr "Dont Touch My DHCP!" + +msgid "Downlink" +msgstr "Входящий" + +msgid "Download" +msgstr "Скачать" msgid "Download Lists via Proxy/VPN" -msgstr "" +msgstr "Скачивать списки через Proxy/VPN" + +msgid "Download Lists via specific proxy section" +msgstr "Скачивать списки через выбранную секцию" msgid "Downloading all lists via main Proxy/VPN" msgstr "Загрузка всех списков через основной прокси/VPN" -msgid "Download Lists via specific proxy section" -msgstr "" - msgid "Downloading all lists via specific Proxy/VPN" msgstr "Загрузка всех списков через указанный прокси/VPN" -msgid "Dont Touch My DHCP!" -msgstr "" +msgid "Dynamic List" +msgstr "Динамический список" -msgid "Podkop will not modify your DHCP configuration" -msgstr "" +msgid "Enable autostart" +msgstr "Включить автостарт" -msgid "Config File Path" -msgstr "Путь к файлу конфигурации" +msgid "Enable built-in DNS resolver for domains handled by this section" +msgstr "Включить встроенный DNS-резолвер для доменов, обрабатываемых в этом разделе" -msgid "Select path for sing-box config file. Change this ONLY if you know what you are doing" -msgstr "Выберите путь к файлу конфигурации sing-box. Изменяйте это, ТОЛЬКО если вы знаете, что делаете" +msgid "Enable Mixed Proxy" +msgstr "Включить смешанный прокси" -msgid "Cache File Path" -msgstr "Путь к файлу кэша" +msgid "Enable Output Network Interface" +msgstr "Включить выходной сетевой интерфейс" -msgid "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing" -msgstr "Выберите или введите путь к файлу кеша sing-box. Изменяйте это, ТОЛЬКО если вы знаете, что делаете" +msgid "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies" +msgstr "Включить смешанный прокси-сервер, разрешив этому разделу маршрутизировать трафик как через HTTP, так и через SOCKS-прокси." -msgid "Cache file path cannot be empty" -msgstr "Путь к файлу кэша не может быть пустым" +msgid "Enable YACD" +msgstr "Включить YACD" -msgid "Path must be absolute (start with /)" -msgstr "Путь должен быть абсолютным (начинаться с /)" +msgid "Enter complete outbound configuration in JSON format" +msgstr "Введите полную конфигурацию исходящего соединения в формате JSON" -msgid "Path must end with cache.db" -msgstr "Путь должен заканчиваться на cache.db" +msgid "Enter domain names separated by commas, spaces, or newlines. You can add comments using //" +msgstr "Введите доменные имена, разделяя их запятыми, пробелами или переносами строк. Вы можете добавлять комментарии, используя //" -msgid "Path must contain at least one directory (like /tmp/cache.db)" -msgstr "Путь должен содержать хотя бы одну директорию (например /tmp/cache.db)" +msgid "Enter domain names without protocols, e.g. example.com or sub.example.com" +msgstr "Введите доменные имена без протоколов, например example.com или sub.example.com" + +msgid "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses" +msgstr "Введите подсети в нотации CIDR (например, 103.21.244.0/22) или отдельные IP-адреса" msgid "Exclude NTP" msgstr "Исключить NTP" msgid "Exclude NTP protocol traffic from the tunnel to prevent it from being routed through the proxy or VPN" +msgstr "Исключите трафик протокола NTP из туннеля, чтобы предотвратить его маршрутизацию через прокси-сервер или VPN." + +msgid "Failed to copy!" +msgstr "Не удалось скопировать!" + +msgid "FakeIP checks" +msgstr "Проверка FakeIP" + +msgid "FakeIP checks failed" +msgstr "Проверки FakeIP не пройдены" + +msgid "FakeIP checks partially passed" +msgstr "Проверка FakeIP частично пройдена" + +msgid "FakeIP checks passed" +msgstr "Проверки FakeIP пройдены" + +msgid "Fastest" +msgstr "Самый быстрый" + +msgid "Fully Routed IPs" +msgstr "Полностью маршрутизированные IP-адреса" + +msgid "Get global check" +msgstr "Получить глобальную проверку" + +msgid "Global check" +msgstr "Глобальная проверка" + +msgid "HTTP error" +msgstr "Ошибка HTTP" + +msgid "Interface Monitoring" +msgstr "Мониторинг интерфейса" + +msgid "Interface Monitoring Delay" +msgstr "Задержка при мониторинге интерфейсов" + +msgid "Interface monitoring for Bad WAN" +msgstr "Мониторинг интерфейса для Bad WAN" + +msgid "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH" +msgstr "Неверный формат DNS-сервера. Примеры: 8.8.8.8, dns.example.com или dns.example.com/nicedns для DoH" + +msgid "Invalid domain address" +msgstr "Неверный домен" + +msgid "Invalid format. Use X.X.X.X or X.X.X.X/Y" +msgstr "Неверный формат. Используйте X.X.X.X или X.X.X.X/Y" + +msgid "Invalid IP address" +msgstr "Неверный IP-адрес" + +msgid "Invalid JSON format" +msgstr "Неверный формат JSON" + +msgid "Invalid path format. Path must start with \"/\" and contain valid characters" +msgstr "Неверный формат пути. Путь должен начинаться с \"/\" и содержать допустимые символы" + +msgid "Invalid port number. Must be between 1 and 65535" +msgstr "Неверный номер порта. Допустимо от 1 до 65535" + +msgid "Invalid Shadowsocks URL: decoded credentials must contain method:password" +msgstr "Неверный URL Shadowsocks: декодированные данные должны содержать method:password" + +msgid "Invalid Shadowsocks URL: missing credentials" +msgstr "Неверный URL Shadowsocks: отсутствуют учетные данные" + +msgid "Invalid Shadowsocks URL: missing method and password separator \":\"" +msgstr "Неверный URL Shadowsocks: отсутствует разделитель метода и пароля \":\"" + +msgid "Invalid Shadowsocks URL: missing port" +msgstr "Неверный URL Shadowsocks: отсутствует порт" + +msgid "Invalid Shadowsocks URL: missing server" +msgstr "Неверный URL Shadowsocks: отсутствует сервер" + +msgid "Invalid Shadowsocks URL: missing server address" +msgstr "Неверный URL Shadowsocks: отсутствует адрес сервера" + +msgid "Invalid Shadowsocks URL: must not contain spaces" +msgstr "Неверный URL Shadowsocks: не должен содержать пробелов" + +msgid "Invalid Shadowsocks URL: must start with ss://" +msgstr "Неверный URL Shadowsocks: должен начинаться с ss://" + +msgid "Invalid Shadowsocks URL: parsing failed" +msgstr "Неверный URL Shadowsocks: ошибка разбора" + +msgid "Invalid SOCKS URL: invalid host format" +msgstr "Неверный URL SOCKS: неверный формат хоста" + +msgid "Invalid SOCKS URL: invalid port number" +msgstr "Неверный URL SOCKS: неверный номер порта" + +msgid "Invalid SOCKS URL: missing host and port" +msgstr "Неверный URL SOCKS: отсутствует хост и порт" + +msgid "Invalid SOCKS URL: missing hostname or IP" +msgstr "Неверный URL SOCKS: отсутствует имя хоста или IP-адрес" + +msgid "Invalid SOCKS URL: missing port" +msgstr "Неверный URL SOCKS: отсутствует порт" + +msgid "Invalid SOCKS URL: missing username" +msgstr "Неверный URL SOCKS: отсутствует имя пользователя" + +msgid "Invalid SOCKS URL: must not contain spaces" +msgstr "Неверный URL SOCKS: не должен содержать пробелов" + +msgid "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://" +msgstr "Неверный URL-адрес SOCKS: должен начинаться с socks4://, socks4a:// или socks5://" + +msgid "Invalid SOCKS URL: parsing failed" +msgstr "Неверный URL SOCKS: парсинг не удался" + +msgid "Invalid Trojan URL: must not contain spaces" +msgstr "Неверный URL Trojan: не должен содержать пробелов" + +msgid "Invalid Trojan URL: must start with trojan://" +msgstr "Неверный URL Trojan: должен начинаться с trojan://" + +msgid "Invalid Trojan URL: parsing failed" +msgstr "Неверный URL Trojan: ошибка разбора" + +msgid "Invalid URL format" +msgstr "Неверный формат URL" + +msgid "Invalid VLESS URL: parsing failed" +msgstr "Неверный URL VLESS: ошибка разбора" + +msgid "IP address 0.0.0.0 is not allowed" +msgstr "IP-адрес 0.0.0.0 не допускается" + +msgid "Latest" +msgstr "Последняя" + +msgid "List Update Frequency" +msgstr "Частота обновления списков" + +msgid "Local Domain Lists" +msgstr "Локальные списки доменов" + +msgid "Local Subnet Lists" +msgstr "Локальные списки подсетей" + +msgid "Main DNS" +msgstr "Основной DNS" + +msgid "Memory Usage" +msgstr "Использование памяти" + +msgid "Mixed Proxy Port" +msgstr "Порт смешанного прокси" + +msgid "Monitored Interfaces" +msgstr "Наблюдаемые интерфейсы" + +msgid "Network Interface" +msgstr "Сетевой интерфейс" + +msgid "Nftables checks" +msgstr "" + +msgid "Nftables checks partially passed" +msgstr "" + +msgid "Nftables checks passed" +msgstr "" + +msgid "No other marking rules found" +msgstr "" + +msgid "Not implement yet" +msgstr "" + +msgid "Not running" +msgstr "" + +msgid "Operation timed out" +msgstr "Время ожидания истекло" + +msgid "Outbound Config" +msgstr "Конфигурация Outbound" + +msgid "Outbound Configuration" +msgstr "Конфигурация исходящего соединения" + +msgid "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields" +msgstr "JSON должен содержать поля \"type\", \"server\" и \"server_port\"" + +msgid "Outdated" +msgstr "" + +msgid "Output Network Interface" +msgstr "" + +msgid "Path cannot be empty" +msgstr "Путь не может быть пустым" + +msgid "Path must be absolute (start with /)" +msgstr "Путь должен быть абсолютным (начинаться с /)" + +msgid "Path must contain at least one directory (like /tmp/cache.db)" +msgstr "Путь должен содержать хотя бы одну директорию (например /tmp/cache.db)" + +msgid "Path must end with cache.db" +msgstr "Путь должен заканчиваться на cache.db" + +msgid "Podkop" +msgstr "Podkop" + +msgid "Podkop Settings" +msgstr "" + +msgid "Podkop will not modify your DHCP configuration" +msgstr "" + +msgid "Proxy Configuration URL" +msgstr "URL конфигурации прокси" + +msgid "Proxy traffic is not routed via FakeIP" +msgstr "" + +msgid "Proxy traffic is routed via FakeIP" +msgstr "" + +msgid "Queued" +msgstr "" + +msgid "Regional options cannot be used together" +msgstr "Нельзя использовать несколько региональных опций одновременно" + +msgid "Remote Domain Lists" +msgstr "Удалённые списки доменов" + +msgid "Remote Subnet Lists" +msgstr "Удалённые списки подсетей" + +msgid "Restart podkop" +msgstr "" + +msgid "Router DNS is not routed through sing-box" +msgstr "" + +msgid "Router DNS is routed through sing-box" msgstr "" msgid "Routing Excluded IPs" msgstr "" +msgid "Rules mangle counters" +msgstr "" + +msgid "Rules mangle exist" +msgstr "" + +msgid "Rules mangle output counters" +msgstr "" + +msgid "Rules mangle output exist" +msgstr "" + +msgid "Rules proxy counters" +msgstr "" + +msgid "Rules proxy exist" +msgstr "" + +msgid "Run Diagnostic" +msgstr "" + +msgid "Russia inside restrictions" +msgstr "Ограничения Russia inside" + +msgid "Sections" +msgstr "" + +msgid "Select a predefined list for routing" +msgstr "" + +msgid "Select between VPN and Proxy connection methods for traffic routing" +msgstr "Выберите между VPN и Proxy методами для маршрутизации трафика" + +msgid "Select DNS protocol to use" +msgstr "Выберите протокол DNS" + +msgid "Select how often the domain or subnet lists are updated automatically" +msgstr "" + +msgid "Select how to configure the proxy" +msgstr "Выберите способ настройки прокси" + +msgid "Select network interface for VPN connection" +msgstr "Выберите сетевой интерфейс для VPN подключения" + +msgid "Select or enter DNS server address" +msgstr "Выберите или введите адрес DNS-сервера" + +msgid "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing" +msgstr "Выберите или введите путь к файлу кеша sing-box. Изменяйте это, ТОЛЬКО если вы знаете, что делаете" + +msgid "Select path for sing-box config file. Change this ONLY if you know what you are doing" +msgstr "Выберите путь к файлу конфигурации sing-box. Изменяйте это, ТОЛЬКО если вы знаете, что делаете" + +msgid "Select the DNS protocol type for the domain resolver" +msgstr "Выберите тип протокола DNS для резолвера доменов" + +msgid "Select the list type for adding custom domains" +msgstr "" + +msgid "Select the list type for adding custom subnets" +msgstr "" + +msgid "Select the network interface from which the traffic will originate" +msgstr "Выберите сетевой интерфейс, с которого будет исходить трафик" + +msgid "Select the network interface to which the traffic will originate" +msgstr "" + +msgid "Select the WAN interfaces to be monitored" +msgstr "Выберите WAN интерфейсы для мониторинга" + +msgid "Services info" +msgstr "Информация о сервисах" + +msgid "Settings" +msgstr "" + +msgid "Show sing-box config" +msgstr "" + +msgid "Sing-box" +msgstr "Sing-box" + +msgid "Sing-box autostart disabled" +msgstr "" + +msgid "Sing-box checks" +msgstr "" + +msgid "Sing-box checks passed" +msgstr "" + +msgid "Sing-box installed" +msgstr "" + +msgid "Sing-box listening ports" +msgstr "" + +msgid "Sing-box process running" +msgstr "" + +msgid "Sing-box service exist" +msgstr "" + +msgid "Sing-box version >= 1.12.4" +msgstr "" + +msgid "Source Network Interface" +msgstr "Сетевой интерфейс источника" + msgid "Specify a local IP address to be excluded from routing" msgstr "" + +msgid "Specify local IP addresses or subnets whose traffic will always be routed through the configured route" +msgstr "" + +msgid "Specify remote URLs to download and use domain lists" +msgstr "" + +msgid "Specify remote URLs to download and use subnet lists" +msgstr "" + +msgid "Specify the path to the list file located on the router filesystem" +msgstr "" + +msgid "Start podkop" +msgstr "" + +msgid "Stop podkop" +msgstr "" + +msgid "Successfully copied!" +msgstr "" + +msgid "System info" +msgstr "Системная информация" + +msgid "Table exist" +msgstr "" + +msgid "Test latency" +msgstr "" + +msgid "Text List" +msgstr "Текстовый список" + +msgid "Text List (comma/space/newline separated)" +msgstr "Текстовый список (через запятую, пробел или новую строку)" + +msgid "The DNS server used to look up the IP address of an upstream DNS server" +msgstr "DNS-сервер, используемый для поиска IP-адреса вышестоящего DNS-сервера" + +msgid "Time in seconds for DNS record caching (default: 60)" +msgstr "Время в секундах для кэширования DNS записей (по умолчанию: 60)" + +msgid "Traffic" +msgstr "Трафик" + +msgid "Traffic Total" +msgstr "Всего трафика" + +msgid "TTL must be a positive number" +msgstr "TTL должно быть положительным числом" + +msgid "TTL value cannot be empty" +msgstr "Значение TTL не может быть пустым" + +msgid "UDP (Unprotected DNS)" +msgstr "UDP (Незащищённый DNS)" + +msgid "UDP over TCP" +msgstr "" + +msgid "unknown" +msgstr "" + +msgid "Unknown error" +msgstr "Неизвестная ошибка" + +msgid "Uplink" +msgstr "Исходящий" + +msgid "URL must start with vless://, ss://, trojan://, or socks4/5://" +msgstr "" + +msgid "URL must use one of the following protocols:" +msgstr "URL должен использовать один из следующих протоколов:" + +msgid "URLTest" +msgstr "URLTest" + +msgid "URLTest Proxy Links" +msgstr "Ссылки прокси для URLTest" + +msgid "User Domain List Type" +msgstr "Тип пользовательского списка доменов" + +msgid "User Domains" +msgstr "Пользовательские домены" + +msgid "User Domains List" +msgstr "Список пользовательских доменов" + +msgid "User Subnet List Type" +msgstr "Тип пользовательского списка подсетей" + +msgid "User Subnets" +msgstr "Пользовательские подсети" + +msgid "User Subnets List" +msgstr "Список пользовательских подсетей" + +msgid "Valid" +msgstr "Валидно" + +msgid "Validation errors:" +msgstr "Ошибки валидации:" + +msgid "View logs" +msgstr "" + +msgid "Warning: %s cannot be used together with %s. Previous selections have been removed." +msgstr "Предупреждение: %s нельзя использовать вместе с %s. Предыдущие варианты были удалены." + +msgid "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection." +msgstr "" + +msgid "You can select Output Network Interface, by default autodetect" +msgstr "" diff --git a/fe-app-podkop/package.json b/fe-app-podkop/package.json index 1b8a4bd..ac1c001 100644 --- a/fe-app-podkop/package.json +++ b/fe-app-podkop/package.json @@ -20,6 +20,8 @@ "locales:actualize": "yarn locales:exctract-calls && yarn locales:generate-pot && yarn locales:generate-po:ru && yarn locales:distribute" }, "devDependencies": { + "@babel/parser": "7.28.4", + "@babel/traverse": "7.28.4", "@typescript-eslint/eslint-plugin": "8.45.0", "@typescript-eslint/parser": "8.45.0", "chokidar": "4.0.3", diff --git a/fe-app-podkop/yarn.lock b/fe-app-podkop/yarn.lock index 62d5fe2..a87787d 100644 --- a/fe-app-podkop/yarn.lock +++ b/fe-app-podkop/yarn.lock @@ -2,6 +2,78 @@ # yarn lockfile v1 +"@babel/code-frame@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" + integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== + dependencies: + "@babel/helper-validator-identifier" "^7.27.1" + js-tokens "^4.0.0" + picocolors "^1.1.1" + +"@babel/generator@^7.28.3": + version "7.28.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.3.tgz#9626c1741c650cbac39121694a0f2d7451b8ef3e" + integrity sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw== + dependencies: + "@babel/parser" "^7.28.3" + "@babel/types" "^7.28.2" + "@jridgewell/gen-mapping" "^0.3.12" + "@jridgewell/trace-mapping" "^0.3.28" + jsesc "^3.0.2" + +"@babel/helper-globals@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" + integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== + +"@babel/helper-string-parser@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" + integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== + +"@babel/helper-validator-identifier@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" + integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== + +"@babel/parser@7.28.4", "@babel/parser@^7.27.2", "@babel/parser@^7.28.3", "@babel/parser@^7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.4.tgz#da25d4643532890932cc03f7705fe19637e03fa8" + integrity sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg== + dependencies: + "@babel/types" "^7.28.4" + +"@babel/template@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" + integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/parser" "^7.27.2" + "@babel/types" "^7.27.1" + +"@babel/traverse@7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.4.tgz#8d456101b96ab175d487249f60680221692b958b" + integrity sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.28.3" + "@babel/helper-globals" "^7.28.0" + "@babel/parser" "^7.28.4" + "@babel/template" "^7.27.2" + "@babel/types" "^7.28.4" + debug "^4.3.1" + +"@babel/types@^7.27.1", "@babel/types@^7.28.2", "@babel/types@^7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.4.tgz#0a4e618f4c60a7cd6c11cb2d48060e4dbe38ac3a" + integrity sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q== + dependencies: + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@esbuild/aix-ppc64@0.25.10": version "0.25.10" resolved "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.10.tgz#ee6b7163a13528e099ecf562b972f2bcebe0aa97" @@ -245,7 +317,7 @@ wrap-ansi "^8.1.0" wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" -"@jridgewell/gen-mapping@^0.3.2": +"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.2": version "0.3.13" resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== @@ -263,7 +335,7 @@ resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== -"@jridgewell/trace-mapping@^0.3.24": +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.28": version "0.3.31" resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0" integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== @@ -996,18 +1068,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" - integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.8" - -fast-glob@^3.3.2: +fast-glob@3.3.3, fast-glob@^3.3.2: version "3.3.3" resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== @@ -1226,6 +1287,11 @@ joycon@^3.1.1: resolved "https://registry.npmmirror.com/joycon/-/joycon-3.1.1.tgz#bce8596d6ae808f8b68168f5fc69280996894f03" integrity sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw== +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + js-tokens@^9.0.1: version "9.0.1" resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-9.0.1.tgz#2ec43964658435296f6761b34e10671c2d9527f4" @@ -1238,6 +1304,11 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" +jsesc@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== + json-buffer@3.0.1: version "3.0.1" resolved "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" diff --git a/luci-app-podkop/po/ru/podkop.po b/luci-app-podkop/po/ru/podkop.po index cb60b88..967c3ef 100644 --- a/luci-app-podkop/po/ru/podkop.po +++ b/luci-app-podkop/po/ru/podkop.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PODKOP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-21 21:44+0300\n" -"PO-Revision-Date: 2025-10-21 21:44+0300\n" +"POT-Creation-Date: 2025-10-21 22:33+0300\n" +"PO-Revision-Date: 2025-10-21 22:33+0300\n" "Last-Translator: divocat\n" "Language-Team: none\n" "Language: ru\n" @@ -17,995 +17,107 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -msgid "Successfully copied!" -msgstr "Успешно скопировано!" - -msgid "Failed to copy!" -msgstr "Не удалось скопировать!" - -msgid "Operation timed out" -msgstr "Время ожидания истекло" - -msgid "HTTP error" -msgstr "Ошибка HTTP" - -msgid "Unknown error" -msgstr "Неизвестная ошибка" - -msgid "DNS server address cannot be empty" -msgstr "Адрес DNS-сервера не может быть пустым" - -msgid "Valid" -msgstr "Валидно" - -msgid "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH" -msgstr "Неверный формат DNS-сервера. Примеры: 8.8.8.8, dns.example.com или dns.example.com/nicedns для DoH" - -msgid "Invalid domain address" -msgstr "Неверный домен" - -msgid "Invalid IP address" -msgstr "Неверный IP-адрес" - -msgid "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields" -msgstr "JSON должен содержать поля \"type\", \"server\" и \"server_port\"" - -msgid "Invalid JSON format" -msgstr "Неверный формат JSON" - -msgid "Path cannot be empty" -msgstr "Путь не может быть пустым" - -msgid "Invalid path format. Path must start with \"/\" and contain valid characters" -msgstr "Неверный формат пути. Путь должен начинаться с \"/\" и содержать допустимые символы" - -msgid "URL must start with vless://, ss://, trojan://, or socks4/5://" -msgstr "Ссылка должна начинаться с vless://, ss://, trojan://, или socks4/5://" - -msgid "Invalid Shadowsocks URL: must start with ss://" -msgstr "Неверный URL Shadowsocks: должен начинаться с ss://" - -msgid "Invalid Shadowsocks URL: must not contain spaces" -msgstr "Неверный URL Shadowsocks: не должен содержать пробелов" - -msgid "Invalid Shadowsocks URL: missing credentials" -msgstr "Неверный URL Shadowsocks: отсутствуют учетные данные" - -msgid "Invalid Shadowsocks URL: decoded credentials must contain method:password" -msgstr "Неверный URL Shadowsocks: декодированные данные должны содержать method:password" - -msgid "Invalid Shadowsocks URL: missing method and password separator \":\"" -msgstr "Неверный URL Shadowsocks: отсутствует разделитель метода и пароля \":\"" - -msgid "Invalid Shadowsocks URL: missing server address" -msgstr "Неверный URL Shadowsocks: отсутствует адрес сервера" - -msgid "Invalid Shadowsocks URL: missing server" -msgstr "Неверный URL Shadowsocks: отсутствует сервер" - -msgid "Invalid Shadowsocks URL: missing port" -msgstr "Неверный URL Shadowsocks: отсутствует порт" - -msgid "Invalid port number. Must be between 1 and 65535" -msgstr "Неверный номер порта. Допустимо от 1 до 65535" - -msgid "Invalid Shadowsocks URL: parsing failed" -msgstr "Неверный URL Shadowsocks: ошибка разбора" - -msgid "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://" -msgstr "Невалидная SOCKS ссылка: должна начинаться с socks4://, socks4a://, или socks5://" - -msgid "Invalid SOCKS URL: must not contain spaces" -msgstr "Невалидная SOCKS ссылка: не должна содержать пробелов" - -msgid "Invalid SOCKS URL: missing username" -msgstr "Невалидная SOCKS ссылка: отсуствует имя пользователя" - -msgid "Invalid SOCKS URL: missing host and port" -msgstr "Невалидная SOCKS ссылка: отсутствуют хост и порт" - -msgid "Invalid SOCKS URL: missing hostname or IP" -msgstr "Невалидная SOCKS ссылка: отсутствуют имя хоста или айпи" - -msgid "Invalid SOCKS URL: missing port" -msgstr "Невалидная SOCKS ссылка: отсутствует порт" - -msgid "Invalid SOCKS URL: invalid port number" -msgstr "Невалидная SOCKS ссылка: невалидный номер порта" - -msgid "Invalid SOCKS URL: invalid host format" -msgstr "Невалидная SOCKS ссылка: невалидный формат хоста" - -msgid "Invalid SOCKS URL: parsing failed" -msgstr "Невалидная SOCKS ссылка: не удалось распарсить" - -msgid "Invalid format. Use X.X.X.X or X.X.X.X/Y" -msgstr "Неверный формат. Используйте X.X.X.X или X.X.X.X/Y" - -msgid "IP address 0.0.0.0 is not allowed" -msgstr "IP-адрес 0.0.0.0 не допускается" - -msgid "CIDR must be between 0 and 32" -msgstr "CIDR должен быть между 0 и 32" - -msgid "Invalid Trojan URL: must start with trojan://" -msgstr "Неверный URL Trojan: должен начинаться с trojan://" - -msgid "Invalid Trojan URL: must not contain spaces" -msgstr "Неверный URL Trojan: не должен содержать пробелов" - -msgid "Invalid Trojan URL: parsing failed" -msgstr "Неверный URL Trojan: ошибка разбора" - -msgid "URL must use one of the following protocols:" -msgstr "URL должен использовать один из следующих протоколов:" - -msgid "Invalid URL format" -msgstr "Неверный формат URL" - -msgid "Invalid VLESS URL: parsing failed" -msgstr "Неверный URL VLESS: ошибка разбора" - -msgid "Download" -msgstr "Скачать" - -msgid "Copy" -msgstr "Скопировать" - -msgid "Close" -msgstr "Закрыть" - -msgid "Traffic" -msgstr "Трафик" - -msgid "Uplink" -msgstr "Исходящий" - -msgid "Downlink" -msgstr "Входящий" - -msgid "Traffic Total" -msgstr "Всего трафика" - -msgid "System info" -msgstr "Системная информация" - -msgid "Active Connections" -msgstr "Активные соединения" - -msgid "Memory Usage" -msgstr "Использование памяти" - -msgid "Services info" -msgstr "Информация о сервисах" - -msgid "Podkop" -msgstr "Podkop" - msgid "✔ Enabled" msgstr "✔ Включено" -msgid "✘ Disabled" -msgstr "✘ Отключено" - -msgid "Sing-box" -msgstr "Sing-box" - msgid "✔ Running" msgstr "✔ Работает" +msgid "✘ Disabled" +msgstr "✘ Отключено" + msgid "✘ Stopped" msgstr "✘ Остановлен" -msgid "Not running" -msgstr "Не запущен" - -msgid "Queued" -msgstr "В очереди" - -msgid "unknown" -msgstr "неизвестно" - -msgid "Global check" -msgstr "Глобальная проверка" - -msgid "View logs" -msgstr "Посмотреть логи" - -msgid "Show sing-box config" -msgstr "Показать sing-box конфиг" - -msgid "Outdated" -msgstr "Устаревшая" - -msgid "Latest" -msgstr "Последняя" - -msgid "Fastest" -msgstr "Самый быстрый" - -msgid "Dashboard currently unavailable" -msgstr "Дашборд сейчас недоступен" - -msgid "Test latency" -msgstr "Проверить задержку" - -msgid "Currently unavailable" -msgstr "Временно недоступно" - -msgid "Restart podkop" -msgstr "Перезапустить podkop" - -msgid "Stop podkop" -msgstr "Остановить podkop" - -msgid "Start podkop" -msgstr "Запустить podkop" - -msgid "Disable autostart" -msgstr "Отключить автостарт" - -msgid "Enable autostart" -msgstr "Включить автостарт" - -msgid "Get global check" -msgstr "Получить глобальную проверку" - -msgid "Not implement yet" -msgstr "Не реализовано" - -msgid "Run Diagnostic" -msgstr "Запустить диагностику" - -msgid "DNS checks" -msgstr "Проверка DNS" - -msgid "Sing-box checks" -msgstr "Проверка Sing-box" - -msgid "Nftables checks" -msgstr "Проверка Nftables" - -msgid "FakeIP checks" -msgstr "Проверка FakeIP" - -msgid "Checking dns, please wait" -msgstr "Проверяем dns, пожалуйста подождите" - -msgid "Cannot receive DNS checks result" -msgstr "Не удалось получить результаты проверки DNS" - -msgid "DNS checks passed" -msgstr "Проверка DNS прошла" - -msgid "Bootsrap DNS" -msgstr "Загрузочный DNS" - -msgid "Main DNS" -msgstr "Основной DNS" - -msgid "DNS on router" -msgstr "DNS на роутере" - -msgid "DHCP has DNS server" -msgstr "DHCP содежрит DNS сервер" - -msgid "Checking FakeIP, please wait" -msgstr "Проверяем FakeIP, пожалуйста подождите" - -msgid "FakeIP checks passed" -msgstr "Проверка FakeIP прошла" - -msgid "FakeIP checks partially passed" -msgstr "Проверка FakeIP частично прошла" - -msgid "FakeIP checks failed" -msgstr "Проверка FakeIP не удалась" - -msgid "Router DNS is routed through sing-box" -msgstr "" - -msgid "Router DNS is not routed through sing-box" -msgstr "" - -msgid "Browser is using FakeIP correctly" -msgstr "" - -msgid "Browser is not using FakeIP" -msgstr "" - -msgid "Proxy traffic is routed via FakeIP" -msgstr "" - -msgid "Proxy traffic is not routed via FakeIP" -msgstr "" - -msgid "Checking nftables, please wait" -msgstr "" - -msgid "Cannot receive nftables checks result" -msgstr "" - -msgid "Nftables checks passed" -msgstr "" - -msgid "Nftables checks partially passed" -msgstr "" - -msgid "Table exist" -msgstr "" - -msgid "Rules mangle exist" -msgstr "" - -msgid "Rules mangle counters" -msgstr "" - -msgid "Rules mangle output exist" -msgstr "" - -msgid "Rules mangle output counters" -msgstr "" - -msgid "Rules proxy exist" -msgstr "" - -msgid "Rules proxy counters" -msgstr "" - -msgid "No other marking rules found" -msgstr "" - -msgid "Additional marking rules found" -msgstr "" - -msgid "Checking sing-box, please wait" -msgstr "" - -msgid "Cannot receive Sing-box checks result" -msgstr "" - -msgid "Sing-box checks passed" -msgstr "" - -msgid "Sing-box installed" -msgstr "" - -msgid "Sing-box version >= 1.12.4" -msgstr "" - -msgid "Sing-box service exist" -msgstr "" - -msgid "Sing-box autostart disabled" -msgstr "" - -msgid "Sing-box process running" -msgstr "" - -msgid "Sing-box listening ports" -msgstr "" - -msgid "Valid" -msgstr "Валидно" - -msgid "Invalid IP address" -msgstr "Неверный IP-адрес" - -msgid "Invalid domain address" -msgstr "Неверный домен" - -msgid "DNS server address cannot be empty" -msgstr "Адрес DNS-сервера не может быть пустым" - -msgid "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH" -msgstr "Неверный формат DNS-сервера. Примеры: 8.8.8.8, dns.example.com или dns.example.com/nicedns для DoH" - -msgid "URL must use one of the following protocols:" -msgstr "URL должен использовать один из следующих протоколов:" - -msgid "Invalid URL format" -msgstr "Неверный формат URL" - -msgid "Path cannot be empty" -msgstr "Путь не может быть пустым" - -msgid "Invalid format. Use X.X.X.X or X.X.X.X/Y" -msgstr "Неверный формат. Используйте X.X.X.X или X.X.X.X/Y" - -msgid "IP address 0.0.0.0 is not allowed" -msgstr "IP-адрес 0.0.0.0 не допускается" - -msgid "CIDR must be between 0 and 32" -msgstr "CIDR должен быть между 0 и 32" - -msgid "Invalid Shadowsocks URL: must start with ss://" -msgstr "Неверный URL Shadowsocks: должен начинаться с ss://" - -msgid "Invalid Shadowsocks URL: must not contain spaces" -msgstr "Неверный URL Shadowsocks: не должен содержать пробелов" - -msgid "Invalid Shadowsocks URL: missing credentials" -msgstr "Неверный URL Shadowsocks: отсутствуют учетные данные" - -msgid "Invalid Shadowsocks URL: decoded credentials must contain method:password" -msgstr "Неверный URL Shadowsocks: декодированные данные должны содержать method:password" - -msgid "Invalid Shadowsocks URL: missing server address" -msgstr "Неверный URL Shadowsocks: отсутствует адрес сервера" - -msgid "Invalid Shadowsocks URL: missing server" -msgstr "Неверный URL Shadowsocks: отсутствует сервер" - -msgid "Invalid Shadowsocks URL: missing port" -msgstr "Неверный URL Shadowsocks: отсутствует порт" - -msgid "Invalid port number. Must be between 1 and 65535" -msgstr "Неверный номер порта. Допустимо от 1 до 65535" - -msgid "Invalid Shadowsocks URL: parsing failed" -msgstr "Неверный URL Shadowsocks: ошибка разбора" - -msgid "Invalid VLESS URL: parsing failed" -msgstr "Неверный URL VLESS: ошибка разбора" - -msgid "Invalid JSON format" -msgstr "Неверный формат JSON" - -msgid "Invalid Trojan URL: must start with trojan://" -msgstr "Неверный URL Trojan: должен начинаться с trojan://" - -msgid "Invalid Trojan URL: must not contain spaces" -msgstr "Неверный URL Trojan: не должен содержать пробелов" - -msgid "Invalid Trojan URL: parsing failed" -msgstr "Неверный URL Trojan: ошибка разбора" - -msgid "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://" -msgstr "" - -msgid "Invalid SOCKS URL: must not contain spaces" -msgstr "" - -msgid "Invalid SOCKS URL: missing username" -msgstr "" - -msgid "Invalid SOCKS URL: missing host and port" -msgstr "" - -msgid "Invalid SOCKS URL: missing hostname or IP" -msgstr "" - -msgid "Invalid SOCKS URL: missing port" -msgstr "" - -msgid "Invalid SOCKS URL: invalid port number" -msgstr "" - -msgid "Invalid SOCKS URL: invalid host format" -msgstr "" - -msgid "Invalid SOCKS URL: parsing failed" -msgstr "" - -msgid "URL must start with vless://, ss://, trojan://, or socks4/5://" -msgstr "" - -msgid "Fastest" -msgstr "Самый быстрый" - -msgid "HTTP error" -msgstr "Ошибка HTTP" - -msgid "Unknown error" -msgstr "Неизвестная ошибка" - -msgid "DNS checks" -msgstr "" - -msgid "Sing-box checks" -msgstr "" - -msgid "Nftables checks" -msgstr "" - -msgid "FakeIP checks" -msgstr "" - -msgid "Not running" -msgstr "" - -msgid "Queued" -msgstr "" - -msgid "Dashboard currently unavailable" -msgstr "Дашборд сейчас недоступен" - -msgid "Test latency" -msgstr "" - -msgid "Currently unavailable" -msgstr "Временно недоступно" - -msgid "Traffic" -msgstr "Трафик" - -msgid "Uplink" -msgstr "Исходящий" - -msgid "Downlink" -msgstr "Входящий" - -msgid "Traffic Total" -msgstr "Всего трафика" - -msgid "System info" -msgstr "Системная информация" - msgid "Active Connections" msgstr "Активные соединения" -msgid "Memory Usage" -msgstr "Использование памяти" - -msgid "Services info" -msgstr "Информация о сервисах" - -msgid "Podkop" -msgstr "Podkop" - -msgid "\\u2714 Enabled" -msgstr "" - -msgid "\\u2718 Disabled" -msgstr "" - -msgid "Sing-box" -msgstr "Sing-box" - -msgid "\\u2714 Running" -msgstr "" - -msgid "\\u2718 Stopped" -msgstr "" - -msgid "Checking dns, please wait" -msgstr "" - -msgid "Cannot receive DNS checks result" -msgstr "" - -msgid "DNS checks passed" -msgstr "" - -msgid "Bootsrap DNS" -msgstr "" - -msgid "Main DNS" -msgstr "" - -msgid "DNS on router" -msgstr "" - -msgid "DHCP has DNS server" -msgstr "" - -msgid "Checking sing-box, please wait" -msgstr "" - -msgid "Cannot receive Sing-box checks result" -msgstr "" - -msgid "Sing-box checks passed" -msgstr "" - -msgid "Sing-box installed" -msgstr "" - -msgid "Sing-box version >= 1.12.4" -msgstr "" - -msgid "Sing-box service exist" -msgstr "" - -msgid "Sing-box autostart disabled" -msgstr "" - -msgid "Sing-box process running" -msgstr "" - -msgid "Sing-box listening ports" -msgstr "" - -msgid "Checking nftables, please wait" -msgstr "" - -msgid "Cannot receive nftables checks result" -msgstr "" - -msgid "Nftables checks passed" -msgstr "" - -msgid "Nftables checks partially passed" -msgstr "" - -msgid "Table exist" -msgstr "" - -msgid "Rules mangle exist" -msgstr "" - -msgid "Rules mangle counters" -msgstr "" - -msgid "Rules mangle output exist" -msgstr "" - -msgid "Rules mangle output counters" -msgstr "" - -msgid "Rules proxy exist" -msgstr "" - -msgid "Rules proxy counters" -msgstr "" - -msgid "No other marking rules found" -msgstr "" - msgid "Additional marking rules found" -msgstr "" - -msgid "Checking FakeIP, please wait" -msgstr "" - -msgid "FakeIP checks passed" -msgstr "" - -msgid "FakeIP checks partially passed" -msgstr "" - -msgid "FakeIP checks failed" -msgstr "" - -msgid "Router DNS is routed through sing-box" -msgstr "" - -msgid "Router DNS is not routed through sing-box" -msgstr "" - -msgid "Browser is using FakeIP correctly" -msgstr "" - -msgid "Browser is not using FakeIP" -msgstr "" - -msgid "Proxy traffic is routed via FakeIP" -msgstr "" - -msgid "Proxy traffic is not routed via FakeIP" -msgstr "" - -msgid "Successfully copied!" -msgstr "" - -msgid "Failed to copy!" -msgstr "" - -msgid "Download" -msgstr "" - -msgid "Copy" -msgstr "" - -msgid "Close" -msgstr "Закрыть" - -msgid "Restart podkop" -msgstr "" - -msgid "Stop podkop" -msgstr "" - -msgid "Start podkop" -msgstr "" - -msgid "Disable autostart" -msgstr "" - -msgid "Enable autostart" -msgstr "" - -msgid "Get global check" -msgstr "" - -msgid "View logs" -msgstr "" - -msgid "Show sing-box config" -msgstr "" - -msgid "Not implement yet" -msgstr "" - -msgid "Run Diagnostic" -msgstr "" - -msgid "unknown" -msgstr "" - -msgid "Global check" -msgstr "Глобальная проверка" - -msgid "Outdated" -msgstr "" - -msgid "Latest" -msgstr "" - -msgid "Operation timed out" -msgstr "Время ожидания истекло" - -msgid "Podkop Settings" -msgstr "" - -msgid "Configuration for Podkop service" -msgstr "" - -msgid "Sections" -msgstr "" - -msgid "Settings" -msgstr "" - -msgid "Diagnostics" -msgstr "Диагностика" - -msgid "Dashboard" -msgstr "Дашборд" - -msgid "Connection Type" -msgstr "Тип подключения" - -msgid "Select between VPN and Proxy connection methods for traffic routing" -msgstr "Выберите между VPN и Proxy методами для маршрутизации трафика" - -msgid "Configuration Type" -msgstr "Тип конфигурации" - -msgid "Select how to configure the proxy" -msgstr "Выберите способ настройки прокси" - -msgid "Connection URL" -msgstr "URL подключения" - -msgid "Outbound Config" -msgstr "Конфигурация Outbound" - -msgid "URLTest" -msgstr "URLTest" - -msgid "Proxy Configuration URL" -msgstr "URL конфигурации прокси" - -msgid "Outbound Configuration" -msgstr "Конфигурация исходящего соединения" - -msgid "Enter complete outbound configuration in JSON format" -msgstr "Введите полную конфигурацию исходящего соединения в формате JSON" - -msgid "URLTest Proxy Links" -msgstr "Ссылки прокси для URLTest" - -msgid "UDP over TCP" -msgstr "" +msgstr "Найдены дополнительные правила маркировки" msgid "Applicable for SOCKS and Shadowsocks proxy" msgstr "" -msgid "Network Interface" -msgstr "Сетевой интерфейс" - -msgid "Select network interface for VPN connection" -msgstr "Выберите сетевой интерфейс для VPN подключения" - -msgid "Domain Resolver" -msgstr "Резолвер доменов" - -msgid "Enable built-in DNS resolver for domains handled by this section" -msgstr "Включить встроенный DNS-резолвер для доменов, обрабатываемых в этом разделе" - -msgid "DNS Protocol Type" -msgstr "Тип протокола DNS" - -msgid "Select the DNS protocol type for the domain resolver" -msgstr "Выберите тип протокола DNS для резолвера доменов" - -msgid "DNS over HTTPS (DoH)" -msgstr "DNS через HTTPS (DoH)" - -msgid "DNS over TLS (DoT)" -msgstr "DNS через TLS (DoT)" - -msgid "UDP (Unprotected DNS)" -msgstr "UDP (Незащищённый DNS)" - -msgid "DNS Server" -msgstr "DNS-сервер" - -msgid "Select or enter DNS server address" -msgstr "Выберите или введите адрес DNS-сервера" - -msgid "" -msgstr "" - -msgid "Community Lists" -msgstr "Списки сообщества" - -msgid "Select a predefined list for routing" -msgstr "" - -msgid "Regional options cannot be used together" -msgstr "Нельзя использовать несколько региональных опций одновременно" - -msgid "Warning: %s cannot be used together with %s. Previous selections have been removed." -msgstr "Предупреждение: %s нельзя использовать вместе с %s. Предыдущие варианты были удалены." - -msgid "Russia inside restrictions" -msgstr "Ограничения Russia inside" - -msgid "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection." -msgstr "" - -msgid "User Domain List Type" -msgstr "Тип пользовательского списка доменов" - -msgid "Select the list type for adding custom domains" -msgstr "" - -msgid "Disabled" -msgstr "Отключено" - -msgid "Dynamic List" -msgstr "Динамический список" - -msgid "Text List" -msgstr "Текстовый список" - -msgid "User Domains" -msgstr "Пользовательские домены" - -msgid "Enter domain names without protocols, e.g. example.com or sub.example.com" -msgstr "" - -msgid "User Domains List" -msgstr "Список пользовательских доменов" - -msgid "Enter domain names separated by commas, spaces, or newlines. You can add comments using //" -msgstr "" - msgid "At least one valid domain must be specified. Comments-only content is not allowed." msgstr "Необходимо указать хотя бы один действительный домен. Содержимое только из комментариев не допускается." -msgid "Validation errors:" -msgstr "Ошибки валидации:" - -msgid "User Subnet List Type" -msgstr "Тип пользовательского списка подсетей" - -msgid "Select the list type for adding custom subnets" -msgstr "" - -msgid "Text List (comma/space/newline separated)" -msgstr "Текстовый список (через запятую, пробел или новую строку)" - -msgid "User Subnets" -msgstr "Пользовательские подсети" - -msgid "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses" -msgstr "" - -msgid "User Subnets List" -msgstr "Список пользовательских подсетей" - -msgid "Enter subnets in CIDR notation or single IP addresses, separated by commas, spaces, or newlines. \" + \"You can add comments using //" -msgstr "" - msgid "At least one valid subnet or IP must be specified. Comments-only content is not allowed." msgstr "Необходимо указать хотя бы одну действительную подсеть или IP. Только комментарии недопустимы." -msgid "Local Domain Lists" -msgstr "Локальные списки доменов" - -msgid "Specify the path to the list file located on the router filesystem" -msgstr "" - -msgid "Local Subnet Lists" -msgstr "Локальные списки подсетей" - -msgid "Remote Domain Lists" -msgstr "Удалённые списки доменов" - -msgid "Specify remote URLs to download and use domain lists" -msgstr "" - -msgid "Remote Subnet Lists" -msgstr "Удалённые списки подсетей" - -msgid "Specify remote URLs to download and use subnet lists" -msgstr "" - -msgid "Fully Routed IPs" -msgstr "" - -msgid "Specify local IP addresses or subnets whose traffic will always be routed through the configured route" -msgstr "" - -msgid "Enable Mixed Proxy" -msgstr "" - -msgid "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies" -msgstr "" - -msgid "Mixed Proxy Port" -msgstr "" - -msgid "Specify the port number on which the mixed proxy will run for this section. \" + \"Make sure the selected port is not used by another service" -msgstr "" - -msgid "Select DNS protocol to use" -msgstr "Выберите протокол DNS" +msgid "Bootsrap DNS" +msgstr "Bootstrap DNS" msgid "Bootstrap DNS server" msgstr "Bootstrap DNS-сервер" -msgid "The DNS server used to look up the IP address of an upstream DNS server" -msgstr "DNS-сервер, используемый для поиска IP-адреса вышестоящего DNS-сервера" +msgid "Browser is not using FakeIP" +msgstr "Браузер не использует FakeIP" -msgid "DNS Rewrite TTL" -msgstr "Перезапись TTL для DNS" +msgid "Browser is using FakeIP correctly" +msgstr "Браузер использует FakeIP" -msgid "Time in seconds for DNS record caching (default: 60)" -msgstr "Время в секундах для кэширования DNS записей (по умолчанию: 60)" +msgid "Cache File Path" +msgstr "Путь к файлу кэша" -msgid "TTL value cannot be empty" -msgstr "Значение TTL не может быть пустым" +msgid "Cache file path cannot be empty" +msgstr "Путь к файлу кэша не может быть пустым" -msgid "TTL must be a positive number" -msgstr "TTL должно быть положительным числом" - -msgid "Source Network Interface" -msgstr "Сетевой интерфейс источника" - -msgid "Select the network interface from which the traffic will originate" -msgstr "Выберите сетевой интерфейс, с которого будет исходить трафик" - -msgid "Enable Output Network Interface" +msgid "Cannot receive DNS checks result" msgstr "" -msgid "You can select Output Network Interface, by default autodetect" +msgid "Cannot receive nftables checks result" msgstr "" -msgid "Output Network Interface" +msgid "Cannot receive Sing-box checks result" msgstr "" -msgid "Select the network interface to which the traffic will originate" +msgid "Checking dns, please wait" msgstr "" -msgid "Interface Monitoring" +msgid "Checking FakeIP, please wait" msgstr "" -msgid "Interface monitoring for Bad WAN" +msgid "Checking nftables, please wait" msgstr "" -msgid "Monitored Interfaces" +msgid "Checking sing-box, please wait" msgstr "" -msgid "Select the WAN interfaces to be monitored" -msgstr "Выберите WAN интерфейсы для мониторинга" +msgid "CIDR must be between 0 and 32" +msgstr "CIDR должен быть между 0 и 32" -msgid "Interface Monitoring Delay" -msgstr "Задержка при мониторинге интерфейсов" +msgid "Close" +msgstr "Закрыть" + +msgid "Community Lists" +msgstr "Списки сообщества" + +msgid "Config File Path" +msgstr "Путь к файлу конфигурации" + +msgid "Configuration for Podkop service" +msgstr "" + +msgid "Configuration Type" +msgstr "Тип конфигурации" + +msgid "Connection Type" +msgstr "Тип подключения" + +msgid "Connection URL" +msgstr "URL подключения" + +msgid "Copy" +msgstr "" + +msgid "Currently unavailable" +msgstr "Временно недоступно" + +msgid "Dashboard" +msgstr "Дашборд" + +msgid "Dashboard currently unavailable" +msgstr "Дашборд сейчас недоступен" msgid "Delay in milliseconds before reloading podkop after interface UP" msgstr "Задержка в миллисекундах перед перезагрузкой podkop после поднятия интерфейса" @@ -1013,7 +125,13 @@ msgstr "Задержка в миллисекундах перед перезаг msgid "Delay value cannot be empty" msgstr "Значение задержки не может быть пустым" -msgid "Enable YACD" +msgid "DHCP has DNS server" +msgstr "" + +msgid "Diagnostics" +msgstr "Диагностика" + +msgid "Disable autostart" msgstr "" msgid "Disable QUIC" @@ -1022,53 +140,92 @@ msgstr "" msgid "Disable the QUIC protocol to improve compatibility or fix issues with video streaming" msgstr "" -msgid "List Update Frequency" -msgstr "Частота обновления списков" +msgid "Disabled" +msgstr "Отключено" -msgid "Select how often the domain or subnet lists are updated automatically" +msgid "DNS checks" +msgstr "" + +msgid "DNS checks passed" +msgstr "" + +msgid "DNS on router" +msgstr "" + +msgid "DNS over HTTPS (DoH)" +msgstr "DNS через HTTPS (DoH)" + +msgid "DNS over TLS (DoT)" +msgstr "DNS через TLS (DoT)" + +msgid "DNS Protocol Type" +msgstr "Тип протокола DNS" + +msgid "DNS Rewrite TTL" +msgstr "Перезапись TTL для DNS" + +msgid "DNS Server" +msgstr "DNS-сервер" + +msgid "DNS server address cannot be empty" +msgstr "Адрес DNS-сервера не может быть пустым" + +msgid "Domain Resolver" +msgstr "Резолвер доменов" + +msgid "Dont Touch My DHCP!" +msgstr "" + +msgid "Downlink" +msgstr "Входящий" + +msgid "Download" msgstr "" msgid "Download Lists via Proxy/VPN" msgstr "" -msgid "Downloading all lists via main Proxy/VPN" -msgstr "Загрузка всех списков через основной прокси/VPN" - msgid "Download Lists via specific proxy section" msgstr "" +msgid "Downloading all lists via main Proxy/VPN" +msgstr "Загрузка всех списков через основной прокси/VPN" + msgid "Downloading all lists via specific Proxy/VPN" msgstr "Загрузка всех списков через указанный прокси/VPN" -msgid "Dont Touch My DHCP!" +msgid "Dynamic List" +msgstr "Динамический список" + +msgid "Enable autostart" msgstr "" -msgid "Podkop will not modify your DHCP configuration" +msgid "Enable built-in DNS resolver for domains handled by this section" +msgstr "Включить встроенный DNS-резолвер для доменов, обрабатываемых в этом разделе" + +msgid "Enable Mixed Proxy" msgstr "" -msgid "Config File Path" -msgstr "Путь к файлу конфигурации" +msgid "Enable Output Network Interface" +msgstr "" -msgid "Select path for sing-box config file. Change this ONLY if you know what you are doing" -msgstr "Выберите путь к файлу конфигурации sing-box. Изменяйте это, ТОЛЬКО если вы знаете, что делаете" +msgid "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies" +msgstr "" -msgid "Cache File Path" -msgstr "Путь к файлу кэша" +msgid "Enable YACD" +msgstr "" -msgid "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing" -msgstr "Выберите или введите путь к файлу кеша sing-box. Изменяйте это, ТОЛЬКО если вы знаете, что делаете" +msgid "Enter complete outbound configuration in JSON format" +msgstr "Введите полную конфигурацию исходящего соединения в формате JSON" -msgid "Cache file path cannot be empty" -msgstr "Путь к файлу кэша не может быть пустым" +msgid "Enter domain names separated by commas, spaces, or newlines. You can add comments using //" +msgstr "" -msgid "Path must be absolute (start with /)" -msgstr "Путь должен быть абсолютным (начинаться с /)" +msgid "Enter domain names without protocols, e.g. example.com or sub.example.com" +msgstr "" -msgid "Path must end with cache.db" -msgstr "Путь должен заканчиваться на cache.db" - -msgid "Path must contain at least one directory (like /tmp/cache.db)" -msgstr "Путь должен содержать хотя бы одну директорию (например /tmp/cache.db)" +msgid "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses" +msgstr "" msgid "Exclude NTP" msgstr "Исключить NTP" @@ -1076,8 +233,482 @@ msgstr "Исключить NTP" msgid "Exclude NTP protocol traffic from the tunnel to prevent it from being routed through the proxy or VPN" msgstr "" +msgid "Failed to copy!" +msgstr "" + +msgid "FakeIP checks" +msgstr "" + +msgid "FakeIP checks failed" +msgstr "" + +msgid "FakeIP checks partially passed" +msgstr "" + +msgid "FakeIP checks passed" +msgstr "" + +msgid "Fastest" +msgstr "Самый быстрый" + +msgid "Fully Routed IPs" +msgstr "" + +msgid "Get global check" +msgstr "" + +msgid "Global check" +msgstr "Глобальная проверка" + +msgid "HTTP error" +msgstr "Ошибка HTTP" + +msgid "Interface Monitoring" +msgstr "" + +msgid "Interface Monitoring Delay" +msgstr "Задержка при мониторинге интерфейсов" + +msgid "Interface monitoring for Bad WAN" +msgstr "" + +msgid "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH" +msgstr "Неверный формат DNS-сервера. Примеры: 8.8.8.8, dns.example.com или dns.example.com/nicedns для DoH" + +msgid "Invalid domain address" +msgstr "Неверный домен" + +msgid "Invalid format. Use X.X.X.X or X.X.X.X/Y" +msgstr "Неверный формат. Используйте X.X.X.X или X.X.X.X/Y" + +msgid "Invalid IP address" +msgstr "Неверный IP-адрес" + +msgid "Invalid JSON format" +msgstr "Неверный формат JSON" + +msgid "Invalid path format. Path must start with \"/\" and contain valid characters" +msgstr "Неверный формат пути. Путь должен начинаться с \"/\" и содержать допустимые символы" + +msgid "Invalid port number. Must be between 1 and 65535" +msgstr "Неверный номер порта. Допустимо от 1 до 65535" + +msgid "Invalid Shadowsocks URL: decoded credentials must contain method:password" +msgstr "Неверный URL Shadowsocks: декодированные данные должны содержать method:password" + +msgid "Invalid Shadowsocks URL: missing credentials" +msgstr "Неверный URL Shadowsocks: отсутствуют учетные данные" + +msgid "Invalid Shadowsocks URL: missing method and password separator \":\"" +msgstr "Неверный URL Shadowsocks: отсутствует разделитель метода и пароля \":\"" + +msgid "Invalid Shadowsocks URL: missing port" +msgstr "Неверный URL Shadowsocks: отсутствует порт" + +msgid "Invalid Shadowsocks URL: missing server" +msgstr "Неверный URL Shadowsocks: отсутствует сервер" + +msgid "Invalid Shadowsocks URL: missing server address" +msgstr "Неверный URL Shadowsocks: отсутствует адрес сервера" + +msgid "Invalid Shadowsocks URL: must not contain spaces" +msgstr "Неверный URL Shadowsocks: не должен содержать пробелов" + +msgid "Invalid Shadowsocks URL: must start with ss://" +msgstr "Неверный URL Shadowsocks: должен начинаться с ss://" + +msgid "Invalid Shadowsocks URL: parsing failed" +msgstr "Неверный URL Shadowsocks: ошибка разбора" + +msgid "Invalid SOCKS URL: invalid host format" +msgstr "" + +msgid "Invalid SOCKS URL: invalid port number" +msgstr "" + +msgid "Invalid SOCKS URL: missing host and port" +msgstr "" + +msgid "Invalid SOCKS URL: missing hostname or IP" +msgstr "" + +msgid "Invalid SOCKS URL: missing port" +msgstr "" + +msgid "Invalid SOCKS URL: missing username" +msgstr "" + +msgid "Invalid SOCKS URL: must not contain spaces" +msgstr "" + +msgid "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://" +msgstr "" + +msgid "Invalid SOCKS URL: parsing failed" +msgstr "" + +msgid "Invalid Trojan URL: must not contain spaces" +msgstr "Неверный URL Trojan: не должен содержать пробелов" + +msgid "Invalid Trojan URL: must start with trojan://" +msgstr "Неверный URL Trojan: должен начинаться с trojan://" + +msgid "Invalid Trojan URL: parsing failed" +msgstr "Неверный URL Trojan: ошибка разбора" + +msgid "Invalid URL format" +msgstr "Неверный формат URL" + +msgid "Invalid VLESS URL: parsing failed" +msgstr "Неверный URL VLESS: ошибка разбора" + +msgid "IP address 0.0.0.0 is not allowed" +msgstr "IP-адрес 0.0.0.0 не допускается" + +msgid "Latest" +msgstr "" + +msgid "List Update Frequency" +msgstr "Частота обновления списков" + +msgid "Local Domain Lists" +msgstr "Локальные списки доменов" + +msgid "Local Subnet Lists" +msgstr "Локальные списки подсетей" + +msgid "Main DNS" +msgstr "" + +msgid "Memory Usage" +msgstr "Использование памяти" + +msgid "Mixed Proxy Port" +msgstr "" + +msgid "Monitored Interfaces" +msgstr "" + +msgid "Network Interface" +msgstr "Сетевой интерфейс" + +msgid "Nftables checks" +msgstr "" + +msgid "Nftables checks partially passed" +msgstr "" + +msgid "Nftables checks passed" +msgstr "" + +msgid "No other marking rules found" +msgstr "" + +msgid "Not implement yet" +msgstr "" + +msgid "Not running" +msgstr "" + +msgid "Operation timed out" +msgstr "Время ожидания истекло" + +msgid "Outbound Config" +msgstr "Конфигурация Outbound" + +msgid "Outbound Configuration" +msgstr "Конфигурация исходящего соединения" + +msgid "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields" +msgstr "JSON должен содержать поля \"type\", \"server\" и \"server_port\"" + +msgid "Outdated" +msgstr "" + +msgid "Output Network Interface" +msgstr "" + +msgid "Path cannot be empty" +msgstr "Путь не может быть пустым" + +msgid "Path must be absolute (start with /)" +msgstr "Путь должен быть абсолютным (начинаться с /)" + +msgid "Path must contain at least one directory (like /tmp/cache.db)" +msgstr "Путь должен содержать хотя бы одну директорию (например /tmp/cache.db)" + +msgid "Path must end with cache.db" +msgstr "Путь должен заканчиваться на cache.db" + +msgid "Podkop" +msgstr "Podkop" + +msgid "Podkop Settings" +msgstr "" + +msgid "Podkop will not modify your DHCP configuration" +msgstr "" + +msgid "Proxy Configuration URL" +msgstr "URL конфигурации прокси" + +msgid "Proxy traffic is not routed via FakeIP" +msgstr "" + +msgid "Proxy traffic is routed via FakeIP" +msgstr "" + +msgid "Queued" +msgstr "" + +msgid "Regional options cannot be used together" +msgstr "Нельзя использовать несколько региональных опций одновременно" + +msgid "Remote Domain Lists" +msgstr "Удалённые списки доменов" + +msgid "Remote Subnet Lists" +msgstr "Удалённые списки подсетей" + +msgid "Restart podkop" +msgstr "" + +msgid "Router DNS is not routed through sing-box" +msgstr "" + +msgid "Router DNS is routed through sing-box" +msgstr "" + msgid "Routing Excluded IPs" msgstr "" +msgid "Rules mangle counters" +msgstr "" + +msgid "Rules mangle exist" +msgstr "" + +msgid "Rules mangle output counters" +msgstr "" + +msgid "Rules mangle output exist" +msgstr "" + +msgid "Rules proxy counters" +msgstr "" + +msgid "Rules proxy exist" +msgstr "" + +msgid "Run Diagnostic" +msgstr "" + +msgid "Russia inside restrictions" +msgstr "Ограничения Russia inside" + +msgid "Sections" +msgstr "" + +msgid "Select a predefined list for routing" +msgstr "" + +msgid "Select between VPN and Proxy connection methods for traffic routing" +msgstr "Выберите между VPN и Proxy методами для маршрутизации трафика" + +msgid "Select DNS protocol to use" +msgstr "Выберите протокол DNS" + +msgid "Select how often the domain or subnet lists are updated automatically" +msgstr "" + +msgid "Select how to configure the proxy" +msgstr "Выберите способ настройки прокси" + +msgid "Select network interface for VPN connection" +msgstr "Выберите сетевой интерфейс для VPN подключения" + +msgid "Select or enter DNS server address" +msgstr "Выберите или введите адрес DNS-сервера" + +msgid "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing" +msgstr "Выберите или введите путь к файлу кеша sing-box. Изменяйте это, ТОЛЬКО если вы знаете, что делаете" + +msgid "Select path for sing-box config file. Change this ONLY if you know what you are doing" +msgstr "Выберите путь к файлу конфигурации sing-box. Изменяйте это, ТОЛЬКО если вы знаете, что делаете" + +msgid "Select the DNS protocol type for the domain resolver" +msgstr "Выберите тип протокола DNS для резолвера доменов" + +msgid "Select the list type for adding custom domains" +msgstr "" + +msgid "Select the list type for adding custom subnets" +msgstr "" + +msgid "Select the network interface from which the traffic will originate" +msgstr "Выберите сетевой интерфейс, с которого будет исходить трафик" + +msgid "Select the network interface to which the traffic will originate" +msgstr "" + +msgid "Select the WAN interfaces to be monitored" +msgstr "Выберите WAN интерфейсы для мониторинга" + +msgid "Services info" +msgstr "Информация о сервисах" + +msgid "Settings" +msgstr "" + +msgid "Show sing-box config" +msgstr "" + +msgid "Sing-box" +msgstr "Sing-box" + +msgid "Sing-box autostart disabled" +msgstr "" + +msgid "Sing-box checks" +msgstr "" + +msgid "Sing-box checks passed" +msgstr "" + +msgid "Sing-box installed" +msgstr "" + +msgid "Sing-box listening ports" +msgstr "" + +msgid "Sing-box process running" +msgstr "" + +msgid "Sing-box service exist" +msgstr "" + +msgid "Sing-box version >= 1.12.4" +msgstr "" + +msgid "Source Network Interface" +msgstr "Сетевой интерфейс источника" + msgid "Specify a local IP address to be excluded from routing" msgstr "" + +msgid "Specify local IP addresses or subnets whose traffic will always be routed through the configured route" +msgstr "" + +msgid "Specify remote URLs to download and use domain lists" +msgstr "" + +msgid "Specify remote URLs to download and use subnet lists" +msgstr "" + +msgid "Specify the path to the list file located on the router filesystem" +msgstr "" + +msgid "Start podkop" +msgstr "" + +msgid "Stop podkop" +msgstr "" + +msgid "Successfully copied!" +msgstr "" + +msgid "System info" +msgstr "Системная информация" + +msgid "Table exist" +msgstr "" + +msgid "Test latency" +msgstr "" + +msgid "Text List" +msgstr "Текстовый список" + +msgid "Text List (comma/space/newline separated)" +msgstr "Текстовый список (через запятую, пробел или новую строку)" + +msgid "The DNS server used to look up the IP address of an upstream DNS server" +msgstr "DNS-сервер, используемый для поиска IP-адреса вышестоящего DNS-сервера" + +msgid "Time in seconds for DNS record caching (default: 60)" +msgstr "Время в секундах для кэширования DNS записей (по умолчанию: 60)" + +msgid "Traffic" +msgstr "Трафик" + +msgid "Traffic Total" +msgstr "Всего трафика" + +msgid "TTL must be a positive number" +msgstr "TTL должно быть положительным числом" + +msgid "TTL value cannot be empty" +msgstr "Значение TTL не может быть пустым" + +msgid "UDP (Unprotected DNS)" +msgstr "UDP (Незащищённый DNS)" + +msgid "UDP over TCP" +msgstr "" + +msgid "unknown" +msgstr "" + +msgid "Unknown error" +msgstr "Неизвестная ошибка" + +msgid "Uplink" +msgstr "Исходящий" + +msgid "URL must start with vless://, ss://, trojan://, or socks4/5://" +msgstr "" + +msgid "URL must use one of the following protocols:" +msgstr "URL должен использовать один из следующих протоколов:" + +msgid "URLTest" +msgstr "URLTest" + +msgid "URLTest Proxy Links" +msgstr "Ссылки прокси для URLTest" + +msgid "User Domain List Type" +msgstr "Тип пользовательского списка доменов" + +msgid "User Domains" +msgstr "Пользовательские домены" + +msgid "User Domains List" +msgstr "Список пользовательских доменов" + +msgid "User Subnet List Type" +msgstr "Тип пользовательского списка подсетей" + +msgid "User Subnets" +msgstr "Пользовательские подсети" + +msgid "User Subnets List" +msgstr "Список пользовательских подсетей" + +msgid "Valid" +msgstr "Валидно" + +msgid "Validation errors:" +msgstr "Ошибки валидации:" + +msgid "View logs" +msgstr "" + +msgid "Warning: %s cannot be used together with %s. Previous selections have been removed." +msgstr "Предупреждение: %s нельзя использовать вместе с %s. Предыдущие варианты были удалены." + +msgid "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection." +msgstr "" + +msgid "You can select Output Network Interface, by default autodetect" +msgstr "" diff --git a/luci-app-podkop/po/templates/podkop.pot b/luci-app-podkop/po/templates/podkop.pot index 415585a..f8c7d1c 100644 --- a/luci-app-podkop/po/templates/podkop.pot +++ b/luci-app-podkop/po/templates/podkop.pot @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PODKOP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-21 18:48+0300\n" -"PO-Revision-Date: 2025-10-21 18:48+0300\n" +"POT-Creation-Date: 2025-10-21 19:33+0300\n" +"PO-Revision-Date: 2025-10-21 19:33+0300\n" "Last-Translator: divocat \n" "Language-Team: LANGUAGE \n" "Language: \n" @@ -16,28 +16,933 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: src/helpers/copyToClipboard.ts:10 -msgid "Successfully copied!" +#: src/podkop/tabs/dashboard/initController.ts:342 +msgid "✔ Enabled" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:353 +msgid "✔ Running" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:343 +msgid "✘ Disabled" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:354 +msgid "✘ Stopped" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:304 +msgid "Active Connections" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:117 +msgid "Additional marking rules found" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:111 +msgid "Applicable for SOCKS and Shadowsocks proxy" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:356 +msgid "At least one valid domain must be specified. Comments-only content is not allowed." +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:437 +msgid "At least one valid subnet or IP must be specified. Comments-only content is not allowed." +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:72 +msgid "Bootsrap DNS" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:45 +msgid "Bootstrap DNS server" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:81 +msgid "Browser is not using FakeIP" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:80 +msgid "Browser is using FakeIP correctly" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:322 +msgid "Cache File Path" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:336 +msgid "Cache file path cannot be empty" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:26 +msgid "Cannot receive DNS checks result" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:27 +msgid "Cannot receive nftables checks result" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:24 +msgid "Cannot receive Sing-box checks result" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:14 +msgid "Checking dns, please wait" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:14 +msgid "Checking FakeIP, please wait" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:12 +msgid "Checking nftables, please wait" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:12 +msgid "Checking sing-box, please wait" +msgstr "" + +#: src/validators/validateSubnet.ts:33 +msgid "CIDR must be between 0 and 32" +msgstr "" + +#: src/partials/modal/renderModal.ts:26 +msgid "Close" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:211 +msgid "Community Lists" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:309 +msgid "Config File Path" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:27 +msgid "Configuration for Podkop service" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:22 +msgid "Configuration Type" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:12 +msgid "Connection Type" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:25 +msgid "Connection URL" +msgstr "" + +#: src/partials/modal/renderModal.ts:20 +msgid "Copy" +msgstr "" + +#: src/podkop/tabs/dashboard/partials/renderWidget.ts:22 +msgid "Currently unavailable" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:80 +msgid "Dashboard" +msgstr "" + +#: src/podkop/tabs/dashboard/partials/renderSections.ts:19 +msgid "Dashboard currently unavailable" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:215 +msgid "Delay in milliseconds before reloading podkop after interface UP" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:222 +msgid "Delay value cannot be empty" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:89 +msgid "DHCP has DNS server" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:65 +msgid "Diagnostics" +msgstr "" + +#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:79 +msgid "Disable autostart" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:239 +msgid "Disable QUIC" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:240 +msgid "Disable the QUIC protocol to improve compatibility or fix issues with video streaming" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:302 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:382 +msgid "Disabled" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/contstants.ts:14 +msgid "DNS checks" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:64 +msgid "DNS checks passed" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:84 +msgid "DNS on router" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:179 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:15 +msgid "DNS over HTTPS (DoH)" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:180 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:16 +msgid "DNS over TLS (DoT)" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:176 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:12 +msgid "DNS Protocol Type" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:68 +msgid "DNS Rewrite TTL" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:189 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:24 +msgid "DNS Server" +msgstr "" + +#: src/validators/validateDns.ts:7 +msgid "DNS server address cannot be empty" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:166 +msgid "Domain Resolver" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:300 +msgid "Dont Touch My DHCP!" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:238 +#: src/podkop/tabs/dashboard/initController.ts:272 +msgid "Downlink" +msgstr "" + +#: src/partials/modal/renderModal.ts:15 +msgid "Download" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:262 +msgid "Download Lists via Proxy/VPN" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:271 +msgid "Download Lists via specific proxy section" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:263 +msgid "Downloading all lists via main Proxy/VPN" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:272 +msgid "Downloading all lists via specific Proxy/VPN" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:303 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:383 +msgid "Dynamic List" +msgstr "" + +#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:89 +msgid "Enable autostart" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:167 +msgid "Enable built-in DNS resolver for domains handled by this section" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:575 +msgid "Enable Mixed Proxy" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:126 +msgid "Enable Output Network Interface" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:576 +msgid "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:230 +msgid "Enable YACD" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:65 +msgid "Enter complete outbound configuration in JSON format" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:338 +msgid "Enter domain names separated by commas, spaces, or newlines. You can add comments using //" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:312 +msgid "Enter domain names without protocols, e.g. example.com or sub.example.com" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:392 +msgid "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:358 +msgid "Exclude NTP" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:359 +msgid "Exclude NTP protocol traffic from the tunnel to prevent it from being routed through the proxy or VPN" msgstr "" #: src/helpers/copyToClipboard.ts:12 msgid "Failed to copy!" msgstr "" -#: src/helpers/withTimeout.ts:7 -msgid "Operation timed out" +#: src/podkop/tabs/diagnostic/checks/contstants.ts:29 +msgid "FakeIP checks" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:57 +msgid "FakeIP checks failed" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:51 +msgid "FakeIP checks partially passed" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:44 +msgid "FakeIP checks passed" +msgstr "" + +#: src/podkop/methods/custom/getDashboardSections.ts:117 +msgid "Fastest" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:550 +msgid "Fully Routed IPs" +msgstr "" + +#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:98 +msgid "Get global check" +msgstr "" + +#: src/podkop/tabs/diagnostic/initController.ts:218 +msgid "Global check" msgstr "" #: src/podkop/api.ts:27 msgid "HTTP error" msgstr "" +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:182 +msgid "Interface Monitoring" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:214 +msgid "Interface Monitoring Delay" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:183 +msgid "Interface monitoring for Bad WAN" +msgstr "" + +#: src/validators/validateDns.ts:20 +msgid "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH" +msgstr "" + +#: src/validators/validateDomain.ts:18 +#: src/validators/validateDomain.ts:27 +msgid "Invalid domain address" +msgstr "" + +#: src/validators/validateSubnet.ts:11 +msgid "Invalid format. Use X.X.X.X or X.X.X.X/Y" +msgstr "" + +#: src/validators/validateIp.ts:11 +msgid "Invalid IP address" +msgstr "" + +#: src/validators/validateOutboundJson.ts:19 +msgid "Invalid JSON format" +msgstr "" + +#: src/validators/validatePath.ts:22 +msgid "Invalid path format. Path must start with \"/\" and contain valid characters" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:85 +msgid "Invalid port number. Must be between 1 and 65535" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:37 +msgid "Invalid Shadowsocks URL: decoded credentials must contain method:password" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:27 +msgid "Invalid Shadowsocks URL: missing credentials" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:46 +msgid "Invalid Shadowsocks URL: missing method and password separator \":\"" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:76 +msgid "Invalid Shadowsocks URL: missing port" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:67 +msgid "Invalid Shadowsocks URL: missing server" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:58 +msgid "Invalid Shadowsocks URL: missing server address" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:16 +msgid "Invalid Shadowsocks URL: must not contain spaces" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:8 +msgid "Invalid Shadowsocks URL: must start with ss://" +msgstr "" + +#: src/validators/validateShadowsocksUrl.ts:91 +msgid "Invalid Shadowsocks URL: parsing failed" +msgstr "" + +#: src/validators/validateSocksUrl.ts:73 +msgid "Invalid SOCKS URL: invalid host format" +msgstr "" + +#: src/validators/validateSocksUrl.ts:63 +msgid "Invalid SOCKS URL: invalid port number" +msgstr "" + +#: src/validators/validateSocksUrl.ts:42 +msgid "Invalid SOCKS URL: missing host and port" +msgstr "" + +#: src/validators/validateSocksUrl.ts:51 +msgid "Invalid SOCKS URL: missing hostname or IP" +msgstr "" + +#: src/validators/validateSocksUrl.ts:56 +msgid "Invalid SOCKS URL: missing port" +msgstr "" + +#: src/validators/validateSocksUrl.ts:34 +msgid "Invalid SOCKS URL: missing username" +msgstr "" + +#: src/validators/validateSocksUrl.ts:19 +msgid "Invalid SOCKS URL: must not contain spaces" +msgstr "" + +#: src/validators/validateSocksUrl.ts:10 +msgid "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://" +msgstr "" + +#: src/validators/validateSocksUrl.ts:77 +msgid "Invalid SOCKS URL: parsing failed" +msgstr "" + +#: src/validators/validateTrojanUrl.ts:15 +msgid "Invalid Trojan URL: must not contain spaces" +msgstr "" + +#: src/validators/validateTrojanUrl.ts:8 +msgid "Invalid Trojan URL: must start with trojan://" +msgstr "" + +#: src/validators/validateTrojanUrl.ts:56 +msgid "Invalid Trojan URL: parsing failed" +msgstr "" + +#: src/validators/validateUrl.ts:18 +msgid "Invalid URL format" +msgstr "" + +#: src/validators/validateVlessUrl.ts:109 +msgid "Invalid VLESS URL: parsing failed" +msgstr "" + +#: src/validators/validateSubnet.ts:18 +msgid "IP address 0.0.0.0 is not allowed" +msgstr "" + +#: src/podkop/tabs/diagnostic/initController.ts:404 +msgid "Latest" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:250 +msgid "List Update Frequency" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:458 +msgid "Local Domain Lists" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:481 +msgid "Local Subnet Lists" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:79 +msgid "Main DNS" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:308 +msgid "Memory Usage" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:586 +msgid "Mixed Proxy Port" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:191 +msgid "Monitored Interfaces" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:120 +msgid "Network Interface" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/contstants.ts:24 +msgid "Nftables checks" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:75 +msgid "Nftables checks partially passed" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:74 +msgid "Nftables checks passed" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:116 +msgid "No other marking rules found" +msgstr "" + +#: src/podkop/tabs/diagnostic/partials/renderCheckSection.ts:189 +msgid "Not implement yet" +msgstr "" + +#: src/podkop/tabs/diagnostic/diagnostic.store.ts:55 +#: src/podkop/tabs/diagnostic/diagnostic.store.ts:63 +#: src/podkop/tabs/diagnostic/diagnostic.store.ts:71 +#: src/podkop/tabs/diagnostic/diagnostic.store.ts:79 +msgid "Not running" +msgstr "" + +#: src/helpers/withTimeout.ts:7 +msgid "Operation timed out" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:26 +msgid "Outbound Config" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:64 +msgid "Outbound Configuration" +msgstr "" + +#: src/validators/validateOutboundJson.ts:11 +msgid "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields" +msgstr "" + +#: src/podkop/tabs/diagnostic/initController.ts:394 +msgid "Outdated" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:135 +msgid "Output Network Interface" +msgstr "" + +#: src/validators/validatePath.ts:7 +msgid "Path cannot be empty" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:340 +msgid "Path must be absolute (start with /)" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:349 +msgid "Path must contain at least one directory (like /tmp/cache.db)" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:344 +msgid "Path must end with cache.db" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:340 +msgid "Podkop" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:26 +msgid "Podkop Settings" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:301 +msgid "Podkop will not modify your DHCP configuration" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:34 +msgid "Proxy Configuration URL" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:89 +msgid "Proxy traffic is not routed via FakeIP" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:88 +msgid "Proxy traffic is routed via FakeIP" +msgstr "" + +#: src/podkop/tabs/diagnostic/diagnostic.store.ts:95 +#: src/podkop/tabs/diagnostic/diagnostic.store.ts:103 +#: src/podkop/tabs/diagnostic/diagnostic.store.ts:111 +#: src/podkop/tabs/diagnostic/diagnostic.store.ts:119 +msgid "Queued" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:245 +msgid "Regional options cannot be used together" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:504 +msgid "Remote Domain Lists" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:527 +msgid "Remote Subnet Lists" +msgstr "" + +#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:49 +msgid "Restart podkop" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:74 +msgid "Router DNS is not routed through sing-box" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:73 +msgid "Router DNS is routed through sing-box" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:369 +msgid "Routing Excluded IPs" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:90 +msgid "Rules mangle counters" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:85 +msgid "Rules mangle exist" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:100 +msgid "Rules mangle output counters" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:95 +msgid "Rules mangle output exist" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:110 +msgid "Rules proxy counters" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:105 +msgid "Rules proxy exist" +msgstr "" + +#: src/podkop/tabs/diagnostic/partials/renderRunAction.ts:15 +msgid "Run Diagnostic" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:264 +msgid "Russia inside restrictions" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:36 +msgid "Sections" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:212 +msgid "Select a predefined list for routing" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:13 +msgid "Select between VPN and Proxy connection methods for traffic routing" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:13 +msgid "Select DNS protocol to use" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:251 +msgid "Select how often the domain or subnet lists are updated automatically" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:23 +msgid "Select how to configure the proxy" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:121 +msgid "Select network interface for VPN connection" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:190 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:25 +msgid "Select or enter DNS server address" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:323 +msgid "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:310 +msgid "Select path for sing-box config file. Change this ONLY if you know what you are doing" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:177 +msgid "Select the DNS protocol type for the domain resolver" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:300 +msgid "Select the list type for adding custom domains" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:380 +msgid "Select the list type for adding custom subnets" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:90 +msgid "Select the network interface from which the traffic will originate" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:136 +msgid "Select the network interface to which the traffic will originate" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:192 +msgid "Select the WAN interfaces to be monitored" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:337 +msgid "Services info" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:49 +msgid "Settings" +msgstr "" + +#: src/podkop/tabs/diagnostic/initController.ts:278 +#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:116 +msgid "Show sing-box config" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:351 +msgid "Sing-box" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:86 +msgid "Sing-box autostart disabled" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/contstants.ts:19 +msgid "Sing-box checks" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:66 +msgid "Sing-box checks passed" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:71 +msgid "Sing-box installed" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:96 +msgid "Sing-box listening ports" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:91 +msgid "Sing-box process running" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:81 +msgid "Sing-box service exist" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:76 +msgid "Sing-box version >= 1.12.4" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:89 +msgid "Source Network Interface" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:370 +msgid "Specify a local IP address to be excluded from routing" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:551 +msgid "Specify local IP addresses or subnets whose traffic will always be routed through the configured route" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:505 +msgid "Specify remote URLs to download and use domain lists" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:528 +msgid "Specify remote URLs to download and use subnet lists" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:459 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:482 +msgid "Specify the path to the list file located on the router filesystem" +msgstr "" + +#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:69 +msgid "Start podkop" +msgstr "" + +#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:59 +msgid "Stop podkop" +msgstr "" + +#: src/helpers/copyToClipboard.ts:10 +msgid "Successfully copied!" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:301 +msgid "System info" +msgstr "" + +#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:80 +msgid "Table exist" +msgstr "" + +#: src/podkop/tabs/dashboard/partials/renderSections.ts:108 +msgid "Test latency" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:304 +msgid "Text List" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:384 +msgid "Text List (comma/space/newline separated)" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:46 +msgid "The DNS server used to look up the IP address of an upstream DNS server" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:69 +msgid "Time in seconds for DNS record caching (default: 60)" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:235 +msgid "Traffic" +msgstr "" + +#: src/podkop/tabs/dashboard/initController.ts:265 +msgid "Traffic Total" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:80 +msgid "TTL must be a positive number" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:75 +msgid "TTL value cannot be empty" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:181 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:17 +msgid "UDP (Unprotected DNS)" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:110 +msgid "UDP over TCP" +msgstr "" + +#: src/podkop/tabs/diagnostic/initController.ts:34 +#: src/podkop/tabs/diagnostic/initController.ts:35 +#: src/podkop/tabs/diagnostic/initController.ts:36 +#: src/podkop/tabs/diagnostic/initController.ts:37 +#: src/podkop/tabs/diagnostic/initController.ts:38 +#: src/podkop/tabs/diagnostic/initController.ts:39 +#: src/podkop/tabs/diagnostic/initController.ts:373 +msgid "unknown" +msgstr "" + #: src/podkop/api.ts:40 msgid "Unknown error" msgstr "" -#: src/validators/validateDns.ts:7 -msgid "DNS server address cannot be empty" +#: src/podkop/tabs/dashboard/initController.ts:237 +#: src/podkop/tabs/dashboard/initController.ts:268 +msgid "Uplink" +msgstr "" + +#: src/validators/validateProxyUrl.ts:27 +msgid "URL must start with vless://, ss://, trojan://, or socks4/5://" +msgstr "" + +#: src/validators/validateUrl.ts:13 +msgid "URL must use one of the following protocols:" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:27 +msgid "URLTest" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:87 +msgid "URLTest Proxy Links" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:299 +msgid "User Domain List Type" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:311 +msgid "User Domains" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:337 +msgid "User Domains List" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:379 +msgid "User Subnet List Type" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:391 +msgid "User Subnets" +msgstr "" + +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:417 +msgid "User Subnets List" msgstr "" #: src/validators/validateDns.ts:11 @@ -56,254 +961,9 @@ msgstr "" msgid "Valid" msgstr "" -#: src/validators/validateDns.ts:20 -msgid "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH" -msgstr "" - -#: src/validators/validateDomain.ts:18 -#: src/validators/validateDomain.ts:27 -msgid "Invalid domain address" -msgstr "" - -#: src/validators/validateIp.ts:11 -msgid "Invalid IP address" -msgstr "" - -#: src/validators/validateOutboundJson.ts:11 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:327 -msgid "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields" -msgstr "" - -#: src/validators/validateOutboundJson.ts:19 -msgid "Invalid JSON format" -msgstr "" - -#: src/validators/validatePath.ts:7 -msgid "Path cannot be empty" -msgstr "" - -#: src/validators/validatePath.ts:22 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:90 -msgid "Invalid path format. Path must start with \"/\" and contain valid characters" -msgstr "" - -#: src/validators/validateProxyUrl.ts:27 -msgid "URL must start with vless://, ss://, trojan://, or socks4/5://" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:8 -msgid "Invalid Shadowsocks URL: must start with ss://" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:16 -msgid "Invalid Shadowsocks URL: must not contain spaces" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:27 -msgid "Invalid Shadowsocks URL: missing credentials" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:37 -msgid "Invalid Shadowsocks URL: decoded credentials must contain method:password" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:46 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:171 -msgid "Invalid Shadowsocks URL: missing method and password separator \":\"" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:58 -msgid "Invalid Shadowsocks URL: missing server address" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:67 -msgid "Invalid Shadowsocks URL: missing server" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:76 -msgid "Invalid Shadowsocks URL: missing port" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:85 -msgid "Invalid port number. Must be between 1 and 65535" -msgstr "" - -#: src/validators/validateShadowsocksUrl.ts:91 -msgid "Invalid Shadowsocks URL: parsing failed" -msgstr "" - -#: src/validators/validateSocksUrl.ts:10 -msgid "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://" -msgstr "" - -#: src/validators/validateSocksUrl.ts:19 -msgid "Invalid SOCKS URL: must not contain spaces" -msgstr "" - -#: src/validators/validateSocksUrl.ts:34 -msgid "Invalid SOCKS URL: missing username" -msgstr "" - -#: src/validators/validateSocksUrl.ts:42 -msgid "Invalid SOCKS URL: missing host and port" -msgstr "" - -#: src/validators/validateSocksUrl.ts:51 -msgid "Invalid SOCKS URL: missing hostname or IP" -msgstr "" - -#: src/validators/validateSocksUrl.ts:56 -msgid "Invalid SOCKS URL: missing port" -msgstr "" - -#: src/validators/validateSocksUrl.ts:63 -msgid "Invalid SOCKS URL: invalid port number" -msgstr "" - -#: src/validators/validateSocksUrl.ts:73 -msgid "Invalid SOCKS URL: invalid host format" -msgstr "" - -#: src/validators/validateSocksUrl.ts:77 -msgid "Invalid SOCKS URL: parsing failed" -msgstr "" - -#: src/validators/validateSubnet.ts:11 -msgid "Invalid format. Use X.X.X.X or X.X.X.X/Y" -msgstr "" - -#: src/validators/validateSubnet.ts:18 -msgid "IP address 0.0.0.0 is not allowed" -msgstr "" - -#: src/validators/validateSubnet.ts:33 -msgid "CIDR must be between 0 and 32" -msgstr "" - -#: src/validators/validateTrojanUrl.ts:8 -msgid "Invalid Trojan URL: must start with trojan://" -msgstr "" - -#: src/validators/validateTrojanUrl.ts:15 -msgid "Invalid Trojan URL: must not contain spaces" -msgstr "" - -#: src/validators/validateTrojanUrl.ts:56 -msgid "Invalid Trojan URL: parsing failed" -msgstr "" - -#: src/validators/validateUrl.ts:13 -msgid "URL must use one of the following protocols:" -msgstr "" - -#: src/validators/validateUrl.ts:18 -msgid "Invalid URL format" -msgstr "" - -#: src/validators/validateVlessUrl.ts:109 -msgid "Invalid VLESS URL: parsing failed" -msgstr "" - -#: src/partials/modal/renderModal.ts:15 -msgid "Download" -msgstr "" - -#: src/partials/modal/renderModal.ts:20 -msgid "Copy" -msgstr "" - -#: src/partials/modal/renderModal.ts:26 -msgid "Close" -msgstr "" - -#: src/podkop/methods/custom/getDashboardSections.ts:117 -msgid "Fastest" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:235 -msgid "Traffic" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:237 -#: src/podkop/tabs/dashboard/initController.ts:268 -msgid "Uplink" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:238 -#: src/podkop/tabs/dashboard/initController.ts:272 -msgid "Downlink" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:265 -msgid "Traffic Total" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:301 -msgid "System info" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:304 -msgid "Active Connections" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:308 -msgid "Memory Usage" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:337 -msgid "Services info" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:340 -msgid "Podkop" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:342 -msgid "✔ Enabled" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:343 -msgid "✘ Disabled" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:351 -msgid "Sing-box" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:353 -msgid "✔ Running" -msgstr "" - -#: src/podkop/tabs/dashboard/initController.ts:354 -msgid "✘ Stopped" -msgstr "" - -#: src/podkop/tabs/diagnostic/diagnostic.store.ts:55 -#: src/podkop/tabs/diagnostic/diagnostic.store.ts:63 -#: src/podkop/tabs/diagnostic/diagnostic.store.ts:71 -#: src/podkop/tabs/diagnostic/diagnostic.store.ts:79 -msgid "Not running" -msgstr "" - -#: src/podkop/tabs/diagnostic/diagnostic.store.ts:95 -#: src/podkop/tabs/diagnostic/diagnostic.store.ts:103 -#: src/podkop/tabs/diagnostic/diagnostic.store.ts:111 -#: src/podkop/tabs/diagnostic/diagnostic.store.ts:119 -msgid "Queued" -msgstr "" - -#: src/podkop/tabs/diagnostic/initController.ts:34 -#: src/podkop/tabs/diagnostic/initController.ts:35 -#: src/podkop/tabs/diagnostic/initController.ts:36 -#: src/podkop/tabs/diagnostic/initController.ts:37 -#: src/podkop/tabs/diagnostic/initController.ts:38 -#: src/podkop/tabs/diagnostic/initController.ts:39 -#: src/podkop/tabs/diagnostic/initController.ts:373 -msgid "unknown" -msgstr "" - -#: src/podkop/tabs/diagnostic/initController.ts:218 -msgid "Global check" +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:370 +#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:449 +msgid "Validation errors:" msgstr "" #: src/podkop/tabs/diagnostic/initController.ts:248 @@ -311,1202 +971,14 @@ msgstr "" msgid "View logs" msgstr "" -#: src/podkop/tabs/diagnostic/initController.ts:278 -#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:116 -msgid "Show sing-box config" -msgstr "" - -#: src/podkop/tabs/diagnostic/initController.ts:394 -msgid "Outdated" -msgstr "" - -#: src/podkop/tabs/diagnostic/initController.ts:404 -msgid "Latest" -msgstr "" - -#: src/podkop/tabs/dashboard/partials/renderSections.ts:19 -msgid "Dashboard currently unavailable" -msgstr "" - -#: src/podkop/tabs/dashboard/partials/renderSections.ts:108 -msgid "Test latency" -msgstr "" - -#: src/podkop/tabs/dashboard/partials/renderWidget.ts:22 -msgid "Currently unavailable" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/contstants.ts:14 -msgid "DNS checks" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/contstants.ts:19 -msgid "Sing-box checks" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/contstants.ts:24 -msgid "Nftables checks" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/contstants.ts:29 -msgid "FakeIP checks" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:14 -msgid "Checking dns, please wait" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:26 -msgid "Cannot receive DNS checks result" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:64 -msgid "DNS checks passed" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:72 -msgid "Bootsrap DNS" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:79 -msgid "Main DNS" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:84 -msgid "DNS on router" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:89 -msgid "DHCP has DNS server" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:14 -msgid "Checking FakeIP, please wait" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:44 -msgid "FakeIP checks passed" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:51 -msgid "FakeIP checks partially passed" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:57 -msgid "FakeIP checks failed" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:73 -msgid "Router DNS is routed through sing-box" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:74 -msgid "Router DNS is not routed through sing-box" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:80 -msgid "Browser is using FakeIP correctly" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:81 -msgid "Browser is not using FakeIP" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:88 -msgid "Proxy traffic is routed via FakeIP" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:89 -msgid "Proxy traffic is not routed via FakeIP" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:12 -msgid "Checking nftables, please wait" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:27 -msgid "Cannot receive nftables checks result" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:74 -msgid "Nftables checks passed" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:75 -msgid "Nftables checks partially passed" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:80 -msgid "Table exist" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:85 -msgid "Rules mangle exist" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:90 -msgid "Rules mangle counters" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:95 -msgid "Rules mangle output exist" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:100 -msgid "Rules mangle output counters" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:105 -msgid "Rules proxy exist" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:110 -msgid "Rules proxy counters" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:116 -msgid "No other marking rules found" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:117 -msgid "Additional marking rules found" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:12 -msgid "Checking sing-box, please wait" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:24 -msgid "Cannot receive Sing-box checks result" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:66 -msgid "Sing-box checks passed" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:71 -msgid "Sing-box installed" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:76 -msgid "Sing-box version >= 1.12.4" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:81 -msgid "Sing-box service exist" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:86 -msgid "Sing-box autostart disabled" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:91 -msgid "Sing-box process running" -msgstr "" - -#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:96 -msgid "Sing-box listening ports" -msgstr "" - -#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:49 -msgid "Restart podkop" -msgstr "" - -#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:59 -msgid "Stop podkop" -msgstr "" - -#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:69 -msgid "Start podkop" -msgstr "" - -#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:79 -msgid "Disable autostart" -msgstr "" - -#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:89 -msgid "Enable autostart" -msgstr "" - -#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:98 -msgid "Get global check" -msgstr "" - -#: src/podkop/tabs/diagnostic/partials/renderCheckSection.ts:189 -msgid "Not implement yet" -msgstr "" - -#: src/podkop/tabs/diagnostic/partials/renderRunAction.ts:15 -msgid "Run Diagnostic" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:12 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:23 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:35 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:44 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:47 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:67 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:85 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:122 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:211 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:314 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:332 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:383 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:449 -msgid "Valid" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:14 -msgid "Invalid IP address" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:27 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:33 -msgid "Invalid domain address" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:41 -msgid "DNS server address cannot be empty" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:51 -msgid "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:64 -msgid "URL must use one of the following protocols:" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:69 -msgid "Invalid URL format" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:78 -msgid "Path cannot be empty" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:102 -msgid "Invalid format. Use X.X.X.X or X.X.X.X/Y" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:107 -msgid "IP address 0.0.0.0 is not allowed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:118 -msgid "CIDR must be between 0 and 32" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:139 -msgid "Invalid Shadowsocks URL: must start with ss://" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:146 -msgid "Invalid Shadowsocks URL: must not contain spaces" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:154 -msgid "Invalid Shadowsocks URL: missing credentials" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:162 -msgid "Invalid Shadowsocks URL: decoded credentials must contain method:password" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:181 -msgid "Invalid Shadowsocks URL: missing server address" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:188 -msgid "Invalid Shadowsocks URL: missing server" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:195 -msgid "Invalid Shadowsocks URL: missing port" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:202 -msgid "Invalid port number. Must be between 1 and 65535" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:208 -msgid "Invalid Shadowsocks URL: parsing failed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:316 -msgid "Invalid VLESS URL: parsing failed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:334 -msgid "Invalid JSON format" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:344 -msgid "Invalid Trojan URL: must start with trojan://" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:350 -msgid "Invalid Trojan URL: must not contain spaces" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:381 -msgid "Invalid Trojan URL: parsing failed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:392 -msgid "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:400 -msgid "Invalid SOCKS URL: must not contain spaces" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:411 -msgid "Invalid SOCKS URL: missing username" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:418 -msgid "Invalid SOCKS URL: missing host and port" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:425 -msgid "Invalid SOCKS URL: missing hostname or IP" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:429 -msgid "Invalid SOCKS URL: missing port" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:435 -msgid "Invalid SOCKS URL: invalid port number" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:443 -msgid "Invalid SOCKS URL: invalid host format" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:447 -msgid "Invalid SOCKS URL: parsing failed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:468 -msgid "URL must start with vless://, ss://, trojan://, or socks4/5://" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:692 -msgid "Fastest" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:864 -msgid "HTTP error" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:875 -msgid "Unknown error" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:985 -msgid "DNS checks" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:990 -msgid "Sing-box checks" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:995 -msgid "Nftables checks" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1000 -msgid "FakeIP checks" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1048 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1056 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1064 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1072 -msgid "Not running" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1084 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1092 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1100 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1108 -msgid "Queued" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1578 -msgid "Dashboard currently unavailable" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1654 -msgid "Test latency" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:1683 -msgid "Currently unavailable" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2024 -msgid "Traffic" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2026 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2051 -msgid "Uplink" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2027 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2055 -msgid "Downlink" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2048 -msgid "Traffic Total" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2078 -msgid "System info" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2081 -msgid "Active Connections" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2085 -msgid "Memory Usage" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2108 -msgid "Services info" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2111 -msgid "Podkop" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2112 -msgid "\\u2714 Enabled" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2112 -msgid "\\u2718 Disabled" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2118 -msgid "Sing-box" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2119 -msgid "\\u2714 Running" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2119 -msgid "\\u2718 Stopped" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2365 -msgid "Checking dns, please wait" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2375 -msgid "Cannot receive DNS checks result" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2397 -msgid "DNS checks passed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2405 -msgid "Bootsrap DNS" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2412 -msgid "Main DNS" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2417 -msgid "DNS on router" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2422 -msgid "DHCP has DNS server" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2439 -msgid "Checking sing-box, please wait" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2449 -msgid "Cannot receive Sing-box checks result" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2471 -msgid "Sing-box checks passed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2476 -msgid "Sing-box installed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2481 -msgid "Sing-box version >= 1.12.4" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2486 -msgid "Sing-box service exist" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2491 -msgid "Sing-box autostart disabled" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2496 -msgid "Sing-box process running" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2501 -msgid "Sing-box listening ports" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2518 -msgid "Checking nftables, please wait" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2530 -msgid "Cannot receive nftables checks result" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2552 -msgid "Nftables checks passed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2552 -msgid "Nftables checks partially passed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2557 -msgid "Table exist" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2562 -msgid "Rules mangle exist" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2567 -msgid "Rules mangle counters" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2572 -msgid "Rules mangle output exist" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2577 -msgid "Rules mangle output counters" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2582 -msgid "Rules proxy exist" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2587 -msgid "Rules proxy counters" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2592 -msgid "No other marking rules found" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2592 -msgid "Additional marking rules found" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2609 -msgid "Checking FakeIP, please wait" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2627 -msgid "FakeIP checks passed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2633 -msgid "FakeIP checks partially passed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2638 -msgid "FakeIP checks failed" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2651 -msgid "Router DNS is routed through sing-box" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2651 -msgid "Router DNS is not routed through sing-box" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2656 -msgid "Browser is using FakeIP correctly" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2656 -msgid "Browser is not using FakeIP" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2662 -msgid "Proxy traffic is routed via FakeIP" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:2662 -msgid "Proxy traffic is not routed via FakeIP" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3288 -msgid "Successfully copied!" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3290 -msgid "Failed to copy!" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3306 -msgid "Download" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3311 -msgid "Copy" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3318 -msgid "Close" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3350 -msgid "Restart podkop" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3360 -msgid "Stop podkop" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3370 -msgid "Start podkop" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3380 -msgid "Disable autostart" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3390 -msgid "Enable autostart" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3399 -msgid "Get global check" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3408 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3840 -msgid "View logs" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3417 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3867 -msgid "Show sing-box config" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3577 -msgid "Not implement yet" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3587 -msgid "Run Diagnostic" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3651 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3652 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3653 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3654 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3655 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3656 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3950 -msgid "unknown" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3813 -msgid "Global check" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3969 -msgid "Outdated" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:3978 -msgid "Latest" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js:4389 -msgid "Operation timed out" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:26 -msgid "Podkop Settings" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:27 -msgid "Configuration for Podkop service" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:36 -msgid "Sections" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:49 -msgid "Settings" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:65 -msgid "Diagnostics" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:80 -msgid "Dashboard" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:12 -msgid "Connection Type" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:13 -msgid "Select between VPN and Proxy connection methods for traffic routing" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:22 -msgid "Configuration Type" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:23 -msgid "Select how to configure the proxy" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:25 -msgid "Connection URL" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:26 -msgid "Outbound Config" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:27 -msgid "URLTest" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:34 -msgid "Proxy Configuration URL" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:64 -msgid "Outbound Configuration" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:65 -msgid "Enter complete outbound configuration in JSON format" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:87 -msgid "URLTest Proxy Links" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:110 -msgid "UDP over TCP" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:111 -msgid "Applicable for SOCKS and Shadowsocks proxy" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:120 -msgid "Network Interface" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:121 -msgid "Select network interface for VPN connection" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:166 -msgid "Domain Resolver" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:167 -msgid "Enable built-in DNS resolver for domains handled by this section" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:176 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:12 -msgid "DNS Protocol Type" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:177 -msgid "Select the DNS protocol type for the domain resolver" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:179 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:15 -msgid "DNS over HTTPS (DoH)" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:180 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:16 -msgid "DNS over TLS (DoT)" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:181 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:17 -msgid "UDP (Unprotected DNS)" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:189 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:24 -msgid "DNS Server" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:190 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:25 -msgid "Select or enter DNS server address" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:193 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:217 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:28 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:51 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:254 -msgid "" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:211 -msgid "Community Lists" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:212 -msgid "Select a predefined list for routing" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:245 -msgid "Regional options cannot be used together" -msgstr "" - #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:247 msgid "Warning: %s cannot be used together with %s. Previous selections have been removed." msgstr "" -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:264 -msgid "Russia inside restrictions" -msgstr "" - #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:266 msgid "Warning: Russia inside can only be used with %s. %s already in Russia inside and have been removed from selection." msgstr "" -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:299 -msgid "User Domain List Type" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:300 -msgid "Select the list type for adding custom domains" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:302 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:382 -msgid "Disabled" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:303 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:383 -msgid "Dynamic List" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:304 -msgid "Text List" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:311 -msgid "User Domains" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:312 -msgid "Enter domain names without protocols, e.g. example.com or sub.example.com" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:337 -msgid "User Domains List" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:338 -msgid "Enter domain names separated by commas, spaces, or newlines. You can add comments using //" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:356 -msgid "At least one valid domain must be specified. Comments-only content is not allowed." -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:370 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:449 -msgid "Validation errors:" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:379 -msgid "User Subnet List Type" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:380 -msgid "Select the list type for adding custom subnets" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:384 -msgid "Text List (comma/space/newline separated)" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:391 -msgid "User Subnets" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:392 -msgid "Enter subnets in CIDR notation (e.g. 103.21.244.0/22) or single IP addresses" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:417 -msgid "User Subnets List" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:418 -msgid "Enter subnets in CIDR notation or single IP addresses, separated by commas, spaces, or newlines. \" + \"You can add comments using //" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:437 -msgid "At least one valid subnet or IP must be specified. Comments-only content is not allowed." -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:458 -msgid "Local Domain Lists" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:459 -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:482 -msgid "Specify the path to the list file located on the router filesystem" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:481 -msgid "Local Subnet Lists" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:504 -msgid "Remote Domain Lists" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:505 -msgid "Specify remote URLs to download and use domain lists" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:527 -msgid "Remote Subnet Lists" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:528 -msgid "Specify remote URLs to download and use subnet lists" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:550 -msgid "Fully Routed IPs" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:551 -msgid "Specify local IP addresses or subnets whose traffic will always be routed through the configured route" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:575 -msgid "Enable Mixed Proxy" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:576 -msgid "Enable the mixed proxy, allowing this section to route traffic through both HTTP and SOCKS proxies" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:586 -msgid "Mixed Proxy Port" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:587 -msgid "Specify the port number on which the mixed proxy will run for this section. \" + \"Make sure the selected port is not used by another service" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:13 -msgid "Select DNS protocol to use" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:45 -msgid "Bootstrap DNS server" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:46 -msgid "The DNS server used to look up the IP address of an upstream DNS server" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:68 -msgid "DNS Rewrite TTL" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:69 -msgid "Time in seconds for DNS record caching (default: 60)" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:75 -msgid "TTL value cannot be empty" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:80 -msgid "TTL must be a positive number" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:89 -msgid "Source Network Interface" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:90 -msgid "Select the network interface from which the traffic will originate" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:126 -msgid "Enable Output Network Interface" -msgstr "" - #: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:127 msgid "You can select Output Network Interface, by default autodetect" msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:135 -msgid "Output Network Interface" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:136 -msgid "Select the network interface to which the traffic will originate" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:182 -msgid "Interface Monitoring" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:183 -msgid "Interface monitoring for Bad WAN" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:191 -msgid "Monitored Interfaces" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:192 -msgid "Select the WAN interfaces to be monitored" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:214 -msgid "Interface Monitoring Delay" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:215 -msgid "Delay in milliseconds before reloading podkop after interface UP" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:222 -msgid "Delay value cannot be empty" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:230 -msgid "Enable YACD" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:239 -msgid "Disable QUIC" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:240 -msgid "Disable the QUIC protocol to improve compatibility or fix issues with video streaming" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:250 -msgid "List Update Frequency" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:251 -msgid "Select how often the domain or subnet lists are updated automatically" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:262 -msgid "Download Lists via Proxy/VPN" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:263 -msgid "Downloading all lists via main Proxy/VPN" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:271 -msgid "Download Lists via specific proxy section" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:272 -msgid "Downloading all lists via specific Proxy/VPN" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:300 -msgid "Dont Touch My DHCP!" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:301 -msgid "Podkop will not modify your DHCP configuration" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:309 -msgid "Config File Path" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:310 -msgid "Select path for sing-box config file. Change this ONLY if you know what you are doing" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:322 -msgid "Cache File Path" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:323 -msgid "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:336 -msgid "Cache file path cannot be empty" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:340 -msgid "Path must be absolute (start with /)" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:344 -msgid "Path must end with cache.db" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:349 -msgid "Path must contain at least one directory (like /tmp/cache.db)" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:358 -msgid "Exclude NTP" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:359 -msgid "Exclude NTP protocol traffic from the tunnel to prevent it from being routed through the proxy or VPN" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:369 -msgid "Routing Excluded IPs" -msgstr "" - -#: ../luci-app-podkop/htdocs/luci-static/resources/view/podkop/settings.js:370 -msgid "Specify a local IP address to be excluded from routing" -msgstr ""