mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-02 21:32:10 +03:00
2353 lines
195 KiB
JSON
2353 lines
195 KiB
JSON
{
|
||
"common": {
|
||
"save": "บันทึก",
|
||
"cancel": "ยกเลิก",
|
||
"delete": "ลบ",
|
||
"loading": "กำลังโหลด...",
|
||
"error": "เกิดข้อผิดพลาด",
|
||
"success": "ความสำเร็จ",
|
||
"confirm": "คุณแน่ใจเหรอ?",
|
||
"refresh": "รีเฟรช",
|
||
"close": "ปิด",
|
||
"add": "เพิ่ม",
|
||
"edit": "แก้ไข",
|
||
"search": "ค้นหา",
|
||
"back": "กลับ",
|
||
"next": "ถัดไป",
|
||
"submit": "ส่ง",
|
||
"reset": "รีเซ็ต",
|
||
"copy": "คัดลอก",
|
||
"copied": "คัดลอก!",
|
||
"enabled": "เปิดใช้งานแล้ว",
|
||
"disabled": "ปิดการใช้งาน",
|
||
"active": "ใช้งานอยู่",
|
||
"inactive": "ไม่ได้ใช้งาน",
|
||
"noData": "ไม่มีข้อมูล",
|
||
"configure": "กำหนดค่า",
|
||
"manage": "จัดการ",
|
||
"name": "ชื่อ",
|
||
"actions": "การดำเนินการ",
|
||
"status": "สถานะ",
|
||
"type": "ประเภท",
|
||
"model": "รุ่น",
|
||
"models": "โมเดล",
|
||
"provider": "ผู้ให้บริการ",
|
||
"account": "บัญชี",
|
||
"time": "เวลา",
|
||
"details": "รายละเอียด",
|
||
"created": "สร้างแล้ว",
|
||
"lastUsed": "ใช้ล่าสุด",
|
||
"loadMore": "โหลดเพิ่มเติม",
|
||
"noResults": "ไม่พบผลลัพธ์",
|
||
"reloadPage": "โหลดหน้าซ้ำ",
|
||
"connected": "เชื่อมต่อแล้ว",
|
||
"disconnected": "ตัดการเชื่อมต่อแล้ว",
|
||
"notConfigured": "ไม่ได้กำหนดค่า",
|
||
"testConnection": "ทดสอบการเชื่อมต่อ",
|
||
"enable": "เปิดใช้งาน",
|
||
"disable": "ปิดการใช้งาน",
|
||
"columns": "คอลัมน์",
|
||
"newest": "ใหม่ล่าสุด",
|
||
"oldest": "เก่าแก่ที่สุด",
|
||
"all": "ทั้งหมด",
|
||
"none": "ไม่มี",
|
||
"yes": "ใช่",
|
||
"no": "ไม่",
|
||
"warning": "คำเตือน",
|
||
"note": "หมายเหตุ",
|
||
"free": "ฟรี",
|
||
"skipToContent": "ข้ามไปที่เนื้อหา"
|
||
},
|
||
"sidebar": {
|
||
"home": "บ้าน",
|
||
"dashboard": "แดชบอร์ด",
|
||
"providers": "ผู้ให้บริการ",
|
||
"combos": "คอมโบ",
|
||
"usage": "การใช้งาน",
|
||
"analytics": "การวิเคราะห์",
|
||
"costs": "ค่าใช้จ่าย",
|
||
"health": "สุขภาพ",
|
||
"limits": "ขีดจำกัดและโควต้า",
|
||
"cliTools": "เครื่องมือ CLI",
|
||
"media": "สื่อ",
|
||
"settings": "การตั้งค่า",
|
||
"translator": "นักแปล",
|
||
"docs": "เอกสาร",
|
||
"issues": "ประเด็นต่างๆ",
|
||
"endpoint": "จุดสิ้นสุด",
|
||
"mcp": "เอ็มซีพี",
|
||
"a2a": "เอทูเอ",
|
||
"apiManager": "ผู้จัดการ API",
|
||
"logs": "บันทึก",
|
||
"auditLog": "บันทึกการตรวจสอบ",
|
||
"shutdown": "ปิดเครื่อง",
|
||
"restart": "รีสตาร์ท",
|
||
"shutdownConfirm": "ปิด OmniRoute หรือไม่?",
|
||
"restartConfirm": "รีสตาร์ท OmniRoute หรือไม่",
|
||
"version": "v{version}",
|
||
"debug": "ดีบัก",
|
||
"system": "ระบบ",
|
||
"help": "ช่วยด้วย",
|
||
"serverDisconnected": "เซิร์ฟเวอร์ถูกตัดการเชื่อมต่อ",
|
||
"serverDisconnectedMsg": "พร็อกซีเซิร์ฟเวอร์ถูกหยุดหรือกำลังรีสตาร์ท",
|
||
"expandSidebar": "ขยายแถบด้านข้าง",
|
||
"collapseSidebar": "ยุบแถบด้านข้าง",
|
||
"themes": "ธีมส์",
|
||
"presetColors": "สียอดนิยม",
|
||
"createTheme": "สร้างธีม",
|
||
"chooseColor": "เลือกหนึ่งสี",
|
||
"themeCoral": "ปะการัง",
|
||
"themeBlue": "สีฟ้า",
|
||
"themeRed": "สีแดง",
|
||
"themeGreen": "สีเขียว",
|
||
"themeViolet": "Violet",
|
||
"themeOrange": "Orange",
|
||
"themeCyan": "Cyan"
|
||
},
|
||
"themesPage": {
|
||
"title": "ธีมส์",
|
||
"description": "Choose a preset theme or create your own with a single color",
|
||
"presetColors": "สียอดนิยม",
|
||
"customTheme": "Custom theme",
|
||
"customThemeDesc": "Click create theme and pick one color",
|
||
"createTheme": "สร้างธีม",
|
||
"activePreset": "Active theme"
|
||
},
|
||
"header": {
|
||
"logout": "ออกจากระบบ",
|
||
"language": "ภาษา",
|
||
"providers": "ผู้ให้บริการ",
|
||
"providerDescription": "จัดการการเชื่อมต่อผู้ให้บริการ AI ของคุณ",
|
||
"combos": "คอมโบ",
|
||
"comboDescription": "คอมโบโมเดลพร้อมทางเลือกสำรอง",
|
||
"usage": "การใช้งานและการวิเคราะห์",
|
||
"usageDescription": "ตรวจสอบการใช้งาน API การใช้โทเค็น และบันทึกคำขอของคุณ",
|
||
"analytics": "การวิเคราะห์",
|
||
"analyticsDescription": "แผนภูมิ แนวโน้ม และข้อมูลเชิงลึกในการประเมิน",
|
||
"cliTools": "เครื่องมือ CLI",
|
||
"cliToolsDescription": "กำหนดค่าเครื่องมือ CLI",
|
||
"home": "บ้าน",
|
||
"homeDescription": "ยินดีต้อนรับสู่ OmniRoute",
|
||
"endpoint": "จุดสิ้นสุด",
|
||
"endpointDescription": "การกำหนดค่าจุดสิ้นสุด API",
|
||
"mcp": "MCP Management",
|
||
"mcpDescription": "Monitor MCP server process, tools, and operational controls",
|
||
"a2a": "A2A Management",
|
||
"a2aDescription": "Monitor Agent2Agent status, tasks, and streaming activity",
|
||
"settings": "การตั้งค่า",
|
||
"settingsDescription": "จัดการการตั้งค่าของคุณ",
|
||
"openaiCompatible": "รองรับ OpenAI",
|
||
"anthropicCompatible": "เข้ากันได้กับมานุษยวิทยา",
|
||
"media": "Media",
|
||
"mediaDescription": "Generate images, videos, and music",
|
||
"themes": "ธีมส์",
|
||
"themesDescription": "Choose a color theme for the whole dashboard panel"
|
||
},
|
||
"home": {
|
||
"quickStart": "เริ่มต้นอย่างรวดเร็ว",
|
||
"quickStartDesc": "เริ่มต้นใช้งานใน 4 ขั้นตอน เชื่อมต่อผู้ให้บริการ โมเดลเส้นทาง ตรวจสอบทุกอย่าง",
|
||
"fullDocs": "เอกสารฉบับเต็ม",
|
||
"step1Title": "1. สร้างคีย์ API",
|
||
"step1Desc": "ไปที่ <endpoint>Endpoint</endpoint> -> คีย์ที่ลงทะเบียน สร้างหนึ่งคีย์ต่อสภาพแวดล้อม",
|
||
"step2Title": "2. เชื่อมต่อผู้ให้บริการ",
|
||
"step2Desc": "เพิ่มบัญชีใน <providers>Providers</providers> รองรับ OAuth, คีย์ API และระดับฟรี",
|
||
"step3Title": "3. ชี้แนะลูกค้าของคุณ",
|
||
"step3Desc": "ตั้งค่า URL พื้นฐานเป็น {url} ใน IDE หรือไคลเอ็นต์ API ของคุณ",
|
||
"step4Title": "4. ตรวจสอบและเพิ่มประสิทธิภาพ",
|
||
"step4Desc": "ติดตามโทเค็น ต้นทุน และข้อผิดพลาดใน <logs>บันทึกคำขอ</logs> และ <analytics>Analytics</analytics>",
|
||
"providersOverview": "ภาพรวมผู้ให้บริการ",
|
||
"configuredOf": "{configured} กำหนดค่าจากผู้ให้บริการที่พร้อมใช้งาน {total}",
|
||
"noModelsAvailable": "ไม่มีรุ่นสำหรับผู้ให้บริการรายนี้",
|
||
"configureFirst": "กำหนดค่าการเชื่อมต่อก่อนใน {providers}",
|
||
"configureProvider": "กำหนดค่าผู้ให้บริการ",
|
||
"modelAvailable": "{count} มีโมเดลให้เลือก",
|
||
"modelsAvailable": "{count} มีรุ่นให้เลือก",
|
||
"connectionsActive": "{count} การเชื่อมต่อทำงานอยู่",
|
||
"connectionsActivePlural": "{count} การเชื่อมต่อทำงานอยู่",
|
||
"copyModelName": "คัดลอกชื่อรุ่น",
|
||
"documentation": "เอกสารประกอบ",
|
||
"healthMonitor": "การตรวจสุขภาพ",
|
||
"reportIssue": "รายงานปัญหา",
|
||
"activeError": "{active} ใช้งานอยู่ · ข้อผิดพลาด {errors}",
|
||
"oauthLabel": "OAuth",
|
||
"apiKeyLabel": "คีย์ API",
|
||
"requestsShort": "{count} ความต้องการ",
|
||
"providerModelsTitle": "{provider} - โมเดล",
|
||
"copiedModel": "คัดลอก: {model}",
|
||
"aliasLabel": "นามแฝง"
|
||
},
|
||
"analytics": {
|
||
"title": "การวิเคราะห์",
|
||
"overviewDescription": "ตรวจสอบรูปแบบการใช้งาน API การใช้โทเค็น ต้นทุน และแนวโน้มกิจกรรมของผู้ให้บริการและโมเดลทั้งหมด",
|
||
"evalsDescription": "เรียกใช้ชุดการประเมินผลเพื่อทดสอบและตรวจสอบความถูกต้องของตำแหน่งข้อมูล LLM ของคุณ เปรียบเทียบคุณภาพของโมเดล ตรวจจับการถดถอย และเวลาแฝงของเกณฑ์มาตรฐาน",
|
||
"overview": "ภาพรวม",
|
||
"evals": "เอวาลส์"
|
||
},
|
||
"apiManager": {
|
||
"title": "คีย์ API",
|
||
"createKey": "สร้างคีย์ API",
|
||
"key": "คีย์",
|
||
"revokeKey": "เพิกถอนคีย์",
|
||
"revokeConfirm": "คุณแน่ใจหรือไม่ว่าต้องการเพิกถอนคีย์ API นี้",
|
||
"noKeys": "ยังไม่มีคีย์ API",
|
||
"noKeysDesc": "สร้างคีย์ API แรกของคุณเพื่อตรวจสอบสิทธิ์คำขอไปยังตำแหน่งข้อมูลของคุณ",
|
||
"keyLabel": "ป้ายกำกับที่สำคัญ",
|
||
"permissions": "สิทธิ์",
|
||
"expiresAt": "หมดอายุ",
|
||
"never": "ไม่เคย",
|
||
"revoke": "เพิกถอน",
|
||
"showKey": "แสดงคีย์",
|
||
"hideKey": "ซ่อนคีย์",
|
||
"copyKey": "คัดลอกคีย์ API",
|
||
"allModels": "ทุกรุ่น",
|
||
"selectedModels": "รุ่นที่เลือก",
|
||
"readOnly": "อ่านอย่างเดียว",
|
||
"fullAccess": "การเข้าถึงแบบเต็ม",
|
||
"keyManagement": "การจัดการคีย์ API",
|
||
"keyManagementDesc": "สร้างและจัดการคีย์ API สำหรับการตรวจสอบคำขอไปยังปลายทางของคุณ",
|
||
"totalKeys": "คีย์ทั้งหมด",
|
||
"restricted": "ถูกจำกัด",
|
||
"totalRequests": "คำขอทั้งหมด",
|
||
"modelsAvailable": "รุ่นที่มีจำหน่าย",
|
||
"registeredKeys": "คีย์ที่ลงทะเบียน",
|
||
"keysRegistered": "ลงทะเบียน {count} คีย์แล้ว",
|
||
"keyRegistered": "ลงทะเบียนคีย์ {count} แล้ว",
|
||
"keysSecurityNote": "แต่ละคีย์จะแยกการติดตามการใช้งานและสามารถเพิกถอนได้โดยอิสระ คีย์จะถูกปกปิดหลังจากสร้างเพื่อความปลอดภัย",
|
||
"createFirstKey": "สร้างคีย์แรกของคุณ",
|
||
"name": "ชื่อ",
|
||
"usage": "การใช้งาน",
|
||
"created": "สร้างแล้ว",
|
||
"actions": "การดำเนินการ",
|
||
"reqs": "ความต้องการ",
|
||
"neverUsed": "ไม่เคยใช้",
|
||
"deleteConfirm": "ลบคีย์ API นี้ใช่ไหม",
|
||
"usageTips": "เคล็ดลับการใช้งาน",
|
||
"tipAuth": "ใช้คีย์ API ในส่วนหัวการอนุญาตเป็น Bearer YOUR_KEY",
|
||
"tipSecure": "ในระหว่างการสร้างคีย์จะแสดงเพียงครั้งเดียว — เก็บไว้อย่างปลอดภัย",
|
||
"tipSeparate": "สร้างคีย์แยกต่างหากสำหรับไคลเอนต์หรือสภาพแวดล้อมที่แตกต่างกัน",
|
||
"tipRestrict": "จำกัดคีย์ไว้ที่รุ่นเฉพาะเพื่อความปลอดภัยและการควบคุมต้นทุนที่ดีขึ้น",
|
||
"keyName": "ชื่อคีย์",
|
||
"keyNamePlaceholder": "เช่น คีย์การผลิต คีย์การพัฒนา",
|
||
"keyNameDesc": "เลือกชื่อที่สื่อความหมายเพื่อระบุวัตถุประสงค์ของคีย์นี้",
|
||
"keyCreated": "สร้างคีย์ API แล้ว",
|
||
"keyCreatedSuccess": "สร้างคีย์สำเร็จแล้ว!",
|
||
"keyCreatedNote": "คัดลอกและจัดเก็บคีย์นี้ทันที ซึ่งจะไม่แสดงอีก",
|
||
"done": "เสร็จแล้ว",
|
||
"savePermissions": "บันทึกสิทธิ์",
|
||
"allowAll": "อนุญาตทั้งหมด",
|
||
"restrict": "จำกัด",
|
||
"allowAllInfo": "กุญแจนี้เข้าได้ทุกรุ่น",
|
||
"restrictInfo": "คีย์นี้สามารถเข้าถึงโมเดล {selected} จาก {total}",
|
||
"selected": "{count} เลือกแล้ว",
|
||
"all": "ทั้งหมด",
|
||
"clear": "ชัดเจน",
|
||
"searchModels": "ค้นหารุ่นตามชื่อหรือผู้ให้บริการ...",
|
||
"noModelsFound": "ไม่พบรุ่น",
|
||
"keyNameRequired": "ต้องระบุชื่อคีย์",
|
||
"keyNameTooLong": "ชื่อคีย์ต้องมีอักขระ {max} ตัวหรือน้อยกว่า",
|
||
"keyNameInvalid": "ชื่อคีย์มีได้เฉพาะตัวอักษร ตัวเลข ช่องว่าง ขีดกลาง และขีดล่างเท่านั้น",
|
||
"invalidKeyName": "ชื่อคีย์ไม่ถูกต้อง",
|
||
"failedCreateKey": "ไม่สามารถสร้างคีย์ได้",
|
||
"failedCreateKeyRetry": "ไม่สามารถสร้างคีย์ได้ โปรดลองอีกครั้ง",
|
||
"invalidKeyId": "รหัสคีย์ไม่ถูกต้อง",
|
||
"failedDeleteKey": "ลบคีย์ไม่สำเร็จ",
|
||
"failedDeleteKeyRetry": "ลบคีย์ไม่สำเร็จ โปรดลองอีกครั้ง",
|
||
"invalidModelsSelection": "การเลือกรุ่นไม่ถูกต้อง",
|
||
"cannotSelectMoreThanModels": "ไม่สามารถเลือกมากกว่า {max} รุ่น",
|
||
"failedUpdatePermissions": "ไม่สามารถอัปเดตการอนุญาต",
|
||
"failedUpdatePermissionsRetry": "ไม่สามารถอัปเดตการอนุญาต โปรดลองอีกครั้ง",
|
||
"unknownProvider": "ไม่ทราบ",
|
||
"copyMaskedKey": "คัดลอกคีย์ที่ปกปิด",
|
||
"modelsCount": "{count, plural, one {# model} other {# models}}",
|
||
"lastUsedOn": "ล่าสุด: {date}",
|
||
"editPermissions": "แก้ไขสิทธิ์",
|
||
"deleteKey": "ลบคีย์",
|
||
"model": "{count} โมเดล",
|
||
"models": "{count} โมเดล",
|
||
"permissionsTitle": "สิทธิ์: {name}",
|
||
"allowAllDesc": "กุญแจนี้เข้าได้ทุกรุ่น",
|
||
"restrictDesc": "คีย์นี้สามารถเข้าถึงโมเดล {selectedCount} จาก {totalModels}",
|
||
"selectedCount": "{count} เลือกแล้ว"
|
||
},
|
||
"auditLog": {
|
||
"title": "บันทึกการตรวจสอบ",
|
||
"searchPlaceholder": "การดำเนินการค้นหา...",
|
||
"action": "การดำเนินการ",
|
||
"actor": "นักแสดง",
|
||
"target": "เป้าหมาย",
|
||
"ipAddress": "ที่อยู่ IP",
|
||
"timestamp": "การประทับเวลา",
|
||
"noEntries": "ไม่พบรายการตรวจสอบ",
|
||
"filterByAction": "กรองตามการกระทำ...",
|
||
"filterByActor": "กรองตามนักแสดง...",
|
||
"filterEntriesAria": "กรองรายการบันทึกการตรวจสอบ",
|
||
"filterByActionTypeAria": "กรองตามประเภทการกระทำ",
|
||
"filterByActorAria": "กรองตามนักแสดง",
|
||
"refreshAuditLogAria": "รีเฟรชบันทึกการตรวจสอบ",
|
||
"tableAria": "รายการบันทึกการตรวจสอบ",
|
||
"failedFetchAuditLog": "ดึงข้อมูลบันทึกการตรวจสอบไม่สำเร็จ",
|
||
"notAvailable": "—",
|
||
"description": "การดำเนินการด้านการดูแลระบบและเหตุการณ์ด้านความปลอดภัย",
|
||
"showing": "กำลังแสดงรายการ {count} (ออฟเซ็ต {offset})",
|
||
"previous": "ก่อนหน้า"
|
||
},
|
||
"media": {
|
||
"title": "สนามทดลองสื่อ",
|
||
"subtitle": "สร้างภาพ วิดีโอ และเพลง",
|
||
"model": "Model",
|
||
"prompt": "Prompt",
|
||
"generate": "สร้าง",
|
||
"generating": "Generating...",
|
||
"loadingModels": "Loading available models...",
|
||
"noModels": "No models available. Configure providers with media capabilities first.",
|
||
"error": "Generation Failed",
|
||
"result": "Result",
|
||
"imageDescription": "Generate images from text prompts using OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI and more.",
|
||
"videoDescription": "Create videos with AnimateDiff, Stable Video Diffusion via ComfyUI or SD WebUI.",
|
||
"musicDescription": "Compose music using Stable Audio Open or MusicGen via ComfyUI."
|
||
},
|
||
"cliTools": {
|
||
"title": "เครื่องมือ CLI",
|
||
"noActiveProviders": "ไม่มีผู้ให้บริการที่ใช้งานอยู่",
|
||
"noActiveProvidersDesc": "โปรดเพิ่มและเชื่อมต่อผู้ให้บริการก่อนเพื่อกำหนดค่าเครื่องมือ CLI",
|
||
"mapModels": "โมเดลแผนที่",
|
||
"testConnection": "ทดสอบการเชื่อมต่อ",
|
||
"connectionStatus": "สถานะการเชื่อมต่อ",
|
||
"configureEndpoint": "กำหนดค่าจุดสิ้นสุด",
|
||
"instructions": "คำแนะนำ",
|
||
"modelMapping": "การทำแผนที่โมเดล",
|
||
"baseUrl": "URL ฐาน",
|
||
"apiKey": "คีย์ API",
|
||
"configured": "กำหนดค่าแล้ว",
|
||
"notConfigured": "ไม่ได้กำหนดค่า",
|
||
"notInstalled": "ไม่ได้ติดตั้ง",
|
||
"custom": "กำหนดเอง",
|
||
"unknown": "ไม่ทราบ",
|
||
"lastSavedAt": "บันทึกล่าสุด: {date}",
|
||
"never": "ไม่เคย",
|
||
"justNow": "แค่ตอนนี้",
|
||
"minutesAgoShort": "{count}นาทีที่แล้ว",
|
||
"hoursAgoShort": "{count}ชม. ที่แล้ว",
|
||
"daysAgoShort": "{count}d ที่แล้ว",
|
||
"monthsAgoShort": "{count}เดือนที่แล้ว",
|
||
"yearsAgoShort": "{count}ปีที่แล้ว",
|
||
"runtimeCheckFailed": "การตรวจสอบรันไทม์ล้มเหลว",
|
||
"yourApiKeyPlaceholder": "รหัส API ของคุณ",
|
||
"modelPlaceholder": "ผู้ให้บริการ/รหัสรุ่น",
|
||
"configurationSaved": "บันทึกการกำหนดค่าเรียบร้อยแล้ว",
|
||
"failedToSave": "บันทึกการกำหนดค่าไม่สำเร็จ",
|
||
"noApiKeysCreateOne": "ไม่มีคีย์ API - สร้างคีย์ในหน้าคีย์",
|
||
"defaultOmnirouteKey": "sk_omniroute (ค่าเริ่มต้น)",
|
||
"selectModel": "เลือกรุ่น",
|
||
"selectModelForAlias": "เลือกรุ่นสำหรับ {alias}",
|
||
"selectModelForTool": "เลือกรุ่นสำหรับ {tool}",
|
||
"select": "เลือก",
|
||
"clear": "ชัดเจน",
|
||
"comingSoon": "เร็วๆ นี้",
|
||
"checkingRuntime": "กำลังตรวจสอบสถานะรันไทม์...",
|
||
"guideOnlyIntegration": "การบูรณาการเฉพาะคำแนะนำ (ไม่ต้องใช้รันไทม์ในเครื่อง)",
|
||
"cliRuntimeDetected": "ตรวจพบรันไทม์ CLI และพร้อมใช้งาน",
|
||
"cliFoundNotRunnable": "พบ CLI แต่ไม่สามารถรันได้{reason}",
|
||
"cliRuntimeNotDetected": "ตรวจไม่พบรันไทม์ของ CLI",
|
||
"binary": "ไบนารี่",
|
||
"configPath": "เส้นทางการกำหนดค่า",
|
||
"configPathShort": "การกำหนดค่า",
|
||
"failedCheckRuntimeStatus": "ไม่สามารถตรวจสอบสถานะรันไทม์ได้",
|
||
"copy": "คัดลอก",
|
||
"copied": "คัดลอกแล้ว",
|
||
"copyConfig": "คัดลอกการกำหนดค่า",
|
||
"saveConfig": "บันทึกการกำหนดค่า",
|
||
"selectionSaved": "บันทึกการเลือกแล้ว",
|
||
"guide": "คู่มือ",
|
||
"detected": "ตรวจพบ",
|
||
"notReady": "ไม่พร้อม",
|
||
"active": "ใช้งานอยู่",
|
||
"inactive": "ไม่ได้ใช้งาน",
|
||
"startMitm": "เริ่ม MITM",
|
||
"stopMitm": "หยุด MITM",
|
||
"mitmStarted": "MITM เริ่มต้นได้สำเร็จ!",
|
||
"mitmStopped": "MITM หยุดสำเร็จแล้ว!",
|
||
"failedStart": "ไม่สามารถเริ่ม MITM",
|
||
"failedStop": "ไม่สามารถหยุด MITM",
|
||
"saveMappings": "บันทึกการแมป",
|
||
"mappingsSaved": "บันทึกการแมปแล้ว!",
|
||
"failedSaveMappings": "ไม่สามารถบันทึกการแมป",
|
||
"howItWorks": "มันทำงานอย่างไร:",
|
||
"antigravityHowWorksDesc": "Antigravity ส่งคำขอไปยังปลายทางของ Google MITM สกัดกั้นและเปลี่ยนเส้นทางไปยัง OmniRoute",
|
||
"antigravityStep1": "1. เริ่ม MITM เพื่อกำหนดเส้นทางคำขอผ่าน OmniRoute",
|
||
"antigravityStep2Prefix": "2. เพิ่ม",
|
||
"antigravityStep2Suffix": "ไปยังไฟล์โฮสต์ของคุณเป็น 127.0.0.1",
|
||
"antigravityStep3": "3. เปิด Antigravity และคำขอจะถูกส่งผ่านพรอกซี",
|
||
"sudoPasswordRequiredTitle": "ต้องใช้รหัสผ่าน Sudo",
|
||
"sudoPasswordHint": "ต้องใช้รหัสผ่านผู้ดูแลระบบเพื่อแก้ไขไฟล์โฮสต์และการตั้งค่าพร็อกซีระบบ",
|
||
"enterSudoPassword": "ป้อนรหัสผ่าน sudo",
|
||
"sudoPasswordRequiredError": "ต้องใช้รหัสผ่าน Sudo",
|
||
"cancel": "ยกเลิก",
|
||
"confirm": "ยืนยัน",
|
||
"settingsApplied": "ใช้การตั้งค่าเรียบร้อยแล้ว!",
|
||
"failedApplySettings": "ล้มเหลวในการใช้การตั้งค่า",
|
||
"settingsReset": "รีเซ็ตการตั้งค่าเรียบร้อยแล้ว!",
|
||
"failedResetSettings": "ไม่สามารถรีเซ็ตการตั้งค่าได้",
|
||
"backupRestored": "กู้คืนข้อมูลสำรองแล้ว!",
|
||
"failedRestore": "ไม่สามารถกู้คืนได้",
|
||
"checkingCli": "กำลังตรวจสอบ {tool} CLI...",
|
||
"cliNotRunnable": "{tool} ติดตั้ง CLI แล้ว แต่ไม่สามารถรันได้",
|
||
"cliNotInstalled": "{tool} ไม่ได้ติดตั้ง CLI",
|
||
"cliNotDetected": "{tool} ตรวจไม่พบ CLI",
|
||
"cliDetectedReady": "{tool} CLI ตรวจพบและพร้อมใช้งาน",
|
||
"cliFoundFailedHealthcheck": "{tool} พบ CLI แต่การตรวจสอบสุขภาพรันไทม์ล้มเหลว{reason}",
|
||
"installCliPrompt": "โปรดติดตั้ง {tool} CLI เพื่อใช้คุณลักษณะนี้",
|
||
"installCodexPrompt": "โปรดติดตั้ง Codex CLI เพื่อใช้คุณสมบัติการใช้งานอัตโนมัติ",
|
||
"hide": "ซ่อน",
|
||
"howToInstall": "วิธีการติดตั้ง",
|
||
"installationGuide": "คู่มือการติดตั้ง",
|
||
"platforms": "macOS / ลินุกซ์ / วินโดวส์:",
|
||
"afterInstallationRun": "หลังการติดตั้งให้รัน",
|
||
"toVerify": "เพื่อตรวจสอบ",
|
||
"current": "ปัจจุบัน",
|
||
"baseUrlPlaceholder": "https://.../v1",
|
||
"resetToDefault": "รีเซ็ตเป็นค่าเริ่มต้น",
|
||
"providerModelPlaceholder": "ผู้ให้บริการ/รหัสรุ่น",
|
||
"apply": "สมัคร",
|
||
"reset": "รีเซ็ต",
|
||
"manualConfig": "การกำหนดค่าด้วยตนเอง",
|
||
"backups": "การสำรองข้อมูล",
|
||
"configBackups": "กำหนดค่าการสำรองข้อมูล",
|
||
"noBackupsYet": "ยังไม่มีการสำรองข้อมูล การสำรองข้อมูลจะถูกสร้างขึ้นโดยอัตโนมัติก่อนนำไปใช้หรือรีเซ็ตแต่ละครั้ง",
|
||
"restore": "คืนค่า",
|
||
"backupRestoredReloading": "กู้คืนข้อมูลสำรองแล้ว! กำลังโหลดสถานะ...",
|
||
"failedRestoreBackup": "ไม่สามารถกู้คืนข้อมูลสำรองได้",
|
||
"applied": "สมัครแล้ว!",
|
||
"failed": "ล้มเหลว",
|
||
"resetDone": "รีเซ็ต!",
|
||
"omnirouteConfiguredOpenAiCompatible": "OmniRoute ได้รับการกำหนดค่าให้เป็นผู้ให้บริการที่รองรับ OpenAI",
|
||
"provider": "ผู้ให้บริการ",
|
||
"model": "รุ่น",
|
||
"providers": "ผู้ให้บริการ",
|
||
"auth": "การรับรองความถูกต้อง",
|
||
"noApiKeysAvailable": "ไม่มีคีย์ API ที่พร้อมใช้งาน",
|
||
"usingDefaultOmniroute": "ใช้ค่าเริ่มต้น: sk_omniroute",
|
||
"updateConfig": "อัปเดตการกำหนดค่า",
|
||
"applyConfig": "ใช้การกำหนดค่า",
|
||
"noBackupsAvailable": "ไม่มีการสำรองข้อมูล",
|
||
"profileSaved": "บันทึกโปรไฟล์ \"{name}\" แล้ว!",
|
||
"failedSaveProfile": "ไม่สามารถบันทึกโปรไฟล์ได้",
|
||
"profileActivated": "เปิดใช้งานโปรไฟล์แล้ว!",
|
||
"failedActivateProfile": "ไม่สามารถเปิดใช้งานโปรไฟล์ได้",
|
||
"profiles": "โปรไฟล์",
|
||
"savedProfiles": "โปรไฟล์ที่บันทึกไว้",
|
||
"noProfilesYet": "ยังไม่มีการบันทึกโปรไฟล์ บันทึกการกำหนดค่าปัจจุบันเป็นโปรไฟล์ด้านล่าง",
|
||
"activate": "เปิดใช้งาน",
|
||
"deleteProfile": "ลบโปรไฟล์",
|
||
"profileNamePlaceholder": "ชื่อโปรไฟล์ (เช่น บัญชีส่วนตัว)",
|
||
"saveCurrent": "บันทึกปัจจุบัน",
|
||
"codexAuthNotePrefix": "การใช้โคเด็กซ์",
|
||
"codexAuthNoteMiddle": "ด้วย",
|
||
"codexAuthNoteSuffix": "คลิก \"ใช้\" เพื่อกำหนดค่าอัตโนมัติ",
|
||
"claudeManualConfiguration": "Claude CLI - การกำหนดค่าด้วยตนเอง",
|
||
"codexManualConfiguration": "Codex CLI - การกำหนดค่าด้วยตนเอง",
|
||
"droidManualConfiguration": "Factory Droid - การกำหนดค่าด้วยตนเอง",
|
||
"openClawManualConfiguration": "Open Claw - การกำหนดค่าด้วยตนเอง",
|
||
"clineManualConfiguration": "การกำหนดค่าด้วยตนเองของไคลน์",
|
||
"kiloManualConfiguration": "การกำหนดค่าด้วยตนเองของรหัสกิโล",
|
||
"toolDescriptions": {
|
||
"antigravity": "Google ต้านแรงโน้มถ่วง IDE พร้อม MITM",
|
||
"claude": "รหัสมานุษยวิทยา Claude CLI",
|
||
"codex": "OpenAI Codex CLI",
|
||
"droid": "ผู้ช่วย AI จากโรงงาน Droid",
|
||
"openclaw": "เปิดผู้ช่วย AI ของ Claw",
|
||
"cline": "Cline AI ผู้ช่วยเข้ารหัส CLI",
|
||
"kilo": "กิโลโค้ด AI Assistant CLI",
|
||
"cursor": "ตัวแก้ไขรหัสเคอร์เซอร์ AI",
|
||
"continue": "ดำเนินการต่อผู้ช่วย AI"
|
||
},
|
||
"guides": {
|
||
"cursor": {
|
||
"notes": {
|
||
"0": "ต้องใช้บัญชี Cursor Pro เพื่อใช้คุณสมบัตินี้",
|
||
"1": "เคอร์เซอร์กำหนดเส้นทางคำขอผ่านเซิร์ฟเวอร์ของตัวเอง ดังนั้นจึงไม่รองรับจุดสิ้นสุดในเครื่อง โปรดเปิดใช้งาน Cloud Endpoint ในการตั้งค่า"
|
||
},
|
||
"steps": {
|
||
"1": {
|
||
"title": "เปิดการตั้งค่า",
|
||
"desc": "ไปที่การตั้งค่า -> โมเดล"
|
||
},
|
||
"2": {
|
||
"title": "เปิดใช้งาน OpenAI API",
|
||
"desc": "เปิดใช้งานตัวเลือก \"คีย์ OpenAI API\""
|
||
},
|
||
"3": {
|
||
"title": "URL ฐาน"
|
||
},
|
||
"4": {
|
||
"title": "คีย์ API"
|
||
},
|
||
"5": {
|
||
"title": "เพิ่มโมเดลที่กำหนดเอง",
|
||
"desc": "คลิก \"ดูโมเดลทั้งหมด\" -> \"เพิ่มโมเดลที่กำหนดเอง\""
|
||
},
|
||
"6": {
|
||
"title": "เลือกรุ่น"
|
||
}
|
||
}
|
||
},
|
||
"continue": {
|
||
"steps": {
|
||
"1": {
|
||
"title": "เปิดการกำหนดค่า",
|
||
"desc": "เปิดไฟล์การกำหนดค่าดำเนินการต่อ"
|
||
},
|
||
"2": {
|
||
"title": "คีย์ API"
|
||
},
|
||
"3": {
|
||
"title": "เลือกรุ่น"
|
||
},
|
||
"4": {
|
||
"title": "เพิ่มการกำหนดค่าโมเดล",
|
||
"desc": "เพิ่มการกำหนดค่าต่อไปนี้ให้กับอาร์เรย์โมเดลของคุณ:"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"combos": {
|
||
"title": "คอมโบ",
|
||
"description": "สร้างโมเดลคอมโบด้วยการกำหนดเส้นทางแบบถ่วงน้ำหนักและการสนับสนุนทางเลือก",
|
||
"createCombo": "สร้างคอมโบ",
|
||
"editCombo": "แก้ไขคอมโบ",
|
||
"deleteCombo": "ลบคอมโบ",
|
||
"noModels": "ไม่มีรุ่น",
|
||
"noModelsYet": "ยังไม่มีโมเดลเพิ่ม",
|
||
"addModel": "เพิ่มรุ่น",
|
||
"addModelToCombo": "เพิ่มโมเดลลงในคอมโบ",
|
||
"routingStrategy": "กลยุทธ์การกำหนดเส้นทาง",
|
||
"maxRetries": "ลองใหม่สูงสุด",
|
||
"timeout": "หมดเวลา (มิลลิวินาที)",
|
||
"healthcheck": "ตรวจสุขภาพ",
|
||
"priority": "ลำดับความสำคัญ",
|
||
"fallback": "ทางเลือกสำรอง",
|
||
"roundRobin": "ตัวกลม โรบิน",
|
||
"random": "สุ่ม",
|
||
"leastLatency": "เวลาแฝงน้อยที่สุด",
|
||
"comboName": "ชื่อคอมโบ",
|
||
"comboNamePlaceholder": "คำสั่งผสมของฉัน",
|
||
"deleteConfirm": "ลบคอมโบนี้ใช่ไหม",
|
||
"noCombosYet": "ยังไม่มีคอมโบ",
|
||
"comboCreated": "สร้างคอมโบสำเร็จแล้ว",
|
||
"comboUpdated": "อัปเดตคอมโบเรียบร้อยแล้ว",
|
||
"comboDeleted": "ลบคอมโบแล้ว",
|
||
"failedCreate": "ไม่สามารถสร้างคอมโบได้",
|
||
"failedUpdate": "ไม่สามารถอัปเดตคอมโบได้",
|
||
"errorCreating": "เกิดข้อผิดพลาดในการสร้างคอมโบ",
|
||
"errorUpdating": "เกิดข้อผิดพลาดในการอัปเดตคอมโบ",
|
||
"errorDeleting": "เกิดข้อผิดพลาดในการลบคำสั่งผสม",
|
||
"testFailed": "คำขอทดสอบล้มเหลว",
|
||
"failedToggle": "ไม่สามารถสลับคำสั่งผสมได้",
|
||
"testResults": "ผลการทดสอบ — {name}",
|
||
"resolvedBy": "แก้ไขโดย:",
|
||
"more": "+{count} เพิ่มเติม",
|
||
"reqs": "ความต้องการ",
|
||
"success": "ความสำเร็จ",
|
||
"proxyConfigured": "กำหนดค่าพร็อกซีแล้ว",
|
||
"copyComboName": "คัดลอกชื่อคำสั่งผสม",
|
||
"enableCombo": "เปิดใช้งานคอมโบ",
|
||
"disableCombo": "ปิดการใช้งานคอมโบ",
|
||
"testCombo": "ทดสอบคอมโบ",
|
||
"duplicate": "ทำซ้ำ",
|
||
"proxyConfig": "การกำหนดค่าพร็อกซี",
|
||
"nameRequired": "ต้องระบุชื่อ",
|
||
"nameInvalid": "เฉพาะตัวอักษร ตัวเลข -, _, / และ ได้รับอนุญาต",
|
||
"nameHint": "ตัวอักษร ตัวเลข -, _, / และ ได้รับอนุญาต",
|
||
"priorityDesc": "ทางเลือกสำรองตามลำดับ: ลองใช้โมเดล 1 ก่อน จากนั้นจึงใช้ 2 เป็นต้น",
|
||
"weightedDesc": "กระจายการรับส่งข้อมูลตามเปอร์เซ็นต์น้ำหนักพร้อมทางเลือกสำรอง",
|
||
"roundRobinDesc": "การกระจายแบบวงกลม: แต่ละคำขอจะส่งไปยังโมเดลถัดไปที่หมุนเวียนกัน",
|
||
"randomDesc": "การเลือกแบบสุ่มแบบสม่ำเสมอ จากนั้นจึงย้อนกลับไปยังโมเดลที่เหลือ",
|
||
"leastUsedDesc": "เลือกโมเดลที่มีคำขอน้อยที่สุด โดยจะปรับสมดุลการโหลดเมื่อเวลาผ่านไป",
|
||
"costOptimizedDesc": "กำหนดเส้นทางไปยังรุ่นที่ถูกที่สุดก่อนตามราคา",
|
||
"models": "โมเดล",
|
||
"autoBalance": "ปรับสมดุลอัตโนมัติ",
|
||
"advancedSettings": "การตั้งค่าขั้นสูง",
|
||
"retryDelay": "ความล่าช้าในการลองอีกครั้ง (มิลลิวินาที)",
|
||
"concurrencyPerModel": "เห็นพ้องต้องกัน / รุ่น",
|
||
"queueTimeout": "คิวหมดเวลา (มิลลิวินาที)",
|
||
"advancedHint": "เว้นว่างไว้เพื่อใช้ค่าเริ่มต้นสากล เหล่านี้จะแทนที่การตั้งค่าต่อผู้ให้บริการ",
|
||
"moveUp": "เลื่อนขึ้น",
|
||
"moveDown": "เลื่อนลง",
|
||
"removeModel": "ลบ",
|
||
"saving": "กำลังบันทึก...",
|
||
"weighted": "ถ่วงน้ำหนัก",
|
||
"leastUsed": "ใช้น้อยที่สุด",
|
||
"costOpt": "ต้นทุน-การเลือก",
|
||
"strategyGuideTitle": "How to use this strategy",
|
||
"strategyGuideWhen": "When to use",
|
||
"strategyGuideAvoid": "Avoid when",
|
||
"strategyGuideExample": "Example",
|
||
"strategyGuide": {
|
||
"priority": {
|
||
"when": "You have one preferred model and only want fallback on failure.",
|
||
"avoid": "You need request distribution across models.",
|
||
"example": "Primary coding model with cheaper backup for outages."
|
||
},
|
||
"weighted": {
|
||
"when": "You need controlled traffic split across models.",
|
||
"avoid": "You cannot maintain accurate weights over time.",
|
||
"example": "80% stable model + 20% canary model rollout."
|
||
},
|
||
"round-robin": {
|
||
"when": "You want predictable and even distribution.",
|
||
"avoid": "Models differ too much in latency or cost.",
|
||
"example": "Same model on multiple accounts to spread throughput."
|
||
},
|
||
"random": {
|
||
"when": "You want simple distribution with minimal setup.",
|
||
"avoid": "You need strict traffic guarantees.",
|
||
"example": "Quick prototyping with equivalent models."
|
||
},
|
||
"least-used": {
|
||
"when": "You want adaptive balancing based on live demand.",
|
||
"avoid": "Traffic is too low to benefit from usage balancing.",
|
||
"example": "Mixed workloads where one model often gets overloaded."
|
||
},
|
||
"cost-optimized": {
|
||
"when": "Cost reduction is your top priority.",
|
||
"avoid": "Pricing data is missing or outdated.",
|
||
"example": "Background or batch jobs where lower cost is preferred."
|
||
}
|
||
},
|
||
"advancedHelp": {
|
||
"maxRetries": "How many retries are attempted before failing a request.",
|
||
"retryDelay": "Initial wait between retries. Higher values reduce burst pressure.",
|
||
"timeout": "Maximum request duration before aborting.",
|
||
"healthcheck": "Skips unhealthy models/providers from routing decisions.",
|
||
"concurrencyPerModel": "Max simultaneous requests allowed per model in round-robin.",
|
||
"queueTimeout": "How long a request can wait in queue before timing out."
|
||
},
|
||
"templatesTitle": "Quick templates",
|
||
"templatesDescription": "Apply a starting profile, then adjust models and config.",
|
||
"templateApply": "Apply template",
|
||
"templateHighAvailability": "High availability",
|
||
"templateHighAvailabilityDesc": "Priority routing with health checks and safe retries.",
|
||
"templateCostSaver": "Cost saver",
|
||
"templateCostSaverDesc": "Cost-optimized routing for budget-first workloads.",
|
||
"templateBalanced": "Balanced load",
|
||
"templateBalancedDesc": "Least-used routing to spread demand over time.",
|
||
"usageGuideHide": "Hide",
|
||
"usageGuideDontShowAgain": "Don't show again",
|
||
"usageGuideShow": "Show guide",
|
||
"quickTestTitle": "Combo ready to validate",
|
||
"quickTestDescription": "Run a test now to confirm fallback and latency behavior.",
|
||
"testNow": "Test now",
|
||
"pricingCoverage": "Pricing coverage",
|
||
"pricingCoverageHint": "Cost-optimized works best when all combo models have pricing.",
|
||
"pricingAvailable": "Pricing available",
|
||
"pricingMissing": "No pricing",
|
||
"pricingAvailableShort": "priced",
|
||
"pricingMissingShort": "no-price",
|
||
"warningRoundRobinSingleModel": "Round-robin is most useful with at least 2 models.",
|
||
"warningCostOptimizedPartialPricing": "Only {priced} of {total} models have pricing. Routing may be partially cost-aware.",
|
||
"warningCostOptimizedNoPricing": "No pricing data found for this combo. Cost-optimized may route unexpectedly."
|
||
},
|
||
"costs": {
|
||
"title": "ค่าใช้จ่าย",
|
||
"budget": "งบประมาณ",
|
||
"totalCost": "ต้นทุนรวม",
|
||
"breakdown": "การแจกแจงต้นทุน",
|
||
"noData": "ไม่มีข้อมูลค่าใช้จ่าย",
|
||
"byModel": "โดยรุ่น",
|
||
"byProvider": "โดยผู้ให้บริการ"
|
||
},
|
||
"endpoint": {
|
||
"title": "จุดสิ้นสุด API",
|
||
"available": "จุดสิ้นสุดที่มีอยู่",
|
||
"cloudProxy": "พร็อกซีคลาวด์",
|
||
"disableConfirm": "คุณแน่ใจหรือไม่ว่าต้องการปิดใช้งานพร็อกซีระบบคลาวด์",
|
||
"baseUrl": "URL ฐาน",
|
||
"apiKeyLabel": "คีย์ API",
|
||
"registeredKeys": "คีย์ที่ลงทะเบียน",
|
||
"chatCompletions": "เสร็จสิ้นการแชท",
|
||
"responses": "คำตอบ",
|
||
"listModels": "รายการโมเดล",
|
||
"usingCloudProxy": "การใช้พร็อกซีคลาวด์",
|
||
"usingLocalServer": "การใช้เซิร์ฟเวอร์ท้องถิ่น",
|
||
"machineId": "หมายเลขเครื่อง: {id}...",
|
||
"disableCloud": "ปิดการใช้งานคลาวด์",
|
||
"enableCloud": "เปิดใช้งานคลาวด์",
|
||
"modelsAcrossEndpoints": "{models} โมเดลข้ามจุดสิ้นสุด {endpoints}",
|
||
"chatDesc": "การแชทแบบสตรีมมิงและไม่สตรีมกับผู้ให้บริการทั้งหมด",
|
||
"embeddings": "การฝัง",
|
||
"embeddingsDesc": "การฝังข้อความสำหรับการค้นหาและไปป์ไลน์ RAG",
|
||
"imageGeneration": "การสร้างภาพ",
|
||
"imageDesc": "สร้างภาพจากข้อความแจ้ง",
|
||
"rerank": "จัดอันดับใหม่",
|
||
"rerankDesc": "จัดอันดับเอกสารใหม่ตามความเกี่ยวข้องกับแบบสอบถาม",
|
||
"audioTranscription": "การถอดเสียง",
|
||
"audioTranscriptionDesc": "ถอดเสียงไฟล์เสียงเป็นข้อความ (กระซิบ)",
|
||
"textToSpeech": "ข้อความเป็นคำพูด",
|
||
"textToSpeechDesc": "แปลงข้อความเป็นคำพูดที่ฟังดูเป็นธรรมชาติ",
|
||
"moderations": "การกลั่นกรอง",
|
||
"moderationsDesc": "การกลั่นกรองเนื้อหาและการจำแนกความปลอดภัย",
|
||
"responsesDesc": "OpenAI Responses API สำหรับ Codex และเวิร์กโฟลว์เอเจนต์ขั้นสูง",
|
||
"listModelsDesc": "แสดงรายการโมเดลที่ใช้ได้ทั้งหมดจากผู้ให้บริการที่เชื่อมต่อ",
|
||
"settingsApiDesc": "อ่านและแก้ไขการกำหนดค่า OmniRoute ผ่าน API",
|
||
"settingsApi": "Settings API",
|
||
"categoryCore": "API หลัก",
|
||
"categoryMedia": "สื่อและมัลติโมดอล",
|
||
"categoryUtility": "ยูทิลิตี้และการจัดการ",
|
||
"enableCloudTitle": "เปิดใช้งานพร็อกซีคลาวด์",
|
||
"whatYouGet": "สิ่งที่คุณจะได้รับ",
|
||
"cloudBenefitAccess": "เข้าถึง API ของคุณได้จากทุกที่ในโลก",
|
||
"cloudBenefitShare": "แบ่งปันตำแหน่งข้อมูลกับทีมของคุณได้อย่างง่ายดาย",
|
||
"cloudBenefitPorts": "ไม่จำเป็นต้องเปิดพอร์ตหรือกำหนดค่าไฟร์วอลล์",
|
||
"cloudBenefitEdge": "เครือข่าย Edge ระดับโลกที่รวดเร็ว",
|
||
"cloudSessionNote": "คลาวด์จะเก็บเซสชันการตรวจสอบสิทธิ์ของคุณไว้เป็นเวลา 1 วัน หากไม่ได้ใช้ก็จะถูกลบโดยอัตโนมัติ",
|
||
"cloudUnstableNote": "ขณะนี้ระบบคลาวด์ไม่เสถียรด้วย Claude Code OAuth ในบางกรณี",
|
||
"cloudConnected": "เชื่อมต่อพร็อกซีคลาวด์แล้ว!",
|
||
"connectingToCloud": "กำลังเชื่อมต่อกับคลาวด์...",
|
||
"verifyingConnection": "กำลังยืนยันการเชื่อมต่อ...",
|
||
"connecting": "กำลังเชื่อมต่อ...",
|
||
"verifying": "กำลังยืนยัน...",
|
||
"connected": "เชื่อมต่อแล้ว!",
|
||
"disableCloudTitle": "ปิดการใช้งานพร็อกซีคลาวด์",
|
||
"disableWarning": "เซสชันการตรวจสอบสิทธิ์ทั้งหมดจะถูกลบออกจากระบบคลาวด์",
|
||
"syncingData": "กำลังซิงค์ข้อมูลล่าสุด...",
|
||
"disablingCloud": "กำลังปิดใช้งานระบบคลาวด์...",
|
||
"syncing": "กำลังซิงค์...",
|
||
"disabling": "กำลังปิดการใช้งาน...",
|
||
"cloudConnectedVerified": "เชื่อมต่อและยืนยัน Cloud Proxy แล้ว!",
|
||
"connectedVerificationPending": "เชื่อมต่อแล้ว — อยู่ระหว่างการยืนยัน",
|
||
"connectedVerificationPendingWithError": "เชื่อมต่อแล้ว — รอการยืนยัน: {error}",
|
||
"cloudDisabledSuccess": "ปิดการใช้งานคลาวด์เรียบร้อยแล้ว",
|
||
"syncedSuccess": "ซิงค์เรียบร้อยแล้ว",
|
||
"failedDisable": "ไม่สามารถปิดการใช้งานระบบคลาวด์",
|
||
"failedEnable": "ไม่สามารถเปิดใช้งานระบบคลาวด์",
|
||
"cloudRequestTimeout": "หมดเวลาคำขอคลาวด์",
|
||
"cloudRequestFailed": "คำขอคลาวด์ล้มเหลว",
|
||
"cloudWorkerUnreachable": "ไม่สามารถเข้าถึงผู้ปฏิบัติงานบนคลาวด์ ตรวจสอบให้แน่ใจว่าบริการคลาวด์กำลังทำงานอยู่ (npm run dev in /cloud)",
|
||
"connectionFailed": "การเชื่อมต่อล้มเหลว",
|
||
"syncFailed": "ไม่สามารถซิงค์ข้อมูลบนคลาวด์",
|
||
"providerModelsTitle": "{provider} — โมเดล",
|
||
"noModelsForProvider": "ไม่มีรุ่นสำหรับผู้ให้บริการรายนี้",
|
||
"chat": "แชท",
|
||
"embedding": "การฝัง",
|
||
"image": "รูปภาพ",
|
||
"custom": "กำหนดเอง",
|
||
"modelsCount": "{count, plural, one {# model} other {# models}}",
|
||
"sectionTitle": "Integration Surface",
|
||
"sectionDescription": "OpenAI-compatible APIs and operational protocol endpoints",
|
||
"tabApis": "OpenAI-compatible APIs",
|
||
"tabProtocols": "Protocols",
|
||
"tabsAria": "Endpoint sections",
|
||
"protocolsTitle": "Protocols",
|
||
"protocolsDescription": "MCP and A2A are first-class endpoints with dedicated observability and controls.",
|
||
"mcpCardTitle": "MCP Server",
|
||
"mcpCardDescription": "Model Context Protocol over stdio",
|
||
"a2aCardTitle": "A2A Server",
|
||
"a2aCardDescription": "Agent2Agent JSON-RPC endpoint",
|
||
"protocolToolsLabel": "Tools",
|
||
"protocolTasksLabel": "Tasks",
|
||
"protocolActiveStreamsLabel": "Active streams",
|
||
"protocolLastActivity": "Last activity",
|
||
"quickStart": "Quick Start",
|
||
"openMcpDashboard": "Open MCP management",
|
||
"openA2aDashboard": "Open A2A management",
|
||
"mcpQuickStartTitle": "MCP Quick Start",
|
||
"mcpQuickStartStep1": "Run the MCP server via `omniroute --mcp`.",
|
||
"mcpQuickStartStep2": "Configure your MCP client to connect over stdio transport.",
|
||
"mcpQuickStartStep3": "Invoke tools such as `omniroute_get_health` and `omniroute_list_combos`.",
|
||
"a2aQuickStartTitle": "A2A Quick Start",
|
||
"a2aQuickStartStep1": "Discover the agent card at `/.well-known/agent.json`.",
|
||
"a2aQuickStartStep2": "Send JSON-RPC requests to `POST /a2a` using `message/send` or `message/stream`.",
|
||
"a2aQuickStartStep3": "Track and control tasks using `tasks/get` and `tasks/cancel`."
|
||
},
|
||
"mcpDashboard": {
|
||
"loading": "Loading MCP dashboard...",
|
||
"activate": "activate",
|
||
"deactivate": "deactivate",
|
||
"confirmSwitchCombo": "Confirm {action} combo \"{combo}\"?",
|
||
"switchComboFailed": "Failed to switch combo state.",
|
||
"switchComboSuccess": "Combo \"{combo}\" updated.",
|
||
"confirmApplyProfile": "Apply resilience profile \"{profile}\"?",
|
||
"applyProfileFailed": "Failed to apply resilience profile.",
|
||
"applyProfileSuccess": "Profile \"{profile}\" applied.",
|
||
"confirmResetBreakers": "Reset all circuit breakers?",
|
||
"resetBreakersFailed": "Failed to reset circuit breakers.",
|
||
"resetBreakersSuccess": "Circuit breakers reset.",
|
||
"processStatus": "Process status",
|
||
"online": "Online",
|
||
"offline": "Offline",
|
||
"pid": "PID",
|
||
"sessionUptime": "Session uptime",
|
||
"lastHeartbeat": "Last heartbeat",
|
||
"activity24h": "Activity (24h)",
|
||
"totalCalls": "Total calls",
|
||
"successRate": "Success rate",
|
||
"avgLatency": "Avg latency",
|
||
"topTools": "Top tools",
|
||
"noToolCalls24h": "No tool calls in the last 24 hours.",
|
||
"runtimeDetails": "Runtime details",
|
||
"transport": "Transport",
|
||
"scopesEnforced": "Scopes enforced",
|
||
"yes": "yes",
|
||
"no": "no",
|
||
"lastCall": "Last call",
|
||
"heartbeatPath": "Heartbeat path",
|
||
"operationalControls": "Operational controls",
|
||
"switchCombo": "Switch combo",
|
||
"inactive": "inactive",
|
||
"active": "active",
|
||
"activateCombo": "Activate combo",
|
||
"deactivateCombo": "Deactivate combo",
|
||
"applyResilienceProfile": "Apply resilience profile",
|
||
"profileAggressive": "aggressive",
|
||
"profileBalanced": "balanced",
|
||
"profileConservative": "conservative",
|
||
"applyProfile": "Apply profile",
|
||
"resetCircuitBreakers": "Reset circuit breakers",
|
||
"resetCircuitBreakersHelp": "Clears current breaker state and failure counters for providers.",
|
||
"resetAllBreakers": "Reset all breakers",
|
||
"toolsAndScopes": "Tools and scopes",
|
||
"tableTool": "Tool",
|
||
"tableScopes": "Scopes",
|
||
"tablePhase": "Phase",
|
||
"tableAudit": "Audit",
|
||
"auditLog": "Audit log",
|
||
"auditSummary": "Calls: {total} | page {page} of {totalPages}",
|
||
"allTools": "All tools",
|
||
"allResults": "All results",
|
||
"success": "Success",
|
||
"failure": "Failure",
|
||
"apiKeyIdPlaceholder": "apiKeyId",
|
||
"loadingAuditEntries": "Loading audit entries...",
|
||
"noAuditEntriesForFilters": "No audit entries found for current filters.",
|
||
"tableTimestamp": "Timestamp",
|
||
"tableDuration": "Duration",
|
||
"tableResult": "ผลลัพธ์",
|
||
"tableApiKey": "คีย์เอพีไอ",
|
||
"failed": "ล้มเหลว",
|
||
"previous": "ก่อนหน้า",
|
||
"next": "ต่อไป"
|
||
},
|
||
"a2aDashboard": {
|
||
"loading": "กำลังโหลดแดชบอร์ด A2A...",
|
||
"confirmCancelTask": "ยกเลิกงาน {taskId}?",
|
||
"cancelTaskFailed": "ยกเลิกงานไม่สำเร็จ",
|
||
"cancelTaskSuccess": "งาน {taskId} ถูกยกเลิก",
|
||
"smokeSendFailed": "message/send smoke test failed.",
|
||
"smokeSendSuccessWithTask": "message/send ok (task {taskId}).",
|
||
"smokeSendSuccess": "message/send ok.",
|
||
"smokeStreamFailed": "message/stream smoke test failed.",
|
||
"smokeStreamSuccessWithTask": "message/stream ok (task {taskId}{stateSuffix}).",
|
||
"smokeStreamNoTaskId": "message/stream finished without task id.",
|
||
"health": "Health",
|
||
"ok": "ok",
|
||
"totalTasks": "Total tasks",
|
||
"activeStreams": "Active streams",
|
||
"lastTask": "Last task",
|
||
"taskStateOverview": "Task state overview",
|
||
"state": {
|
||
"submitted": "submitted",
|
||
"working": "working",
|
||
"completed": "completed",
|
||
"failed": "ล้มเหลว",
|
||
"cancelled": "cancelled"
|
||
},
|
||
"agentCard": "Agent card",
|
||
"version": "Version",
|
||
"url": "URL",
|
||
"capabilities": "Capabilities",
|
||
"agentCardNotAvailable": "Agent card not available.",
|
||
"quickValidation": "Quick validation",
|
||
"quickValidationDescription": "Executes smoke calls through the live `/a2a` endpoint.",
|
||
"runMessageSend": "Run message/send",
|
||
"runMessageStream": "Run message/stream",
|
||
"taskManagement": "Task management",
|
||
"taskSummary": "{total} tasks | page {page} of {totalPages}",
|
||
"allStates": "all",
|
||
"allSkills": "all skills",
|
||
"loadingTasks": "Loading tasks...",
|
||
"noTasksForFilters": "No tasks found for current filters.",
|
||
"tableTask": "Task",
|
||
"tableSkill": "Skill",
|
||
"tableState": "State",
|
||
"tableUpdated": "Updated",
|
||
"tableActions": "Actions",
|
||
"view": "View",
|
||
"cancel": "Cancel",
|
||
"previous": "ก่อนหน้า",
|
||
"next": "ต่อไป",
|
||
"taskDetail": "Task detail",
|
||
"close": "Close",
|
||
"metadata": "Metadata",
|
||
"events": "Events",
|
||
"artifacts": "Artifacts"
|
||
},
|
||
"health": {
|
||
"title": "สุขภาพของระบบ",
|
||
"description": "การตรวจสอบอินสแตนซ์ OmniRoute ของคุณแบบเรียลไทม์",
|
||
"healthy": "ดีต่อสุขภาพ",
|
||
"degraded": "เสื่อมโทรม",
|
||
"down": "ลง",
|
||
"uptime": "เวลาทำงาน",
|
||
"memory": "หน่วยความจำ",
|
||
"memoryRss": "หน่วยความจำ (RSS)",
|
||
"heap": "กอง",
|
||
"cpu": "ซีพียู",
|
||
"database": "ฐานข้อมูล",
|
||
"version": "เวอร์ชัน",
|
||
"lastCheck": "ตรวจสอบครั้งสุดท้าย",
|
||
"providerHealth": "สุขภาพของผู้ให้บริการ",
|
||
"systemMetrics": "ตัวชี้วัดของระบบ",
|
||
"tokenHealth": "โทเค็นสุขภาพ",
|
||
"refreshAll": "รีเฟรชทั้งหมด",
|
||
"checkNow": "ตรวจสอบตอนนี้",
|
||
"loadingHealth": "กำลังโหลดข้อมูลสุขภาพ...",
|
||
"failedToLoad": "ไม่สามารถโหลดข้อมูลสุขภาพ: {error}",
|
||
"retry": "ลองอีกครั้ง",
|
||
"allOperational": "ใช้งานได้ทุกระบบ",
|
||
"issuesDetected": "ตรวจพบปัญหาของระบบ",
|
||
"updatedAt": "อัปเดต {time}",
|
||
"latency": "เวลาแฝง",
|
||
"latencyP50": "หน้า 50",
|
||
"latencyP95": "หน้า 95",
|
||
"latencyP99": "หน้า 99",
|
||
"millisecondsShort": "{value}ms",
|
||
"notAvailable": "—",
|
||
"totalRequests": "คำขอทั้งหมด",
|
||
"noDataYet": "ยังไม่มีข้อมูล",
|
||
"promptCache": "แคชพร้อมท์",
|
||
"entries": "รายการ",
|
||
"hitRate": "อัตราการเข้าชม",
|
||
"hitsMisses": "ฮิต / พลาด",
|
||
"signatureCache": "แคชลายเซ็น",
|
||
"signatureDefaults": "ค่าเริ่มต้น",
|
||
"signatureTool": "เครื่องมือ",
|
||
"signatureFamily": "ครอบครัว",
|
||
"signatureSession": "เซสชัน",
|
||
"recovering": "กำลังฟื้นตัว",
|
||
"noCBData": "ไม่มีข้อมูลเซอร์กิตเบรกเกอร์ ทำการร้องขอบางอย่างก่อน",
|
||
"providerHealthStatusAria": "สถานะสุขภาพของผู้ให้บริการ",
|
||
"issuesLabel": "ตรวจพบปัญหา",
|
||
"operational": "การดำเนินงาน",
|
||
"providers": "ผู้ให้บริการ",
|
||
"healthyCount": "{count} สุขภาพแข็งแรง",
|
||
"nodeVersion": "โหนด {version}",
|
||
"failures": "{count} ล้มเหลว",
|
||
"failuresPlural": "{count} ล้มเหลว",
|
||
"lastFailure": "สุดท้าย",
|
||
"rateLimitStatus": "สถานะการจำกัดอัตรา",
|
||
"activeLimiters": "{count} ตัวจำกัดที่ใช้งานอยู่",
|
||
"activeLimitersPlural": "{count} ตัวจำกัดที่ใช้งานอยู่",
|
||
"queued": "เข้าคิว",
|
||
"queuedCount": "{count} เข้าคิวแล้ว",
|
||
"running": "วิ่ง",
|
||
"runningCount": "{count} กำลังวิ่งอยู่",
|
||
"ok": "ตกลง",
|
||
"activeLockouts": "การล็อกที่ใช้งานอยู่",
|
||
"resetConfirm": "รีเซ็ตเซอร์กิตเบรกเกอร์ทั้งหมดเป็นสถานะปกติหรือไม่ การดำเนินการนี้จะล้างจำนวนความล้มเหลวทั้งหมดและกู้คืนผู้ให้บริการทั้งหมดกลับสู่สถานะการปฏิบัติงาน",
|
||
"resetAllTitle": "รีเซ็ตเบรกเกอร์วงจรทั้งหมดให้อยู่ในสถานะปกติ",
|
||
"resetting": "กำลังรีเซ็ต...",
|
||
"resetAll": "รีเซ็ตทั้งหมด",
|
||
"until": "จนถึง {time}"
|
||
},
|
||
"limits": {
|
||
"title": "ขีดจำกัดและโควต้า",
|
||
"rateLimit": "ขีดจำกัดอัตรา",
|
||
"remaining": "ที่เหลืออยู่",
|
||
"requestsPerMinute": "คำขอ/นาที",
|
||
"tokensPerMinute": "โทเค็น/นาที",
|
||
"dailyLimit": "ขีดจำกัดรายวัน"
|
||
},
|
||
"logs": {
|
||
"title": "บันทึก",
|
||
"requestLogs": "ขอบันทึก",
|
||
"proxyLogs": "บันทึกพร็อกซี",
|
||
"auditLog": "บันทึกการตรวจสอบ",
|
||
"console": "คอนโซล",
|
||
"auditLogDesc": "การดำเนินการด้านการดูแลระบบและเหตุการณ์ด้านความปลอดภัย",
|
||
"loading": "กำลังโหลด...",
|
||
"refresh": "รีเฟรช",
|
||
"filterByAction": "กรองตามการกระทำ...",
|
||
"filterByActor": "กรองตามนักแสดง...",
|
||
"filterEntriesAria": "กรองรายการบันทึกการตรวจสอบ",
|
||
"filterByActionTypeAria": "กรองตามประเภทการกระทำ",
|
||
"filterByActorAria": "กรองตามนักแสดง",
|
||
"refreshAuditLogAria": "รีเฟรชบันทึกการตรวจสอบ",
|
||
"tableAria": "รายการบันทึกการตรวจสอบ",
|
||
"failedFetchAuditLog": "ดึงข้อมูลบันทึกการตรวจสอบไม่สำเร็จ",
|
||
"showing": "กำลังแสดงรายการ {count} (ออฟเซ็ต {offset})",
|
||
"search": "ค้นหา",
|
||
"timestamp": "การประทับเวลา",
|
||
"action": "การดำเนินการ",
|
||
"actor": "นักแสดง",
|
||
"target": "เป้าหมาย",
|
||
"details": "รายละเอียด",
|
||
"ipAddress": "ที่อยู่ IP",
|
||
"notAvailable": "—",
|
||
"noEntries": "ไม่พบรายการบันทึกการตรวจสอบ",
|
||
"previous": "ก่อนหน้า",
|
||
"next": "ถัดไป"
|
||
},
|
||
"onboarding": {
|
||
"welcome": "ยินดีต้อนรับ",
|
||
"security": "ความปลอดภัย",
|
||
"test": "ทดสอบ",
|
||
"ready": "พร้อม!",
|
||
"setPassword": "ตั้งรหัสผ่าน",
|
||
"addProvider": "เพิ่มผู้ให้บริการรายแรกของคุณ",
|
||
"getStarted": "เริ่มต้นเลย",
|
||
"skip": "ข้าม",
|
||
"skipWizard": "ข้ามวิซาร์ดไปเลย",
|
||
"skipPassword": "ข้ามการตั้งค่ารหัสผ่าน",
|
||
"skipAndContinue": "ข้ามและดำเนินการต่อ",
|
||
"passwordLabel": "รหัสผ่าน",
|
||
"confirmPassword": "ยืนยันรหัสผ่าน",
|
||
"enterPassword": "ใส่รหัสผ่าน",
|
||
"confirmPasswordPlaceholder": "ยืนยันรหัสผ่าน",
|
||
"passwordsMismatch": "รหัสผ่านไม่ตรงกัน",
|
||
"setupComplete": "ตั้งค่าเสร็จสมบูรณ์!",
|
||
"goToDashboard": "ไปที่แดชบอร์ด →",
|
||
"welcomeDesc": "OmniRoute คือพร็อกซี AI API ในพื้นที่ของคุณ โดยกำหนดเส้นทางคำขอไปยังผู้ให้บริการ AI หลายรายด้วยการปรับสมดุลโหลด การเฟลโอเวอร์ และการติดตามการใช้งาน",
|
||
"multiProvider": "ผู้ให้บริการหลายราย",
|
||
"usageTracking": "การติดตามการใช้งาน",
|
||
"apiKeyMgmt": "การจัดการคีย์ API",
|
||
"securityDesc": "ตั้งรหัสผ่านเพื่อปกป้องแดชบอร์ดของคุณ หรือข้ามไปก่อน",
|
||
"providerDesc": "เชื่อมต่อผู้ให้บริการ AI รายแรกของคุณ คุณสามารถเพิ่มมากขึ้นในภายหลัง",
|
||
"apiKeyRequired": "คีย์ API (จำเป็น)",
|
||
"customUrlOptional": "URL ที่กำหนดเอง (ไม่บังคับ)",
|
||
"testDesc": "มาตรวจสอบการเชื่อมต่อผู้ให้บริการของคุณใช้งานได้",
|
||
"runTest": "เรียกใช้การทดสอบการเชื่อมต่อ",
|
||
"testingConnection": "กำลังทดสอบการเชื่อมต่อ...",
|
||
"connectionSuccessful": "การเชื่อมต่อสำเร็จ! ผู้ให้บริการของคุณพร้อมแล้ว",
|
||
"noProviderFound": "ไม่พบผู้ให้บริการ คุณสามารถเพิ่มได้จากแดชบอร์ดในภายหลัง",
|
||
"testFailed": "การทดสอบล้มเหลว แต่คุณสามารถกำหนดค่าได้ในภายหลัง",
|
||
"couldNotTest": "ไม่สามารถทดสอบได้ในขณะนี้ คุณสามารถทดสอบได้จากแดชบอร์ด",
|
||
"doneDesc": "คุณพร้อมแล้ว! อินสแตนซ์ OmniRoute ของคุณได้รับการกำหนดค่าและพร้อมที่จะส่งคำขอ AI ของพร็อกซี",
|
||
"yourEndpoint": "ปลายทางของคุณ:",
|
||
"continue": "ดำเนินการต่อ",
|
||
"retry": "ลองอีกครั้ง",
|
||
"failedSetPassword": "ไม่สามารถตั้งรหัสผ่านได้ ลองอีกครั้ง",
|
||
"failedAddProvider": "ไม่สามารถเพิ่มผู้ให้บริการ ลองอีกครั้ง",
|
||
"connectionError": "ข้อผิดพลาดในการเชื่อมต่อ โปรดลองอีกครั้ง",
|
||
"provider": "ผู้ให้บริการ"
|
||
},
|
||
"providers": {
|
||
"title": "ผู้ให้บริการ",
|
||
"addProvider": "เพิ่มผู้ให้บริการ",
|
||
"editProvider": "แก้ไขผู้ให้บริการ",
|
||
"deleteProvider": "ลบผู้ให้บริการ",
|
||
"noProviders": "ไม่มีการกำหนดค่าผู้ให้บริการ",
|
||
"modelAvailability": "ความพร้อมของรุ่น",
|
||
"accounts": "บัญชี",
|
||
"newAccount": "บัญชีใหม่",
|
||
"deleteConfirm": "คุณแน่ใจหรือไม่ว่าต้องการลบผู้ให้บริการรายนี้",
|
||
"testing": "กำลังทดสอบ...",
|
||
"testConnection": "ทดสอบการเชื่อมต่อ",
|
||
"testSuccess": "การเชื่อมต่อสำเร็จ",
|
||
"testFailed": "การเชื่อมต่อล้มเหลว",
|
||
"available": "มีจำหน่าย",
|
||
"cooldown": "คูลดาวน์",
|
||
"unavailable": "ไม่พร้อมใช้งาน",
|
||
"unknown": "ไม่ทราบ",
|
||
"oauthLabel": "OAuth",
|
||
"compatibleLabel": "เข้ากันได้",
|
||
"chat": "แชท",
|
||
"responses": "คำตอบ",
|
||
"messages": "ข้อความ",
|
||
"oauthProviders": "ผู้ให้บริการ OAuth",
|
||
"freeProviders": "ผู้ให้บริการฟรี",
|
||
"apiKeyProviders": "ผู้ให้บริการคีย์ API",
|
||
"compatibleProviders": "ผู้ให้บริการที่เข้ากันได้กับคีย์ API",
|
||
"testAll": "ทดสอบทั้งหมด",
|
||
"testAllOAuth": "ทดสอบการเชื่อมต่อ OAuth ทั้งหมด",
|
||
"testAllFree": "ทดสอบการเชื่อมต่อฟรีทั้งหมด",
|
||
"testAllApiKey": "ทดสอบการเชื่อมต่อคีย์ API ทั้งหมด",
|
||
"testAllCompatible": "ทดสอบการเชื่อมต่อที่เข้ากันได้ทั้งหมด",
|
||
"connected": "{count} เชื่อมต่อแล้ว",
|
||
"errorCount": "{count} ข้อผิดพลาด ({code})",
|
||
"errorCountNoCode": "{count} เกิดข้อผิดพลาด",
|
||
"noConnections": "ไม่มีการเชื่อมต่อ",
|
||
"disabled": "ปิดการใช้งาน",
|
||
"enableProvider": "เปิดใช้งานผู้ให้บริการ",
|
||
"disableProvider": "ปิดการใช้งานผู้ให้บริการ",
|
||
"testResults": "ผลการทดสอบ",
|
||
"noCompatibleYet": "ยังไม่มีการเพิ่มผู้ให้บริการที่เข้ากันได้",
|
||
"compatibleHint": "ใช้ปุ่มด้านบนเพื่อเพิ่มตำแหน่งข้อมูลที่รองรับ OpenAI หรือ Anthropic",
|
||
"addOpenAICompatible": "เพิ่มการรองรับ OpenAI",
|
||
"addAnthropicCompatible": "เพิ่มความเข้ากันได้ทางมานุษยวิทยา",
|
||
"addNewProvider": "เพิ่มผู้ให้บริการใหม่",
|
||
"backToProviders": "กลับไปที่ผู้ให้บริการ",
|
||
"configureNewProvider": "กำหนดค่าผู้ให้บริการ AI ใหม่เพื่อใช้กับแอปพลิเคชันของคุณ",
|
||
"providerLabel": "ผู้ให้บริการ",
|
||
"selectProvider": "เลือกผู้ให้บริการ",
|
||
"selectedProvider": "ผู้ให้บริการที่เลือก",
|
||
"authMethod": "วิธีการรับรองความถูกต้อง",
|
||
"apiKeyLabel": "คีย์ API",
|
||
"apiKeyRequired": "จำเป็นต้องมีคีย์ API",
|
||
"selectProviderRequired": "โปรดเลือกผู้ให้บริการ",
|
||
"enterApiKey": "ป้อนคีย์ API ของคุณ",
|
||
"apiKeySecure": "รหัส API ของคุณจะถูกเข้ารหัสและเก็บไว้อย่างปลอดภัย",
|
||
"oauth2Connect": "เชื่อมต่อกับ OAuth2",
|
||
"oauth2Label": "OAuth2",
|
||
"oauth2Desc": "เชื่อมต่อบัญชีของคุณโดยใช้การตรวจสอบสิทธิ์ OAuth2",
|
||
"displayName": "ชื่อที่แสดง",
|
||
"displayNamePlaceholder": "เช่น Production API, Dev Environment",
|
||
"displayNameHint": "ไม่จำเป็น ชื่อที่จำง่ายเพื่อระบุการกำหนดค่านี้",
|
||
"active": "ใช้งานอยู่",
|
||
"activeDescription": "เปิดใช้งานผู้ให้บริการรายนี้เพื่อใช้ในแอปพลิเคชันของคุณ",
|
||
"cancel": "ยกเลิก",
|
||
"createProvider": "สร้างผู้ให้บริการ",
|
||
"failedCreate": "ไม่สามารถสร้างผู้ให้บริการได้",
|
||
"errorOccurred": "เกิดข้อผิดพลาด โปรดลองอีกครั้ง",
|
||
"modelStatus": "สถานะโมเดล",
|
||
"allModelsOperational": "ใช้งานได้ทุกรุ่น",
|
||
"modelsWithIssues": "{count} โมเดลที่มีปัญหา",
|
||
"allModelsNormal": "ทุกรุ่นตอบสนองได้ปกติ",
|
||
"cooldownCleared": "ล้างคูลดาวน์แล้วสำหรับ {model}",
|
||
"failedClearCooldown": "ไม่สามารถล้างคูลดาวน์ได้",
|
||
"loadingAvailability": "กำลังโหลดรุ่นที่มีจำหน่าย...",
|
||
"clearCooldown": "ชัดเจน",
|
||
"clearing": "กำลังล้างข้อมูล...",
|
||
"until": "จนถึง {time}",
|
||
"providerTestFailed": "การทดสอบผู้ให้บริการล้มเหลว",
|
||
"modeTest": "{mode} ทดสอบ",
|
||
"passedCount": "{count} ผ่านไป",
|
||
"failedCount": "{count} ล้มเหลว",
|
||
"testedCount": "{count} ทดสอบแล้ว",
|
||
"millisecondsAbbr": "{value}ms",
|
||
"okShort": "ตกลง",
|
||
"errorShort": "ข้อผิดพลาด",
|
||
"noActiveConnectionsInGroup": "ไม่พบการเชื่อมต่อที่ใช้งานอยู่สำหรับกลุ่มนี้",
|
||
"allTestsPassed": "ผ่านการทดสอบ {total} ทั้งหมด",
|
||
"testSummary": "{passed}/{total} ผ่านไป {failed} ล้มเหลว",
|
||
"nameLabel": "ชื่อ",
|
||
"prefixLabel": "คำนำหน้า",
|
||
"baseUrlLabel": "URL ฐาน",
|
||
"apiTypeLabel": "ประเภทเอพีไอ",
|
||
"prefixHint": "จำเป็น คำนำหน้าเฉพาะสำหรับชื่อรุ่น",
|
||
"nameHint": "จำเป็น ป้ายกำกับที่เป็นมิตรสำหรับโหนดนี้",
|
||
"baseUrlHint": "จำเป็น URL ฐาน API ของผู้ให้บริการ",
|
||
"anthropicPrefixPlaceholder": "ac-ผลิตภัณฑ์",
|
||
"openaiPrefixPlaceholder": "oc-ผลิตภัณฑ์",
|
||
"anthropicBaseUrlPlaceholder": "https://api.anthropic.com/v1",
|
||
"openaiBaseUrlPlaceholder": "https://api.openai.com/v1",
|
||
"validateConnection": "ตรวจสอบการเชื่อมต่อ",
|
||
"validating": "กำลังตรวจสอบ...",
|
||
"connectionValid": "การเชื่อมต่อถูกต้อง!",
|
||
"connectionFailed": "การเชื่อมต่อล้มเหลว ตรวจสอบ URL และรหัส",
|
||
"testKeyLabel": "ทดสอบคีย์ API",
|
||
"testKeyPlaceholder": "sk-... (สำหรับการตรวจสอบเท่านั้น)",
|
||
"providerNotFound": "ไม่พบผู้ให้บริการ",
|
||
"deleteConnectionConfirm": "ลบการเชื่อมต่อนี้ใช่ไหม",
|
||
"failedSetAlias": "ไม่สามารถตั้งชื่อแทนได้",
|
||
"failedSaveConnection": "ไม่สามารถบันทึกการเชื่อมต่อ",
|
||
"failedSaveConnectionRetry": "ไม่สามารถบันทึกการเชื่อมต่อ โปรดลองอีกครั้ง",
|
||
"failedRetestConnection": "ล้มเหลวในการทดสอบการเชื่อมต่ออีกครั้ง",
|
||
"deleteCompatibleNodeConfirm": "ลบโหนดที่เข้ากันได้ {type} นี้หรือไม่",
|
||
"anthropicCompatibleDetails": "รายละเอียดที่เข้ากันได้กับมานุษยวิทยา",
|
||
"openaiCompatibleDetails": "รายละเอียดที่เข้ากันได้กับ OpenAI",
|
||
"messagesApi": "API ข้อความ",
|
||
"responsesApi": "API การตอบสนอง",
|
||
"chatCompletions": "เสร็จสิ้นการแชท",
|
||
"importingModels": "กำลังนำเข้า...",
|
||
"importFromModels": "นำเข้าจาก /models",
|
||
"addConnectionToImport": "เพิ่มการเชื่อมต่อเพื่อเปิดใช้งานการนำเข้า",
|
||
"noModelsConfigured": "ไม่มีโมเดลที่กำหนดค่าไว้",
|
||
"connectionCount": "{count} การเชื่อมต่อ",
|
||
"fetchingModels": "กำลังเรียกรุ่นที่มีจำหน่าย...",
|
||
"failedFetchModels": "ดึงข้อมูลโมเดลไม่สำเร็จ",
|
||
"noModelsFound": "ไม่พบรุ่น",
|
||
"importFailed": "การนำเข้าล้มเหลว",
|
||
"noNewModelsAdded": "ไม่มีการเพิ่มโมเดลใหม่",
|
||
"adding": "กำลังเพิ่ม...",
|
||
"importingModelsTitle": "การนำเข้าโมเดล",
|
||
"copyModel": "คัดลอกโมเดล",
|
||
"removeModel": "ลบโมเดล",
|
||
"rateLimitProtected": "ได้รับการคุ้มครอง",
|
||
"rateLimitUnprotected": "ไม่มีการป้องกัน",
|
||
"enableRateLimitProtection": "คลิกเพื่อเปิดใช้งานการป้องกันขีดจำกัดอัตรา",
|
||
"disableRateLimitProtection": "คลิกเพื่อปิดใช้งานการป้องกันขีดจำกัดอัตรา",
|
||
"productionKey": "รหัสการผลิต",
|
||
"enterNewApiKey": "ป้อนคีย์ API ใหม่",
|
||
"optional": "ไม่จำเป็น",
|
||
"anthropicCompatibleName": "เข้ากันได้กับมานุษยวิทยา",
|
||
"openaiCompatibleName": "รองรับ OpenAI",
|
||
"failedImportModels": "ไม่สามารถนำเข้าโมเดลได้",
|
||
"noModelsReturnedFromEndpoint": "ไม่มีโมเดลที่ส่งคืนจากปลายทาง /models",
|
||
"importingModelsProgress": "กำลังนำเข้าโมเดล {current} จาก {total}...",
|
||
"foundModelsStartingImport": "พบ {count} โมเดล กำลังเริ่มนำเข้า...",
|
||
"importingModelById": "กำลังนำเข้า {modelId}...",
|
||
"importSuccessCount": "นำเข้า {count, plural, one {# model} other {# models}} สำเร็จแล้ว!",
|
||
"noNewModelsAddedExisting": "ไม่มีการเพิ่มโมเดลใหม่ (มีอยู่แล้วทั้งหมด)",
|
||
"importDoneCount": "✓ เสร็จแล้ว! {count, plural, one {# model imported.} other {# models imported.}}",
|
||
"unexpectedErrorOccurred": "เกิดข้อผิดพลาดที่ไม่คาดคิด",
|
||
"connectionCountLabel": "{count, plural, one {# connection} other {# connections}}",
|
||
"messagesPath": "ข้อความ",
|
||
"responsesPath": "การตอบสนอง",
|
||
"chatCompletionsPath": "แชท/เสร็จสิ้น",
|
||
"add": "เพิ่ม",
|
||
"edit": "แก้ไข",
|
||
"delete": "ลบ",
|
||
"anthropic": "มานุษยวิทยา",
|
||
"openai": "OpenAI",
|
||
"singleConnectionPerCompatible": "อนุญาตให้เชื่อมต่อได้เพียงครั้งเดียวต่อโหนดที่เข้ากันได้ เพิ่มโหนดอื่นหากคุณต้องการการเชื่อมต่อเพิ่มเติม",
|
||
"connections": "การเชื่อมต่อ",
|
||
"providerProxyTitleConfigured": "พร็อกซีผู้ให้บริการ: {host}",
|
||
"configured": "กำหนดค่าแล้ว",
|
||
"providerProxyConfigureHint": "กำหนดค่าพร็อกซีสำหรับการเชื่อมต่อทั้งหมดของผู้ให้บริการรายนี้",
|
||
"providerProxy": "พร็อกซีของผู้ให้บริการ",
|
||
"noConnectionsYet": "ยังไม่มีการเชื่อมต่อ",
|
||
"addFirstConnectionHint": "เพิ่มการเชื่อมต่อครั้งแรกของคุณเพื่อเริ่มต้น",
|
||
"addConnection": "เพิ่มการเชื่อมต่อ",
|
||
"availableModels": "รุ่นที่มีจำหน่าย",
|
||
"pageAutoRefresh": "หน้าจะรีเฟรชอัตโนมัติ...",
|
||
"statusDisabled": "ปิดการใช้งาน",
|
||
"statusConnected": "เชื่อมต่อแล้ว",
|
||
"statusRuntimeIssue": "ปัญหารันไทม์",
|
||
"statusAuthFailed": "การตรวจสอบสิทธิ์ล้มเหลว",
|
||
"statusRateLimited": "อัตราจำกัด",
|
||
"statusNetworkIssue": "ปัญหาเครือข่าย",
|
||
"statusTestUnsupported": "ไม่รองรับการทดสอบ",
|
||
"statusUnavailable": "ไม่พร้อมใช้งาน",
|
||
"statusFailed": "ล้มเหลว",
|
||
"statusError": "ข้อผิดพลาด",
|
||
"oauthAccount": "บัญชี OAuth",
|
||
"errorTypeRuntime": "รันไทม์ท้องถิ่น",
|
||
"errorTypeUpstreamAuth": "การรับรองความถูกต้องต้นน้ำ",
|
||
"errorTypeMissingCredential": "ข้อมูลรับรองหายไป",
|
||
"errorTypeRefreshFailed": "รีเฟรชล้มเหลว",
|
||
"errorTypeTokenExpired": "โทเค็นหมดอายุ",
|
||
"errorTypeRateLimited": "อัตราจำกัด",
|
||
"errorTypeUpstreamUnavailable": "อัปสตรีมไม่พร้อมใช้งาน",
|
||
"errorTypeNetworkError": "ข้อผิดพลาดของเครือข่าย",
|
||
"errorTypeTestUnsupported": "ไม่รองรับการทดสอบ",
|
||
"errorTypeUpstreamError": "ข้อผิดพลาดต้นน้ำ",
|
||
"proxySourceGlobal": "ทั่วโลก",
|
||
"proxySourceProvider": "ผู้ให้บริการ",
|
||
"proxySourceKey": "คีย์",
|
||
"proxyConfiguredBySource": "พร็อกซี ({source}): {host}",
|
||
"autoPriority": "อัตโนมัติ: {priority}",
|
||
"proxy": "หนังสือมอบฉันทะ",
|
||
"retestAuthentication": "ทดสอบการรับรองความถูกต้องอีกครั้ง",
|
||
"retest": "ทดสอบซ้ำ",
|
||
"disableConnection": "ปิดการใช้งานการเชื่อมต่อ",
|
||
"enableConnection": "เปิดใช้งานการเชื่อมต่อ",
|
||
"reauthenticateConnection": "ตรวจสอบการเชื่อมต่อนี้อีกครั้ง",
|
||
"proxyConfig": "การกำหนดค่าพร็อกซี",
|
||
"aliasExistsAlert": "มีนามแฝง \"{alias}\" อยู่แล้ว โปรดใช้โมเดลอื่นหรือแก้ไขนามแฝงที่มีอยู่",
|
||
"openRouterAnyModelHint": "OpenRouter รองรับทุกรุ่น เพิ่มโมเดลและสร้างนามแฝงเพื่อการเข้าถึงที่รวดเร็ว",
|
||
"modelIdFromOpenRouter": "รหัสรุ่น (จาก OpenRouter)",
|
||
"openRouterModelPlaceholder": "มานุษยวิทยา / Claude-3-opus",
|
||
"customModels": "โมเดลที่กำหนดเอง",
|
||
"customModelsHint": "เพิ่มรหัสรุ่นที่ไม่ได้อยู่ในรายการเริ่มต้น สิ่งเหล่านี้จะพร้อมใช้งานสำหรับการกำหนดเส้นทาง",
|
||
"modelId": "รหัสรุ่น",
|
||
"customModelPlaceholder": "เช่น gpt-4.5-เทอร์โบ",
|
||
"loading": "กำลังโหลด...",
|
||
"removeCustomModel": "ลบโมเดลที่กำหนดเอง",
|
||
"noCustomModels": "ยังไม่มีการเพิ่มโมเดลที่กำหนดเอง",
|
||
"allSuggestedAliasesExist": "มีนามแฝงที่แนะนำทั้งหมดอยู่แล้ว โปรดเลือกรุ่นอื่นหรือลบนามแฝงที่ขัดแย้งกัน",
|
||
"failedSaveCustomModel": "บันทึกโมเดลที่กำหนดเองไม่สำเร็จ",
|
||
"modelAddedSuccess": "เพิ่มโมเดล {modelId} สำเร็จแล้ว",
|
||
"failedAddModelTryAgain": "ไม่สามารถเพิ่มโมเดล โปรดลองอีกครั้ง",
|
||
"failedSaveImportedModel": "ไม่สามารถบันทึกแบบจำลองที่นำเข้าไปยังฐานข้อมูลที่กำหนดเอง",
|
||
"failedImportModelsTryAgain": "ไม่สามารถนำเข้าโมเดลได้ โปรดลองอีกครั้ง",
|
||
"failedRemoveModelFromDatabase": "ไม่สามารถลบโมเดลออกจากฐานข้อมูล",
|
||
"modelRemovedSuccess": "ลบโมเดลสำเร็จแล้ว",
|
||
"failedDeleteModelTryAgain": "ลบโมเดลไม่สำเร็จ โปรดลองอีกครั้ง",
|
||
"compatibleModelsDescription": "เพิ่มโมเดลที่เข้ากันได้กับ {type} ด้วยตนเองหรือนำเข้าจากตำแหน่งข้อมูล /models",
|
||
"anthropicCompatibleModelPlaceholder": "คลอด-3-บทประพันธ์-20240229",
|
||
"openaiCompatibleModelPlaceholder": "GPT-4o",
|
||
"apiKeyValidationFailed": "การตรวจสอบคีย์ API ล้มเหลว โปรดตรวจสอบรหัสของคุณแล้วลองอีกครั้ง",
|
||
"addProviderApiKeyTitle": "เพิ่ม {provider} คีย์ API",
|
||
"checking": "กำลังตรวจสอบ...",
|
||
"check": "ตรวจสอบ",
|
||
"valid": "ถูกต้อง",
|
||
"invalid": "ไม่ถูกต้อง",
|
||
"creating": "กำลังสร้าง...",
|
||
"validationChecksAnthropicCompatible": "การตรวจสอบความถูกต้องจะตรวจสอบ {provider} โดยการตรวจสอบคีย์ API",
|
||
"validationChecksOpenAiCompatible": "การตรวจสอบความถูกต้องจะตรวจสอบ {provider} ผ่าน /models บน URL ฐานของคุณ",
|
||
"priorityLabel": "ลำดับความสำคัญ",
|
||
"saving": "กำลังบันทึก...",
|
||
"save": "บันทึก",
|
||
"editConnection": "แก้ไขการเชื่อมต่อ",
|
||
"accountName": "ชื่อบัญชี",
|
||
"email": "อีเมล",
|
||
"healthCheckMinutes": "ตรวจสุขภาพ (ขั้นต่ำ)",
|
||
"healthCheckHint": "ช่วงเวลาการรีเฟรชโทเค็นเชิงรุก 0 = ปิดการใช้งาน",
|
||
"failedTestConnection": "ทดสอบการเชื่อมต่อไม่สำเร็จ",
|
||
"failed": "ล้มเหลว",
|
||
"leaveBlankKeepCurrentApiKey": "เว้นว่างไว้เพื่อเก็บคีย์ API ปัจจุบันไว้",
|
||
"editCompatibleTitle": "แก้ไข {type} เข้ากันได้",
|
||
"compatibleBaseUrlHint": "ใช้ URL พื้นฐาน (ลงท้ายด้วย /v1) สำหรับ {type}- API ที่เข้ากันได้กับของคุณ",
|
||
"apiKeyForCheck": "คีย์ API (สำหรับการตรวจสอบ)",
|
||
"compatibleProdPlaceholder": "{type} เข้ากันได้ (ผลิตภัณฑ์)"
|
||
},
|
||
"settings": {
|
||
"title": "การตั้งค่า",
|
||
"general": "ทั่วไป",
|
||
"security": "ความปลอดภัย",
|
||
"appearance": "ลักษณะที่ปรากฏ",
|
||
"routing": "การกำหนดเส้นทาง",
|
||
"cache": "แคช",
|
||
"resilience": "ความยืดหยุ่น",
|
||
"systemPrompt": "พร้อมท์ระบบ",
|
||
"thinkingBudget": "คิดงบประมาณ",
|
||
"proxy": "หนังสือมอบฉันทะ",
|
||
"pricing": "ราคา",
|
||
"storage": "ที่เก็บของ",
|
||
"policies": "นโยบาย",
|
||
"ipFilter": "ตัวกรองไอพี",
|
||
"comboDefaults": "ค่าเริ่มต้นคอมโบ",
|
||
"fallbackChains": "โซ่สำรอง",
|
||
"changePassword": "เปลี่ยนรหัสผ่าน",
|
||
"enablePassword": "เปิดใช้งานรหัสผ่าน",
|
||
"darkMode": "โหมดมืด",
|
||
"lightMode": "โหมดแสง",
|
||
"systemTheme": "ธีมของระบบ",
|
||
"enableCache": "เปิดใช้งานแคช",
|
||
"cacheTTL": "แคช TTL",
|
||
"maxCacheSize": "ขนาดแคชสูงสุด",
|
||
"clearCache": "ล้างแคช",
|
||
"cacheHits": "การเข้าชมแคช",
|
||
"cacheMisses": "แคชพลาด",
|
||
"hitRate": "อัตราการเข้าชม",
|
||
"cacheEntries": "รายการแคช",
|
||
"circuitBreaker": "เบรกเกอร์",
|
||
"retryPolicy": "นโยบายการลองอีกครั้ง",
|
||
"maxRetries": "ลองใหม่สูงสุด",
|
||
"retryDelay": "ลองล่าช้าอีกครั้ง",
|
||
"timeoutMs": "หมดเวลา (มิลลิวินาที)",
|
||
"enableSystemPrompt": "เปิดใช้งานพร้อมท์ระบบ",
|
||
"systemPromptText": "ข้อความแจ้งของระบบ",
|
||
"enableThinking": "เปิดใช้งานการคิด",
|
||
"maxThinkingTokens": "โทเค็นการคิดสูงสุด",
|
||
"enableProxy": "เปิดใช้งานพร็อกซี",
|
||
"proxyUrl": "URL พร็อกซี",
|
||
"pricingRates": "รูปแบบอัตราราคา",
|
||
"currentPricing": "ภาพรวมราคาปัจจุบัน",
|
||
"loadingPricing": "กำลังโหลดข้อมูลราคา...",
|
||
"noPricing": "ไม่มีข้อมูลราคา",
|
||
"input": "อินพุต",
|
||
"output": "เอาท์พุต",
|
||
"cached": "แคช",
|
||
"reasoning": "การใช้เหตุผล",
|
||
"cacheCreation": "การสร้างแคช",
|
||
"customPricing": "ราคาที่กำหนดเอง",
|
||
"databaseSize": "ขนาดฐานข้อมูล",
|
||
"backupDb": "ฐานข้อมูลสำรอง",
|
||
"restoreDb": "กู้คืนฐานข้อมูล",
|
||
"exportData": "ส่งออกข้อมูล",
|
||
"importData": "นำเข้าข้อมูล",
|
||
"clearData": "ล้างข้อมูลทั้งหมด",
|
||
"clearDataConfirm": "การดำเนินการนี้จะลบข้อมูลทั้งหมดอย่างถาวร คุณแน่ใจเหรอ?",
|
||
"enableRequestLogs": "เปิดใช้งานบันทึกคำขอ",
|
||
"logRetention": "การเก็บรักษาบันทึก",
|
||
"ipWhitelist": "รายการ IP ที่อนุญาต",
|
||
"ipBlacklist": "บัญชีดำไอพี",
|
||
"addIP": "เพิ่มไอพี",
|
||
"savedSuccessfully": "บันทึกการตั้งค่าเรียบร้อยแล้ว",
|
||
"ai": "เอไอ",
|
||
"advanced": "ขั้นสูง",
|
||
"localMode": "โหมดท้องถิ่น — ข้อมูลทั้งหมดที่จัดเก็บไว้ในเครื่องของคุณ",
|
||
"settingsSectionsAria": "ส่วนการตั้งค่า",
|
||
"switchThemes": "สลับระหว่างธีมสว่างและธีมมืด",
|
||
"themeSelectionAria": "การเลือกธีม",
|
||
"themeLight": "เบา",
|
||
"themeDark": "มืด",
|
||
"themeSystem": "ระบบ",
|
||
"hideHealthLogs": "ซ่อนบันทึกการตรวจสุขภาพ",
|
||
"hideHealthLogsDesc": "เมื่อเปิด ให้ระงับข้อความ [HealthCheck] ในคอนโซลเซิร์ฟเวอร์",
|
||
"themeAccent": "สีธีม",
|
||
"themeAccentDesc": "เลือกสีสำเร็จรูปหรือสร้างธีมของคุณเองด้วยสีเดียว",
|
||
"themeCreate": "สร้างธีม",
|
||
"themeCustom": "ธีมกำหนดเอง",
|
||
"themeBlue": "น้ำเงิน",
|
||
"themeRed": "แดง",
|
||
"themeGreen": "เขียว",
|
||
"themeViolet": "ม่วง",
|
||
"themeOrange": "ส้ม",
|
||
"themeCyan": "ไซแอน",
|
||
"promptCache": "แคชพร้อมท์",
|
||
"flushCache": "ล้างแคช",
|
||
"flushing": "กำลังฟลัชชิง…",
|
||
"size": "ขนาด",
|
||
"hits": "ฮิต",
|
||
"evictions": "การขับไล่",
|
||
"loadingCacheStats": "กำลังโหลดสถิติแคช...",
|
||
"globalProxy": "พร็อกซีทั่วโลก",
|
||
"globalProxyDesc": "กำหนดค่าพร็อกซีขาออกส่วนกลางสำหรับการเรียก API ทั้งหมด ผู้ให้บริการแต่ละราย คอมโบ และคีย์สามารถแทนที่สิ่งนี้ได้",
|
||
"noGlobalProxy": "ไม่มีการกำหนดค่าพร็อกซีส่วนกลาง",
|
||
"globalLabel": "ทั่วโลก",
|
||
"configure": "กำหนดค่า",
|
||
"globalSystemPrompt": "พร้อมท์ระบบทั่วโลก",
|
||
"systemPromptDesc": "แทรกเข้าไปในคำขอทั้งหมดในระดับพร็อกซี",
|
||
"saved": "บันทึกแล้ว",
|
||
"systemPromptPlaceholder": "เข้าสู่ระบบพร้อมท์ให้แทรกคำขอทั้งหมด...",
|
||
"systemPromptHint": "พรอมต์นี้ถูกเพิ่มไว้หน้าข้อความระบบของทุกคำขอ ใช้สำหรับคำแนะนำสากล หลักเกณฑ์ด้านความปลอดภัย หรือกฎการจัดรูปแบบการตอบกลับ",
|
||
"chars": "{count} ตัวอักษร",
|
||
"thinkingBudgetTitle": "คิดงบประมาณ",
|
||
"thinkingBudgetDesc": "ควบคุมการใช้โทเค็นการให้เหตุผลของ AI ในคำขอทั้งหมด",
|
||
"passthrough": "ทะลุผ่าน",
|
||
"passthroughDesc": "ไม่มีการเปลี่ยนแปลง — ลูกค้าควบคุมงบประมาณการคิด",
|
||
"auto": "อัตโนมัติ",
|
||
"autoDesc": "ยกเลิกการกำหนดค่าการคิดทั้งหมด — ให้ผู้ให้บริการตัดสินใจ",
|
||
"custom": "กำหนดเอง",
|
||
"customDesc": "กำหนดงบประมาณโทเค็นคงที่สำหรับคำขอทั้งหมด",
|
||
"adaptive": "ปรับตัวได้",
|
||
"adaptiveDesc": "ปรับขนาดงบประมาณตามความซับซ้อนของคำขอ",
|
||
"effortNone": "ไม่มี (0 โทเค็น)",
|
||
"effortLow": "ต่ำ (โทเค็น 1K)",
|
||
"effortMedium": "ปานกลาง (โทเค็น 10,000)",
|
||
"effortHigh": "สูง (โทเค็น 128K)",
|
||
"tokenBudget": "งบประมาณโทเค็น",
|
||
"tokens": "โทเค็น",
|
||
"baseEffortLevel": "ระดับความพยายามพื้นฐาน",
|
||
"adaptiveHint": "โหมดการปรับเปลี่ยนจะปรับขนาดจากระดับพื้นฐานนี้โดยอิงตามจำนวนข้อความ การใช้เครื่องมือ และความยาวข้อความแจ้ง",
|
||
"requireLogin": "จำเป็นต้องเข้าสู่ระบบ",
|
||
"requireLoginDesc": "เมื่อเปิด แดชบอร์ดต้องใช้รหัสผ่าน เมื่อปิด ให้เข้าถึงโดยไม่ต้องเข้าสู่ระบบ",
|
||
"currentPassword": "รหัสผ่านปัจจุบัน",
|
||
"enterCurrentPassword": "ป้อนรหัสผ่านปัจจุบัน",
|
||
"newPassword": "รหัสผ่านใหม่",
|
||
"enterNewPassword": "ป้อนรหัสผ่านใหม่",
|
||
"confirmPassword": "ยืนยันรหัสผ่านใหม่",
|
||
"confirmPasswordPlaceholder": "ยืนยันรหัสผ่านใหม่",
|
||
"passwordsNoMatch": "รหัสผ่านไม่ตรงกัน",
|
||
"passwordUpdated": "อัปเดตรหัสผ่านเรียบร้อยแล้ว",
|
||
"failedUpdatePassword": "ไม่สามารถอัปเดตรหัสผ่าน",
|
||
"errorOccurred": "เกิดข้อผิดพลาด",
|
||
"updatePassword": "อัปเดตรหัสผ่าน",
|
||
"setPassword": "ตั้งรหัสผ่าน",
|
||
"apiEndpointProtection": "การป้องกันปลายทาง API",
|
||
"requireAuthModels": "ต้องใช้คีย์ API สำหรับ /models",
|
||
"requireAuthModelsDesc": "เมื่อเปิด ตำแหน่งข้อมูล /v1/models จะส่งคืน 404 สำหรับคำขอที่ไม่ได้รับการรับรองความถูกต้อง ป้องกันการค้นพบโมเดลโดยผู้ใช้ที่ไม่ได้รับอนุญาต",
|
||
"blockedProviders": "ผู้ให้บริการที่ถูกบล็อก",
|
||
"blockedProvidersDesc": "ซ่อนผู้ให้บริการเฉพาะจากการตอบกลับ /v1/models ผู้ให้บริการที่ถูกบล็อกจะไม่ปรากฏในรายการโมเดล",
|
||
"providersBlocked": "{count} ผู้ให้บริการถูกบล็อกจาก /models",
|
||
"blockProviderTitle": "บล็อก {provider}",
|
||
"unblockProviderTitle": "เลิกบล็อก {provider}",
|
||
"routingStrategy": "กลยุทธ์การกำหนดเส้นทาง",
|
||
"fillFirst": "เติมก่อน",
|
||
"fillFirstDesc": "ใช้บัญชีตามลำดับความสำคัญ",
|
||
"roundRobin": "ตัวกลม โรบิน",
|
||
"roundRobinDesc": "หมุนเวียนไปตามบัญชีทั้งหมด",
|
||
"p2c": "พีทูซี",
|
||
"p2cDesc": "สุ่มเลือก 2 อัน ใช้อันที่ดีต่อสุขภาพกว่า",
|
||
"random": "สุ่ม",
|
||
"randomDesc": "บัญชีสุ่มแต่ละคำขอ",
|
||
"leastUsed": "ใช้น้อยที่สุด",
|
||
"leastUsedDesc": "เลือกบัญชีที่ใช้ล่าสุดน้อยที่สุด",
|
||
"costOpt": "การเลือกใช้ต้นทุน",
|
||
"costOptDesc": "ต้องการบัญชีที่ถูกที่สุด",
|
||
"stickyLimit": "ขีด จำกัด เหนียว",
|
||
"stickyLimitDesc": "โทรต่อบัญชีก่อนที่จะเปลี่ยน",
|
||
"modelAliases": "นามแฝงของโมเดล",
|
||
"modelAliasesTitle": "นามแฝงโมเดล",
|
||
"modelAliasesDesc": "รูปแบบไวด์การ์ดเพื่อทำการแมปชื่อโมเดลใหม่ • ใช้ * และ ?",
|
||
"addCustomAlias": "เพิ่มนามแฝงที่กำหนดเอง",
|
||
"deprecatedModelId": "ID โมเดลที่เลิกใช้",
|
||
"newModelId": "ID โมเดลใหม่",
|
||
"customAliases": "นามแฝงที่กำหนดเอง",
|
||
"builtInAliases": "นามแฝงในตัว",
|
||
"backgroundDegradationTitle": "การลดระดับงานพื้นหลัง",
|
||
"backgroundDegradationDesc": "ตรวจจับงานพื้นหลังโดยอัตโนมัติ (ชื่อเรื่อง, สรุป) และเปลี่ยนเส้นทางไปยังโมเดลที่ถูกกว่า",
|
||
"enableDegradation": "เปิดใช้งานการลดระดับงานพื้นหลัง",
|
||
"enableDegradationHint": "เมื่อเปิดใช้งาน งานพื้นหลังเช่นการสร้างชื่อเรื่องและสรุปจะถูกเปลี่ยนเส้นทางไปยังโมเดลที่ถูกกว่าโดยอัตโนมัติ",
|
||
"tasksDetected": "งานที่ตรวจพบ",
|
||
"degradationMap": "แผนผังการลดระดับโมเดล",
|
||
"premiumModel": "โมเดลพรีเมียม",
|
||
"cheapModel": "โมเดลราคาถูก",
|
||
"detectionPatterns": "รูปแบบการตรวจจับ",
|
||
"newPattern": "เช่น \"สร้างชื่อเรื่อง\"",
|
||
"aliasPatternPlaceholder": "คลอด-โคลง-*",
|
||
"aliasTargetPlaceholder": "คลอด-โคลง-4-20250514",
|
||
"pattern": "รูปแบบ",
|
||
"targetModel": "โมเดลเป้าหมาย",
|
||
"add": "+ เพิ่ม",
|
||
"session": "เซสชัน",
|
||
"sessionDetailsAria": "รายละเอียดเซสชัน",
|
||
"status": "สถานะ",
|
||
"authenticated": "รับรองความถูกต้อง",
|
||
"guest": "แขก",
|
||
"loginTime": "เวลาเข้าสู่ระบบ",
|
||
"sessionAge": "อายุเซสชัน",
|
||
"browser": "เบราว์เซอร์",
|
||
"clearLocalData": "ล้างข้อมูลในเครื่อง",
|
||
"logout": "ออกจากระบบ",
|
||
"clearLocalDataConfirm": "ล้างข้อมูลในเครื่องทั้งหมดไหม นี่จะรีเซ็ตการตั้งค่าของคุณ",
|
||
"unknown": "ไม่ทราบ",
|
||
"systemActor": "ระบบ",
|
||
"ipAccessControl": "การควบคุมการเข้าถึงไอพี",
|
||
"ipAccessControlDesc": "บล็อกหรืออนุญาตที่อยู่ IP ที่ระบุ",
|
||
"ipModeDisabled": "ปิดการใช้งาน",
|
||
"ipModeBlacklist": "บัญชีดำ",
|
||
"ipModeWhitelist": "ไวท์ลิสต์",
|
||
"ipModeWhitelistPriority": "ลำดับความสำคัญ WL",
|
||
"addIpAddress": "เพิ่มที่อยู่ IP",
|
||
"ipAddressPlaceholder": "192.168.1.0/24 หรือ 10.0.*.*",
|
||
"block": "+ บล็อก",
|
||
"allow": "+ อนุญาต",
|
||
"blocked": "ถูกบล็อก ({count})",
|
||
"allowed": "อนุญาต ({count})",
|
||
"temporaryBans": "การแบนชั่วคราว ({count})",
|
||
"minLeft": "เหลืออีก {min} นาที",
|
||
"auditLog": "บันทึกการตรวจสอบ",
|
||
"searchAuditLogs": "ค้นหาบันทึกการตรวจสอบ...",
|
||
"failedLoadAuditLog": "โหลดบันทึกการตรวจสอบไม่สำเร็จ",
|
||
"noAuditEvents": "ไม่พบกิจกรรมการตรวจสอบ",
|
||
"action": "การดำเนินการ",
|
||
"actor": "นักแสดง",
|
||
"details": "รายละเอียด",
|
||
"time": "เวลา",
|
||
"fallbackChainsTitle": "โซ่สำรอง",
|
||
"fallbackChainsDesc": "กำหนดลำดับสำรองของผู้ให้บริการต่อรุ่น",
|
||
"addChain": "+ เพิ่มห่วงโซ่",
|
||
"modelName": "ชื่อรุ่น",
|
||
"modelNamePlaceholder": "คลอด-โคลง-4-20250514",
|
||
"providersCommaSeparated": "ผู้ให้บริการ (คั่นด้วยเครื่องหมายจุลภาค เรียงตามลำดับความสำคัญ)",
|
||
"providersCommaSeparatedPlaceholder": "มานุษยวิทยา openai ราศีเมถุน",
|
||
"createChain": "สร้างเชน",
|
||
"noFallbackChains": "ไม่มีโซ่ทางเลือก",
|
||
"noFallbackChainsDesc": "สร้างห่วงโซ่เพื่อกำหนดลำดับทางเลือกของผู้ให้บริการสำหรับโมเดล",
|
||
"loadingFallbackChains": "กำลังโหลดเชนสำรอง...",
|
||
"deleteChainConfirm": "ลบเชนทางเลือกสำหรับ \"{model}\" หรือไม่",
|
||
"chainCreated": "เชนที่สร้างขึ้นสำหรับ {model}",
|
||
"chainDeleted": "ลบเชนสำหรับ {model} แล้ว",
|
||
"failedCreateChain": "ไม่สามารถสร้างเชนได้",
|
||
"failedDeleteChain": "ลบเชนไม่สำเร็จ",
|
||
"deleteChain": "ลบห่วงโซ่",
|
||
"fillModelAndProviders": "กรุณากรอกชื่อรุ่นและผู้ให้บริการ",
|
||
"addAtLeastOneProvider": "เพิ่มผู้ให้บริการอย่างน้อยหนึ่งราย",
|
||
"comboDefaultsTitle": "ค่าเริ่มต้นคอมโบ",
|
||
"globalComboConfig": "การกำหนดค่าคอมโบทั่วโลก",
|
||
"defaultStrategy": "กลยุทธ์เริ่มต้น",
|
||
"defaultStrategyDesc": "นำไปใช้กับคอมโบใหม่โดยไม่มีกลยุทธ์ที่ชัดเจน",
|
||
"comboStrategyAria": "กลยุทธ์คอมโบ",
|
||
"priority": "ลำดับความสำคัญ",
|
||
"weighted": "ถ่วงน้ำหนัก",
|
||
"maxRetriesLabel": "ลองใหม่สูงสุด",
|
||
"retryDelayLabel": "ความล่าช้าในการลองอีกครั้ง (มิลลิวินาที)",
|
||
"timeoutLabel": "หมดเวลา (มิลลิวินาที)",
|
||
"healthCheck": "ตรวจสุขภาพ",
|
||
"healthCheckDesc": "ตรวจสอบความพร้อมของผู้ให้บริการล่วงหน้า",
|
||
"trackMetrics": "ติดตามตัวชี้วัด",
|
||
"trackMetricsDesc": "บันทึกเมตริกคำขอต่อคอมโบ",
|
||
"providerOverrides": "การแทนที่ผู้ให้บริการ",
|
||
"providerOverridesDesc": "แทนที่การหมดเวลาและลองใหม่ตามผู้ให้บริการ การตั้งค่าผู้ให้บริการจะแทนที่ค่าเริ่มต้นสากล",
|
||
"providerMaxRetriesAria": "{provider} ลองใหม่สูงสุด",
|
||
"providerTimeoutAria": "{provider} หมดเวลา มิลลิวินาที",
|
||
"removeProviderOverrideAria": "ลบการแทนที่ {provider} ออก",
|
||
"newProviderNamePlaceholder": "เช่น google, openai...",
|
||
"newProviderNameAria": "ชื่อผู้ให้บริการใหม่",
|
||
"retries": "ลองอีกครั้ง",
|
||
"ms": "นางสาว",
|
||
"saveComboDefaults": "บันทึกค่าเริ่มต้นคอมโบ",
|
||
"maxNestingDepth": "ความลึกของการซ้อนสูงสุด",
|
||
"concurrencyPerModel": "เห็นพ้องต้องกัน / รุ่น",
|
||
"queueTimeout": "คิวหมดเวลา (มิลลิวินาที)",
|
||
"providerProfiles": "โปรไฟล์ผู้ให้บริการ",
|
||
"providerProfilesDesc": "แยกการตั้งค่าความยืดหยุ่นสำหรับผู้ให้บริการ OAuth (ตามเซสชัน) และคีย์ API (แบบมิเตอร์) ผู้ให้บริการ OAuth มีเกณฑ์ที่เข้มงวดมากขึ้นเนื่องจากมีขีดจำกัดอัตราที่ต่ำกว่า",
|
||
"oauthProviders": "ผู้ให้บริการ OAuth",
|
||
"apiKeyProviders": "ผู้ให้บริการคีย์ API",
|
||
"transientCooldown": "คูลดาวน์ชั่วคราว",
|
||
"rateLimitCooldown": "คูลดาวน์จำกัดอัตรา",
|
||
"maxBackoffLevel": "ระดับการถอยกลับสูงสุด",
|
||
"cbThreshold": "เกณฑ์ CB",
|
||
"cbResetTime": "เวลารีเซ็ต CB",
|
||
"rateLimiting": "การจำกัดอัตรา",
|
||
"rateLimitingDesc": "ผู้ให้บริการคีย์ API จะถูกจำกัดอัตราโดยอัตโนมัติด้วยค่าเริ่มต้นที่ปลอดภัย เรียนรู้ขีดจำกัดจากส่วนหัวการตอบกลับและปรับเปลี่ยนเมื่อเวลาผ่านไป",
|
||
"defaultSafetyNet": "เครือข่ายความปลอดภัยเริ่มต้น",
|
||
"rpm": "รอบต่อนาที",
|
||
"minGap": "มิน กาป",
|
||
"maxConcurrent": "แม็กซ์พร้อมกัน",
|
||
"activeLimiters": "ตัวจำกัดที่ใช้งานอยู่",
|
||
"noActiveLimiters": "ยังไม่มีการจำกัดอัตราที่ใช้งานอยู่",
|
||
"reservoir": "อ่างเก็บน้ำ",
|
||
"running": "วิ่ง",
|
||
"queued": "เข้าคิว",
|
||
"circuitBreakers": "เซอร์กิตเบรกเกอร์",
|
||
"breakerStateClosed": "ปิดแล้ว",
|
||
"breakerStateOpen": "เปิด",
|
||
"breakerStateHalfOpen": "ครึ่งเปิด",
|
||
"tripped": "{count} สะดุด",
|
||
"healthy": "{count} สุขภาพแข็งแรง",
|
||
"resetAll": "รีเซ็ตทั้งหมด",
|
||
"noCircuitBreakers": "ยังไม่มีเซอร์กิตเบรกเกอร์ทำงาน พวกเขาจะถูกสร้างขึ้นโดยอัตโนมัติเมื่อมีการร้องขอไหลผ่านไปป์ไลน์คำสั่งผสม",
|
||
"failures": "{count} ล้มเหลว",
|
||
"policiesLocked": "นโยบายและตัวระบุที่ถูกล็อค",
|
||
"allOperational": "ใช้งานได้ทุกระบบ — ไม่มีการล็อกหรือเบรกเกอร์สะดุด",
|
||
"loadingPolicies": "กำลังโหลดนโยบาย...",
|
||
"lockedIdentifiers": "ตัวระบุที่ถูกล็อค",
|
||
"unlockedIdentifier": "ปลดล็อคแล้ว: {identifier}",
|
||
"sinceDate": "ตั้งแต่ {date}",
|
||
"forceUnlock": "บังคับปลดล็อค",
|
||
"unlocking": "กำลังปลดล็อค...",
|
||
"failedUnlock": "ปลดล็อคไม่สำเร็จ",
|
||
"failedLoadWithStatus": "ไม่สามารถโหลด: {status}",
|
||
"failedLoadResilience": "ไม่สามารถโหลดสถานะความยืดหยุ่นได้",
|
||
"saveFailed": "บันทึกล้มเหลว",
|
||
"resetFailed": "การรีเซ็ตล้มเหลว",
|
||
"loadingResilience": "กำลังโหลดสถานะความยืดหยุ่น...",
|
||
"retry": "ลองอีกครั้ง",
|
||
"systemStorage": "ระบบและการจัดเก็บ",
|
||
"allDataLocal": "ข้อมูลทั้งหมดที่จัดเก็บไว้ในเครื่องของคุณ",
|
||
"databasePath": "เส้นทางฐานข้อมูล",
|
||
"exportDatabase": "ส่งออกฐานข้อมูล",
|
||
"exportAll": "ส่งออกทั้งหมด (.tar.gz)",
|
||
"importDatabase": "นำเข้าฐานข้อมูล",
|
||
"confirmDbImport": "ยืนยันการนำเข้าฐานข้อมูล",
|
||
"confirmDbImportDesc": "สิ่งนี้จะแทนที่ข้อมูลปัจจุบันทั้งหมดด้วยเนื้อหาจาก {file} ข้อมูลสำรองจะถูกสร้างขึ้นโดยอัตโนมัติก่อนการนำเข้า",
|
||
"yesImport": "ใช่ นำเข้า",
|
||
"lastBackup": "การสำรองข้อมูลครั้งสุดท้าย",
|
||
"noBackupYet": "ยังไม่มีการสำรองข้อมูล",
|
||
"backupNow": "สำรองข้อมูลทันที",
|
||
"backupRestore": "สำรองและกู้คืน",
|
||
"viewBackups": "ดูข้อมูลสำรอง",
|
||
"hide": "ซ่อน",
|
||
"backupRetentionDesc": "สแน็ปช็อตฐานข้อมูลจะถูกสร้างขึ้นโดยอัตโนมัติก่อนการกู้คืนและทุกๆ 15 นาทีเมื่อข้อมูลเปลี่ยนแปลง การเก็บรักษา: การสำรองข้อมูล 24 ชั่วโมง + 30 รายวันพร้อมการหมุนเวียนอัจฉริยะ",
|
||
"loadingBackups": "กำลังโหลดข้อมูลสำรอง...",
|
||
"noBackupsYet": "ยังไม่มีข้อมูลสำรอง การสำรองข้อมูลจะถูกสร้างขึ้นโดยอัตโนมัติเมื่อข้อมูลมีการเปลี่ยนแปลง",
|
||
"backupsAvailable": "{count} มีการสำรองข้อมูลแล้ว",
|
||
"refresh": "รีเฟรช",
|
||
"confirm": "ยืนยัน?",
|
||
"yes": "ใช่",
|
||
"no": "ไม่",
|
||
"restore": "คืนค่า",
|
||
"invalidFileType": "ประเภทไฟล์ไม่ถูกต้อง ยอมรับเฉพาะไฟล์ .sqlite เท่านั้น",
|
||
"exportFailed": "การส่งออกล้มเหลว",
|
||
"exportFailedWithError": "การส่งออกล้มเหลว: {error}",
|
||
"fullExportFailedWithError": "การส่งออกแบบเต็มล้มเหลว: {error}",
|
||
"backupCreated": "สร้างข้อมูลสำรองแล้ว: {file}",
|
||
"restoreSuccess": "ฟื้นแล้ว! การเชื่อมต่อ {connections}, โหนด {nodes}, คอมโบ {combos}, คีย์ {apiKeys} API",
|
||
"importSuccess": "นำเข้าฐานข้อมูลแล้ว! การเชื่อมต่อ {connections}, โหนด {nodes}, คอมโบ {combos}, คีย์ {apiKeys} API",
|
||
"justNow": "แค่ตอนนี้",
|
||
"minutesAgo": "{count}นาทีที่แล้ว",
|
||
"hoursAgo": "{count}ชม. ที่แล้ว",
|
||
"daysAgo": "{count}d ที่แล้ว",
|
||
"backupReasonManual": "คู่มือ",
|
||
"backupReasonPreRestore": "คืนค่าล่วงหน้า",
|
||
"connectionsCount": "{count, plural, one {# connection} other {# connections}}",
|
||
"noChangesSinceBackup": "ไม่มีการเปลี่ยนแปลงตั้งแต่การสำรองข้อมูลครั้งล่าสุด",
|
||
"backupFailed": "การสำรองข้อมูลล้มเหลว",
|
||
"restoreFailed": "การคืนค่าล้มเหลว",
|
||
"importFailed": "การนำเข้าล้มเหลว",
|
||
"errorDuringRestore": "เกิดข้อผิดพลาดระหว่างการคืนค่า",
|
||
"errorDuringImport": "เกิดข้อผิดพลาดระหว่างการนำเข้า",
|
||
"modelPricing": "ราคารุ่น",
|
||
"modelPricingDesc": "กำหนดอัตราต้นทุนต่อรุ่น • อัตราทั้งหมดในโทเค็น $/1M",
|
||
"providers": "ผู้ให้บริการ",
|
||
"registry": "ทะเบียน",
|
||
"priced": "ราคา",
|
||
"searchProvidersModels": "ค้นหาผู้ให้บริการหรือรุ่น...",
|
||
"showAll": "แสดงทั้งหมด",
|
||
"noProvidersMatch": "ไม่มีผู้ให้บริการที่ตรงกับการค้นหาของคุณ",
|
||
"howPricingWorks": "วิธีการทำงานของการกำหนดราคา",
|
||
"cacheWrite": "แคชเขียน",
|
||
"unsaved": "ไม่ได้บันทึก",
|
||
"resetDefaults": "รีเซ็ตค่าเริ่มต้น",
|
||
"saveProvider": "บันทึกผู้ให้บริการ",
|
||
"saving": "กำลังบันทึก...",
|
||
"model": "รุ่น",
|
||
"models": "โมเดล",
|
||
"moreProviders": "{count} ผู้ให้บริการเพิ่มเติม",
|
||
"withPricing": "โดยมีการกำหนดราคาไว้",
|
||
"policiesCircuitBreakers": "นโยบายและเซอร์กิตเบรกเกอร์",
|
||
"activeIssuesDetected": "ตรวจพบปัญหาที่ทำงานอยู่",
|
||
"off": "ปิด",
|
||
"resetPricingConfirm": "รีเซ็ตราคาทั้งหมดสำหรับ {provider} เป็นค่าเริ่มต้นหรือไม่",
|
||
"pricingDescInput": "อินพุต: โทเค็นที่ส่งไปยังโมเดล",
|
||
"pricingDescOutput": "เอาท์พุต: โทเค็นที่สร้างขึ้น",
|
||
"pricingDescCached": "แคช: อินพุตที่นำกลับมาใช้ใหม่ (~ 50% ของอัตราการอินพุต)",
|
||
"pricingDescReasoning": "การใช้เหตุผล: โทเค็นการคิด (ถอยกลับไปที่เอาต์พุต)",
|
||
"pricingDescCacheWrite": "การเขียนแคช: การสร้างรายการแคช (ถอยกลับไปที่อินพุต)",
|
||
"pricingDescFormula": "ราคา = (input × input_rate) + (output × output_rate) + (cached × cached_rate) ต่อล้านโทเค็น",
|
||
"pricingSettingsTitle": "การตั้งค่าราคา",
|
||
"totalModels": "โมเดลทั้งหมด",
|
||
"active": "ใช้งานอยู่",
|
||
"costCalculation": "การคำนวณต้นทุน",
|
||
"costCalculationDesc": "ต้นทุนจะคำนวณตามการใช้โทเค็นและอัตราราคาที่กำหนดค่าไว้สำหรับแต่ละรุ่น",
|
||
"pricingFormat": "รูปแบบการตั้งราคา",
|
||
"pricingFormatDesc": "อัตราทั้งหมดอยู่ในโทเค็น $/1M (ดอลลาร์ต่อโทเค็นหนึ่งล้าน)",
|
||
"tokenTypes": "ประเภทโทเค็น",
|
||
"inputTokenDesc": "โทเค็นพร้อมท์มาตรฐาน",
|
||
"outputTokenDesc": "โทเค็นการเสร็จสิ้น/การตอบกลับ",
|
||
"cachedTokenDesc": "โทเค็นอินพุตที่แคชไว้ (โดยทั่วไปคือ 50% ของอัตราการอินพุต)",
|
||
"reasoningTokenDesc": "โทเค็นการใช้เหตุผล/การคิดพิเศษ (ทางเลือกกลับไปยังอัตราผลลัพธ์)",
|
||
"cacheCreationTokenDesc": "โทเค็นที่ใช้ในการสร้างรายการแคช (สำรองไปยังอัตราการป้อนข้อมูล)",
|
||
"customPricingNote": "คุณสามารถแทนที่ราคาเริ่มต้นสำหรับรุ่นเฉพาะได้ การแทนที่แบบกำหนดเองจะมีลำดับความสำคัญมากกว่าการกำหนดราคาที่ตรวจพบอัตโนมัติ",
|
||
"editPricing": "แก้ไขราคา",
|
||
"viewFullDetails": "ดูรายละเอียดทั้งหมด"
|
||
},
|
||
"translator": {
|
||
"title": "นักแปล",
|
||
"metaTitle": "สนามเด็กเล่นนักแปล | OmniRoute",
|
||
"metaDescription": "ดีบัก ทดสอบ และแสดงภาพการแปลรูปแบบ API ระหว่างผู้ให้บริการ",
|
||
"playgroundTitle": "สนามเด็กเล่นนักแปล",
|
||
"playground": "สนามเด็กเล่น",
|
||
"realtime": "กิจกรรมการแปลแบบเรียลไทม์",
|
||
"chatTester": "ผู้ทดสอบการแชท",
|
||
"testBench": "ม้านั่งทดสอบ",
|
||
"liveMonitor": "การตรวจสอบสด",
|
||
"modeDescriptionPlayground": "วางเนื้อหาคำขอ API ใดๆ และดูว่า OmniRoute แปลระหว่างรูปแบบของผู้ให้บริการอย่างไร (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)",
|
||
"modeDescriptionChatTester": "ส่งคำขอแชทจริงผ่าน OmniRoute และตรวจสอบการเดินทางไปกลับทั้งหมด: อินพุต คำขอที่แปล การตอบกลับของผู้ให้บริการ และเอาต์พุตที่แปล",
|
||
"modeDescriptionTestBench": "เรียกใช้สถานการณ์ที่กำหนดไว้ล่วงหน้าและเปรียบเทียบความเข้ากันได้ระหว่างผู้ให้บริการและรุ่นต่างๆ",
|
||
"modeDescriptionLiveMonitor": "ดูกิจกรรมการแปลแบบเรียลไทม์เมื่อมีคำขอไหลผ่าน OmniRoute",
|
||
"modeDescriptionFallback": "แก้ไขข้อบกพร่อง ทดสอบ และเห็นภาพว่า OmniRoute แปลคำขอ API ระหว่างผู้ให้บริการอย่างไร",
|
||
"recentTranslations": "การแปลล่าสุด",
|
||
"noTranslations": "ยังไม่มีคำแปล",
|
||
"source": "แหล่งที่มา",
|
||
"target": "เป้าหมาย",
|
||
"time": "เวลา",
|
||
"model": "รุ่น",
|
||
"status": "สถานะ",
|
||
"latency": "เวลาแฝง",
|
||
"totalTranslations": "การแปลทั้งหมด",
|
||
"successful": "ประสบความสำเร็จ",
|
||
"errors": "ข้อผิดพลาด",
|
||
"avgLatency": "เวลาแฝงเฉลี่ย",
|
||
"millisecondsShort": "{value}ms",
|
||
"notAvailableSymbol": "—",
|
||
"liveAutoRefreshing": "ถ่ายทอดสด — รีเฟรชอัตโนมัติ",
|
||
"paused": "หยุดชั่วคราว",
|
||
"eventsAppearHint": "กิจกรรมการแปลจะปรากฏที่นี่เมื่อมีการร้องขอผ่าน OmniRoute ใช้วิธีใดวิธีหนึ่งเหล่านี้เพื่อสร้างเหตุการณ์:",
|
||
"chatTesterTab": "แท็บเครื่องมือทดสอบการแชท",
|
||
"testBenchTab": "แท็บม้านั่งทดสอบ",
|
||
"externalApiCalls": "การเรียก API ภายนอก",
|
||
"ideCliIntegrations": "การบูรณาการ IDE/CLI",
|
||
"inMemoryNote": "หมายเหตุ: เหตุการณ์จะถูกจัดเก็บไว้ในหน่วยความจำและรีเซ็ตเมื่อเซิร์ฟเวอร์รีสตาร์ท",
|
||
"ok": "ตกลง",
|
||
"errorShort": "ผิดพลาด",
|
||
"formatConverter": "ตัวแปลงรูปแบบ",
|
||
"formatConverterDescription": "วางหรือพิมพ์เนื้อหาคำขอ JSON นักแปลจะตรวจจับรูปแบบต้นฉบับโดยอัตโนมัติและแปลงเป็นรูปแบบเป้าหมาย ใช้สิ่งนี้เพื่อแก้ไขวิธีที่ OmniRoute แปลคำขอระหว่างรูปแบบต่างๆ (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)",
|
||
"input": "อินพุต",
|
||
"output": "เอาท์พุต",
|
||
"auto": "อัตโนมัติ",
|
||
"swapFormats": "สลับรูปแบบ",
|
||
"translateAction": "แปล",
|
||
"clear": "ชัดเจน",
|
||
"inputPlaceholder": "วางเนื้อหาคำขอที่นี่หรือเลือกเทมเพลตด้านล่าง...",
|
||
"exampleTemplates": "เทมเพลตตัวอย่าง",
|
||
"exampleTemplatesHint": "— คลิกเพื่อโหลด",
|
||
"templateLoadHint": "เทมเพลตโหลดคำขอในรูปแบบ {format} เปลี่ยนรูปแบบต้นฉบับเพื่อโหลดในรูปแบบอื่น",
|
||
"compatibilityTester": "เครื่องทดสอบความเข้ากันได้",
|
||
"compatibilityReport": "รายงานความเข้ากันได้",
|
||
"testBenchDescription": "เรียกใช้สถานการณ์ที่กำหนดไว้ล่วงหน้า (Simple Chat, Tool Calling ฯลฯ) เพื่อตรวจสอบการแปลและความเข้ากันได้ของผู้ให้บริการ เลือกรูปแบบต้นทางและผู้ให้บริการเป้าหมาย จากนั้นทำการทดสอบทั้งหมดเพื่อดูเปอร์เซ็นต์ความเข้ากันได้ ใช้สิ่งนี้เพื่อค้นหาฟีเจอร์ที่ใช้ได้กับผู้ให้บริการ",
|
||
"targetProvider": "ผู้ให้บริการเป้าหมาย",
|
||
"runAllTests": "เรียกใช้การทดสอบทั้งหมด",
|
||
"runTest": "รันการทดสอบ",
|
||
"reRun": "วิ่งอีกครั้ง",
|
||
"running": "กำลังวิ่ง...",
|
||
"passed": "ผ่านไป",
|
||
"failed": "ล้มเหลว",
|
||
"passedIconLabel": "✅ผ่าน",
|
||
"chunks": "ชิ้น",
|
||
"scenarioSimpleChat": "แชทง่ายๆ",
|
||
"scenarioToolCalling": "การเรียกเครื่องมือ",
|
||
"scenarioMultiTurn": "หลายเลี้ยว",
|
||
"scenarioThinking": "กำลังคิด",
|
||
"scenarioSystemPrompt": "พร้อมท์ระบบ",
|
||
"scenarioStreaming": "สตรีมมิ่ง",
|
||
"templateNames": {
|
||
"simple-chat": "แชทง่ายๆ",
|
||
"tool-calling": "การเรียกเครื่องมือ",
|
||
"multi-turn": "หลายเลี้ยว",
|
||
"thinking": "กำลังคิด",
|
||
"system-prompt": "พร้อมท์ระบบ",
|
||
"streaming": "สตรีมมิ่ง"
|
||
},
|
||
"templateDescriptions": {
|
||
"simple-chat": "ข้อความพื้นฐาน",
|
||
"tool-calling": "การเรียกใช้ฟังก์ชัน/เครื่องมือ",
|
||
"multi-turn": "การสนทนากับประวัติศาสตร์",
|
||
"thinking": "ขยายการคิด/การใช้เหตุผล",
|
||
"system-prompt": "คำแนะนำระบบที่ซับซ้อน",
|
||
"streaming": "คำขอสตรีม SSE"
|
||
},
|
||
"templatePayloads": {
|
||
"simpleChat": {
|
||
"system": "คุณเป็นผู้ช่วยที่เป็นประโยชน์",
|
||
"userGreeting": "สวัสดี! วันนี้คุณเป็นอย่างไรบ้าง?"
|
||
},
|
||
"toolCalling": {
|
||
"userWeather": "สภาพอากาศในเซาเปาโลเป็นอย่างไร?",
|
||
"toolDescription": "รับสภาพอากาศปัจจุบันสำหรับสถานที่",
|
||
"cityNameDescription": "ชื่อเมือง"
|
||
},
|
||
"multiTurn": {
|
||
"system": "คุณเป็นผู้ช่วยเขียนโค้ด",
|
||
"userInitial": "เขียนฟังก์ชันเพื่อจัดเรียงอาร์เรย์ใน Python",
|
||
"assistantExample": "ต่อไปนี้เป็นฟังก์ชันการเรียงลำดับอย่างง่าย:\n\n```หลาม\ndef sort_array(arr):\n กลับเรียงลำดับ(arr)\n```",
|
||
"userFollowUp": "ตอนนี้ให้เรียงลำดับจากมากไปน้อย"
|
||
},
|
||
"thinking": {
|
||
"question": "ผลรวมของจำนวนเฉพาะ 100 ตัวแรกเป็นเท่าใด?"
|
||
},
|
||
"systemPrompt": {
|
||
"systemInstruction": "คุณเป็นวิศวกรซอฟต์แวร์อาวุโสที่เชี่ยวชาญด้านระบบแบบกระจาย ตอบคำถามอย่างกระชับโดยใช้แนวทางปฏิบัติที่ดีที่สุดในอุตสาหกรรม ให้ตัวอย่างโค้ดเสมอเมื่อเกี่ยวข้อง จัดรูปแบบคำตอบของคุณโดยใช้มาร์กดาวน์",
|
||
"question": "ฉันจะใช้รูปแบบเซอร์กิตเบรกเกอร์ได้อย่างไร"
|
||
},
|
||
"streaming": {
|
||
"prompt": "เล่าเรื่องสั้นเกี่ยวกับหุ่นยนต์ที่หัดวาดภาพให้ฉันฟังหน่อย"
|
||
}
|
||
},
|
||
"openaiCompatibleLabel": "รองรับ OpenAI",
|
||
"anthropicCompatibleLabel": "เข้ากันได้กับมานุษยวิทยา",
|
||
"noTemplateForFormat": "ไม่มีเทมเพลตสำหรับรูปแบบนี้",
|
||
"translationFailed": "การแปลล้มเหลว: {error}",
|
||
"pipelineDebugger": "ไปป์ไลน์ดีบักเกอร์",
|
||
"translationPipeline": "ไปป์ไลน์การแปล",
|
||
"pipelineVisualization": "การแสดงภาพไปป์ไลน์",
|
||
"pipelineVisualizationHint": "ส่งข้อความเพื่อดูว่าคำขอของคุณดำเนินการผ่านการตรวจหา → การแปล → การโทรของผู้ให้บริการอย่างไร",
|
||
"chatTesterDescription": "ส่งข้อความเป็นรูปแบบไคลเอนต์เฉพาะและตรวจสอบแต่ละขั้นตอนของไปป์ไลน์การแปล",
|
||
"chatTesterFlow": "คำขอของลูกค้า → การตรวจจับรูปแบบ → OpenAI Intermediate → รูปแบบผู้ให้บริการ → การตอบสนอง",
|
||
"clickStepToInspect": "คลิกขั้นตอนใดก็ได้เพื่อตรวจสอบข้อมูลในขั้นตอนนั้น",
|
||
"clientFormat": "รูปแบบไคลเอนต์",
|
||
"provider": "ผู้ให้บริการ",
|
||
"modelPlaceholder": "เลือกหรือพิมพ์ชื่อรุ่น...",
|
||
"sendMessageToSeePipeline": "ส่งข้อความเพื่อดูไปป์ไลน์การแปล",
|
||
"chatMessageHintPrefix": "ข้อความของคุณจะถูกจัดรูปแบบเป็น",
|
||
"chatMessageHintSuffix": "คำขอ แปลผ่านไปป์ไลน์ และส่งไปยังผู้ให้บริการที่เลือก",
|
||
"youWithFormat": "คุณ ({format})",
|
||
"assistant": "ผู้ช่วย",
|
||
"typeMessage": "พิมพ์ข้อความ...",
|
||
"send": "ส่ง",
|
||
"clientRequest": "คำขอของลูกค้า",
|
||
"clientRequestDescription": "เนื้อหาคำขอตามที่ลูกค้าของคุณจะส่ง",
|
||
"formatDetected": "ตรวจพบรูปแบบ",
|
||
"formatDetectedDescription": "OmniRoute ตรวจจับรูปแบบ API จากโครงสร้างคำขอโดยอัตโนมัติ",
|
||
"openaiIntermediate": "OpenAI ระดับกลาง",
|
||
"openaiIntermediateDescription": "รูปแบบทั้งหมดจะถูกทำให้เป็นมาตรฐานเป็นรูปแบบ OpenAI ก่อน (สะพานสากล)",
|
||
"providerFormat": "รูปแบบผู้ให้บริการ",
|
||
"providerFormatDescription": "รูปแบบ OpenAI ได้รับการแปลเป็นรูปแบบดั้งเดิมของผู้ให้บริการ",
|
||
"providerResponse": "การตอบสนองของผู้ให้บริการ",
|
||
"providerResponseRawDescription": "การตอบสนองดิบจาก API ของผู้ให้บริการ",
|
||
"providerResponseSseDescription": "สตรีม SSE แบบดิบจาก API ของผู้ให้บริการ",
|
||
"unexpectedError": "เกิดข้อผิดพลาดที่ไม่คาดคิด",
|
||
"error": "เกิดข้อผิดพลาด",
|
||
"errorMessage": "ข้อผิดพลาด: {message}",
|
||
"requestFailed": "คำขอล้มเหลว",
|
||
"noTextExtracted": "(ไม่มีการแยกข้อความ)",
|
||
"liveMonitorDescriptionPrefix": "แสดงเหตุการณ์การแปลเมื่อมีการเรียก API ไหลผ่าน OmniRoute เหตุการณ์มาจากบัฟเฟอร์ในหน่วยความจำ (รีเซ็ตเมื่อรีสตาร์ท) ใช้",
|
||
"liveMonitorDescriptionSuffix": "หรือการเรียก API ภายนอกเพื่อสร้างเหตุการณ์"
|
||
},
|
||
"usage": {
|
||
"title": "การใช้งาน",
|
||
"loggerTab": "คนตัดไม้",
|
||
"proxyTab": "หนังสือมอบฉันทะ",
|
||
"budgetManagement": "การจัดการงบประมาณ",
|
||
"budgetSaved": "บันทึกขีดจำกัดงบประมาณแล้ว",
|
||
"budgetSaveFailed": "ไม่สามารถบันทึกงบประมาณได้",
|
||
"loadingBudgetData": "กำลังโหลดข้อมูลงบประมาณ...",
|
||
"noApiKeysTitle": "ไม่มีคีย์ API",
|
||
"noApiKeysDescription": "เพิ่มคีย์ API ก่อนเพื่อตั้งค่าขีดจำกัดงบประมาณ",
|
||
"apiKey": "คีย์ API",
|
||
"todaysSpend": "การใช้จ่ายวันนี้",
|
||
"thisMonth": "เดือนนี้",
|
||
"setLimits": "ตั้งค่าขีดจำกัด",
|
||
"dailyLimitUsd": "ขีดจำกัดรายวัน (USD)",
|
||
"monthlyLimitUsd": "ขีดจำกัดรายเดือน (USD)",
|
||
"warningThresholdPercent": "เกณฑ์การเตือน (%)",
|
||
"dailyLimitPlaceholder": "เช่น 5.00 น",
|
||
"monthlyLimitPlaceholder": "เช่น 50.00 น",
|
||
"warningThresholdPlaceholder": "80",
|
||
"saveLimits": "บันทึกขีดจำกัด",
|
||
"budgetOk": "งบประมาณตกลง — เหลือ {remaining}",
|
||
"budgetExceeded": "เกินงบประมาณ — คำขออาจถูกบล็อก",
|
||
"totalRequests": "คำขอทั้งหมด",
|
||
"noDataYet": "ยังไม่มีข้อมูล",
|
||
"latency": "เวลาแฝง",
|
||
"latencyP50": "หน้า 50",
|
||
"latencyP95": "หน้า 95",
|
||
"latencyP99": "หน้า 99",
|
||
"promptCache": "แคชพร้อมท์",
|
||
"systemHealth": "สุขภาพของระบบ",
|
||
"entries": "รายการ",
|
||
"activeCount": "{count} ใช้งานอยู่",
|
||
"openCircuitBreakersDetected": "ตรวจพบเบรกเกอร์วงจรเปิด",
|
||
"hitRate": "อัตราการเข้าชม",
|
||
"hitsMisses": "ฮิต / พลาด",
|
||
"circuitBreakers": "เซอร์กิตเบรกเกอร์",
|
||
"lockedIPs": "IP ที่ถูกล็อค",
|
||
"lockoutsAutoRefreshHint": "การล็อคขีดจำกัดอัตราต่อรุ่น • รีเฟรชอัตโนมัติ 10 วินาที",
|
||
"lockedCount": "{count, plural, one {# locked} other {# locked}}",
|
||
"timeLeft": "{time} เหลือแล้ว",
|
||
"howItWorks": "มันทำงานอย่างไร",
|
||
"howItWorksSubtitle": "เรียนรู้ว่าการประเมินผลตรวจสอบการตอบสนอง LLM ของคุณอย่างไร",
|
||
"define": "กำหนด",
|
||
"defineStepDescription": "สร้างกรณีทดสอบพร้อมข้อความแจ้งอินพุตและเกณฑ์ผลลัพธ์ที่คาดหวังโดยใช้กลยุทธ์ เช่น ประกอบด้วย regex หรือการจับคู่แบบตรงทั้งหมด",
|
||
"run": "วิ่ง",
|
||
"runStepDescription": "ดำเนินการกรณีทดสอบกับตำแหน่งข้อมูล LLM ของคุณผ่าน OmniRoute แต่ละกรณีจะถูกส่งเป็นคำขอ API จริง",
|
||
"evaluate": "ประเมินผล",
|
||
"evaluateStepDescription": "คำตอบจะถูกเปรียบเทียบกับเกณฑ์ที่คาดหวัง ดูผ่าน/ไม่ผ่านสำหรับแต่ละกรณีพร้อมตัววัดเวลาแฝงและข้อเสนอแนะโดยละเอียด",
|
||
"evalSuites": "ห้องประเมินผล",
|
||
"evalSuitesHint": "คลิกชุดเพื่อดูกรณีทดสอบ จากนั้นเรียกใช้เพื่อประเมินตำแหน่งข้อมูล LLM ของคุณ",
|
||
"evalsLoading": "กำลังโหลดห้องสวีท eval...",
|
||
"noEvalSuitesFound": "ไม่พบห้องสวีท Eval",
|
||
"noEvalSuitesDescription": "ชุด Eval สามารถกำหนดได้ผ่าน API หรือในโค้ด พวกเขาทดสอบผลลัพธ์ของโมเดลกับผลลัพธ์ที่คาดหวังโดยใช้กลยุทธ์ต่างๆ เช่น ประกอบด้วย regex การจับคู่แบบตรงทั้งหมด และฟังก์ชันที่กำหนดเอง",
|
||
"columnCase": "กรณี",
|
||
"columnStatus": "สถานะ",
|
||
"columnLatency": "เวลาแฝง",
|
||
"columnDetails": "รายละเอียด",
|
||
"columnModel": "รุ่น",
|
||
"columnStrategy": "กลยุทธ์",
|
||
"columnExpected": "คาดว่า",
|
||
"statsSuites": "ห้องสวีท",
|
||
"statsTestCases": "กรณีทดสอบ",
|
||
"statsModels": "โมเดล",
|
||
"statsCoverage": "ความคุ้มครอง",
|
||
"statsStrategiesCount": "{count} กลยุทธ์",
|
||
"evaluationStrategies": "กลยุทธ์การประเมินผล",
|
||
"modelsUnderTest": "รุ่นภายใต้การทดสอบ",
|
||
"searchSuitesPlaceholder": "ค้นหาห้องชุด...",
|
||
"passSuffix": "ผ่าน",
|
||
"casesCount": "{count, plural, one {# case} other {# cases}}",
|
||
"runEval": "วิ่งเอวาล",
|
||
"runningProgress": "กำลังรัน {current}/{total}...",
|
||
"passRate": "อัตราการผ่าน",
|
||
"summaryBreakdown": "{passed} ผ่านไป · {failed} ล้มเหลว · รวม {total}",
|
||
"passedIconLabel": "✅ผ่าน",
|
||
"failedIconLabel": "❌ล้มเหลว",
|
||
"detailsContains": "ประกอบด้วย: \"{term}\"",
|
||
"detailsRegex": "Regex: {pattern}",
|
||
"detailsExpected": "ต้องการ: \"{expected}\"",
|
||
"noResultsYet": "ยังไม่มีผลลัพธ์",
|
||
"testCasesCount": "กรณีทดสอบ ({count})",
|
||
"noTestCasesDefined": "ไม่มีการกำหนดกรณีทดสอบ",
|
||
"runEvalHint": "คลิก \"เรียกใช้การประเมิน\" เพื่อดำเนินการทุกกรณีกับตำแหน่งข้อมูล LLM ของคุณ การทดสอบแต่ละครั้งจะส่งคำขอจริงผ่าน OmniRoute",
|
||
"notifyNoTestCases": "ไม่มีกรณีทดสอบที่กำหนดไว้สำหรับชุดนี้",
|
||
"notifyAllCasesPassed": "{total} เคสทั้งหมดผ่าน ✅",
|
||
"notifySomeCasesFailed": "{passed}/{total} ผ่านไป {failed} ล้มเหลว",
|
||
"notifyEvalRunFailed": "การเรียกใช้การประเมินล้มเหลว",
|
||
"notifyEvalTitle": "คะแนน: {name}",
|
||
"modelEvals": "การประเมินแบบจำลอง",
|
||
"evalsHeroDescription": "ทดสอบและตรวจสอบตำแหน่งข้อมูล LLM ของคุณโดยเรียกใช้ชุดการประเมินที่กำหนดไว้ล่วงหน้า แต่ละชุดมีกรณีทดสอบที่ส่งข้อความแจ้งจริงผ่าน OmniRoute และเปรียบเทียบการตอบสนองกับเกณฑ์ที่คาดหวัง — ช่วยให้คุณตรวจจับการถดถอย เปรียบเทียบแบบจำลอง และรับประกันคุณภาพการตอบสนองระหว่างผู้ให้บริการ",
|
||
"qualityValidation": "การตรวจสอบคุณภาพ",
|
||
"modelComparison": "การเปรียบเทียบแบบจำลอง",
|
||
"regressionDetection": "การตรวจจับการถดถอย",
|
||
"latencyBenchmarks": "เกณฑ์มาตรฐานความหน่วง",
|
||
"modelLockouts": "การล็อคโมเดล",
|
||
"noLockouts": "ไม่มีโมเดลที่ถูกล็อคอยู่ในขณะนี้",
|
||
"activeSessions": "เซสชันที่ใช้งานอยู่",
|
||
"noSessions": "ไม่มีเซสชันที่ใช้งานอยู่",
|
||
"sessionsHint": "เซสชันปรากฏเป็นคำขอที่ไหลผ่านพร็อกซี",
|
||
"sessionsTrackedHint": "ติดตามผ่านการร้องขอลายนิ้วมือ • รีเฟรชอัตโนมัติ 5 วินาที",
|
||
"session": "เซสชัน",
|
||
"age": "อายุ",
|
||
"requests": "คำขอ",
|
||
"connection": "การเชื่อมต่อ",
|
||
"durationMillisecondsShort": "{value}ms",
|
||
"durationSecondsShort": "{value}วินาที",
|
||
"durationMinutesShort": "{value}ม",
|
||
"durationHoursShort": "{value}ชม",
|
||
"reasonSeparator": " - ",
|
||
"notAvailableSymbol": "-",
|
||
"providerLimits": "ข้อจำกัดของผู้ให้บริการ",
|
||
"noProviders": "ไม่มีผู้ให้บริการที่เชื่อมต่อ",
|
||
"connectProvidersForQuota": "เชื่อมต่อกับผู้ให้บริการด้วย OAuth เพื่อติดตามขีดจำกัดโควต้า API และการใช้งานของคุณ",
|
||
"accountsCount": "{count, plural, one {# account} other {# accounts}}",
|
||
"filteredFromCount": "(กรองจาก {count})",
|
||
"autoRefresh": "รีเฟรชอัตโนมัติ",
|
||
"refreshAll": "รีเฟรชทั้งหมด",
|
||
"loadingQuotas": "กำลังโหลด...",
|
||
"account": "บัญชี",
|
||
"modelQuotas": "โควต้าโมเดล",
|
||
"lastUsed": "ใช้ล่าสุด",
|
||
"actions": "การดำเนินการ",
|
||
"refreshQuota": "รีเฟรชโควต้า",
|
||
"today": "วันนี้",
|
||
"tomorrow": "พรุ่งนี้",
|
||
"dayTimeFormat": "{day}, {time}",
|
||
"inDuration": "ใน {duration}",
|
||
"notApplicable": "ไม่มี",
|
||
"rawPlanWithValue": "แผนดิบ: {plan}",
|
||
"noPlanFromProvider": "ไม่มีแผนจากผู้ให้บริการ",
|
||
"noQuotaData": "ไม่มีข้อมูลโควต้า",
|
||
"noQuotaDataAvailable": "ไม่มีข้อมูลโควต้า",
|
||
"noAccountsForTierFilter": "ไม่พบบัญชีสำหรับตัวกรองระดับ",
|
||
"tierAll": "ทั้งหมด",
|
||
"tierEnterprise": "องค์กร",
|
||
"tierTeam": "ทีม",
|
||
"tierBusiness": "ธุรกิจ",
|
||
"tierUltra": "อัลตร้า",
|
||
"tierPro": "โปร",
|
||
"tierPlus": "บวก",
|
||
"tierFree": "ฟรี",
|
||
"tierUnknown": "ไม่ทราบ"
|
||
},
|
||
"modals": {
|
||
"waitingAuth": "รอการอนุญาต",
|
||
"verificationUrl": "URL การยืนยัน",
|
||
"yourCode": "รหัสของคุณ",
|
||
"remoteAccess": "การเข้าถึงระยะไกล:",
|
||
"connectedSuccess": "เชื่อมต่อสำเร็จ!",
|
||
"connectionFailed": "การเชื่อมต่อล้มเหลว",
|
||
"chooseAuthMethod": "เลือกวิธีการรับรองความถูกต้องของคุณ:",
|
||
"awsBuilderId": "รหัสตัวสร้าง AWS",
|
||
"awsIamIdentity": "ศูนย์ข้อมูลประจำตัว AWS IAM",
|
||
"googleAccount": "บัญชี Google",
|
||
"githubAccount": "บัญชี GitHub",
|
||
"importToken": "นำเข้าโทเค็น",
|
||
"pasteToken": "วางโทเค็นการรีเฟรชจาก Kiro IDE",
|
||
"awsRegion": "ภูมิภาค AWS",
|
||
"autoDetecting": "กำลังตรวจจับโทเค็นอัตโนมัติ...",
|
||
"readingFromCache": "อ่านจากแคช AWS SSO",
|
||
"readingFromCursor": "อ่านจากฐานข้อมูล Cursor IDE",
|
||
"initializing": "กำลังเริ่มต้น...",
|
||
"pricingConfig": "การกำหนดค่าราคา",
|
||
"loadingPricing": "กำลังโหลดข้อมูลราคา...",
|
||
"pricingRatesFormat": "รูปแบบอัตราราคา",
|
||
"noPricingData": "ไม่มีข้อมูลราคา",
|
||
"noModelsFound": "ไม่พบรุ่น"
|
||
},
|
||
"loggers": {
|
||
"allProviders": "ผู้ให้บริการทั้งหมด",
|
||
"allModels": "ทุกรุ่น",
|
||
"allAccounts": "บัญชีทั้งหมด",
|
||
"allApiKeys": "คีย์ API ทั้งหมด",
|
||
"allTypes": "ทุกประเภท",
|
||
"allLevels": "ทุกระดับ",
|
||
"modelAZ": "รุ่น A-Z",
|
||
"modelZA": "รุ่น Z-A",
|
||
"loadingLogs": "กำลังโหลดบันทึก...",
|
||
"loadingProxyLogs": "กำลังโหลดบันทึกพร็อกซี...",
|
||
"noLogEntries": "ไม่พบรายการบันทึก",
|
||
"noPayloadData": "ไม่มีข้อมูลเพย์โหลดสำหรับรายการบันทึกนี้",
|
||
"proxyEvent": "เหตุการณ์พร็อกซี",
|
||
"proxy": "หนังสือมอบฉันทะ",
|
||
"level": "ระดับ",
|
||
"directNative": "โดยตรง (เนทีฟ)",
|
||
"combo": "คอมโบ",
|
||
"inputTokens": "ฉัน:",
|
||
"outputTokens": "โอ้:"
|
||
},
|
||
"stats": {
|
||
"usageOverview": "ภาพรวมการใช้งาน",
|
||
"outputTokens": "โทเค็นเอาท์พุต",
|
||
"totalCost": "ต้นทุนรวม",
|
||
"usageByModel": "การใช้งานตามรุ่น",
|
||
"usageByAccount": "การใช้งานตามบัญชี",
|
||
"failedToLoad": "โหลดสถิติการใช้งานไม่สำเร็จ",
|
||
"tokenHealth": "โทเค็นสุขภาพ",
|
||
"totalOAuth": "OAuth ทั้งหมด",
|
||
"healthy": "ดีต่อสุขภาพ",
|
||
"warning": "คำเตือน",
|
||
"errored": "เกิดข้อผิดพลาด",
|
||
"lastCheck": "ตรวจสอบครั้งสุดท้าย",
|
||
"noData": "ไม่มีข้อมูล",
|
||
"share": "แบ่งปัน",
|
||
"unableToLoad": "ไม่สามารถโหลดเมตริกของระบบได้",
|
||
"product": "สินค้า",
|
||
"resources": "ทรัพยากร",
|
||
"company": "บริษัท"
|
||
},
|
||
"auth": {
|
||
"welcome": "ยินดีต้อนรับ",
|
||
"signIn": "เข้าสู่ระบบ",
|
||
"enterPassword": "ป้อนรหัสผ่านของคุณเพื่อดำเนินการต่อ",
|
||
"password": "รหัสผ่าน",
|
||
"unifiedProxy": "พร็อกซี AI API แบบรวม",
|
||
"unifiedAiApiProxy": "พร็อกซี AI API แบบรวม",
|
||
"unifiedAiApiProxyDesc": "กำหนดเส้นทางคำขอไปยังผู้ให้บริการ AI หลายรายผ่านจุดสิ้นสุดเดียว โหลดบาลานซ์ การเฟลโอเวอร์ และการติดตามการใช้งานในตัว",
|
||
"passwordNotEnabled": "ไม่ได้เปิดใช้งานการป้องกันด้วยรหัสผ่าน",
|
||
"loading": "กำลังโหลด...",
|
||
"invalidPassword": "รหัสผ่านไม่ถูกต้อง",
|
||
"errorOccurredRetry": "เกิดข้อผิดพลาด โปรดลองอีกครั้ง",
|
||
"configureInstance": "มากำหนดค่าอินสแตนซ์ OmniRoute ของคุณกันดีกว่า",
|
||
"runOnboardingWizard": "เรียกใช้ตัวช่วยสร้างการเริ่มต้นใช้งานเพื่อตั้งค่ารหัสผ่านของคุณและเชื่อมต่อกับผู้ให้บริการ AI รายแรกของคุณ",
|
||
"startOnboarding": "เริ่มการเริ่มต้นใช้งาน",
|
||
"secureYourInstance": "รักษาความปลอดภัยให้กับอินสแตนซ์ของคุณ",
|
||
"setPasswordDescription": "ตั้งรหัสผ่านเพื่อปกป้องแดชบอร์ดของคุณและรักษาความปลอดภัยจุดสิ้นสุด API ของคุณจากการเข้าถึงที่ไม่ได้รับอนุญาต",
|
||
"configurePassword": "กำหนดค่ารหัสผ่าน",
|
||
"continue": "ดำเนินการต่อ",
|
||
"windowWillClose": "หน้าต่างนี้จะปิดโดยอัตโนมัติ...",
|
||
"closeTabNow": "คุณสามารถปิดแท็บนี้ได้ทันที",
|
||
"copyUrlManual": "โปรดคัดลอก URL จากแถบที่อยู่และวางลงในแอปพลิเคชัน",
|
||
"accessDeniedDescription": "คุณไม่ได้รับอนุญาตให้เข้าถึงทรัพยากรนี้ ตรวจสอบคีย์ API ของคุณหรือติดต่อผู้ดูแลระบบ",
|
||
"goToDashboard": "ไปที่แดชบอร์ด",
|
||
"featureMultiProviderTitle": "ผู้ให้บริการหลายราย",
|
||
"featureMultiProviderDesc": "OpenAI, มานุษยวิทยา, Google และอื่นๆ",
|
||
"featureLoadBalancingTitle": "โหลดบาลานซ์",
|
||
"featureLoadBalancingDesc": "กระจายคำขออย่างชาญฉลาด",
|
||
"featureUsageTrackingTitle": "การติดตามการใช้งาน",
|
||
"featureUsageTrackingDesc": "ตรวจสอบต้นทุนและโทเค็น",
|
||
"resetPassword": "รีเซ็ตรหัสผ่าน",
|
||
"resetDescription": "เลือกวิธีในการกู้คืนการเข้าถึงแดชบอร์ดของคุณ",
|
||
"stopServer": "หยุดเซิร์ฟเวอร์ OmniRoute",
|
||
"processing": "กำลังประมวลผล...",
|
||
"pleaseWait": "โปรดรอในขณะที่เราดำเนินการอนุมัติให้เสร็จสิ้น",
|
||
"authSuccess": "การอนุญาตสำเร็จ!",
|
||
"copyUrl": "คัดลอก URL นี้",
|
||
"accessDenied": "การเข้าถึงถูกปฏิเสธ",
|
||
"methodCliTitle": "วิธีที่ 1: รีเซ็ต CLI",
|
||
"methodCliDescription": "รันคำสั่งต่อไปนี้บนเซิร์ฟเวอร์ที่ OmniRoute กำลังทำงานอยู่:",
|
||
"methodCliHint": "สิ่งนี้จะแจ้งให้คุณตั้งรหัสผ่านใหม่ เซิร์ฟเวอร์จะต้องถูกหยุดก่อน",
|
||
"methodManualTitle": "วิธีที่ 2: รีเซ็ตด้วยตนเอง",
|
||
"methodManualDescription": "ลบรหัสผ่านออกจากฐานข้อมูลและตั้งรหัสผ่านใหม่เมื่อเริ่มต้นระบบ:",
|
||
"setPasswordInYour": "ตั้งรหัสผ่านใหม่ในของคุณ",
|
||
"fileLabelSuffix": "ไฟล์:",
|
||
"newPasswordPlaceholder": "your_new_password",
|
||
"deleteSettingsFile": "ลบ",
|
||
"orRemovePasswordHashField": "หรือลบฟิลด์รหัสผ่านแฮช",
|
||
"restartServerWithNewPassword": "รีสตาร์ทเซิร์ฟเวอร์ - จะใช้รหัสผ่านใหม่",
|
||
"backToLogin": "กลับไปที่เข้าสู่ระบบ",
|
||
"forgotPassword": "ลืมรหัสผ่าน?"
|
||
},
|
||
"landing": {
|
||
"brandName": "OmniRoute",
|
||
"navigateHome": "นำทางไปที่บ้าน",
|
||
"toggleMenu": "สลับเมนู",
|
||
"featuresLink": "คุณสมบัติ",
|
||
"docsLink": "เอกสาร",
|
||
"github": "GitHub",
|
||
"versionLive": "v1.0 ใช้งานได้แล้ว",
|
||
"oneEndpoint": "จุดสิ้นสุดหนึ่งสำหรับ",
|
||
"allProviders": "ผู้ให้บริการ AI ทั้งหมด",
|
||
"heroDescription": "พร็อกซีปลายทาง AI พร้อมเว็บแดชบอร์ด - พอร์ต JavaScript ของ CLIProxyAPI ทำงานได้อย่างราบรื่นกับ Claude Code, OpenAI Codex, Cline, RooCode และเครื่องมือ CLI อื่นๆ",
|
||
"getStarted": "เริ่มต้นเลย",
|
||
"viewOnGithub": "ดูบน GitHub",
|
||
"powerfulFeatures": "คุณสมบัติอันทรงพลัง",
|
||
"featuresSubtitle": "ทุกสิ่งที่คุณต้องการในการจัดการโครงสร้างพื้นฐาน AI ของคุณในที่เดียว สร้างขึ้นเพื่อรองรับขนาด",
|
||
"featureUnifiedEndpointTitle": "จุดสิ้นสุดแบบรวม",
|
||
"featureUnifiedEndpointDesc": "เข้าถึงผู้ให้บริการทั้งหมดผ่าน URL API มาตรฐานเดียว",
|
||
"featureEasySetupTitle": "ติดตั้งง่าย",
|
||
"featureEasySetupDesc": "เริ่มต้นใช้งานภายในไม่กี่นาทีด้วยคำสั่ง npx",
|
||
"featureModelFallbackTitle": "โมเดลสำรอง",
|
||
"featureModelFallbackDesc": "สลับผู้ให้บริการโดยอัตโนมัติเมื่อเกิดความล้มเหลวหรือเวลาแฝงสูง",
|
||
"featureUsageTrackingTitle": "การติดตามการใช้งาน",
|
||
"featureUsageTrackingDesc": "การวิเคราะห์โดยละเอียดและการตรวจสอบต้นทุนในทุกรุ่น",
|
||
"featureOAuthApiKeysTitle": "OAuth และคีย์ API",
|
||
"featureOAuthApiKeysDesc": "จัดการข้อมูลรับรองอย่างปลอดภัยในห้องนิรภัยเดียว",
|
||
"featureCloudSyncTitle": "การซิงค์บนคลาวด์",
|
||
"featureCloudSyncDesc": "ซิงค์การกำหนดค่าของคุณระหว่างอุปกรณ์ต่างๆ ได้ทันที",
|
||
"featureCliSupportTitle": "การสนับสนุน CLI",
|
||
"featureCliSupportDesc": "ใช้งานได้กับ Claude Code, Codex, Cline, Cursor และอื่นๆ",
|
||
"featureDashboardTitle": "แดชบอร์ด",
|
||
"featureDashboardDesc": "แดชบอร์ดแบบภาพสำหรับการวิเคราะห์ปริมาณข้อมูลแบบเรียลไทม์",
|
||
"howItWorks": "OmniRoute ทำงานอย่างไร",
|
||
"howItWorksDescription": "ข้อมูลจะไหลอย่างราบรื่นจากแอปพลิเคชันของคุณผ่านเลเยอร์การกำหนดเส้นทางอัจฉริยะของเราไปยังผู้ให้บริการที่ดีที่สุดสำหรับงาน",
|
||
"howItWorksStep1Title": "1. CLI และ SDK",
|
||
"howItWorksStep1Description": "คำขอของคุณเริ่มต้นจากเครื่องมือที่คุณชื่นชอบหรือ SDK แบบรวมของเรา เพียงเปลี่ยน URL ฐาน",
|
||
"howItWorksStep2Title": "2. ศูนย์กลาง OmniRoute",
|
||
"howItWorksStep2Description": "กลไกของเราจะวิเคราะห์พร้อมท์ ตรวจสอบความสมบูรณ์ของผู้ให้บริการ และเส้นทางเพื่อดูเวลาแฝงหรือต้นทุนที่ต่ำที่สุด",
|
||
"howItWorksStep3Title": "3. ผู้ให้บริการ AI",
|
||
"howItWorksStep3Description": "คำขอนี้ดำเนินการโดย OpenAI, Anthropic, Gemini หรืออื่นๆ ทันที",
|
||
"getStartedIn30Seconds": "เริ่มต้นใน 30 วินาที",
|
||
"getStartedDescription": "ติดตั้ง OmniRoute กำหนดค่าผู้ให้บริการของคุณผ่านแดชบอร์ดเว็บ และเริ่มกำหนดเส้นทางคำขอ AI",
|
||
"installOmniRoute": "ติดตั้ง OmniRoute",
|
||
"installStepDescription": "รันคำสั่ง npx เพื่อเริ่มเซิร์ฟเวอร์ทันที",
|
||
"openDashboard": "เปิดแดชบอร์ด",
|
||
"openDashboardStepDescription": "กำหนดค่าผู้ให้บริการและคีย์ API ผ่านทางเว็บอินเตอร์เฟส",
|
||
"routeRequests": "คำขอเส้นทาง",
|
||
"routeRequestsStepDescription": "ชี้เครื่องมือ CLI ของคุณไปที่ {endpoint}",
|
||
"terminal": "สถานีปลายทาง",
|
||
"copy": "คัดลอก",
|
||
"copied": "✓ คัดลอกแล้ว",
|
||
"startingOmniRoute": "กำลังเริ่ม OmniRoute...",
|
||
"serverRunningOnLabel": "เซิร์ฟเวอร์กำลังทำงานอยู่",
|
||
"dashboardLabel": "แดชบอร์ด",
|
||
"readyToRoute": "พร้อมลุย! ✓",
|
||
"configureProvidersNote": "แปลก กำหนดค่าผู้ให้บริการในแดชบอร์ดหรือใช้ตัวแปรสภาพแวดล้อม",
|
||
"dataLocation": "ตำแหน่งข้อมูล:",
|
||
"dataLocationMacLinux": " macOS/ลินุกซ์:",
|
||
"dataLocationWindows": " หน้าต่าง:",
|
||
"product": "สินค้า",
|
||
"dashboardLink": "แดชบอร์ด",
|
||
"changelog": "บันทึกการเปลี่ยนแปลง",
|
||
"resources": "ทรัพยากร",
|
||
"documentation": "เอกสารประกอบ",
|
||
"npm": "เอ็นพีเอ็ม",
|
||
"legal": "กฎหมาย",
|
||
"mitLicense": "ใบอนุญาตเอ็มไอที",
|
||
"footerTagline": "จุดสิ้นสุดแบบรวมสำหรับการสร้าง AI เชื่อมต่อ กำหนดเส้นทาง และจัดการผู้ให้บริการ AI ของคุณได้อย่างง่ายดาย",
|
||
"copyright": "© {year} OmniRoute สงวนลิขสิทธิ์.",
|
||
"flowToolClaudeCode": "คล็อด โค้ด",
|
||
"flowToolOpenAICodex": "OpenAI Codex",
|
||
"flowToolCline": "ไคลน์",
|
||
"flowToolCursor": "เคอร์เซอร์",
|
||
"flowProviderOpenAI": "OpenAI",
|
||
"flowProviderAnthropic": "มานุษยวิทยา",
|
||
"flowProviderGemini": "ราศีเมถุน",
|
||
"flowProviderGithubCopilot": "นักบิน GitHub",
|
||
"interactiveDiagram": "แผนภาพเชิงโต้ตอบที่มองเห็นได้บนเดสก์ท็อป",
|
||
"ctaTitle": "พร้อมที่จะลดความซับซ้อนของโครงสร้างพื้นฐาน AI ของคุณแล้วหรือยัง?",
|
||
"ctaDescription": "เข้าร่วมกับนักพัฒนาที่กำลังปรับปรุงการบูรณาการ AI กับ OmniRoute โอเพ่นซอร์สและเริ่มต้นได้ฟรี",
|
||
"startFree": "เริ่มฟรี",
|
||
"readDocumentation": "อ่านเอกสารประกอบ"
|
||
},
|
||
"docs": {
|
||
"title": "เอกสารประกอบ",
|
||
"quickStart": "เริ่มต้นอย่างรวดเร็ว",
|
||
"features": "คุณสมบัติ",
|
||
"supportedProviders": "ผู้ให้บริการที่รองรับ",
|
||
"supportedProvidersToc": "ผู้ให้บริการ",
|
||
"commonUseCases": "กรณีการใช้งานทั่วไป",
|
||
"clientCompatibility": "ความเข้ากันได้ของไคลเอ็นต์",
|
||
"protocolsToc": "Protocols",
|
||
"apiReference": "การอ้างอิง API",
|
||
"method": "วิธีการ",
|
||
"path": "เส้นทาง",
|
||
"notes": "หมายเหตุ",
|
||
"modelPrefixes": "คำนำหน้าโมเดล",
|
||
"prefix": "คำนำหน้า",
|
||
"troubleshooting": "การแก้ไขปัญหา",
|
||
"supportsChat": "รองรับทั้งปลายทางการแชทและการตอบกลับ",
|
||
"oauthAutoRefresh": "การเชื่อมต่อ OAuth พร้อมการรีเฟรชโทเค็นอัตโนมัติ",
|
||
"fullStreaming": "รองรับการสตรีมมิ่งเต็มรูปแบบสำหรับทุกรุ่น",
|
||
"docsLabel": "เอกสาร",
|
||
"docsHeroDescription": "เกตเวย์ AI สำหรับ LLM ที่มีผู้ให้บริการหลายราย จุดสิ้นสุดเดียวสำหรับ OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor และผู้ให้บริการอีกกว่า 20 ราย",
|
||
"openDashboard": "เปิดแดชบอร์ด",
|
||
"endpointPage": "หน้าจุดสิ้นสุด",
|
||
"github": "GitHub",
|
||
"reportIssue": "รายงานปัญหา",
|
||
"onThisPage": "บนหน้านี้",
|
||
"documentationVersion": "เอกสารประกอบ - v{version}",
|
||
"quickStartStep1Title": "1. ติดตั้งและรัน",
|
||
"quickStartStep1Prefix": "วิ่ง",
|
||
"quickStartStep1Middle": "หรือโคลนจาก GitHub แล้วรัน",
|
||
"quickStartStep2Title": "2. สร้างคีย์ API",
|
||
"quickStartStep2Text": "ไปที่จุดสิ้นสุด -> คีย์ที่ลงทะเบียน สร้างหนึ่งคีย์ต่อสภาพแวดล้อม",
|
||
"quickStartStep3Title": "3. เชื่อมต่อผู้ให้บริการ",
|
||
"quickStartStep3Text": "เพิ่มบัญชีผู้ให้บริการผ่านการเข้าสู่ระบบ OAuth, คีย์ API หรือการเชื่อมต่ออัตโนมัติระดับฟรี",
|
||
"quickStartStep4Title": "4. ตั้งค่า URL ฐานลูกค้า",
|
||
"quickStartStep4Prefix": "ชี้ IDE หรือไคลเอ็นต์ API ของคุณไปที่",
|
||
"quickStartStep4Suffix": "ใช้คำนำหน้าผู้ให้บริการ เป็นต้น",
|
||
"featureRoutingTitle": "การกำหนดเส้นทางผู้ให้บริการหลายราย",
|
||
"featureRoutingText": "กำหนดเส้นทางคำขอไปยังผู้ให้บริการ AI กว่า 30 รายผ่านจุดสิ้นสุดที่เข้ากันได้กับ OpenAI จุดเดียว รองรับ API การแชท การตอบกลับ เสียง และรูปภาพ",
|
||
"featureCombosTitle": "คอมโบและการปรับสมดุล",
|
||
"featureCombosText": "สร้างโมเดลคอมโบด้วยห่วงโซ่ทางเลือกและกลยุทธ์การปรับสมดุล: การหมุนเวียนแบบวนซ้ำ ลำดับความสำคัญ สุ่ม ใช้น้อยที่สุด และปรับต้นทุนให้เหมาะสม",
|
||
"featureUsageTitle": "การใช้งานและการติดตามต้นทุน",
|
||
"featureUsageText": "การนับโทเค็นแบบเรียลไทม์ การคำนวณต้นทุนต่อผู้ให้บริการ/โมเดล และรายละเอียดการใช้งานโดยละเอียดตามคีย์ API และบัญชี",
|
||
"featureAnalyticsTitle": "แดชบอร์ดการวิเคราะห์",
|
||
"featureAnalyticsText": "การวิเคราะห์ด้วยภาพพร้อมแผนภูมิสำหรับคำขอ โทเค็น ข้อผิดพลาด เวลาแฝง ต้นทุน และความนิยมของโมเดลในช่วงเวลาหนึ่ง",
|
||
"featureHealthTitle": "การตรวจติดตามสุขภาพ",
|
||
"featureHealthText": "การตรวจสอบสุขภาพแบบเรียลไทม์ สถานะของผู้ให้บริการ สถานะเซอร์กิตเบรกเกอร์ และการตรวจจับขีดจำกัดอัตราอัตโนมัติพร้อมการถอยกลับแบบเอ็กซ์โพเนนเชียล",
|
||
"featureCliTitle": "เครื่องมือ CLI",
|
||
"featureCliText": "จัดการการกำหนดค่า IDE, ส่งออก/นำเข้าข้อมูลสำรอง, ค้นหาโปรไฟล์ Codex และกำหนดการตั้งค่าจากแดชบอร์ด",
|
||
"featureSecurityTitle": "ความปลอดภัยและนโยบาย",
|
||
"featureSecurityText": "การรับรองความถูกต้องของคีย์ API, การกรอง IP, การป้องกันการแทรกทันที, นโยบายโดเมน, การจัดการเซสชัน และการบันทึกการตรวจสอบ",
|
||
"featureCloudSyncTitle": "การซิงค์บนคลาวด์",
|
||
"featureCloudSyncText": "ซิงค์การกำหนดค่าของคุณกับ Cloudflare Workers เพื่อการเข้าถึงระยะไกลด้วยข้อมูลประจำตัวที่เข้ารหัสและการเฟลโอเวอร์อัตโนมัติ",
|
||
"providersAcrossConnectionTypes": "{count} ผู้ให้บริการผ่านการเชื่อมต่อสามประเภท",
|
||
"manageProviders": "จัดการผู้ให้บริการ",
|
||
"providersCount": "{count} ผู้ให้บริการ",
|
||
"providerTypeFree": "ฟรีเทียร์",
|
||
"providerTypeOAuth": "OAuth",
|
||
"providerTypeApiKey": "คีย์ API",
|
||
"useCaseSingleEndpointTitle": "จุดสิ้นสุดเดียวสำหรับผู้ให้บริการหลายราย",
|
||
"useCaseSingleEndpointText": "ชี้ไคลเอ็นต์ไปที่ URL ฐานเดียวและกำหนดเส้นทางตามคำนำหน้าโมเดล (เช่น gh/, cc/, kr/, openai/)",
|
||
"useCaseFallbackTitle": "ทางเลือกและการสลับโมเดลด้วยคอมโบ",
|
||
"useCaseFallbackText": "สร้างโมเดลคอมโบในแดชบอร์ดและรักษาการกำหนดค่าไคลเอนต์ให้เสถียรในขณะที่ผู้ให้บริการหมุนเวียนภายใน",
|
||
"useCaseUsageVisibilityTitle": "การใช้งาน ต้นทุน และการมองเห็นการแก้ไขข้อบกพร่อง",
|
||
"useCaseUsageVisibilityText": "ติดตามโทเค็นและค่าใช้จ่ายตามผู้ให้บริการ บัญชี และคีย์ API ในแท็บการใช้งานและการวิเคราะห์",
|
||
"clientCherryStudioTitle": "เชอร์รี่ สตูดิโอ",
|
||
"baseUrlLabel": "URL ฐาน",
|
||
"chatEndpointLabel": "จุดสิ้นสุดการแชท",
|
||
"modelRecommendationLabel": "คำแนะนำโมเดล: คำนำหน้าที่ชัดเจน",
|
||
"clientCodexTitle": "โมเดล Codex / GitHub Copilot",
|
||
"clientCodexBullet1": "ใช้รหัสรุ่นด้วย",
|
||
"clientCodexBullet2": "โมเดลตระกูล Codex กำหนดเส้นทางอัตโนมัติไปยัง",
|
||
"clientCodexBullet3": "โมเดลที่ไม่ใช่ Codex ยังคงดำเนินต่อไป",
|
||
"clientCursorTitle": "เคอร์เซอร์ IDE",
|
||
"clientCursorBullet1": "ใช้",
|
||
"clientCursorBullet1Suffix": "คำนำหน้าสำหรับโมเดลเคอร์เซอร์",
|
||
"clientCursorBullet2": "การเชื่อมต่อ OAuth - เข้าสู่ระบบจากหน้าผู้ให้บริการ",
|
||
"clientClaudeTitle": "คล็อดโค้ด/ต้านแรงโน้มถ่วง",
|
||
"clientClaudeBullet1Prefix": "ใช้",
|
||
"clientClaudeBullet1Middle": "(คลอดด์) หรือ",
|
||
"clientClaudeBullet1Suffix": "(ต้านแรงโน้มถ่วง) คำนำหน้า",
|
||
"protocolsTitle": "Protocols: MCP & A2A",
|
||
"protocolsDescription": "OmniRoute exposes two operational protocols in addition to OpenAI-compatible APIs: MCP for tool execution and A2A for agent-to-agent workflows.",
|
||
"protocolMcpTitle": "MCP (Model Context Protocol)",
|
||
"protocolMcpDesc": "Use MCP over stdio to let clients discover and call OmniRoute tools with audit visibility.",
|
||
"protocolMcpStep1": "Start MCP transport with `omniroute --mcp`.",
|
||
"protocolMcpStep2": "Point your MCP client to stdio transport.",
|
||
"protocolMcpStep3": "Call `omniroute_get_health` and `omniroute_list_combos` to validate connectivity.",
|
||
"protocolA2aTitle": "A2A (Agent2Agent)",
|
||
"protocolA2aDesc": "Use A2A JSON-RPC to submit tasks synchronously or via SSE streaming.",
|
||
"protocolA2aStep1": "Read `/.well-known/agent.json` for agent discovery.",
|
||
"protocolA2aStep2": "Send `message/send` or `message/stream` requests to `POST /a2a`.",
|
||
"protocolA2aStep3": "Manage task lifecycle with `tasks/get` and `tasks/cancel`.",
|
||
"protocolTroubleshootingTitle": "Protocol Troubleshooting",
|
||
"protocolTroubleshooting1": "If MCP status is offline, verify the stdio process is running and heartbeat file is updating.",
|
||
"protocolTroubleshooting2": "If A2A tasks stay in `working`, inspect `/api/a2a/tasks/:id` and stream events for terminal state.",
|
||
"protocolTroubleshooting3": "Use `/dashboard/mcp` and `/dashboard/a2a` for operational controls and audit visibility.",
|
||
"endpointChatNote": "จุดสิ้นสุดการแชทที่เข้ากันได้กับ OpenAI (ค่าเริ่มต้น)",
|
||
"endpointResponsesNote": "จุดสิ้นสุด API การตอบกลับ (Codex, o-series)",
|
||
"endpointModelsNote": "แค็ตตาล็อกโมเดลสำหรับผู้ให้บริการที่เชื่อมต่อทั้งหมด",
|
||
"endpointAudioNote": "การถอดเสียง (Deepgram, AssemblyAI)",
|
||
"endpointImagesNote": "การสร้างภาพ (NanoBanana)",
|
||
"endpointRewriteChatNote": "เขียนตัวช่วยใหม่สำหรับลูกค้าที่ไม่มี /v1",
|
||
"endpointRewriteResponsesNote": "เขียนตัวช่วยใหม่สำหรับการตอบกลับโดยไม่มี /v1",
|
||
"endpointRewriteModelsNote": "เขียนตัวช่วยใหม่สำหรับการค้นหาโมเดลโดยไม่มี /v1",
|
||
"modelPrefixesDescriptionStart": "ใช้คำนำหน้าผู้ให้บริการก่อนชื่อรุ่นเพื่อกำหนดเส้นทางไปยังผู้ให้บริการเฉพาะ ตัวอย่าง:",
|
||
"modelPrefixesDescriptionEnd": "เส้นทางไปยัง GitHub Copilot",
|
||
"provider": "ผู้ให้บริการ",
|
||
"type": "ประเภท",
|
||
"troubleshootingModelRouting": "หากไคลเอ็นต์ล้มเหลวด้วยการกำหนดเส้นทางโมเดล ให้ใช้ผู้ให้บริการ/โมเดลที่ชัดเจน (เช่น gh/gpt-5.1-codex)",
|
||
"troubleshootingAmbiguousModels": "หากคุณได้รับข้อผิดพลาดโมเดลที่ไม่ชัดเจน ให้เลือกคำนำหน้าผู้ให้บริการแทนรหัสโมเดลเปล่า",
|
||
"troubleshootingCodexFamily": "สำหรับโมเดลตระกูล GitHub Codex ให้เก็บโมเดลเป็น gh/codex-model; เราเตอร์เลือก / ตอบสนองโดยอัตโนมัติ",
|
||
"troubleshootingTestConnection": "ใช้แดชบอร์ด > ผู้ให้บริการ > ทดสอบการเชื่อมต่อ ก่อนการทดสอบจาก IDE หรือไคลเอนต์ภายนอก",
|
||
"troubleshootingCircuitBreaker": "หากผู้ให้บริการแสดงเซอร์กิตเบรกเกอร์เปิดอยู่ ให้รอคูลดาวน์หรือตรวจสอบหน้าสุขภาพเพื่อดูรายละเอียด",
|
||
"troubleshootingOAuth": "สำหรับผู้ให้บริการ OAuth ให้ตรวจสอบสิทธิ์อีกครั้งหากโทเค็นหมดอายุ ตรวจสอบตัวบ่งชี้สถานะบัตรผู้ให้บริการ"
|
||
},
|
||
"legal": {
|
||
"privacyPolicy": "นโยบายความเป็นส่วนตัว",
|
||
"termsOfService": "ข้อกำหนดในการให้บริการ",
|
||
"providerConfigurations": "การกำหนดค่าของผู้ให้บริการ",
|
||
"apiKeys": "คีย์ API",
|
||
"usageLogs": "บันทึกการใช้งาน",
|
||
"applicationSettings": "การตั้งค่าแอปพลิเคชัน",
|
||
"viewExportAnalytics": "ดูและส่งออกการวิเคราะห์การใช้งาน",
|
||
"clearHistory": "ล้างประวัติการใช้งานได้ตลอดเวลา",
|
||
"configureRetention": "กำหนดค่านโยบายการเก็บรักษาบันทึก",
|
||
"backupRestore": "สำรองและกู้คืนฐานข้อมูลของคุณ",
|
||
"privacyMetadataTitle": "นโยบายความเป็นส่วนตัว | OmniRoute",
|
||
"privacyMetadataDescription": "นโยบายความเป็นส่วนตัวสำหรับเราเตอร์พร็อกซี OmniRoute AI API",
|
||
"termsMetadataTitle": "เงื่อนไขการให้บริการ | OmniRoute",
|
||
"termsMetadataDescription": "ข้อกำหนดในการให้บริการสำหรับเราเตอร์พร็อกซี OmniRoute AI API",
|
||
"backToHome": "กลับบ้าน",
|
||
"lastUpdated": "อัปเดตล่าสุด: {date}",
|
||
"policyLastUpdatedDate": "13 กุมภาพันธ์ 2569",
|
||
"listSeparator": "-",
|
||
"questionsVisit": "มีคำถาม? เยี่ยมชมของเรา",
|
||
"githubRepository": "พื้นที่เก็บข้อมูล GitHub",
|
||
"privacySection1Title": "1. สถาปัตยกรรมท้องถิ่นแห่งแรก",
|
||
"privacySection1Text": "OmniRoute ได้รับการออกแบบให้เป็นแอปพลิเคชั่นแรกในท้องถิ่น การประมวลผลและการจัดเก็บข้อมูลทั้งหมดเกิดขึ้นบนเครื่องของคุณทั้งหมด ไม่มีเซิร์ฟเวอร์ส่วนกลางที่รวบรวมข้อมูลของคุณ",
|
||
"privacySection2Title": "2. ข้อมูลที่เราจัดเก็บ",
|
||
"privacyDataStoredIn": "ข้อมูลต่อไปนี้ถูกจัดเก็บไว้ในเครื่อง",
|
||
"privacyDataProviderConfigurationsDesc": "URL การเชื่อมต่อ ประเภทผู้ให้บริการ และการตั้งค่าลำดับความสำคัญ",
|
||
"privacyDataApiKeysDesc": "เข้ารหัสและจัดเก็บไว้ในเครื่องเพื่อตรวจสอบสิทธิ์กับผู้ให้บริการ AI",
|
||
"privacyDataUsageLogsDesc": "จำนวนคำขอ การใช้โทเค็น ชื่อโมเดล การประทับเวลา และเวลาตอบสนอง",
|
||
"privacyDataApplicationSettingsDesc": "การตั้งค่าธีม กลยุทธ์การกำหนดเส้นทาง และการกำหนดค่าคอมโบ",
|
||
"privacySection3Title": "3. ไม่มีการวัดและส่งข้อมูลทางไกล",
|
||
"privacySection3Text": "OmniRoute ไม่รวบรวมการวัดและส่งข้อมูลทางไกล การวิเคราะห์ หรือรายงานข้อขัดข้อง ไม่มีการส่งข้อมูลถึงเราหรือบุคคลที่สาม รูปแบบการใช้งาน การเรียก API และการกำหนดค่าของคุณยังคงเป็นส่วนตัวโดยสมบูรณ์",
|
||
"privacySection4Title": "4. ผู้ให้บริการ AI บุคคลที่สาม",
|
||
"privacySection4Text": "เมื่อคุณทำการเรียก API ผ่าน OmniRoute คำขอของคุณจะถูกส่งต่อไปยังผู้ให้บริการ AI ที่คุณกำหนดค่าไว้ (เช่น OpenAI, Anthropic, Google) ผู้ให้บริการเหล่านี้มีนโยบายความเป็นส่วนตัวของตนเองที่ควบคุมวิธีจัดการข้อมูลของคุณ โปรดตรวจสอบ:",
|
||
"privacyOpenAiPolicy": "นโยบายความเป็นส่วนตัวของ OpenAI",
|
||
"privacyAnthropicPolicy": "นโยบายความเป็นส่วนตัวด้านมานุษยวิทยา",
|
||
"privacyGooglePolicy": "นโยบายความเป็นส่วนตัวของ Google",
|
||
"privacySection5Title": "5. Cloud Sync (ไม่บังคับ)",
|
||
"privacySection5Text": "หากคุณเปิดใช้งานคุณสมบัติเสริมการซิงค์บนคลาวด์ การกำหนดค่าผู้ให้บริการและคีย์ API อาจถูกส่งไปยังจุดสิ้นสุดบนคลาวด์ที่กำหนดค่าไว้ คุณลักษณะนี้ถูกปิดใช้งานโดยค่าเริ่มต้น และจำเป็นต้องเลือกใช้อย่างชัดเจน",
|
||
"privacySection6Title": "6. การบันทึก",
|
||
"privacyLoggingIntro": "บันทึกคำขอสามารถกำหนดค่าได้ผ่านการตั้งค่าแดชบอร์ด คุณสามารถ:",
|
||
"privacySection7Title": "7. สิทธิ์ของคุณ",
|
||
"privacySection7TextStart": "เนื่องจากข้อมูลทั้งหมดถูกจัดเก็บไว้ในเครื่อง คุณจึงสามารถควบคุมได้อย่างเต็มที่ คุณสามารถลบข้อมูลของคุณได้ตลอดเวลาโดยการลบ",
|
||
"privacySection7TextEnd": "ไดเร็กทอรีหรือใช้คุณสมบัติการสำรองและกู้คืนฐานข้อมูลในแดชบอร์ด",
|
||
"termsSection1Title": "1. ภาพรวม",
|
||
"termsSection1Text": "OmniRoute เป็นเราเตอร์พร็อกซี AI API ตัวแรกในเครื่องที่ทำงานบนเครื่องของคุณทั้งหมด โดยกำหนดเส้นทางคำขอไปยังผู้ให้บริการ AI หลายรายด้วยการปรับสมดุลโหลด การเฟลโอเวอร์ และการติดตามการใช้งาน",
|
||
"termsSection2Title": "2. ความรับผิดชอบของผู้ใช้",
|
||
"termsResponsibilityApiKeys": "คุณมีหน้าที่รับผิดชอบแต่เพียงผู้เดียวในการจัดการคีย์ API และข้อมูลรับรองของคุณเองสำหรับผู้ให้บริการ AI บุคคลที่สาม (OpenAI, Anthropic, Google ฯลฯ)",
|
||
"termsResponsibilityCompliance": "คุณต้องปฏิบัติตามข้อกำหนดในการให้บริการของผู้ให้บริการ AI แต่ละรายซึ่งมี API ที่คุณเข้าถึงผ่าน OmniRoute",
|
||
"termsResponsibilitySecurity": "คุณต้องรับผิดชอบต่อความปลอดภัยของการติดตั้ง OmniRoute ในพื้นที่ของคุณ รวมถึงการตั้งรหัสผ่านและการจำกัดการเข้าถึงเครือข่าย",
|
||
"termsSection3Title": "3. มันทำงานอย่างไร",
|
||
"termsSection3Text": "OmniRoute ทำหน้าที่เป็นพร็อกซีตัวกลาง การเรียก API ที่ส่งไปยัง OmniRoute จะถูกแปลและส่งต่อไปยังผู้ให้บริการ AI ที่กำหนดค่าไว้ของคุณ OmniRoute จะไม่แก้ไขเนื้อหาคำขอหรือการตอบกลับของคุณนอกเหนือจากการแปลโปรโตคอลที่จำเป็น",
|
||
"termsSection4Title": "4. การจัดการข้อมูล",
|
||
"termsDataStoredLocally": "ข้อมูลทั้งหมดจะถูกจัดเก็บไว้ในเครื่องของคุณในฐานข้อมูล SQLite",
|
||
"termsNoTransmission": "OmniRoute จะไม่ส่งข้อมูลใดๆ ไปยังเซิร์ฟเวอร์ภายนอก เว้นแต่คุณจะเปิดใช้งานคุณสมบัติการซิงค์บนคลาวด์อย่างชัดเจน",
|
||
"termsDataLocationText": "บันทึกการใช้งาน คีย์ API และการกำหนดค่าจะถูกจัดเก็บไว้ใน",
|
||
"termsSection5Title": "5. ข้อจำกัดความรับผิดชอบ",
|
||
"termsSection5Text": "OmniRoute มีให้ \"ตามสภาพ\" โดยไม่มีการรับประกันใดๆ เราจะไม่รับผิดชอบต่อค่าใช้จ่ายใดๆ ที่เกิดขึ้นจากการใช้ API การหยุดชะงักของบริการ หรือการสูญหายของข้อมูล สำรองข้อมูลการกำหนดค่าของคุณไว้เสมอ",
|
||
"termsSection6Title": "6. โอเพ่นซอร์ส",
|
||
"termsSection6Text": "OmniRoute เป็นซอฟต์แวร์โอเพ่นซอร์ส คุณมีอิสระที่จะตรวจสอบ แก้ไข และแจกจ่ายภายใต้เงื่อนไขของใบอนุญาต"
|
||
}
|
||
}
|