feat(tgbot): rebuild the Telegram bot around editable screens and inline lists (#6760)

The bot answered every action with a new message, so a chat filled with stale
menus whose buttons still acted, and long client or inbound lists were paged
through dozens of buttons. Each chat now has one live screen that is edited in
place: the menu is grouped into Server, Clients, Traffic and Maintenance, lists
open through inline search, the add-client flow starts from a draft card, QR
codes arrive as one labelled sheet, and repeated notices collapse into one with
a counter. A client's /start and /usage show only that client's own links and
usage, groups are refused, and the settings page warns when the bot's inline
mode is off. Admin topics, the indexed Telegram lookup and every locale,
Slovak included, carry over.
This commit is contained in:
DIMFLIX
2026-10-24 13:39:56 +03:00
committed by GitHub
parent bc1b750e00
commit 15fee2a035
62 changed files with 7449 additions and 1945 deletions
+82 -31
View File
@@ -85,7 +85,6 @@
"uploaded": "الرفع",
"expiry": "تاريخ الانتهاء",
"totalQuota": "الحصة الإجمالية",
"individualLinks": "روابط فردية",
"active": "نشط",
"inactive": "غير نشط",
"unlimited": "غير محدود",
@@ -1830,6 +1829,11 @@
"subIncyResolveDnsIp": "IP سيرفر DoH",
"subIncyResolveDnsIpDesc": "عنوان IP لسيرفر DoH للتهيئة.",
"subIncyGroupRouting": "التوجيه",
"tgInlineMissing": "Inline mode is disabled",
"tgInlineMissingDesc": "Lists in the bot open through inline search. Enable it in @BotFather with /setinline, otherwise tapping a search button does nothing.",
"tgInlineRecheck": "Check again",
"tgPrivacyOn": "خصوصية المجموعات مُفعّلة",
"tgPrivacyOnDesc": "هذا البوت يرد في المحادثة الخاصة فقط، لذا يتجاهل المجموعات عن قصد. خصوصية المجموعات تحدد فقط ما إذا كان البوت يستطيع قراءة رسائل المجموعة، وهو لا يستخدم ذلك.",
"subHostSortMode": "ترتيب عقد الاشتراك",
"subHostSortInbound": "ترتيب الاتصالات الواردة (الافتراضي)",
"subHostSortHosts": "ترتيب المضيفين",
@@ -2486,7 +2490,6 @@
}
},
"tgbot": {
"keyboardClosed": "❌ لوحة المفاتيح مغلقة!",
"noResult": "❗ لا يوجد نتائج!",
"noQuery": "❌ لم يتم العثور على الاستعلام! يرجى استخدام الأمر مرة أخرى!",
"wentWrong": "❌ حدث خطأ ما!",
@@ -2508,10 +2511,6 @@
"unknown": "❗ أمر مش معروف.",
"pleaseChoose": "👇 من فضلك اختار:\r\n",
"help": "🤖 أهلا بيك في البوت! البوت ده معمول عشان يديك بيانات معينة من البانل ويسمحلك بالتعديلات.",
"start": "👋 أهلا <i>{{ .Firstname }}</i>.\r\n",
"welcome": "🤖 أهلا بيك في بوت إدارة <b>{{ .Hostname }}</b>.\r\n",
"status": "✅ البوت شغال!",
"usage": "❗ من فضلك ادخل نص للتبحث عنه!",
"getID": "🆔 الـ ID بتاعك: <code>{{ .ID }}</code>",
"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>",
@@ -2520,14 +2519,7 @@
"restartFailed": "❗ حصل خطأ في العملية.\r\n\r\n<code>Error: {{ .Error }}</code>.",
"xrayNotRunning": "❗ Xray Core مش شغال.",
"startDesc": "عرض القائمة الرئيسية",
"helpDesc": "مساعدة البوت",
"statusDesc": "التحقق من حالة البوت",
"idDesc": "عرض معرف Telegram الخاص بك",
"usageDesc": "عرض استهلاك العميل: /usage البريد",
"inboundDesc": "البحث في الواردات: /inbound الاسم (مشرف)",
"restartDesc": "إعادة تشغيل نواة Xray (مشرف)",
"broadcastDesc": "إرسال رسالة لجميع العملاء (مسؤول)",
"clearallDesc": "تصفير استهلاك جميع العملاء (مشرف)"
"statusOk": "✅ البوت يعمل!"
},
"messages": {
"cpuThreshold": "حمل المعالج {{ .Percent }}% عدى الحد المسموح ({{ .Threshold }}%)",
@@ -2571,7 +2563,6 @@
"inviteInvalid": "❗ رابط الدعوة هذا غير صالح أو تم استخدامه بالفعل.\r\n",
"inviteRateLimited": "⏳ محاولات دعوة كثيرة جدًا. يرجى المحاولة لاحقًا.\r\n",
"inviteRateLimitedAdmin": "⚠️ تم حظر محاولات الدعوة لـ {{ .User }} (<code>{{ .ID }}</code>): أكثر من {{ .Limit }} محاولات خلال ساعة. ربما يحاول أحدهم تخمين معرّفات الاشتراك.",
"inviteLink": "🔗 رابط الدعوة لـ <code>{{ .Email }}</code>:\r\n<code>{{ .Link }}</code>\r\n\r\nأول شخص يفتحه سيتم ربطه بهذا العميل.\r\n",
"exhaustedCount": "🚨 عدد النفاذ لـ {{ .Type }}:\r\n",
"onlinesCount": "🌐 العملاء الأونلاين: {{ .Count }}\r\n",
"disabled": "🛑 معطل: {{ .Disabled }}\r\n",
@@ -2580,13 +2571,11 @@
"refreshedOn": "\r\n📋🔄 اتحدّث في: {{ .Time }}\r\n\r\n",
"yes": "✅ أيوه",
"no": "❌ لا",
"received_email": "📧📥 الإيميل اتحدث.",
"received_comment": "💬📥 التعليق اتحدث.",
"email_prompt": "📧 الإيميل الافتراضي: {{ .ClientEmail }}\n\nادخل الإيميل بتاعك.",
"comment_prompt": "💬 التعليق الافتراضي: {{ .ClientComment }}\n\nادخل تعليقك.",
"tgid_prompt": "🆔 مستخدم TG الافتراضي: {{ .ClientTGID }}\n\nأرسل المعرّف الرقمي للمستخدم لربطه بهذا العميل، أو أرسل - / none لمسحه.",
"cancel": "❌ العملية اتلغت! \n\nممكن تبدأ من /start في أي وقت. 🔄",
"error_add_client": "⚠️ خطأ:\n\n {{ .error }}",
"using_default_value": "تمام، هشيل على القيمة الافتراضية. 😊",
"incorrect_input": "المدخلات مش صحيحة.\nالكلمات لازم تكون متصلة من غير فراغات.\nمثال صحيح: aaaaaa\nمثال غلط: aaa aaa 🚫",
"broadcastAskText": "📤 بث جماعي: أرسل لي الرسالة لتوصيلها إلى عملائك — نص أو صورة أو فيديو أو ملفًا أو ألبومًا كاملًا.",
"broadcastAlreadyRunning": "❗ هناك بث جارٍ بالفعل، انتظر حتى ينتهي.",
@@ -2610,7 +2599,23 @@
"eventNodeDown": "العقدة {{ .Name }} غير متصلة",
"eventNodeUp": "العقدة {{ .Name }} متصلة",
"eventLoginFallback": "فشل تسجيل الدخول من {{ .Source }}",
"memoryThreshold": "استخدام الذاكرة {{ .Percent }}% يتجاوز الحد {{ .Threshold }}%"
"memoryThreshold": "استخدام الذاكرة {{ .Percent }}% يتجاوز الحد {{ .Threshold }}%",
"inboundsCount": "🔌 Inbounds: {{ .Count }}\r\n",
"clientsCount": "👥 Clients: {{ .Count }}\r\n",
"category_server": "🖥 الخادم",
"category_clients": "👥 العملاء",
"category_traffic": "🚦 حركة المرور",
"category_maintenance": "⚙️ الصيانة",
"inlineHint": "\r\n🔍 The list opens through search: tap Find and start typing.",
"subURL": "🔗 Subscription: <code>{{ .URL }}</code>\r\n",
"jsonURL": "🧩 JSON: <code>{{ .URL }}</code>\r\n",
"inviteHint": "Send this link to the client: the first Telegram account to open it is bound to the client.",
"qrLegendHeader": "🔳 رموز QR:",
"qrLegendSubscription": "{{ .Code }}. اشتراك",
"qrLegendJSON": "{{ .Code }}. اشتراك JSON",
"qrLegendLink": "{{ .Code }}. رابط التطبيق {{ .App }}",
"backupFailed": "فشل قراءة قاعدة البيانات؛ لم يُرسل أي نسخة احتياطية.",
"privateOnly": "🤖 يعمل هذا البوت في المحادثة الخاصة فقط. يرجى فتحه في رسالة مباشرة."
},
"buttons": {
"closeKeyboard": "❌ اقفل الكيبورد",
@@ -2622,13 +2627,15 @@
"confirmClearIps": "✅ تأكيد مسح الـ IPs؟",
"confirmRemoveTGUser": "✅ تأكيد حذف مستخدم Telegram؟",
"confirmToggle": "✅ تأكيد تفعيل/تعطيل المستخدم؟",
"dbBackup": "احصل على نسخة DB",
"serverUsage": "استخدام السيرفر",
"getInbounds": "احصل على الإدخالات",
"depleteSoon": "هينتهي قريب",
"clientUsage": "استخدام العميل",
"onlines": "العملاء الأونلاين",
"commands": "الأوامر",
"dbBackup": "💾 احصل على نسخة DB",
"serverUsage": "📊 استخدام السيرفر",
"getInbounds": "🔌 احصل على الإدخالات",
"depleteSoon": "⚠️ هينتهي قريب",
"onlines": "🟢 العملاء الأونلاين",
"catServer": "🖥 الخادم",
"catClients": "👥 العملاء",
"catTraffic": "🚦 حركة المرور",
"catMaintenance": "⚙️ الصيانة",
"refresh": "🔄 تجديد",
"clearIPs": "❌ مسح الـ IPs",
"removeTGUser": "❌ حذف مستخدم Telegram",
@@ -2645,16 +2652,30 @@
"confirmNumber": "✅ تأكيد: {{ .Num }}",
"confirmNumberAdd": "✅ تأكيد إضافة: {{ .Num }}",
"limitTraffic": "🚧 حد الترافيك",
"getBanLogs": "احصل على سجلات الحظر",
"allClients": "كل العملاء",
"addClient": "إضافة عميل",
"getBanLogs": "📄 احصل على سجلات الحظر",
"allClients": "👥 كل العملاء",
"addClient": "➕ إضافة عميل",
"submitDisable": "إرسال كمعطّل ☑️",
"submitEnable": "إرسال كمفعّل ✅",
"use_default": "🏷️ استخدام الإعدادات الافتراضية",
"change_email": "⚙️📧 البريد",
"change_comment": "⚙️💬 تعليق",
"ResetAllTraffics": "إعادة ضبط جميع الترافيك",
"SortedTrafficUsageReport": "تقرير استخدام الترافيك المرتب"
"ResetAllTraffics": "♻️ إعادة ضبط جميع الترافيك",
"SortedTrafficUsageReport": "📈 تقرير استخدام الترافيك المرتب",
"restartXray": "♻️ Restart Xray",
"back": "⬅️ Back",
"hide": "🙈 Hide",
"page": "Page {{ .Page }} of {{ .Pages }}",
"searchInbounds": "🔍 Find inbound…",
"searchClients": "🔍 Find client…",
"inlineDisabled": "⚠️ Inline mode is off",
"clientCard": "⬅️ Client card",
"links": "🔗 Links",
"individualLinks": "🔗 Individual links",
"qrCode": "🔳 QR code",
"broadcast": "📢 بث",
"attachInbound": "إرفاق مدخل ({{ .Count }})",
"attachDone": "✅ تم"
},
"answers": {
"broadcastStarted": "🚀 بدأ البث.",
@@ -2682,6 +2703,36 @@
"chooseClient": "اختار عميل للإدخال {{ .Inbound }}",
"chooseInbound": "اختار الإدخال",
"qrCodeForClient": "رمز QR للعميل {{ .Email }}:"
},
"screens": {
"panel": "Panel",
"main": "Main",
"status": "Server",
"inbounds": "Inbounds",
"clients": "Clients",
"client": "Client",
"links": "Links",
"qr": "QR code",
"wizard": "New client",
"reports": "Report",
"backup": "Backup",
"onlines": "Online",
"deplete": "Running out",
"commands": "Commands",
"broadcast": "Broadcast"
},
"inline": {
"noneTitle": "Nothing found",
"noneDesc": "Use @BotFather /setinline to enable the list.",
"offTitle": "⚠️ Inline mode is disabled for this bot",
"offBody": "Lists are browsed in inline mode. Enable it in @BotFather: /setinline, then tap Check again.",
"recheck": "Check again",
"expired": "منتهي",
"fromFirstUse": "من أول استخدام"
},
"noValue": "—",
"notices": {
"repeat": "\r\n\r\n🔁 repeated {{ .Count }}× · last {{ .Time }}"
}
},
"discord": {
+82 -31
View File
@@ -85,7 +85,6 @@
"uploaded": "Uploaded",
"expiry": "Expiry",
"totalQuota": "Total quota",
"individualLinks": "Individual links",
"active": "Active",
"inactive": "Inactive",
"unlimited": "Unlimited",
@@ -1950,6 +1949,11 @@
"subIncyResolveDnsIp": "DoH server IP",
"subIncyResolveDnsIpDesc": "IP of the DoH server, used for bootstrap.",
"subIncyGroupRouting": "Routing",
"tgInlineMissing": "Inline mode is disabled",
"tgInlineMissingDesc": "Lists in the bot open through inline search. Enable it in @BotFather with /setinline, otherwise tapping a search button does nothing.",
"tgInlineRecheck": "Check again",
"tgPrivacyOn": "Group Privacy is on",
"tgPrivacyOnDesc": "This bot answers in private chat only, so groups are ignored on purpose. Group Privacy only decides whether the bot may read group messages, which it does not use.",
"subHostSortMode": "Subscription Node Ordering",
"subHostSortInbound": "Inbound order (default)",
"subHostSortHosts": "Hosts order",
@@ -2486,7 +2490,6 @@
}
},
"tgbot": {
"keyboardClosed": "❌ Custom keyboard closed!",
"noResult": "❗ No result!",
"noQuery": "❌ Query not found! Please use the command again!",
"wentWrong": "❌ Something went wrong!",
@@ -2508,10 +2511,6 @@
"unknown": "❗ Unknown command.",
"pleaseChoose": "👇 Please choose:\r\n",
"help": "🤖 Welcome to this bot! It's designed to offer specific data from the web panel and allows you to make modifications as needed.\r\n\r\n",
"start": "👋 Hello <i>{{ .Firstname }}</i>.\r\n",
"welcome": "🤖 Welcome to <b>{{ .Hostname }}</b> management bot.\r\n",
"status": "✅ Bot is OK!",
"usage": "❗ Please provide a text to search!",
"getID": "🆔 Your ID: <code>{{ .ID }}</code>",
"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>",
@@ -2520,14 +2519,7 @@
"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",
"statusDesc": "Check bot status",
"idDesc": "Show your Telegram ID",
"usageDesc": "Show client usage: /usage email",
"inboundDesc": "Search inbounds: /inbound remark (admin)",
"restartDesc": "Restart Xray core (admin)",
"broadcastDesc": "Broadcast a message to all clients (admin)",
"clearallDesc": "Reset all clients' traffic (admin)"
"statusOk": "✅ Bot is OK!"
},
"messages": {
"cpuThreshold": "CPU Load {{ .Percent }}% exceeds the threshold of {{ .Threshold }}%",
@@ -2571,7 +2563,6 @@
"inviteInvalid": "❗ This invite link is invalid or has already been used.\r\n",
"inviteRateLimited": "⏳ Too many invite attempts. Please try again later.\r\n",
"inviteRateLimitedAdmin": "⚠️ Invite attempts blocked for {{ .User }} (<code>{{ .ID }}</code>): more than {{ .Limit }} tries in an hour. Someone may be guessing Subscription IDs.",
"inviteLink": "🔗 Invite link for <code>{{ .Email }}</code>:\r\n<code>{{ .Link }}</code>\r\n\r\nThe first person to open it is linked to this client.\r\n",
"exhaustedCount": "🚨 Exhausted {{ .Type }} count:\r\n",
"onlinesCount": "🌐 Online Clients: {{ .Count }}\r\n",
"disabled": "🛑 Disabled: {{ .Disabled }}\r\n",
@@ -2580,13 +2571,11 @@
"refreshedOn": "\r\n📋🔄 Refreshed On: {{ .Time }}\r\n\r\n",
"yes": "✅ Yes",
"no": "❌ No",
"received_email": "📧📥 Email updated.",
"received_comment": "💬📥 Comment updated.",
"email_prompt": "📧 Default Email: {{ .ClientEmail }}\n\nEnter your email.",
"comment_prompt": "💬 Default Comment: {{ .ClientComment }}\n\nEnter your comment.",
"tgid_prompt": "🆔 Default TG user: {{ .ClientTGID }}\n\nSend the numeric user id to attach to this client, or send - / none to clear.",
"cancel": "❌ Process Canceled! \n\nYou can /start again anytime. 🔄",
"error_add_client": "⚠️ Error:\n\n {{ .error }}",
"using_default_value": "Okay, I'll stick with the default value. 😊",
"incorrect_input": "Your input is not valid.\nThe phrases should be continuous without spaces.\nCorrect example: aaaaaa\nIncorrect example: aaa aaa 🚫",
"broadcastAskText": "📤 Broadcast: send me the message to deliver to your clients — text, photo, video, file or a whole album.",
"broadcastAlreadyRunning": "❗ A broadcast is already running, please wait for it to finish.",
@@ -2610,7 +2599,23 @@
"eventNodeDown": "Node {{ .Name }} is DOWN",
"eventNodeUp": "Node {{ .Name }} is UP",
"eventLoginFallback": "Login failed from {{ .Source }}",
"memoryThreshold": "Memory Load {{ .Percent }}% exceeds the threshold of {{ .Threshold }}%"
"memoryThreshold": "Memory Load {{ .Percent }}% exceeds the threshold of {{ .Threshold }}%",
"inboundsCount": "🔌 Inbounds: {{ .Count }}\r\n",
"clientsCount": "👥 Clients: {{ .Count }}\r\n",
"category_server": "🖥 Server",
"category_clients": "👥 Clients",
"category_traffic": "🚦 Traffic",
"category_maintenance": "⚙️ Maintenance",
"inlineHint": "\r\n🔍 The list opens through search: tap Find and start typing.",
"subURL": "🔗 Subscription: <code>{{ .URL }}</code>\r\n",
"jsonURL": "🧩 JSON: <code>{{ .URL }}</code>\r\n",
"inviteHint": "Send this link to the client: the first Telegram account to open it is bound to the client.",
"qrLegendHeader": "🔳 QR codes:",
"qrLegendSubscription": "{{ .Code }}. Subscription",
"qrLegendJSON": "{{ .Code }}. JSON subscription",
"qrLegendLink": "{{ .Code }}. App link {{ .App }}",
"backupFailed": "Could not read the database; no backup was sent.",
"privateOnly": "🤖 This bot works in private chat only. Please open it in a direct message."
},
"buttons": {
"closeKeyboard": "❌ Close Keyboard",
@@ -2622,13 +2627,15 @@
"confirmClearIps": "✅ Confirm Clear IPs?",
"confirmRemoveTGUser": "✅ Confirm Remove Telegram User?",
"confirmToggle": "✅ Confirm Enable/Disable User?",
"dbBackup": "Get DB Backup",
"serverUsage": "Server Usage",
"getInbounds": "Get Inbounds",
"depleteSoon": "Deplete Soon",
"clientUsage": "Get Usage",
"onlines": "Online Clients",
"commands": "Commands",
"dbBackup": "💾 Get DB Backup",
"serverUsage": "📊 Server Usage",
"getInbounds": "🔌 Get Inbounds",
"depleteSoon": "⚠️ Deplete Soon",
"onlines": "🟢 Online Clients",
"catServer": "🖥 Server",
"catClients": "👥 Clients",
"catTraffic": "🚦 Traffic",
"catMaintenance": "⚙️ Maintenance",
"refresh": "🔄 Refresh",
"clearIPs": "❌ Clear IPs",
"removeTGUser": "❌ Remove Telegram User",
@@ -2645,16 +2652,30 @@
"confirmNumber": "✅ Confirm: {{ .Num }}",
"confirmNumberAdd": "✅ Confirm adding: {{ .Num }}",
"limitTraffic": "🚧 Traffic Limit",
"getBanLogs": "Get Ban Logs",
"allClients": "All Clients",
"addClient": "Add Client",
"getBanLogs": "📄 Get Ban Logs",
"allClients": "👥 All Clients",
"addClient": "➕ Add Client",
"submitDisable": "Submit As Disable ☑️",
"submitEnable": "Submit As Enable ✅",
"use_default": "🏷️ Use default",
"change_email": "⚙️📧 Email",
"change_comment": "⚙️💬 Comment",
"ResetAllTraffics": "Reset All Traffic",
"SortedTrafficUsageReport": "Sorted Traffic Usage Report"
"ResetAllTraffics": "♻️ Reset All Traffic",
"SortedTrafficUsageReport": "📈 Sorted Traffic Usage Report",
"restartXray": "♻️ Restart Xray",
"back": "⬅️ Back",
"hide": "🙈 Hide",
"page": "Page {{ .Page }} of {{ .Pages }}",
"searchInbounds": "🔍 Find inbound…",
"searchClients": "🔍 Find client…",
"inlineDisabled": "⚠️ Inline mode is off",
"clientCard": "⬅️ Client card",
"links": "🔗 Links",
"individualLinks": "🔗 Individual links",
"qrCode": "🔳 QR code",
"broadcast": "📢 Broadcast",
"attachInbound": "Attach inbound ({{ .Count }})",
"attachDone": "✅ Done"
},
"answers": {
"broadcastStarted": "🚀 Broadcast started.",
@@ -2682,6 +2703,36 @@
"chooseClient": "Choose a Client for Inbound {{ .Inbound }}",
"chooseInbound": "Choose an Inbound",
"qrCodeForClient": "QRCode for client {{ .Email }}:"
},
"screens": {
"panel": "Panel",
"main": "Main",
"status": "Server",
"inbounds": "Inbounds",
"clients": "Clients",
"client": "Client",
"links": "Links",
"qr": "QR code",
"wizard": "New client",
"reports": "Report",
"backup": "Backup",
"onlines": "Online",
"deplete": "Running out",
"commands": "Commands",
"broadcast": "Broadcast"
},
"inline": {
"noneTitle": "Nothing found",
"noneDesc": "Use @BotFather /setinline to enable the list.",
"offTitle": "⚠️ Inline mode is disabled for this bot",
"offBody": "Lists are browsed in inline mode. Enable it in @BotFather: /setinline, then tap Check again.",
"recheck": "Check again",
"expired": "expired",
"fromFirstUse": "from first use"
},
"noValue": "—",
"notices": {
"repeat": "\r\n\r\n🔁 repeated {{ .Count }}× · last {{ .Time }}"
}
},
"discord": {
+82 -31
View File
@@ -85,7 +85,6 @@
"uploaded": "Subido",
"expiry": "Caducidad",
"totalQuota": "Cuota total",
"individualLinks": "Enlaces individuales",
"active": "Activo",
"inactive": "Inactivo",
"unlimited": "Ilimitado",
@@ -1830,6 +1829,11 @@
"subIncyResolveDnsIp": "IP del servidor DoH",
"subIncyResolveDnsIpDesc": "IP del servidor DoH para el arranque.",
"subIncyGroupRouting": "Enrutado",
"tgInlineMissing": "Inline mode is disabled",
"tgInlineMissingDesc": "Lists in the bot open through inline search. Enable it in @BotFather with /setinline, otherwise tapping a search button does nothing.",
"tgInlineRecheck": "Check again",
"tgPrivacyOn": "La privacidad de grupos está activada",
"tgPrivacyOnDesc": "Este bot responde solo en el chat privado, así que ignora los grupos a propósito. La privacidad de grupos solo decide si el bot puede leer los mensajes del grupo, cosa que no usa.",
"subHostSortMode": "Orden de nodos de suscripción",
"subHostSortInbound": "Orden de entradas (predeterminado)",
"subHostSortHosts": "Orden de hosts",
@@ -2486,7 +2490,6 @@
}
},
"tgbot": {
"keyboardClosed": "❌ Teclado cerrado!",
"noResult": "❗ ¡Sin resultados!",
"noQuery": "❌ ¡Consulta no encontrada! ¡Por favor, use el comando nuevamente!",
"wentWrong": "❌ ¡Algo salió mal!",
@@ -2508,10 +2511,6 @@
"unknown": "❗ Comando desconocido",
"pleaseChoose": "👇 Por favor elige:\r\n",
"help": "🤖 ¡Bienvenido a este bot! Está diseñado para ofrecerte datos específicos del servidor y te permite hacer modificaciones según sea necesario.\r\n\r\n",
"start": "👋 Hola <i>{{ .Firstname }}</i>.\r\n",
"welcome": "🤖 Bienvenido al bot de gestión de <b>{{ .Hostname }}</b>.\r\n",
"status": "✅ ¡El bot está bien!",
"usage": "❗ ¡Por favor proporciona un texto para buscar!",
"getID": "🆔 Tu ID: <code>{{ .ID }}</code>",
"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>",
@@ -2520,14 +2519,7 @@
"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",
"statusDesc": "Comprobar el estado del bot",
"idDesc": "Mostrar tu ID de Telegram",
"usageDesc": "Ver el uso del cliente: /usage correo",
"inboundDesc": "Buscar entradas: /inbound nombre (admin)",
"restartDesc": "Reiniciar el núcleo de Xray (admin)",
"broadcastDesc": "Enviar un mensaje a todos los clientes (admin)",
"clearallDesc": "Restablecer el tráfico de todos los clientes (admin)"
"statusOk": "✅ ¡El bot funciona!"
},
"messages": {
"cpuThreshold": "El uso de CPU {{ .Percent }}% es mayor que el umbral {{ .Threshold }}%",
@@ -2571,7 +2563,6 @@
"inviteInvalid": "❗ Este enlace de invitación no es válido o ya se ha utilizado.\r\n",
"inviteRateLimited": "⏳ Demasiados intentos de invitación. Inténtalo más tarde.\r\n",
"inviteRateLimitedAdmin": "⚠️ Intentos de invitación bloqueados para {{ .User }} (<code>{{ .ID }}</code>): más de {{ .Limit }} intentos en una hora. Alguien podría estar adivinando IDs de suscripción.",
"inviteLink": "🔗 Enlace de invitación para <code>{{ .Email }}</code>:\r\n<code>{{ .Link }}</code>\r\n\r\nLa primera persona que lo abra quedará vinculada a este cliente.\r\n",
"exhaustedCount": "🚨 Cantidad de Agotados {{ .Type }}:\r\n",
"onlinesCount": "🌐 Clientes en línea: {{ .Count }}\r\n",
"disabled": "🛑 Desactivado: {{ .Disabled }}\r\n",
@@ -2580,13 +2571,11 @@
"refreshedOn": "\r\n📋🔄 Actualizado en: {{ .Time }}\r\n\r\n",
"yes": "✅ Sí",
"no": "❌ No",
"received_email": "📧📥 Correo electrónico actualizado.",
"received_comment": "💬📥 Comentario actualizado.",
"email_prompt": "📧 Correo electrónico predeterminado: {{ .ClientEmail }}\n\nIntroduce tu correo electrónico.",
"comment_prompt": "💬 Comentario predeterminado: {{ .ClientComment }}\n\nIntroduce tu comentario.",
"tgid_prompt": "🆔 Usuario TG predeterminado: {{ .ClientTGID }}\n\nEnvía el id numérico del usuario para vincularlo a este cliente, o envía - / none para borrarlo.",
"cancel": "❌ ¡Proceso cancelado! \n\nPuedes /start de nuevo en cualquier momento. 🔄",
"error_add_client": "⚠️ Error:\n\n {{ .error }}",
"using_default_value": "Está bien, me quedaré con el valor predeterminado. 😊",
"incorrect_input": "Tu entrada no es válida.\nLas frases deben ser continuas sin espacios.\nEjemplo correcto: aaaaaa\nEjemplo incorrecto: aaa aaa 🚫",
"broadcastAskText": "📤 Difusión: envíame el mensaje para entregarlo a tus clientes — texto, foto, vídeo, archivo o un álbum completo.",
"broadcastAlreadyRunning": "❗ Ya hay una difusión en curso, espera a que termine.",
@@ -2610,7 +2599,23 @@
"eventNodeDown": "El nodo {{ .Name }} está CAÍDO",
"eventNodeUp": "El nodo {{ .Name }} está ACTIVO",
"eventLoginFallback": "Inicio de sesión fallido desde {{ .Source }}",
"memoryThreshold": "Uso de memoria {{ .Percent }}% supera el umbral de {{ .Threshold }}%"
"memoryThreshold": "Uso de memoria {{ .Percent }}% supera el umbral de {{ .Threshold }}%",
"inboundsCount": "🔌 Inbounds: {{ .Count }}\r\n",
"clientsCount": "👥 Clients: {{ .Count }}\r\n",
"category_server": "🖥 Servidor",
"category_clients": "👥 Clientes",
"category_traffic": "🚦 Tráfico",
"category_maintenance": "⚙️ Mantenimiento",
"inlineHint": "\r\n🔍 The list opens through search: tap Find and start typing.",
"subURL": "🔗 Subscription: <code>{{ .URL }}</code>\r\n",
"jsonURL": "🧩 JSON: <code>{{ .URL }}</code>\r\n",
"inviteHint": "Send this link to the client: the first Telegram account to open it is bound to the client.",
"qrLegendHeader": "🔳 Códigos QR:",
"qrLegendSubscription": "{{ .Code }}. Suscripción",
"qrLegendJSON": "{{ .Code }}. Suscripción JSON",
"qrLegendLink": "{{ .Code }}. Enlace de la app {{ .App }}",
"backupFailed": "No se pudo leer la base de datos; no se envió ninguna copia de seguridad.",
"privateOnly": "🤖 Este bot solo funciona en el chat privado. Ábrelo en un mensaje directo."
},
"buttons": {
"closeKeyboard": "❌ Cerrar Teclado",
@@ -2622,13 +2627,15 @@
"confirmClearIps": "✅ ¿Confirmar Limpiar IPs?",
"confirmRemoveTGUser": "✅ ¿Confirmar Eliminar Usuario de Telegram?",
"confirmToggle": "✅ ¿Confirmar habilitar/deshabilitar usuario?",
"dbBackup": "Obtener Copia de Seguridad de BD",
"serverUsage": "Uso del Servidor",
"getInbounds": "Obtener Entradas",
"depleteSoon": "Pronto se Agotará",
"clientUsage": "Obtener Uso",
"onlines": "Clientes en línea",
"commands": "Comandos",
"dbBackup": "💾 Obtener Copia de Seguridad de BD",
"serverUsage": "📊 Uso del Servidor",
"getInbounds": "🔌 Obtener Entradas",
"depleteSoon": "⚠️ Pronto se Agotará",
"onlines": "🟢 Clientes en línea",
"catServer": "🖥 Servidor",
"catClients": "👥 Clientes",
"catTraffic": "🚦 Tráfico",
"catMaintenance": "⚙️ Mantenimiento",
"refresh": "🔄 Actualizar",
"clearIPs": "❌ Limpiar IPs",
"removeTGUser": "❌ Eliminar Usuario de Telegram",
@@ -2645,16 +2652,30 @@
"confirmNumber": "✅ Confirmar: {{ .Num }}",
"confirmNumberAdd": "✅ Confirmar agregando: {{ .Num }}",
"limitTraffic": "🚧 Límite de tráfico",
"getBanLogs": "Registros de prohibición",
"allClients": "Todos los Clientes",
"addClient": "Añadir cliente",
"getBanLogs": "📄 Registros de prohibición",
"allClients": "👥 Todos los Clientes",
"addClient": "➕ Añadir cliente",
"submitDisable": "Enviar como deshabilitado ☑️",
"submitEnable": "Enviar como habilitado ✅",
"use_default": "🏷️ Usar por defecto",
"change_email": "⚙️📧 Email",
"change_comment": "⚙️💬 Comentario",
"ResetAllTraffics": "Reiniciar todo el tráfico",
"SortedTrafficUsageReport": "Informe de uso de tráfico ordenado"
"ResetAllTraffics": "♻️ Reiniciar todo el tráfico",
"SortedTrafficUsageReport": "📈 Informe de uso de tráfico ordenado",
"restartXray": "♻️ Restart Xray",
"back": "⬅️ Back",
"hide": "🙈 Hide",
"page": "Page {{ .Page }} of {{ .Pages }}",
"searchInbounds": "🔍 Find inbound…",
"searchClients": "🔍 Find client…",
"inlineDisabled": "⚠️ Inline mode is off",
"clientCard": "⬅️ Client card",
"links": "🔗 Links",
"individualLinks": "🔗 Individual links",
"qrCode": "🔳 QR code",
"broadcast": "📢 Difusión",
"attachInbound": "Adjuntar entrada ({{ .Count }})",
"attachDone": "✅ Listo"
},
"answers": {
"broadcastStarted": "🚀 Difusión iniciada.",
@@ -2682,6 +2703,36 @@
"chooseClient": "Elige un Cliente para Inbound {{ .Inbound }}",
"chooseInbound": "Elige un Inbound",
"qrCodeForClient": "Código QR para el cliente {{ .Email }}:"
},
"screens": {
"panel": "Panel",
"main": "Main",
"status": "Server",
"inbounds": "Inbounds",
"clients": "Clients",
"client": "Client",
"links": "Links",
"qr": "QR code",
"wizard": "New client",
"reports": "Report",
"backup": "Backup",
"onlines": "Online",
"deplete": "Running out",
"commands": "Commands",
"broadcast": "Broadcast"
},
"inline": {
"noneTitle": "Nothing found",
"noneDesc": "Use @BotFather /setinline to enable the list.",
"offTitle": "⚠️ Inline mode is disabled for this bot",
"offBody": "Lists are browsed in inline mode. Enable it in @BotFather: /setinline, then tap Check again.",
"recheck": "Check again",
"expired": "caducado",
"fromFirstUse": "desde el primer uso"
},
"noValue": "—",
"notices": {
"repeat": "\r\n\r\n🔁 repeated {{ .Count }}× · last {{ .Time }}"
}
},
"discord": {
+82 -31
View File
@@ -85,7 +85,6 @@
"uploaded": "آپلود",
"expiry": "تاریخ پایان",
"totalQuota": "حجم کلی",
"individualLinks": "لینک‌های تکی",
"active": "فعال",
"inactive": "غیرفعال",
"unlimited": "نامحدود",
@@ -1830,6 +1829,11 @@
"subIncyResolveDnsIp": "آیپی سرور DoH",
"subIncyResolveDnsIpDesc": "آیپی سرور DoH برای بوتاسترپ.",
"subIncyGroupRouting": "مسیریابی",
"tgInlineMissing": "Inline mode is disabled",
"tgInlineMissingDesc": "Lists in the bot open through inline search. Enable it in @BotFather with /setinline, otherwise tapping a search button does nothing.",
"tgInlineRecheck": "Check again",
"tgPrivacyOn": "حریم خصوصی گروه فعال است",
"tgPrivacyOnDesc": "این ربات فقط در چت خصوصی پاسخ میدهد، بنابراین گروهها را عمداً نادیده میگیرد. حریم خصوصی گروه فقط تعیین میکند که ربات اجازه خواندن پیامهای گروه را دارد یا نه، که از آن استفاده نمیکند.",
"subHostSortMode": "ترتیب گره‌های اشتراک",
"subHostSortInbound": "ترتیب ورودی‌ها (پیش‌فرض)",
"subHostSortHosts": "ترتیب میزبان‌ها",
@@ -2486,7 +2490,6 @@
}
},
"tgbot": {
"keyboardClosed": "❌ صفحه کلید بسته شد!",
"noResult": "❗ نتیجه ای یافت نشد!",
"noQuery": "❌ درخواست یافت نشد! لطفا دوباره تلاش کنید!",
"wentWrong": "❌ مشکلی پیش آمد!",
@@ -2508,10 +2511,6 @@
"unknown": "❗ دستور ناشناخته",
"pleaseChoose": "👇 لطفاً انتخاب کنید:\r\n",
"help": "🤖 به این ربات خوش آمدید! این ربات برای ارائه داده‌های خاص از سرور طراحی شده است و به شما امکان تغییرات لازم را می‌دهد.\r\n\r\n",
"start": "👋 سلام <i>{{ .Firstname }}</i>.\r\n",
"welcome": "🤖 به ربات مدیریت <b>{{ .Hostname }}</b> خوش آمدید.\r\n",
"status": "✅ ربات در حالت عادی است!",
"usage": "❗ لطفاً یک متن برای جستجو وارد کنید!",
"getID": "🆔 شناسه شما: <code>{{ .ID }}</code>",
"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>",
@@ -2520,14 +2519,7 @@
"restartFailed": "❗ خطا در عملیات.\r\n\r\n<code>خطا: {{ .Error }}</code>.",
"xrayNotRunning": "❗ Xray Core در حال اجرا نیست.",
"startDesc": "نمایش منوی اصلی",
"helpDesc": "راهنمای ربات",
"statusDesc": "بررسی وضعیت ربات",
"idDesc": "نمایش شناسه تلگرام شما",
"usageDesc": "مشاهده مصرف کاربر: /usage ایمیل",
"inboundDesc": "جستجوی ورودی‌ها: /inbound نام (مدیر)",
"restartDesc": "راه‌اندازی مجدد هسته Xray (مدیر)",
"broadcastDesc": "ارسال پیام به همه کاربران (مدیر)",
"clearallDesc": "صفر کردن ترافیک همه کاربران (مدیر)"
"statusOk": "✅ ربات سالم است!"
},
"messages": {
"cpuThreshold": "بار ‌پردازنده {{ .Percent }}% بیشتر از آستانه است {{ .Threshold }}%",
@@ -2571,7 +2563,6 @@
"inviteInvalid": "❗ این لینک دعوت نامعتبر است یا قبلاً استفاده شده است.\r\n",
"inviteRateLimited": "⏳ تعداد تلاش‌های دعوت بیش از حد مجاز است. لطفاً بعداً دوباره امتحان کنید.\r\n",
"inviteRateLimitedAdmin": "⚠️ تلاش‌های دعوت برای {{ .User }} (<code>{{ .ID }}</code>) مسدود شد: بیش از {{ .Limit }} تلاش در یک ساعت. ممکن است کسی در حال حدس زدن شناسه‌های اشتراک باشد.",
"inviteLink": "🔗 لینک دعوت برای <code>{{ .Email }}</code>:\r\n<code>{{ .Link }}</code>\r\n\r\nاولین کسی که آن را باز کند به این کاربر متصل می‌شود.\r\n",
"exhaustedCount": "🚨 تعداد {{ .Type }} به‌اتمام‌رسیده‌است:\r\n",
"onlinesCount": "🌐 کاربران‌آنلاین: {{ .Count }}\r\n",
"disabled": "🛑 غیرفعال: {{ .Disabled }}\r\n",
@@ -2580,13 +2571,11 @@
"refreshedOn": "\r\n📋🔄 تازه‌سازی شده در: {{ .Time }}\r\n\r\n",
"yes": "✅ بله",
"no": "❌ خیر",
"received_email": "📧📥 ایمیل به‌روزرسانی شد.",
"received_comment": "💬📥 نظر به‌روزرسانی شد.",
"email_prompt": "📧 ایمیل پیش‌فرض: {{ .ClientEmail }}\n\nایمیل خود را وارد کنید.",
"comment_prompt": "💬 نظر پیش‌فرض: {{ .ClientComment }}\n\nنظر خود را وارد کنید.",
"tgid_prompt": "🆔 کاربر پیشفرض TG: {{ .ClientTGID }}\n\nشناسه عددی کاربر را برای اتصال به این کلاینت بفرستید، یا برای پاک کردن - / none را بفرستید.",
"cancel": "❌ فرآیند لغو شد! \n\nمی‌توانید هر زمان که خواستید /start را دوباره اجرا کنید. 🔄",
"error_add_client": "⚠️ خطا:\n\n {{ .error }}",
"using_default_value": "باشه، از مقدار پیش‌فرض استفاده می‌کنم. 😊",
"incorrect_input": "ورودی شما معتبر نیست.\nعبارت‌ها باید بدون فاصله باشند.\nمثال صحیح: aaaaaa\nمثال نادرست: aaa aaa 🚫",
"broadcastAskText": "📤 ارسال گروهی: پیام خود را برای ارسال به کاربران بفرستید — متن، عکس، ویدیو، فایل یا یک آلبوم کامل.",
"broadcastAlreadyRunning": "❗ یک ارسال گروهی در حال اجراست، تا پایان آن صبر کنید.",
@@ -2610,7 +2599,23 @@
"eventNodeDown": "نود {{ .Name }} قطع است",
"eventNodeUp": "نود {{ .Name }} وصل است",
"eventLoginFallback": "ورود ناموفق از {{ .Source }}",
"memoryThreshold": "مصرف حافظه {{ .Percent }}% از حد آستانه {{ .Threshold }}% فراتر رفته است"
"memoryThreshold": "مصرف حافظه {{ .Percent }}% از حد آستانه {{ .Threshold }}% فراتر رفته است",
"inboundsCount": "🔌 Inbounds: {{ .Count }}\r\n",
"clientsCount": "👥 Clients: {{ .Count }}\r\n",
"category_server": "🖥 سرور",
"category_clients": "👥 کاربران",
"category_traffic": "🚦 ترافیک",
"category_maintenance": "⚙️ نگهداری",
"inlineHint": "\r\n🔍 The list opens through search: tap Find and start typing.",
"subURL": "🔗 Subscription: <code>{{ .URL }}</code>\r\n",
"jsonURL": "🧩 JSON: <code>{{ .URL }}</code>\r\n",
"inviteHint": "Send this link to the client: the first Telegram account to open it is bound to the client.",
"qrLegendHeader": "🔳 کدهای QR:",
"qrLegendSubscription": "{{ .Code }}. اشتراک",
"qrLegendJSON": "{{ .Code }}. اشتراک JSON",
"qrLegendLink": "{{ .Code }}. لینک برنامه {{ .App }}",
"backupFailed": "خواندن پایگاه داده ممکن نشد؛ هیچ نسخه پشتیبانی ارسال نشد.",
"privateOnly": "🤖 این ربات فقط در چت خصوصی کار میکند. لطفاً آن را در پیام مستقیم باز کنید."
},
"buttons": {
"closeKeyboard": "❌ بستن کیبورد",
@@ -2622,13 +2627,15 @@
"confirmClearIps": "✅ تأیید پاک‌سازی آدرس‌های آی‌پی؟",
"confirmRemoveTGUser": "✅ تأیید حذف کاربر تلگرام؟",
"confirmToggle": "✅ تایید فعال/غیرفعال کردن کاربر؟",
"dbBackup": "دریافت پشتیبان",
"serverUsage": "استفاده از سیستم",
"getInbounds": "دریافت ورودی‌ها",
"depleteSoon": "به‌زودی به پایان خواهد رسید",
"clientUsage": "دریافت آمار کاربر",
"onlines": "کاربران آنلاین",
"commands": "دستورات",
"dbBackup": "💾 دریافت پشتیبان",
"serverUsage": "📊 استفاده از سیستم",
"getInbounds": "🔌 دریافت ورودی‌ها",
"depleteSoon": "⚠️ به‌زودی به پایان خواهد رسید",
"onlines": "🟢 کاربران آنلاین",
"catServer": "🖥 سرور",
"catClients": "👥 کاربران",
"catTraffic": "🚦 ترافیک",
"catMaintenance": "⚙️ نگهداری",
"refresh": "🔄 تازه‌سازی",
"clearIPs": "❌ پاک‌سازی آدرس‌ها",
"removeTGUser": "❌ حذف کاربر تلگرام",
@@ -2645,16 +2652,30 @@
"confirmNumber": "✅ تایید: {{ .Num }}",
"confirmNumberAdd": "✅ تایید اضافه کردن: {{ .Num }}",
"limitTraffic": "🚧 محدودیت ترافیک",
"getBanLogs": "گزارش های بلوک را دریافت کنید",
"allClients": "همه مشتریان",
"addClient": "افزودن مشتری",
"getBanLogs": "📄 گزارش های بلوک را دریافت کنید",
"allClients": "👥 همه مشتریان",
"addClient": "➕ افزودن مشتری",
"submitDisable": "ارسال به عنوان غیرفعال ☑️",
"submitEnable": "ارسال به عنوان فعال ✅",
"use_default": "🏷️ استفاده از پیش‌فرض",
"change_email": "⚙️📧 ایمیل",
"change_comment": "⚙️💬 نظر",
"ResetAllTraffics": "بازنشانی همه ترافیک‌ها",
"SortedTrafficUsageReport": "گزارش استفاده از ترافیک مرتب‌شده"
"ResetAllTraffics": "♻️ بازنشانی همه ترافیک‌ها",
"SortedTrafficUsageReport": "📈 گزارش استفاده از ترافیک مرتب‌شده",
"restartXray": "♻️ Restart Xray",
"back": "⬅️ Back",
"hide": "🙈 Hide",
"page": "Page {{ .Page }} of {{ .Pages }}",
"searchInbounds": "🔍 Find inbound…",
"searchClients": "🔍 Find client…",
"inlineDisabled": "⚠️ Inline mode is off",
"clientCard": "⬅️ Client card",
"links": "🔗 Links",
"individualLinks": "🔗 Individual links",
"qrCode": "🔳 QR code",
"broadcast": "📢 همگانی",
"attachInbound": "افزودن ورودی ({{ .Count }})",
"attachDone": "✅ انجام شد"
},
"answers": {
"broadcastStarted": "🚀 ارسال گروهی آغاز شد.",
@@ -2682,6 +2703,36 @@
"chooseClient": "یک مشتری برای ورودی {{ .Inbound }} انتخاب کنید",
"chooseInbound": "یک ورودی انتخاب کنید",
"qrCodeForClient": "کد QR برای کاربر {{ .Email }}:"
},
"screens": {
"panel": "Panel",
"main": "Main",
"status": "Server",
"inbounds": "Inbounds",
"clients": "Clients",
"client": "Client",
"links": "Links",
"qr": "QR code",
"wizard": "New client",
"reports": "Report",
"backup": "Backup",
"onlines": "Online",
"deplete": "Running out",
"commands": "Commands",
"broadcast": "Broadcast"
},
"inline": {
"noneTitle": "Nothing found",
"noneDesc": "Use @BotFather /setinline to enable the list.",
"offTitle": "⚠️ Inline mode is disabled for this bot",
"offBody": "Lists are browsed in inline mode. Enable it in @BotFather: /setinline, then tap Check again.",
"recheck": "Check again",
"expired": "منقضی",
"fromFirstUse": "از اولین استفاده"
},
"noValue": "—",
"notices": {
"repeat": "\r\n\r\n🔁 repeated {{ .Count }}× · last {{ .Time }}"
}
},
"discord": {
+82 -31
View File
@@ -85,7 +85,6 @@
"uploaded": "Diunggah",
"expiry": "Kedaluwarsa",
"totalQuota": "Kuota total",
"individualLinks": "Tautan individual",
"active": "Aktif",
"inactive": "Nonaktif",
"unlimited": "Tanpa batas",
@@ -1830,6 +1829,11 @@
"subIncyResolveDnsIp": "IP server DoH",
"subIncyResolveDnsIpDesc": "IP server DoH untuk bootstrap.",
"subIncyGroupRouting": "Perutean",
"tgInlineMissing": "Inline mode is disabled",
"tgInlineMissingDesc": "Lists in the bot open through inline search. Enable it in @BotFather with /setinline, otherwise tapping a search button does nothing.",
"tgInlineRecheck": "Check again",
"tgPrivacyOn": "Privasi grup aktif",
"tgPrivacyOnDesc": "Bot ini hanya menjawab di obrolan pribadi, jadi grup sengaja diabaikan. Privasi grup hanya menentukan apakah bot boleh membaca pesan grup, yang tidak digunakan.",
"subHostSortMode": "Urutan node langganan",
"subHostSortInbound": "Urutan inbound (bawaan)",
"subHostSortHosts": "Urutan host",
@@ -2486,7 +2490,6 @@
}
},
"tgbot": {
"keyboardClosed": "❌ Keyboard ditutup!",
"noResult": "❗ Tidak ada hasil!",
"noQuery": "❌ Kueri tidak ditemukan! Silakan gunakan perintah lagi!",
"wentWrong": "❌ Terjadi kesalahan!",
@@ -2508,10 +2511,6 @@
"unknown": "❗ Perintah tidak dikenal.",
"pleaseChoose": "👇 Harap pilih:\r\n",
"help": "🤖 Selamat datang di bot ini! Ini dirancang untuk menyediakan data tertentu dari panel web dan memungkinkan Anda melakukan modifikasi sesuai kebutuhan.\r\n\r\n",
"start": "👋 Halo <i>{{ .Firstname }}</i>.\r\n",
"welcome": "🤖 Selamat datang di <b>{{.Hostname }}</b> bot managemen.\r\n",
"status": "✅ Bot dalam keadaan baik!",
"usage": "❗ Harap berikan teks untuk mencari!",
"getID": "🆔 ID Anda: <code>{{ .ID }}</code>",
"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>",
@@ -2520,14 +2519,7 @@
"restartFailed": "❗ Kesalahan dalam operasi.\r\n\r\n<code>Error: {{ .Error }}</code>.",
"xrayNotRunning": "❗ Xray Core tidak berjalan.",
"startDesc": "Tampilkan menu utama",
"helpDesc": "Bantuan bot",
"statusDesc": "Periksa status bot",
"idDesc": "Tampilkan ID Telegram Anda",
"usageDesc": "Lihat pemakaian klien: /usage email",
"inboundDesc": "Cari inbound: /inbound nama (admin)",
"restartDesc": "Mulai ulang inti Xray (admin)",
"broadcastDesc": "Kirim pesan ke semua klien (admin)",
"clearallDesc": "Reset trafik semua klien (admin)"
"statusOk": "✅ Bot berfungsi!"
},
"messages": {
"cpuThreshold": "Beban CPU {{ .Percent }}% melebihi batas {{ .Threshold }}%",
@@ -2571,7 +2563,6 @@
"inviteInvalid": "❗ Tautan undangan ini tidak valid atau sudah digunakan.\r\n",
"inviteRateLimited": "⏳ Terlalu banyak percobaan undangan. Silakan coba lagi nanti.\r\n",
"inviteRateLimitedAdmin": "⚠️ Percobaan undangan diblokir untuk {{ .User }} (<code>{{ .ID }}</code>): lebih dari {{ .Limit }} percobaan dalam satu jam. Seseorang mungkin sedang menebak ID langganan.",
"inviteLink": "🔗 Tautan undangan untuk <code>{{ .Email }}</code>:\r\n<code>{{ .Link }}</code>\r\n\r\nOrang pertama yang membukanya akan tertaut ke klien ini.\r\n",
"exhaustedCount": "🚨 Jumlah Habis {{ .Type }}:\r\n",
"onlinesCount": "🌐 Klien Online: {{ .Count }}\r\n",
"disabled": "🛑 Dinonaktifkan: {{ .Disabled }}\r\n",
@@ -2580,13 +2571,11 @@
"refreshedOn": "\r\n📋🔄 Diperbarui Pada: {{ .Time }}\r\n\r\n",
"yes": "✅ Ya",
"no": "❌ Tidak",
"received_email": "📧📥 Email diperbarui.",
"received_comment": "💬📥 Komentar diperbarui.",
"email_prompt": "📧 Email Default: {{ .ClientEmail }}\n\nMasukkan email Anda.",
"comment_prompt": "💬 Komentar Default: {{ .ClientComment }}\n\nMasukkan komentar Anda.",
"tgid_prompt": "🆔 Pengguna TG default: {{ .ClientTGID }}\n\nKirim id numerik pengguna untuk melampirkan ke klien ini, atau kirim - / none untuk menghapus.",
"cancel": "❌ Proses Dibatalkan! \n\nAnda dapat /start lagi kapan saja. 🔄",
"error_add_client": "⚠️ Error:\n\n {{ .error }}",
"using_default_value": "Oke, saya akan tetap menggunakan nilai default. 😊",
"incorrect_input": "Masukan Anda tidak valid.\nFrasa harus berlanjut tanpa spasi.\nContoh benar: aaaaaa\nContoh salah: aaa aaa 🚫",
"broadcastAskText": "📡 Siaran: kirimkan pesan untuk dikirimkan ke klien Anda — teks, foto, video, file, atau satu album lengkap.",
"broadcastAlreadyRunning": "❗ Siaran sedang berjalan, tunggu hingga selesai.",
@@ -2610,7 +2599,23 @@
"eventNodeDown": "Node {{ .Name }} MATI",
"eventNodeUp": "Node {{ .Name }} AKTIF",
"eventLoginFallback": "Gagal masuk dari {{ .Source }}",
"memoryThreshold": "Penggunaan memori {{ .Percent }}% melebihi ambang batas {{ .Threshold }}%"
"memoryThreshold": "Penggunaan memori {{ .Percent }}% melebihi ambang batas {{ .Threshold }}%",
"inboundsCount": "🔌 Inbounds: {{ .Count }}\r\n",
"clientsCount": "👥 Clients: {{ .Count }}\r\n",
"category_server": "🖥 Server",
"category_clients": "👥 Klien",
"category_traffic": "🚦 Trafik",
"category_maintenance": "⚙️ Pemeliharaan",
"inlineHint": "\r\n🔍 The list opens through search: tap Find and start typing.",
"subURL": "🔗 Subscription: <code>{{ .URL }}</code>\r\n",
"jsonURL": "🧩 JSON: <code>{{ .URL }}</code>\r\n",
"inviteHint": "Send this link to the client: the first Telegram account to open it is bound to the client.",
"qrLegendHeader": "🔳 Kode QR:",
"qrLegendSubscription": "{{ .Code }}. Langganan",
"qrLegendJSON": "{{ .Code }}. Langganan JSON",
"qrLegendLink": "{{ .Code }}. Tautan aplikasi {{ .App }}",
"backupFailed": "Tidak dapat membaca basis data; tidak ada cadangan yang dikirim.",
"privateOnly": "🤖 Bot ini hanya berfungsi di obrolan pribadi. Silakan buka di pesan langsung."
},
"buttons": {
"closeKeyboard": "❌ Tutup Papan Ketik",
@@ -2622,13 +2627,15 @@
"confirmClearIps": "✅ Konfirmasi Hapus IPs?",
"confirmRemoveTGUser": "✅ Konfirmasi Hapus Pengguna Telegram?",
"confirmToggle": "✅ Konfirmasi Aktifkan/Nonaktifkan Pengguna?",
"dbBackup": "Dapatkan Cadangan DB",
"serverUsage": "Penggunaan Server",
"getInbounds": "Dapatkan Inbounds",
"depleteSoon": "Habis Sebentar",
"clientUsage": "Dapatkan Penggunaan",
"onlines": "Klien Online",
"commands": "Perintah",
"dbBackup": "💾 Dapatkan Cadangan DB",
"serverUsage": "📊 Penggunaan Server",
"getInbounds": "🔌 Dapatkan Inbounds",
"depleteSoon": "⚠️ Habis Sebentar",
"onlines": "🟢 Klien Online",
"catServer": "🖥 Server",
"catClients": "👥 Klien",
"catTraffic": "🚦 Trafik",
"catMaintenance": "⚙️ Pemeliharaan",
"refresh": "🔄 Perbarui",
"clearIPs": "❌ Hapus IPs",
"removeTGUser": "❌ Hapus Pengguna Telegram",
@@ -2645,16 +2652,30 @@
"confirmNumber": "✅ Konfirmasi: {{ .Num }}",
"confirmNumberAdd": "✅ Konfirmasi menambahkan: {{ .Num }}",
"limitTraffic": "🚧 Batas Lalu Lintas",
"getBanLogs": "Dapatkan Log Pemblokiran",
"allClients": "Semua Klien",
"addClient": "Tambah Klien",
"getBanLogs": "📄 Dapatkan Log Pemblokiran",
"allClients": "👥 Semua Klien",
"addClient": "➕ Tambah Klien",
"submitDisable": "Kirim Sebagai Nonaktif ☑️",
"submitEnable": "Kirim Sebagai Aktif ✅",
"use_default": "🏷️ Gunakan Default",
"change_email": "⚙️📧 Email",
"change_comment": "⚙️💬 Komentar",
"ResetAllTraffics": "Reset Semua Lalu Lintas",
"SortedTrafficUsageReport": "Laporan Penggunaan Lalu Lintas yang Terurut"
"ResetAllTraffics": "♻️ Reset Semua Lalu Lintas",
"SortedTrafficUsageReport": "📈 Laporan Penggunaan Lalu Lintas yang Terurut",
"restartXray": "♻️ Restart Xray",
"back": "⬅️ Back",
"hide": "🙈 Hide",
"page": "Page {{ .Page }} of {{ .Pages }}",
"searchInbounds": "🔍 Find inbound…",
"searchClients": "🔍 Find client…",
"inlineDisabled": "⚠️ Inline mode is off",
"clientCard": "⬅️ Client card",
"links": "🔗 Links",
"individualLinks": "🔗 Individual links",
"qrCode": "🔳 QR code",
"broadcast": "📢 Siaran",
"attachInbound": "Lampirkan inbound ({{ .Count }})",
"attachDone": "✅ Selesai"
},
"answers": {
"broadcastStarted": "🚀 Siaran dimulai.",
@@ -2682,6 +2703,36 @@
"chooseClient": "Pilih Klien untuk Inbound {{ .Inbound }}",
"chooseInbound": "Pilih Inbound",
"qrCodeForClient": "Kode QR untuk klien {{ .Email }}:"
},
"screens": {
"panel": "Panel",
"main": "Main",
"status": "Server",
"inbounds": "Inbounds",
"clients": "Clients",
"client": "Client",
"links": "Links",
"qr": "QR code",
"wizard": "New client",
"reports": "Report",
"backup": "Backup",
"onlines": "Online",
"deplete": "Running out",
"commands": "Commands",
"broadcast": "Broadcast"
},
"inline": {
"noneTitle": "Nothing found",
"noneDesc": "Use @BotFather /setinline to enable the list.",
"offTitle": "⚠️ Inline mode is disabled for this bot",
"offBody": "Lists are browsed in inline mode. Enable it in @BotFather: /setinline, then tap Check again.",
"recheck": "Check again",
"expired": "kedaluwarsa",
"fromFirstUse": "sejak pemakaian pertama"
},
"noValue": "—",
"notices": {
"repeat": "\r\n\r\n🔁 repeated {{ .Count }}× · last {{ .Time }}"
}
},
"discord": {
+82 -31
View File
@@ -85,7 +85,6 @@
"uploaded": "アップロード",
"expiry": "有効期限",
"totalQuota": "合計クォータ",
"individualLinks": "個別リンク",
"active": "有効",
"inactive": "無効",
"unlimited": "無制限",
@@ -1830,6 +1829,11 @@
"subIncyResolveDnsIp": "DoH サーバー IP",
"subIncyResolveDnsIpDesc": "ブートストラップ用の DoH サーバー IP。",
"subIncyGroupRouting": "ルーティング",
"tgInlineMissing": "Inline mode is disabled",
"tgInlineMissingDesc": "Lists in the bot open through inline search. Enable it in @BotFather with /setinline, otherwise tapping a search button does nothing.",
"tgInlineRecheck": "Check again",
"tgPrivacyOn": "グループプライバシーが有効です",
"tgPrivacyOnDesc": "このボットは個人チャットでのみ応答するため、グループは意図的に無視します。グループプライバシーはボットがグループメッセージを読めるかどうかを決めるだけで、実際には使用しません。",
"subHostSortMode": "サブスクリプションのノード順序",
"subHostSortInbound": "インバウンド順(既定)",
"subHostSortHosts": "ホスト順",
@@ -2486,7 +2490,6 @@
}
},
"tgbot": {
"keyboardClosed": "❌ キーボードを閉じました!",
"noResult": "❗ 結果がありません!",
"noQuery": "❌ クエリが見つかりません!コマンドを再利用してください!",
"wentWrong": "❌ 何かがうまくいかなかった!",
@@ -2508,10 +2511,6 @@
"unknown": "❗ 不明なコマンド",
"pleaseChoose": "👇 選択してください:\r\n",
"help": "🤖 このボットをご利用いただきありがとうございます!サーバーから特定のデータを提供し、必要な変更を行うことができます。\r\n\r\n",
"start": "👋 こんにちは、<i>{{ .Firstname }}</i>。\r\n",
"welcome": "🤖 <b>{{ .Hostname }}</b> 管理ボットへようこそ。\r\n",
"status": "✅ ボットは正常に動作しています!",
"usage": "❗ 検索するテキストを入力してください!",
"getID": "🆔 あなたのIDは:<code>{{ .ID }}</code>",
"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>",
@@ -2520,14 +2519,7 @@
"restartFailed": "❗ 操作エラー。\r\n\r\n<code>エラー: {{ .Error }}</code>",
"xrayNotRunning": "❗ Xray Core は動作していません。",
"startDesc": "メインメニューを表示",
"helpDesc": "ボットのヘルプ",
"statusDesc": "ボットの状態を確認",
"idDesc": "Telegram IDを表示",
"usageDesc": "クライアント使用量を表示: /usage メール",
"inboundDesc": "インバウンド検索: /inbound 備考(管理者)",
"restartDesc": "Xray コアを再起動(管理者)",
"broadcastDesc": "全クライアントへ一括送信(管理者)",
"clearallDesc": "全クライアントのトラフィックをリセット(管理者)"
"statusOk": "✅ ボットは正常です!"
},
"messages": {
"cpuThreshold": "CPU使用率は{{ .Percent }}%、しきい値{{ .Threshold }}%を超えました",
@@ -2571,7 +2563,6 @@
"inviteInvalid": "❗ この招待リンクは無効か、すでに使用されています。\r\n",
"inviteRateLimited": "⏳ 招待の試行回数が多すぎます。しばらくしてからもう一度お試しください。\r\n",
"inviteRateLimitedAdmin": "⚠️ {{ .User }} (<code>{{ .ID }}</code>) の招待の試行をブロックしました:1 時間に {{ .Limit }} 回を超えました。誰かがサブスクリプション ID を推測している可能性があります。",
"inviteLink": "🔗 <code>{{ .Email }}</code> の招待リンク:\r\n<code>{{ .Link }}</code>\r\n\r\n最初に開いた人がこのクライアントにリンクされます。\r\n",
"exhaustedCount": "🚨 消耗済みの {{ .Type }} 数量:\r\n",
"onlinesCount": "🌐 オンラインクライアント:{{ .Count }}\r\n",
"disabled": "🛑 無効化:{{ .Disabled }}\r\n",
@@ -2580,13 +2571,11 @@
"refreshedOn": "\r\n📋🔄 更新時間:{{ .Time }}\r\n\r\n",
"yes": "✅ はい",
"no": "❌ いいえ",
"received_email": "📧📥 メールが更新されました。",
"received_comment": "💬📥 コメントが更新されました。",
"email_prompt": "📧 デフォルトメール: {{ .ClientEmail }}\n\nメールを入力してください。",
"comment_prompt": "💬 デフォルトコメント: {{ .ClientComment }}\n\nコメントを入力してください。",
"tgid_prompt": "🆔 既定のTGユーザー: {{ .ClientTGID }}\n\nこのクライアントに紐付けるユーザーの数値idを送信してください。解除するには - / none を送信します。",
"cancel": "❌ プロセスがキャンセルされました!\n\nいつでも /start で再開できます。 🔄",
"error_add_client": "⚠️ エラー:\n\n {{ .error }}",
"using_default_value": "わかりました、デフォルト値を使用します。 😊",
"incorrect_input": "入力が無効です。\nフレーズはスペースなしで続けて入力してください。\n正しい例: aaaaaa\n間違った例: aaa aaa 🚫",
"broadcastAskText": "📤 一括送信:クライアントに配信するメッセージを送ってください — テキスト、写真、動画、ファイル、アルバム全体も OK。",
"broadcastAlreadyRunning": "❗ 一括送信はすでに実行中です。完了までお待ちください。",
@@ -2610,7 +2599,23 @@
"eventNodeDown": "ノード {{ .Name }} がダウンしています",
"eventNodeUp": "ノード {{ .Name }} が復旧しました",
"eventLoginFallback": "{{ .Source }} からのログインに失敗しました",
"memoryThreshold": "メモリ使用率 {{ .Percent }}% がしきい値 {{ .Threshold }}% を超えました"
"memoryThreshold": "メモリ使用率 {{ .Percent }}% がしきい値 {{ .Threshold }}% を超えました",
"inboundsCount": "🔌 Inbounds: {{ .Count }}\r\n",
"clientsCount": "👥 Clients: {{ .Count }}\r\n",
"category_server": "🖥 サーバー",
"category_clients": "👥 クライアント",
"category_traffic": "🚦 トラフィック",
"category_maintenance": "⚙️ メンテナンス",
"inlineHint": "\r\n🔍 The list opens through search: tap Find and start typing.",
"subURL": "🔗 Subscription: <code>{{ .URL }}</code>\r\n",
"jsonURL": "🧩 JSON: <code>{{ .URL }}</code>\r\n",
"inviteHint": "Send this link to the client: the first Telegram account to open it is bound to the client.",
"qrLegendHeader": "🔳 QRコード:",
"qrLegendSubscription": "{{ .Code }}. サブスクリプション",
"qrLegendJSON": "{{ .Code }}. JSON サブスクリプション",
"qrLegendLink": "{{ .Code }}. アプリのリンク {{ .App }}",
"backupFailed": "データベースを読み取れませんでした。バックアップは送信されていません。",
"privateOnly": "🤖 このボットは個人チャットでのみ動作します。ダイレクトメッセージで開いてください。"
},
"buttons": {
"closeKeyboard": "❌ キーボードを閉じる",
@@ -2622,13 +2627,15 @@
"confirmClearIps": "✅ IPをクリアしますか?",
"confirmRemoveTGUser": "✅ Telegramユーザーを削除しますか?",
"confirmToggle": "✅ ユーザーを有効/無効にしますか?",
"dbBackup": "データベースバックアップを取得",
"serverUsage": "サーバーの使用状況",
"getInbounds": "インバウンド情報を取得",
"depleteSoon": "間もなく消耗",
"clientUsage": "使用状況を取得",
"onlines": "オンラインクライアント",
"commands": "コマンド",
"dbBackup": "💾 データベースバックアップを取得",
"serverUsage": "📊 サーバーの使用状況",
"getInbounds": "🔌 インバウンド情報を取得",
"depleteSoon": "⚠️ 間もなく消耗",
"onlines": "🟢 オンラインクライアント",
"catServer": "🖥 サーバー",
"catClients": "👥 クライアント",
"catTraffic": "🚦 トラフィック",
"catMaintenance": "⚙️ メンテナンス",
"refresh": "🔄 更新",
"clearIPs": "❌ IPをクリア",
"removeTGUser": "❌ Telegramユーザーを削除",
@@ -2645,16 +2652,30 @@
"confirmNumber": "✅ 確認: {{ .Num }}",
"confirmNumberAdd": "✅ 追加を確認:{{ .Num }}",
"limitTraffic": "🚧 トラフィック制限",
"getBanLogs": "禁止ログ",
"allClients": "すべてのクライアント",
"addClient": "クライアントを追加",
"getBanLogs": "📄 禁止ログ",
"allClients": "👥 すべてのクライアント",
"addClient": "➕ クライアントを追加",
"submitDisable": "無効として送信 ☑️",
"submitEnable": "有効として送信 ✅",
"use_default": "🏷️ デフォルトを使用",
"change_email": "⚙️📧 メール",
"change_comment": "⚙️💬 コメント",
"ResetAllTraffics": "すべてのトラフィックをリセット",
"SortedTrafficUsageReport": "ソートされたトラフィック使用レポート"
"ResetAllTraffics": "♻️ すべてのトラフィックをリセット",
"SortedTrafficUsageReport": "📈 ソートされたトラフィック使用レポート",
"restartXray": "♻️ Restart Xray",
"back": "⬅️ Back",
"hide": "🙈 Hide",
"page": "Page {{ .Page }} of {{ .Pages }}",
"searchInbounds": "🔍 Find inbound…",
"searchClients": "🔍 Find client…",
"inlineDisabled": "⚠️ Inline mode is off",
"clientCard": "⬅️ Client card",
"links": "🔗 Links",
"individualLinks": "🔗 Individual links",
"qrCode": "🔳 QR code",
"broadcast": "📢 一斉送信",
"attachInbound": "インバウンドを追加 ({{ .Count }})",
"attachDone": "✅ 完了"
},
"answers": {
"broadcastStarted": "🚀 一括送信を開始しました。",
@@ -2682,6 +2703,36 @@
"chooseClient": "インバウンド {{ .Inbound }} のクライアントを選択",
"chooseInbound": "インバウンドを選択",
"qrCodeForClient": "クライアント {{ .Email }} のQRコード:"
},
"screens": {
"panel": "Panel",
"main": "Main",
"status": "Server",
"inbounds": "Inbounds",
"clients": "Clients",
"client": "Client",
"links": "Links",
"qr": "QR code",
"wizard": "New client",
"reports": "Report",
"backup": "Backup",
"onlines": "Online",
"deplete": "Running out",
"commands": "Commands",
"broadcast": "Broadcast"
},
"inline": {
"noneTitle": "Nothing found",
"noneDesc": "Use @BotFather /setinline to enable the list.",
"offTitle": "⚠️ Inline mode is disabled for this bot",
"offBody": "Lists are browsed in inline mode. Enable it in @BotFather: /setinline, then tap Check again.",
"recheck": "Check again",
"expired": "期限切れ",
"fromFirstUse": "初回使用から"
},
"noValue": "—",
"notices": {
"repeat": "\r\n\r\n🔁 repeated {{ .Count }}× · last {{ .Time }}"
}
},
"discord": {
+82 -31
View File
@@ -85,7 +85,6 @@
"uploaded": "Enviado",
"expiry": "Validade",
"totalQuota": "Cota total",
"individualLinks": "Links individuais",
"active": "Ativo",
"inactive": "Inativo",
"unlimited": "Ilimitado",
@@ -1830,6 +1829,11 @@
"subIncyResolveDnsIp": "IP do servidor DoH",
"subIncyResolveDnsIpDesc": "IP do servidor DoH para bootstrap.",
"subIncyGroupRouting": "Roteamento",
"tgInlineMissing": "Inline mode is disabled",
"tgInlineMissingDesc": "Lists in the bot open through inline search. Enable it in @BotFather with /setinline, otherwise tapping a search button does nothing.",
"tgInlineRecheck": "Check again",
"tgPrivacyOn": "A privacidade em grupos está ativada",
"tgPrivacyOnDesc": "Este bot responde apenas no chat privado, então ignora os grupos de propósito. A privacidade em grupos só decide se o bot pode ler mensagens do grupo, o que ele não usa.",
"subHostSortMode": "Ordem dos nós da assinatura",
"subHostSortInbound": "Ordem das entradas (padrão)",
"subHostSortHosts": "Ordem dos hosts",
@@ -2486,7 +2490,6 @@
}
},
"tgbot": {
"keyboardClosed": "❌ Teclado fechado!",
"noResult": "❗ Nenhum resultado!",
"noQuery": "❌ Consulta não encontrada! Por favor, use o comando novamente!",
"wentWrong": "❌ Algo deu errado!",
@@ -2508,10 +2511,6 @@
"unknown": "❗ Comando desconhecido.",
"pleaseChoose": "👇 Escolha:\r\n",
"help": "🤖 Bem-vindo a este bot! Ele foi projetado para oferecer dados específicos do painel da web e permite que você faça as modificações necessárias.\r\n\r\n",
"start": "👋 Olá <i>{{ .Firstname }}</i>.\r\n",
"welcome": "🤖 Bem-vindo ao bot de gerenciamento do <b>{{ .Hostname }}</b>.\r\n",
"status": "✅ Bot está OK!",
"usage": "❗ Por favor, forneça um texto para pesquisar!",
"getID": "🆔 Seu ID: <code>{{ .ID }}</code>",
"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>",
@@ -2520,14 +2519,7 @@
"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",
"statusDesc": "Verificar status do bot",
"idDesc": "Mostrar seu ID do Telegram",
"usageDesc": "Ver o uso do cliente: /usage email",
"inboundDesc": "Buscar entradas: /inbound nome (admin)",
"restartDesc": "Reiniciar o núcleo Xray (admin)",
"broadcastDesc": "Enviar uma mensagem para todos os clientes (admin)",
"clearallDesc": "Zerar o tráfego de todos os clientes (admin)"
"statusOk": "✅ O bot está OK!"
},
"messages": {
"cpuThreshold": "A carga da CPU {{ .Percent }}% excede o limite de {{ .Threshold }}%",
@@ -2571,7 +2563,6 @@
"inviteInvalid": "❗ Este link de convite é inválido ou já foi utilizado.\r\n",
"inviteRateLimited": "⏳ Muitas tentativas de convite. Tente novamente mais tarde.\r\n",
"inviteRateLimitedAdmin": "⚠️ Tentativas de convite bloqueadas para {{ .User }} (<code>{{ .ID }}</code>): mais de {{ .Limit }} tentativas em uma hora. Alguém pode estar tentando adivinhar IDs de assinatura.",
"inviteLink": "🔗 Link de convite para <code>{{ .Email }}</code>:\r\n<code>{{ .Link }}</code>\r\n\r\nA primeira pessoa que abri-lo será vinculada a este cliente.\r\n",
"exhaustedCount": "🚨 Contagem de {{ .Type }} esgotado:\r\n",
"onlinesCount": "🌐 Clientes online: {{ .Count }}\r\n",
"disabled": "🛑 Desativado: {{ .Disabled }}\r\n",
@@ -2580,13 +2571,11 @@
"refreshedOn": "\r\n📋🔄 Atualizado em: {{ .Time }}\r\n\r\n",
"yes": "✅ Sim",
"no": "❌ Não",
"received_email": "📧📥 E-mail atualizado.",
"received_comment": "💬📥 Comentário atualizado.",
"email_prompt": "📧 E-mail Padrão: {{ .ClientEmail }}\n\nDigite seu e-mail.",
"comment_prompt": "💬 Comentário Padrão: {{ .ClientComment }}\n\nDigite seu comentário.",
"tgid_prompt": "🆔 Usuário TG padrão: {{ .ClientTGID }}\n\nEnvie o id numérico do usuário para vincular a este cliente, ou envie - / none para limpar.",
"cancel": "❌ Processo Cancelado! \n\nVocê pode iniciar novamente a qualquer momento com /start. 🔄",
"error_add_client": "⚠️ Erro:\n\n {{ .error }}",
"using_default_value": "Tudo bem, vou manter o valor padrão. 😊",
"incorrect_input": "Sua entrada não é válida.\nAs frases devem ser contínuas, sem espaços.\nExemplo correto: aaaaaa\nExemplo incorreto: aaa aaa 🚫",
"broadcastAskText": "📤 Transmissão: envie-me a mensagem para entregar aos seus clientes — texto, foto, vídeo, arquivo ou um álbum inteiro.",
"broadcastAlreadyRunning": "❗ Já existe uma transmissão em andamento, aguarde a conclusão.",
@@ -2610,7 +2599,23 @@
"eventNodeDown": "O nó {{ .Name }} está INATIVO",
"eventNodeUp": "O nó {{ .Name }} está ATIVO",
"eventLoginFallback": "Falha de login a partir de {{ .Source }}",
"memoryThreshold": "Uso de memória {{ .Percent }}% excede o limite de {{ .Threshold }}%"
"memoryThreshold": "Uso de memória {{ .Percent }}% excede o limite de {{ .Threshold }}%",
"inboundsCount": "🔌 Inbounds: {{ .Count }}\r\n",
"clientsCount": "👥 Clients: {{ .Count }}\r\n",
"category_server": "🖥 Servidor",
"category_clients": "👥 Clientes",
"category_traffic": "🚦 Tráfego",
"category_maintenance": "⚙️ Manutenção",
"inlineHint": "\r\n🔍 The list opens through search: tap Find and start typing.",
"subURL": "🔗 Subscription: <code>{{ .URL }}</code>\r\n",
"jsonURL": "🧩 JSON: <code>{{ .URL }}</code>\r\n",
"inviteHint": "Send this link to the client: the first Telegram account to open it is bound to the client.",
"qrLegendHeader": "🔳 Códigos QR:",
"qrLegendSubscription": "{{ .Code }}. Assinatura",
"qrLegendJSON": "{{ .Code }}. Assinatura JSON",
"qrLegendLink": "{{ .Code }}. Link do app {{ .App }}",
"backupFailed": "Não foi possível ler o banco de dados; nenhum backup foi enviado.",
"privateOnly": "🤖 Este bot funciona apenas no chat privado. Abra-o em uma mensagem direta."
},
"buttons": {
"closeKeyboard": "❌ Fechar teclado",
@@ -2622,13 +2627,15 @@
"confirmClearIps": "✅ Confirmar limpar IPs?",
"confirmRemoveTGUser": "✅ Confirmar remover usuário do Telegram?",
"confirmToggle": "✅ Confirmar ativar/desativar usuário?",
"dbBackup": "Obter backup do DB",
"serverUsage": "Uso do servidor",
"getInbounds": "Obter Inbounds",
"depleteSoon": "Esgotar em breve",
"clientUsage": "Obter uso",
"onlines": "Clientes online",
"commands": "Comandos",
"dbBackup": "💾 Obter backup do DB",
"serverUsage": "📊 Uso do servidor",
"getInbounds": "🔌 Obter Inbounds",
"depleteSoon": "⚠️ Esgotar em breve",
"onlines": "🟢 Clientes online",
"catServer": "🖥 Servidor",
"catClients": "👥 Clientes",
"catTraffic": "🚦 Tráfego",
"catMaintenance": "⚙️ Manutenção",
"refresh": "🔄 Atualizar",
"clearIPs": "❌ Limpar IPs",
"removeTGUser": "❌ Remover usuário do Telegram",
@@ -2645,16 +2652,30 @@
"confirmNumber": "✅ Confirmar: {{ .Num }}",
"confirmNumberAdd": "✅ Confirmar adicionar: {{ .Num }}",
"limitTraffic": "🚧 Limite de tráfego",
"getBanLogs": "Obter logs de banimento",
"allClients": "Todos os clientes",
"addClient": "Adicionar Cliente",
"getBanLogs": "📄 Obter logs de banimento",
"allClients": "👥 Todos os clientes",
"addClient": "➕ Adicionar Cliente",
"submitDisable": "Enviar como Desativado ☑️",
"submitEnable": "Enviar como Ativado ✅",
"use_default": "🏷️ Usar padrão",
"change_email": "⚙️📧 Email",
"change_comment": "⚙️💬 Comentário",
"ResetAllTraffics": "Redefinir Todo o Tráfego",
"SortedTrafficUsageReport": "Relatório de Uso de Tráfego Ordenado"
"ResetAllTraffics": "♻️ Redefinir Todo o Tráfego",
"SortedTrafficUsageReport": "📈 Relatório de Uso de Tráfego Ordenado",
"restartXray": "♻️ Restart Xray",
"back": "⬅️ Back",
"hide": "🙈 Hide",
"page": "Page {{ .Page }} of {{ .Pages }}",
"searchInbounds": "🔍 Find inbound…",
"searchClients": "🔍 Find client…",
"inlineDisabled": "⚠️ Inline mode is off",
"clientCard": "⬅️ Client card",
"links": "🔗 Links",
"individualLinks": "🔗 Individual links",
"qrCode": "🔳 QR code",
"broadcast": "📢 Transmissão",
"attachInbound": "Anexar inbound ({{ .Count }})",
"attachDone": "✅ Concluído"
},
"answers": {
"broadcastStarted": "🚀 Transmissão iniciada.",
@@ -2682,6 +2703,36 @@
"chooseClient": "Escolha um cliente para Inbound {{ .Inbound }}",
"chooseInbound": "Escolha um Inbound",
"qrCodeForClient": "QR Code para o cliente {{ .Email }}:"
},
"screens": {
"panel": "Panel",
"main": "Main",
"status": "Server",
"inbounds": "Inbounds",
"clients": "Clients",
"client": "Client",
"links": "Links",
"qr": "QR code",
"wizard": "New client",
"reports": "Report",
"backup": "Backup",
"onlines": "Online",
"deplete": "Running out",
"commands": "Commands",
"broadcast": "Broadcast"
},
"inline": {
"noneTitle": "Nothing found",
"noneDesc": "Use @BotFather /setinline to enable the list.",
"offTitle": "⚠️ Inline mode is disabled for this bot",
"offBody": "Lists are browsed in inline mode. Enable it in @BotFather: /setinline, then tap Check again.",
"recheck": "Check again",
"expired": "expirado",
"fromFirstUse": "desde o primeiro uso"
},
"noValue": "—",
"notices": {
"repeat": "\r\n\r\n🔁 repeated {{ .Count }}× · last {{ .Time }}"
}
},
"discord": {
+74 -23
View File
@@ -85,7 +85,6 @@
"uploaded": "Отправлено",
"expiry": "Срок действия",
"totalQuota": "Общий лимит",
"individualLinks": "Индивидуальные ссылки",
"active": "Активна",
"inactive": "Неактивна",
"unlimited": "Неограниченно",
@@ -1830,6 +1829,11 @@
"subIncyResolveDnsIp": "IP DoH-сервера",
"subIncyResolveDnsIpDesc": "IP DoH-сервера, нужен для bootstrap.",
"subIncyGroupRouting": "Маршрутизация",
"tgInlineMissing": "Inline mode is disabled",
"tgInlineMissingDesc": "Lists in the bot open through inline search. Enable it in @BotFather with /setinline, otherwise tapping a search button does nothing.",
"tgInlineRecheck": "Check again",
"tgPrivacyOn": "Режим приватности включён",
"tgPrivacyOnDesc": "Бот работает только в личных сообщениях, поэтому группы он игнорирует намеренно. Приватность в группах решает лишь то, может ли бот читать сообщения группы, — а он это не использует.",
"subHostSortMode": "Порядок узлов подписки",
"subHostSortInbound": "Порядок входящих подключений (по умолчанию)",
"subHostSortHosts": "Порядок хостов",
@@ -2486,7 +2490,6 @@
}
},
"tgbot": {
"keyboardClosed": "❌ Клавиатура закрыта.",
"noResult": "❗ Нет результатов.",
"noQuery": "❌ Запрос не найден. Пожалуйста, повторите команду.",
"wentWrong": "❌ Что-то пошло не так...",
@@ -2508,10 +2511,6 @@
"unknown": "❗ Неизвестная команда",
"pleaseChoose": "👇 Пожалуйста, выберите:\r\n",
"help": "🤖 Добро пожаловать! Этот бот предназначен для предоставления вам данных с сервера и позволяет вносить изменения на него.\r\n\r\n",
"start": "👋 Привет, <i>{{ .Firstname }}</i>.\r\n",
"welcome": "🤖 Добро пожаловать в бота управления <b>{{ .Hostname }}</b>!\r\n",
"status": "✅ Бот функционирует нормально.",
"usage": "❗ Пожалуйста, укажите email для поиска.",
"getID": "🆔 Ваш User ID: <code>{{ .ID }}</code>",
"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>",
@@ -2520,14 +2519,7 @@
"restartFailed": "❗ Ошибка при перезапуске Xray-core.\r\n\r\n<code>Ошибка: {{ .Error }}</code>.",
"xrayNotRunning": "❗ Xray Core не запущен.",
"startDesc": "Показать главное меню",
"helpDesc": "Справка по боту",
"statusDesc": "Проверить статус бота",
"idDesc": "Показать ваш Telegram ID",
"usageDesc": "Показать трафик клиента: /usage email",
"inboundDesc": "Поиск входящих: /inbound имя (админ)",
"restartDesc": "Перезапустить ядро Xray (админ)",
"broadcastDesc": "Массовая рассылка всем клиентам (админ)",
"clearallDesc": "Сбросить трафик всех клиентов (админ)"
"statusOk": "✅ Бот в порядке!"
},
"messages": {
"cpuThreshold": "Загрузка процессора составляет {{ .Percent }}%, что превышает пороговое значение {{ .Threshold }}%",
@@ -2571,7 +2563,6 @@
"inviteInvalid": "❗ Эта ссылка-приглашение недействительна или уже использована.\r\n",
"inviteRateLimited": "⏳ Слишком много попыток приглашения. Попробуйте позже.\r\n",
"inviteRateLimitedAdmin": "⚠️ Попытки приглашения заблокированы для {{ .User }} (<code>{{ .ID }}</code>): более {{ .Limit }} попыток за час. Возможно, кто-то подбирает ID подписок.",
"inviteLink": "🔗 Ссылка-приглашение для <code>{{ .Email }}</code>:\r\n<code>{{ .Link }}</code>\r\n\r\nПервый, кто её откроет, будет привязан к этому клиенту.\r\n",
"exhaustedCount": "🚨 Количество исчерпанных {{ .Type }}:\r\n",
"onlinesCount": "🌐 Клиентов онлайн: {{ .Count }}\r\n",
"disabled": "🛑 Отключено: {{ .Disabled }}\r\n",
@@ -2580,13 +2571,11 @@
"refreshedOn": "\r\n📋🔄 Обновлено: {{ .Time }}\r\n\r\n",
"yes": "✅ Да",
"no": "❌ Нет",
"received_email": "📧📥 Email обновлен.",
"received_comment": "💬📥 Комментарий обновлён.",
"email_prompt": "📧 Стандартный email: {{ .ClientEmail }}\n\nВведите ваш email.",
"comment_prompt": "💬 Стандартный комментарий: {{ .ClientComment }}\n\nВведите ваш комментарий.",
"tgid_prompt": "🆔 Стандартный TG-юзер: {{ .ClientTGID }}\n\nОтправьте числовой id пользователя, чтобы привязать к клиенту, либо - / none чтобы очистить.",
"cancel": "❌ Процесс отменён! \n\nВы можете снова начать с /start в любое время. 🔄",
"error_add_client": "⚠️ Ошибка:\n\n {{ .error }}",
"using_default_value": "Используется значение по умолчанию👌",
"incorrect_input": "Ваш ввод недействителен.\nФразы должны быть непрерывными без пробелов.\nПравильный пример: aaaaaa\nНеправильный пример: aaa aaa 🚫",
"broadcastAskText": "📤 Рассылка: пришлите сообщение для ваших клиентов — текст, фото, видео, файл или целый альбом.",
"broadcastAlreadyRunning": "❗ Рассылка уже идёт, дождитесь её завершения.",
@@ -2610,7 +2599,23 @@
"eventNodeDown": "Узел {{ .Name }} НЕДОСТУПЕН",
"eventNodeUp": "Узел {{ .Name }} В СЕТИ",
"eventLoginFallback": "Неудачный вход с {{ .Source }}",
"memoryThreshold": "🔴 Использование памяти {{ .Percent }}% превышает пороговое значение {{ .Threshold }}%"
"memoryThreshold": "🔴 Использование памяти {{ .Percent }}% превышает пороговое значение {{ .Threshold }}%",
"inboundsCount": "🔌 Inbounds: {{ .Count }}\r\n",
"clientsCount": "👥 Clients: {{ .Count }}\r\n",
"category_server": "🖥 Сервер",
"category_clients": "👥 Клиенты",
"category_traffic": "🚦 Трафик",
"category_maintenance": "⚙️ Обслуживание",
"inlineHint": "\r\n🔍 The list opens through search: tap Find and start typing.",
"subURL": "🔗 Subscription: <code>{{ .URL }}</code>\r\n",
"jsonURL": "🧩 JSON: <code>{{ .URL }}</code>\r\n",
"inviteHint": "Send this link to the client: the first Telegram account to open it is bound to the client.",
"qrLegendHeader": "🔳 QR-коды:",
"qrLegendSubscription": "{{ .Code }}. Подписка",
"qrLegendJSON": "{{ .Code }}. JSON-подписка",
"qrLegendLink": "{{ .Code }}. Ссылка для приложения {{ .App }}",
"backupFailed": "Не удалось прочитать базу данных; бэкап не отправлен.",
"privateOnly": "🤖 Бот работает только в личных сообщениях. Открой его в личке."
},
"buttons": {
"closeKeyboard": "❌ Закрыть клавиатуру",
@@ -2626,9 +2631,11 @@
"serverUsage": "💻 Состояние сервера",
"getInbounds": "🔌 Входящие подключения",
"depleteSoon": "⚠️ Скоро конец",
"clientUsage": "Статистика клиента",
"onlines": "🟢 Онлайн",
"commands": "🖱️ Команды",
"catServer": "🖥 Сервер",
"catClients": "👥 Клиенты",
"catTraffic": "🚦 Трафик",
"catMaintenance": "⚙️ Обслуживание",
"refresh": "🔄 Обновить",
"clearIPs": "❌ Очистить IP",
"removeTGUser": "❌ Удалить пользователя Telegram",
@@ -2653,8 +2660,22 @@
"use_default": "🏷️ Использовать по умолчанию",
"change_email": "⚙️📧 Email",
"change_comment": "⚙️💬 Комментарий",
"ResetAllTraffics": "Сбросить весь трафик",
"SortedTrafficUsageReport": "Отсортированный отчет об использовании трафика"
"ResetAllTraffics": "♻️ Сбросить весь трафик",
"SortedTrafficUsageReport": "📈 Отсортированный отчет об использовании трафика",
"restartXray": "♻️ Restart Xray",
"back": "⬅️ Back",
"hide": "🙈 Hide",
"page": "Page {{ .Page }} of {{ .Pages }}",
"searchInbounds": "🔍 Find inbound…",
"searchClients": "🔍 Find client…",
"inlineDisabled": "⚠️ Inline mode is off",
"clientCard": "⬅️ Client card",
"links": "🔗 Links",
"individualLinks": "🔗 Individual links",
"qrCode": "🔳 QR code",
"broadcast": "📢 Рассылка",
"attachInbound": "Привязать инбаунд ({{ .Count }})",
"attachDone": "✅ Готово"
},
"answers": {
"broadcastStarted": "🚀 Рассылка запущена.",
@@ -2682,6 +2703,36 @@
"chooseClient": "Выберите клиента для входящего подключения {{ .Inbound }}",
"chooseInbound": "Выберите входящее подключение",
"qrCodeForClient": "QR-код для клиента {{ .Email }}:"
},
"screens": {
"panel": "Panel",
"main": "Main",
"status": "Server",
"inbounds": "Inbounds",
"clients": "Clients",
"client": "Client",
"links": "Links",
"qr": "QR code",
"wizard": "New client",
"reports": "Report",
"backup": "Backup",
"onlines": "Online",
"deplete": "Running out",
"commands": "Commands",
"broadcast": "Broadcast"
},
"inline": {
"noneTitle": "Nothing found",
"noneDesc": "Use @BotFather /setinline to enable the list.",
"offTitle": "⚠️ Inline mode is disabled for this bot",
"offBody": "Lists are browsed in inline mode. Enable it in @BotFather: /setinline, then tap Check again.",
"recheck": "Check again",
"expired": "истёк",
"fromFirstUse": "с первого использования"
},
"noValue": "—",
"notices": {
"repeat": "\r\n\r\n🔁 repeated {{ .Count }}× · last {{ .Time }}"
}
},
"discord": {
+83 -32
View File
@@ -85,7 +85,6 @@
"uploaded": "Odoslané",
"expiry": "Platnosť do",
"totalQuota": "Celkový dátový limit",
"individualLinks": "Samostatné odkazy",
"active": "Aktívne",
"inactive": "Neaktívne",
"unlimited": "Bez obmedzenia",
@@ -1378,7 +1377,7 @@
"telegramAPIServer": "Server API Telegramu",
"telegramAPIServerDesc": "Server API na komunikáciu s Telegramom. Prázdne pole použije predvolený server.",
"telegramChatId": "ID konverzácie správcu",
"telegramChatIdDesc": "ID konverzácií správcov v Telegrame oddelené čiarkou. Získate ich od {'@'}userinfobot alebo príkazom '/id' v botovi.",
"telegramChatIdDesc": "ID chatu (chatov) správcu v Telegrame. (oddelené čiarkou)(získate ho tu {'@'}userinfobot) alebo (použite príkaz '/id' v bote). Na posielanie do témy fóra pripojte ':topicId', napr. -1001234567890:42",
"telegramNotifyTime": "Čas upozornení",
"telegramNotifyTimeDesc": "Ako často Telegram bot posiela pravidelné správy. Vyberte interval alebo možnosť Vlastné a zadajte výraz crontab.",
"notifyTime": {
@@ -1950,6 +1949,11 @@
"subIncyResolveDnsIp": "IP servera DoH",
"subIncyResolveDnsIpDesc": "IP adresa servera DoH použitá na počiatočné pripojenie.",
"subIncyGroupRouting": "Smerovanie",
"tgInlineMissing": "Inline režim je vypnutý",
"tgInlineMissingDesc": "Zoznamy v bote sa otvárajú cez inline vyhľadávanie. Zapnite ho v @BotFather príkazom /setinline, inak ťuknutie na tlačidlo vyhľadávania nič neurobí.",
"tgInlineRecheck": "Skontrolovať znova",
"tgPrivacyOn": "Group Privacy je zapnuté",
"tgPrivacyOnDesc": "Tento bot odpovedá len v súkromnom chate, takže skupiny zámerne ignoruje. Group Privacy určuje len to, či bot smie čítať správy v skupinách, čo nepoužíva.",
"subHostSortMode": "Poradie uzlov v predplatnom",
"subHostSortInbound": "Poradie inboundov (predvolené)",
"subHostSortHosts": "Poradie hostiteľov",
@@ -2486,7 +2490,6 @@
}
},
"tgbot": {
"keyboardClosed": "❌ Vlastná klávesnica bola zatvorená!",
"noResult": "❗ Žiadny výsledok!",
"noQuery": "❌ Dotaz sa nenašiel. Použite príkaz znova.",
"wentWrong": "❌ Niečo sa nepodarilo!",
@@ -2508,10 +2511,6 @@
"unknown": "❗ Neznámy príkaz.",
"pleaseChoose": "👇 Vyberte možnosť:\r\n",
"help": "🤖 Vitajte! Tento bot zobrazuje údaje z webového panelu a umožňuje ich podľa potreby upravovať.\r\n\r\n",
"start": "👋 Dobrý deň, <i>{{ .Firstname }}</i>.\r\n",
"welcome": "🤖 Vitajte v botovi na správu <b>{{ .Hostname }}</b>.\r\n",
"status": "✅ Bot je v poriadku!",
"usage": "❗ Zadajte text na vyhľadanie!",
"getID": "🆔 Vaše ID: <code>{{ .ID }}</code>",
"helpAdminCommands": "Reštart jadra Xray:\r\n<code>/restart</code>\r\n\r\nVyhľadanie klienta podľa názvu:\r\n<code>/usage [Email]</code>\r\n\r\nVyhľadanie vstupov so štatistikami klientov:\r\n<code>/inbound [Remark]</code>\r\n\r\nID konverzácie Telegramu:\r\n<code>/id</code>",
"helpClientCommands": "Štatistiky klienta vyhľadáte príkazom:\r\n\r\n<code>/usage [Email]</code>\r\n\r\nID konverzácie Telegramu:\r\n<code>/id</code>",
@@ -2520,14 +2519,7 @@
"restartFailed": "❗ Pri vykonávaní nastala chyba.\r\n\r\n<code>Chyba: {{ .Error }}</code>.",
"xrayNotRunning": "❗ Jadro Xray nebeží.",
"startDesc": "Zobraziť hlavné menu",
"helpDesc": "Pomoc s botom",
"statusDesc": "Skontrolovať stav bota",
"idDesc": "Zobraziť vaše Telegram ID",
"usageDesc": "Zobraziť spotrebu klienta: /usage email",
"inboundDesc": "Vyhľadať vstupy: /inbound remark (správca)",
"restartDesc": "Reštartovať jadro Xray (správca)",
"broadcastDesc": "Poslať správu všetkým klientom (správca)",
"clearallDesc": "Vynulovať spotrebu všetkých klientov (správca)"
"statusOk": "✅ Bot je v poriadku!"
},
"messages": {
"cpuThreshold": "Záťaž CPU {{ .Percent }}% prekročila prah {{ .Threshold }}%",
@@ -2571,7 +2563,6 @@
"inviteInvalid": "❗ Tento pozývací odkaz je neplatný alebo už bol použitý.\r\n",
"inviteRateLimited": "⏳ Priveľa pokusov o priradenie. Skúste to neskôr.\r\n",
"inviteRateLimitedAdmin": "⚠️ Pokusy o priradenie zablokované pre {{ .User }} (<code>{{ .ID }}</code>): viac ako {{ .Limit }} pokusov za hodinu. Niekto môže hádať ID odberov.",
"inviteLink": "🔗 Pozývací odkaz pre <code>{{ .Email }}</code>:\r\n<code>{{ .Link }}</code>\r\n\r\nPrvý používateľ, ktorý ho otvorí, sa priradí k tomuto klientovi.\r\n",
"exhaustedCount": "🚨 Počet s vyčerpaným limitom {{ .Type }}:\r\n",
"onlinesCount": "🌐 Pripojení klienti: {{ .Count }}\r\n",
"disabled": "🛑 Vypnutí: {{ .Disabled }}\r\n",
@@ -2580,13 +2571,11 @@
"refreshedOn": "\r\n📋🔄 Obnovené: {{ .Time }}\r\n\r\n",
"yes": "✅ Áno",
"no": "❌ Nie",
"received_email": "📧📥 Názov klienta bol aktualizovaný.",
"received_comment": "💬📥 Poznámka bola aktualizovaná.",
"email_prompt": "📧 Predvolený názov klienta: {{ .ClientEmail }}\n\nZadajte názov klienta.",
"comment_prompt": "💬 Predvolená poznámka: {{ .ClientComment }}\n\nZadajte poznámku.",
"tgid_prompt": "🆔 Predvolený používateľ TG: {{ .ClientTGID }}\n\nPošlite číselné ID používateľa, ktoré sa má priradiť k tomuto klientovi, alebo pošlite - / none na zrušenie.",
"cancel": "❌ Akcia bola zrušená! \n\nKedykoľvek môžete začať znova príkazom /start. 🔄",
"error_add_client": "⚠️ Chyba:\n\n {{ .error }}",
"using_default_value": "Dobre, ponechám predvolenú hodnotu. 😊",
"incorrect_input": "Zadaná hodnota nie je platná.\nText musí byť súvislý, bez medzier.\nSprávne: aaaaaa\nNesprávne: aaa aaa 🚫",
"broadcastAskText": "📤 Hromadná správa: pošlite obsah pre klientov — text, fotografiu, video, súbor alebo celý album.",
"broadcastAlreadyRunning": "❗ Hromadné odosielanie už prebieha. Počkajte na jeho dokončenie.",
@@ -2610,7 +2599,23 @@
"eventNodeDown": "Server {{ .Name }} je NEDOSTUPNÝ",
"eventNodeUp": "Server {{ .Name }} je DOSTUPNÝ",
"eventLoginFallback": "Neúspešné prihlásenie z {{ .Source }}",
"memoryThreshold": "Využitie pamäte {{ .Percent }}% prekročilo prah {{ .Threshold }}%"
"memoryThreshold": "Využitie pamäte {{ .Percent }}% prekročilo prah {{ .Threshold }}%",
"inboundsCount": "🔌 Inboundy: {{ .Count }}\r\n",
"clientsCount": "👥 Klienti: {{ .Count }}\r\n",
"category_server": "🖥 Server",
"category_clients": "👥 Klienti",
"category_traffic": "🚦 Prenos",
"category_maintenance": "⚙️ Údržba",
"inlineHint": "\r\n🔍 Zoznam sa otvára cez vyhľadávanie: ťuknite na Hľadať a začnite písať.",
"subURL": "🔗 Predplatné: <code>{{ .URL }}</code>\r\n",
"jsonURL": "🧩 JSON: <code>{{ .URL }}</code>\r\n",
"inviteHint": "Pošlite tento odkaz klientovi: k tomuto klientovi sa priradí prvý účet Telegramu, ktorý ho otvorí.",
"qrLegendHeader": "🔳 QR kódy:",
"qrLegendSubscription": "{{ .Code }}. Predplatné",
"qrLegendJSON": "{{ .Code }}. Predplatné JSON",
"qrLegendLink": "{{ .Code }}. Odkaz pre aplikáciu {{ .App }}",
"backupFailed": "Databázu sa nepodarilo prečítať; záloha nebola odoslaná.",
"privateOnly": "🤖 Tento bot funguje len v súkromnom chate. Otvorte ho, prosím, v priamej správe."
},
"buttons": {
"closeKeyboard": "❌ Zavrieť klávesnicu",
@@ -2622,13 +2627,15 @@
"confirmClearIps": "✅ Potvrdiť vyčistenie IP adries?",
"confirmRemoveTGUser": "✅ Potvrdiť odobratie používateľa Telegramu?",
"confirmToggle": "✅ Potvrdiť zapnutie/vypnutie používateľa?",
"dbBackup": "Získať zálohu databázy",
"serverUsage": "Využitie servera",
"getInbounds": "Zobraziť vstupy",
"depleteSoon": "Blíži sa vyčerpanie",
"clientUsage": "Zobraziť spotrebu",
"onlines": "Pripojení klienti",
"commands": "Príkazy",
"dbBackup": "💾 Záloha databázy",
"serverUsage": "📊 Využitie servera",
"getInbounds": "🔌 Inboundy",
"depleteSoon": "⚠️ Čoskoro vyčerpaní",
"onlines": "🟢 Klienti online",
"catServer": "🖥 Server",
"catClients": "👥 Klienti",
"catTraffic": "🚦 Prenos",
"catMaintenance": "⚙️ Údržba",
"refresh": "🔄 Obnoviť",
"clearIPs": "❌ Vyčistiť IP adresy",
"removeTGUser": "❌ Odobrať používateľa Telegramu",
@@ -2645,16 +2652,30 @@
"confirmNumber": "✅ Potvrdiť: {{ .Num }}",
"confirmNumberAdd": "✅ Potvrdiť pridanie: {{ .Num }}",
"limitTraffic": "🚧 Dátový limit",
"getBanLogs": "Zobraziť záznamy blokovania",
"allClients": "Všetci klienti",
"addClient": "Pridať klienta",
"getBanLogs": "📄 Záznamy o blokovaní",
"allClients": "👥 Všetci klienti",
"addClient": "➕ Pridať klienta",
"submitDisable": "Uložiť ako vypnuté ☑️",
"submitEnable": "Uložiť ako zapnuté ✅",
"use_default": "🏷️ Použiť predvolené",
"change_email": "⚙️📧 Názov klienta",
"change_comment": "⚙️💬 Poznámka",
"ResetAllTraffics": "Vynulovať všetku spotrebu",
"SortedTrafficUsageReport": "Zoradený prehľad spotreby"
"ResetAllTraffics": "♻️ Vynulovať všetok prenos",
"SortedTrafficUsageReport": "📈 Prehľad prenosu podľa využitia",
"restartXray": "♻️ Reštartovať Xray",
"back": "⬅️ Späť",
"hide": "🙈 Skryť",
"page": "Strana {{ .Page }} z {{ .Pages }}",
"searchInbounds": "🔍 Hľadať inbound…",
"searchClients": "🔍 Hľadať klienta…",
"inlineDisabled": "⚠️ Inline režim je vypnutý",
"clientCard": "⬅️ Karta klienta",
"links": "🔗 Odkazy",
"individualLinks": "🔗 Jednotlivé odkazy",
"qrCode": "🔳 QR kód",
"broadcast": "📢 Hromadná správa",
"attachInbound": "Pripojiť inbound ({{ .Count }})",
"attachDone": "✅ Hotovo"
},
"answers": {
"broadcastStarted": "🚀 Hromadné odosielanie sa začalo.",
@@ -2682,6 +2703,36 @@
"chooseClient": "Vyberte klienta vstupu {{ .Inbound }}",
"chooseInbound": "Vyberte vstup",
"qrCodeForClient": "QR kód pre klienta {{ .Email }}:"
},
"screens": {
"panel": "Panel",
"main": "Hlavná",
"status": "Server",
"inbounds": "Inboundy",
"clients": "Klienti",
"client": "Klient",
"links": "Odkazy",
"qr": "QR kód",
"wizard": "Nový klient",
"reports": "Prehľad",
"backup": "Záloha",
"onlines": "Online",
"deplete": "Dochádza",
"commands": "Príkazy",
"broadcast": "Hromadná správa"
},
"inline": {
"noneTitle": "Nič sa nenašlo",
"noneDesc": "Na zapnutie zoznamu použite v @BotFather príkaz /setinline.",
"offTitle": "⚠️ Inline režim je pre tohto bota vypnutý",
"offBody": "Zoznamy sa prehliadajú v inline režime. Zapnite ho v @BotFather: /setinline a potom ťuknite na Skontrolovať znova.",
"recheck": "Skontrolovať znova",
"expired": "vypršalo",
"fromFirstUse": "od prvého použitia"
},
"noValue": "—",
"notices": {
"repeat": "\r\n\r\n🔁 opakované {{ .Count }}× · naposledy {{ .Time }}"
}
},
"discord": {
+82 -31
View File
@@ -85,7 +85,6 @@
"uploaded": "Yüklenen",
"expiry": "Son Kullanma",
"totalQuota": "Toplam Kota",
"individualLinks": "Bireysel Bağlantılar",
"active": "Aktif",
"inactive": "Pasif",
"unlimited": "Sınırsız",
@@ -1830,6 +1829,11 @@
"subIncyResolveDnsIp": "DoH sunucu IP'si",
"subIncyResolveDnsIpDesc": "Bootstrap için DoH sunucu IP'si.",
"subIncyGroupRouting": "Yönlendirme",
"tgInlineMissing": "Inline mode is disabled",
"tgInlineMissingDesc": "Lists in the bot open through inline search. Enable it in @BotFather with /setinline, otherwise tapping a search button does nothing.",
"tgInlineRecheck": "Check again",
"tgPrivacyOn": "Grup gizliliği açık",
"tgPrivacyOnDesc": "Bu bot yalnızca özel sohbette yanıt verir, bu yüzden grupları bilerek yok sayar. Grup gizliliği yalnızca botun grup mesajlarını okuyup okuyamayacağını belirler; bot bunu kullanmaz.",
"subHostSortMode": "Abonelik düğümü sıralaması",
"subHostSortInbound": "Gelen bağlantı sırası (varsayılan)",
"subHostSortHosts": "Ana bilgisayar sırası",
@@ -2486,7 +2490,6 @@
}
},
"tgbot": {
"keyboardClosed": "❌ Klavye kapatıldı!",
"noResult": "❗ Sonuç yok!",
"noQuery": "❌ Sorgu bulunamadı! Lütfen komutu tekrar kullanın!",
"wentWrong": "❌ Bir şeyler yanlış gitti!",
@@ -2508,10 +2511,6 @@
"unknown": "❗ Bilinmeyen komut.",
"pleaseChoose": "👇 Lütfen seçin:\r\n",
"help": "🤖 Bu bota hoş geldiniz! Web panelinden belirli verileri sunmak ve gerektiğinde değişiklik yapmanıza olanak tanımak için tasarlanmıştır.\r\n\r\n",
"start": "👋 Merhaba <i>{{ .Firstname }}</i>.\r\n",
"welcome": "🤖 <b>{{ .Hostname }}</b> yönetim botuna hoş geldiniz.\r\n",
"status": "✅ Bot çalışıyor!",
"usage": "❗ Lütfen aramak için bir metin sağlayın!",
"getID": "🆔 Kimliğiniz: <code>{{ .ID }}</code>",
"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>",
@@ -2520,14 +2519,7 @@
"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ı",
"statusDesc": "Bot durumunu kontrol et",
"idDesc": "Telegram Kimliğinizi gösterir",
"usageDesc": "İstemci kullanımını göster: /usage e-posta",
"inboundDesc": "Gelenleri ara: /inbound ad (yönetici)",
"restartDesc": "Xray çekirdeğini yeniden başlat (yönetici)",
"broadcastDesc": "Tüm istemcilere mesaj gönder (yönetici)",
"clearallDesc": "Tüm istemcilerin trafiğini sıfırla (yönetici)"
"statusOk": "✅ Bot çalışıyor!"
},
"messages": {
"cpuThreshold": "CPU Yükü ({{ .Percent }}%), {{ .Threshold }}% eşiğini aşıyor",
@@ -2571,7 +2563,6 @@
"inviteInvalid": "❗ Bu davet bağlantısı geçersiz veya daha önce kullanılmış.\r\n",
"inviteRateLimited": "⏳ Çok fazla davet denemesi. Lütfen daha sonra tekrar deneyin.\r\n",
"inviteRateLimitedAdmin": "⚠️ {{ .User }} (<code>{{ .ID }}</code>) için davet denemeleri engellendi: bir saatte {{ .Limit }} denemeden fazla. Birisi abonelik kimliklerini tahmin etmeye çalışıyor olabilir.",
"inviteLink": "🔗 <code>{{ .Email }}</code> için davet bağlantısı:\r\n<code>{{ .Link }}</code>\r\n\r\nBağlantıyı ilk açan kişi bu istemciye bağlanır.\r\n",
"exhaustedCount": "🚨 Limiti Dolan {{ .Type }} sayısı:\r\n",
"onlinesCount": "🌐 Çevrimiçi Kullanıcılar: {{ .Count }}\r\n",
"disabled": "🛑 Devre Dışı: {{ .Disabled }}\r\n",
@@ -2580,13 +2571,11 @@
"refreshedOn": "\r\n📋🔄 Yenilendi: {{ .Time }}\r\n\r\n",
"yes": "✅ Evet",
"no": "❌ Hayır",
"received_email": "📧📥 E-posta güncellendi.",
"received_comment": "💬📥 Yorum güncellendi.",
"email_prompt": "📧 Varsayılan E-posta: {{ .ClientEmail }}\n\nE-postanızı girin.",
"comment_prompt": "💬 Varsayılan Yorum: {{ .ClientComment }}\n\nYorumunuzu girin.",
"tgid_prompt": "🆔 Varsayılan TG kullanıcısı: {{ .ClientTGID }}\n\nBu istemciye bağlamak için kullanıcının sayısal id'sini gönderin veya temizlemek için - / none gönderin.",
"cancel": "❌ İşlem iptal edildi! \n\nİstediğiniz zaman /start ile yeniden başlayabilirsiniz. 🔄",
"error_add_client": "⚠️ Hata:\n\n {{ .error }}",
"using_default_value": "Tamam, varsayılan değeri kullanacağım. 😊",
"incorrect_input": "Geçersiz değer girdiniz.\nİfadeler arasında boşluk olmamalıdır.\nDoğru örnek: aaaaaa\nYanlış örnek: aaa aaa 🚫",
"broadcastAskText": "📤 Toplu gönderim: istemcilerinize iletmek istediğiniz mesajı bana gönderin — metin, fotoğraf, video, dosya veya bir albüm.",
"broadcastAlreadyRunning": "❗ Zaten devam eden bir toplu gönderim var, bitmesini bekleyin.",
@@ -2610,7 +2599,23 @@
"eventNodeDown": "{{ .Name }} düğümü ÇEVRİMDIŞI",
"eventNodeUp": "{{ .Name }} düğümü ÇEVRİMİÇİ",
"eventLoginFallback": "{{ .Source }} adresinden oturum açma başarısız",
"memoryThreshold": "Bellek kullanımı {{ .Percent }}% eşiği {{ .Threshold }}% aşıyor"
"memoryThreshold": "Bellek kullanımı {{ .Percent }}% eşiği {{ .Threshold }}% aşıyor",
"inboundsCount": "🔌 Inbounds: {{ .Count }}\r\n",
"clientsCount": "👥 Clients: {{ .Count }}\r\n",
"category_server": "🖥 Sunucu",
"category_clients": "👥 İstemciler",
"category_traffic": "🚦 Trafik",
"category_maintenance": "⚙️ Bakım",
"inlineHint": "\r\n🔍 The list opens through search: tap Find and start typing.",
"subURL": "🔗 Subscription: <code>{{ .URL }}</code>\r\n",
"jsonURL": "🧩 JSON: <code>{{ .URL }}</code>\r\n",
"inviteHint": "Send this link to the client: the first Telegram account to open it is bound to the client.",
"qrLegendHeader": "🔳 QR kodları:",
"qrLegendSubscription": "{{ .Code }}. Abonelik",
"qrLegendJSON": "{{ .Code }}. JSON abonelik",
"qrLegendLink": "{{ .Code }}. Uygulama bağlantısı {{ .App }}",
"backupFailed": "Veritabanı okunamadı; yedek gönderilmedi.",
"privateOnly": "🤖 Bu bot yalnızca özel sohbette çalışır. Lütfen doğrudan mesajda açın."
},
"buttons": {
"closeKeyboard": "❌ Klavyeyi Kapat",
@@ -2622,13 +2627,15 @@
"confirmClearIps": "✅ IP'leri Temizlemeyi Onayla?",
"confirmRemoveTGUser": "✅ Telegram Kullanıcısını Kaldırmayı Onayla?",
"confirmToggle": "✅ Kullanıcıyı Etkinleştirme/Devre Dışı Bırakmayı Onayla?",
"dbBackup": "Veritabanı Yedeği Al",
"serverUsage": "Sunucu Kullanımı",
"getInbounds": "Gelen Bağlantılarnı Al",
"depleteSoon": "Kotası Dolmak Üzere",
"clientUsage": "Kullanıcı İstatistikleri",
"onlines": "Çevrimiçi Kullanıcılar",
"commands": "Komutlar",
"dbBackup": "💾 Veritabanı Yedeği Al",
"serverUsage": "📊 Sunucu Kullanımı",
"getInbounds": "🔌 Gelen Bağlantılarnı Al",
"depleteSoon": "⚠️ Kotası Dolmak Üzere",
"onlines": "🟢 Çevrimiçi Kullanıcılar",
"catServer": "🖥 Sunucu",
"catClients": "👥 İstemciler",
"catTraffic": "🚦 Trafik",
"catMaintenance": "⚙️ Bakım",
"refresh": "🔄 Yenile",
"clearIPs": "❌ IP'leri Temizle",
"removeTGUser": "❌ Telegram Kullanıcısını Kaldır",
@@ -2645,16 +2652,30 @@
"confirmNumber": "✅ Onayla: {{ .Num }}",
"confirmNumberAdd": "✅ Ekleme onayı: {{ .Num }}",
"limitTraffic": "🚧 Trafik Sınırı",
"getBanLogs": "Yasak Günlüklerini Al",
"allClients": "Tüm Kullanıcılar",
"addClient": "Kullanıcı Ekle",
"getBanLogs": "📄 Yasak Günlüklerini Al",
"allClients": "👥 Tüm Kullanıcılar",
"addClient": "➕ Kullanıcı Ekle",
"submitDisable": "Devre Dışı Olarak Gönder ☑️",
"submitEnable": "Etkin Olarak Gönder ✅",
"use_default": "🏷️ Varsayılanı Kullan",
"change_email": "⚙️📧 E-posta",
"change_comment": "⚙️💬 Yorum",
"ResetAllTraffics": "Tüm Trafikleri Sıfırla",
"SortedTrafficUsageReport": "Sıralı Trafik Kullanım Raporu"
"ResetAllTraffics": "♻️ Tüm Trafikleri Sıfırla",
"SortedTrafficUsageReport": "📈 Sıralı Trafik Kullanım Raporu",
"restartXray": "♻️ Restart Xray",
"back": "⬅️ Back",
"hide": "🙈 Hide",
"page": "Page {{ .Page }} of {{ .Pages }}",
"searchInbounds": "🔍 Find inbound…",
"searchClients": "🔍 Find client…",
"inlineDisabled": "⚠️ Inline mode is off",
"clientCard": "⬅️ Client card",
"links": "🔗 Links",
"individualLinks": "🔗 Individual links",
"qrCode": "🔳 QR code",
"broadcast": "📢 Yayın",
"attachInbound": "Inbound ekle ({{ .Count }})",
"attachDone": "✅ Tamam"
},
"answers": {
"broadcastStarted": "🚀 Toplu gönderim başladı.",
@@ -2682,6 +2703,36 @@
"chooseClient": "Gelen Bağlantı {{ .Inbound }} için bir Kullanıcı Seçin",
"chooseInbound": "Bir Gelen Bağlantı Seçin",
"qrCodeForClient": "{{ .Email }} istemcisi için QR Kodu:"
},
"screens": {
"panel": "Panel",
"main": "Main",
"status": "Server",
"inbounds": "Inbounds",
"clients": "Clients",
"client": "Client",
"links": "Links",
"qr": "QR code",
"wizard": "New client",
"reports": "Report",
"backup": "Backup",
"onlines": "Online",
"deplete": "Running out",
"commands": "Commands",
"broadcast": "Broadcast"
},
"inline": {
"noneTitle": "Nothing found",
"noneDesc": "Use @BotFather /setinline to enable the list.",
"offTitle": "⚠️ Inline mode is disabled for this bot",
"offBody": "Lists are browsed in inline mode. Enable it in @BotFather: /setinline, then tap Check again.",
"recheck": "Check again",
"expired": "süresi doldu",
"fromFirstUse": "ilk kullanımdan"
},
"noValue": "—",
"notices": {
"repeat": "\r\n\r\n🔁 repeated {{ .Count }}× · last {{ .Time }}"
}
},
"discord": {
+82 -31
View File
@@ -85,7 +85,6 @@
"uploaded": "Відвантажено",
"expiry": "Термін дії",
"totalQuota": "Загальна квота",
"individualLinks": "Окремі посилання",
"active": "Активна",
"inactive": "Неактивна",
"unlimited": "Безліміт",
@@ -1830,6 +1829,11 @@
"subIncyResolveDnsIp": "IP DoH-сервера",
"subIncyResolveDnsIpDesc": "IP DoH-сервера для bootstrap.",
"subIncyGroupRouting": "Маршрутизація",
"tgInlineMissing": "Inline mode is disabled",
"tgInlineMissingDesc": "Lists in the bot open through inline search. Enable it in @BotFather with /setinline, otherwise tapping a search button does nothing.",
"tgInlineRecheck": "Check again",
"tgPrivacyOn": "Режим приватності увімкнено",
"tgPrivacyOnDesc": "Бот працює лише в особистих повідомленнях, тож групи він ігнорує навмисно. Приватність у групах визначає лише те, чи може бот читати повідомлення групи, — а він цього не використовує.",
"subHostSortMode": "Порядок вузлів підписки",
"subHostSortInbound": "Порядок вхідних підключень (типово)",
"subHostSortHosts": "Порядок хостів",
@@ -2486,7 +2490,6 @@
}
},
"tgbot": {
"keyboardClosed": "❌ Клавіатуру закрито!",
"noResult": "❗ Немає результату!",
"noQuery": "❌ Запит не знайдено! Будь ласка, використовуйте команду ще раз!",
"wentWrong": "❌ Щось пішло не так!",
@@ -2508,10 +2511,6 @@
"unknown": "❗ Невідома команда.",
"pleaseChoose": "👇 Будь ласка, виберіть:\r\n",
"help": "🤖 Ласкаво просимо до цього бота! Він розроблений, щоб надавати певні дані з веб-панелі та дозволяє вносити зміни за потреби.\r\n\r\n",
"start": "👋 Привіт <i>{{ .Firstname }}</i>.\r\n",
"welcome": "🤖 Ласкаво просимо до <b>{{ .Hostname }}</b> бота керування.\r\n",
"status": "✅ Бот в порядку!",
"usage": "❗ Введіть текст для пошуку!",
"getID": "🆔 Ваш ідентифікатор: <code>{{ .ID }}</code>",
"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>",
@@ -2520,14 +2519,7 @@
"restartFailed": "❗ Помилка в операції.\r\n\r\n<code>Помилка: {{ .Error }}</code>.",
"xrayNotRunning": "❗ Xray Core не запущений.",
"startDesc": "Показати головне меню",
"helpDesc": "Довідка по боту",
"statusDesc": "Перевірити статус бота",
"idDesc": "Показати ваш Telegram ID",
"usageDesc": "Показати трафік клієнта: /usage email",
"inboundDesc": "Пошук вхідних: /inbound назва (адмін)",
"restartDesc": "Перезапустити ядро Xray (адмін)",
"broadcastDesc": "Масове розсилання всім клієнтам (адмін)",
"clearallDesc": "Скинути трафік усіх клієнтів (адмін)"
"statusOk": "✅ Бот працює!"
},
"messages": {
"cpuThreshold": "Навантаження ЦП {{ .Percent }}% перевищує порогове значення {{ .Threshold }}%",
@@ -2571,7 +2563,6 @@
"inviteInvalid": "❗ Це посилання-запрошення недійсне або вже використане.\r\n",
"inviteRateLimited": "⏳ Забагато спроб запрошення. Спробуйте пізніше.\r\n",
"inviteRateLimitedAdmin": "⚠️ Спроби запрошення заблоковано для {{ .User }} (<code>{{ .ID }}</code>): понад {{ .Limit }} спроб за годину. Можливо, хтось підбирає ID підписок.",
"inviteLink": "🔗 Посилання-запрошення для <code>{{ .Email }}</code>:\r\n<code>{{ .Link }}</code>\r\n\r\nПерший, хто його відкриє, буде прив'язаний до цього клієнта.\r\n",
"exhaustedCount": "🚨 Вичерпано кількість {{ .Type }} count:\r\n",
"onlinesCount": "🌐 Онлайн-клієнти: {{ .Count }}\r\n",
"disabled": "🛑 Вимкнено: {{ .Disabled }}\r\n",
@@ -2580,13 +2571,11 @@
"refreshedOn": "\r\n📋🔄 Оновлено: {{ .Time }}\r\n\r\n",
"yes": "✅ Так",
"no": "❌ Ні",
"received_email": "📧📥 Електронна пошта оновлена.",
"received_comment": "💬📥 Коментар оновлено.",
"email_prompt": "📧 Стандартний email: {{ .ClientEmail }}\n\nВведіть ваш email.",
"comment_prompt": "💬 Стандартний коментар: {{ .ClientComment }}\n\nВведіть ваш коментар.",
"tgid_prompt": "🆔 Стандартний TG-користувач: {{ .ClientTGID }}\n\nНадішліть числовий id користувача, щоб прив'язати до клієнта, або - / none щоб очистити.",
"cancel": "❌ Процес скасовано! \n\nВи можете знову розпочати, використовуючи /start у будь-який час. 🔄",
"error_add_client": "⚠️ Помилка:\n\n {{ .error }}",
"using_default_value": "Гаразд, залишу значення за замовчуванням. 😊",
"incorrect_input": "Ваш ввід невірний.\nФрази повинні бути без пробілів.\nПравильний приклад: aaaaaa\nНеправильний приклад: aaa aaa 🚫",
"broadcastAskText": "📤 Розсилка: надішліть повідомлення для ваших клієнтів — текст, фото, відео, файл або цілий альбом.",
"broadcastAlreadyRunning": "❗ Розсилка вже триває, зачекайте її завершення.",
@@ -2610,7 +2599,23 @@
"eventNodeDown": "Вузол {{ .Name }} НЕДОСТУПНИЙ",
"eventNodeUp": "Вузол {{ .Name }} ДОСТУПНИЙ",
"eventLoginFallback": "Невдала спроба входу з {{ .Source }}",
"memoryThreshold": "Використання пам'яті {{ .Percent }}% перевищує порогове значення {{ .Threshold }}%"
"memoryThreshold": "Використання пам'яті {{ .Percent }}% перевищує порогове значення {{ .Threshold }}%",
"inboundsCount": "🔌 Inbounds: {{ .Count }}\r\n",
"clientsCount": "👥 Clients: {{ .Count }}\r\n",
"category_server": "🖥 Сервер",
"category_clients": "👥 Клієнти",
"category_traffic": "🚦 Трафік",
"category_maintenance": "⚙️ Обслуговування",
"inlineHint": "\r\n🔍 The list opens through search: tap Find and start typing.",
"subURL": "🔗 Subscription: <code>{{ .URL }}</code>\r\n",
"jsonURL": "🧩 JSON: <code>{{ .URL }}</code>\r\n",
"inviteHint": "Send this link to the client: the first Telegram account to open it is bound to the client.",
"qrLegendHeader": "🔳 QR-коди:",
"qrLegendSubscription": "{{ .Code }}. Підписка",
"qrLegendJSON": "{{ .Code }}. JSON-підписка",
"qrLegendLink": "{{ .Code }}. Посилання для застосунку {{ .App }}",
"backupFailed": "Не вдалося прочитати базу даних; резервну копію не надіслано.",
"privateOnly": "🤖 Бот працює лише в особистих повідомленнях. Відкрий його в особистому чаті."
},
"buttons": {
"closeKeyboard": "❌ Закрити клавіатуру",
@@ -2622,13 +2627,15 @@
"confirmClearIps": "✅ Підтвердити очищення IP-адрес?",
"confirmRemoveTGUser": "✅ Підтвердити видалення користувача Telegram?",
"confirmToggle": "✅ Підтвердити ввімкнути/вимкнути користувача?",
"dbBackup": "Отримати резервну копію БД",
"serverUsage": "Використання сервера",
"getInbounds": "Отримати вхідні",
"depleteSoon": "Скоро вичерпати",
"clientUsage": "Отримати використання",
"onlines": "Онлайн-клієнти",
"commands": "Команди",
"dbBackup": "💾 Отримати резервну копію БД",
"serverUsage": "📊 Використання сервера",
"getInbounds": "🔌 Отримати вхідні",
"depleteSoon": "⚠️ Скоро вичерпати",
"onlines": "🟢 Онлайн-клієнти",
"catServer": "🖥 Сервер",
"catClients": "👥 Клієнти",
"catTraffic": "🚦 Трафік",
"catMaintenance": "⚙️ Обслуговування",
"refresh": "🔄 Оновити",
"clearIPs": "❌ Очистити IP-адреси",
"removeTGUser": "❌ Видалити користувача Telegram",
@@ -2645,16 +2652,30 @@
"confirmNumber": "✅ Підтвердити: {{ .Num }}",
"confirmNumberAdd": "✅ Підтвердити додавання: {{ .Num }}",
"limitTraffic": "🚧 Ліміт трафіку",
"getBanLogs": "Отримати журнали заборон",
"allClients": "Всі Клієнти",
"addClient": "Додати клієнта",
"getBanLogs": "📄 Отримати журнали заборон",
"allClients": "👥 Всі Клієнти",
"addClient": "➕ Додати клієнта",
"submitDisable": "Надіслати як вимкнено ☑️",
"submitEnable": "Надіслати як увімкнено ✅",
"use_default": "🏷️ Використати типове",
"change_email": "⚙️📧 Email",
"change_comment": "⚙️💬 Коментар",
"ResetAllTraffics": "Скинути весь трафік",
"SortedTrafficUsageReport": "Відсортований звіт про використання трафіку"
"ResetAllTraffics": "♻️ Скинути весь трафік",
"SortedTrafficUsageReport": "📈 Відсортований звіт про використання трафіку",
"restartXray": "♻️ Restart Xray",
"back": "⬅️ Back",
"hide": "🙈 Hide",
"page": "Page {{ .Page }} of {{ .Pages }}",
"searchInbounds": "🔍 Find inbound…",
"searchClients": "🔍 Find client…",
"inlineDisabled": "⚠️ Inline mode is off",
"clientCard": "⬅️ Client card",
"links": "🔗 Links",
"individualLinks": "🔗 Individual links",
"qrCode": "🔳 QR code",
"broadcast": "📢 Розсилка",
"attachInbound": "Прив’язати інбаунд ({{ .Count }})",
"attachDone": "✅ Готово"
},
"answers": {
"broadcastStarted": "🚀 Розсилку запущено.",
@@ -2682,6 +2703,36 @@
"chooseClient": "Виберіть клієнта для Вхідного {{ .Inbound }}",
"chooseInbound": "Виберіть Вхідний",
"qrCodeForClient": "QR-код для клієнта {{ .Email }}:"
},
"screens": {
"panel": "Panel",
"main": "Main",
"status": "Server",
"inbounds": "Inbounds",
"clients": "Clients",
"client": "Client",
"links": "Links",
"qr": "QR code",
"wizard": "New client",
"reports": "Report",
"backup": "Backup",
"onlines": "Online",
"deplete": "Running out",
"commands": "Commands",
"broadcast": "Broadcast"
},
"inline": {
"noneTitle": "Nothing found",
"noneDesc": "Use @BotFather /setinline to enable the list.",
"offTitle": "⚠️ Inline mode is disabled for this bot",
"offBody": "Lists are browsed in inline mode. Enable it in @BotFather: /setinline, then tap Check again.",
"recheck": "Check again",
"expired": "минув",
"fromFirstUse": "з першого використання"
},
"noValue": "—",
"notices": {
"repeat": "\r\n\r\n🔁 repeated {{ .Count }}× · last {{ .Time }}"
}
},
"discord": {
+82 -31
View File
@@ -85,7 +85,6 @@
"uploaded": "Đã tải lên",
"expiry": "Hết hạn",
"totalQuota": "Tổng hạn mức",
"individualLinks": "Liên kết riêng lẻ",
"active": "Hoạt động",
"inactive": "Không hoạt động",
"unlimited": "Không giới hạn",
@@ -1830,6 +1829,11 @@
"subIncyResolveDnsIp": "IP máy chủ DoH",
"subIncyResolveDnsIpDesc": "IP máy chủ DoH để khởi tạo.",
"subIncyGroupRouting": "Định tuyến",
"tgInlineMissing": "Inline mode is disabled",
"tgInlineMissingDesc": "Lists in the bot open through inline search. Enable it in @BotFather with /setinline, otherwise tapping a search button does nothing.",
"tgInlineRecheck": "Check again",
"tgPrivacyOn": "Quyền riêng tư nhóm đang bật",
"tgPrivacyOnDesc": "Bot này chỉ trả lời trong trò chuyện riêng, nên nhóm bị bỏ qua có chủ đích. Quyền riêng tư nhóm chỉ quyết định bot có được đọc tin nhắn nhóm hay không, và bot không dùng đến.",
"subHostSortMode": "Thứ tự nút đăng ký",
"subHostSortInbound": "Thứ tự kết nối vào (mặc định)",
"subHostSortHosts": "Thứ tự máy chủ",
@@ -2486,7 +2490,6 @@
}
},
"tgbot": {
"keyboardClosed": "❌ Bàn phím đã đóng!",
"noResult": "❗ Không có kết quả!",
"noQuery": "❌ Không tìm thấy truy vấn! Vui lòng sử dụng lại lệnh!",
"wentWrong": "❌ Đã xảy ra lỗi!",
@@ -2508,10 +2511,6 @@
"unknown": "❗ Lệnh không rõ",
"pleaseChoose": "👇 Vui lòng chọn:\r\n",
"help": "🤖 Chào mừng bạn đến với bot này! Bot được thiết kế để cung cấp cho bạn dữ liệu cụ thể từ máy chủ và cho phép bạn thực hiện các thay đổi cần thiết.\r\n\r\n",
"start": "👋 Xin chào <i>{{ .Firstname }}</i>.\r\n",
"welcome": "🤖 Chào mừng đến với bot quản lý của <b>{{ .Hostname }}</b>.\r\n",
"status": "✅ Bot hoạt động bình thường!",
"usage": "❗ Vui lòng cung cấp văn bản để tìm kiếm!",
"getID": "🆔 ID của bạn: <code>{{ .ID }}</code>",
"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>",
@@ -2520,14 +2519,7 @@
"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",
"statusDesc": "Kiểm tra trạng thái bot",
"idDesc": "Hiển thị ID Telegram của bạn",
"usageDesc": "Xem mức dùng của khách: /usage email",
"inboundDesc": "Tìm inbound: /inbound tên (quản trị)",
"restartDesc": "Khởi động lại lõi Xray (quản trị)",
"broadcastDesc": "Gửi tin nhắn tới tất cả khách hàng (quản trị)",
"clearallDesc": "Đặt lại lưu lượng mọi khách hàng (quản trị)"
"statusOk": "✅ Bot hoạt động bình thường!"
},
"messages": {
"cpuThreshold": "Sử dụng CPU {{ .Percent }}% vượt quá ngưỡng {{ .Threshold }}%",
@@ -2571,7 +2563,6 @@
"inviteInvalid": "❗ Liên kết mời này không hợp lệ hoặc đã được sử dụng.\r\n",
"inviteRateLimited": "⏳ Quá nhiều lần thử lời mời. Vui lòng thử lại sau.\r\n",
"inviteRateLimitedAdmin": "⚠️ Đã chặn các lần thử lời mời của {{ .User }} (<code>{{ .ID }}</code>): hơn {{ .Limit }} lần trong một giờ. Có thể ai đó đang đoán ID đăng ký.",
"inviteLink": "🔗 Liên kết mời cho <code>{{ .Email }}</code>:\r\n<code>{{ .Link }}</code>\r\n\r\nNgười đầu tiên mở nó sẽ được liên kết với client này.\r\n",
"exhaustedCount": "🚨 Số lần cạn kiệt {{ .Type }}:\r\n",
"onlinesCount": "🌐 Khách hàng trực tuyến: {{ .Count }}\r\n",
"disabled": "🛑 Vô hiệu hóa: {{ .Disabled }}\r\n",
@@ -2580,13 +2571,11 @@
"refreshedOn": "\r\n📋🔄 Đã cập nhật lần cuối vào: {{ .Time }}\r\n\r\n",
"yes": "✅ Có",
"no": "❌ Không",
"received_email": "📧📥 Email đã được cập nhật.",
"received_comment": "💬📥 Bình luận đã được cập nhật.",
"email_prompt": "📧 Email mặc định: {{ .ClientEmail }}\n\nVui lòng nhập email của bạn.",
"comment_prompt": "💬 Bình luận mặc định: {{ .ClientComment }}\n\nVui lòng nhập bình luận của bạn.",
"tgid_prompt": "🆔 Người dùng TG mặc định: {{ .ClientTGID }}\n\nGửi id số của người dùng để gắn vào client này, hoặc gửi - / none để xóa.",
"cancel": "❌ Quá trình đã bị hủy! \n\nBạn có thể bắt đầu lại bất cứ lúc nào bằng cách nhập /start. 🔄",
"error_add_client": "⚠️ Lỗi:\n\n {{ .error }}",
"using_default_value": "Được rồi, tôi sẽ sử dụng giá trị mặc định. 😊",
"incorrect_input": "Dữ liệu bạn nhập không hợp lệ.\nCác chuỗi phải liền mạch và không có dấu cách.\nVí dụ đúng: aaaaaa\nVí dụ sai: aaa aaa 🚫",
"broadcastAskText": "📤 Phát tin: gửi cho tôi tin nhắn để chuyển tới khách hàng của bạn — văn bản, ảnh, video, tệp hoặc cả bộ ảnh.",
"broadcastAlreadyRunning": "❗ Một bản phát đang chạy, hãy đợi nó hoàn tất.",
@@ -2610,7 +2599,23 @@
"eventNodeDown": "Node {{ .Name }} đã NGỪNG HOẠT ĐỘNG",
"eventNodeUp": "Node {{ .Name }} đã HOẠT ĐỘNG",
"eventLoginFallback": "Đăng nhập thất bại từ {{ .Source }}",
"memoryThreshold": "Sử dụng bộ nhớ {{ .Percent }}% vượt quá ngưỡng {{ .Threshold }}%"
"memoryThreshold": "Sử dụng bộ nhớ {{ .Percent }}% vượt quá ngưỡng {{ .Threshold }}%",
"inboundsCount": "🔌 Inbounds: {{ .Count }}\r\n",
"clientsCount": "👥 Clients: {{ .Count }}\r\n",
"category_server": "🖥 Máy chủ",
"category_clients": "👥 Client",
"category_traffic": "🚦 Lưu lượng",
"category_maintenance": "⚙️ Bảo trì",
"inlineHint": "\r\n🔍 The list opens through search: tap Find and start typing.",
"subURL": "🔗 Subscription: <code>{{ .URL }}</code>\r\n",
"jsonURL": "🧩 JSON: <code>{{ .URL }}</code>\r\n",
"inviteHint": "Send this link to the client: the first Telegram account to open it is bound to the client.",
"qrLegendHeader": "🔳 Mã QR:",
"qrLegendSubscription": "{{ .Code }}. Gói đăng ký",
"qrLegendJSON": "{{ .Code }}. Gói đăng ký JSON",
"qrLegendLink": "{{ .Code }}. Liên kết ứng dụng {{ .App }}",
"backupFailed": "Không đọc được cơ sở dữ liệu; không có bản sao lưu nào được gửi.",
"privateOnly": "🤖 Bot này chỉ hoạt động trong trò chuyện riêng. Hãy mở nó trong tin nhắn trực tiếp."
},
"buttons": {
"closeKeyboard": "❌ Đóng Bàn Phím",
@@ -2622,13 +2627,15 @@
"confirmClearIps": "✅ Xác Nhận Xóa Các IP?",
"confirmRemoveTGUser": "✅ Xác Nhận Xóa Người Dùng Telegram?",
"confirmToggle": "✅ Xác nhận Bật/Tắt người dùng?",
"dbBackup": "Tải bản sao lưu cơ sở dữ liệu",
"serverUsage": "Sử Dụng Máy Chủ",
"getInbounds": "Lấy cổng vào",
"depleteSoon": "Depleted Soon",
"clientUsage": "Lấy Sử Dụng",
"onlines": "Khách hàng trực tuyến",
"commands": "Lệnh",
"dbBackup": "💾 Tải bản sao lưu cơ sở dữ liệu",
"serverUsage": "📊 Sử Dụng Máy Chủ",
"getInbounds": "🔌 Lấy cổng vào",
"depleteSoon": "⚠️ Depleted Soon",
"onlines": "🟢 Khách hàng trực tuyến",
"catServer": "🖥 Máy chủ",
"catClients": "👥 Client",
"catTraffic": "🚦 Lưu lượng",
"catMaintenance": "⚙️ Bảo trì",
"refresh": "🔄 Cập Nhật",
"clearIPs": "❌ Xóa IP",
"removeTGUser": "❌ Xóa Người Dùng Telegram",
@@ -2645,16 +2652,30 @@
"confirmNumber": "✅ Xác nhận: {{ .Num }}",
"confirmNumberAdd": "✅ Xác nhận thêm: {{ .Num }}",
"limitTraffic": "🚧 Giới hạn lưu lượng",
"getBanLogs": "Cấm nhật ký",
"allClients": "Tất cả Khách hàng",
"addClient": "Thêm Khách Hàng",
"getBanLogs": "📄 Cấm nhật ký",
"allClients": "👥 Tất cả Khách hàng",
"addClient": "➕ Thêm Khách Hàng",
"submitDisable": "Gửi Dưới Dạng Vô Hiệu ☑️",
"submitEnable": "Gửi Dưới Dạng Kích Hoạt ✅",
"use_default": "🏷️ Sử Dụng Mặc Định",
"change_email": "⚙️📧 Email",
"change_comment": "⚙️💬 Bình Luận",
"ResetAllTraffics": "Đặt lại tất cả lưu lượng",
"SortedTrafficUsageReport": "Báo cáo sử dụng lưu lượng đã sắp xếp"
"ResetAllTraffics": "♻️ Đặt lại tất cả lưu lượng",
"SortedTrafficUsageReport": "📈 Báo cáo sử dụng lưu lượng đã sắp xếp",
"restartXray": "♻️ Restart Xray",
"back": "⬅️ Back",
"hide": "🙈 Hide",
"page": "Page {{ .Page }} of {{ .Pages }}",
"searchInbounds": "🔍 Find inbound…",
"searchClients": "🔍 Find client…",
"inlineDisabled": "⚠️ Inline mode is off",
"clientCard": "⬅️ Client card",
"links": "🔗 Links",
"individualLinks": "🔗 Individual links",
"qrCode": "🔳 QR code",
"broadcast": "📢 Phát tin",
"attachInbound": "Đính kèm inbound ({{ .Count }})",
"attachDone": "✅ Xong"
},
"answers": {
"broadcastStarted": "🚀 Đã bắt đầu phát tin.",
@@ -2682,6 +2703,36 @@
"chooseClient": "Chọn một Khách hàng cho Inbound {{ .Inbound }}",
"chooseInbound": "Chọn một Inbound",
"qrCodeForClient": "Mã QR cho khách hàng {{ .Email }}:"
},
"screens": {
"panel": "Panel",
"main": "Main",
"status": "Server",
"inbounds": "Inbounds",
"clients": "Clients",
"client": "Client",
"links": "Links",
"qr": "QR code",
"wizard": "New client",
"reports": "Report",
"backup": "Backup",
"onlines": "Online",
"deplete": "Running out",
"commands": "Commands",
"broadcast": "Broadcast"
},
"inline": {
"noneTitle": "Nothing found",
"noneDesc": "Use @BotFather /setinline to enable the list.",
"offTitle": "⚠️ Inline mode is disabled for this bot",
"offBody": "Lists are browsed in inline mode. Enable it in @BotFather: /setinline, then tap Check again.",
"recheck": "Check again",
"expired": "hết hạn",
"fromFirstUse": "từ lần dùng đầu"
},
"noValue": "—",
"notices": {
"repeat": "\r\n\r\n🔁 repeated {{ .Count }}× · last {{ .Time }}"
}
},
"discord": {
+82 -31
View File
@@ -85,7 +85,6 @@
"uploaded": "已上传",
"expiry": "到期",
"totalQuota": "总配额",
"individualLinks": "单独链接",
"active": "启用",
"inactive": "停用",
"unlimited": "无限制",
@@ -1830,6 +1829,11 @@
"subIncyResolveDnsIp": "DoH 服务器 IP",
"subIncyResolveDnsIpDesc": "用于引导的 DoH 服务器 IP。",
"subIncyGroupRouting": "路由",
"tgInlineMissing": "Inline mode is disabled",
"tgInlineMissingDesc": "Lists in the bot open through inline search. Enable it in @BotFather with /setinline, otherwise tapping a search button does nothing.",
"tgInlineRecheck": "Check again",
"tgPrivacyOn": "群组隐私已开启",
"tgPrivacyOnDesc": "此机器人只在私聊中回复,因此会刻意忽略群组。群组隐私仅决定机器人能否读取群消息,而它并不使用该权限。",
"subHostSortMode": "订阅节点排序",
"subHostSortInbound": "入站顺序(默认)",
"subHostSortHosts": "主机顺序",
@@ -2486,7 +2490,6 @@
}
},
"tgbot": {
"keyboardClosed": "❌ 自定义键盘已关闭!",
"noResult": "❗ 没有结果!",
"noQuery": "❌ 未找到查询!请再次使用该命令!",
"wentWrong": "❌ 出了点问题!",
@@ -2508,10 +2511,6 @@
"unknown": "❗ 未知命令",
"pleaseChoose": "👇 请选择:\r\n",
"help": "🤖 欢迎使用本机器人!它旨在为您提供来自服务器的特定数据,并允许您进行必要的修改。\r\n\r\n",
"start": "👋 你好,<i>{{ .Firstname }}</i>。\r\n",
"welcome": "🤖 欢迎来到 <b>{{ .Hostname }}</b> 管理机器人。\r\n",
"status": "✅ 机器人正常运行!",
"usage": "❗ 请输入要搜索的文本!",
"getID": "🆔 您的 ID 为:<code>{{ .ID }}</code>",
"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>",
@@ -2520,14 +2519,7 @@
"restartFailed": "❗ 操作错误。\r\n\r\n<code>错误: {{ .Error }}</code>.",
"xrayNotRunning": "❗ Xray Core 未运行。",
"startDesc": "显示主菜单",
"helpDesc": "机器人帮助",
"statusDesc": "检查机器人状态",
"idDesc": "显示您的 Telegram ID",
"usageDesc": "查看客户端用量:/usage 邮箱",
"inboundDesc": "搜索入站:/inbound 备注(管理员)",
"restartDesc": "重启 Xray 内核(管理员)",
"broadcastDesc": "向所有客户端群发消息(管理员)",
"clearallDesc": "重置所有客户端流量(管理员)"
"statusOk": "✅ 机器人运行正常!"
},
"messages": {
"cpuThreshold": "CPU 使用率为 {{ .Percent }}%,超过阈值 {{ .Threshold }}%",
@@ -2571,7 +2563,6 @@
"inviteInvalid": "❗ 此邀请链接无效或已被使用。\r\n",
"inviteRateLimited": "⏳ 邀请尝试次数过多,请稍后再试。\r\n",
"inviteRateLimitedAdmin": "⚠️ 已阻止 {{ .User }}(<code>{{ .ID }}</code>)的邀请尝试:一小时内超过 {{ .Limit }} 次。可能有人在猜测订阅 ID。",
"inviteLink": "🔗 <code>{{ .Email }}</code> 的邀请链接:\r\n<code>{{ .Link }}</code>\r\n\r\n第一个打开它的人将绑定到此客户端。\r\n",
"exhaustedCount": "🚨 耗尽的 {{ .Type }} 数量:\r\n",
"onlinesCount": "🌐 在线客户:{{ .Count }}\r\n",
"disabled": "🛑 禁用:{{ .Disabled }}\r\n",
@@ -2580,13 +2571,11 @@
"refreshedOn": "\r\n📋🔄 刷新时间:{{ .Time }}\r\n\r\n",
"yes": "✅ 是的",
"no": "❌ 否",
"received_email": "📧📥 邮箱已更新。",
"received_comment": "💬📥 评论已更新。",
"email_prompt": "📧 默认邮箱: {{ .ClientEmail }}\n\n请输入您的邮箱。",
"comment_prompt": "💬 默认评论: {{ .ClientComment }}\n\n请输入您的评论。",
"tgid_prompt": "🆔 默认 TG 用户:{{ .ClientTGID }}\n\n发送用户的数字 id 以绑定到此客户端,或发送 - / none 以清除。",
"cancel": "❌ 进程已取消!\n\n您可以随时使用 /start 重新开始。 🔄",
"error_add_client": "⚠️ 错误:\n\n {{ .error }}",
"using_default_value": "好的,我会使用默认值。 😊",
"incorrect_input": "您的输入无效。\n短语应连续输入,不能有空格。\n正确示例: aaaaaa\n错误示例: aaa aaa 🚫",
"broadcastAskText": "📤 群发:请把要发给客户的消息发给我 — 文本、照片、视频、文件或整个相册都可以。",
"broadcastAlreadyRunning": "❗ 已有群发正在进行,请等待其完成。",
@@ -2610,7 +2599,23 @@
"eventNodeDown": "节点 {{ .Name }} 已离线",
"eventNodeUp": "节点 {{ .Name }} 已上线",
"eventLoginFallback": "来自 {{ .Source }} 的登录失败",
"memoryThreshold": "内存使用率 {{ .Percent }}% 超过阈值 {{ .Threshold }}%"
"memoryThreshold": "内存使用率 {{ .Percent }}% 超过阈值 {{ .Threshold }}%",
"inboundsCount": "🔌 Inbounds: {{ .Count }}\r\n",
"clientsCount": "👥 Clients: {{ .Count }}\r\n",
"category_server": "🖥 服务器",
"category_clients": "👥 客户端",
"category_traffic": "🚦 流量",
"category_maintenance": "⚙️ 维护",
"inlineHint": "\r\n🔍 The list opens through search: tap Find and start typing.",
"subURL": "🔗 Subscription: <code>{{ .URL }}</code>\r\n",
"jsonURL": "🧩 JSON: <code>{{ .URL }}</code>\r\n",
"inviteHint": "Send this link to the client: the first Telegram account to open it is bound to the client.",
"qrLegendHeader": "🔳 二维码:",
"qrLegendSubscription": "{{ .Code }}. 订阅",
"qrLegendJSON": "{{ .Code }}. JSON 订阅",
"qrLegendLink": "{{ .Code }}. 应用链接 {{ .App }}",
"backupFailed": "无法读取数据库,未发送备份。",
"privateOnly": "🤖 此机器人仅在私聊中工作。请在私信中打开它。"
},
"buttons": {
"closeKeyboard": "❌ 关闭键盘",
@@ -2622,13 +2627,15 @@
"confirmClearIps": "✅ 确认清除 IP?",
"confirmRemoveTGUser": "✅ 确认移除 Telegram 用户?",
"confirmToggle": "✅ 确认启用/禁用用户?",
"dbBackup": "获取数据库备份",
"serverUsage": "服务器使用情况",
"getInbounds": "获取入站信息",
"depleteSoon": "即将耗尽",
"clientUsage": "获取使用情况",
"onlines": "在线客户端",
"commands": "命令",
"dbBackup": "💾 获取数据库备份",
"serverUsage": "📊 服务器使用情况",
"getInbounds": "🔌 获取入站信息",
"depleteSoon": "⚠️ 即将耗尽",
"onlines": "🟢 在线客户端",
"catServer": "🖥 服务器",
"catClients": "👥 客户端",
"catTraffic": "🚦 流量",
"catMaintenance": "⚙️ 维护",
"refresh": "🔄 刷新",
"clearIPs": "❌ 清除 IP",
"removeTGUser": "❌ 移除 Telegram 用户",
@@ -2645,16 +2652,30 @@
"confirmNumber": "✅ 确认: {{ .Num }}",
"confirmNumberAdd": "✅ 确认添加:{{ .Num }}",
"limitTraffic": "🚧 流量限制",
"getBanLogs": "禁止日志",
"allClients": "所有客户",
"addClient": "添加客户",
"getBanLogs": "📄 禁止日志",
"allClients": "👥 所有客户",
"addClient": "➕ 添加客户",
"submitDisable": "提交为禁用 ☑️",
"submitEnable": "提交为启用 ✅",
"use_default": "🏷️ 使用默认",
"change_email": "⚙️📧 邮箱",
"change_comment": "⚙️💬 评论",
"ResetAllTraffics": "重置所有流量",
"SortedTrafficUsageReport": "排序的流量使用报告"
"ResetAllTraffics": "♻️ 重置所有流量",
"SortedTrafficUsageReport": "📈 排序的流量使用报告",
"restartXray": "♻️ Restart Xray",
"back": "⬅️ Back",
"hide": "🙈 Hide",
"page": "Page {{ .Page }} of {{ .Pages }}",
"searchInbounds": "🔍 Find inbound…",
"searchClients": "🔍 Find client…",
"inlineDisabled": "⚠️ Inline mode is off",
"clientCard": "⬅️ Client card",
"links": "🔗 Links",
"individualLinks": "🔗 Individual links",
"qrCode": "🔳 QR code",
"broadcast": "📢 广播",
"attachInbound": "关联入站 ({{ .Count }})",
"attachDone": "✅ 完成"
},
"answers": {
"broadcastStarted": "🚀 群发已开始。",
@@ -2682,6 +2703,36 @@
"chooseClient": "为入站 {{ .Inbound }} 选择一个客户",
"chooseInbound": "选择一个入站",
"qrCodeForClient": "客户端 {{ .Email }} 的二维码:"
},
"screens": {
"panel": "Panel",
"main": "Main",
"status": "Server",
"inbounds": "Inbounds",
"clients": "Clients",
"client": "Client",
"links": "Links",
"qr": "QR code",
"wizard": "New client",
"reports": "Report",
"backup": "Backup",
"onlines": "Online",
"deplete": "Running out",
"commands": "Commands",
"broadcast": "Broadcast"
},
"inline": {
"noneTitle": "Nothing found",
"noneDesc": "Use @BotFather /setinline to enable the list.",
"offTitle": "⚠️ Inline mode is disabled for this bot",
"offBody": "Lists are browsed in inline mode. Enable it in @BotFather: /setinline, then tap Check again.",
"recheck": "Check again",
"expired": "已过期",
"fromFirstUse": "自首次使用"
},
"noValue": "—",
"notices": {
"repeat": "\r\n\r\n🔁 repeated {{ .Count }}× · last {{ .Time }}"
}
},
"discord": {
+82 -31
View File
@@ -85,7 +85,6 @@
"uploaded": "已上傳",
"expiry": "到期",
"totalQuota": "總配額",
"individualLinks": "個別連結",
"active": "啟用",
"inactive": "停用",
"unlimited": "無限制",
@@ -1830,6 +1829,11 @@
"subIncyResolveDnsIp": "DoH 伺服器 IP",
"subIncyResolveDnsIpDesc": "用於引導的 DoH 伺服器 IP。",
"subIncyGroupRouting": "路由",
"tgInlineMissing": "Inline mode is disabled",
"tgInlineMissingDesc": "Lists in the bot open through inline search. Enable it in @BotFather with /setinline, otherwise tapping a search button does nothing.",
"tgInlineRecheck": "Check again",
"tgPrivacyOn": "群組隱私已開啟",
"tgPrivacyOnDesc": "此機器人只在私聊中回覆,因此會刻意忽略群組。群組隱私僅決定機器人能否讀取群組訊息,而它並不使用該權限。",
"subHostSortMode": "訂閱節點排序",
"subHostSortInbound": "入站順序(預設)",
"subHostSortHosts": "主機順序",
@@ -2486,7 +2490,6 @@
}
},
"tgbot": {
"keyboardClosed": "❌ 自定義鍵盤已關閉!",
"noResult": "❗ 沒有結果!",
"noQuery": "❌ 未找到查詢!請再次使用該命令!",
"wentWrong": "❌ 出了點問題!",
@@ -2508,10 +2511,6 @@
"unknown": "❗ 未知命令",
"pleaseChoose": "👇 請選擇:\r\n",
"help": "🤖 歡迎使用本機器人!它旨在為您提供來自伺服器的特定資料,並允許您進行必要的修改。\r\n\r\n",
"start": "👋 你好,<i>{{ .Firstname }}</i>。\r\n",
"welcome": "🤖 歡迎來到 <b>{{ .Hostname }}</b> 管理機器人。\r\n",
"status": "✅ 機器人正常執行!",
"usage": "❗ 請輸入要搜尋的文字!",
"getID": "🆔 您的 ID 為:<code>{{ .ID }}</code>",
"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>",
@@ -2520,14 +2519,7 @@
"restartFailed": "❗ 操作錯誤。\r\n\r\n<code>錯誤: {{ .Error }}</code>.",
"xrayNotRunning": "❗ Xray Core 未運行。",
"startDesc": "顯示主選單",
"helpDesc": "機器人幫助",
"statusDesc": "檢查機器人狀態",
"idDesc": "顯示您的 Telegram ID",
"usageDesc": "查看客戶端用量:/usage 郵箱",
"inboundDesc": "搜尋入站:/inbound 備註(管理員)",
"restartDesc": "重啟 Xray 核心(管理員)",
"broadcastDesc": "向所有客戶端群發訊息(管理員)",
"clearallDesc": "重置所有客戶端流量(管理員)"
"statusOk": "✅ 機器人運作正常!"
},
"messages": {
"cpuThreshold": "CPU 使用率為 {{ .Percent }}%,超過閾值 {{ .Threshold }}%",
@@ -2571,7 +2563,6 @@
"inviteInvalid": "❗ 此邀請連結無效或已被使用。\r\n",
"inviteRateLimited": "⏳ 邀請嘗試次數過多,請稍後再試。\r\n",
"inviteRateLimitedAdmin": "⚠️ 已封鎖 {{ .User }}(<code>{{ .ID }}</code>)的邀請嘗試:一小時內超過 {{ .Limit }} 次。可能有人在猜測訂閱 ID。",
"inviteLink": "🔗 <code>{{ .Email }}</code> 的邀請連結:\r\n<code>{{ .Link }}</code>\r\n\r\n第一個開啟它的人將綁定至此客戶端。\r\n",
"exhaustedCount": "🚨 耗盡的 {{ .Type }} 數量:\r\n",
"onlinesCount": "🌐 線上客戶:{{ .Count }}\r\n",
"disabled": "🛑 禁用:{{ .Disabled }}\r\n",
@@ -2580,13 +2571,11 @@
"refreshedOn": "\r\n📋🔄 重新整理時間:{{ .Time }}\r\n\r\n",
"yes": "✅ 是的",
"no": "❌ 否",
"received_email": "📧📥 電子郵件已更新。",
"received_comment": "💬📥 評論已更新。",
"email_prompt": "📧 預設電子郵件: {{ .ClientEmail }}\n\n請輸入您的電子郵件。",
"comment_prompt": "💬 預設評論: {{ .ClientComment }}\n\n請輸入您的評論。",
"tgid_prompt": "🆔 預設 TG 使用者:{{ .ClientTGID }}\n\n傳送使用者的數字 id 以綁定到此用戶端,或傳送 - / none 以清除。",
"cancel": "❌ 程序已取消!\n\n您可以隨時使用 /start 重新開始。 🔄",
"error_add_client": "⚠️ 錯誤:\n\n {{ .error }}",
"using_default_value": "好的,我會使用預設值。 😊",
"incorrect_input": "您的輸入無效。\n短語應連續輸入,不能有空格。\n正確示例: aaaaaa\n錯誤示例: aaa aaa 🚫",
"broadcastAskText": "📤 群發:請把要發給客戶的訊息傳給我 — 文字、照片、影片、檔案或整個相簿都可以。",
"broadcastAlreadyRunning": "❗ 已有群發正在進行,請等待其完成。",
@@ -2610,7 +2599,23 @@
"eventNodeDown": "節點 {{ .Name }} 已離線",
"eventNodeUp": "節點 {{ .Name }} 已上線",
"eventLoginFallback": "來自 {{ .Source }} 的登入失敗",
"memoryThreshold": "記憶體使用率 {{ .Percent }}% 超過閾值 {{ .Threshold }}%"
"memoryThreshold": "記憶體使用率 {{ .Percent }}% 超過閾值 {{ .Threshold }}%",
"inboundsCount": "🔌 Inbounds: {{ .Count }}\r\n",
"clientsCount": "👥 Clients: {{ .Count }}\r\n",
"category_server": "🖥 伺服器",
"category_clients": "👥 用戶端",
"category_traffic": "🚦 流量",
"category_maintenance": "⚙️ 維護",
"inlineHint": "\r\n🔍 The list opens through search: tap Find and start typing.",
"subURL": "🔗 Subscription: <code>{{ .URL }}</code>\r\n",
"jsonURL": "🧩 JSON: <code>{{ .URL }}</code>\r\n",
"inviteHint": "Send this link to the client: the first Telegram account to open it is bound to the client.",
"qrLegendHeader": "🔳 QR 碼:",
"qrLegendSubscription": "{{ .Code }}. 訂閱",
"qrLegendJSON": "{{ .Code }}. JSON 訂閱",
"qrLegendLink": "{{ .Code }}. 應用程式連結 {{ .App }}",
"backupFailed": "無法讀取資料庫,未傳送備份。",
"privateOnly": "🤖 此機器人僅在私聊中運作。請在私訊中開啟它。"
},
"buttons": {
"closeKeyboard": "❌ 關閉鍵盤",
@@ -2622,13 +2627,15 @@
"confirmClearIps": "✅ 確認清除 IP?",
"confirmRemoveTGUser": "✅ 確認移除 Telegram 使用者?",
"confirmToggle": "✅ 確認啟用/禁用使用者?",
"dbBackup": "獲取資料庫備份",
"serverUsage": "伺服器使用情況",
"getInbounds": "獲取入站資訊",
"depleteSoon": "即將耗盡",
"clientUsage": "獲取使用情況",
"onlines": "線上客戶端",
"commands": "命令",
"dbBackup": "💾 獲取資料庫備份",
"serverUsage": "📊 伺服器使用情況",
"getInbounds": "🔌 獲取入站資訊",
"depleteSoon": "⚠️ 即將耗盡",
"onlines": "🟢 線上客戶端",
"catServer": "🖥 伺服器",
"catClients": "👥 用戶端",
"catTraffic": "🚦 流量",
"catMaintenance": "⚙️ 維護",
"refresh": "🔄 重新整理",
"clearIPs": "❌ 清除 IP",
"removeTGUser": "❌ 移除 Telegram 使用者",
@@ -2645,16 +2652,30 @@
"confirmNumber": "✅ 確認: {{ .Num }}",
"confirmNumberAdd": "✅ 確認新增:{{ .Num }}",
"limitTraffic": "🚧 流量限制",
"getBanLogs": "禁止日誌",
"allClients": "所有客戶",
"addClient": "新增客戶",
"getBanLogs": "📄 禁止日誌",
"allClients": "👥 所有客戶",
"addClient": "➕ 新增客戶",
"submitDisable": "以停用方式送出 ☑️",
"submitEnable": "以啟用方式送出 ✅",
"use_default": "🏷️ 使用預設值",
"change_email": "⚙️📧 電子郵件",
"change_comment": "⚙️💬 評論",
"ResetAllTraffics": "重設所有流量",
"SortedTrafficUsageReport": "排序過的流量使用報告"
"ResetAllTraffics": "♻️ 重設所有流量",
"SortedTrafficUsageReport": "📈 排序過的流量使用報告",
"restartXray": "♻️ Restart Xray",
"back": "⬅️ Back",
"hide": "🙈 Hide",
"page": "Page {{ .Page }} of {{ .Pages }}",
"searchInbounds": "🔍 Find inbound…",
"searchClients": "🔍 Find client…",
"inlineDisabled": "⚠️ Inline mode is off",
"clientCard": "⬅️ Client card",
"links": "🔗 Links",
"individualLinks": "🔗 Individual links",
"qrCode": "🔳 QR code",
"broadcast": "📢 廣播",
"attachInbound": "關聯入站 ({{ .Count }})",
"attachDone": "✅ 完成"
},
"answers": {
"broadcastStarted": "🚀 群發已開始。",
@@ -2682,6 +2703,36 @@
"chooseClient": "為入站 {{ .Inbound }} 選擇一個客戶",
"chooseInbound": "選擇一個入站",
"qrCodeForClient": "客戶端 {{ .Email }} 的二維碼:"
},
"screens": {
"panel": "Panel",
"main": "Main",
"status": "Server",
"inbounds": "Inbounds",
"clients": "Clients",
"client": "Client",
"links": "Links",
"qr": "QR code",
"wizard": "New client",
"reports": "Report",
"backup": "Backup",
"onlines": "Online",
"deplete": "Running out",
"commands": "Commands",
"broadcast": "Broadcast"
},
"inline": {
"noneTitle": "Nothing found",
"noneDesc": "Use @BotFather /setinline to enable the list.",
"offTitle": "⚠️ Inline mode is disabled for this bot",
"offBody": "Lists are browsed in inline mode. Enable it in @BotFather: /setinline, then tap Check again.",
"recheck": "Check again",
"expired": "已過期",
"fromFirstUse": "自首次使用"
},
"noValue": "—",
"notices": {
"repeat": "\r\n\r\n🔁 repeated {{ .Count }}× · last {{ .Time }}"
}
},
"discord": {