test(i18n,sub): clear the three standing vitest reds (item 10)
- i18n dead keys: drop 13 keys with no reference left (pages.xray.routeTester*
from the P9 feature removal, tgbot.online superseded by tgbot.messages.online,
tgbot.commands.restartSuccess/restartFailed from the rewritten restart handler)
- i18n key sets: add the P9 forwarding block (20 keys) to the 11 locales that
missed it, as English placeholders per repo convention; all 13 locales now
carry identical key sets
- subscription port test: the case predated P7 — clearing the port field is the
explicit subPort 0 (no port in generated links) opt-in via onNumber onClear,
so assert updateSetting is called with { subPort: 0 } instead of never called
No component code, UI behavior, or styles touched.
This commit is contained in:
@@ -282,6 +282,28 @@
|
||||
"streamTab": "Transmisión",
|
||||
"securityTab": "Seguridad",
|
||||
"sniffingTab": "Inspección",
|
||||
"forwardingTab": "Forwarding",
|
||||
"forwarding": {
|
||||
"mode": "Forwarding",
|
||||
"direct": "Direct",
|
||||
"forward": "Forward (entry → exit)",
|
||||
"landing": "Landing",
|
||||
"managed": "Managed landing",
|
||||
"manual": "Manual endpoint",
|
||||
"target": "Landing inbound",
|
||||
"targetPlaceholder": "Pick a SOCKS (mixed) inbound",
|
||||
"targetDisabled": "disabled",
|
||||
"address": "Landing address",
|
||||
"port": "Exit port",
|
||||
"protocol": "Entry → exit protocol",
|
||||
"username": "SOCKS5 username",
|
||||
"password": "Landing password",
|
||||
"importLink": "Import from link",
|
||||
"importPlaceholder": "socks5://user:pass@host:port",
|
||||
"importApply": "Import",
|
||||
"importFailed": "Could not parse that link",
|
||||
"help": "Applies when this inbound is deployed to an agent node: on every config pull the panel compiles this forwarding into a dedicated outbound plus a routing rule for that agent. A managed landing's address and credentials are resolved from the chosen inbound at build time."
|
||||
},
|
||||
"sniffingMetadataOnly": "Solo metadatos",
|
||||
"sniffingRouteOnly": "Solo enrutamiento",
|
||||
"sniffingIpsExcluded": "IPs excluidas",
|
||||
@@ -1243,16 +1265,6 @@
|
||||
"Balancers": "Equilibradores",
|
||||
"balancerTagRequired": "La etiqueta es obligatoria",
|
||||
"balancerSelectorRequired": "Elige al menos una salida",
|
||||
"routeTester": "Prueba de ruta",
|
||||
"routeTesterDesc": "Pregunta al Xray en ejecución qué salida gestionaría una conexión. No se envía tráfico real — la decisión viene directamente del motor de enrutamiento en vivo.",
|
||||
"routeTesterDest": "Dominio o IP",
|
||||
"routeTesterPort": "Puerto",
|
||||
"routeTesterInbound": "Entrante",
|
||||
"routeTesterProtocol": "Protocolo detectado",
|
||||
"routeTesterTest": "Probar ruta",
|
||||
"routeTesterMatchedOutbound": "Salida coincidente",
|
||||
"routeTesterViaBalancer": "vía balanceador",
|
||||
"routeTesterDefaultOutbound": "Ninguna regla de enrutamiento coincidió — el tráfico va a la salida predeterminada (primera).",
|
||||
"Routings": "Reglas de enrutamiento",
|
||||
"logLevel": "Nivel de registro",
|
||||
"logLevelDesc": "El nivel de registro para registros de errores, que indica la información que debe registrarse.",
|
||||
@@ -1717,7 +1729,6 @@
|
||||
"inbounds": "Entradas",
|
||||
"clients": "Clientes",
|
||||
"offline": "🔴 Sin conexión",
|
||||
"online": "🟢 En línea",
|
||||
"commands": {
|
||||
"unknown": "❗ Comando desconocido",
|
||||
"pleaseChoose": "👇 Por favor elige:\r\n",
|
||||
@@ -1730,8 +1741,6 @@
|
||||
"helpAdminCommands": "Para reiniciar Xray Core:\r\n<code>/restart</code>\r\n\r\nPara buscar un correo electrónico de cliente:\r\n<code>/usage [Correo electrónico]</code>\r\n\r\nPara buscar entradas (con estadísticas de cliente):\r\n<code>/inbound [Observación]</code>\r\n\r\nID de Chat de Telegram:\r\n<code>/id</code>",
|
||||
"helpClientCommands": "Para buscar estadísticas, utiliza el siguiente comando:\r\n<code>/usage [Correo electrónico]</code>\r\n\r\nID de Chat de Telegram:\r\n<code>/id</code>",
|
||||
"restartUsage": "\r\n\r\n<code>/restart</code>",
|
||||
"restartSuccess": "✅ ¡Operación exitosa!",
|
||||
"restartFailed": "❗ Error en la operación.\r\n\r\n<code>Error: {{ .Error }}</code>.",
|
||||
"xrayNotRunning": "❗ Xray Core no está en ejecución.",
|
||||
"startDesc": "Mostrar el menú principal",
|
||||
"helpDesc": "Ayuda del bot",
|
||||
|
||||
Reference in New Issue
Block a user