♻️ refactor: Refactoring and adding multiple features

This commit is contained in:
web
2025-08-05 06:42:39 -07:00
committed by speakeloudest
parent 5a2fa2e937
commit 47d19d1b44
106 changed files with 6893 additions and 4604 deletions
+4 -11
View File
@@ -1,32 +1,25 @@
{
"ADS Config": "การตั้งค่า ADS",
"Announcement Management": "การจัดการประกาศ",
"Apple": "Apple ID",
"Application Management": "การจัดการแอปพลิเคชัน",
"Auth Control": "การควบคุมการยืนยันตัวตน",
"Coupon Management": "การจัดการคูปอง",
"Dashboard": "แดชบอร์ด",
"Device": "อุปกรณ์",
"Document Management": "การจัดการเอกสาร",
"Email": "อีเมล",
"Facebook": "Facebook",
"Finance": "การเงิน",
"General": "ทั่วไป",
"GitHub": "GitHub",
"Google": "Google",
"Order Management": "การจัดการคำสั่งซื้อ",
"Payment Config": "การตั้งค่าการชำระเงิน",
"Phone Number": "หมายเลขโทรศัพท์",
"Product Management": "การจัดการผลิตภัณฑ์",
"Protocol Management": "การจัดการโปรโตคอล",
"Rule Management": "การจัดการกฎ",
"Server": "เซิร์ฟเวอร์",
"Server Management": "การจัดการเซิร์ฟเวอร์",
"Settings": "การตั้งค่า",
"Subscribe Management": "การจัดการการสมัครสมาชิก",
"Subscribe Config": "การตั้งค่าการสมัครสมาชิก",
"System Config": "การกำหนดค่าระบบ",
"System Management": "การจัดการระบบ",
"System Tool": "เครื่องมือระบบ",
"Telegram": "เทเลแกรม",
"Ticket Management": "การจัดการตั๋ว",
"Twitter": "ทวิตเตอร์",
"User": "ผู้ใช้",
"User Detail": "รายละเอียดผู้ใช้",
"User Management": "การจัดการผู้ใช้"
+160
View File
@@ -0,0 +1,160 @@
{
"actions": "การดำเนินการ",
"app": {
"appDownloadURL": "URL ดาวน์โหลดแอป",
"appIcon": "ไอคอนแอป",
"appList": "รายการแอป",
"appName": "ชื่อแอป",
"backupDomains": "รายการโดเมนสำรอง",
"backupDomainsDescription": "รายการโดเมนสำรองสำหรับการแก้ไขโดเมน หนึ่งโดเมนต่อบรรทัด",
"batchDelete": "ลบเป็นกลุ่ม",
"cancel": "ยกเลิก",
"communicationKey": "คีย์การสื่อสาร",
"communicationKeyDescription": "คีย์ที่ใช้สำหรับการสื่อสารกับลูกค้า",
"config": "การตั้งค่า",
"configApp": "การตั้งค่าแอป",
"confirm": "ยืนยัน",
"confirmDelete": "ยืนยันการลบ",
"create": "สร้าง",
"createApp": "สร้างแอป",
"createSuccess": "สร้างสำเร็จ",
"defaultVersion": "ค่าเริ่มต้น",
"delete": "ลบ",
"deleteWarning": "การกระทำนี้ไม่สามารถย้อนกลับได้",
"describeDescription": "ใช้เพื่ออธิบายแอปพลิเคชัน แสดงในรายการแอป",
"description": "คำอธิบาย",
"downloadLink": "ลิงก์ดาวน์โหลด",
"edit": "แก้ไข",
"editApp": "แก้ไขแอป",
"encryption": "วิธีการเข้ารหัส",
"encryptionDescription": "เลือกวิธีการเข้ารหัสสำหรับการสื่อสารกับลูกค้า หากเลือกแล้ว ลูกค้าจะใช้วิธีนี้ในการสื่อสารกับเซิร์ฟเวอร์",
"nameDescription": "ชื่อแอปพลิเคชัน แสดงในรายการแอป",
"platform": "แพลตฟอร์ม",
"selectApp": "เลือกแอป",
"selectAppDescription": "เลือกแอปเพื่อกำหนดค่า การตั้งค่าทั้งหมดจะใช้กับแอปที่เลือก",
"startupPicture": "ภาพเริ่มต้น",
"startupPictureDescription": "ภาพเริ่มต้น รองรับภาพจากเครือข่ายและภาพในเครื่อง สำหรับภาพจากเครือข่าย กรุณาใส่ URL ของภาพให้ครบถ้วน",
"startupPicturePreview": "ดูตัวอย่างภาพเริ่มต้น",
"startupPictureSkip": "เวลาข้ามภาพเริ่มต้น",
"startupPictureSkipDescription": "เวลาแสดงภาพเริ่มต้นเป็นวินาที ใส่ 0 เพื่อไม่แสดง",
"subscriptionProtocol": "โปรโตคอลการสมัครสมาชิก",
"updateSuccess": "อัปเดตสำเร็จ",
"version": "เวอร์ชัน"
},
"cancel": "ยกเลิก",
"config": {
"singleSubscriptionMode": "โหมดการสมัครสมาชิกเดี่ยว",
"subscriptionDomain": "โดเมนการสมัครสมาชิก",
"subscriptionDomainDescription": "ใช้สำหรับการสมัครสมาชิก; ปล่อยว่างไว้เพื่อใช้โดเมนของเว็บไซต์",
"subscriptionDomainPlaceholder": "กรอกโดเมนการสมัครสมาชิก หนึ่งบรรทัดต่อหนึ่งโดเมน",
"subscriptionPath": "เส้นทางการสมัครสมาชิก",
"subscriptionPathDescription": "ใช้สำหรับการสมัครสมาชิก; อย่าลืมรีสตาร์ทระบบหลังจากการแก้ไขเพื่อประสิทธิภาพที่ดีที่สุด",
"subscriptionPathPlaceholder": "กรอก",
"updateSuccess": "อัปเดตสำเร็จ",
"wildcardResolution": "การแก้ไขไวลด์การ์ด",
"wildcardResolutionDescription": "ใช้สำหรับการสมัครสมาชิก"
},
"confirm": "ยืนยัน",
"confirmDelete": "คุณแน่ใจหรือว่าต้องการลบ?",
"copy": "คัดลอก",
"copySuccess": "คัดลอกสำเร็จ",
"create": "สร้าง",
"createSubscribe": "สร้างการสมัครสมาชิกใหม่",
"createSuccess": "สร้างสำเร็จ",
"delete": "ลบ",
"deleteSuccess": "ลบสำเร็จ",
"deleteWarning": "หลังจากลบแล้วข้อมูลจะไม่สามารถกู้คืนได้ โปรดดำเนินการด้วยความระมัดระวัง",
"deviceLimit": "จำนวนอุปกรณ์/เครื่อง",
"edit": "แก้ไข",
"editSubscribe": "แก้ไขการสมัครสมาชิก",
"form": {
"Day": "วัน",
"Hour": "ชั่วโมง",
"Minute": "นาที",
"Month": "เดือน",
"NoLimit": "ไม่จำกัด",
"Year": "ปี",
"annualReset": "รีเซ็ตทุกปี",
"basic": "พื้นฐาน",
"cancel": "ยกเลิก",
"confirm": "ยืนยัน",
"deductionRatio": "การตั้งค่าการหักอัตโนมัติ/ด้วยตนเอง",
"deductionRatioDescription": "ใช้สำหรับการหัก โดยค่าเริ่มต้น ระบบจะใช้วิธีการคำนวณอัตโนมัติ เมื่อมีการกำหนดอัตราส่วนด้วยตนเอง ระบบจะคำนวณสัดส่วนตามเวลาและอัตราการใช้งาน เพื่อให้มั่นใจว่ายอดรวมเท่ากับ 100%",
"description": "คำอธิบาย",
"deviceLimit": "จำกัดอุปกรณ์",
"discount": "ส่วนลด",
"discountDescription": "ตั้งค่าส่วนลดตามราคาต่อหน่วย",
"discountMonths": "เดือน",
"discountPercent": "เปอร์เซ็นต์ส่วนลด",
"discount_price": "ราคาหลังหักส่วนลด",
"duration": "ระยะเวลา (เดือน)",
"groupId": "กลุ่มการสมัครสมาชิก",
"inventory": "ขีดจำกัดการสมัครสมาชิก",
"monthlyReset": "รีเซ็ตทุกเดือน",
"name": "ชื่อ",
"noLimit": "ไม่จำกัด",
"noReset": "ไม่รีเซ็ต",
"pricing": "การตั้งราคา",
"purchaseWithDiscount": "อนุญาตให้หัก",
"purchaseWithDiscountDescription": "เปิดหรือปิดการทำงานของฟังก์ชันยกเลิกการสมัคร หลังจากเปิดใช้งาน ระบบจะดำเนินการหักเงินตามกฎและสัดส่วนที่กำหนดไว้ และมูลค่าที่เหลือจะถูกคืนไปยังยอดคงเหลือ",
"quota": "จำนวนจำกัดการซื้อ",
"renewalReset": "รีเซ็ตเมื่อมีการต่ออายุ",
"renewalResetDescription": "รีเซ็ตรอบเมื่อมีการต่ออายุ",
"replacement": "ราคารีเซ็ต (ต่อครั้ง)",
"resetCycle": "รอบการรีเซ็ต",
"resetOn1st": "รีเซ็ตในวันที่ 1",
"selectResetCycle": "กรุณาเลือกรอบการรีเซ็ต",
"selectSubscribeGroup": "กรุณาเลือกกลุ่มการสมัครสมาชิก",
"selectUnitTime": "กรุณาเลือกหน่วยเวลา",
"server": "เซิร์ฟเวอร์",
"serverGroup": "กลุ่มเซิร์ฟเวอร์",
"servers": "เซิร์ฟเวอร์",
"speedLimit": "จำกัดความเร็ว ",
"traffic": "ปริมาณข้อมูล",
"unitPrice": "ราคาต่อหน่วย",
"unitTime": "หน่วยเวลา"
},
"group": {
"actions": "การดำเนินการ",
"cancel": "ยกเลิก",
"confirm": "ยืนยัน",
"confirmDelete": "ยืนยันการลบหรือไม่?",
"create": "สร้าง",
"createSubscribeGroup": "สร้างกลุ่มการสมัครใหม่",
"createSuccess": "สร้างสำเร็จ",
"delete": "ลบ",
"deleteSuccess": "ลบสำเร็จ",
"deleteWarning": "ข้อมูลจะไม่สามารถกู้คืนได้หลังจากลบ โปรดดำเนินการด้วยความระมัดระวัง",
"description": "คำอธิบาย",
"edit": "แก้ไข",
"editSubscribeGroup": "แก้ไขกลุ่มการสมัคร",
"form": {
"cancel": "ยกเลิก",
"confirm": "ยืนยัน",
"description": "คำอธิบาย",
"name": "ชื่อ"
},
"name": "ชื่อ",
"title": "รายการกลุ่มการสมัคร",
"updateSuccess": "อัปเดตสำเร็จ",
"updatedAt": "เวลาอัปเดต"
},
"inventory": "ขีดจำกัดการสมัครสมาชิก",
"name": "ชื่อ",
"quota": "จำกัดการซื้อ/ครั้ง",
"replacement": "รีเซ็ตราคา/ครั้ง",
"sell": "ขาย",
"show": "แสดง",
"sold": "จำนวนการสมัครสมาชิก",
"subscribe": "สมัครสมาชิก",
"subscribeGroup": "สมัครกลุ่ม",
"tabs": {
"subscribe": "สมัครสมาชิก",
"subscribeApp": "การกำหนดค่าแอป",
"subscribeConfig": "การกำหนดค่าการสมัครสมาชิก",
"subscribeGroup": "กลุ่มสมัครสมาชิก"
},
"traffic": "การจราจร",
"unitPrice": "ราคาต่อหน่วย",
"updateSuccess": "อัปเดตสำเร็จ"
}
+76 -148
View File
@@ -1,161 +1,89 @@
{
"actions": "การดำเนินการ",
"app": {
"appDownloadURL": "URL ดาวน์โหลดแอป",
"appIcon": "ไอคอนแอป",
"appList": "รายการแอป",
"appName": "ชื่อแอป",
"backupDomains": "รายการโดเมนสำรอง",
"backupDomainsDescription": "รายการโดเมนสำรองสำหรับการแก้ไขโดเมน หนึ่งโดเมนต่อบรรทัด",
"batchDelete": "ลบเป็นกลุ่ม",
"actions": {
"cancel": "ยกเลิก",
"communicationKey": "คีย์การสื่อสาร",
"communicationKeyDescription": "คีย์ที่ใช้สำหรับการสื่อสารกับลูกค้า",
"config": "การตั้งค่า",
"configApp": "การตั้งค่าแอป",
"confirm": "ยืนยัน",
"confirmDelete": "ยืนยันการลบ",
"create": "สร้าง",
"createApp": "สร้างแอป",
"createSuccess": "สร้างสำเร็จ",
"defaultVersion": "ค่าเริ่มต้น",
"delete": "ลบ",
"deleteWarning": "การกระทำนี้ไม่สามารถย้อนกลับได้",
"describeDescription": "ใช้เพื่ออธิบายแอปพลิเคชัน แสดงในรายการแอป",
"description": "คำอธิบาย",
"downloadLink": "ลิงก์ดาวน์โหลด",
"edit": "แก้ไข",
"editApp": "แก้ไขแอป",
"encryption": "วิธีการเข้ารหัส",
"encryptionDescription": "เลือกวิธีการเข้ารหัสสำหรับการสื่อสารกับลูกค้า หากเลือกแล้ว ลูกค้าจะใช้วิธีนี้ในการสื่อสารกับเซิร์ฟเวอร์",
"nameDescription": "ชื่อแอปพลิเคชัน แสดงในรายการแอป",
"platform": "แพลตฟอร์ม",
"selectApp": "เลือกแอป",
"selectAppDescription": "เลือกแอปเพื่อกำหนดค่า การตั้งค่าทั้งหมดจะใช้กับแอปที่เลือก",
"startupPicture": "ภาพเริ่มต้น",
"startupPictureDescription": "ภาพเริ่มต้น รองรับภาพจากเครือข่ายและภาพในเครื่อง สำหรับภาพจากเครือข่าย กรุณาใส่ URL ของภาพให้ครบถ้วน",
"startupPicturePreview": "ดูตัวอย่างภาพเริ่มต้น",
"startupPictureSkip": "เวลาข้ามภาพเริ่มต้น",
"startupPictureSkipDescription": "เวลาแสดงภาพเริ่มต้นเป็นวินาที ใส่ 0 เพื่อไม่แสดง",
"subscriptionProtocol": "โปรโตคอลการสมัครสมาชิก",
"updateSuccess": "อัปเดตสำเร็จ",
"version": "เวอร์ชัน"
"save": "บันทึก",
"saveTemplate": "บันทึกเทมเพลต"
},
"cancel": "ยกเลิก",
"config": {
"singleSubscriptionMode": "โหมดการสมัครสมาชิกเดี่ยว",
"singleSubscriptionModeDescription": "เมื่อเปิดใช้งาน การสมัครสมาชิกทั้งหมดของผู้ใช้จะถูกแปลงเป็นยอดคงเหลือ",
"description": "จัดการการตั้งค่าระบบการสมัครสมาชิก",
"restrictUserAgent": "การจำกัด User-Agent",
"restrictUserAgentDescription": "เปิดใช้งานการจำกัดการเข้าถึงตาม User-Agent",
"singleSubscriptionMode": "โหมดการสมัครสมาชิกเดียว",
"singleSubscriptionModeDescription": "จำกัดผู้ใช้ให้มีการสมัครสมาชิกที่ใช้งานอยู่เพียงหนึ่งรายการ การสมัครสมาชิกที่มีอยู่ไม่ถูกกระทบ",
"subscriptionDomain": "โดเมนการสมัครสมาชิก",
"subscriptionDomainDescription": "ใช้สำหรับการสมัครสมาชิก; ปล่อยว่างไว้เพื่อใช้โดเมนของเว็บไซต์",
"subscriptionDomainPlaceholder": "กรอกโดเมนการสมัครสมาชิก หนึ่งบรรทัดต่อหนึ่งโดเมน",
"subscriptionDomainDescription": "โดเมนที่กำหนดเองสำหรับลิงก์การสมัครสมาชิก",
"subscriptionDomainPlaceholder": "กรอกโดเมนการสมัครสมาชิก, หนึ่งต่อบรรทัด",
"subscriptionPath": "เส้นทางการสมัครสมาชิก",
"subscriptionPathDescription": "ใช้สำหรับการสมัครสมาชิก; อย่าลืมรีสตาร์ทระบบหลังจากการแก้ไขเพื่อประสิทธิภาพที่ดีที่สุด",
"subscriptionPathPlaceholder": "กรอก",
"updateSuccess": "อัปเดตสำเร็จ",
"wildcardResolution": "การแก้ไขไวลด์การ์ด",
"wildcardResolutionDescription": "ใช้สำหรับการสมัครสมาชิก"
"subscriptionPathDescription": "เส้นทางที่กำหนดเองสำหรับจุดสิ้นสุดการสมัครสมาชิก (ประสิทธิภาพดีขึ้นหลังจากการรีสตาร์ทระบบ)",
"subscriptionPathPlaceholder": "กรอกเส้นทางการสมัครสมาชิก",
"title": "การตั้งค่าการสมัครสมาชิก",
"updateError": "การอัปเดตล้มเหลว",
"updateSuccess": "อัปเดตการตั้งค่าเรียบร้อยแล้ว",
"userAgentWhitelist": "รายการอนุญาต User-Agent",
"userAgentWhitelistDescription": "User-Agent ที่อนุญาตสำหรับการเข้าถึงการสมัครสมาชิก หนึ่งรายการต่อบรรทัด เทมเพลตที่มีอยู่จะถูกเพิ่มโดยอัตโนมัติในรายการอนุญาต",
"userAgentWhitelistPlaceholder": "กรอก User-Agent ที่อนุญาต หนึ่งรายการต่อบรรทัด",
"wildcardResolution": "การแก้ไขโดเมนแบบไวลด์การ์ด",
"wildcardResolutionDescription": "เปิดใช้งานการแก้ไขโดเมนแบบไวลด์การ์ดสำหรับการสมัครสมาชิก"
},
"confirm": "ยืนยัน",
"confirmDelete": "คุณแน่ใจหรือว่าต้องการลบ?",
"copy": "คัดลอก",
"copySuccess": "คัดลอกสำเร็จ",
"create": "สร้าง",
"createSubscribe": "สร้างการสมัครสมาชิกใหม่",
"createSuccess": "สร้างสำเร็จ",
"delete": "ลบ",
"deleteSuccess": "ลบสำเร็จ",
"deleteWarning": "หลังจากลบแล้วข้อมูลจะไม่สามารถกู้คืนได้ โปรดดำเนินการด้วยความระมัดระวัง",
"deviceLimit": "จำนวนอุปกรณ์/เครื่อง",
"edit": "แก้ไข",
"editSubscribe": "แก้ไขการสมัครสมาชิก",
"form": {
"Day": "วัน",
"Hour": "ชั่วโมง",
"Minute": "นาที",
"Month": "เดือน",
"NoLimit": "ไม่จำกัด",
"Year": "ปี",
"annualReset": "รีเซ็ตทุกปี",
"basic": "พื้นฐาน",
"cancel": "ยกเลิก",
"confirm": "ยืนยัน",
"deductionRatio": "การตั้งค่าการหักอัตโนมัติ/ด้วยตนเอง",
"deductionRatioDescription": "ใช้สำหรับการหัก โดยค่าเริ่มต้น ระบบจะใช้วิธีการคำนวณอัตโนมัติ เมื่อมีการกำหนดอัตราส่วนด้วยตนเอง ระบบจะคำนวณสัดส่วนตามเวลาและอัตราการใช้งาน เพื่อให้มั่นใจว่ายอดรวมเท่ากับ 100%",
"description": "คำอธิบาย",
"deviceLimit": "จำกัดอุปกรณ์",
"discount": "ส่วนลด",
"discountDescription": "ตั้งค่าส่วนลดตามราคาต่อหน่วย",
"discountMonths": "เดือน",
"discountPercent": "เปอร์เซ็นต์ส่วนลด",
"discount_price": "ราคาหลังหักส่วนลด",
"duration": "ระยะเวลา (เดือน)",
"groupId": "กลุ่มการสมัครสมาชิก",
"inventory": "ขีดจำกัดการสมัครสมาชิก",
"monthlyReset": "รีเซ็ตทุกเดือน",
"name": "ชื่อ",
"noLimit": "ไม่จำกัด",
"noReset": "ไม่รีเซ็ต",
"pricing": "การตั้งราคา",
"purchaseWithDiscount": "อนุญาตให้หัก",
"purchaseWithDiscountDescription": "เปิดหรือปิดการทำงานของฟังก์ชันยกเลิกการสมัคร หลังจากเปิดใช้งาน ระบบจะดำเนินการหักเงินตามกฎและสัดส่วนที่กำหนดไว้ และมูลค่าที่เหลือจะถูกคืนไปยังยอดคงเหลือ",
"quota": "จำนวนจำกัดการซื้อ",
"renewalReset": "รีเซ็ตเมื่อมีการต่ออายุ",
"renewalResetDescription": "รีเซ็ตรอบเมื่อมีการต่ออายุ",
"replacement": "ราคารีเซ็ต (ต่อครั้ง)",
"resetCycle": "รอบการรีเซ็ต",
"resetOn1st": "รีเซ็ตในวันที่ 1",
"selectResetCycle": "กรุณาเลือกรอบการรีเซ็ต",
"selectSubscribeGroup": "กรุณาเลือกกลุ่มการสมัครสมาชิก",
"selectUnitTime": "กรุณาเลือกหน่วยเวลา",
"server": "เซิร์ฟเวอร์",
"serverGroup": "กลุ่มเซิร์ฟเวอร์",
"servers": "เซิร์ฟเวอร์",
"speedLimit": "จำกัดความเร็ว ",
"traffic": "ปริมาณข้อมูล",
"unitPrice": "ราคาต่อหน่วย",
"unitTime": "หน่วยเวลา"
"description": "กำหนดค่าการตั้งค่าการสมัครสมาชิกและเทมเพลตของลูกค้า",
"messages": {
"noClients": "ไม่มีเทมเพลตลูกค้า",
"noClientsDescription": "ยังไม่มีการกำหนดเทมเพลตลูกค้า เพิ่มเทมเพลตแรกของคุณเพื่อเริ่มต้น"
},
"group": {
"actions": "การดำเนินการ",
"cancel": "ยกเลิก",
"confirm": "ยืนยัน",
"confirmDelete": "ยืนยันการลบหรือไม่?",
"create": "สร้าง",
"createSubscribeGroup": "สร้างกลุ่มการสมัครใหม่",
"createSuccess": "สร้างสำเร็จ",
"delete": "ลบ",
"deleteSuccess": "ลบสำเร็จ",
"deleteWarning": "ข้อมูลจะไม่สามารถกู้คืนได้หลังจากลบ โปรดดำเนินการด้วยความระมัดระวัง",
"description": "คำอธิบาย",
"edit": "แก้ไข",
"editSubscribeGroup": "แก้ไขกลุ่มการสมัคร",
"form": {
"cancel": "ยกเลิก",
"confirm": "ยืนยัน",
"description": "คำอธิบาย",
"name": "ชื่อ"
"protocol": {
"clients": {
"clash": {
"features": "ระบบนิเวศขนาดใหญ่, กฎที่ครอบคลุม, ชุมชนที่กระตือรือร้น"
},
"egern": {
"features": "ลูกค้า iOS ที่ทันสมัย, ประสิทธิภาพยอดเยี่ยม"
},
"hiddify": {
"features": "หลายแพลตฟอร์ม, โปรโตคอลที่ครอบคลุม, เหมาะสำหรับผู้เริ่มต้น"
},
"loon": {
"features": "ลูกค้าขั้นสูงสำหรับ iOS, กฎที่หลากหลาย, อินเทอร์เฟซที่สวยงาม"
},
"netch": {
"features": "ลูกค้าพร็อกซีที่มุ่งเน้นการเล่นเกม"
},
"quantumult": {
"features": "ลูกค้าขั้นสูงสำหรับ iOS, กฎที่ยืดหยุ่น, สคริปต์ที่หลากหลาย"
},
"shadowrocket": {
"features": "ลูกค้า iOS คลาสสิก, การกำหนดค่าที่ยืดหยุ่น"
},
"singbox": {
"features": "เคอร์เนลล่าสุด, GUI อย่างเป็นทางการ, รองรับหลายแพลตฟอร์ม"
},
"stash": {
"features": "UI มือถือที่ทันสมัย, โปรโตคอลที่ครอบคลุม"
},
"surfboard": {
"features": "ฟรี, การพัฒนาที่กระตือรือร้น, อินเทอร์เฟซที่ทันสมัย"
},
"surge": {
"features": "เครื่องมือ iOS/Mac ระดับพรีเมียม, คุณสมบัติที่ทรงพลัง"
},
"v2box": {
"features": "ลูกค้า V2Ray ที่ใช้งานง่าย"
},
"v2rayn": {
"features": "ลูกค้าที่ได้รับความนิยมสำหรับ Windows, ฟีเจอร์มากมาย"
},
"v2rayng": {
"features": "ลูกค้าที่ได้รับความนิยมสำหรับ Android, น้ำหนักเบา"
}
},
"name": "ชื่อ",
"title": "รายการกลุ่มการสมัคร",
"updateSuccess": "อัปเดตสำเร็จ",
"updatedAt": "เวลาอัปเดต"
"description": "จัดการเทมเพลตการกำหนดค่าการสมัครสมาชิกสำหรับลูกค้าพร็อกซี",
"features": "คุณสมบัติหลัก",
"platforms": "แพลตฟอร์ม",
"subscribeTemplate": "การกำหนดค่าเทมเพลตการสมัครสมาชิก",
"templateContent": "เนื้อหาเทมเพลต",
"templatePlaceholder": "กรอกเทมเพลตการกำหนดค่าลูกค้า...",
"title": "เทมเพลตการสมัครสมาชิกของลูกค้า"
},
"inventory": "ขีดจำกัดการสมัครสมาชิก",
"name": "ชื่อ",
"quota": "จำกัดการซื้อ/ครั้ง",
"replacement": "รีเซ็ตราคา/ครั้ง",
"sell": "ขาย",
"show": "แสดง",
"sold": "จำนวนการสมัครสมาชิก",
"subscribe": "สมัครสมาชิก",
"subscribeGroup": "สมัครกลุ่ม",
"tabs": {
"subscribe": "สมัครสมาชิก",
"subscribeApp": "การกำหนดค่าแอป",
"subscribeConfig": "การกำหนดค่าการสมัครสมาชิก",
"subscribeGroup": "กลุ่มสมัครสมาชิก"
},
"traffic": "การจราจร",
"unitPrice": "ราคาต่อหน่วย",
"updateSuccess": "อัปเดตสำเร็จ"
"title": "การจัดการการสมัครสมาชิก"
}