greentic-setup-dev 1.1.27821248534

End-to-end bundle setup engine for the Greentic platform — pack discovery, QA-driven configuration, secrets persistence, and bundle lifecycle management
Documentation
{
  "cli.bundle.add.adding": "กำลังเพิ่ม pack ไปยัง bundle...",
  "cli.bundle.add.bundle": "  Bundle: {}",
  "cli.bundle.add.created_structure": "สร้างโครงสร้าง bundle แล้วที่ {}",
  "cli.bundle.add.dry_run": "[dry-run] จะเพิ่ม pack ไปยัง bundle",
  "cli.bundle.add.env": "  Env: {}",
  "cli.bundle.add.pack_ref": "  Pack ref: {}",
  "cli.bundle.add.resolved": "  Packs ที่แก้ไขแล้ว: {}",
  "cli.bundle.add.success": "เพิ่ม pack ไปยัง bundle สำเร็จแล้ว",
  "cli.bundle.add.team": "  Team: {}",
  "cli.bundle.add.tenant": "  Tenant: {}",
  "cli.bundle.add.version_warning": "คำเตือน: การตรวจสอบเวอร์ชัน {} ล้มเหลว: {}",
  "cli.bundle.build.building": "กำลังสร้าง bundle แบบพกพา...",
  "cli.bundle.build.output": "  Output: {}",
  "cli.bundle.build.running_doctor": "กำลังรันการตรวจสอบ doctor...",
  "cli.bundle.build.success": "สร้าง bundle สำเร็จที่ {}",
  "cli.bundle.init.created": "สร้าง bundle แล้วที่ {}",
  "cli.bundle.init.creating": "กำลังสร้าง bundle ที่ {}...",
  "cli.bundle.init.exists": "Bundle มีอยู่แล้วที่ {}",
  "cli.bundle.init.next_steps": "ขั้นตอนถัดไป:",
  "cli.bundle.init.step_add": "  1. greentic-setup bundle add <pack.gtpack> --bundle {}",
  "cli.bundle.init.step_setup": "  2. greentic-setup bundle setup --bundle {} --answers answers.yaml",
  "cli.bundle.list.bundle": "Bundle: {}",
  "cli.bundle.list.domain": "Domain: {}",
  "cli.bundle.list.packs_found": "พบ Packs: {}",
  "cli.bundle.remove.cancelled": "การลบถูกยกเลิก - ใช้ --force เพื่อยืนยัน",
  "cli.bundle.remove.complete": "ลบ provider แล้ว: {}",
  "cli.bundle.remove.confirm": "การดำเนินการนี้จะลบการกำหนดค่า provider",
  "cli.bundle.remove.removing": "กำลังลบ provider...",
  "cli.bundle.remove.use_force": "ใช้ --force เพื่อยืนยัน",
  "cli.bundle.setup.complete": "ตั้งค่า provider เสร็จสมบูรณ์: {}",
  "cli.bundle.setup.domain": "  Domain: {}",
  "cli.bundle.setup.dry_run": "[dry-run] จะตั้งค่า provider: {}",
  "cli.bundle.setup.emit_usage": "แก้ไขและใช้งานด้วย: greentic-setup bundle setup --answers {}",
  "cli.bundle.setup.emit_written": "เขียนเทมเพลตคำตอบไปยัง: {}",
  "cli.bundle.setup.env_bootstrap_created": "บูตสแตรปสภาพแวดล้อม `local` พร้อมการผูกความสามารถเริ่มต้นที่ {}.",
  "cli.bundle.setup.interactive_not_impl": "การตั้งค่าแบบโต้ตอบยังไม่ได้ใช้งาน",
  "cli.bundle.setup.provider": "  Provider: {}",
  "cli.bundle.setup.setting_up": "กำลังตั้งค่า provider...",
  "cli.bundle.setup.use_answers": "ใช้ --answers <file> เพื่อระบุคำตอบสำหรับการตั้งค่า",
  "cli.bundle.setup.use_emit_answers": "หรือใช้ --emit-answers <file> เพื่อสร้างเทมเพลตคำตอบ",
  "cli.bundle.status.bundle_label": "Bundle: {}",
  "cli.bundle.status.not_found": "ไม่พบ bundle: {}",
  "cli.bundle.status.packs": "Packs: {} ติดตั้งแล้ว",
  "cli.bundle.status.tenants": "Tenants: {}",
  "cli.bundle.status.valid_no": "ไม่ (ไม่มี greentic.demo.yaml)",
  "cli.bundle.status.valid_yes": "ใช่",
  "cli.bundle.update.complete": "อัปเดต provider เสร็จสมบูรณ์: {}",
  "cli.bundle.update.dry_run": "[dry-run] จะอัปเดต provider: {}",
  "cli.bundle.update.emit_usage": "แก้ไขและใช้งานด้วย: greentic-setup bundle update --answers {}",
  "cli.bundle.update.updating": "กำลังอัปเดตการกำหนดค่า provider...",
  "cli.error.answers_required": "ต้องใช้ --answers ในโหมดไม่โต้ตอบ",
  "cli.error.failed_build_plan": "ไม่สามารถสร้างแผน",
  "cli.error.failed_create_bundle": "ไม่สามารถสร้างโครงสร้าง bundle",
  "cli.error.failed_emit_answers": "ไม่สามารถสร้างเทมเพลตคำตอบ",
  "cli.error.failed_execute_plan": "ไม่สามารถดำเนินการตามแผน",
  "cli.error.failed_read_answers": "ไม่สามารถอ่านไฟล์คำตอบ",
  "cli.error.interactive_required": "การตั้งค่าแบบโต้ตอบต้องใช้ไฟล์ --answers",
  "cli.error.invalid_bundle": "ไดเรกทอรี bundle ไม่ถูกต้อง",
  "cli.help.for_help": "สำหรับความช่วยเหลือ: greentic-setup --help",
  "cli.simple.bundle_required": "ต้องระบุเส้นทาง bundle การใช้งาน: greentic-setup [OPTIONS] <BUNDLE>",
  "cli.simple.dry_run": "[dry-run] จะตั้งค่า bundle: {}",
  "cli.simple.emit_usage": "แก้ไขและใช้งานด้วย: greentic-setup --answers {} {}",
  "cli.simple.expected_bundle_format": "คาดหวังไดเรกทอรีหรือไฟล์ .gtbundle: {}",
  "cli.simple.extracted_to": "  แตกไฟล์ไปยัง: {}",
  "cli.simple.extracting": "กำลังแตกไฟล์ .gtbundle archive...",
  "cli.simple.header": "Greentic Setup",
  "cli.simple.interactive_mode": "โหมดวิซาร์ดแบบโต้ตอบ",
  "cli.simple.wizard_not_impl": "วิซาร์ดแบบโต้ตอบยังไม่ได้ใช้งาน - ใช้ --answers <file>",
  "env_wizard.basic_mode": "โหมดพื้นฐาน — ส่ง --advanced เพื่อกำหนดรหัสลูกค้า, การแทนที่การตั้งค่า, โฮสต์เส้นทาง, โฟลว์ต้อนรับ และการอ้างอิงความลับของเอนด์พอยต์ด้วย",
  "env_wizard.dry_run_secrets_note": "หมายเหตุ: --dry-run แสดงตัวอย่างเท่านั้น — ค่าความลับที่วางจำนวน {} รายการที่คุณป้อนจะไม่ถูกเขียนลงในสโตร์ เรียกใช้ใหม่โดยไม่ใช้ --dry-run และยืนยันแผนเพื่อบันทึกค่าเหล่านั้น",
  "env_wizard.form.desc": "สร้างแมนิเฟสต์ `greentic.env-manifest.v1` — เอกสารสถานะที่ต้องการสำหรับหนึ่งสภาพแวดล้อม ซึ่งคงทนและนำกลับมาใช้ซ้ำได้",
  "env_wizard.form.title": "การตั้งค่าสภาพแวดล้อม",
  "env_wizard.list.bundles.item_label": "บันเดิล",
  "env_wizard.list.messaging_endpoints.item_label": "เอนด์พอยต์ส่งข้อความ",
  "env_wizard.list.secrets.item_label": "ความลับ",
  "env_wizard.manifest_prompt": "ไฟล์แมนิเฟสต์ [{}]: ",
  "env_wizard.q.bundle_id.desc": "คีย์ธรรมชาติ — ไม่ซ้ำกันภายในแมนิเฟสต์",
  "env_wizard.q.bundle_id.title": "รหัสบันเดิล",
  "env_wizard.q.bundle_path.desc": "ไฟล์ `.gtbundle` ในเครื่อง พาธสัมพัทธ์จะอ้างอิงจากไดเรกทอรีของไฟล์แมนิเฟสต์",
  "env_wizard.q.bundle_path.title": "พาธบันเดิล",
  "env_wizard.q.bundles.desc": "การปรับใช้บันเดิลสำหรับสภาพแวดล้อมนี้",
  "env_wizard.q.bundles.title": "บันเดิล",
  "env_wizard.q.config_overrides.desc": "ออบเจ็กต์ JSON `{\"<pack_id>\": {\"<key>\": <value>}}` เว้นว่าง = ไม่แตะต้อง; `{}` = ล้างอย่างชัดเจน",
  "env_wizard.q.config_overrides.title": "การแทนที่การตั้งค่า (JSON)",
  "env_wizard.q.customer_id.desc": "ตัวการสำหรับการเรียกเก็บเงิน — จำเป็นต่อการ apply สำหรับสภาพแวดล้อมที่ไม่ใช่ `local`",
  "env_wizard.q.customer_id.title": "รหัสลูกค้า",
  "env_wizard.q.environment_id.desc": "สภาพแวดล้อมที่จะ apply กับ `local` จะบูตสแตรปด้วยการผูก env-pack เริ่มต้น; รหัสอื่นต้องมีอยู่แล้ว (apply จะปรับให้ตรงกัน; การสร้างสภาพแวดล้อมที่ไม่ใช่ local สงวนไว้สำหรับสโตร์ของผู้ปฏิบัติการ)",
  "env_wizard.q.environment_id.title": "รหัสสภาพแวดล้อม",
  "env_wizard.q.from_env.desc": "ชื่อของตัวแปรที่เก็บค่าความลับ (เช่น TELEGRAM_BOT_TOKEN) — เป็นชื่อเท่านั้น ไม่ใช่ค่า จำเป็นเมื่อแหล่งที่มาคือ `env`",
  "env_wizard.q.from_env.title": "ชื่อตัวแปรสภาพแวดล้อม",
  "env_wizard.q.links.desc": "`bundle_id` ที่คั่นด้วยจุลภาคซึ่งเอนด์พอยต์นี้ยอมรับ",
  "env_wizard.q.links.title": "รหัสบันเดิลที่ลิงก์",
  "env_wizard.q.messaging_endpoints.desc": "เอนด์พอยต์ส่งข้อความและลิงก์บันเดิลของเอนด์พอยต์เหล่านั้น",
  "env_wizard.q.messaging_endpoints.title": "เอนด์พอยต์ส่งข้อความ",
  "env_wizard.q.name.desc": "แฮนเดิลภายในแมนิเฟสต์และชื่อที่แสดง คีย์ upsert ใช้ร่วมกับประเภทผู้ให้บริการ",
  "env_wizard.q.name.title": "ชื่อเอนด์พอยต์",
  "env_wizard.q.path.desc": "`<tenant>/<team>/<pack>/<name>`, เช่น default/_/messaging-telegram/telegram_bot_token",
  "env_wizard.q.path.title": "พาธความลับ",
  "env_wizard.q.provider_type.desc": "คลาสผู้ให้บริการ เช่น messaging.telegram.bot",
  "env_wizard.q.provider_type.title": "ประเภทผู้ให้บริการ",
  "env_wizard.q.public_base_url.desc": "URL เฉพาะ origin ที่บันทึกไว้บนสภาพแวดล้อม (เช่น https://bots.example.com) เว้นว่างไว้เพื่อคงค่าปัจจุบัน",
  "env_wizard.q.public_base_url.title": "URL ฐานสาธารณะ",
  "env_wizard.q.route_hosts.desc": "ชื่อโฮสต์ที่คั่นด้วยจุลภาคสำหรับการผูกเส้นทาง",
  "env_wizard.q.route_hosts.title": "โฮสต์เส้นทาง",
  "env_wizard.q.route_path_prefixes.desc": "คำนำหน้าพาธ HTTP ที่คั่นด้วยจุลภาค โดยแต่ละรายการขึ้นต้นด้วย `/` (เช่น /legal)",
  "env_wizard.q.route_path_prefixes.title": "คำนำหน้าพาธเส้นทาง",
  "env_wizard.q.route_team.desc": "ทีมสำหรับตัวเลือก tenant ของการผูกเส้นทาง — ตั้งค่าพร้อมกับ `route_tenant`",
  "env_wizard.q.route_team.title": "ทีมเส้นทาง",
  "env_wizard.q.route_tenant.desc": "Tenant สำหรับตัวเลือก tenant ของการผูกเส้นทาง — ตั้งค่าพร้อมกับ `route_team`",
  "env_wizard.q.route_tenant.title": "Tenant เส้นทาง",
  "env_wizard.q.secret_refs.desc": "การอ้างอิงความลับที่คั่นด้วยจุลภาค ซึ่งส่งต่อเมื่อสร้างเอนด์พอยต์",
  "env_wizard.q.secret_refs.title": "การอ้างอิงความลับ",
  "env_wizard.q.secrets.desc": "รายการความลับใน dev-store ค่าของแต่ละความลับมาจากตัวแปรสภาพแวดล้อมที่ระบุชื่อไว้ หรือจากค่าที่คุณวาง — ค่าจะไม่ถูกใส่ลงในแมนิเฟสต์",
  "env_wizard.q.secrets.title": "ความลับ",
  "env_wizard.q.source.desc": "`env` อ่านค่าจากตัวแปรสภาพแวดล้อมที่ระบุชื่อไว้ตอน apply; `paste` ให้คุณป้อนค่าแบบโต้ตอบ — ค่าจะถูกเก็บในสโตร์ความลับของสภาพแวดล้อม ไม่ใช่ในแมนิเฟสต์",
  "env_wizard.q.source.title": "แหล่งที่มาของความลับ",
  "env_wizard.q.trust_root_bootstrap.desc": "ตั้งต้น trust root ของสภาพแวดล้อมด้วยคีย์ผู้ปฏิบัติการในเครื่อง (ทำซ้ำได้โดยไม่เปลี่ยนผลลัพธ์; จำเป็นหนึ่งครั้งก่อนจะจัดเตรียมบันเดิลได้)",
  "env_wizard.q.trust_root_bootstrap.title": "บูตสแตรปรากความเชื่อถือหรือไม่?",
  "env_wizard.q.webchat_gui.desc": "ให้บริการคอนโซลเว็บแชตในตัว เพื่อให้คุณแชตกับสภาพแวดล้อมนี้ได้โดยเปิด URL ของมันในเบราว์เซอร์ เปิดไว้ตามค่าเริ่มต้นสำหรับ `local`; พาธแชตเป็นแบบ loopback-only และไม่ต้องยืนยันตัวตน ดังนั้นให้ปิดไว้สำหรับสภาพแวดล้อมที่เปิดผ่าน URL สาธารณะ เว้นแต่คุณตั้งใจจะใช้เช่นนั้น",
  "env_wizard.q.webchat_gui.title": "เพิ่ม GUI เว็บแชตหรือไม่?",
  "env_wizard.q.welcome_bundle_id.desc": "ตั้งค่าฟิลด์ welcome_* ทั้งสามพร้อมกัน (หรือไม่ตั้งเลย)",
  "env_wizard.q.welcome_bundle_id.title": "โฟลว์ต้อนรับ: bundle id",
  "env_wizard.q.welcome_flow_id.desc": "ตั้งค่าฟิลด์ welcome_* ทั้งสามพร้อมกัน (หรือไม่ตั้งเลย)",
  "env_wizard.q.welcome_flow_id.title": "โฟลว์ต้อนรับ: flow id",
  "env_wizard.q.welcome_pack_id.desc": "ตั้งค่าฟิลด์ welcome_* ทั้งสามพร้อมกัน (หรือไม่ตั้งเลย)",
  "env_wizard.q.welcome_pack_id.title": "โฟลว์ต้อนรับ: pack id",
  "env_wizard.secrets.choose": "สำหรับแต่ละรายการ ให้เลือกว่าค่ามาจากที่ใด: ตัวแปรสภาพแวดล้อม\nที่มีชื่อ หรือวางค่าตอนนี้ ค่าที่วางจะถูกเก็บในที่จัดเก็บข้อมูลลับ\nของสภาพแวดล้อม — ไม่ถูกเขียนลงใน manifest",
  "env_wizard.secrets.entry": "{} — {} (บันเดิล: {}){}",
  "env_wizard.secrets.envvar_prompt": "ชื่อตัวแปรสภาพแวดล้อม [{}]: ",
  "env_wizard.secrets.envvar_required": "ต้องระบุชื่อตัวแปรสภาพแวดล้อม",
  "env_wizard.secrets.keep_env_note": "หมายเหตุ: เก็บข้อมูลลับเดิม `{}` ไว้ (ไม่ได้สร้างบันเดิลใหม่)",
  "env_wizard.secrets.keep_paste_note": "หมายเหตุ: เก็บข้อมูลลับที่วางไว้เดิม `{}` ไว้ (ไม่ได้สร้างบันเดิลใหม่)",
  "env_wizard.secrets.need": "ข้อมูลลับ — บันเดิลที่กำหนดค่าต้องใช้ข้อมูลลับ {} รายการ",
  "env_wizard.secrets.none": "ข้อมูลลับ — บันเดิลที่กำหนดค่าไม่ได้ประกาศข้อมูลลับใด ๆ ไม่มีอะไรต้องกรอก",
  "env_wizard.secrets.optional_suffix": " [ไม่บังคับ]",
  "env_wizard.secrets.paste_prompt": "วางค่า (ซ่อนไว้, บรรทัดเดียว): ",
  "env_wizard.secrets.paste_prompt_keep": "วางค่า (ซ่อนไว้, บรรทัดเดียว; เว้นว่างเพื่อเก็บค่าที่บันทึกไว้): ",
  "env_wizard.secrets.paste_required": "ต้องระบุค่า",
  "env_wizard.secrets.path": "พาธข้อมูลลับ: {}",
  "env_wizard.secrets.source_invalid": "ป้อน 1 (ตัวแปรสภาพแวดล้อม) หรือ 2 (วาง)",
  "env_wizard.secrets.source_prompt": "ค่ามาจาก [1] ตัวแปรสภาพแวดล้อม หรือ [2] วางตอนนี้? [{}]: ",
  "env_wizard.wrote_manifest": "เขียน `{}` แล้ว — manifest คืออาร์ติแฟกต์ที่คงทน ให้เก็บไว้ในระบบควบคุมเวอร์ชัน",
  "setup.answers.emitted": "เขียนเทมเพลตคำตอบไปยัง {}",
  "setup.answers.loaded": "โหลดคำตอบจาก {}",
  "setup.capability.not_found": "ไม่พบ capability '{}'",
  "setup.capability.resolved": "แก้ไข capability แล้ว: pack_id={} stable_id={}",
  "setup.discovering_packs": "กำลังค้นหา packs ใน bundle...",
  "setup.dry_run.header": "แผนการตั้งค่า (dry-run):",
  "setup.error.bundle_not_found": "ไม่พบ bundle: {}",
  "setup.error.protocol_not_supported": "ยังไม่รองรับ protocol: {}",
  "setup.error.version_mismatch": "เวอร์ชัน tag ({}) ไม่ตรงกับเวอร์ชัน crate ({})",
  "setup.execute.failed": "ตั้งค่าล้มเหลว: {}",
  "setup.execute.success": "ตั้งค่าเสร็จสมบูรณ์: {}",
  "setup.found_packs": "พบ {} pack(s): {}",
  "setup.plan.header": "แผนการตั้งค่า:",
  "setup.plan.step.collect_answers": "รวบรวมคำตอบสำหรับ {}",
  "setup.plan.step.discover": "ค้นหา packs",
  "setup.plan.step.resolve": "สร้าง resolved manifest",
  "setup.plan.step.run_setup": "รัน setup flow สำหรับ {}",
  "setup.plan.step.seed_secrets": "เพิ่ม secrets สำหรับ {}",
  "setup.plan.step.validate": "ตรวจสอบ bundle",
  "setup.plan.step.webhooks": "ลงทะเบียน webhooks สำหรับ {}",
  "setup.plan.step.write_config": "เขียน config สำหรับ {}",
  "setup.qa.invalid_choice": "ตัวเลือกไม่ถูกต้อง ตัวเลือกที่มี: {}",
  "setup.qa.list.add_first": "เพิ่ม {} หรือไม่? [y/N] ",
  "setup.qa.list.add_more": "เพิ่ม {} อีกหรือไม่? [y/N] ",
  "setup.qa.list.field_required_row": "ฟิลด์นี้จำเป็น — ต้องมีอย่างน้อยหนึ่งแถว",
  "setup.qa.list.max_reached": "(ถึงจำนวนสูงสุด {} แถวแล้ว)",
  "setup.qa.list.min_required": "ต้องมีอย่างน้อย {} แถว — มี {} แถว พิมพ์ 'y' เพื่อเพิ่มอีกแถว",
  "setup.qa.list.row_dropped": "(ทิ้งแถวแล้ว — คอลัมน์ที่จำเป็นว่างเปล่า)",
  "setup.qa.list.row_header": "แถว #{}:",
  "setup.qa.prompt.configuring": "กำลังกำหนดค่า {}: {}",
  "setup.qa.prompt.default": "(ค่าเริ่มต้น: {}) ",
  "setup.qa.prompt.field_required": "ฟิลด์นี้จำเป็น",
  "setup.qa.prompt.invalid_choice": "ตัวเลือกไม่ถูกต้อง ตัวเลือก: {}",
  "setup.qa.prompt.invalid_format": "รูปแบบไม่ถูกต้อง รูปแบบที่คาดไว้: {}",
  "setup.qa.prompt.mode_advanced": " (ขั้นสูง)",
  "setup.qa.prompt.optional_marker": " (ไม่บังคับ)",
  "setup.qa.prompt.required_marker": " (จำเป็น)",
  "setup.qa.question_prompt": "{}",
  "setup.qa.required_field": "ช่องนี้จำเป็นต้องกรอก",
  "setup.qa.secret_input": "ป้อนค่า secret (ซ่อน):",
  "setup.secrets.failed": "ไม่สามารถเพิ่ม secrets สำหรับ provider={} tenant={}: {}",
  "setup.secrets.seeded": "เพิ่ม {} secret(s) สำหรับ provider={} tenant={}",
  "setup.state_store.fallback": "ใช้ state store แบบ in-memory (ไม่มี Redis URL)",
  "setup.state_store.upgraded": "อัปเกรด state store เป็น Redis: {}",
  "ui.back": "ย้อนกลับ",
  "ui.close": "ปิด",
  "ui.configure": "กำหนดค่า {}",
  "ui.continue": "ดำเนินการต่อ",
  "ui.dashboard.add_scope": "เพิ่มขอบเขต",
  "ui.dashboard.back": "กลับไปยังแดชบอร์ด",
  "ui.dashboard.configured": "กำหนดค่าแล้ว",
  "ui.dashboard.delete": "ลบ",
  "ui.dashboard.description": "กำหนดค่าผู้ให้บริการ {} รายใน {} สร้างหลายขอบเขตสำหรับผู้เช่า/สภาพแวดล้อมที่แตกต่างกัน",
  "ui.dashboard.executed": "ดำเนินการแล้ว",
  "ui.dashboard.export": "ส่งออกคำตอบ",
  "ui.description": "กำหนดค่าผู้ให้บริการ {} ใน {}",
  "ui.discovering": "กำลังค้นหาผู้ให้บริการ...",
  "ui.discovering_sub": "กำลังอ่านการกำหนดค่าบันเดิล",
  "ui.done": "เสร็จสิ้น",
  "ui.execute_setup": "เรียกใช้การตั้งค่า",
  "ui.executing.sub": "กำลังใช้การกำหนดค่ากับบันเดิล",
  "ui.executing.title": "กำลังเรียกใช้การตั้งค่า...",
  "ui.export.description": "ดาวน์โหลดการกำหนดค่าเป็นไฟล์คำตอบ JSON ที่เข้ากันได้กับโหมด --answers",
  "ui.export.download": "ดาวน์โหลด answers.json",
  "ui.export.password": "รหัสผ่านการเข้ารหัส",
  "ui.export.password_help": "หากตั้งค่าไว้ ค่าลับจะถูกเข้ารหัสด้วย AES-256-GCM คุณจะต้องใช้รหัสผ่านนี้เมื่อใช้ --answers --key",
  "ui.export.password_hint": "เว้นว่างไว้หากไม่ต้องการเข้ารหัส",
  "ui.export.title": "ส่งออกคำตอบ",
  "ui.field.required": "ต้องระบุ {}",
  "ui.import.decrypt_failed": "ถอดรหัสไม่สำเร็จ",
  "ui.import.dropzone": "วาง answers.json ที่นี่หรือคลิกเพื่อนำเข้า",
  "ui.import.no_scopes": "ไม่พบขอบเขตที่ถูกต้องในไฟล์",
  "ui.import.parse_error": "แยกวิเคราะห์ไฟล์ไม่สำเร็จ",
  "ui.import.password_prompt": "ไฟล์นี้มีความลับที่เข้ารหัสไว้ ป้อนรหัสผ่านสำหรับถอดรหัส:",
  "ui.new_setup": "การตั้งค่าใหม่",
  "ui.no_providers": "ไม่พบผู้ให้บริการในบันเดิล",
  "ui.nothing_to_configure": "ไม่มีสิ่งที่ต้องกำหนดค่า",
  "ui.pending": "รอดำเนินการ",
  "ui.provider.configure": "กำหนดค่า {}",
  "ui.q.api_base_url": "URL พื้นฐาน API",
  "ui.q.base_url": "URL พื้นฐาน",
  "ui.q.channel_id": "รหัสช่อง",
  "ui.q.default_channel": "ช่องเริ่มต้น",
  "ui.q.default_room_id": "รหัสห้องเริ่มต้น",
  "ui.q.default_to_person_email": "อีเมลบุคคลเริ่มต้น",
  "ui.q.enabled": "เปิดใช้งานผู้ให้บริการ",
  "ui.q.jwt_signing_key": "คีย์ลงนาม JWT",
  "ui.q.jwt_signing_key.help": "คีย์ลับที่ใช้ลงนามโทเค็น Direct Line ใช้สตริงสุ่มใดก็ได้ (เช่น openssl rand -hex 32)",
  "ui.q.mode": "โหมด",
  "ui.q.ms_bot_app_id": "รหัสแอปบอต",
  "ui.q.ms_bot_app_id.help": "รหัสแอป Microsoft Bot จากการลงทะเบียน Azure Bot Service",
  "ui.q.ms_bot_app_password": "รหัสผ่านแอปบอต",
  "ui.q.oauth_custom_auth_url": "URL การอนุญาต",
  "ui.q.oauth_custom_client_id": "รหัสไคลเอนต์",
  "ui.q.oauth_custom_label": "ชื่อที่แสดงของผู้ให้บริการ",
  "ui.q.oauth_custom_scopes": "ขอบเขต",
  "ui.q.oauth_custom_token_url": "URL โทเค็น",
  "ui.q.oauth_enable_custom": "เปิดใช้งานผู้ให้บริการ OIDC แบบกำหนดเอง",
  "ui.q.oauth_enable_github": "เปิดใช้งานการเข้าสู่ระบบด้วย GitHub",
  "ui.q.oauth_enable_google": "เปิดใช้งานการเข้าสู่ระบบด้วย Google",
  "ui.q.oauth_enable_microsoft": "เปิดใช้งานการเข้าสู่ระบบด้วย Microsoft",
  "ui.q.oauth_enabled": "เปิดใช้งานการเข้าสู่ระบบ OAuth",
  "ui.q.oauth_enabled.help": "กำหนดให้ผู้ใช้ลงชื่อเข้าใช้ก่อนเข้าถึงแชต",
  "ui.q.oauth_github_client_id": "รหัสไคลเอนต์ GitHub",
  "ui.q.oauth_github_client_secret": "รหัสลับไคลเอนต์ GitHub",
  "ui.q.oauth_google_client_id": "รหัสไคลเอนต์ Google",
  "ui.q.oauth_google_client_secret": "รหัสลับไคลเอนต์ Google",
  "ui.q.oauth_microsoft_client_id": "รหัสไคลเอนต์ Microsoft",
  "ui.q.oauth_microsoft_client_secret": "รหัสลับไคลเอนต์ Microsoft",
  "ui.q.public_base_url": "URL พื้นฐานสาธารณะ",
  "ui.q.public_base_url.help": "URL ที่เปิดให้สาธารณะเข้าถึงสำหรับ webhook callback (เช่น https://xxxx.trycloudflare.com)",
  "ui.q.route": "เส้นทาง",
  "ui.q.slack_app_id": "รหัสแอป Slack",
  "ui.q.slack_bot_token": "โทเค็นบอต Slack",
  "ui.q.slack_configuration_token": "โทเค็นการกำหนดค่า Slack",
  "ui.q.team_id": "รหัสทีม",
  "ui.q.tenant_channel_id": "รหัสช่องของเทนเนนต์",
  "ui.q.webex_bot_token": "โทเค็นบอต Webex",
  "ui.questions": "คำถาม",
  "ui.result.closed": "ปิดการตั้งค่าแล้ว",
  "ui.result.closed_sub": "คุณสามารถปิดแท็บนี้ได้",
  "ui.result.fail.description": "เกิดข้อผิดพลาดระหว่างการตั้งค่า",
  "ui.result.fail.title": "การตั้งค่าล้มเหลว",
  "ui.result.log": "บันทึก",
  "ui.result.manual_steps": "ต้องดำเนินการด้วยตนเอง",
  "ui.result.output": "ผลลัพธ์",
  "ui.result.success.description": "กำหนดค่าบันเดิลสำเร็จแล้ว",
  "ui.result.success.title": "ตั้งค่าเสร็จสมบูรณ์",
  "ui.review.description": "ตรวจสอบการกำหนดค่าก่อนนำไปใช้กับบันเดิล",
  "ui.review.no": "ไม่",
  "ui.review.secret_mask": "********",
  "ui.review.title": "ตรวจสอบและเรียกใช้",
  "ui.review.yes": "ใช่",
  "ui.review_execute": "ตรวจสอบและเรียกใช้",
  "ui.scope.description": "กำหนดค่าผู้เช่าเป้าหมาย สภาพแวดล้อม และทีมสำหรับการตั้งค่านี้",
  "ui.scope.detected_tenant": "ตรวจพบจากบันเดิล: {}",
  "ui.scope.env": "สภาพแวดล้อม",
  "ui.scope.env_help": "ต้องตรงกับ GREENTIC_ENV ที่ใช้โดยรันไทม์ (dev, local, test)",
  "ui.scope.hint": "ค่าเหล่านี้กำหนดตำแหน่งที่จัดเก็บความลับและการกำหนดค่า ตรวจสอบให้แน่ใจว่าตรงกับการตั้งค่ารันไทม์ของคุณ",
  "ui.scope.team": "ทีม",
  "ui.scope.team_help": "เว้นว่างไว้สำหรับค่าเริ่มต้น ใช้เพื่อกำหนดขอบเขตความลับต่อทีม",
  "ui.scope.tenant": "ผู้เช่า",
  "ui.scope.title": "ขอบเขตการตั้งค่า",
  "ui.select_action": "เลือกการดำเนินการเพื่อเริ่มต้น",
  "ui.shared.description": "คำถามเหล่านี้ใช้กับผู้ให้บริการทั้งหมด",
  "ui.shared.title": "การกำหนดค่าที่ใช้ร่วมกัน",
  "ui.start_config": "เริ่มการกำหนดค่า",
  "ui.title": "การตั้งค่า Greentic"
}