{
  "chat": {
    "title": "ผู้ช่วย AI",
    "tabAssistant": "แชท",
    "tabGenerate": "สร้างโมเดล 3D",
    "sessionsTooltip": "เซสชันแชท",
    "sessionsLocked": "เซสชันแชท (ล็อกระหว่างตอบ)",
    "placeholder": "อธิบายสิ่งที่คุณต้องการสร้างหรือแก้ไข...",
    "send": "ส่ง",
    "stop": "หยุด",
    "newChat": "+ แชทใหม่",
    "discordLink": "ต้องการความช่วยเหลือ? เข้าร่วม Discord ของเรา",
    "thinking": "ParallaxPro AI กำลังคิด...",
    "sessionIdCopied": "คัดลอกแล้ว!",
    "sessionIdTooltip": "คลิกเพื่อคัดลอก ID เซสชัน",
    "changesApplied": "นำการเปลี่ยนแปลงไปใช้แล้ว",
    "revertBefore": "ย้อนกลับไปก่อนหน้า",
    "revertHere": "ย้อนกลับมาที่นี่",
    "templateBanner": "เพิ่งโหลดเทมเพลต — ไฟล์โปรเจกต์ก่อนหน้าของคุณถูกแทนที่แล้ว",
    "templateRestore": "กู้คืนโปรเจกต์ก่อนหน้าของฉัน",
    "createScratch": "สร้างใหม่ตั้งแต่ต้นแทนการใช้เทมเพลตนี้ (20-30 นาที)",
    "createScratchRecommended": "มักได้ผลลัพธ์ที่ดีกว่าการใช้เทมเพลต",
    "fixerHint": "อาจใช้เวลาถึง 10 นาที — เปิดหน้าไว้ได้ แต่อย่าปิดหน้านี้",
    "continue": "ดำเนินการต่อ",
    "rawFilesTitle": "ข้อมูลดิบของเซสชัน",
    "rawFilesEmpty": "ยังไม่มีไฟล์ในเซสชันนี้",
    "buildingPlan": "แผนการสร้าง",
    "todoPaused": "หยุดชั่วคราว",
    "tabSoundEffects": "เอฟเฟกต์เสียง"
  },
  "feedback": {
    "titleCreate": "ขอบคุณที่ลองใช้ตัวสร้าง!",
    "titleFix": "ขอบคุณที่ใช้ผู้ช่วย AI!",
    "thankYou": "ความคิดเห็นของคุณมีคุณค่าอย่างยิ่งและช่วยเราปรับปรุงผลิตภัณฑ์สำหรับทุกคนโดยตรง เราขอบคุณมากที่คุณสละเวลาแบ่งปันประสบการณ์!",
    "promptLabelCreate": "คุณขอให้ตัวสร้าง:",
    "promptLabelFix": "คุณขอให้เอเจนต์:",
    "rateLabel": "มันใช้งานได้หรือไม่?",
    "worked": "ใช้งานได้",
    "notWorked": "ใช้งานไม่ได้",
    "notesLabel": "มีอะไรที่พังหรือควรปรับปรุง?",
    "notesPlaceholder": "อะไรที่ดี? อะไรที่ไม่ดี? อยากเปลี่ยนอะไร?",
    "restoreNote": "ไม่ต้องการเก็บการสร้างนี้? คุณสามารถกู้คืนโปรเจกต์กลับไปเหมือนเดิมได้",
    "restoreButton": "กู้คืนโปรเจกต์ไปก่อนการสร้างนี้",
    "restoring": "กำลังกู้คืน…",
    "dismiss": "ปิด",
    "dismissTooltip": "ปิดแบบฟอร์มนี้ จะไม่แสดงอีกสำหรับการเปลี่ยนแปลงนี้",
    "submit": "ส่งความคิดเห็น",
    "submitting": "กำลังส่ง…",
    "noPrompt": "(ไม่มีบันทึกคำสั่ง)"
  },
  "signup": {
    "createGame": "ในการสร้างเกมใหม่ตั้งแต่ต้นแทนการใช้เทมเพลตนี้ ฉันต้องการให้คุณสมัครสมาชิกก่อน",
    "fixGame": "ในการซ่อมแซมเกมของคุณ ฉันต้องการให้คุณสมัครสมาชิกก่อน",
    "budget": "คุณใช้งบฟรีแบบไม่ระบุตัวตนหมดแล้ว — สมัครสมาชิกเพื่อใช้งานต่อ",
    "default": "ฉันต้องการให้คุณสมัครสมาชิกก่อน",
    "button": "สมัครสมาชิกฟรี"
  },
  "toolbar": {
    "backToProjects": "กลับไปที่โปรเจกต์",
    "untitled": "โปรเจกต์ไม่มีชื่อ",
    "renameTooltip": "คลิกเพื่อเปลี่ยนชื่อ",
    "save": "บันทึก (Ctrl+S)",
    "undo": "เลิกทำ (Ctrl+Z)",
    "redo": "ทำซ้ำ (Ctrl+Y / Ctrl+Shift+Z)",
    "translate": "ย้าย (1)",
    "rotate": "หมุน (2)",
    "scale": "ปรับขนาด (3)",
    "cameraMode": "สลับ Orbit / Fly (4)",
    "gizmoSpace": "สลับ Global / Local (5)",
    "play": "เล่น",
    "stop": "หยุด",
    "loading": "กำลังโหลด...",
    "publish": "เผยแพร่",
    "feedback": "ความคิดเห็น",
    "settings": "ตั้งค่า",
    "multiplayer": "หลายผู้เล่น",
    "multiplayerTooltip": "ลิงก์ห้องหลายผู้เล่น",
    "shareLink": "แชร์ลิงก์นี้เพื่อเชิญผู้เล่น:",
    "copyLink": "คัดลอกลิงก์",
    "copied": "คัดลอกแล้ว!",
    "previewClient": "+ Client",
    "previewClientTooltip": "เปิดหน้าต่างอีกอันของโปรเจกต์นี้เพื่อทดสอบหลายผู้เล่นแบบโลคัล",
    "teamChat": "แชททีม",
    "teamChatPlaceholder": "พิมพ์ข้อความ...",
    "unsavedConfirm": "คุณมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึก ออกโดยไม่บันทึก?",
    "moveLabel": "ย้าย",
    "rotateLabel": "หมุน",
    "scaleLabel": "ปรับขนาด",
    "orbitLabel": "Orbit",
    "flyLabel": "Fly",
    "globalLabel": "Global",
    "localLabel": "Local",
    "flyMode": "โหมด Fly (4)",
    "orbitMode": "โหมด Orbit (4)",
    "localSpace": "พื้นที่ Local (5)",
    "globalSpace": "พื้นที่ Global (5)",
    "playCtrlP": "เล่น (Ctrl+P)",
    "loadingAssets": "กำลังโหลดแอสเซท",
    "projectSaved": "บันทึกโปรเจกต์แล้ว",
    "projectRenamed": "เปลี่ยนชื่อโปรเจกต์แล้ว",
    "renameFailed": "เปลี่ยนชื่อล้มเหลว",
    "renameProject": "เปลี่ยนชื่อโปรเจกต์",
    "projectNamePlaceholder": "ชื่อโปรเจกต์",
    "playerConnected": "{count} ผู้เล่นเชื่อมต่อแล้ว",
    "playersConnected": "{count} ผู้เล่นเชื่อมต่อแล้ว",
    "joined": "เข้าร่วมแล้ว",
    "left": "ออกแล้ว",
    "you": "คุณ",
    "startedMultiplayer": "เริ่มเซสชันหลายผู้เล่นแล้ว"
  },
  "settings": {
    "chatAgent": "เอเจนต์แชท",
    "editingAgent": "เอเจนต์แก้ไข",
    "graphicsQuality": "คุณภาพกราฟิก",
    "cloudSync": "ซิงค์คลาวด์",
    "cloudSignIn": "เข้าสู่ระบบ",
    "cloudSigningIn": "กำลังเข้าสู่ระบบ…",
    "cloudSynced": "โปรเจกต์นี้ซิงค์กับ parallaxpro.ai ทุกครั้งที่บันทึก",
    "cloudHint": "ซิงค์โปรเจกต์นี้กับ parallaxpro.ai เพื่อให้คุณกลับมาทำต่อจากคอมพิวเตอร์เครื่องไหนก็ได้",
    "cloudPromote": "อัปเกรดเป็นคลาวด์",
    "cloudPromoting": "กำลังซิงค์…",
    "cloudSignedOutHint": "เข้าสู่ระบบ parallaxpro.ai เพื่อเปิดใช้งานการซิงค์คลาวด์สำหรับโปรเจกต์นี้",
    "cloudSignedOutCloudHint": "นี่เป็นโปรเจกต์คลาวด์แต่คุณออกจากระบบแล้ว — การบันทึกไม่ถึง parallaxpro.ai เข้าสู่ระบบเพื่อซิงค์ต่อ",
    "cloudSyncedCheck": "✓ โปรเจกต์นี้ซิงค์กับ parallaxpro.ai ทุกครั้งที่บันทึก",
    "cloudProjectSynced": "ซิงค์โปรเจกต์กับ parallaxpro.ai แล้ว",
    "signedInToast": "เข้าสู่ระบบ parallaxpro.ai แล้ว",
    "cancel": "ยกเลิก",
    "save": "บันทึก",
    "chatAgentHint": "แนะนำ: LLM API — เร็วกว่า (<1 วินาที เทียบกับ 10-20 วินาทีต่อข้อความ เพราะ CLI จะถูกรีลอนช์ทุกรอบ) ถูกกว่า และให้ผลลัพธ์ที่สะอาดกว่า CLI agents เป็นทางเลือกเมื่อคุณไม่มี API key แต่จะทำงานในโหมดเอเจนต์แทนโหมดแชทและอาจทำงานได้ไม่ดี — บางครั้งส่ง tool calls แทนการตอบแชท",
    "editingAgentHint": "เอเจนต์ที่เริ่มทำงานเมื่อ AI ตัดสินใจแก้ไขไฟล์โปรเจกต์ของคุณ",
    "qualityLow": "ต่ำ",
    "qualityMedium": "ปานกลาง",
    "qualityHigh": "สูง",
    "qualityLowHint": "การเรนเดอร์พื้นฐาน ไม่มีเงา",
    "qualityMediumHint": "เงา, FXAA anti-aliasing, HBAO",
    "qualityHighHint": "เงา, MSAA anti-aliasing, HBAO, screen-space reflections, bloom"
  },
  "editor": {
    "systemUpdated": "ระบบอัปเดตแล้ว — ลองรีเฟรช",
    "connectionLost": "การเชื่อมต่อขาดหาย — ปิดการแก้ไขจนกว่าจะเชื่อมต่อใหม่",
    "reconnecting": "การเชื่อมต่อขาดหาย กำลังเชื่อมต่อใหม่...",
    "reconnected": "เชื่อมต่อใหม่แล้ว",
    "reconnectFailed": "ไม่สามารถเชื่อมต่อใหม่ได้ กรุณาตรวจสอบการเชื่อมต่อและรีเฟรชหน้า",
    "disconnectOverlay": "ปิดการแก้ไขระหว่างการเชื่อมต่อใหม่...",
    "disconnectRefresh": "การเชื่อมต่อขาดหาย กรุณารีเฟรชหน้าเพื่อแก้ไขต่อ"
  },
  "projectList": {
    "newProject": "+ โปรเจกต์ใหม่",
    "exit": "ออก",
    "backToLanding": "กลับหน้าแรก",
    "searchPlaceholder": "ค้นหาโปรเจกต์...",
    "tabAll": "ทั้งหมด",
    "tabLocal": "โปรเจกต์ในเครื่อง",
    "tabCloud": "โปรเจกต์คลาวด์",
    "emptyDefault": "ยังไม่มีโปรเจกต์ สร้างเกมแรกของคุณเลย!",
    "emptySearch": "ไม่มีโปรเจกต์ที่ตรงกับการค้นหาของคุณ",
    "emptyCloud": "ยังไม่มีโปรเจกต์คลาวด์ การเผยแพร่หรืออัปเกรดโปรเจกต์จะทำให้ปรากฏที่นี่",
    "cloudSignIn": "เข้าสู่ระบบ parallaxpro.ai เพื่อเข้าถึงโปรเจกต์คลาวด์ของคุณ",
    "cloudSignInButton": "เข้าสู่ระบบ",
    "selectAll": "เลือกทั้งหมด",
    "deleteSelected": "ลบที่เลือก",
    "prev": "‹ ก่อนหน้า",
    "next": "ถัดไป ›",
    "draft": "แบบร่าง",
    "published": "เผยแพร่แล้ว",
    "deprecated": "เลิกใช้แล้ว",
    "buildFailed": "สร้างล้มเหลว",
    "justBuilt": "✓ เพิ่งสร้างเสร็จ",
    "stopBuild": "หยุด",
    "stopTooltip": "หยุดการสร้างนี้ (การรันจะถูกหยุดและโปรเจกต์จะถูกปลดล็อก)",
    "anonBanner": "คุณกำลังเรียกดูแบบไม่ระบุตัวตน — โปรเจกต์ของคุณอยู่ในเบราว์เซอร์นี้เท่านั้น สมัครสมาชิก (ฟรี) เพื่อบันทึกข้ามอุปกรณ์และปลดล็อกฟีเจอร์เพิ่มเติม",
    "anonSignup": "สมัครสมาชิก",
    "anonLogin": "เข้าสู่ระบบ",
    "restartNotice": "เราอาจรีสตาร์ทเซิร์ฟเวอร์ได้ตลอดเวลาขณะที่เราปรับปรุงและแก้ไขปัญหา — ขออภัยสำหรับความไม่สะดวก! โปรเจกต์ของคุณจะถูกบันทึกเสมอ แต่การสร้าง AI ที่ใช้เวลานานอาจถูกหยุดกลางทางและคุณจะต้องลองใหม่",
    "newProjectModal": "โปรเจกต์ใหม่",
    "generateFromPrompt": "สร้างจากคำสั่ง",
    "generateHint": "อธิบายไอเดียเกมของคุณแล้ว AI จะสร้างให้คุณ",
    "generatePlaceholder": "เช่น เกมแพลตฟอร์ม 3D ที่มีการกระโดดสองครั้งและเก็บเหรียญ...",
    "buildFromTemplate": "สร้างจากเทมเพลต",
    "templateHint": "เริ่มต้นด้วยเทมเพลตเกมสำเร็จรูปที่คุณสามารถปรับแต่งได้",
    "templateSearch": "ค้นหาเทมเพลต...",
    "login": "เข้าสู่ระบบ",
    "loginTooltip": "เข้าสู่ระบบ parallaxpro.ai เพื่อให้คุณสามารถเผยแพร่โปรเจกต์นี้",
    "logout": "ออกจากระบบ",
    "generate": "สร้าง",
    "or": "หรือ",
    "noTemplatesMatch": "ไม่มีเทมเพลตที่ตรงกับการค้นหาของคุณ",
    "loadingTemplates": "กำลังโหลด...",
    "statusAll": "ทั้งหมด",
    "statusPublished": "เผยแพร่แล้ว",
    "statusDraft": "แบบร่าง",
    "untitled": "ไม่มีชื่อ",
    "moreActions": "การดำเนินการเพิ่มเติม",
    "open": "เปิด",
    "rename": "เปลี่ยนชื่อ",
    "duplicate": "ทำซ้ำ",
    "changeThumbnail": "เปลี่ยนภาพย่อ",
    "setThumbnail": "ตั้งภาพย่อ",
    "removeThumbnail": "ลบภาพย่อ",
    "viewPublishedGame": "ดูเกมที่เผยแพร่",
    "updatePublish": "เผยแพร่เวอร์ชันใหม่",
    "unpublish": "เลิกเผยแพร่",
    "delete": "ลบ",
    "clickToOpen": "คลิกการ์ดเพื่อเปิด",
    "renameProject": "เปลี่ยนชื่อโปรเจกต์",
    "newNamePlaceholder": "ชื่อใหม่",
    "deleteProject": "ลบโปรเจกต์",
    "deleteCloudProject": "ลบโปรเจกต์คลาวด์",
    "deleteLocalCopy": "ลบสำเนาในเครื่อง",
    "stopBuildConfirmTitle": "หยุดการสร้างนี้?",
    "stopBuildConfirmMsg": "การรันจะถูกหยุดและความคืบหน้าทั้งหมดจากความพยายามนี้จะถูกยกเลิก โปรเจกต์จะถูกปลดล็อก — คุณสามารถเริ่มใหม่ด้วยคำสั่งอื่นได้",
    "unpublishGame": "เลิกเผยแพร่เกม",
    "cloudCopyDeleted": "ลบสำเนาคลาวด์แล้ว",
    "keepAsLocalOnly": "เก็บเป็นโปรเจกต์ในเครื่องเท่านั้น",
    "deleteLocalToo": "ลบในเครื่องด้วย"
  },
  "share": {
    "title": "แชร์โปรเจกต์",
    "addPeople": "เพิ่มคน",
    "emailPlaceholder": "อีเมลหรือชื่อผู้ใช้",
    "editor": "ผู้แก้ไข",
    "viewer": "ผู้ดู",
    "share": "แชร์",
    "peopleWithAccess": "ผู้ที่มีสิทธิ์เข้าถึง",
    "owner": "เจ้าของ",
    "removeAccess": "ลบสิทธิ์เข้าถึง",
    "notSharedYet": "ยังไม่ได้แชร์กับใคร",
    "couldNotLoad": "ไม่สามารถโหลดข้อมูลการแชร์ได้",
    "enterEmailOrUsername": "กรอกอีเมลหรือชื่อผู้ใช้",
    "invitationSent": "ส่งอีเมลเชิญไปที่ {email} แล้ว",
    "sharedWith": "แชร์กับ {email} แล้ว",
    "done": "เสร็จสิ้น"
  },
  "feedbackModal": {
    "title": "ส่งความคิดเห็น",
    "whatFeedback": "คุณมีความคิดเห็นอะไร?",
    "placeholder": "อธิบายปัญหา ข้อเสนอแนะ หรือความคิดเห็น...",
    "screenshotsLabel": "ภาพหน้าจอ (ไม่บังคับ สูงสุด 5 ภาพ ภาพละ 5MB)",
    "addImage": "+ เพิ่มรูปภาพ",
    "exceedsLimit": "{name} เกินขีดจำกัด 5MB",
    "enterFeedback": "กรุณากรอกความคิดเห็นของคุณ",
    "sendFailed": "ส่งความคิดเห็นไม่สำเร็จ",
    "sent": "ส่งความคิดเห็นแล้ว! ขอบคุณ",
    "cancel": "ยกเลิก",
    "send": "ส่ง"
  },
  "assets": {
    "title": "แอสเซท & Finite State Machines & ประสิทธิภาพ",
    "projectFiles": "ไฟล์โปรเจกต์",
    "assetLibrary": "คลังแอสเซท",
    "fsm": "FSM",
    "performance": "ประสิทธิภาพ",
    "scenes": "ฉาก",
    "untitledScene": "ฉากไม่มีชื่อ",
    "usedAssets": "แอสเซทที่ใช้",
    "searchAssets": "ค้นหาแอสเซท...",
    "allTypes": "ทุกประเภท",
    "assetLibraryBreadcrumb": "คลังแอสเซท",
    "noItemsFound": "ไม่พบรายการ",
    "noAssetsFound": "ไม่พบแอสเซท",
    "prevPage": "‹ ก่อนหน้า",
    "nextPage": "ถัดไป ›"
  },
  "hierarchy": {
    "title": "ลำดับชั้น",
    "addEntity": "เพิ่ม Entity",
    "searchEntities": "ค้นหา entities...",
    "noSceneLoaded": "ไม่มีฉากที่โหลด",
    "newScene": "ฉากใหม่",
    "emptyEntity": "Entity ว่าง",
    "rename": "เปลี่ยนชื่อ",
    "deleteScene": "ลบฉาก",
    "createChild": "สร้าง Child",
    "deleteLocked": "ลบ (ล็อก)",
    "show": "แสดง",
    "hide": "ซ่อน"
  },
  "properties": {
    "title": "คุณสมบัติ",
    "noSelection": "ไม่ได้เลือก entity",
    "entitiesSelected": "เลือก {count} entities",
    "active": "เปิดใช้งาน",
    "enabled": "เปิดใช้งาน",
    "addComponent": "เพิ่ม Component",
    "addComponentToAll": "เพิ่ม Component ให้ทั้งหมด",
    "removeComponent": "ลบ Component",
    "removeFromEntities": "ลบจาก {count} entities",
    "reset": "รีเซ็ต",
    "copyValues": "คัดลอกค่า",
    "pasteValues": "วางค่า",
    "addTag": "เพิ่มแท็ก",
    "enterTagName": "กรอกชื่อแท็ก:",
    "scriptProperties": "คุณสมบัติ",
    "viewFSMs": "ดู FSMs",
    "viewFSMsTooltip": "สลับไปที่แท็บ FSM และแสดง state machines ของ entity นี้",
    "sculptTerrain": "แกะสลักภูมิประเทศ",
    "stopSculpting": "หยุดแกะสลัก",
    "brush": "แปรง",
    "raise": "ยก",
    "lower": "ลด",
    "smooth": "ปรับเรียบ",
    "flatten": "ทำให้แบน",
    "radius": "รัศมี",
    "strength": "ความแรง"
  },
  "publish": {
    "title": "เผยแพร่เกม",
    "manage": "จัดการเกมที่เผยแพร่",
    "gameName": "ชื่อเกม",
    "gameNamePlaceholder": "เกมสุดเจ๋งของฉัน",
    "urlSlug": "URL Slug",
    "urlSlugPlaceholder": "my-awesome-game",
    "version": "เวอร์ชัน",
    "changelogLabel": "บันทึกการเปลี่ยนแปลง (ไม่บังคับ)",
    "changelogPlaceholder": "มีอะไรในเวอร์ชันนี้...",
    "visibility": "การมองเห็น",
    "visibilityPublic": "สาธารณะ",
    "visibilityUnlisted": "ไม่แสดงในรายการ",
    "thumbnail": "ภาพย่อ (ไม่บังคับ)",
    "noImage": "ไม่มีรูปภาพ",
    "upload": "อัปโหลด",
    "change": "เปลี่ยน",
    "cancel": "ยกเลิก",
    "publish": "เผยแพร่",
    "gameNameRequired": "ต้องระบุชื่อเกม",
    "slugInvalid": "Slug ต้องมี 3-64 ตัวอักษร ตัวพิมพ์เล็กและขีดกลาง",
    "versionInvalid": "กรอกเวอร์ชันที่ถูกต้อง (เช่น 1.0.0)",
    "publishNewVersion": "เผยแพร่เวอร์ชันใหม่",
    "changelogOptional": "บันทึกการเปลี่ยนแปลง (ไม่บังคับ)",
    "versionRequired": "กรอกเวอร์ชันที่ถูกต้อง",
    "setLive": "ตั้งเป็นเวอร์ชันปัจจุบัน",
    "checkout": "Checkout",
    "revertConfirm": "ย้อนโปรเจกต์กลับไป v{version}? สถานะเอดิเตอร์ปัจจุบันของคุณจะถูกแทนที่",
    "unpublishGame": "เลิกเผยแพร่เกม",
    "unpublishConfirm": "เลิกเผยแพร่เกมนี้? ผู้เล่นจะไม่สามารถเข้าถึงได้อีกต่อไป",
    "successTitle": "เผยแพร่แล้ว!",
    "successMessage": "เวอร์ชัน {version} ใช้งานได้แล้ว!",
    "done": "เสร็จสิ้น",
    "close": "ปิด",
    "mismatchTitle": "เวอร์ชันเอนจินไม่รองรับ",
    "gotIt": "เข้าใจแล้ว",
    "saving": "กำลังบันทึก…",
    "saved": "บันทึกแล้ว"
  },
  "profiler": {
    "title": "ประสิทธิภาพ",
    "engineNotRunning": "เอนจินไม่ทำงาน",
    "copyStats": "คัดลอกสถิติ",
    "copied": "คัดลอกแล้ว!",
    "copyFailed": "คัดลอกล้มเหลว",
    "smoothness": "ความลื่นไหล (2 วินาทีล่าสุด)",
    "smoothnessHint": "ยิ่งต่ำและแบนยิ่งดี เส้นสีแดงคือ 60 fps ที่ลื่นไหล",
    "frameBudget": "เวลาเฟรมของคุณถูกใช้ที่ไหน",
    "frameBudgetHint": "มุมมองรวมของสิ่งที่เอนจินใช้เวลาในแต่ละเฟรม",
    "onScreen": "สิ่งที่อยู่บนหน้าจอ",
    "drawCalls": "Draw calls",
    "triangles": "สามเหลี่ยม",
    "entities": "Entities",
    "showDetails": "แสดงรายละเอียด",
    "cpuPhases": "เฟส CPU (ต่อ tickOneFrame)",
    "cpuPhasesHint": "แต่ละเฟสจับเวลาแยกกัน — แถบแสดงสัดส่วนของเวลา tick ทั้งหมด",
    "renderPasses": "Render passes (CPU submit, ms)",
    "renderPassesHint": "ค่าใช้จ่ายโดยประมาณต่อ pass — เวลา CPU ที่ใช้ในการประกอบและส่งคำสั่ง ไม่ใช่เวลา GPU จริง",
    "renderer": "Renderer (เฟรมล่าสุด)",
    "meshesDrawn": "Meshes ที่วาด",
    "scripts": "Scripts",
    "meshesTotal": "Meshes ทั้งหมด",
    "scriptCost": "ค่าใช้จ่ายต่อ script (เฟรมนี้)",
    "scriptCostHint": "ผลรวมของ onUpdate / onFixedUpdate / onLateUpdate ข้าม entities ทั้งหมดที่ใช้ script เดียวกัน",
    "jsHeap": "JS heap (MB)",
    "jsHeapHint": "Chrome เท่านั้น — มีประโยชน์สำหรับตรวจจับ memory leaks",
    "noDataYet": "ยังไม่มีข้อมูล",
    "noRenderPasses": "ไม่มี render passes ที่วัดได้",
    "noScriptsActive": "ไม่มี scripts ที่ทำงาน (กดเล่นเพื่อดูเวลา)",
    "labelSmooth": "ลื่นไหล",
    "labelOK": "โอเค",
    "labelChoppy": "กระตุก",
    "labelLaggy": "หน่วง",
    "scripts_budget": "Scripts",
    "physics_budget": "ฟิสิกส์",
    "animation_budget": "แอนิเมชัน",
    "rendering_budget": "การเรนเดอร์",
    "other_budget": "อื่นๆ"
  },
  "modal": {
    "cancel": "ยกเลิก",
    "ok": "ตกลง",
    "confirm": "ยืนยัน"
  },
  "modelGen": {
    "health": {
      "checking": "กำลังตรวจสอบ…",
      "unavailable": "บริการ GPU ไม่พร้อมใช้งาน",
      "offline": "ออฟไลน์ — ไม่มีเวิร์กเกอร์พร้อมใช้งาน",
      "onlineSingular": "ออนไลน์ · มีเวิร์กเกอร์ {count} ตัวพร้อมใช้งาน",
      "onlinePlural": "ออนไลน์ · มีเวิร์กเกอร์ {count} ตัวพร้อมใช้งาน",
      "queuedSuffix": " · รอคิว {count} รายการ"
    },
    "notice": {
      "searchFirstBold": "ค้นหาในชุมชนก่อน",
      "searchFirstBody": "เรียกดูโมเดล 3D ที่มีอยู่ในไลบรารีชุมชนด้านล่างก่อนสร้างใหม่ — รวดเร็วและประหยัดเวลา GPU",
      "publicBold": "เราอาจเผยแพร่การสร้างของคุณต่อสาธารณะ",
      "publicBody": "หลังจากการตรวจสอบและแนะนำแล้ว พรอมต์และโมเดลที่สร้างขึ้นจะมองเห็นได้โดยผู้ใช้คนอื่น โปรดอย่ารวมข้อมูลส่วนตัวหรือเนื้อหาที่มีลิขสิทธิ์"
    },
    "mode": {
      "fromText": "จากข้อความ",
      "fromImage": "จากรูปภาพ"
    },
    "text": {
      "label": "อธิบายโมเดล 3D:",
      "placeholder": "เช่น \"ถังไม้\", \"ต้นไม้โลว์โพลี\", \"ดาบสไตล์อนิเมะ\"",
      "previewBtn": "ดูตัวอย่างรูปภาพ",
      "needPrompt": "กรุณาป้อนพรอมต์ก่อน",
      "tooShort": "พรอมต์ต้องมีอย่างน้อย {min} ตัวอักษร",
      "generating": "กำลังสร้างตัวอย่าง…",
      "previewFailed": "การดูตัวอย่างล้มเหลว"
    },
    "image": {
      "label": "อัปโหลดรูปภาพของวัตถุ:",
      "dropPrimary": "คลิกเพื่อเลือกหรือลากรูปภาพมา",
      "dropHint": "PNG, JPG หรือ WEBP — สูงสุด 8MB",
      "tooLarge": "รูปภาพต้องมีขนาดน้อยกว่า 8MB",
      "uploading": "กำลังอัปโหลด…",
      "uploadFailed": "การอัปโหลดล้มเหลว",
      "labelInputLabel": "ใส่ป้ายกำกับให้รูปภาพนี้ (ใช้เพื่อให้ค้นหาได้):",
      "labelInputPlaceholder": "เช่น \"แอปเปิลแดง\", \"หมวกยุคกลาง\""
    },
    "preview": {
      "labelText": "ตัวอย่าง — ยืนยันเพื่อสร้างโมเดล 3D จากรูปภาพนี้:",
      "labelImage": "ตัวอย่าง — ยืนยันเพื่อสร้าง:",
      "refinePrompt": "ปรับพรอมต์",
      "chooseDifferent": "เลือกไฟล์อื่น",
      "confirm": "ยืนยันและสร้าง 3D"
    },
    "submit": {
      "submitting": "กำลังส่ง…",
      "submitFailed": "การส่งล้มเหลว",
      "cacheHit": "✓ พบโมเดลที่แชร์ตรงกัน — เพิ่มลงไลบรารีแล้ว"
    },
    "active": {
      "header": "กำลังดำเนินการ",
      "uploadedImage": "(รูปภาพที่อัปโหลด)",
      "stageQueued": "อยู่ในคิว",
      "stageStarting": "กำลังเริ่ม",
      "stageFetching": "กำลังดึงรูปภาพ",
      "stageGenerating": "กำลังสร้าง",
      "stageUploading": "กำลังอัปโหลด",
      "stageOrienting": "กำลังปรับทิศทาง",
      "failedLabel": "ล้มเหลว",
      "failedUnknown": "ข้อผิดพลาดที่ไม่ทราบ",
      "dismissFailed": "ปิด"
    },
    "library": {
      "scopeMine": "การสร้างของฉัน",
      "scopeCommunity": "ชุมชน",
      "refresh": "รีเฟรชไลบรารี",
      "search": "ค้นหาการสร้าง…",
      "empty": "ยังไม่มีการสร้าง",
      "emptyMatches": "ไม่พบผลลัพธ์ที่ตรงกัน",
      "emptyCommunity": "ยังไม่มีการสร้างในชุมชน",
      "notAvailable": "การสร้างโมเดล 3D ไม่พร้อมใช้งานบนแบ็กเอนด์นี้"
    },
    "errorPrefix": "ข้อผิดพลาด: {message}"
  },
  "soundFx": {
    "header": "เอฟเฟกต์เสียง",
    "usageTooltip": "จำนวนอัปโหลดต่อวัน รีเซ็ตเที่ยงคืน UTC",
    "daily": "วันนี้: {today}/{limit}",
    "notice": {
      "privateBold": "ไม่อยู่ในรายการสาธารณะ แต่ไม่ได้เป็นส่วนตัว",
      "privateBody": "มีเพียงคุณเท่านั้นที่สามารถใช้คลิปเหล่านี้ในแชทหรือในเกมของคุณ — แต่ไฟล์เสียงเองไม่มีการป้องกันด้วยการยืนยันตัวตน",
      "extract": "ใครก็ตามที่มี URL (เพื่อนที่คุณแชร์ให้ ผู้ที่ได้รับลิงก์ หรือผู้ที่เล่นเกมที่คุณเผยแพร่ซึ่งใช้คลิปนี้) สามารถดาวน์โหลดและนำเสียงไปใช้ใหม่ได้",
      "tokenHint": "URL ใช้โทเค็นแบบสุ่มยาวจึงยากต่อการเดา แต่ให้ถือว่าทุกสิ่งที่คุณอัปโหลดที่นี่เป็นเนื้อหาสาธารณะโดยพฤตินัย — อย่าอัปโหลดเสียงที่คุณไม่ต้องการให้คนอื่นดึงไปใช้"
    },
    "mode": {
      "upload": "อัปโหลด",
      "record": "บันทึก"
    },
    "upload": {
      "dropPrimary": "วางไฟล์เสียงหรือคลิกเพื่อเลือก",
      "dropHint": "ไม่เกิน 10 วินาที · wav, mp3, ogg, flac · สูงสุด 2 MB",
      "reading": "กำลังอ่านไฟล์…",
      "parseFailed": "ไม่สามารถแยกวิเคราะห์ไฟล์เสียงได้ ลองใช้รูปแบบอื่น",
      "tooLarge": "ไฟล์ใหญ่เกินไป ({mb} MB > 2 MB)",
      "tooLong": "คลิปยาวเกินไป ({s}วิ > {max}วิ)"
    },
    "record": {
      "btnStart": "บันทึก",
      "btnStop": "หยุด",
      "hint": "การบันทึกจะหยุดอัตโนมัติเมื่อครบ 10 วินาที คลิกอีกครั้งเพื่อหยุดก่อน",
      "micDenied": "การเข้าถึงไมโครโฟนถูกปฏิเสธ: {reason}",
      "recorderUnavailable": "ไม่สามารถใช้เครื่องบันทึกได้: {reason}",
      "encoding": "กำลังเข้ารหัส…",
      "encodeFailed": "การเข้ารหัสล้มเหลว: {reason}",
      "noAudio": "ไม่ได้บันทึกเสียง"
    },
    "staged": {
      "headerUpload": "คลิปที่เลือก",
      "headerRecording": "คลิปที่บันทึก",
      "labelPlaceholder": "ป้ายชื่อ (เช่น \"ระเบิด\", \"กระโดด\", \"โอ๊ย\")",
      "cancel": "ยกเลิก",
      "save": "บันทึก",
      "needLabel": "กรุณากรอกป้ายชื่อ",
      "labelTooLong": "ป้ายชื่อยาวเกินไป (สูงสุด {max})"
    },
    "library": {
      "header": "คลิปของฉัน",
      "refresh": "รีเฟรช",
      "empty": "อัปโหลดหรือบันทึกเพื่อเพิ่มคลิปแรกของคุณ",
      "loading": "กำลังโหลด…",
      "couldNotLoad": "ไม่สามารถโหลดได้: {reason}",
      "deleteConfirm": "ลบ \"{label}\" หรือไม่?",
      "deleteFailed": "ลบไม่สำเร็จ: {reason}",
      "addToChatTooltip": "เพิ่มคลิปนี้เป็นคำแนะนำสำหรับ AI Assistant",
      "deleteTooltip": "ลบ"
    },
    "save": {
      "uploading": "กำลังอัปโหลด…",
      "saved": "บันทึกแล้ว",
      "failed": "บันทึกไม่สำเร็จ: {reason}"
    }
  }
}
