♻️ refactor: Refactor server management API endpoints and typings

This commit is contained in:
web
2025-08-26 09:37:15 -07:00
parent 217ddce60c
commit 4f7cc807af
141 changed files with 5665 additions and 10338 deletions
+18 -9
View File
@@ -1,27 +1,36 @@
{
"ADS Config": "การตั้งค่า ADS",
"Announcement Management": "การจัดการประกาศ",
"Application Management": "การจัดการแอปพลิเคชัน",
"Auth Control": "การควบคุมการยืนยันตัวตน",
"Balance": "ยอดคงเหลือ",
"Commerce": "การค้า",
"Commission": "ค่าคอมมิชชั่น",
"Coupon Management": "การจัดการคูปอง",
"Dashboard": "แดชบอร์ด",
"Document Management": "การจัดการเอกสาร",
"Finance": "การเงิน",
"Email": "อีเมล",
"Gift": "ของขวัญ",
"Login": "เข้าสู่ระบบ",
"Logs & Analytics": "บันทึกและการวิเคราะห์",
"Maintenance": "การบำรุงรักษา",
"Marketing Management": "การจัดการการตลาด",
"Node Management": "การจัดการโหนด",
"Order Management": "การจัดการคำสั่งซื้อ",
"Payment Config": "การตั้งค่าการชำระเงิน",
"Product Management": "การจัดการผลิตภัณฑ์",
"Protocol Management": "การจัดการโปรโตคอล",
"Rule Management": "การจัดการกฎ",
"Server": "เซิร์ฟเวอร์",
"Register": "ลงทะเบียน",
"Reset Subscribe": "รีเซ็ตการสมัครสมาชิก",
"SMS": "ข้อความสั้น",
"Server Management": "การจัดการเซิร์ฟเวอร์",
"Settings": "การตั้งค่า",
"Server Traffic": "การจราจรของเซิร์ฟเวอร์",
"Subscribe": "สมัครสมาชิก",
"Subscribe Config": "การตั้งค่าการสมัครสมาชิก",
"Subscribe Traffic": "การจราจรของการสมัครสมาชิก",
"System": "ระบบ",
"System Config": "การกำหนดค่าระบบ",
"System Management": "การจัดการระบบ",
"System Tool": "เครื่องมือระบบ",
"Ticket Management": "การจัดการตั๋ว",
"User": "ผู้ใช้",
"User Detail": "รายละเอียดผู้ใช้",
"User Management": "การจัดการผู้ใช้"
"User Management": "การจัดการผู้ใช้",
"Users & Support": "ผู้ใช้และการสนับสนุน"
}
+37
View File
@@ -0,0 +1,37 @@
{
"address": "ที่อยู่",
"cancel": "ยกเลิก",
"confirm": "ยืนยัน",
"confirmDeleteDesc": "การกระทำนี้ไม่สามารถย้อนกลับได้",
"confirmDeleteTitle": "ลบโหนดนี้หรือไม่?",
"copied": "คัดลอกแล้ว",
"copy": "คัดลอก",
"create": "สร้าง",
"created": "สร้างแล้ว",
"delete": "ลบ",
"deleted": "ลบแล้ว",
"drawerCreateTitle": "สร้างโหนด",
"drawerEditTitle": "แก้ไขโหนด",
"edit": "แก้ไข",
"enabled": "เปิดใช้งาน",
"enabled_off": "ปิดใช้งาน",
"enabled_on": "เปิดใช้งาน",
"errors": {
"nameRequired": "กรุณาใส่ชื่อ",
"portRange": "พอร์ตต้องอยู่ระหว่าง 1 ถึง 65535",
"protocolRequired": "กรุณาเลือกโปรโตคอล",
"serverAddrRequired": "กรุณาใส่ที่อยู่ของเซิร์ฟเวอร์",
"serverRequired": "กรุณาเลือกเซิร์ฟเวอร์"
},
"name": "ชื่อ",
"pageTitle": "โหนด",
"port": "พอร์ต",
"protocol": "โปรโตคอล",
"select_protocol": "เลือกโปรโตคอล…",
"select_server": "เลือกเซิร์ฟเวอร์…",
"server": "เซิร์ฟเวอร์",
"tags": "แท็ก",
"tags_description": "แท็กการจัดกลุ่มสิทธิ์ (รวมถึงการผูกแผนและนโยบายการจัดส่ง)",
"tags_placeholder": "ใช้ Enter หรือเครื่องหมายจุลภาค (,) เพื่อเพิ่มแท็กหลายรายการ",
"updated": "อัปเดตแล้ว"
}
+3 -58
View File
@@ -1,59 +1,6 @@
{
"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": "คัดลอก",
@@ -94,6 +41,9 @@
"name": "ชื่อ",
"noLimit": "ไม่จำกัด",
"noReset": "ไม่รีเซ็ต",
"node": "โหนด",
"nodeGroup": "กลุ่มโหนด",
"nodes": "โหนด",
"pricing": "การตั้งราคา",
"purchaseWithDiscount": "อนุญาตให้หัก",
"purchaseWithDiscountDescription": "เปิดหรือปิดการทำงานของฟังก์ชันยกเลิกการสมัคร หลังจากเปิดใช้งาน ระบบจะดำเนินการหักเงินตามกฎและสัดส่วนที่กำหนดไว้ และมูลค่าที่เหลือจะถูกคืนไปยังยอดคงเหลือ",
@@ -106,9 +56,6 @@
"selectResetCycle": "กรุณาเลือกรอบการรีเซ็ต",
"selectSubscribeGroup": "กรุณาเลือกกลุ่มการสมัครสมาชิก",
"selectUnitTime": "กรุณาเลือกหน่วยเวลา",
"server": "เซิร์ฟเวอร์",
"serverGroup": "กลุ่มเซิร์ฟเวอร์",
"servers": "เซิร์ฟเวอร์",
"speedLimit": "จำกัดความเร็ว ",
"traffic": "ปริมาณข้อมูล",
"unitPrice": "ราคาต่อหน่วย",
@@ -150,8 +97,6 @@
"subscribeGroup": "สมัครกลุ่ม",
"tabs": {
"subscribe": "สมัครสมาชิก",
"subscribeApp": "การกำหนดค่าแอป",
"subscribeConfig": "การกำหนดค่าการสมัครสมาชิก",
"subscribeGroup": "กลุ่มสมัครสมาชิก"
},
"traffic": "การจราจร",
-183
View File
@@ -1,183 +0,0 @@
{
"config": {
"addTimeSlot": "เพิ่มช่วงเวลา",
"communicationKey": "คีย์การสื่อสาร",
"communicationKeyDescription": "คีย์สำหรับการสื่อสารของโหนดเพื่อความปลอดภัยของข้อมูล",
"delete": "ลบ",
"dynamicMultiplier": "ตัวคูณแบบไดนามิก",
"dynamicMultiplierDescription": "ตัวคูณแบบไดนามิกหมายถึงการประมวลผลข้อมูลที่ถูกส่งด้วยตัวคูณที่แตกต่างกันสำหรับโหนดต่างๆ ในช่วงเวลาที่แตกต่างกัน",
"endTime": "เวลาสิ้นสุด",
"inputPlaceholder": "กรอก",
"multiplier": "ตัวคูณ",
"nodePullInterval": "ช่วงเวลาการดึงของโหนด",
"nodePullIntervalDescription": "ความถี่ (เป็นวินาที) ที่โหนดจะดึงข้อมูลจากแผงควบคุม",
"nodePushInterval": "ช่วงเวลาการส่งของโหนด",
"nodePushIntervalDescription": "ความถี่ที่โหนดจะส่งข้อมูลไปยังแผงควบคุม",
"reset": "รีเซ็ต",
"save": "บันทึก",
"saveSuccess": "บันทึกสำเร็จ",
"startTime": "เวลาเริ่มต้น",
"timeSlot": "ช่วงเวลา"
},
"group": {
"actions": "การดำเนินการ",
"cancel": "ยกเลิก",
"confirm": "ยืนยัน",
"confirmDelete": "คุณแน่ใจหรือว่าต้องการลบ?",
"create": "สร้าง",
"createNodeGroup": "สร้างกลุ่มโหนด",
"createdSuccessfully": "สร้างสำเร็จ",
"delete": "ลบ",
"deleteWarning": "ข้อมูลจะไม่สามารถกู้คืนได้หลังจากลบ โปรดดำเนินการด้วยความระมัดระวัง",
"deletedSuccessfully": "ลบสำเร็จ",
"description": "คำอธิบาย",
"edit": "แก้ไข",
"editNodeGroup": "แก้ไขกลุ่มโหนด",
"name": "ชื่อ",
"title": "รายการกลุ่มโหนด",
"updatedAt": "อัปเดตเมื่อ"
},
"groupForm": {
"cancel": "ยกเลิก",
"confirm": "ยืนยัน",
"description": "คำอธิบาย",
"name": "ชื่อ"
},
"node": {
"abnormal": "ผิดปกติ",
"actions": "การดำเนินการ",
"address": "ที่อยู่",
"all": "ทั้งหมด",
"basicInfo": "ข้อมูลพื้นฐาน",
"cancel": "ยกเลิก",
"confirm": "ยืนยัน",
"confirmDelete": "คุณแน่ใจหรือไม่ว่าต้องการลบ?",
"copy": "คัดลอก",
"copySuccess": "คัดลอกสำเร็จ",
"create": "สร้าง",
"createNode": "สร้างโหนด",
"createSuccess": "สร้างสำเร็จ",
"delete": "ลบ",
"deleteSuccess": "ลบสำเร็จ",
"deleteWarning": "หลังจากลบแล้ว ข้อมูลจะไม่สามารถกู้คืนได้ โปรดดำเนินการด้วยความระมัดระวัง",
"detail": "รายละเอียด",
"disabled": "ปิดการใช้งาน",
"disk": "ดิสก์",
"edit": "แก้ไข",
"editNode": "แก้ไขโหนด",
"enable": "เปิดใช้งาน",
"enabled": "เปิดการใช้งาน",
"expireTime": "เวลาหมดอายุ",
"hide": "ซ่อน",
"id": "รหัส",
"ipAddresses": "ที่อยู่ IP",
"lastUpdated": "อัปเดตล่าสุด",
"location": "ตำแหน่งที่ตั้ง",
"memory": "หน่วยความจำ",
"name": "ชื่อ",
"noData": "--",
"node": "โหนด",
"nodeDetail": "รายละเอียดโหนด",
"nodeGroup": "กลุ่มโหนด",
"nodeStatus": "สถานะโหนด",
"normal": "ปกติ",
"onlineCount": "จำนวนผู้ใช้ออนไลน์",
"onlineUsers": "ผู้ใช้ออนไลน์",
"protocol": "โปรโตคอล",
"rate": "อัตรา",
"relay": "รีเลย์",
"serverAddr": "ที่อยู่เซิร์ฟเวอร์",
"speedLimit": "จำกัดความเร็ว",
"status": "สถานะ",
"subscribeId": "รหัสการสมัครสมาชิก",
"subscribeName": "ชื่อการสมัครสมาชิก",
"subscription": "การสมัครสมาชิก",
"tags": "แท็ก",
"trafficRatio": "อัตราการจราจร",
"trafficUsage": "การใช้งานข้อมูล",
"type": "ประเภท",
"updateSuccess": "อัปเดตสำเร็จ",
"updatedAt": "เวลาอัปเดต",
"user": "ผู้ใช้",
"userDetail": "รายละเอียดผู้ใช้",
"userId": "รหัสผู้ใช้"
},
"nodeForm": {
"allowInsecure": "อนุญาตการเชื่อมต่อที่ไม่ปลอดภัย",
"cancel": "ยกเลิก",
"city": "เมือง",
"confirm": "ยืนยัน",
"congestionController": "ตัวควบคุมความแออัด",
"country": "ประเทศ",
"disableSni": "ปิดการใช้งาน SNI",
"edit": "แก้ไข",
"editSecurity": "แก้ไขการตั้งค่าความปลอดภัย",
"enableTLS": "เปิดใช้งาน TLS",
"encryptionMethod": "วิธีการเข้ารหัส",
"fingerprint": "ลายนิ้วมือ",
"flow": "อัลกอริธึมควบคุมการไหล",
"groupId": "กลุ่มโหนด",
"hopInterval": "ช่วงเวลา Hop",
"hopPorts": "พอร์ต Hop",
"hopPortsPlaceholder": "แยกพอร์ตหลายๆ พอร์ตด้วยเครื่องหมายจุลภาค",
"name": "ชื่อ",
"obfsPassword": "รหัสผ่านการปกปิด",
"obfsPasswordPlaceholder": "เว้นว่างไว้หากไม่ต้องการการปกปิด",
"path": "เส้นทาง",
"pleaseSelect": "กรุณาเลือก",
"port": "พอร์ตเซิร์ฟเวอร์",
"protocol": "โปรโตคอล",
"reduceRtt": "ลด RTT",
"relayHost": "โฮสต์ Relay",
"relayMode": "โหมด Relay",
"relayPort": "พอร์ต Relay",
"relayPrefix": "คำนำหน้า Relay",
"remarks": "หมายเหตุ",
"security": "ความปลอดภัย",
"securityConfig": "การตั้งค่าความปลอดภัย",
"selectEncryptionMethod": "เลือกวิธีการเข้ารหัส",
"selectNodeGroup": "เลือกกลุ่มโหนด",
"selectProtocol": "เลือกโปรโตคอล",
"selectRelayMode": "เลือกโหมด Relay",
"serverAddr": "ที่อยู่เซิร์ฟเวอร์",
"serverKey": "กุญแจเซิร์ฟเวอร์",
"serverName": "ชื่อบริการ",
"speedLimit": "ขีดจำกัดความเร็ว",
"speedLimitPlaceholder": "ไม่จำกัด",
"tags": "แท็ก",
"tagsPlaceholder": "ใช้ Enter หรือเครื่องหมายจุลภาค (,) เพื่อป้อนแท็กหลายๆ แท็ก",
"trafficRatio": "อัตราการจราจร",
"transport": "การตั้งค่าโปรโตคอลการขนส่ง",
"transportConfig": "การตั้งค่าโปรโตคอลการขนส่ง",
"transportHost": "ที่อยู่เซิร์ฟเวอร์การขนส่ง",
"transportPath": "เส้นทางการขนส่ง",
"transportServerName": "ชื่อเซิร์ฟเวอร์การขนส่ง",
"udpRelayMode": "โหมด Relay UDP"
},
"relayModeOptions": {
"all": "ทั้งหมด",
"none": "ไม่มี",
"random": "สุ่ม"
},
"securityConfig": {
"fingerprint": "ลายนิ้วมือ",
"privateKey": "กุญแจส่วนตัว",
"privateKeyPlaceholder": "เว้นว่างไว้เพื่อสร้างอัตโนมัติ",
"publicKey": "กุญแจสาธารณะ",
"publicKeyPlaceholder": "เว้นว่างไว้เพื่อสร้างอัตโนมัติ",
"serverAddress": "ที่อยู่เซิร์ฟเวอร์",
"serverAddressPlaceholder": "ที่อยู่เป้าหมาย REALITY, ใช้ SNI เป็นค่าเริ่มต้น",
"serverName": "ชื่อเซิร์ฟเวอร์ (SNI)",
"serverNamePlaceholder": "จำเป็นต้องใช้ REALITY, ต้องตรงกับแบ็กเอนด์",
"serverPort": "พอร์ตเซิร์ฟเวอร์",
"serverPortPlaceholder": "พอร์ตเป้าหมาย REALITY, ค่าเริ่มต้น 443",
"shortId": "รหัสสั้น",
"shortIdPlaceholder": "เว้นว่างไว้เพื่อสร้างอัตโนมัติ",
"sni": "การระบุชื่อเซิร์ฟเวอร์ (SNI)"
},
"tabs": {
"node": "โหนด",
"nodeConfig": "การกำหนดค่าโหนด",
"nodeGroup": "กลุ่มโหนด"
}
}
+101
View File
@@ -0,0 +1,101 @@
{
"address": "ที่อยู่",
"address_placeholder": "ที่อยู่เซิร์ฟเวอร์",
"cancel": "ยกเลิก",
"city": "เมือง",
"config": {
"actions": {
"cancel": "ยกเลิก",
"save": "บันทึก"
},
"communicationKey": "คีย์การสื่อสาร",
"communicationKeyDescription": "ใช้สำหรับการตรวจสอบสิทธิ์โหนด",
"description": "จัดการคีย์การสื่อสารของโหนด, ช่วงเวลาในการดึง/ส่งข้อมูล, และตัวคูณแบบไดนามิก",
"dynamicMultiplier": "ตัวคูณแบบไดนามิก",
"dynamicMultiplierDescription": "กำหนดช่วงเวลาและตัวคูณเพื่อปรับการคำนวณการจราจร",
"endTime": "เวลาสิ้นสุด",
"inputPlaceholder": "กรุณาใส่",
"multiplier": "ตัวคูณ",
"nodePullInterval": "ช่วงเวลาการดึงข้อมูลของโหนด",
"nodePullIntervalDescription": "ความถี่ที่โหนดดึงการตั้งค่า (วินาที)",
"nodePushInterval": "ช่วงเวลาการส่งข้อมูลของโหนด",
"nodePushIntervalDescription": "ความถี่ที่โหนดส่งสถิติ (วินาที)",
"reset": "รีเซ็ต",
"save": "บันทึก",
"saveSuccess": "บันทึกสำเร็จ",
"startTime": "เวลาเริ่มต้น",
"timeSlot": "ช่วงเวลา",
"title": "การตั้งค่าโหนด"
},
"confirm": "ยืนยัน",
"confirmDeleteDesc": "การกระทำนี้ไม่สามารถย้อนกลับได้",
"confirmDeleteTitle": "ลบเซิร์ฟเวอร์นี้หรือไม่?",
"congestion_controller": "ตัวควบคุมความแออัด",
"copied": "คัดลอกแล้ว",
"copy": "คัดลอก",
"country": "ประเทศ",
"cpu": "CPU",
"create": "สร้าง",
"created": "สร้างสำเร็จ",
"delete": "ลบ",
"deleted": "ลบสำเร็จ",
"disable_sni": "ปิดการใช้งาน SNI",
"disk": "ดิสก์",
"drawerCreateTitle": "สร้างเซิร์ฟเวอร์",
"drawerEditTitle": "แก้ไขเซิร์ฟเวอร์",
"edit": "แก้ไข",
"enabled": "เปิดใช้งาน",
"encryption_method": "วิธีการเข้ารหัส",
"expireTime": "เวลาหมดอายุ",
"expired": "หมดอายุ",
"flow": "การไหล",
"hop_interval": "ช่วงเวลาการกระโดด",
"hop_ports": "พอร์ตการกระโดด",
"hop_ports_placeholder": "เช่น 1-65535",
"host": "โฮสต์",
"id": "ID",
"ipAddresses": "ที่อยู่ IP",
"memory": "หน่วยความจำ",
"name": "ชื่อ",
"noData": "ไม่มีข้อมูล",
"notAvailable": "ไม่สามารถใช้ได้",
"obfs_password": "รหัสผ่านการปกปิด",
"obfs_password_placeholder": "กรอกรหัสผ่านการปกปิด",
"offline": "ออฟไลน์",
"online": "ออนไลน์",
"onlineUsers": "ผู้ใช้งานออนไลน์",
"pageTitle": "เซิร์ฟเวอร์",
"path": "เส้นทาง",
"please_select": "กรุณาเลือก",
"port": "พอร์ต",
"protocols": "โปรโตคอล",
"reduce_rtt": "ลด RTT",
"security_allow_insecure": "อนุญาตให้ไม่ปลอดภัย",
"security_fingerprint": "ลายนิ้วมือ",
"security_private_key": "คีย์ส่วนตัวจริง",
"security_private_key_placeholder": "กรอกคีย์ส่วนตัว",
"security_public_key": "คีย์สาธารณะจริง",
"security_public_key_placeholder": "กรอกคีย์สาธารณะ",
"security_server_address": "ที่อยู่เซิร์ฟเวอร์จริง",
"security_server_address_placeholder": "เช่น 1.2.3.4 หรือโดเมน",
"security_server_port": "พอร์ตเซิร์ฟเวอร์จริง",
"security_short_id": "รหัสสั้นจริง",
"security_short_id_placeholder": "สตริงฮีซ (สูงสุด 16 ตัวอักษร)",
"security_sni": "SNI",
"security_title": "ความปลอดภัย",
"select_encryption_method": "เลือกวิธีการเข้ารหัส",
"server_key": "คีย์เซิร์ฟเวอร์",
"service_name": "ชื่อบริการ",
"status": "สถานะ",
"subscribeId": "ID การสมัครสมาชิก",
"subscription": "การสมัครสมาชิก",
"traffic": "การจราจร",
"traffic_ratio": "ตัวคูณ",
"transport_title": "การขนส่ง",
"udp_relay_mode": "โหมดการส่งต่อ UDP",
"unitSecondsShort": "ว",
"unlimited": "ไม่จำกัด",
"updated": "อัปเดตสำเร็จ",
"user": "ผู้ใช้",
"validation_failed": "การตรวจสอบล้มเหลว กรุณาตรวจสอบแบบฟอร์ม"
}