mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-17 12:22:34 +03:00
sync-ui-keys --catalog=cli + blocking i18n:check-keys:cli gate; 65 CLI catalogs synced (52,000 strings, 0 __MISSING__, all 830 keys, placeholders verified). ⚠️ base-red inherited: #12732
1341 lines
93 KiB
JSON
1341 lines
93 KiB
JSON
{
|
||
"common": {
|
||
"error": "ข้อผิดพลาด: {message}",
|
||
"serverOffline": "เซิร์ฟเวอร์ OmniRoute ออฟไลน์ เริ่มด้วย: omniroute serve",
|
||
"authRequired": "ต้องการการยืนยันตัวตน ตั้งค่า OMNIROUTE_API_KEY หรือรัน: omniroute setup",
|
||
"rateLimited": "เกินขีดจำกัดคำขอ ลองใหม่หลังจาก {seconds}วินาที",
|
||
"timeout": "คำขอหมดเวลาหลังจาก {ms}ms",
|
||
"success": "เสร็จสิ้น",
|
||
"yes": "ใช่",
|
||
"no": "ไม่",
|
||
"confirm": "คุณแน่ใจหรือไม่? (ใช่/ไม่)",
|
||
"dryRun": "[จำลอง] จะทำ: {action}",
|
||
"cancelled": "ยกเลิกแล้ว",
|
||
"jsonOpt": "ส่งออกเป็น JSON",
|
||
"yesOpt": "ข้ามการยืนยัน"
|
||
},
|
||
"setup": {
|
||
"title": "ตั้งค่า OmniRoute",
|
||
"passwordPrompt": "รหัสผ่านผู้ดูแลระบบ",
|
||
"providerPrompt": "ผู้ให้บริการเริ่มต้น (เว้นว่างเพื่อข้าม)",
|
||
"done": "ตั้งค่าเสร็จสมบูรณ์",
|
||
"passwordSet": "กำหนดรหัสผ่านผู้ดูแลระบบแล้ว",
|
||
"providerSet": "กำหนดค่าผู้ให้บริการแล้ว: {name}",
|
||
"testingProvider": "กำลังทดสอบการเชื่อมต่อกับผู้ให้บริการ: {name}",
|
||
"testPassed": "การทดสอบผู้ให้บริการผ่าน",
|
||
"testFailed": "การทดสอบผู้ให้บริการล้มเหลว: {error}",
|
||
"loginEnabled": "การเข้าสู่ระบบ: เปิดใช้งานแล้ว (อัปเดตรหัสผ่านแล้ว)",
|
||
"loginDisabled": "การเข้าสู่ระบบ: ปิดใช้งาน",
|
||
"providerInfo": "ผู้ให้บริการ: {info}",
|
||
"opencode": "ติดตั้งและกำหนดค่า @omniroute/opencode-plugin ที่รวมมาให้สำหรับ OpenCode"
|
||
},
|
||
"doctor": {
|
||
"title": "OmniRoute Doctor",
|
||
"dbOk": "ฐานข้อมูล: ปกติ ({path})",
|
||
"dbMissing": "ฐานข้อมูล: ยังไม่ได้เริ่มต้น — เรียกใช้ `omniroute setup`",
|
||
"portOk": "พอร์ต {port}: พร้อมใช้งาน",
|
||
"portConflict": "พอร์ต {port}: ถูกใช้งานโดยกระบวนการอื่น",
|
||
"encryptionOk": "คีย์การเข้ารหัส: กำหนดค่าแล้ว",
|
||
"encryptionMissing": "ไม่พบคีย์การเข้ารหัส — เรียกใช้ `omniroute setup`",
|
||
"allGood": "การตรวจสอบทั้งหมดผ่านแล้ว",
|
||
"warnings": "คำเตือน {count} รายการ — ดูรายละเอียดด้านบน"
|
||
},
|
||
"providers": {
|
||
"title": "ผู้ให้บริการ",
|
||
"noProviders": "ยังไม่ได้กำหนดค่าผู้ให้บริการ เรียกใช้: omniroute setup",
|
||
"testing": "กำลังทดสอบ {name}...",
|
||
"available": "มีผู้ให้บริการพร้อมใช้งาน {count} ราย",
|
||
"connected": "เชื่อมต่อแล้ว",
|
||
"disconnected": "ตัดการเชื่อมต่อแล้ว",
|
||
"validationFailed": "การตรวจสอบความถูกต้องล้มเหลว: {error}",
|
||
"metrics": {
|
||
"description": "แสดงเมตริกประสิทธิภาพของผู้ให้บริการ (เวลาแฝง อัตราความสำเร็จ ค่าใช้จ่าย)",
|
||
"provider": "กรองตาม ID ผู้ให้บริการ",
|
||
"connection_id": "กรองตาม ID การเชื่อมต่อ",
|
||
"period": "ช่วงเวลา: 1h|6h|24h|7d|30d (ค่าเริ่มต้น: 24h)",
|
||
"metric": "เน้นฟิลด์เมตริกที่ระบุ",
|
||
"sort": "เรียงลำดับตามฟิลด์ (จากมากไปน้อย)",
|
||
"limit": "จำนวนแถวสูงสุด (ค่าเริ่มต้น: 50)",
|
||
"watch": "รีเฟรชทุก 5 วินาที (โหมดสด)",
|
||
"compare": "ID ผู้ให้บริการที่คั่นด้วยจุลภาคเพื่อเปรียบเทียบแบบเคียงข้างกัน"
|
||
},
|
||
"metric_single": {
|
||
"description": "รับค่าเมตริกเดียวสำหรับการเชื่อมต่อที่ระบุ"
|
||
},
|
||
"rotate": {
|
||
"description": "หมุนเวียนคีย์ API ต้นทางสำหรับการเชื่อมต่อกับผู้ให้บริการ",
|
||
"newKeyOpt": "ค่าคีย์ API ใหม่ (ควรหลีกเลี่ยง: แนะนำให้ใช้ --from-env)",
|
||
"fromEnvOpt": "อ่านคีย์ใหม่จากตัวแปรสภาพแวดล้อม VAR",
|
||
"oauthOpt": "เรียกใช้กระบวนการยืนยันตัวตน OAuth อีกครั้งแทน",
|
||
"skipTestOpt": "ข้ามการทดสอบการเชื่อมต่อหลังหมุนเวียนคีย์",
|
||
"dryRunOpt": "แสดงสิ่งที่จะเปลี่ยนแปลงโดยไม่เขียนข้อมูล",
|
||
"confirmPrompt": "แทนที่คีย์ API สำหรับการเชื่อมต่อ \"{name}\" ({id}) หรือไม่? [y/N]",
|
||
"dryRunResult": "[dry-run] จะหมุนเวียนคีย์สำหรับ \"{name}\" ({id}) ไม่มีการเปลี่ยนแปลงใด ๆ",
|
||
"oauthHint": "การเชื่อมต่อ OAuth — เรียกใช้: omniroute oauth {provider}",
|
||
"envVarEmpty": "ตัวแปรสภาพแวดล้อม {var} ไม่ได้ถูกตั้งค่าหรือว่างเปล่า",
|
||
"success": "หมุนเวียนคีย์สำหรับ \"{name}\" แล้ว เรียกใช้ `providers test {id}` เพื่อตรวจสอบ",
|
||
"testPassed": "การทดสอบหลังหมุนเวียนคีย์ผ่านแล้ว",
|
||
"testFailed": "การทดสอบหลังหมุนเวียนคีย์ล้มเหลว: {error}"
|
||
},
|
||
"status": {
|
||
"description": "แสดงสถานะคีย์สำหรับการเชื่อมต่อผู้ให้บริการทั้งหมด (อายุ วันหมดอายุ ระยะพักใช้งาน)",
|
||
"providerOpt": "กรองตามชื่อผู้ให้บริการ",
|
||
"header": "ID ผู้ให้บริการ ชื่อ สถานะการหมดอายุ สถานะการทดสอบ พักใช้งานจนถึง",
|
||
"noData": "ไม่มีข้อมูลการเชื่อมต่อผู้ให้บริการ",
|
||
"requiresServer": "คำสั่ง providers status ต้องให้เซิร์ฟเวอร์ OmniRoute ทำงานอยู่"
|
||
}
|
||
},
|
||
"keys": {
|
||
"title": "คีย์ API",
|
||
"addDescription": "เพิ่มหรืออัปเดตคีย์ API สำหรับผู้ให้บริการ",
|
||
"listDescription": "แสดงคีย์ API ที่กำหนดค่าไว้ทั้งหมด",
|
||
"removeDescription": "ลบคีย์ API สำหรับผู้ให้บริการ",
|
||
"regenerateDescription": "สร้างคีย์ API ของ OmniRoute ใหม่",
|
||
"revokeDescription": "เพิกถอนคีย์ API ของ OmniRoute",
|
||
"revealDescription": "แสดงค่าคีย์ API แบบไม่ปกปิด",
|
||
"usageDescription": "แสดงการใช้งานล่าสุดของคีย์ API",
|
||
"usageLimitOpt": "จำนวนคำขอล่าสุด",
|
||
"rotateDescription": "สร้างคีย์ใหม่และทำให้คีย์เก่าใช้ไม่ได้",
|
||
"graceOpt": "ระยะผ่อนผัน (ms) ก่อนทำให้คีย์เก่าใช้ไม่ได้",
|
||
"stdinOpt": "อ่านคีย์ API จาก stdin แทนอาร์กิวเมนต์",
|
||
"added": "เพิ่มคีย์สำหรับ {provider} แล้ว",
|
||
"removed": "ลบคีย์แล้ว",
|
||
"listed": "{count} คีย์",
|
||
"noKeys": "ยังไม่ได้กำหนดค่าคีย์",
|
||
"noUsage": "ไม่พบข้อมูลการใช้งาน",
|
||
"confirmRemove": "ลบคีย์ {id} หรือไม่?",
|
||
"confirmRegenerate": "สร้างคีย์ {id} ใหม่หรือไม่?",
|
||
"confirmRevoke": "เพิกถอนคีย์ {id} หรือไม่?",
|
||
"confirmRotate": "หมุนเวียนคีย์ {id} หรือไม่? (คีย์เก่าจะใช้ไม่ได้หลังพ้นระยะผ่อนผัน)",
|
||
"regenerated": "สร้างใหม่แล้ว คีย์ใหม่: {key}",
|
||
"revoked": "เพิกถอนคีย์ {id} แล้ว",
|
||
"rotated": "หมุนเวียนคีย์ {id} แล้ว ID คีย์ใหม่: {newId}",
|
||
"revealWarning": "⚠ การดำเนินการนี้จะแสดงคีย์แบบเต็มโดยไม่มีการปกปิด โปรดตรวจสอบว่าหน้าจอของคุณเป็นส่วนตัว",
|
||
"providerRequired": "จำเป็นต้องระบุผู้ให้บริการ",
|
||
"keyRequired": "จำเป็นต้องระบุ API key",
|
||
"stdinEmpty": "ไม่ได้ระบุ API key ผ่าน stdin",
|
||
"unknownProvider": "ไม่รู้จักผู้ให้บริการ: {provider}",
|
||
"policy": {
|
||
"title": "นโยบายคีย์",
|
||
"showDescription": "แสดงนโยบายอัตรา/ค่าใช้จ่ายสำหรับคีย์",
|
||
"setDescription": "ตั้งค่านโยบายอัตรา/ค่าใช้จ่ายสำหรับคีย์",
|
||
"rateLimitOpt": "จำนวนคำขอสูงสุดต่อนาที",
|
||
"maxCostOpt": "ค่าใช้จ่ายสูงสุดต่อวัน (USD)",
|
||
"allowedModelsOpt": "รายการโมเดลที่อนุญาตโดยคั่นด้วยจุลภาค",
|
||
"nothingToSet": "ไม่ได้ระบุฟิลด์นโยบาย โปรดใช้ --rate-limit, --max-cost หรือ --allowed-models",
|
||
"updated": "อัปเดตนโยบายแล้ว"
|
||
},
|
||
"expiration": {
|
||
"title": "การหมดอายุของคีย์",
|
||
"listDescription": "แสดงรายการคีย์ที่ใกล้หมดอายุ",
|
||
"daysOpt": "แสดงคีย์ที่จะหมดอายุภายใน N วัน",
|
||
"none": "ไม่มีคีย์ที่จะหมดอายุภายใน {days} วัน",
|
||
"listTitle": "คีย์ที่จะหมดอายุภายใน {days} วัน:"
|
||
}
|
||
},
|
||
"authExport": {
|
||
"description": "ส่งออกข้อมูลประจำตัวของผู้ให้บริการที่ถอดรหัสแล้ว (ใช้ภายในเครื่องเท่านั้น, เอาต์พุตเป็นข้อความธรรมดา)",
|
||
"idOpt": "ส่งออกเฉพาะการเชื่อมต่อที่ตรงกับ id/name/provider นี้",
|
||
"formatOpt": "รูปแบบเอาต์พุต: json หรือ env",
|
||
"outOpt": "เขียนเอาต์พุตลงในไฟล์แทน stdout (เขียนด้วยสิทธิ์ 0600)",
|
||
"forceOpt": "ยืนยันว่าคุณเข้าใจว่าการดำเนินการนี้จะพิมพ์/เขียนข้อมูลลับเป็นข้อความธรรมดา",
|
||
"warning": "⚠ การดำเนินการนี้จะพิมพ์/เขียน API key และโทเค็น OAuth ที่ถอดรหัสแล้วเป็นข้อความธรรมดา โปรดตรวจสอบว่าหน้าจอ ประวัติ shell และไฟล์เอาต์พุตของคุณเป็นส่วนตัว",
|
||
"confirmHeading": "⚠ คำเตือน: การดำเนินการนี้จะส่งออกข้อมูลประจำตัวของผู้ให้บริการที่ถอดรหัสแล้วเป็นข้อความธรรมดา",
|
||
"confirmBody": "คำสั่งนี้จะถอดรหัสและพิมพ์/เขียน apiKey, accessToken, refreshToken และ\nidToken สำหรับการเชื่อมต่อที่เลือก โปรดถือว่าเอาต์พุตเป็นข้อมูลลับ",
|
||
"confirmFooter": "เพื่อยืนยัน ให้เรียกใช้:\n omniroute auth export --force",
|
||
"missingKey": "จำเป็นต้องมี STORAGE_ENCRYPTION_KEY เพื่อส่งออกข้อมูลประจำตัว",
|
||
"notFound": "ไม่พบการเชื่อมต่อ: {id}",
|
||
"invalidFormat": "รูปแบบไม่ถูกต้อง: {format} โปรดใช้ json หรือ env"
|
||
},
|
||
"stream": {
|
||
"description": "สตรีมการตอบกลับแชตพร้อมโหมดตรวจสอบ SSE",
|
||
"file": "อ่านพรอมต์จากไฟล์",
|
||
"stdin": "อ่านพรอมต์จาก stdin",
|
||
"model": "ID โมเดล (ค่าเริ่มต้น: auto)",
|
||
"system": "พรอมต์ระบบ",
|
||
"combo": "บังคับใช้คอมโบที่ระบุตามชื่อ",
|
||
"max_tokens": "จำนวนโทเค็นสูงสุดในการตอบกลับ",
|
||
"responses_api": "ใช้ /v1/responses แทน /v1/chat/completions",
|
||
"raw": "พิมพ์บรรทัด SSE ดิบตามที่ได้รับ",
|
||
"debug": "พิมพ์ข้อมูลเวลาของแต่ละชิ้นไปยัง stderr",
|
||
"save": "บันทึกอีเวนต์ SSE ทั้งหมดลงในไฟล์ .jsonl",
|
||
"error": {
|
||
"empty_prompt": "ข้อผิดพลาด: ต้องระบุพรอมต์ (อาร์กิวเมนต์แบบระบุตำแหน่ง, --file หรือ --stdin)"
|
||
}
|
||
},
|
||
"usage": {
|
||
"description": "การวิเคราะห์การใช้งาน งบประมาณ โควตา และบันทึก",
|
||
"analytics": {
|
||
"description": "แสดงข้อมูลวิเคราะห์การใช้งานแบบรวม",
|
||
"period": "ช่วงเวลา: 1d|7d|30d|90d|ytd|all (ค่าเริ่มต้น: 30d)",
|
||
"provider": "กรองตาม ID ผู้ให้บริการ"
|
||
},
|
||
"budget": {
|
||
"description": "จัดการงบประมาณค่าใช้จ่าย",
|
||
"set": {
|
||
"scope": "ขอบเขตงบประมาณ (ค่าเริ่มต้น: global)",
|
||
"period": "รอบงบประมาณ: daily|weekly|monthly (ค่าเริ่มต้น: monthly)"
|
||
}
|
||
},
|
||
"quota": {
|
||
"description": "แสดงการใช้โควตาของผู้ให้บริการ",
|
||
"provider": "กรองตาม ID ผู้ให้บริการ",
|
||
"check": "แสดงว่ามีโควตาสำหรับคำขอใหม่หรือไม่"
|
||
},
|
||
"logs": {
|
||
"description": "แสดงบันทึกการเรียกคำขอ",
|
||
"limit": "จำนวนรายการบันทึกที่จะส่งคืน (ค่าเริ่มต้น: 100)",
|
||
"search": "คำค้นหาสำหรับกรองบันทึก",
|
||
"since": "ส่งคืนบันทึกตั้งแต่เวลาประทับนี้",
|
||
"follow": "ติดตามรายการบันทึกใหม่อย่างต่อเนื่อง",
|
||
"api_key": "กรองบันทึกตาม API key"
|
||
},
|
||
"utilization": {
|
||
"description": "แสดงเมตริกการใช้งาน API key",
|
||
"api_key": "กรองตาม API key"
|
||
},
|
||
"history": {
|
||
"description": "แสดงประวัติคำขอ",
|
||
"limit": "จำนวนรายการประวัติ (ค่าเริ่มต้น: 100)"
|
||
},
|
||
"proxy_logs": {
|
||
"description": "แสดงบันทึกคำขอระดับพร็อกซี",
|
||
"limit": "จำนวนรายการบันทึกพร็อกซี (ค่าเริ่มต้น: 100)"
|
||
}
|
||
},
|
||
"cost": {
|
||
"description": "แสดงรายงานค่าใช้จ่ายพร้อมแจกแจงตามผู้ให้บริการ โมเดล คอมโบ หรือ API key",
|
||
"period": "ช่วงเวลา: 1d|7d|30d|90d|ytd|all (ค่าเริ่มต้น: 30d)",
|
||
"since": "วันที่เริ่มต้น (รูปแบบ ISO เช่น 2026-01-01) — มีผลแทนที่ --period",
|
||
"until": "วันที่สิ้นสุด (รูปแบบ ISO)",
|
||
"group_by": "จัดกลุ่มผลลัพธ์ตาม: provider|model|api-key|combo|day (ค่าเริ่มต้น: provider)",
|
||
"api_key_filter": "กรองตาม API key ที่ระบุ",
|
||
"limit": "จำนวนแถวสูงสุดที่จะแสดง (ค่าเริ่มต้น: 100)"
|
||
},
|
||
"simulate": {
|
||
"description": "การจำลองการกำหนดเส้นทางแบบ Dry-run — แสดงผู้ให้บริการที่จะถูกเลือกโดยไม่เรียกต้นทาง",
|
||
"file": "โหลดเนื้อหาคำขอทั้งหมดจากไฟล์ JSON",
|
||
"model": "ID โมเดล (ค่าเริ่มต้น: auto)",
|
||
"combo": "บังคับใช้คอมโบที่ระบุตามชื่อ",
|
||
"reasoning": "ระดับความพยายามในการใช้เหตุผล (low|medium|high)",
|
||
"thinking": "งบประมาณโทเค็นสำหรับการคิดแบบขยาย",
|
||
"explain": "พิมพ์โครงสร้างทางเลือกสำรองและช่วงค่าใช้จ่ายไปยัง stderr",
|
||
"noCombo": "ไม่พบคอมโบที่ตรงกัน กำหนดค่าคอมโบด้วย: omniroute combo create"
|
||
},
|
||
"chat": {
|
||
"description": "ส่งพรอมต์แชตแบบครั้งเดียวไปยัง OmniRoute",
|
||
"file": "อ่านพรอมต์จากไฟล์",
|
||
"stdin": "อ่านพรอมต์จาก stdin",
|
||
"system": "พรอมต์ระบบ",
|
||
"model": "รหัสโมเดล (ค่าเริ่มต้น: auto)",
|
||
"max_tokens": "จำนวนโทเค็นสูงสุดในการตอบกลับ",
|
||
"temperature": "ค่าอุณหภูมิการสุ่มตัวอย่าง (0–2)",
|
||
"top_p": "การสุ่มตัวอย่างแบบนิวเคลียส Top-p",
|
||
"reasoning_effort": "ระดับความพยายามในการให้เหตุผล (low|medium|high)",
|
||
"thinking_budget": "งบประมาณโทเค็นสำหรับการคิดแบบขยาย",
|
||
"combo": "บังคับใช้คอมโบที่ระบุด้วยชื่อ",
|
||
"responses_api": "ใช้ /v1/responses แทน /v1/chat/completions",
|
||
"stream": "สตรีมคำตอบแบบเพิ่มขึ้นทีละส่วน",
|
||
"no_history": "ไม่บันทึกลงใน ~/.omniroute/cli-history.jsonl",
|
||
"error": {
|
||
"empty_prompt": "ข้อผิดพลาด: ต้องระบุพรอมต์ (อาร์กิวเมนต์ตามตำแหน่ง, --file หรือ --stdin)"
|
||
}
|
||
},
|
||
"serve": {
|
||
"description": "เริ่มเซิร์ฟเวอร์ OmniRoute (การดำเนินการเริ่มต้น)",
|
||
"starting": "กำลังเริ่มเซิร์ฟเวอร์ OmniRoute บนพอร์ต {port}...",
|
||
"ready": "พร้อมใช้งานที่ http://localhost:{port}",
|
||
"stopping": "กำลังหยุดเซิร์ฟเวอร์ (PID {pid})...",
|
||
"stopped": "หยุดเซิร์ฟเวอร์แล้ว",
|
||
"notRunning": "เซิร์ฟเวอร์ไม่ได้ทำงานอยู่",
|
||
"port": "พอร์ตสำหรับรับฟัง (ค่าเริ่มต้น: 20128)",
|
||
"no_open": "ไม่เปิดเบราว์เซอร์โดยอัตโนมัติ",
|
||
"daemon": "เรียกใช้เซิร์ฟเวอร์เป็นดีมอนเบื้องหลัง",
|
||
"log": "แสดงบันทึกเซิร์ฟเวอร์ในบรรทัด",
|
||
"no_recovery": "ปิดใช้งานการรีสตาร์ตอัตโนมัติเมื่อขัดข้อง (โหมดดีบัก)",
|
||
"max_restarts": "จำนวนครั้งสูงสุดที่จะรีสตาร์ตหลังขัดข้องภายใน 30 วินาทีก่อนยกเลิก (ค่าเริ่มต้น: 2)",
|
||
"tray": "เริ่มในถาดระบบ (เฉพาะเดสก์ท็อป ต้องเลือกเปิดใช้)",
|
||
"no_tray": "ปิดใช้งานไอคอนถาดระบบ",
|
||
"ready_timeout": "ระยะหมดเวลาของโพรบตรวจสอบความพร้อมเป็นมิลลิวินาที (รวมถึง OMNIROUTE_READY_TIMEOUT_MS, ค่าเริ่มต้น 60000)",
|
||
"tls_cert": "พาธไปยังใบรับรอง TLS (PEM) สำหรับให้บริการ HTTPS (รวมถึง OMNIROUTE_TLS_CERT)",
|
||
"tls_key": "พาธไปยังคีย์ส่วนตัว TLS (PEM) สำหรับให้บริการ HTTPS (รวมถึง OMNIROUTE_TLS_KEY)"
|
||
},
|
||
"backup": {
|
||
"title": "สำรองข้อมูล",
|
||
"description": "สร้างข้อมูลสำรองของข้อมูล OmniRoute",
|
||
"creating": "กำลังสร้างข้อมูลสำรอง...",
|
||
"done": "บันทึกข้อมูลสำรองไปยัง {path} แล้ว",
|
||
"noFiles": "ไม่มีไฟล์ให้สำรองข้อมูล (ยังไม่ได้เริ่มต้นฐานข้อมูล)",
|
||
"failed": "การสำรองข้อมูลล้มเหลว: {error}",
|
||
"restoring": "กำลังกู้คืนจาก {path}...",
|
||
"restored": "กู้คืนเสร็จสมบูรณ์",
|
||
"restoreDescription": "กู้คืนจากข้อมูลสำรอง",
|
||
"listTitle": "ข้อมูลสำรองที่มีอยู่",
|
||
"noBackups": "ไม่พบข้อมูลสำรอง",
|
||
"notFound": "ไม่พบข้อมูลสำรอง: {name}",
|
||
"confirmRestore": "เขียนทับข้อมูลปัจจุบันด้วยข้อมูลสำรองจาก {ts} หรือไม่?",
|
||
"createDescription": "สร้างข้อมูลสำรองของ OmniRoute",
|
||
"nameOpt": "ชื่อข้อมูลสำรองแบบกำหนดเอง",
|
||
"cloudOpt": "อัปโหลดข้อมูลสำรองไปยังพื้นที่จัดเก็บบนคลาวด์",
|
||
"encryptOpt": "เข้ารหัสข้อมูลสำรองด้วย AES-256-GCM",
|
||
"keyFileOpt": "พาธไปยังไฟล์ที่มีวลีรหัสผ่านสำหรับการเข้ารหัส",
|
||
"excludeOpt": "ไม่รวมไฟล์ที่ตรงกับรูปแบบ (ระบุซ้ำได้)",
|
||
"retentionOpt": "เก็บเฉพาะข้อมูลสำรอง N รายการล่าสุด",
|
||
"passphrasePrompt": "วลีรหัสผ่านสำหรับการเข้ารหัส:",
|
||
"noPassphrase": "ต้องระบุวลีรหัสผ่านสำหรับข้อมูลสำรองที่เข้ารหัส",
|
||
"cloudFailed": "คำเตือน: การอัปโหลดไปยังคลาวด์ล้มเหลว บันทึกข้อมูลสำรองไว้ในเครื่องแล้ว",
|
||
"cloudUploaded": "อัปโหลดข้อมูลสำรองไปยังคลาวด์แล้ว: {url}",
|
||
"auto": {
|
||
"title": "กำหนดการสำรองข้อมูล",
|
||
"enableDescription": "เปิดใช้งานการสำรองข้อมูลอัตโนมัติตามกำหนดเวลา",
|
||
"disableDescription": "ปิดใช้งานการสำรองข้อมูลอัตโนมัติตามกำหนดเวลา",
|
||
"statusDescription": "แสดงสถานะปัจจุบันของกำหนดการสำรองข้อมูล",
|
||
"cronOpt": "นิพจน์ Cron สำหรับกำหนดการ (ค่าเริ่มต้น: ทุกวันเวลา 03:00 น.)",
|
||
"enabled": "เปิดใช้งานการสำรองข้อมูลอัตโนมัติแล้ว (cron: {cron})",
|
||
"hint": "omniroute serve จะอ่านกำหนดการเมื่อเริ่มทำงาน",
|
||
"disabled": "ปิดใช้งานการสำรองข้อมูลอัตโนมัติแล้ว",
|
||
"notConfigured": "ยังไม่ได้กำหนดค่ากำหนดการสำรองข้อมูล"
|
||
}
|
||
},
|
||
"health": {
|
||
"description": "ตรวจสอบสถานะความพร้อมใช้งานของเซิร์ฟเวอร์และสถานะของคอมโพเนนต์",
|
||
"noServer": "เซิร์ฟเวอร์ไม่ได้ทำงาน เริ่มด้วย: omniroute serve",
|
||
"title": "ความพร้อมใช้งาน",
|
||
"status": "สถานะ: {status}",
|
||
"uptime": "ระยะเวลาทำงาน: {uptime}",
|
||
"requests": "คำขอ (24 ชม.): {count}",
|
||
"cost": "ค่าใช้จ่าย (24 ชม.): ${cost}"
|
||
},
|
||
"quota": {
|
||
"description": "แสดงการใช้โควตาของผู้ให้บริการ",
|
||
"noServer": "เซิร์ฟเวอร์ไม่ได้ทำงาน เริ่มด้วย: omniroute serve",
|
||
"noData": "ไม่มีข้อมูลโควตา"
|
||
},
|
||
"cache": {
|
||
"description": "จัดการแคชการตอบกลับ",
|
||
"noServer": "เซิร์ฟเวอร์ไม่ได้ทำงาน เริ่มด้วย: omniroute serve",
|
||
"cleared": "ล้างแคชแล้ว",
|
||
"clearFailed": "ล้างแคชไม่สำเร็จ"
|
||
},
|
||
"redis": {
|
||
"description": "เปิดใช้คอนเทนเนอร์ Redis ในเครื่องด้วยการคลิกเดียว (Podman หรือ Docker) สำหรับการแคชและการติดตามโควตาของ OmniRoute"
|
||
},
|
||
"test": {
|
||
"description": "ทดสอบการเชื่อมต่อกับผู้ให้บริการ",
|
||
"noServer": "เซิร์ฟเวอร์ไม่ได้ทำงาน เริ่มต้นด้วย: omniroute serve",
|
||
"testing": "กำลังทดสอบ {provider} / {model}...",
|
||
"passed": "เชื่อมต่อสำเร็จ!",
|
||
"failed": "การเชื่อมต่อล้มเหลว: {error}",
|
||
"allProvidersOpt": "ทดสอบผู้ให้บริการที่กำหนดค่าไว้ทั้งหมด",
|
||
"latencyOpt": "แสดงค่าความหน่วง (เฉลี่ย/ต่ำสุด/สูงสุด หน่วย ms)",
|
||
"repeatOpt": "ทดสอบซ้ำ N ครั้งและรวมผลลัพธ์",
|
||
"compareOpt": "โมเดลที่ต้องการเปรียบเทียบ โดยคั่นด้วยจุลภาค (เช่น gpt-4o,claude-3-5-sonnet)",
|
||
"saveOpt": "บันทึกผลลัพธ์ลงในไฟล์ JSON",
|
||
"saved": "บันทึกผลลัพธ์ไปยัง {path} แล้ว",
|
||
"compareTitle": "การเปรียบเทียบโมเดล",
|
||
"compareMinTwo": "ต้องมีอย่างน้อยสองโมเดลสำหรับ --compare (คั่นด้วยจุลภาค)",
|
||
"noProviders": "ยังไม่ได้กำหนดค่าผู้ให้บริการ เพิ่มได้ด้วย: omniroute keys add"
|
||
},
|
||
"update": {
|
||
"checking": "กำลังตรวจสอบการอัปเดต...",
|
||
"upToDate": "เป็นเวอร์ชันล่าสุดแล้ว ({version})",
|
||
"available": "มีการอัปเดต: {current} → {latest}",
|
||
"installing": "กำลังติดตั้ง {latest}...",
|
||
"done": "อัปเดตเป็น {latest} แล้ว โปรดรีสตาร์ตเซิร์ฟเวอร์เพื่อให้การเปลี่ยนแปลงมีผล"
|
||
},
|
||
"mcp": {
|
||
"title": "เซิร์ฟเวอร์ MCP",
|
||
"running": "เซิร์ฟเวอร์ MCP กำลังทำงาน ({transport})",
|
||
"stopped": "เซิร์ฟเวอร์ MCP หยุดทำงานแล้ว",
|
||
"restarted": "รีสตาร์ตเซิร์ฟเวอร์ MCP แล้ว",
|
||
"stoppedHint": "เรียกใช้ `omniroute mcp enable` เพื่อเปิดใช้งาน",
|
||
"enabled": "เปิดใช้งานเซิร์ฟเวอร์ MCP แล้ว",
|
||
"disabled": "ปิดใช้งานเซิร์ฟเวอร์ MCP แล้ว",
|
||
"enable": {
|
||
"description": "เปิดใช้งานเซิร์ฟเวอร์ MCP",
|
||
"transport": "การรับส่งข้อมูลที่จะใช้: stdio|sse|streamable-http"
|
||
},
|
||
"disable": {
|
||
"description": "ปิดใช้งานเซิร์ฟเวอร์ MCP"
|
||
},
|
||
"call": {
|
||
"description": "เรียกใช้เครื่องมือ MCP โดยตรง",
|
||
"args": "ออบเจ็กต์อาร์กิวเมนต์ JSON (แบบอินไลน์)",
|
||
"args_file": "พาธไปยังไฟล์อาร์กิวเมนต์ JSON",
|
||
"stream": "ใช้เอนด์พอยต์แบบสตรีมมิง (/api/mcp/stream)",
|
||
"scope": "ขอบเขตที่จำเป็น (ระบุซ้ำได้ เช่น read:health)"
|
||
},
|
||
"scopes": {
|
||
"description": "แสดงรายการขอบเขต MCP ที่ใช้ได้",
|
||
"tool": "แสดงขอบเขตที่เครื่องมือเฉพาะต้องใช้"
|
||
},
|
||
"tools": {
|
||
"description": "ตรวจสอบเครื่องมือ MCP",
|
||
"list": {
|
||
"description": "แสดงรายการเครื่องมือ MCP ทั้งหมด",
|
||
"scope": "กรองตามขอบเขต"
|
||
},
|
||
"info": {
|
||
"description": "แสดงข้อมูลเมตาสำหรับเครื่องมือ MCP"
|
||
},
|
||
"schema": {
|
||
"description": "แสดงสคีมา JSON ของอินพุต/เอาต์พุตสำหรับเครื่องมือ MCP",
|
||
"io": "ประเภทสคีมา: input|output (ค่าเริ่มต้น: input)"
|
||
}
|
||
},
|
||
"audit": {
|
||
"description": "บันทึกการตรวจสอบ MCP (นามแฝงของ audit --source mcp)"
|
||
}
|
||
},
|
||
"a2a": {
|
||
"skills": {
|
||
"description": "แสดงรายการทักษะ A2A ที่มีจากการ์ดเอเจนต์"
|
||
},
|
||
"invoke": {
|
||
"description": "เรียกใช้ทักษะ A2A และส่งคืน ID งาน",
|
||
"input": "ออบเจ็กต์อินพุต JSON",
|
||
"input_file": "พาธไปยังไฟล์อินพุต JSON",
|
||
"wait": "รอให้งานเสร็จสิ้นก่อนส่งคืน",
|
||
"timeout": "ระยะหมดเวลาสำหรับรอให้งานเสร็จสิ้น หน่วยเป็น ms (ค่าเริ่มต้น: 60000)"
|
||
},
|
||
"tasks": {
|
||
"description": "จัดการงาน A2A",
|
||
"list": {
|
||
"status": "กรองตามสถานะ",
|
||
"skill": "กรองตาม ID ทักษะ"
|
||
},
|
||
"watch": {
|
||
"description": "ตรวจสอบสถานะงานเป็นระยะจนกว่าจะเสร็จสิ้น"
|
||
},
|
||
"stream": {
|
||
"description": "สตรีมเหตุการณ์การดำเนินงานผ่าน SSE"
|
||
},
|
||
"logs": {
|
||
"description": "แสดงข้อความและอาร์ติแฟกต์ของงาน"
|
||
}
|
||
}
|
||
},
|
||
"policy": {
|
||
"description": "จัดการนโยบายการอนุญาตของ OmniRoute",
|
||
"list": {
|
||
"description": "แสดงรายการนโยบาย",
|
||
"kind": "กรองตามประเภท (allow|deny|rate-limit|cost-cap)",
|
||
"scope": "กรองตามขอบเขต (global|api-key|provider)"
|
||
},
|
||
"get": {
|
||
"description": "ดูรายละเอียดนโยบายตาม ID"
|
||
},
|
||
"create": {
|
||
"description": "สร้างนโยบายจากไฟล์ JSON",
|
||
"file": "พาธไปยังไฟล์ JSON ของนโยบาย"
|
||
},
|
||
"update": {
|
||
"description": "อัปเดตนโยบายจากไฟล์ JSON",
|
||
"file": "พาธไปยังไฟล์ JSON ของนโยบาย"
|
||
},
|
||
"delete": {
|
||
"description": "ลบนโยบายตาม ID",
|
||
"yes": "ข้ามข้อความแจ้งให้ยืนยัน"
|
||
},
|
||
"evaluate": {
|
||
"description": "ประเมินนโยบายแบบทดลอง (รหัสออก 0=อนุญาต, 4=ปฏิเสธ)",
|
||
"api_key": "คีย์ API ที่จะประเมิน",
|
||
"action": "การดำเนินการที่จะตรวจสอบ (เช่น chat, embed, admin)",
|
||
"resource": "พาธหรือตัวระบุทรัพยากร",
|
||
"context": "บริบทเพิ่มเติมในรูปแบบออบเจ็กต์ JSON"
|
||
},
|
||
"export": {
|
||
"description": "ส่งออกนโยบายทั้งหมดไปยังไฟล์ JSON"
|
||
},
|
||
"import": {
|
||
"description": "นำเข้านโยบายจากไฟล์ JSON",
|
||
"overwrite": "เขียนทับนโยบายที่มี ID เดียวกัน"
|
||
}
|
||
},
|
||
"compression": {
|
||
"description": "กำหนดค่าและตรวจสอบไปป์ไลน์การบีบอัดของ OmniRoute",
|
||
"status": {
|
||
"description": "แสดงสถานะและการตั้งค่าการบีบอัดปัจจุบัน"
|
||
},
|
||
"configure": {
|
||
"description": "กำหนดค่าการบีบอัด",
|
||
"engine": "เอนจินการบีบอัด (caveman|rtk|hybrid|none)",
|
||
"caveman_agg": "ระดับความเข้มของ Caveman 0.0–1.0",
|
||
"rtk_budget": "งบประมาณโทเค็น RTK",
|
||
"language_pack": "แพ็กภาษาที่จะเปิดใช้งาน"
|
||
},
|
||
"engine": {
|
||
"description": "รับหรือตั้งค่าเอนจินการบีบอัดที่ใช้งานอยู่"
|
||
},
|
||
"combos": {
|
||
"description": "จัดการสถิติคอมโบการบีบอัด"
|
||
},
|
||
"rules": {
|
||
"description": "จัดการกฎการบีบอัด",
|
||
"add": {
|
||
"pattern": "รูปแบบสำหรับจับคู่ (regex หรือ field:pattern)",
|
||
"action": "การดำเนินการ: drop|shrink|replace"
|
||
}
|
||
},
|
||
"language_packs": {
|
||
"description": "แสดงรายการแพ็กภาษาสำหรับการบีบอัดที่พร้อมใช้งาน"
|
||
},
|
||
"preview": {
|
||
"description": "ดูตัวอย่างผลของการบีบอัดที่มีต่อคำขอ",
|
||
"file": "พาธไปยังไฟล์ JSON ของคำขอ"
|
||
}
|
||
},
|
||
"tunnel": {
|
||
"title": "ทันเนล",
|
||
"listDescription": "แสดงรายการทันเนลที่ใช้งานอยู่",
|
||
"createDescription": "สร้างทันเนล",
|
||
"created": "สร้างทันเนลแล้ว: {url}",
|
||
"stopped": "หยุดทันเนลแล้ว",
|
||
"confirmStop": "หยุดทันเนล {id} หรือไม่",
|
||
"stopDescription": "หยุดทันเนล",
|
||
"statusDescription": "แสดงสถานะโดยละเอียดของทันเนล",
|
||
"logsDescription": "แสดงบันทึกของทันเนล",
|
||
"infoDescription": "แสดงรายละเอียดการกำหนดค่าของทันเนล",
|
||
"rotateDescription": "สร้าง URL ทันเนลใหม่",
|
||
"tailOpt": "จำนวนบรรทัดของบันทึกที่จะแสดง",
|
||
"typeRequired": "ต้องระบุประเภททันเนล",
|
||
"noLogs": "ไม่มีบันทึกที่พร้อมใช้งาน",
|
||
"notAvailable": "ไม่มีข้อมูลทันเนล",
|
||
"noTunnels": "ไม่มีทันเนลที่ใช้งานอยู่",
|
||
"infoTitle": "ข้อมูลทันเนล: {type}",
|
||
"rotated": "เปลี่ยน URL ทันเนลแล้ว: {url}",
|
||
"confirmRotate": "เปลี่ยน URL ของทันเนล {type} หรือไม่ (ระบบจะสร้าง URL ใหม่)"
|
||
},
|
||
"stop": {
|
||
"description": "หยุดเซิร์ฟเวอร์ OmniRoute",
|
||
"stopping": "กำลังหยุดเซิร์ฟเวอร์ (PID {pid})...",
|
||
"stopped": "หยุดเซิร์ฟเวอร์แล้ว",
|
||
"notRunning": "ไม่มีเซิร์ฟเวอร์ที่กำลังทำงานอยู่",
|
||
"portFallback": "ไม่พบไฟล์ PID กำลังพยายามหยุดตามพอร์ต..."
|
||
},
|
||
"restart": {
|
||
"description": "รีสตาร์ตเซิร์ฟเวอร์ OmniRoute",
|
||
"restarting": "กำลังรีสตาร์ตเซิร์ฟเวอร์ OmniRoute..."
|
||
},
|
||
"dashboard": {
|
||
"description": "เปิดแดชบอร์ด OmniRoute ในเบราว์เซอร์",
|
||
"opening": "กำลังเปิดแดชบอร์ดที่ {url}",
|
||
"urlOnly": "แสดง URL ของแดชบอร์ดโดยไม่เปิดเบราว์เซอร์",
|
||
"tui": "เปิดแดชบอร์ด TUI แบบโต้ตอบ (UI เทอร์มินัล 7 แท็บ)"
|
||
},
|
||
"models": {
|
||
"description": "แสดงรายการโมเดลที่พร้อมใช้งาน (ต้องเปิดเซิร์ฟเวอร์)",
|
||
"search": "กรองโมเดลตาม id, ชื่อ, provider หรือคำอธิบาย",
|
||
"noServer": "เซิร์ฟเวอร์ไม่ได้ทำงาน เริ่มด้วย: omniroute serve",
|
||
"noModels": "ไม่พบโมเดล"
|
||
},
|
||
"audit": {
|
||
"description": "เข้าถึงบันทึกการตรวจสอบการปฏิบัติตามข้อกำหนดและ MCP",
|
||
"source": "แหล่งที่มาของบันทึก: all|compliance|mcp (ค่าเริ่มต้น: all)",
|
||
"since": "แสดงรายการตั้งแต่เวลาประทับนี้ (ISO 8601)",
|
||
"until": "แสดงรายการจนถึงเวลาประทับนี้ (ISO 8601)",
|
||
"tail": {
|
||
"description": "แสดงรายการบันทึกการตรวจสอบล่าสุด",
|
||
"follow": "ติดตามรายการใหม่อย่างต่อเนื่อง (ตรวจสอบทุก 2 วินาที)",
|
||
"limit": "จำนวนรายการสูงสุดที่จะแสดง (ค่าเริ่มต้น: 100)"
|
||
},
|
||
"search": {
|
||
"description": "ค้นหารายการบันทึกการตรวจสอบด้วยคำสำคัญ",
|
||
"limit": "จำนวนผลลัพธ์สูงสุด (ค่าเริ่มต้น: 200)",
|
||
"actor": "กรองตาม ID ของผู้ดำเนินการ",
|
||
"action": "กรองตามชื่อการดำเนินการ"
|
||
},
|
||
"export": {
|
||
"description": "ส่งออกบันทึกการตรวจสอบไปยังไฟล์",
|
||
"format": "รูปแบบเอาต์พุต: jsonl|csv (ค่าเริ่มต้น: jsonl)"
|
||
},
|
||
"stats": {
|
||
"description": "แสดงสถิติของบันทึกการตรวจสอบ",
|
||
"period": "ช่วงเวลา: 1d|7d|30d (ค่าเริ่มต้น: 7d)"
|
||
},
|
||
"get": {
|
||
"description": "รับรายการบันทึกการตรวจสอบหนึ่งรายการตาม ID"
|
||
}
|
||
},
|
||
"skills": {
|
||
"description": "จัดการทักษะของ OmniRoute (sandbox, builtin, custom, hybrid, skillssh)",
|
||
"list": {
|
||
"description": "แสดงรายการทักษะที่ติดตั้งแล้ว",
|
||
"type": "กรองตามประเภท (sandbox|custom|builtin|hybrid|skillssh)",
|
||
"enabled": "แสดงเฉพาะทักษะที่เปิดใช้งาน",
|
||
"disabled": "แสดงเฉพาะทักษะที่ปิดใช้งาน",
|
||
"api_key": "กรองตามคีย์ API"
|
||
},
|
||
"get": {
|
||
"description": "ดูรายละเอียดของทักษะตาม ID"
|
||
},
|
||
"install": {
|
||
"description": "ติดตั้งทักษะจากไฟล์หรือ URL",
|
||
"from_file": "พาธไปยังไฟล์คำจำกัดความทักษะ JSON",
|
||
"from_url": "URL ของคำจำกัดความทักษะระยะไกล",
|
||
"type": "ประเภททักษะ (sandbox|custom|hybrid)",
|
||
"enable": "เปิดใช้งานทักษะหลังติดตั้ง"
|
||
},
|
||
"enable": {
|
||
"description": "เปิดใช้งานทักษะตาม ID"
|
||
},
|
||
"disable": {
|
||
"description": "ปิดใช้งานทักษะตาม ID",
|
||
"yes": "ข้ามข้อความแจ้งยืนยัน"
|
||
},
|
||
"delete": {
|
||
"description": "ลบทักษะตาม ID",
|
||
"yes": "ข้ามข้อความแจ้งยืนยัน"
|
||
},
|
||
"execute": {
|
||
"description": "เรียกใช้ทักษะตาม ID",
|
||
"input": "ออบเจ็กต์อินพุต JSON",
|
||
"input_file": "พาธไปยังไฟล์อินพุต JSON",
|
||
"timeout": "ระยะหมดเวลาการดำเนินการเป็นมิลลิวินาที (ค่าเริ่มต้น: 30000)"
|
||
},
|
||
"executions": {
|
||
"description": "แสดงประวัติการเรียกใช้ทักษะ",
|
||
"skill": "กรองตาม ID ทักษะ",
|
||
"limit": "จำนวนผลลัพธ์สูงสุด (ค่าเริ่มต้น: 50)",
|
||
"status": "กรองตามสถานะ (running|completed|failed)"
|
||
},
|
||
"skillssh": {
|
||
"description": "จัดการทักษะที่ติดตั้งผ่าน SSH"
|
||
},
|
||
"marketplace": {
|
||
"description": "เรียกดูและติดตั้งทักษะจากมาร์เก็ตเพลส"
|
||
},
|
||
"mp": {
|
||
"search": {
|
||
"description": "ค้นหาแพ็กเกจในมาร์เก็ตเพลส",
|
||
"category": "กรองตามหมวดหมู่",
|
||
"tag": "กรองตามแท็ก",
|
||
"limit": "จำนวนผลลัพธ์สูงสุด (ค่าเริ่มต้น: 30)",
|
||
"sort": "เรียงตาม: downloads|rating|recent"
|
||
},
|
||
"info": {
|
||
"description": "แสดงรายละเอียดแพ็กเกจและ readme"
|
||
},
|
||
"install": {
|
||
"description": "ติดตั้งแพ็กเกจจากมาร์เก็ตเพลส",
|
||
"version": "เวอร์ชันแพ็กเกจ (ค่าเริ่มต้น: latest)",
|
||
"enable": "เปิดใช้งานหลังการติดตั้ง",
|
||
"yes": "ข้ามข้อความแจ้งยืนยัน"
|
||
},
|
||
"categories": {
|
||
"description": "แสดงรายการหมวดหมู่ในมาร์เก็ตเพลส"
|
||
},
|
||
"featured": {
|
||
"description": "แสดงแพ็กเกจแนะนำในมาร์เก็ตเพลส"
|
||
}
|
||
}
|
||
},
|
||
"memory": {
|
||
"description": "จัดการหน่วยความจำการสนทนาของ OmniRoute (FTS5 + vector)",
|
||
"search": {
|
||
"description": "ค้นหารายการหน่วยความจำด้วยคำค้นหาเชิงความหมาย",
|
||
"type": "กรองตามประเภทหน่วยความจำ (user|feedback|project|reference)",
|
||
"limit": "จำนวนผลลัพธ์สูงสุด (ค่าเริ่มต้น: 20)",
|
||
"api_key": "กรองตามคีย์ API",
|
||
"token_budget": "จำกัดจำนวนโทเค็นทั้งหมดในผลลัพธ์"
|
||
},
|
||
"add": {
|
||
"description": "เพิ่มรายการหน่วยความจำใหม่",
|
||
"content": "เนื้อหาข้อความในหน่วยความจำ",
|
||
"file": "อ่านเนื้อหาจากไฟล์",
|
||
"type": "ประเภทหน่วยความจำ (ค่าเริ่มต้น: user)",
|
||
"metadata": "ออบเจ็กต์ข้อมูลเมตา JSON",
|
||
"api_key": "เชื่อมโยงกับคีย์ API"
|
||
},
|
||
"clear": {
|
||
"description": "ลบรายการหน่วยความจำที่ตรงกับตัวกรอง",
|
||
"type": "กรองตามประเภท",
|
||
"older": "ลบรายการที่เก่ากว่าระยะเวลาที่กำหนด (30d, 6m, 1y)",
|
||
"api_key": "กรองตามคีย์ API",
|
||
"yes": "ข้ามข้อความแจ้งยืนยัน"
|
||
},
|
||
"list": {
|
||
"description": "แสดงรายการหน่วยความจำโดยไม่มีการจัดอันดับการค้นหา",
|
||
"type": "กรองตามประเภท",
|
||
"limit": "จำนวนผลลัพธ์สูงสุด (ค่าเริ่มต้น: 100)",
|
||
"api_key": "กรองตามคีย์ API"
|
||
},
|
||
"get": {
|
||
"description": "รับรายการหน่วยความจำหนึ่งรายการตาม ID"
|
||
},
|
||
"delete": {
|
||
"description": "ลบรายการหน่วยความจำตาม ID",
|
||
"yes": "ข้ามข้อความแจ้งให้ยืนยัน"
|
||
},
|
||
"health": {
|
||
"description": "แสดงสถานะของระบบย่อยหน่วยความจำ (FTS5 + Qdrant)"
|
||
}
|
||
},
|
||
"oauth": {
|
||
"description": "จัดการการเชื่อมต่อผู้ให้บริการ OAuth",
|
||
"providers": {
|
||
"description": "แสดงรายการผู้ให้บริการที่รองรับ OAuth และประเภทโฟลว์"
|
||
},
|
||
"start": {
|
||
"description": "เริ่มโฟลว์การอนุญาต OAuth สำหรับผู้ให้บริการ",
|
||
"provider": "รหัสผู้ให้บริการ (gemini, copilot, cursor, …)",
|
||
"no_browser": "แสดงเฉพาะ URL — ไม่ต้องเปิดเบราว์เซอร์",
|
||
"import_system": "นำเข้าข้อมูลรับรองโดยอัตโนมัติจากการกำหนดค่าระบบภายในเครื่อง",
|
||
"social": "ผู้ให้บริการการเข้าสู่ระบบผ่านโซเชียล (google|github) — จำเป็นสำหรับ kiro",
|
||
"timeout": "ระยะหมดเวลารอการอนุญาตเป็นมิลลิวินาที (ค่าเริ่มต้น: 300000)"
|
||
},
|
||
"status": {
|
||
"description": "แสดงรายการการเชื่อมต่อ OAuth ที่ใช้งานอยู่",
|
||
"provider": "กรองตามรหัสผู้ให้บริการ"
|
||
},
|
||
"revoke": {
|
||
"description": "เพิกถอนการเชื่อมต่อ OAuth",
|
||
"provider": "รหัสผู้ให้บริการที่จะเพิกถอน",
|
||
"connection_id": "เพิกถอนการเชื่อมต่อที่ระบุตาม ID",
|
||
"yes": "ข้ามข้อความแจ้งให้ยืนยัน"
|
||
}
|
||
},
|
||
"cloud": {
|
||
"description": "จัดการงานเอเจนต์ AI บนคลาวด์ (codex, devin, jules)",
|
||
"agents": {
|
||
"description": "แสดงรายการเอเจนต์บนคลาวด์ที่พร้อมใช้งาน"
|
||
},
|
||
"agent": {
|
||
"description": "จัดการงานเอเจนต์ {agent} บนคลาวด์",
|
||
"auth": {
|
||
"description": "อนุญาต {agent} ผ่าน OAuth"
|
||
}
|
||
},
|
||
"task": {
|
||
"description": "จัดการงานเอเจนต์บนคลาวด์",
|
||
"create": {
|
||
"description": "สร้างงานเอเจนต์ใหม่",
|
||
"title": "ชื่องาน (ค่าเริ่มต้นคือ 80 อักขระแรกของพรอมต์)",
|
||
"prompt": "ข้อความพรอมต์ของงาน",
|
||
"prompt_file": "อ่านพรอมต์จากไฟล์",
|
||
"repo": "URL ของรีพอซิทอรีที่จะโคลนสำหรับงาน",
|
||
"branch": "ชื่อแบรนช์ที่จะใช้",
|
||
"metadata": "ออบเจ็กต์ข้อมูลเมตา JSON"
|
||
},
|
||
"list": {
|
||
"description": "แสดงรายการงานของเอเจนต์",
|
||
"status": "กรองตามสถานะ (running|completed|failed|cancelled)",
|
||
"limit": "จำนวนผลลัพธ์สูงสุด (ค่าเริ่มต้น: 50)"
|
||
},
|
||
"get": {
|
||
"description": "ดูรายละเอียดงานตาม ID"
|
||
},
|
||
"status": {
|
||
"description": "แสดงสถานะงาน (running|completed|failed|cancelled)"
|
||
},
|
||
"cancel": {
|
||
"description": "ยกเลิกงานที่กำลังทำงานอยู่",
|
||
"yes": "ข้ามข้อความแจ้งให้ยืนยัน"
|
||
},
|
||
"approve": {
|
||
"description": "อนุมัติแผนของเอเจนต์เพื่อเริ่มดำเนินการ"
|
||
},
|
||
"message": {
|
||
"description": "ส่งข้อความไปยังงานที่กำลังทำงานอยู่"
|
||
}
|
||
},
|
||
"sources": {
|
||
"description": "แสดงรายการไฟล์ต้นฉบับที่สร้างโดยงาน"
|
||
}
|
||
},
|
||
"eval": {
|
||
"description": "จัดการชุดการประเมินและการเรียกใช้",
|
||
"suites": {
|
||
"description": "จัดการชุดการประเมิน",
|
||
"list": {
|
||
"description": "แสดงรายการชุดการประเมิน"
|
||
},
|
||
"get": {
|
||
"description": "ดูรายละเอียดชุดการประเมินตาม ID"
|
||
},
|
||
"create": {
|
||
"description": "สร้างชุดการประเมินจากไฟล์ JSON",
|
||
"file": "พาธไปยังไฟล์ JSON ที่กำหนดชุดการประเมิน"
|
||
}
|
||
},
|
||
"run": {
|
||
"description": "เริ่มการรันการประเมินสำหรับชุดการประเมิน",
|
||
"model": "ID โมเดลที่จะประเมิน (ค่าเริ่มต้น: auto)",
|
||
"combo": "บังคับใช้คอมโบที่ระบุตามชื่อ",
|
||
"concurrency": "จำนวนตัวอย่างที่ทำงานพร้อมกัน (ค่าเริ่มต้น: 4)",
|
||
"tag": "ติดแท็กการรันนี้เพื่อกรองในภายหลัง",
|
||
"watch": "ติดตามความคืบหน้าของการรันจนเสร็จสิ้น"
|
||
},
|
||
"list": {
|
||
"description": "แสดงรายการการรันการประเมิน",
|
||
"suite": "กรองตาม ID ชุดการประเมิน",
|
||
"status": "กรองตามสถานะ",
|
||
"since": "แสดงการรันนับตั้งแต่การประทับเวลานี้",
|
||
"limit": "จำนวนผลลัพธ์สูงสุด (ค่าเริ่มต้น: 50)"
|
||
},
|
||
"get": {
|
||
"description": "ดูรายละเอียดการรันการประเมินตาม ID"
|
||
},
|
||
"results": {
|
||
"description": "แสดงผลลัพธ์ของตัวอย่างสำหรับการรันการประเมิน",
|
||
"failed": "แสดงเฉพาะตัวอย่างที่ล้มเหลว"
|
||
},
|
||
"cancel": {
|
||
"description": "ยกเลิกการรันการประเมินที่กำลังดำเนินอยู่",
|
||
"yes": "ข้ามข้อความแจ้งยืนยัน"
|
||
},
|
||
"scorecard": {
|
||
"description": "แสดงตารางคะแนนสำหรับการรันการประเมินที่เสร็จสมบูรณ์"
|
||
}
|
||
},
|
||
"webhooks": {
|
||
"description": "จัดการเว็บฮุกของ OmniRoute",
|
||
"events": {
|
||
"description": "แสดงรายการประเภทเหตุการณ์เว็บฮุกทั้งหมดที่พร้อมใช้งาน"
|
||
},
|
||
"list": {
|
||
"description": "แสดงรายการเว็บฮุกที่กำหนดค่าไว้"
|
||
},
|
||
"get": {
|
||
"description": "ดูรายละเอียดเว็บฮุกตาม ID"
|
||
},
|
||
"add": {
|
||
"description": "ลงทะเบียนเว็บฮุกใหม่",
|
||
"url": "URL ปลายทาง",
|
||
"events": "รายการประเภทเหตุการณ์ที่คั่นด้วยจุลภาค",
|
||
"secret": "ข้อมูลลับสำหรับการลงนาม HMAC",
|
||
"header": "ส่วนหัวเพิ่มเติมในรูปแบบ key=value (ระบุซ้ำได้)",
|
||
"no_enabled": "สร้างเว็บฮุกในสถานะปิดใช้งาน"
|
||
},
|
||
"update": {
|
||
"description": "อัปเดตเว็บฮุกที่มีอยู่",
|
||
"enabled": "ตั้งค่าสถานะการเปิดใช้งาน (true|false)"
|
||
},
|
||
"remove": {
|
||
"description": "ลบเว็บฮุก",
|
||
"yes": "ข้ามข้อความแจ้งยืนยัน"
|
||
},
|
||
"test": {
|
||
"description": "ส่งเหตุการณ์ทดสอบไปยังเว็บฮุก",
|
||
"event": "ประเภทเหตุการณ์ที่จะจำลอง (ค่าเริ่มต้น: request.completed)"
|
||
}
|
||
},
|
||
"program": {
|
||
"description": "OmniRoute — AI Router อัจฉริยะพร้อม Auto Fallback",
|
||
"version": "แสดงเวอร์ชันและออก",
|
||
"output": "รูปแบบเอาต์พุต (table, json, jsonl, csv)",
|
||
"quiet": "ซ่อนเอาต์พุตที่ไม่จำเป็น",
|
||
"no_color": "ปิดใช้งานเอาต์พุตสี",
|
||
"timeout": "หมดเวลา HTTP request ในมิลลิวินาที",
|
||
"api_key": "API Key สำหรับ OmniRoute server",
|
||
"base_url": "Base URL ของ OmniRoute server",
|
||
"context": "บริบท/โปรไฟล์ของเซิร์ฟเวอร์สำหรับคำสั่งนี้",
|
||
"lang": "ตั้งค่าภาษาแสดงผล CLI (แทนที่ OMNIROUTE_LANG)"
|
||
},
|
||
"files": {
|
||
"description": "จัดการไฟล์ (อัปโหลด แสดงรายการ ดู ดาวน์โหลด ลบ)",
|
||
"list": {
|
||
"purpose": "กรองตามวัตถุประสงค์",
|
||
"limit": "จำนวนผลลัพธ์สูงสุด"
|
||
},
|
||
"get": {
|
||
"description": "รับข้อมูลเมตาของไฟล์"
|
||
},
|
||
"upload": {
|
||
"description": "อัปโหลดไฟล์",
|
||
"purpose": "วัตถุประสงค์ของไฟล์ (batch, assistants, fine-tune)"
|
||
},
|
||
"content": {
|
||
"description": "ดาวน์โหลดเนื้อหาไฟล์",
|
||
"out": "บันทึกไปยังพาธ (ค่าเริ่มต้น: stdout)"
|
||
},
|
||
"delete": {
|
||
"yes": "ข้ามการยืนยัน"
|
||
}
|
||
},
|
||
"batches": {
|
||
"description": "จัดการงานแบตช์ที่เข้ากันได้กับ OpenAI",
|
||
"list": {
|
||
"status": "กรองตามสถานะ",
|
||
"limit": "จำนวนผลลัพธ์สูงสุด"
|
||
},
|
||
"create": {
|
||
"description": "สร้างงานแบตช์",
|
||
"inputFile": "ID ไฟล์อินพุต",
|
||
"endpoint": "เอนด์พอยต์เป้าหมาย",
|
||
"window": "กรอบเวลาการดำเนินการให้เสร็จสิ้น",
|
||
"metadata": "เพิ่มข้อมูลเมตา key=value"
|
||
},
|
||
"submit": {
|
||
"description": "อัปโหลดไฟล์ JSONL และสร้างงานแบตช์",
|
||
"jsonl": "พาธไปยังไฟล์ JSONL",
|
||
"endpoint": "เอนด์พอยต์เป้าหมาย",
|
||
"wait": "รอจนกว่าจะเสร็จสิ้น"
|
||
},
|
||
"cancel": {
|
||
"yes": "ข้ามการยืนยัน"
|
||
},
|
||
"wait": {
|
||
"timeout": "ระยะหมดเวลาเป็น ms"
|
||
},
|
||
"output": {
|
||
"out": "บันทึกเอาต์พุตไปยังพาธ"
|
||
},
|
||
"errors": {
|
||
"out": "บันทึกข้อผิดพลาดไปยังพาธ"
|
||
}
|
||
},
|
||
"translator": {
|
||
"description": "แปลเนื้อหาคำขอระหว่างรูปแบบ LLM",
|
||
"detect": {
|
||
"description": "ตรวจหารูปแบบเนื้อหา"
|
||
},
|
||
"translate": {
|
||
"description": "แปลงเนื้อหาจากรูปแบบหนึ่งเป็นอีกรูปแบบหนึ่ง"
|
||
},
|
||
"send": {
|
||
"description": "แปลและส่งต่อไปยังต้นทาง"
|
||
},
|
||
"stream": {
|
||
"description": "แปลเนื้อหาคำขอแบบสตรีม"
|
||
},
|
||
"from": "รูปแบบต้นทาง (openai|anthropic|gemini|cohere)",
|
||
"to": "รูปแบบเป้าหมาย (openai|anthropic|gemini|cohere)",
|
||
"file": "พาธไปยังไฟล์ JSON เนื้อหาคำขอ",
|
||
"out": "บันทึกเอาต์พุตลงในไฟล์",
|
||
"model": "แทนที่โมเดล",
|
||
"history": {
|
||
"limit": "จำนวนผลลัพธ์สูงสุด"
|
||
}
|
||
},
|
||
"pricing": {
|
||
"description": "จัดการข้อมูลราคาสำหรับโมเดล",
|
||
"sync": {
|
||
"description": "ซิงค์ราคาจากแหล่งต้นทาง",
|
||
"provider": "กรองตามผู้ให้บริการ",
|
||
"force": "บังคับให้ซิงค์ใหม่"
|
||
},
|
||
"list": {
|
||
"provider": "กรองตามผู้ให้บริการ",
|
||
"model": "กรองตามโมเดล",
|
||
"limit": "จำนวนผลลัพธ์สูงสุด"
|
||
},
|
||
"defaults": {
|
||
"description": "จัดการราคาเริ่มต้น",
|
||
"input": "ต้นทุนอินพุตต่อ 1 ล้านโทเค็น (USD)",
|
||
"output": "ต้นทุนเอาต์พุตต่อ 1 ล้านโทเค็น (USD)",
|
||
"cacheRead": "ต้นทุนการอ่านแคชต่อ 1 ล้านโทเค็น (USD)",
|
||
"cacheWrite": "ต้นทุนการเขียนแคชต่อ 1 ล้านโทเค็น (USD)"
|
||
},
|
||
"diff": {
|
||
"description": "แสดงความแตกต่างจากราคาต้นทาง",
|
||
"model": "กรองตามโมเดล"
|
||
}
|
||
},
|
||
"radar": {
|
||
"description": "ตรวจสอบและซิงค์ฟีดแค็ตตาล็อก Radar ภายในเครื่อง",
|
||
"status": "แสดงการตั้งค่า Radar ภายในเครื่องและสถานะแคชของฟีด",
|
||
"sync": "ซิงค์แค็ตตาล็อก การแนะนำ ข้อเสนอ และ Intel ผ่านเซิร์ฟเวอร์ภายในเครื่อง"
|
||
},
|
||
"resilience": {
|
||
"description": "ตรวจสอบและจัดการกลไกความยืดหยุ่น",
|
||
"status": {
|
||
"provider": "กรองตามผู้ให้บริการ"
|
||
},
|
||
"breakers": {
|
||
"provider": "กรองตามผู้ให้บริการ"
|
||
},
|
||
"cooldowns": {
|
||
"provider": "กรองตามผู้ให้บริการ",
|
||
"connectionId": "กรองตาม ID การเชื่อมต่อ"
|
||
},
|
||
"lockouts": {
|
||
"provider": "กรองตามผู้ให้บริการ",
|
||
"model": "กรองตามโมเดล"
|
||
},
|
||
"reset": {
|
||
"description": "รีเซ็ตสถานะเบรกเกอร์/ช่วงพัก",
|
||
"provider": "ผู้ให้บริการที่จะรีเซ็ต",
|
||
"connectionId": "ID การเชื่อมต่อที่จะรีเซ็ต",
|
||
"model": "โมเดลที่จะยกเลิกการล็อก",
|
||
"allCooldowns": "รีเซ็ตช่วงพักทั้งหมดสำหรับผู้ให้บริการ",
|
||
"yes": "ข้ามการยืนยัน"
|
||
},
|
||
"profile": {
|
||
"description": "จัดการโปรไฟล์ความยืดหยุ่น",
|
||
"name": "ชื่อโปรไฟล์"
|
||
},
|
||
"config": {
|
||
"description": "จัดการการกำหนดค่าความยืดหยุ่น",
|
||
"threshold": "เกณฑ์จำนวนครั้งที่ล้มเหลว",
|
||
"resetTimeout": "ระยะหมดเวลาก่อนรีเซ็ต หน่วย ms",
|
||
"baseCooldown": "ช่วงพักพื้นฐาน หน่วย ms"
|
||
}
|
||
},
|
||
"nodes": {
|
||
"description": "จัดการโหนดของผู้ให้บริการ (เอนด์พอยต์)",
|
||
"list": {
|
||
"provider": "กรองตามผู้ให้บริการ",
|
||
"enabled": "แสดงเฉพาะโหนดที่เปิดใช้งาน"
|
||
},
|
||
"add": {
|
||
"provider": "ชื่อผู้ให้บริการ",
|
||
"baseUrl": "URL ฐานสำหรับโหนด",
|
||
"name": "ชื่อโหนด",
|
||
"weight": "ค่าน้ำหนักการกระจายโหลด",
|
||
"region": "แท็กภูมิภาค",
|
||
"authHeader": "ส่วนหัวการยืนยันตัวตนแบบกำหนดเอง (key=value)"
|
||
},
|
||
"update": {
|
||
"baseUrl": "URL ฐานใหม่",
|
||
"name": "ชื่อใหม่",
|
||
"weight": "น้ำหนักใหม่",
|
||
"region": "ภูมิภาคใหม่",
|
||
"enabled": "เปิดหรือปิดใช้งาน (true|false)"
|
||
},
|
||
"remove": {
|
||
"yes": "ข้ามการยืนยัน"
|
||
},
|
||
"validate": {
|
||
"baseUrl": "URL ที่จะตรวจสอบ",
|
||
"provider": "ผู้ให้บริการที่ใช้ตรวจสอบเปรียบเทียบ"
|
||
},
|
||
"test": {
|
||
"description": "ส่งคำขอทดสอบไปยังโหนด"
|
||
},
|
||
"metrics": {
|
||
"description": "แสดงเมตริกของโหนด",
|
||
"period": "ช่วงเวลา (เช่น 24h, 7d)"
|
||
}
|
||
},
|
||
"context": {
|
||
"description": "กำหนดค่าไปป์ไลน์วิศวกรรมบริบท (Caveman, RTK)",
|
||
"analytics": {
|
||
"period": "ช่วงเวลา (เช่น 7d, 30d)"
|
||
},
|
||
"caveman": {
|
||
"description": "จัดการตัวบีบอัดบริบท Caveman",
|
||
"config": {
|
||
"description": "แสดงหรืออัปเดตการกำหนดค่า Caveman",
|
||
"aggressiveness": "ระดับความเข้ม 0.0–1.0",
|
||
"maxShrinkPct": "เปอร์เซ็นต์การย่อสูงสุด",
|
||
"preserveTags": "แท็กที่ต้องเก็บไว้ โดยคั่นด้วยเครื่องหมายจุลภาค"
|
||
}
|
||
},
|
||
"rtk": {
|
||
"description": "จัดการเครื่องมือเพิ่มประสิทธิภาพบริบท RTK",
|
||
"config": {
|
||
"description": "แสดงหรืออัปเดตการกำหนดค่า RTK",
|
||
"tokenBudget": "งบประมาณโทเค็นสำหรับ RTK",
|
||
"reservePct": "เปอร์เซ็นต์สำรอง"
|
||
},
|
||
"filters": {
|
||
"description": "จัดการตัวกรอง RTK",
|
||
"pattern": "รูปแบบตัวกรอง (regex)",
|
||
"priority": "ลำดับความสำคัญของตัวกรอง (ค่าเริ่มต้น: 100)",
|
||
"action": "การดำเนินการของตัวกรอง: drop|shrink|replace",
|
||
"yes": "ข้ามการยืนยัน"
|
||
},
|
||
"test": {
|
||
"file": "พาธไปยังไฟล์ JSON ของคำขอ"
|
||
}
|
||
},
|
||
"combos": {
|
||
"description": "การจัดการชุดคำสั่งผสมที่คำนึงถึงบริบท"
|
||
}
|
||
},
|
||
"sessions": {
|
||
"description": "ตรวจสอบและจัดการเซสชันที่ใช้งานอยู่",
|
||
"list": {
|
||
"user": "กรองตามผู้ใช้",
|
||
"kind": "กรองตามประเภท (dashboard|api-key|mcp|a2a)",
|
||
"active": "แสดงเฉพาะเซสชันที่ใช้งานอยู่",
|
||
"limit": "จำนวนผลลัพธ์สูงสุด (ค่าเริ่มต้น: 100)"
|
||
},
|
||
"expire": {
|
||
"yes": "ข้ามการยืนยัน"
|
||
},
|
||
"expireAll": {
|
||
"user": "ผู้ใช้ที่ต้องการให้เซสชันหมดอายุ",
|
||
"yes": "ข้ามการยืนยัน"
|
||
}
|
||
},
|
||
"tags": {
|
||
"description": "จัดการแท็กทรัพยากร",
|
||
"add": {
|
||
"color": "สีแท็ก (เลขฐานสิบหกหรือชื่อสี)",
|
||
"description": "คำอธิบายแท็ก"
|
||
},
|
||
"remove": {
|
||
"yes": "ข้ามการยืนยัน"
|
||
},
|
||
"assign": {
|
||
"tag": "ชื่อแท็ก",
|
||
"to": "ทรัพยากรเป้าหมายในรูปแบบ type:id (เช่น provider:openai)"
|
||
},
|
||
"unassign": {
|
||
"tag": "ชื่อแท็ก",
|
||
"from": "ทรัพยากรต้นทางในรูปแบบ type:id"
|
||
}
|
||
},
|
||
"openapi": {
|
||
"description": "เข้าถึงและทดสอบข้อกำหนด OpenAPI ของ OmniRoute",
|
||
"dump": {
|
||
"description": "ส่งออกข้อกำหนด OpenAPI ไปยัง stdout หรือไฟล์",
|
||
"format": "รูปแบบเอาต์พุต: yaml|json (ค่าเริ่มต้น: yaml)",
|
||
"out": "บันทึกไปยังพาธไฟล์"
|
||
},
|
||
"validate": {
|
||
"description": "ตรวจสอบความถูกต้องของข้อกำหนด OpenAPI"
|
||
},
|
||
"try": {
|
||
"description": "ทดสอบ API endpoint ผ่านข้อกำหนด",
|
||
"method": "เมธอด HTTP (ค่าเริ่มต้น: GET)",
|
||
"body": "พาธไปยังไฟล์ JSON สำหรับ request body",
|
||
"query": "พารามิเตอร์คิวรีในรูปแบบ key=value (ระบุซ้ำได้)",
|
||
"header": "ส่วนหัวในรูปแบบ key=value (ระบุซ้ำได้)"
|
||
},
|
||
"endpoints": {
|
||
"description": "แสดง API endpoint ทั้งหมด",
|
||
"search": "กรองตามพาธหรือสรุป"
|
||
},
|
||
"paths": {
|
||
"description": "แสดงพาธ API ทั้งหมด"
|
||
}
|
||
},
|
||
"combo": {
|
||
"title": "คอมโบ",
|
||
"switched": "คอมโบที่ใช้งานอยู่: {name}",
|
||
"created": "สร้างคอมโบแล้ว: {name}",
|
||
"deleted": "ลบคอมโบแล้ว: {name}",
|
||
"noCombos": "ยังไม่ได้กำหนดค่าคอมโบ",
|
||
"confirmDelete": "ลบคอมโบ {name} หรือไม่?",
|
||
"suggest": {
|
||
"description": "แนะนำคอมโบที่ดีที่สุดสำหรับงานโดยใช้การให้คะแนนด้วย AI",
|
||
"task": "คำอธิบายงาน",
|
||
"maxCost": "ค่าใช้จ่ายสูงสุดต่อคำขอในหน่วย USD",
|
||
"maxLatencyMs": "เวลาแฝงสูงสุดในหน่วยมิลลิวินาที",
|
||
"weights": "ค่าน้ำหนักการให้คะแนนแบบ JSON เช่น {\"latency\":0.7,\"cost\":0.3}",
|
||
"top": "จำนวนตัวเลือกอันดับสูงสุดที่จะแสดง (ค่าเริ่มต้น: 5)",
|
||
"explain": "พิมพ์เหตุผลไปยัง stderr",
|
||
"switch": "เปิดใช้งานคอมโบอันดับสูงสุด"
|
||
}
|
||
},
|
||
"oneproxy": {
|
||
"description": "จัดการพูลอัปสตรีมของ OneProxy",
|
||
"stats": {
|
||
"provider": "กรองตามผู้ให้บริการ",
|
||
"period": "ช่วงเวลา (ค่าเริ่มต้น: 24h)"
|
||
},
|
||
"fetch": {
|
||
"description": "ดึงพร็อกซีจากพูล",
|
||
"count": "จำนวนพร็อกซีที่จะดึง (ค่าเริ่มต้น: 1)",
|
||
"type": "ประเภทพร็อกซี: http|socks5 (ค่าเริ่มต้น: http)"
|
||
},
|
||
"rotate": {
|
||
"description": "บังคับหมุนเวียนพร็อกซี",
|
||
"provider": "ผู้ให้บริการที่จะหมุนเวียน",
|
||
"connectionId": "ID การเชื่อมต่อเฉพาะที่จะหมุนเวียน"
|
||
},
|
||
"config": {
|
||
"description": "แสดงหรืออัปเดตการกำหนดค่า OneProxy",
|
||
"enabled": "เปิดใช้งานพูลพร็อกซี (true|false)",
|
||
"poolSize": "ขนาดพูล",
|
||
"providerSource": "URL สำหรับผู้ให้บริการพร็อกซี",
|
||
"rotationPolicy": "นโยบายการหมุนเวียน: sticky|per-request|periodic"
|
||
},
|
||
"pool": {
|
||
"description": "แสดงรายการพูลพร็อกซีปัจจุบันพร้อมเมตริก"
|
||
}
|
||
},
|
||
"open": {
|
||
"description": "เปิดหน้าแดชบอร์ด OmniRoute ที่ระบุในเบราว์เซอร์",
|
||
"url": "แสดงเฉพาะ URL โดยไม่เปิดเบราว์เซอร์"
|
||
},
|
||
"telemetry": {
|
||
"description": "เข้าถึงข้อมูลเทเลเมทรีแบบรวม",
|
||
"summary": {
|
||
"description": "แสดงสรุปเทเลเมทรีแบบรวม",
|
||
"period": "ช่วงเวลา: 24h|7d|30d (ค่าเริ่มต้น: 24h)",
|
||
"compareTo": "เปรียบเทียบกับช่วงเวลาก่อนหน้า"
|
||
},
|
||
"export": {
|
||
"description": "ส่งออกเหตุการณ์เทเลเมทรีเป็น JSONL",
|
||
"out": "พาธไฟล์เอาต์พุต (ค่าเริ่มต้น: telemetry.jsonl)",
|
||
"period": "ช่วงเวลาสำหรับการส่งออก (ค่าเริ่มต้น: 7d)"
|
||
}
|
||
},
|
||
"sync": {
|
||
"description": "ซิงค์การกำหนดค่าระหว่างอินสแตนซ์ OmniRoute",
|
||
"push": {
|
||
"description": "พุชการกำหนดค่าไปยังระบบคลาวด์หรืออินสแตนซ์ระยะไกล",
|
||
"target": "เป้าหมาย (cloud หรือ context:name)",
|
||
"bundle": "ส่วนของบันเดิลที่จะซิงค์",
|
||
"dryRun": "แสดงตัวอย่างโดยไม่ใช้การเปลี่ยนแปลง"
|
||
},
|
||
"pull": {
|
||
"description": "ดึงการกำหนดค่าจากระบบคลาวด์หรืออินสแตนซ์ระยะไกล",
|
||
"source": "แหล่งที่มา (cloud หรือ context:name)",
|
||
"merge": "ผสานกับการกำหนดค่าที่มีอยู่",
|
||
"replace": "แทนที่การกำหนดค่าที่มีอยู่",
|
||
"dryRun": "แสดงตัวอย่างโดยไม่ใช้การเปลี่ยนแปลง"
|
||
},
|
||
"diff": {
|
||
"source": "คอนเท็กซ์ต้นทาง",
|
||
"target": "คอนเท็กซ์ปลายทาง"
|
||
},
|
||
"bundle": {
|
||
"description": "ส่งออกการกำหนดค่าเป็นไฟล์บันเดิล",
|
||
"include": "ส่วนที่จะรวม (คั่นด้วยจุลภาค)"
|
||
},
|
||
"import": {
|
||
"description": "นำเข้าไฟล์บันเดิล",
|
||
"dryRun": "ตรวจสอบความถูกต้องโดยไม่ใช้การเปลี่ยนแปลง"
|
||
},
|
||
"initialize": {
|
||
"fromCloud": "เริ่มต้นจากข้อมูลสำรองบนคลาวด์"
|
||
},
|
||
"tokens": {
|
||
"description": "จัดการโทเค็นการซิงค์",
|
||
"create": {
|
||
"name": "ชื่อโทเค็น",
|
||
"scope": "ขอบเขตโทเค็น",
|
||
"ttl": "TTL ของโทเค็น (เช่น 30d)"
|
||
},
|
||
"revoke": {
|
||
"yes": "ข้ามการยืนยัน"
|
||
}
|
||
},
|
||
"resolve": {
|
||
"description": "แก้ไขข้อขัดแย้งในการซิงค์แบบโต้ตอบ"
|
||
}
|
||
},
|
||
"config": {
|
||
"contexts": {
|
||
"description": "จัดการคอนเท็กซ์/โปรไฟล์ของเซิร์ฟเวอร์ (เพิ่ม, ใช้งาน, แสดงรายการ, แสดงรายละเอียด, ลบ, เปลี่ยนชื่อ, ส่งออก, นำเข้า)"
|
||
},
|
||
"lang": {
|
||
"description": "จัดการภาษาที่แสดงผลของ CLI",
|
||
"getDescription": "แสดงรหัสภาษาที่ใช้งานอยู่ในปัจจุบัน",
|
||
"setDescription": "ตั้งค่าภาษาที่ใช้แสดงผลและบันทึกลงใน config",
|
||
"listDescription": "แสดงรายการภาษาที่ใช้ได้ทั้งหมด",
|
||
"listTitle": "ภาษาที่ใช้ได้",
|
||
"current": "ภาษา: {code} ({name})",
|
||
"saved": "ตั้งค่าภาษาเป็น {code} ({name}) แล้ว",
|
||
"noCode": "ต้องระบุรหัสภาษา เรียกใช้ 'omniroute config lang list' เพื่อดูรหัสที่ใช้ได้",
|
||
"unknown": "ไม่รู้จักรหัสภาษา: {code} เรียกใช้ 'omniroute config lang list' เพื่อดูรหัสที่ใช้ได้",
|
||
"alreadySet": "ตั้งค่าภาษาเป็น {code} อยู่แล้ว",
|
||
"envHint": "เคล็ดลับ: คุณสามารถตั้งค่า OMNIROUTE_LANG={code} ในสภาพแวดล้อมของคุณได้เช่นกัน"
|
||
}
|
||
},
|
||
"completion": {
|
||
"description": "สร้างหรือติดตั้งสคริปต์เติมคำสั่งอัตโนมัติสำหรับเชลล์",
|
||
"zsh": "แสดงสคริปต์เติมคำสั่งอัตโนมัติสำหรับ zsh",
|
||
"bash": "แสดงสคริปต์เติมคำสั่งอัตโนมัติสำหรับ bash",
|
||
"fish": "แสดงสคริปต์เติมคำสั่งอัตโนมัติสำหรับ fish",
|
||
"install": "ติดตั้งสคริปต์เติมคำสั่งอัตโนมัติแบบส่วนกลางสำหรับเชลล์ที่ตรวจพบ",
|
||
"refresh": "รีเฟรชแคชของคอมโบ/ผู้ให้บริการ/โมเดล"
|
||
},
|
||
"logs": {
|
||
"description": "สตรีมหรือส่งออกบันทึกคำขอ",
|
||
"follow": "สตรีมบันทึกแบบเรียลไทม์",
|
||
"filter": "กรองตามระดับ (error,warn,info) — คั่นด้วยเครื่องหมายจุลภาค",
|
||
"lines": "จำนวนบรรทัดที่จะดึงข้อมูล",
|
||
"timeout": "ระยะหมดเวลาการเชื่อมต่อ หน่วยเป็น ms",
|
||
"baseUrl": "URL ฐานของ OmniRoute API",
|
||
"requestId": "กรองตาม ID คำขอ",
|
||
"apiKey": "กรองตามคีย์ API",
|
||
"combo": "กรองตามชื่อคอมโบ",
|
||
"status": "กรองตามรหัสสถานะ HTTP",
|
||
"durationMin": "ระยะเวลาขั้นต่ำของคำขอ หน่วยเป็น ms",
|
||
"durationMax": "ระยะเวลาสูงสุดของคำขอ หน่วยเป็น ms",
|
||
"export": "บันทึกล็อกลงในไฟล์ (json/jsonl/csv)",
|
||
"exported": "บันทึกล็อกไปยัง {path} แล้ว",
|
||
"stopped": "หยุดสตรีมล็อกแล้ว",
|
||
"streamError": "เกิดข้อผิดพลาดในการสตรีมล็อก: {message}"
|
||
},
|
||
"tray": {
|
||
"description": "ควบคุมไอคอนในถาดระบบ",
|
||
"show": "แสดงไอคอนในถาดระบบ (หากเซิร์ฟเวอร์กำลังทำงานด้วย --tray)",
|
||
"hide": "ซ่อนไอคอนในถาดระบบ",
|
||
"quit": "ออกจาก OmniRoute ผ่านถาดระบบ"
|
||
},
|
||
"autostart": {
|
||
"description": "จัดการการเริ่ม OmniRoute อัตโนมัติเมื่อบูต (Linux: บริการผู้ใช้ systemd)",
|
||
"enable": "เปิดใช้การเริ่มอัตโนมัติเมื่อบูต",
|
||
"disable": "ปิดใช้การเริ่มอัตโนมัติเมื่อบูต",
|
||
"toggle": "สลับสถานะการเริ่มอัตโนมัติเมื่อบูต",
|
||
"status": "แสดงสถานะการเริ่มอัตโนมัติ"
|
||
},
|
||
"runtime": {
|
||
"description": "จัดการการพึ่งพารันไทม์แบบเนทีฟ",
|
||
"check": "ตรวจสอบสถานะของการพึ่งพาแบบเนทีฟในไดเรกทอรีรันไทม์",
|
||
"repair": "ติดตั้งการพึ่งพาแบบเนทีฟอีกครั้งในไดเรกทอรีรันไทม์",
|
||
"repair_force": "บังคับติดตั้งใหม่แม้ว่ายังใช้งานได้",
|
||
"clean": "ลบไดเรกทอรีรันไทม์ (เพิ่มพื้นที่ว่างในดิสก์)",
|
||
"clean_yes": "ข้ามการยืนยัน"
|
||
},
|
||
"repl": {
|
||
"description": "REPL แบบโต้ตอบหลายรอบกับ LLM",
|
||
"model": "โมเดลที่จะใช้ (ค่าเริ่มต้น: อัตโนมัติ)",
|
||
"combo": "ชื่อคอมโบที่จะใช้",
|
||
"system": "พรอมต์ระบบ",
|
||
"resume": "ดำเนินเซสชันที่บันทึกไว้ต่อตามชื่อ"
|
||
},
|
||
"plugin": {
|
||
"description": "จัดการปลั๊กอิน CLI (omniroute-cmd-*)",
|
||
"list": "แสดงรายการปลั๊กอินที่ติดตั้งแล้ว",
|
||
"install": "ติดตั้งปลั๊กอินจาก npm หรือพาธภายในเครื่อง",
|
||
"remove": "ลบปลั๊กอินที่ติดตั้งแล้ว",
|
||
"info": "แสดงรายละเอียดของปลั๊กอินที่ติดตั้งแล้ว",
|
||
"search": "ค้นหาปลั๊กอินที่พร้อมใช้งานในรีจิสทรี npm",
|
||
"update": "อัปเดตปลั๊กอินที่ติดตั้งแล้ว",
|
||
"scaffold": "สร้างโครงเริ่มต้นสำหรับปลั๊กอินใหม่"
|
||
},
|
||
"launch": {
|
||
"description": "เปิด Claude Code ที่เชื่อมต่อกับ OmniRoute (ภายในเครื่องหรือระยะไกล พร้อม --profile)",
|
||
"token": "โทเค็นที่ไคลเอนต์ Claude ควรส่ง (ANTHROPIC_AUTH_TOKEN)",
|
||
"notRunning": "ไม่สามารถเข้าถึง OmniRoute ที่ {port} ได้ เริ่มต้นด้วย 'omniroute serve'",
|
||
"notFound": "ไม่พบ CLI 'claude' ใน PATH"
|
||
},
|
||
"run": {
|
||
"description": "เปิดเป้าหมาย CLI ที่รองรับผ่าน OmniRoute"
|
||
},
|
||
"setupClaude": {
|
||
"description": "สร้างโปรไฟล์ Claude Code ใน ~/.claude/profiles จากแค็ตตาล็อกโมเดล OmniRoute"
|
||
},
|
||
"connect": {
|
||
"description": "เชื่อมต่อกับเซิร์ฟเวอร์ OmniRoute ระยะไกลและเข้าสู่โหมดระยะไกล"
|
||
},
|
||
"tokens": {
|
||
"description": "จัดการโทเค็นการเข้าถึง CLI แบบกำหนดขอบเขต (โหมดระยะไกล)"
|
||
},
|
||
"configure": {
|
||
"description": "เลือกผู้ให้บริการ+โมเดลจากเซิร์ฟเวอร์ที่ใช้งานอยู่และกำหนดค่า CLI ภายในเครื่องที่รองรับ"
|
||
},
|
||
"launchCodex": {
|
||
"description": "เปิด Codex CLI ที่เชื่อมต่อกับ OmniRoute (ภายในเครื่องหรือ VPS ระยะไกล)"
|
||
},
|
||
"setupCodex": {
|
||
"description": "สร้างไฟล์โปรไฟล์ใน ~/.codex จากแค็ตตาล็อกโมเดลแบบสดของ OmniRoute"
|
||
},
|
||
"packs": {
|
||
"description": "จัดการแพ็กรันไทม์เสริม (ML / ระบบอัตโนมัติของเบราว์เซอร์)",
|
||
"listDescription": "แสดงรายการแพ็กเสริมและสถานะการติดตั้ง",
|
||
"installDescription": "ติดตั้งแพ็กเสริมลงใน DATA_DIR",
|
||
"verifyDescription": "ตรวจสอบแพ็กที่ติดตั้งแล้วเทียบกับดัชนีเช็กซัมที่ให้มา",
|
||
"removeDescription": "ลบแพ็กเสริมที่ติดตั้งแล้ว",
|
||
"sourceOpt": "ไดเรกทอรีที่เก็บเพย์โหลดของแพ็กและดัชนีแพ็ก",
|
||
"warnNoIndex": "ไม่พบ optional-packs.index.json — ไม่สามารถติดตั้ง/ตรวจสอบได้ในเช็กเอาต์นี้ (บันเดิลเดสก์ท็อปมีไฟล์นี้ให้)",
|
||
"errUnknown": "แพ็กที่ไม่รู้จัก: {name}",
|
||
"errNoIndex": "ไม่พบดัชนีแพ็ก โปรดส่ง --source <dir> ที่เก็บเพย์โหลดของแพ็ก (บันเดิลเดสก์ท็อปมีไฟล์นี้อยู่ถัดจากแอป)",
|
||
"installed": "ติดตั้งและตรวจสอบแพ็ก \"{name}\" ที่ {dir} แล้ว",
|
||
"restartHint": "รีสตาร์ทเซิร์ฟเวอร์ OmniRoute (หรือแอปเดสก์ท็อป) เพื่อให้รันไทม์ตรวจพบแพ็ก",
|
||
"removed": "นำแพ็ก \"{name}\" ออกแล้ว",
|
||
"notInstalled": "ยังไม่ได้ติดตั้งแพ็ก \"{name}\"",
|
||
"verifyOk": "ตรวจสอบแพ็กที่ติดตั้งทั้งหมดเรียบร้อยแล้ว",
|
||
"verifyFailed": "แพ็ก {count} รายการไม่ผ่านการตรวจสอบ",
|
||
"noneInstalled": "ไม่มีแพ็กเสริมที่ติดตั้งไว้"
|
||
}
|
||
}
|