// Thai (th).
export default {
  'brand': 'WebBrain',

  'sp.status.disconnected': 'ไม่ได้เชื่อมต่อ',
  'sp.status.connected': 'เชื่อมต่อแล้ว ({model})',
  'sp.status.error': 'ข้อผิดพลาด: {msg}',
  'sp.status.failed': 'เชื่อมต่อไม่สำเร็จ',
  'sp.btn.verbose': 'สลับบันทึกเครื่องมือแบบละเอียด',
  'sp.btn.language': 'ภาษา',
  'sp.btn.settings': 'การตั้งค่า',
  'sp.btn.clear': 'การสนทนาใหม่ (ล้างประวัติ)',
  'sp.btn.send': 'ส่ง',
  'sp.btn.stop.title': 'หยุดเอเจนต์',
  'sp.btn.stop.label': 'หยุด',

  'sp.inspection': 'WebBrain เริ่มตรวจสอบหน้านี้แล้ว',

  'sp.greeting.html': 'สวัสดี! ฉันคือ <strong>WebBrain</strong> ฉันสามารถอ่านหน้านี้ ตอบคำถาม คลิกปุ่ม กรอกแบบฟอร์ม และทำงานหลายขั้นตอนอัตโนมัติได้',
  'sp.greeting.hint': 'ลอง: “สรุปหน้านี้” หรือ “หาลิงก์ทั้งหมดเกี่ยวกับราคา”',
  'sp.help_message': 'ให้ช่วยอะไรในหน้านี้ดีคะ/ครับ?',
  'sp.cleared_message': 'ล้างการสนทนาแล้ว ให้ช่วยอะไรดี?',

  'sp.mode.ask': 'ถาม',
  'sp.mode.ask.title': 'ถามเกี่ยวกับหน้านี้ — ไม่มีการเปลี่ยนแปลง',
  'sp.mode.act': 'ทำ',
  'sp.mode.act.title': 'ให้ WebBrain คลิก พิมพ์ และนำทางแทนคุณ',
  'sp.mode.act.warning': 'โหมดทำ: WebBrain จะโต้ตอบกับหน้าเว็บแทนคุณ ใช้งานด้วยความเสี่ยงของคุณเอง',
  'sp.mode.act.confirm': 'โหมดทำให้ WebBrain สามารถคลิก พิมพ์ เลื่อน และนำทางแทนคุณ\n\nมันทำงานอยู่ในเซสชันเบราว์เซอร์ที่คุณล็อกอินอยู่ จึงมีสิทธิ์เข้าถึงเท่ากับคุณในทุกเว็บไซต์ที่คุณล็อกอินไว้\n\nคอยดูสิ่งที่มันทำ และหยุดเมื่อใดก็ได้ด้วยปุ่ม ◼\n\nดำเนินการต่อ?',

  'sp.input.ask_placeholder': 'ถามอะไรก็ได้เกี่ยวกับหน้านี้...',
  'sp.input.act_placeholder': 'บอกฉันว่าต้องทำอะไรในหน้านี้...',

  'sp.activity.thinking': 'กำลังคิด...',
  'sp.activity.thinking_step': 'กำลังคิด (ขั้นที่ {step})...',
  'sp.activity.continuing': 'กำลังดำเนินต่อ...',
  'sp.activity.stopping': 'กำลังหยุด...',

  'sp.copy': 'คัดลอก',
  'sp.copied': 'คัดลอกแล้ว!',
  'sp.copy.code.title': 'คัดลอกโค้ด',

  'sp.error_prefix': 'ข้อผิดพลาด: {msg}',
  'sp.stopped_by_user': '[ผู้ใช้หยุด]',
  'sp.stopped_by_user_html': '<em>ผู้ใช้หยุดแล้ว</em>',

  'sp.continue_bar': 'ถึงขีดจำกัดขั้นตอนแล้ว ({steps} ขั้น) ให้ทำต่อไหม?',
  'sp.continue_btn': 'ทำต่อ',

  'sp.step.details': 'รายละเอียด',
  'sp.step.input_label': 'อินพุต',
  'sp.step.result_label': 'ผลลัพธ์',

  'sp.api.enabled_html': '🔓 <strong>เปิดการแก้ไขผ่าน API</strong> สำหรับการสนทนานี้แล้ว เอเจนต์สามารถใช้ POST/PUT/PATCH/DELETE ผ่าน fetch_url และ execute_js เมื่อพิจารณาว่า API น่าเชื่อถือกว่า UI สำหรับขั้นตอนหนึ่ง โดย UI ยังคงเป็นค่าเริ่มต้น แฟล็กนี้จะถูกล้างเมื่อคุณรีเซ็ตการสนทนา',
  'sp.api.badge_html': '<span>🔓 อนุญาตการแก้ไขผ่าน API</span>',

  'tool.read_page': 'กำลังอ่านหน้า',
  'tool.get_interactive_elements': 'กำลังสแกนองค์ประกอบโต้ตอบได้',
  'tool.click': 'คลิก',
  'tool.type_text': 'พิมพ์',
  'tool.scroll': 'เลื่อน',
  'tool.navigate': 'นำทาง',
  'tool.extract_data': 'ดึงข้อมูล',
  'tool.wait_for_element': 'รอองค์ประกอบ',
  'tool.get_selection': 'อ่านการเลือก',
  'tool.execute_js': 'รันสคริปต์',
  'tool.new_tab': 'เปิดแท็บใหม่',
  'tool.screenshot': 'จับภาพหน้าจอ',
  'tool.done': 'กำลังปิดงาน',
  'tool.click.selector': 'คลิก “{selector}”',
  'tool.click.index': 'คลิกองค์ประกอบ #{index}',
  'tool.type_text.text': 'พิมพ์ “{text}”',
  'tool.navigate.url': 'ไปยัง {url}',
  'tool.new_tab.url': 'เปิด {url}',
  'tool.scroll.direction': 'เลื่อนไปทาง {direction}',
  'tool.extract_data.type': 'ดึง {type}',
  'tool.wait_for_element.selector': 'รอ “{selector}”',

  'st.title': 'การตั้งค่า WebBrain',
  'st.subtitle': 'ตั้งค่าผู้ให้บริการ LLM และการแสดงผล · v{version}',
  'st.tab.display': 'การแสดงผล',
  'st.tab.providers': 'ผู้ให้บริการ',
  'st.tab.vision': 'การมองเห็น',
  'st.tab.profile': 'โปรไฟล์',
  'st.tab.account': 'บัญชี',

  'st.account.not_signed_in': 'ยังไม่ได้เข้าสู่ระบบ',
  'st.account.sign_in': 'เข้าสู่ระบบ / สมัคร',
  'st.account.sign_out': 'ออกจากระบบ',
  'st.account.provider_name': 'WebBrain Cloud',

  'st.display.language.label': 'ภาษา',
  'st.display.language.desc': 'ภาษาของหน้าจอปลั๊กอิน WebBrain',
  'st.display.verbose.label': 'โหมดละเอียด',
  'st.display.verbose.desc': 'แสดงรายละเอียดการเรียกใช้เครื่องมือเต็ม อาร์กิวเมนต์ และผลลัพธ์ JSON ดิบ ปิดเป็นค่าเริ่มต้นเพื่อประสบการณ์แชตที่สะอาดขึ้น',
  'st.display.screenshot.label': 'สำรองด้วยภาพหน้าจอ',
  'st.display.screenshot.desc': 'จับภาพหน้าจอของหน้าเมื่ออ่าน DOM ไม่สำเร็จหรือได้เนื้อหาไม่เพียงพอ ต้องใช้โมเดลที่รองรับการมองเห็น',
  'st.display.site_adapters.label': 'อะแดปเตอร์เว็บไซต์',
  'st.display.site_adapters.desc': 'แทรกคำแนะนำสั้น ๆ ที่คัดสรรด้วยมือสำหรับเว็บไซต์ที่มีปริมาณการใช้งานสูง (GitHub, Gmail, Stripe, AWS ฯลฯ) ในข้อความแรกของเอเจนต์ ช่วยให้เอเจนต์หลีกเลี่ยงทางตันที่พบบ่อย เพิ่มค่าใช้จ่ายโทเค็นเล็กน้อยในเทิร์นแรกของการสนทนาบนเว็บไซต์ที่ตรงกัน',
  'st.display.auto_screenshot.label': 'จับภาพหน้าจออัตโนมัติ',
  'st.display.auto_screenshot.desc': 'จับภาพหน้าจอของวิวพอร์ตอัตโนมัติหลังจากเอเจนต์กระทำการบนหน้านั้น เพื่อให้โมเดลที่รองรับการมองเห็นรู้ว่าอะไรเปลี่ยนไป ใช้โทเค็นมากขึ้น และจะถูกปิดเงียบ ๆ หากโมเดลที่ใช้อยู่ไม่รองรับภาพ',
  'st.display.auto_screenshot.off': 'ปิด',
  'st.display.auto_screenshot.navigation': 'เมื่อมีการนำทาง',
  'st.display.auto_screenshot.state_change': 'เมื่อสถานะเปลี่ยน (ค่าเริ่มต้น)',
  'st.display.auto_screenshot.every_step': 'ทุกขั้น',
  'st.display.tracing.label': 'บันทึกการติดตาม (เพื่อเปรียบเทียบโมเดล)',
  'st.display.tracing.desc_html': 'จัดเก็บทุกการทำงาน (คำขอ LLM, การตอบกลับ, การเรียกใช้เครื่องมือ, ภาพหน้าจอ) ลงใน IndexedDB ในเครื่อง เพื่อให้คุณตรวจสอบและเปรียบเทียบโมเดลแบบเคียงข้างกันได้ จะเปิดในแท็บ Traces แยกต่างหาก ปิดเป็นค่าเริ่มต้นเพราะเพิ่มการเขียนดิสก์ในทุกขั้น <a href="traces.html" target="_blank" style="color:var(--accent);">เปิดหน้า Traces →</a>',
  'st.display.allow_local_network.label': 'อนุญาตให้เอเจนต์เข้าถึงเครือข่ายภายใน',
  'st.display.allow_local_network.desc': 'ให้เครื่องมือ fetch_url ของเอเจนต์เข้าถึง loopback (127.0.0.1, localhost) และที่อยู่ส่วนตัว/RFC1918 (10.x, 192.168.x, 172.16–31.x) มีประโยชน์สำหรับเซิร์ฟเวอร์พัฒนาภายใน เครื่องมืออินทราเน็ต หรือ API ที่โฮสต์เอง ปิดเป็นค่าเริ่มต้น — เมื่อปิด หน้าเว็บที่ถูกแทรก prompt-injection ไม่สามารถสั่งเอเจนต์ให้สำรวจเครือข่ายภายในของคุณได้ ส่วนที่อยู่เมตาดาตาคลาวด์ (169.254.169.254) และโฮสต์ *.internal/*.local จะยังถูกบล็อกแม้จะเปิดไว้',
  'st.display.notify_sound.label': 'เสียงเมื่อทำเสร็จ',
  'st.display.notify_sound.desc': 'เล่นเสียงสั้น ๆ ในแผงด้านข้างเมื่อเอเจนต์ทำภารกิจเสร็จ จะไม่เล่นถ้าคุณยกเลิกการทำงาน',
  'st.display.max_steps.label': 'จำนวนขั้นสูงสุดของเอเจนต์',
  'st.display.max_steps.desc': 'จำนวนขั้นการใช้เครื่องมือสูงสุดที่เอเจนต์ทำได้ต่อข้อความ ค่ามากขึ้นอนุญาตให้ทำภารกิจหลายขั้นที่ซับซ้อนกว่า แต่อาจใช้โทเค็นมากขึ้น',
  'st.display.traces_link.label': 'Traces',
  'st.display.traces_link.desc': 'ตรวจสอบการทำงานที่บันทึกไว้แบบเคียงข้างกัน ใช้ได้เฉพาะเมื่อเปิดการบันทึก Traces',
  'st.display.traces_link.open': 'เปิด Traces →',

  'st.providers.info.html': '<strong>เริ่มต้นกับ llama.cpp:</strong><br>รัน <code>llama-server -m your-model.gguf --port 8080</code> เพื่อสตาร์ตเซิร์ฟเวอร์ในเครื่อง<br>ไม่ต้องใช้คีย์ API — ทำงานในเครื่องของคุณทั้งหมด',
  'st.providers.save': 'บันทึก',
  'st.providers.test': 'ทดสอบการเชื่อมต่อ',
  'st.providers.set_active': 'ตั้งเป็นใช้งาน',
  'st.providers.active': 'ใช้งานอยู่',
  'st.providers.saved': 'บันทึกแล้ว!',
  'st.providers.testing': 'กำลังทดสอบ...',
  'st.providers.connected': 'เชื่อมต่อแล้ว! โมเดล: {model}',
  'st.providers.unknown_model': 'ไม่ทราบ',
  'st.providers.failed': 'ล้มเหลว: {error}',
  'st.providers.load_models': 'โหลดโมเดล',
  'st.providers.loading': 'กำลังโหลด…',
  'st.providers.models_loaded': 'โหลดแล้ว {count} โมเดล',

  'st.provider.field.server_url': 'URL เซิร์ฟเวอร์',
  'st.provider.field.api_base_url': 'URL ฐานของ API',
  'st.provider.field.api_key': 'คีย์ API',
  'st.provider.field.model': 'โมเดล',
  'st.provider.field.model_optional': 'โมเดล (ไม่บังคับ)',
  'st.provider.field.supports_vision': 'โมเดลรองรับการมองเห็น (มัลติโมดัล)',
  'st.provider.field.compact_prompt': 'Prompt แบบกระชับ (แนะนำสำหรับโมเดลขนาดเล็ก เปิดเป็นค่าเริ่มต้น)',
  'st.provider.field.model_loaded_hint': 'เว้นว่างเพื่อใช้โมเดลที่โหลดไว้',

  'st.vision.desc': 'หากตั้งค่าไว้ ภาพหน้าจอจะถูกส่งไปยังโมเดลนี้เพื่ออ่านหน้า ขณะที่ผู้ให้บริการที่ใช้งานอยู่จะดูแลการวางแผนและการเรียกใช้เครื่องมือ เว้นว่างเพื่อให้ผู้ให้บริการที่ใช้งานอยู่ดูแลการมองเห็นด้วย รองรับเฉพาะปลายทางที่เข้ากันได้กับ OpenAI',
  'st.vision.save': 'บันทึก',
  'st.vision.test': 'ทดสอบการเชื่อมต่อ',
  'st.vision.clear': 'ล้าง',
  'st.vision.cleared': 'ล้างแล้ว',
  'st.vision.saved': 'บันทึกแล้ว!',
  'st.vision.testing': 'กำลังทดสอบ...',
  'st.vision.connected': 'เชื่อมต่อแล้ว! โมเดล: {model}',
  'st.vision.failed': 'ล้มเหลว: {error}',
  'st.vision.fill_required': 'กรอก URL ฐานและโมเดลก่อน',

  'st.profile.desc_html': 'เก็บประวัติสั้น ๆ ที่เอเจนต์ใช้กรอกฟอร์มสมัครสมาชิกได้โดยไม่ต้องถามทุกครั้ง — ชื่อ อีเมลที่ทำงาน บริษัท และรหัสผ่าน <em>ใช้แล้วทิ้ง</em> สำหรับการสมัครที่มีความเสี่ยงต่ำ เมื่อเปิดใช้งาน ข้อความด้านล่างจะถูกต่อท้าย system prompt ของเอเจนต์ในทุกการสนทนา',
  'st.profile.enabled.label': 'เปิดการกรอกโปรไฟล์อัตโนมัติ',
  'st.profile.enabled.desc': 'แทรกข้อความโปรไฟล์ลงใน system prompt ของเอเจนต์ ปิดอยู่ = เอเจนต์จะไม่เห็นข้อความนี้เลย',
  'st.profile.text.label': 'ข้อความโปรไฟล์',
  'st.profile.text.placeholder': 'ฉันคือ Jane Doe อีเมลคือ jane@example.com ทำงานที่ Acme Inc. รหัสผ่านเริ่มต้นสำหรับการสมัครเสี่ยงต่ำคือ SomePhrase-42! อาศัยอยู่ที่เบอร์ลิน',
  'st.profile.save': 'บันทึก',
  'st.profile.clear': 'ล้าง',
  'st.profile.saved': 'บันทึกแล้ว',
  'st.profile.cleared': 'ล้างแล้ว',
  'st.profile.security_html': '<strong>ความปลอดภัย — โปรดอ่าน:</strong><br><ul style="margin:6px 0 0 18px;padding:0;line-height:1.55;"><li>ข้อความที่คุณกรอกที่นี่ถูกเก็บ <strong>เป็นข้อความธรรมดา</strong> ใน local storage ของเบราว์เซอร์ มัน <strong>จะไม่</strong> ถูกส่งไปยังโปรเจกต์ WebBrain — แต่ <strong>จะถูกส่ง</strong> ไปยังผู้ให้บริการ LLM ที่คุณตั้งค่าไว้ในทุกเทิร์น ในฐานะส่วนหนึ่งของ system prompt</li><li><strong>อย่าใส่รหัสผ่านของบัญชีสำคัญ</strong> ที่นี่ (Google, Apple, iCloud, ธนาคาร, SSO ที่ทำงาน, อีเมลหลัก) บัญชีเหล่านั้นควรใช้ 2FA และไม่ควรมอบให้เอเจนต์อยู่แล้ว</li><li>กรณีใช้งานที่ตั้งใจคือ <strong>รหัสผ่านใช้แล้วทิ้ง</strong> ที่คุณใช้ซ้ำสำหรับการสมัครเว็บไซต์เสี่ยงต่ำ (จดหมายข่าว ทดลองใช้ฟรี บัญชีฟอรัม)</li><li>หากโปรไฟล์เบราว์เซอร์นี้ถูกบุกรุก ผู้โจมตีที่เข้าถึงดิสก์ได้จะอ่านข้อความนี้ได้ ควรเก็บให้น้อยที่สุด</li></ul>',

  'tr.title': 'Traces ของ WebBrain',
  'tr.runs': '{n} ครั้ง',
  'tr.run': '{n} ครั้ง',
  'tr.btn.refresh': '↻ รีเฟรช',
  'tr.btn.refresh.title': 'โหลดรายการการทำงานใหม่',
  'tr.btn.compare': '⇔ เปรียบเทียบ',
  'tr.btn.compare.title': 'เข้าสู่โหมดเปรียบเทียบ (เลือก 2 ครั้ง)',
  'tr.btn.compare.picking': '⇔ เปรียบเทียบ (เลือก 2)',
  'tr.btn.export': '⇩ ส่งออก JSON',
  'tr.btn.export.title': 'ส่งออกการทำงานที่เลือกเป็น JSON',
  'tr.btn.delete': '✕ ลบ',
  'tr.btn.delete.title': 'ลบการทำงานที่เลือก',
  'tr.btn.clear_all': 'ล้างทั้งหมด',
  'tr.btn.clear_all.title': 'ลบการทำงานที่จัดเก็บไว้ทั้งหมด',

  'tr.filter.placeholder': 'กรองตามภารกิจ / โมเดล / URL',
  'tr.filter.all_models': 'โมเดลทั้งหมด',
  'tr.no_match': 'ไม่มีการทำงานที่ตรงกัน',
  'tr.no_task': '(ไม่มีภารกิจ)',

  'tr.conversation.label': 'การสนทนา',
  'tr.conversation.turn_of': 'เทิร์น {n} จาก {total}',
  'tr.conversation.tooltip': 'ส่วนหนึ่งของการสนทนา {n} เทิร์น ({id}) เปิดการทำงานเพื่อสลับระหว่างเทิร์น',

  'tr.cost.label': 'ค่าใช้จ่าย:',
  'tr.cost.tooltip': 'ค่าใช้จ่ายรวมของ LLM ที่ผู้ให้บริการรายงาน (USD) เน้นเป็นสีส้มเมื่อ ≥ $0.50 โดยไม่มีคำตอบสุดท้าย — น่าจะเป็นการทำงานที่เสียเปล่า',

  'tr.empty.title': 'ยังไม่ได้เลือกการทำงาน',
  'tr.empty.hint_html': 'เลือกการทำงานจากด้านซ้ายเพื่อดูไทม์ไลน์ทีละขั้น คลิก <b>เปรียบเทียบ</b> เพื่อเลือกสองครั้งและดูแบบเคียงข้างกัน',

  'tr.compare_mode.title': 'โหมดเปรียบเทียบ',
  'tr.compare_mode.picked': 'เลือกแล้ว {n}/2 คลิกอีกหนึ่งครั้งเพื่อให้การเปรียบเทียบสมบูรณ์',
  'tr.compare_mode.hint': 'คลิกการทำงานสองรายการในรายการเพื่อเปรียบเทียบเคียงข้างกัน',

  'tr.status.label': 'สถานะ',
  'tr.steps.label': 'ขั้น',
  'tr.step': '{n} ขั้น',
  'tr.steps_plural': '{n} ขั้น',
  'tr.duration.label': 'ระยะเวลา',
  'tr.intokens.label': 'โทเค็นเข้า',
  'tr.outtokens.label': 'โทเค็นออก',
  'tr.tokens_short': '{n} tok',
  'tr.unknown_model': 'ไม่ทราบ',
  'tr.final_label': 'สุดท้าย:',

  'tr.deleted': 'ลบแล้ว',
  'tr.all_deleted': 'ลบการทำงานทั้งหมดแล้ว',
  'tr.select_first': 'โปรดเลือกการทำงานก่อน',
  'tr.confirm_delete': 'ลบการทำงานนี้?',
  'tr.confirm_delete_all': 'ลบการทำงานที่บันทึกไว้ทั้งหมด? ไม่สามารถย้อนกลับได้',

  'tr.event.llm_request': '→ คำขอ LLM',
  'tr.event.llm_response': '← การตอบกลับ LLM',
  'tr.event.vision_sub_call': '👁 การเรียกย่อยด้านการมองเห็น',
  'tr.event.error_kind': '⚠ ข้อผิดพลาด',
  'tr.event.messages_tools': '{m} ข้อความ, {t} เครื่องมือ · {model}',
  'tr.event.screenshot_caption': 'ภาพหน้าจอ',
  'tr.event.screenshot_missing': '(ไม่พบ blob ของภาพหน้าจอ)',
  'tr.event.description_truncated': '... [ถูกตัดในมุมมองเปรียบเทียบ]',
  'tr.event.vision_failed': 'การเรียกย่อยด้านการมองเห็นล้มเหลว: {error}',
  'tr.event.description': 'คำอธิบาย',
  'tr.event.args': 'อาร์กิวเมนต์',
  'tr.event.result': 'ผลลัพธ์',
  'tr.event.step': 'ขั้น {step}',
};
