merge fix/vitest-reds: clear standing i18n/sub-port vitest reds (item 10)
# Conflicts: # internal/web/translation/ar-EG.json # internal/web/translation/en-US.json # internal/web/translation/es-ES.json # internal/web/translation/fa-IR.json # internal/web/translation/id-ID.json # internal/web/translation/ja-JP.json # internal/web/translation/pt-BR.json # internal/web/translation/ru-RU.json # internal/web/translation/tr-TR.json # internal/web/translation/uk-UA.json # internal/web/translation/vi-VN.json # internal/web/translation/zh-CN.json # internal/web/translation/zh-TW.json
This commit is contained in:
@@ -7,7 +7,12 @@ import SubscriptionGeneralTab from '@/pages/settings/SubscriptionGeneralTab';
|
||||
import { renderWithProviders } from './test-utils';
|
||||
|
||||
describe('SubscriptionGeneralTab', () => {
|
||||
it('keeps the stored subscription port when the field is cleared', () => {
|
||||
// P7 made the subscription port optional: clearing the field applies
|
||||
// subPort 0, the explicit "no port in generated links" setting (the sub
|
||||
// server keeps binding the default port). This field opts out of the
|
||||
// shared keep-stored-value-on-clear semantic via onNumber's onClear —
|
||||
// see utils/onNumber.ts and SettingService.BuildSubURIBase.
|
||||
it('applies subPort 0 (no port in generated links) when the field is cleared', () => {
|
||||
const updateSetting = vi.fn();
|
||||
|
||||
renderWithProviders(
|
||||
@@ -23,8 +28,7 @@ describe('SubscriptionGeneralTab', () => {
|
||||
fireEvent.change(portInput, { target: { value: '' } });
|
||||
fireEvent.blur(portInput);
|
||||
|
||||
expect(updateSetting).not.toHaveBeenCalled();
|
||||
expect((portInput as HTMLInputElement).value).toBe('2096');
|
||||
expect(updateSetting).toHaveBeenCalledWith({ subPort: 0 });
|
||||
});
|
||||
|
||||
it('forwards typed subscription ports unchanged', () => {
|
||||
|
||||
@@ -276,6 +276,28 @@
|
||||
"streamTab": "تدفق",
|
||||
"securityTab": "الأمان",
|
||||
"sniffingTab": "تنصت",
|
||||
"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": "البيانات الوصفية فقط",
|
||||
"sniffingRouteOnly": "التوجيه فقط",
|
||||
"sniffingIpsExcluded": "IP المستثناة",
|
||||
@@ -1454,7 +1476,6 @@
|
||||
"inbounds": "الواردات",
|
||||
"clients": "العملاء",
|
||||
"offline": "🔴 غير متصل",
|
||||
"online": "🟢 متصل",
|
||||
"commands": {
|
||||
"unknown": "❗ أمر مش معروف.",
|
||||
"pleaseChoose": "👇 من فضلك اختار:\r\n",
|
||||
@@ -1467,8 +1488,6 @@
|
||||
"helpAdminCommands": "عشان تعيد تشغيل Xray Core:\r\n<code>/restart</code>\r\n\r\nعشان تدور على إيميل عميل:\r\n<code>/usage [Email]</code>\r\n\r\nعشان تدور على إدخالات (مع إحصائيات العملاء):\r\n<code>/inbound [Remark]</code>\r\n\r\nID شات Telegram:\r\n<code>/id</code>",
|
||||
"helpClientCommands": "عشان تدور على الإحصائيات، استخدم الأمر ده:\r\n\r\n<code>/usage [Email]</code>\r\n\r\nID شات Telegram:\r\n<code>/id</code>",
|
||||
"restartUsage": "\r\n\r\n<code>/restart</code>",
|
||||
"restartSuccess": "✅ العملية نجحت!",
|
||||
"restartFailed": "❗ حصل خطأ في العملية.\r\n\r\n<code>Error: {{ .Error }}</code>.",
|
||||
"xrayNotRunning": "❗ Xray Core مش شغال.",
|
||||
"startDesc": "عرض القائمة الرئيسية",
|
||||
"helpDesc": "مساعدة البوت",
|
||||
|
||||
@@ -1476,7 +1476,6 @@
|
||||
"inbounds": "Inbounds",
|
||||
"clients": "Clients",
|
||||
"offline": "🔴 Offline",
|
||||
"online": "🟢 Online",
|
||||
"commands": {
|
||||
"unknown": "❗ Unknown command.",
|
||||
"pleaseChoose": "👇 Please choose:\r\n",
|
||||
@@ -1489,8 +1488,6 @@
|
||||
"helpAdminCommands": "To restart Xray Core:\r\n<code>/restart</code>\r\n\r\nTo search for a client email:\r\n<code>/usage [Email]</code>\r\n\r\nTo search for inbounds (with client stats):\r\n<code>/inbound [Remark]</code>\r\n\r\nTelegram Chat ID:\r\n<code>/id</code>",
|
||||
"helpClientCommands": "To search for statistics, use the following command:\r\n\r\n<code>/usage [Email]</code>\r\n\r\nTelegram Chat ID:\r\n<code>/id</code>",
|
||||
"restartUsage": "\r\n\r\n<code>/restart</code>",
|
||||
"restartSuccess": "✅ Operation successful!",
|
||||
"restartFailed": "❗ Error in operation.\r\n\r\n<code>Error: {{ .Error }}</code>.",
|
||||
"xrayNotRunning": "❗ Xray Core is not running.",
|
||||
"startDesc": "Show the main menu",
|
||||
"helpDesc": "Bot help",
|
||||
|
||||
@@ -276,6 +276,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",
|
||||
@@ -1454,7 +1476,6 @@
|
||||
"inbounds": "Entradas",
|
||||
"clients": "Clientes",
|
||||
"offline": "🔴 Sin conexión",
|
||||
"online": "🟢 En línea",
|
||||
"commands": {
|
||||
"unknown": "❗ Comando desconocido",
|
||||
"pleaseChoose": "👇 Por favor elige:\r\n",
|
||||
@@ -1467,8 +1488,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",
|
||||
|
||||
@@ -276,6 +276,28 @@
|
||||
"streamTab": "انتقال",
|
||||
"securityTab": "امنیت",
|
||||
"sniffingTab": "شنود",
|
||||
"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": "فقط متادیتا",
|
||||
"sniffingRouteOnly": "فقط مسیریابی",
|
||||
"sniffingIpsExcluded": "IPهای مستثنا",
|
||||
@@ -1454,7 +1476,6 @@
|
||||
"inbounds": "ورودیها",
|
||||
"clients": "کاربران",
|
||||
"offline": "🔴 آفلاین",
|
||||
"online": "🟢 آنلاین",
|
||||
"commands": {
|
||||
"unknown": "❗ دستور ناشناخته",
|
||||
"pleaseChoose": "👇 لطفاً انتخاب کنید:\r\n",
|
||||
@@ -1467,8 +1488,6 @@
|
||||
"helpAdminCommands": "برای راهاندازی مجدد Xray Core:\r\n<code>/restart</code>\r\n\r\nبرای جستجوی ایمیل مشتری:\r\n<code>/usage [ایمیل]</code>\r\n\r\nبرای جستجوی ورودیها (با آمار مشتری):\r\n<code>/inbound [توضیحات]</code>\r\n\r\nشناسه گفتگوی تلگرام:\r\n<code>/id</code>",
|
||||
"helpClientCommands": "برای جستجوی آمار، از دستور زیر استفاده کنید:\r\n<code>/usage [ایمیل]</code>\r\n\r\nشناسه گفتگوی تلگرام:\r\n<code>/id</code>",
|
||||
"restartUsage": "\r\n\r\n<code>/restart</code>",
|
||||
"restartSuccess": "✅ عملیات با موفقیت انجام شد!",
|
||||
"restartFailed": "❗ خطا در عملیات.\r\n\r\n<code>خطا: {{ .Error }}</code>.",
|
||||
"xrayNotRunning": "❗ Xray Core در حال اجرا نیست.",
|
||||
"startDesc": "نمایش منوی اصلی",
|
||||
"helpDesc": "راهنمای ربات",
|
||||
|
||||
@@ -276,6 +276,28 @@
|
||||
"streamTab": "Aliran",
|
||||
"securityTab": "Keamanan",
|
||||
"sniffingTab": "Sniffing",
|
||||
"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": "Hanya metadata",
|
||||
"sniffingRouteOnly": "Hanya routing",
|
||||
"sniffingIpsExcluded": "IP yang dikecualikan",
|
||||
@@ -1454,7 +1476,6 @@
|
||||
"inbounds": "Inbound",
|
||||
"clients": "Klien",
|
||||
"offline": "🔴 Offline",
|
||||
"online": "🟢 Online",
|
||||
"commands": {
|
||||
"unknown": "❗ Perintah tidak dikenal.",
|
||||
"pleaseChoose": "👇 Harap pilih:\r\n",
|
||||
@@ -1467,8 +1488,6 @@
|
||||
"helpAdminCommands": "Untuk memulai ulang Xray Core:\r\n<code>/restart</code>\r\n\r\nUntuk mencari email klien:\r\n<code>/usage [Email]</code>\r\n\r\nUntuk mencari inbound (dengan statistik klien):\r\n<code>/inbound [Catatan]</code>\r\n\r\nID Obrolan Telegram:\r\n<code>/id</code>",
|
||||
"helpClientCommands": "Untuk mencari statistik, gunakan perintah berikut:\r\n<code>/usage [Email]</code>\r\n\r\nID Obrolan Telegram:\r\n<code>/id</code>",
|
||||
"restartUsage": "\r\n\r\n<code>/restart</code>",
|
||||
"restartSuccess": "✅ Operasi berhasil!",
|
||||
"restartFailed": "❗ Kesalahan dalam operasi.\r\n\r\n<code>Error: {{ .Error }}</code>.",
|
||||
"xrayNotRunning": "❗ Xray Core tidak berjalan.",
|
||||
"startDesc": "Tampilkan menu utama",
|
||||
"helpDesc": "Bantuan bot",
|
||||
|
||||
@@ -276,6 +276,28 @@
|
||||
"streamTab": "ストリーム",
|
||||
"securityTab": "セキュリティ",
|
||||
"sniffingTab": "スニッフィング",
|
||||
"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": "メタデータのみ",
|
||||
"sniffingRouteOnly": "ルーティングのみ",
|
||||
"sniffingIpsExcluded": "除外する IP",
|
||||
@@ -1454,7 +1476,6 @@
|
||||
"inbounds": "インバウンド",
|
||||
"clients": "クライアント",
|
||||
"offline": "🔴 オフライン",
|
||||
"online": "🟢 オンライン",
|
||||
"commands": {
|
||||
"unknown": "❗ 不明なコマンド",
|
||||
"pleaseChoose": "👇 選択してください:\r\n",
|
||||
@@ -1467,8 +1488,6 @@
|
||||
"helpAdminCommands": "Xray Coreを再起動するには:\r\n<code>/restart</code>\r\n\r\nクライアントの電子メールを検索するには:\r\n<code>/usage [電子メール]</code>\r\n\r\nインバウンド(クライアントの統計情報を含む)を検索するには:\r\n<code>/inbound [備考]</code>\r\n\r\nTelegramチャットID:\r\n<code>/id</code>",
|
||||
"helpClientCommands": "統計情報を検索するには、次のコマンドを使用してください:\r\n<code>/usage [電子メール]</code>\r\n\r\nTelegramチャットID:\r\n<code>/id</code>",
|
||||
"restartUsage": "\r\n\r\n<code>/restart</code>",
|
||||
"restartSuccess": "✅ 操作成功!",
|
||||
"restartFailed": "❗ 操作エラー。\r\n\r\n<code>エラー: {{ .Error }}</code>",
|
||||
"xrayNotRunning": "❗ Xray Core は動作していません。",
|
||||
"startDesc": "メインメニューを表示",
|
||||
"helpDesc": "ボットのヘルプ",
|
||||
|
||||
@@ -276,6 +276,28 @@
|
||||
"streamTab": "Transmissão",
|
||||
"securityTab": "Segurança",
|
||||
"sniffingTab": "Inspeção",
|
||||
"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": "Apenas metadados",
|
||||
"sniffingRouteOnly": "Apenas roteamento",
|
||||
"sniffingIpsExcluded": "IPs excluídos",
|
||||
@@ -1454,7 +1476,6 @@
|
||||
"inbounds": "Entradas",
|
||||
"clients": "Clientes",
|
||||
"offline": "🔴 Offline",
|
||||
"online": "🟢 Online",
|
||||
"commands": {
|
||||
"unknown": "❗ Comando desconhecido.",
|
||||
"pleaseChoose": "👇 Escolha:\r\n",
|
||||
@@ -1467,8 +1488,6 @@
|
||||
"helpAdminCommands": "Para reiniciar o Xray Core:\r\n<code>/restart</code>\r\n\r\nPara pesquisar por um email de cliente:\r\n<code>/usage [Email]</code>\r\n\r\nPara pesquisar por inbounds (com estatísticas do cliente):\r\n<code>/inbound [Remark]</code>\r\n\r\nTelegram Chat ID:\r\n<code>/id</code>",
|
||||
"helpClientCommands": "Para pesquisar por estatísticas, use o seguinte comando:\r\n\r\n<code>/usage [Email]</code>\r\n\r\nTelegram Chat ID:\r\n<code>/id</code>",
|
||||
"restartUsage": "\r\n\r\n<code>/restart</code>",
|
||||
"restartSuccess": "✅ Operação bem-sucedida!",
|
||||
"restartFailed": "❗ Erro na operação.\r\n\r\n<code>Erro: {{ .Error }}</code>.",
|
||||
"xrayNotRunning": "❗ Xray Core não está em execução.",
|
||||
"startDesc": "Mostrar menu principal",
|
||||
"helpDesc": "Ajuda do bot",
|
||||
|
||||
@@ -276,6 +276,28 @@
|
||||
"streamTab": "Поток",
|
||||
"securityTab": "Безопасность",
|
||||
"sniffingTab": "Сниффинг",
|
||||
"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": "Только метаданные",
|
||||
"sniffingRouteOnly": "Только маршрутизация",
|
||||
"sniffingIpsExcluded": "Исключённые IP",
|
||||
@@ -1454,7 +1476,6 @@
|
||||
"inbounds": "Входящие",
|
||||
"clients": "Клиенты",
|
||||
"offline": "🔴 Не в сети",
|
||||
"online": "🟢 В сети",
|
||||
"commands": {
|
||||
"unknown": "❗ Неизвестная команда",
|
||||
"pleaseChoose": "👇 Пожалуйста, выберите:\r\n",
|
||||
@@ -1467,8 +1488,6 @@
|
||||
"helpAdminCommands": "🔃 Для перезапуска Xray Core:\r\n<code>/restart</code>\r\n\r\n🔎 Для поиска клиента по email:\r\n<code>/usage [Email]</code>\r\n\r\n📊 Для поиска входящих подключений (со статистикой клиентов):\r\n<code>/inbound [имя подключения]</code>\r\n\r\n🆔 Ваш Telegram User ID:\r\n<code>/id</code>",
|
||||
"helpClientCommands": "💲 Для просмотра информации о вашей подписке используйте команду:\r\n<code>/usage [Email]</code>\r\n\r\n🆔 Ваш Telegram User ID:\r\n<code>/id</code>",
|
||||
"restartUsage": "\r\n\r\n<code>/restart</code>",
|
||||
"restartSuccess": "✅ Ядро Xray успешно перезапущено.",
|
||||
"restartFailed": "❗ Ошибка при перезапуске Xray-core.\r\n\r\n<code>Ошибка: {{ .Error }}</code>.",
|
||||
"xrayNotRunning": "❗ Xray Core не запущен.",
|
||||
"startDesc": "Показать главное меню",
|
||||
"helpDesc": "Справка по боту",
|
||||
|
||||
@@ -276,6 +276,28 @@
|
||||
"streamTab": "Akış (Stream)",
|
||||
"securityTab": "Güvenlik",
|
||||
"sniffingTab": "Dinleme (Sniffing)",
|
||||
"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": "Yalnızca üst veri",
|
||||
"sniffingRouteOnly": "Yalnızca yönlendirme",
|
||||
"sniffingIpsExcluded": "Hariç tutulan IP'ler",
|
||||
@@ -1454,7 +1476,6 @@
|
||||
"inbounds": "Gelen Bağlantılar",
|
||||
"clients": "Kullanıcılar",
|
||||
"offline": "🔴 Çevrimdışı",
|
||||
"online": "🟢 Çevrimiçi",
|
||||
"commands": {
|
||||
"unknown": "❗ Bilinmeyen komut.",
|
||||
"pleaseChoose": "👇 Lütfen seçin:\r\n",
|
||||
@@ -1467,8 +1488,6 @@
|
||||
"helpAdminCommands": "Xray Core'u yeniden başlatmak için:\r\n<code>/restart</code>\r\n\r\nBir kullanıcının istatistiklerini aramak için:\r\n<code>/usage [E-posta]</code>\r\n\r\nGelen bağlantılarnı aramak için (kullanıcı istatistikleri ile):\r\n<code>/inbound [Açıklama]</code>\r\n\r\nTelegram Sohbet Kimliği (Chat ID):\r\n<code>/id</code>",
|
||||
"helpClientCommands": "İstatistiklerinizi görmek için şu komutu kullanın:\r\n\r\n<code>/usage [E-posta]</code>\r\n\r\nTelegram Sohbet Kimliği:\r\n<code>/id</code>",
|
||||
"restartUsage": "<code>/restart</code>",
|
||||
"restartSuccess": "✅ İşlem başarılı!",
|
||||
"restartFailed": "❗ İşlem hatası.\r\n\r\n<code>Hata: {{ .Error }}</code>.",
|
||||
"xrayNotRunning": "❗ Xray Core çalışmıyor.",
|
||||
"startDesc": "Ana menüyü göster",
|
||||
"helpDesc": "Bot yardımı",
|
||||
|
||||
@@ -276,6 +276,28 @@
|
||||
"streamTab": "Потік",
|
||||
"securityTab": "Безпека",
|
||||
"sniffingTab": "Сніфінг",
|
||||
"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": "Лише метадані",
|
||||
"sniffingRouteOnly": "Лише маршрутизація",
|
||||
"sniffingIpsExcluded": "Виключені IP",
|
||||
@@ -1454,7 +1476,6 @@
|
||||
"inbounds": "Вхідні",
|
||||
"clients": "Клієнти",
|
||||
"offline": "🔴 Не в мережі",
|
||||
"online": "🟢 У мережі",
|
||||
"commands": {
|
||||
"unknown": "❗ Невідома команда.",
|
||||
"pleaseChoose": "👇 Будь ласка, виберіть:\r\n",
|
||||
@@ -1467,8 +1488,6 @@
|
||||
"helpAdminCommands": "Для перезапуску Xray Core:\r\n<code>/restart</code>\r\n\r\nДля пошуку електронної пошти клієнта:\r\n<code>/usage [Електронна пошта]</code>\r\n\r\nДля пошуку вхідних (зі статистикою клієнта):\r\n<code>/inbound [Примітка]</code>\r\n\r\nID чату Telegram:\r\n<code>/id</code>",
|
||||
"helpClientCommands": "Для пошуку статистики використовуйте наступну команду:\r\n<code>/usage [Електронна пошта]</code>\r\n\r\nID чату Telegram:\r\n<code>/id</code>",
|
||||
"restartUsage": "\r\n\r\n<code>/restart</code>",
|
||||
"restartSuccess": "✅ Операція успішна!",
|
||||
"restartFailed": "❗ Помилка в операції.\r\n\r\n<code>Помилка: {{ .Error }}</code>.",
|
||||
"xrayNotRunning": "❗ Xray Core не запущений.",
|
||||
"startDesc": "Показати головне меню",
|
||||
"helpDesc": "Довідка по боту",
|
||||
|
||||
@@ -276,6 +276,28 @@
|
||||
"streamTab": "Luồng",
|
||||
"securityTab": "Bảo mật",
|
||||
"sniffingTab": "Dò gói",
|
||||
"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": "Chỉ siêu dữ liệu",
|
||||
"sniffingRouteOnly": "Chỉ định tuyến",
|
||||
"sniffingIpsExcluded": "IP bị loại trừ",
|
||||
@@ -1454,7 +1476,6 @@
|
||||
"inbounds": "Inbound",
|
||||
"clients": "Client",
|
||||
"offline": "🔴 Ngoại tuyến",
|
||||
"online": "🟢 Trực tuyến",
|
||||
"commands": {
|
||||
"unknown": "❗ Lệnh không rõ",
|
||||
"pleaseChoose": "👇 Vui lòng chọn:\r\n",
|
||||
@@ -1467,8 +1488,6 @@
|
||||
"helpAdminCommands": "Để khởi động lại Xray Core:\r\n<code>/restart</code>\r\n\r\nĐể tìm kiếm email của khách hàng:\r\n<code>/usage [Email]</code>\r\n\r\nĐể tìm kiếm các nhập (với số liệu thống kê của khách hàng):\r\n<code>/inbound [Ghi chú]</code>\r\n\r\nID Trò chuyện Telegram:\r\n<code>/id</code>",
|
||||
"helpClientCommands": "Để tìm kiếm thống kê, sử dụng lệnh sau:\r\n<code>/usage [Email]</code>\r\n\r\nID Trò chuyện Telegram:\r\n<code>/id</code>",
|
||||
"restartUsage": "\r\n\r\n<code>/restart</code>",
|
||||
"restartSuccess": "✅ Hoạt động thành công!",
|
||||
"restartFailed": "❗ Lỗi trong quá trình hoạt động.\r\n\r\n<code>Lỗi: {{ .Error }}</code>.",
|
||||
"xrayNotRunning": "❗ Xray Core không chạy.",
|
||||
"startDesc": "Hiển thị menu chính",
|
||||
"helpDesc": "Trợ giúp bot",
|
||||
|
||||
@@ -1476,7 +1476,6 @@
|
||||
"inbounds": "入站",
|
||||
"clients": "客户端",
|
||||
"offline": "🔴 离线",
|
||||
"online": "🟢 在线",
|
||||
"commands": {
|
||||
"unknown": "❗ 未知命令",
|
||||
"pleaseChoose": "👇 请选择:\r\n",
|
||||
@@ -1489,8 +1488,6 @@
|
||||
"helpAdminCommands": "要重新启动 Xray Core:\r\n<code>/restart</code>\r\n\r\n要搜索客户电子邮件:\r\n<code>/usage [电子邮件]</code>\r\n\r\n要搜索入站(带有客户统计数据):\r\n<code>/inbound [备注]</code>\r\n\r\nTelegram 聊天 ID:\r\n<code>/id</code>",
|
||||
"helpClientCommands": "要搜索统计数据,请使用以下命令:\r\n<code>/usage [电子邮件]</code>\r\n\r\nTelegram 聊天 ID:\r\n<code>/id</code>",
|
||||
"restartUsage": "\r\n\r\n<code>/restart</code>",
|
||||
"restartSuccess": "✅ 操作成功!",
|
||||
"restartFailed": "❗ 操作错误。\r\n\r\n<code>错误: {{ .Error }}</code>.",
|
||||
"xrayNotRunning": "❗ Xray Core 未运行。",
|
||||
"startDesc": "显示主菜单",
|
||||
"helpDesc": "机器人帮助",
|
||||
|
||||
@@ -276,6 +276,28 @@
|
||||
"streamTab": "傳輸",
|
||||
"securityTab": "安全",
|
||||
"sniffingTab": "嗅探",
|
||||
"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": "僅中繼資料",
|
||||
"sniffingRouteOnly": "僅路由",
|
||||
"sniffingIpsExcluded": "排除的 IP",
|
||||
@@ -1454,7 +1476,6 @@
|
||||
"inbounds": "入站",
|
||||
"clients": "客戶端",
|
||||
"offline": "🔴 離線",
|
||||
"online": "🟢 上線",
|
||||
"commands": {
|
||||
"unknown": "❗ 未知命令",
|
||||
"pleaseChoose": "👇 請選擇:\r\n",
|
||||
@@ -1467,8 +1488,6 @@
|
||||
"helpAdminCommands": "要重新啟動 Xray Core:\r\n<code>/restart</code>\r\n\r\n要搜尋客戶電子郵件:\r\n<code>/usage [電子郵件]</code>\r\n\r\n要搜尋入站(帶有客戶統計資料):\r\n<code>/inbound [備註]</code>\r\n\r\nTelegram 聊天 ID:\r\n<code>/id</code>",
|
||||
"helpClientCommands": "要搜尋統計資料,請使用以下命令:\r\n<code>/usage [電子郵件]</code>\r\n\r\nTelegram 聊天 ID:\r\n<code>/id</code>",
|
||||
"restartUsage": "\r\n\r\n<code>/restart</code>",
|
||||
"restartSuccess": "✅ 操作成功!",
|
||||
"restartFailed": "❗ 操作錯誤。\r\n\r\n<code>錯誤: {{ .Error }}</code>.",
|
||||
"xrayNotRunning": "❗ Xray Core 未運行。",
|
||||
"startDesc": "顯示主選單",
|
||||
"helpDesc": "機器人幫助",
|
||||
|
||||
Reference in New Issue
Block a user