Files
VoiceStudio/electron/src/renderer/src/i18n/locales/th.json
T

2645 lines
263 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"tts": {
"generationComplete": "สร้างเสียงพูดเสร็จแล้ว",
"routingFallback": "ทำงานบน CPU — เอ็นจิ้นนี้ไม่มีเส้นทาง GPU บนเครื่องของคุณ ดังนั้นการสร้างจึงช้าลง {{reason}}",
"routingCaveat": "ใช้ GPU แต่: {{reason}}",
"droppedChunks_one": "ส่วนข้อความที่ไม่มีเสียงในเทคนี้: {{count}} ลองสร้างอีกครั้ง",
"droppedChunksWithText_one": "ส่วนข้อความที่ไม่มีเสียงในเทคนี้: {{count}} — “{{text}}” ลองสร้างอีกครั้ง",
"droppedChunks_other": "ส่วนข้อความที่ไม่มีเสียงในเทคนี้: {{count}} ลองสร้างอีกครั้ง",
"droppedChunksWithText_other": "ส่วนข้อความที่ไม่มีเสียงในเทคนี้: {{count}} — “{{text}}” ลองสร้างอีกครั้ง"
},
"permissions": {
"title": "สิทธิ์การเข้าถึง",
"desc": "VoiceStudio ทำงานทั้งหมดบนอุปกรณ์ของคุณ — สิทธิ์ระบบเหล่านี้ใช้เฉพาะกับฟีเจอร์ที่ระบุไว้ที่นี่ และเสียงจะไม่ออกจากเครื่องของคุณเลย",
"microphone": "ไมโครโฟน",
"microphone_why": "ใช้สำหรับการป้อนตามคำบอกและการอัดเสียง เสียงถูกประมวลผลในเครื่อง",
"accessibility": "การช่วยการเข้าถึง",
"accessibility_why": "ให้การป้อนตามคำบอกวางหรือพิมพ์ข้อความลงในแอปอื่นได้",
"status_granted": "อนุญาตแล้ว",
"status_denied": "ถูกปฏิเสธ",
"status_prompt": "ยังไม่ได้ขอ",
"status_unknown": "ไม่ทราบ",
"open_settings": "เปิดการตั้งค่า",
"web_note": "สถานะสิทธิ์อ่านได้เฉพาะในแอปเดสก์ท็อป — ในเบราว์เซอร์ การเข้าถึงไมโครโฟนถูกจัดการโดยเบราว์เซอร์เอง"
},
"pronunciation": {
"title": "พจนานุกรมการออกเสียง",
"help": "สอนเครื่องยนต์ให้พูดคำที่ยุ่งยาก แต่ละรายการจะแทนที่คำด้วยการสะกดใหม่ก่อนการสังเคราะห์ ดังนั้นจึงใช้ได้กับทุกเครื่องยนต์ กำหนดขอบเขตการเข้าสู่ภาษาเดียวหรือปล่อยให้เป็นสากล ในบรรทัด [[คำ|การสะกดคำ]] จะแทนที่พจนานุกรมหนึ่งครั้ง",
"term": "ระยะเวลา",
"term_placeholder": "คำหรือวลี (เช่น GIF)",
"replacement": "การทดแทน",
"replacement_placeholder": "การสะกดคำ (เช่น jiff)",
"scope": "ขอบเขต",
"global": "ทั่วโลก",
"type": "ประเภท",
"type_respelling": "การสะกดคำ",
"type_ipa": "ไอพีเอ",
"type_cmu": "มช",
"enabled": "เปิดใช้งานแล้ว",
"add": "เพิ่มรายการ",
"remove": "ลบ {{term}}",
"empty": "ยังไม่มีรายการ เพิ่มหนึ่งรายการด้านล่างเพื่อแก้ไขคำที่ออกเสียงผิด",
"test_label": "ทดสอบประโยค",
"test_placeholder": "พิมพ์ประโยคเพื่อดูตัวอย่างการทดแทน...",
"test_result": "จะพูดเป็น:",
"test_nochange": "ไม่มีรายการที่ตรงกัน — พูดตามที่เขียน",
"load_error": "ไม่สามารถโหลดพจนานุกรมการออกเสียงได้",
"save_error": "ไม่สามารถบันทึกรายการนั้นได้",
"lang_label": "รหัสภาษา (เช่น en, de) หรือเว้นว่างไว้สำหรับ Global",
"enable_entry": "เปิดใช้งาน {{term}}",
"lang_placeholder": "en, de… (เว้นว่าง = ทั่วโลก)",
"test_language": "ภาษาตัวอย่าง",
"test_global_hint": "กำลังแสดงตัวอย่างเฉพาะรายการทั่วโลก — เลือกภาษาเพื่อรวมรายการเฉพาะภาษา",
"test_error": "ตัวอย่างไม่พร้อมใช้งาน — ไม่สามารถติดต่อแบ็กเอนด์ได้",
"backup_title": "สำรองและกู้คืน",
"backup_hint": "ดาวน์โหลดพจนานุกรมเป็นไฟล์ JSON หรือนำเข้ารายการจากการส่งออกครั้งก่อน",
"export": "ส่งออก JSON",
"import": "นำเข้า JSON",
"import_replace_prompt": "แทนที่ {{count}} รายการที่มีอยู่ด้วยไฟล์ที่นำเข้าหรือไม่ เลือก 'ไม่' เพื่อเพิ่มรายการที่นำเข้าควบคู่กับรายการเดิม",
"import_done": "นำเข้าแล้ว {{count}} รายการ",
"import_error": "ไม่สามารถนำเข้าไฟล์นั้นได้ — ต้องเป็น JSON จากการส่งออกการออกเสียง",
"export_error": "ไม่สามารถส่งออกพจนานุกรมได้"
},
"preferences": {
"title": "การตั้งค่า",
"appearance": "รูปลักษณ์",
"general": "ทั่วไป",
"theme": "ธีม",
"font": "แบบอักษร",
"ui_scale": "มาตราส่วน UI",
"autoplay_preview": "ดูตัวอย่างการเล่นอัตโนมัติ",
"autoplay_preview_label": "เล่นเอาต์พุตทันทีที่การเรนเดอร์เสร็จสิ้น",
"back": "กลับ",
"search": "ค้นหา...",
"no_matches": "ไม่มีการแข่งขัน",
"loading": "กำลังโหลด...",
"reset": "รีเซ็ตเป็นค่าเริ่มต้น",
"open": "เปิด",
"audio_tools_origin_system": "ระบบ"
},
"themeAppearance": {
"light": "สว่าง",
"dark": "มืด",
"system": "ระบบ",
"default": "Studio",
"glass": "โหมดกระจก"
},
"cloneFlow": {
"choose_voice": "เลือกเสียง",
"change_voice": "เปลี่ยนเสียง",
"voice_sample": "ตัวอย่างเสียง",
"prompt_named": "ต้องการให้ {{name}} พูดอะไร?"
},
"profileIdentity": {
"save_hint": "บันทึกเสียงนี้เพื่อใช้ซ้ำได้ในคลิกเดียว",
"upload_image": "อัปโหลดรูปภาพ",
"use_once": "ใช้โดยไม่บันทึก",
"image_limit": "เลือกรูปภาพที่มีขนาดต่ำกว่า 5 MB",
"search": "ค้นหารูปภาพ",
"search_unavailable": "ต้องตั้งค่าผู้ให้บริการค้นหาก่อนค้นหารูปภาพ โปรดอัปโหลดรูปภาพแทน",
"search_failed": "ค้นหารูปภาพไม่สำเร็จ โปรดลองอีกครั้ง",
"search_empty": "ไม่พบรูปภาพ ลองใช้ชื่ออื่นหรืออัปโหลดรูปภาพ",
"generation_failed": "ไม่สามารถสร้างเสียงได้ สคริปต์ของคุณยังอยู่ โปรดลองอีกครั้ง",
"details": "รายละเอียดทางเทคนิค"
},
"synthesisState": {
"preparing": "กำลังเตรียม…",
"loading": "กำลังโหลดโมเดล…",
"receiving": "กำลังรับเสียง…",
"importing": "กำลังเริ่มระบบ AI…",
"loading_weights": "กำลังโหลดน้ำหนักโมเดล…",
"loading_asr": "กำลังเตรียมการรู้จำเสียง…",
"compiling": "กำลังปรับโมเดลให้เหมาะสม…"
},
"scriptEdit": {
"paste_options": "ตัวเลือกการวาง",
"replace": "แทนที่สคริปต์",
"undo": "เลิกทำ",
"import": "นำเข้าสคริปต์",
"import_failed": "อ่านไฟล์ไม่ได้ โปรดเลือกเอกสารข้อความที่ไม่เข้ารหัสและมีขนาดต่ำกว่า 16 MB"
},
"referenceAsr": {
"busy": "กำลังถอดเสียง...",
"retry": "ลองถอดเสียงอีกครั้ง"
},
"engineSidebar": {
"tts": "TTS",
"asr": "ASR",
"llm": "LLM",
"dictation": "การป้อนตามคำบอก",
"inactive": "ไม่ใช้งาน",
"translation": "การแปล",
"diarisation": "แยกผู้พูด",
"localDevice": "อุปกรณ์ภายในเครื่อง",
"connectRemoteDevice": "เชื่อมต่ออุปกรณ์ระยะไกล"
},
"paneActions": {
"collapse": "ยุบแผง",
"edit": "แก้ไขโปรไฟล์เสียง"
},
"modelSettings": {
"models": "โมเดล",
"available": "มีจำหน่าย",
"unavailable": "ไม่พร้อมใช้งาน",
"select": "เลือก",
"selected": "เลือกแล้ว",
"change": "เปลี่ยนเอนจิน",
"failed": "เปลี่ยนเอนจินไม่ได้ โปรดลองอีกครั้ง"
},
"modelMaintenance": {
"download": "ดาวน์โหลด",
"install": "ติดตั้ง",
"installing": "การทำงาน",
"installed": "ติดตั้งแล้ว",
"downloading": "กำลังดาวน์โหลด",
"failed": "การติดตั้งล้มเหลว",
"online": "ออนไลน์",
"offline": "ออฟไลน์",
"llm": "LLM",
"delete": "ลบ",
"deleteTitle": "ลบโมเดล",
"deleteConfirm": "ลบ {{repoId}}? คุณสามารถติดตั้งใหม่ได้ในภายหลัง",
"deleted": "ลบแล้ว {{repoId}}",
"reinstall": "ติดตั้งใหม่",
"reinstallTitle": "ติดตั้งโมเดลอีกครั้ง",
"reinstallConfirm": "ติดตั้ง {{repoId}} ใหม่อีกครั้งหรือไม่ การดำเนินการนี้จะลบสำเนาปัจจุบันและดาวน์โหลดอีกครั้ง",
"reinstalling": "กำลังติดตั้งใหม่",
"inMemory": "อยู่ในหน่วยความจำ",
"inMemoryDescription": "โหลดอยู่ในหน่วยความจำขณะนี้ — การยกเลิกการโหลดจะคืน RAM/VRAM และโมเดลจะโหลดใหม่เมื่อใช้งานครั้งถัดไป",
"unload": "ยกเลิกการโหลด",
"unloaded": "ยกเลิกการโหลดแล้ว — คืนหน่วยความจำแล้ว",
"unloadFailed": "ไม่สามารถยกเลิกการโหลด: {{message}}",
"incomplete": "ไม่สมบูรณ์",
"repair": "ซ่อมแซม",
"repairDescription": "ดำเนินการดาวน์โหลดที่ถูกขัดจังหวะให้เสร็จ",
"retryAfter": "ลองใหม่ใน {{seconds}} วินาที",
"gatedAccessRequired": "ต้องได้รับสิทธิ์เข้าถึงบน Hugging Face ก่อนติดตั้งโมเดลนี้",
"requestModelAccess": "ขอสิทธิ์เข้าถึงโมเดล",
"acceptDependencyTerms": "ยอมรับเงื่อนไขโมเดลแบ่งส่วน",
"addHfToken": "เพิ่มโทเคน Hugging Face",
"gatedAccessReady": "ยืนยันสิทธิ์เข้าถึงแล้ว สามารถติดตั้งโมเดลนี้ได้",
"gatedAccessStillRequired": "ยังไม่มีสิทธิ์เข้าถึงหรือโทเคน โปรดทำตามขั้นตอนให้ครบแล้วตรวจสอบอีกครั้ง",
"checkAccess": "ตรวจสอบสิทธิ์เข้าถึง"
},
"transcriptions": {
"mode_label": "คุณภาพการถอดเสียง",
"mode_fast": "เร็ว",
"mode_fast_desc": "ใช้โมเดลการเขียนตามคำบอกเวลาแฝงต่ำที่เลือก",
"mode_accurate": "แม่นยำ",
"mode_accurate_desc": "ใช้โมเดล ASR ที่เลือกพร้อมการประทับเวลาโดยละเอียด",
"title": "การถอดเสียง",
"entries": "{{count}} รายการ",
"search_placeholder": "ค้นหาข้อความถอดเสียง...",
"export": "ส่งออก",
"clear": "ชัดเจน",
"export_title": "ส่งออกทั้งหมด",
"clear_title": "เคลียร์ทั้งหมด",
"empty_title": "ยังไม่มีการถอดเสียงเป็นคำ",
"empty_desc": "เลือก เริ่มการป้อนตามคำบอก หรือกด {{shortcut}} เพื่อบันทึกและถอดเสียง",
"capture": "เริ่มการป้อนตามคำบอก",
"capture_failed": "ไม่สามารถเริ่มการป้อนตามคำบอกได้ โปรดตรวจสอบสิทธิ์เข้าถึงไมโครโฟนแล้วลองอีกครั้ง",
"empty_search_title": "ไม่มีการถอดเสียงที่ตรงกัน",
"empty_search_desc": "ลองใช้คำค้นหาอื่น",
"copy": "คัดลอก",
"delete": "ลบ",
"segments_title": "เซ็กเมนต์",
"copied": "คัดลอกไปยังคลิปบอร์ดแล้ว",
"copy_failed": "การคัดลอกล้มเหลว",
"exported": "การถอดเสียงที่ส่งออก",
"just_now": "แค่ตอนนี้",
"m_ago": "{{count}}นาทีที่แล้ว",
"h_ago": "{{count}}ชม. ที่แล้ว",
"failed": "การถอดเสียงล้มเหลว",
"missing_model": "ยังไม่ได้ติดตั้งโมเดลแปลงเสียงเป็นข้อความ — ฟีเจอร์นี้ต้องใช้โมเดลเพื่อถอดเสียง",
"original_transcript": "ข้อความถอดเสียงต้นฉบับ"
},
"engineRuntime": {
"ready": "พร้อม",
"loading": "กำลังโหลด...",
"idle": "ไม่ได้ใช้งาน",
"working": "กำลังทำงาน…"
},
"clone": {
"text_label": "ข้อความ",
"paste": "วาง",
"paste_failed": "การเข้าถึงคลิปบอร์ดถูกบล็อก โปรดใช้แป้นพิมพ์วางลงในช่องข้อความโดยตรง",
"prompt": "พรอมต์",
"language": "ภาษา",
"steps": "ขั้นตอน",
"voice_source": "แหล่งที่มาของเสียง",
"reference_audio": "เสียงอ้างอิง",
"reference_hint": "ใช้เสียงพูดที่ชัดเจน 5–15 วินาที",
"upload_audio": "อัปโหลดเสียง",
"optional_details": "รายละเอียดเสริม",
"starting_recording": "กำลังเริ่ม…",
"unsupported_audio": "เลือกไฟล์เสียงที่รองรับ: WAV, MP3, M4A, FLAC, OGG, AAC หรือ WebM",
"saved_profiles": "โปรไฟล์ที่บันทึกไว้",
"transcript": "การถอดเสียง",
"style": "สไตล์",
"save_as_profile": "บันทึกเป็นโปรไฟล์เสียง",
"profile_name": "ชื่อโปรไฟล์",
"save": "บันทึก",
"cancel": "ยกเลิก",
"synthesize": "สังเคราะห์เสียง",
"synthesizing": "กำลังสังเคราะห์… ({{seconds}}s)",
"drop_audio": "วางเสียงที่นี่ — หรือคลิก WAV, MP3, M4A… 🎶",
"record": "บันทึก",
"cleaning": "กำลังทำความสะอาด...",
"using_profile": "ใช้โปรไฟล์: {{name}}",
"clear": "ชัดเจน",
"production_overrides": "การแทนที่การผลิต",
"denoise": "เดนัวส์",
"postprocess": "การประมวลผลภายหลัง",
"duration": "ระยะเวลา",
"auto": "อัตโนมัติ",
"optional": "(ไม่บังคับ)",
"toggle_sidebar": "สลับแถบด้านข้าง",
"delete_profile": "ลบโปรไฟล์",
"personality_narrator": "ผู้บรรยาย",
"personality_casual": "ลำลอง",
"personality_news_anchor": "ผู้ประกาศข่าว",
"personality_storyteller": "นักเล่าเรื่อง",
"personality_corporate": "องค์กร",
"personality_energetic": "มีพลัง",
"preset_narrator": "🎙️เผด็จการ",
"preset_excited_child": "🧒 เด็กตื่นเต้น",
"preset_anxious_whisper": "🤫 กระซิบ",
"preset_surprised_woman": "😮 เซอร์ไพรส์",
"preset_elderly_story": "👴 พี่",
"preset_sichuan": "🌶️ 四川话",
"prompt_placeholder": "เสียงนี้ควรจะพูดอะไร?",
"design_placeholder": "อธิบายเสียง จากนั้นพิมพ์สิ่งที่พูด...",
"speed": "ความเร็ว",
"tshift": "t_กะ",
"pos_temp": "ตำแหน่งโพสชั่วคราว",
"class_temp": "อุณหภูมิชั้นเรียน",
"layer_pen": "ปากกาเลเยอร์",
"auto_kicker": "· อัตโนมัติ",
"cat_Gender": "เพศ",
"cat_Age": "อายุ",
"cat_Pitch": "สนาม",
"cat_Style": "สไตล์",
"cat_EnglishAccent": "สำเนียงอังกฤษ",
"cat_ChineseDialect": "ภาษาจีน",
"vd_exclusive_cleared": "ล้าง {{cleared}} แล้ว — ไม่สามารถใช้สำเนียงท้องถิ่นจีนและสำเนียงอังกฤษร่วมกันได้",
"opt_Auto": "✨ออโต้",
"opt_male": "ชาย",
"opt_female": "หญิง",
"opt_child": "เด็ก",
"opt_teenager": "วัยโจ๋",
"opt_young_adult": "คนหนุ่มสาว",
"opt_middle_aged": "วัยกลางคน",
"opt_elderly": "ผู้สูงอายุ",
"opt_very_low_pitch": "เสียงต่ำมาก",
"opt_low_pitch": "เสียงต่ำ",
"opt_moderate_pitch": "ระดับเสียงปานกลาง",
"opt_high_pitch": "เสียงสูง",
"opt_very_high_pitch": "เสียงสูงมาก",
"opt_whisper": "กระซิบ",
"style_placeholder": "เช่น กระซิบ",
"stop_playback": "หยุดเล่น",
"describe_label": "อธิบายเสียงของคุณ",
"describe_placeholder": "เช่น a warm elderly British storyteller, slightly raspy",
"describe_hint": "อธิบายเสียงพูด หรือเลือกจุดเริ่มต้น อย่างใดอย่างหนึ่งจะกรอกรายละเอียดด้านล่างให้อัตโนมัติ",
"describe_unmatched": "จับคู่ไม่ได้: {{items}}",
"describe_no_match": "ยังไม่พบลักษณะเสียง ลองใช้คำอย่าง deep, elderly หรือ British",
"define_by_design": "โดยการออกแบบ",
"define_from_audio": "จากเสียง",
"define_voice": "กำหนดเสียง",
"save_design_as_profile": "บันทึกการออกแบบเป็นโปรไฟล์",
"generating_done_status": "สร้างเสร็จแล้ว",
"generating_status": "กำลังสร้างเสียง…",
"identity": "ตัวตน",
"identity_auto": "อัตโนมัติ — ให้โมเดลตัดสินใจ",
"insert": "แทรก",
"insert_token": "แทรกโทเค็นการแสดงออก",
"script": "สคริปต์",
"starting_points": "จุดเริ่มต้น",
"voice_kicker": "เสียง",
"seed_label": "เมล็ดพันธุ์",
"seed_placeholder": "สุ่มในแต่ละครั้ง",
"seed_keep": "เก็บเมล็ดพันธุ์นี้ไว้",
"seed_reroll": "เมล็ดพันธุ์ใหม่",
"seed_reroll_hint": "สุ่มเมล็ดใหม่แบบสุ่มแล้วเก็บไว้",
"define_convert": "แปลง",
"details": "รายละเอียด",
"edit": "แก้ไข",
"cat_AccentDialect": "สำเนียงหรือภาษาถิ่น",
"accent_dialect_hint": "เลือกได้อย่างใดอย่างหนึ่ง ไม่ใช่ทั้งสองอย่าง",
"reset_to_description": "รีเซ็ตตามคำอธิบาย",
"chips_more": "อีก {{count}} รายการ…",
"cfg": "CFG",
"delete_profile_confirm": "ลบ “{{name}}” หรือไม่? การดำเนินการนี้ไม่สามารถย้อนกลับได้",
"reveal": "แสดงในโฟลเดอร์",
"history_starred": "ติดดาว",
"history_all": "ทั้งหมด",
"characters_other": "{{count}} อักขระ",
"popular_languages": "เป็นที่นิยม",
"all_languages": "ทุกภาษา",
"stop_recording": "หยุดการบันทึก",
"preview_voice": "ดูตัวอย่างเสียง",
"select_profile": "ใช้เสียง",
"profile_name_required": "ตั้งชื่อให้เสียงนี้",
"saved_profile": "บันทึกโปรไฟล์เสียงแล้ว",
"save_failed": "ไม่สามารถบันทึกโปรไฟล์เสียงได้: {{message}}",
"profile_deleted": "ลบเสียงแล้ว",
"history_clear": "ล้างประวัติ",
"title": "โคลนเสียง",
"search_languages": "ค้นหาภาษา {{count}}...",
"no_language_match": "ไม่มีภาษาที่ตรงกับ \"{{query}}\"",
"transcript_hint": "สิ่งที่คลิปอ้างอิงบอกว่า เว้นว่างไว้เพื่อให้เครื่องยนต์ฟัง",
"delete_profile_failed": "ไม่สามารถลบเสียงได้: {{message}}",
"history_delete_failed": "ไม่สามารถลบเทค: {{message}}",
"history_clear_failed": "ไม่สามารถล้างประวัติได้: {{message}}",
"history_star_failed": "ไม่สามารถอัปเดตเทค: {{message}}",
"reset_overrides": "รีเซ็ตเป็นค่าเริ่มต้น",
"shortcut_hint": "Ctrl/Cmd + Enter",
"output_title": "เทคล่าสุด",
"output_empty": "เสียงที่คุณสร้างขึ้นจะปรากฏที่นี่",
"output_meta": "{{duration}}s · แสดงผลใน {{gen}}s",
"download": "บันทึกเป็น...",
"saved_to": "บันทึกไปที่ {{path}} แล้ว",
"history_title": "ใช้เวลาล่าสุด",
"history_empty": "ยังไม่มีเทคเลย",
"history_clear_confirm": "ลบทุกเทคจากประวัติใช่ไหม ไฟล์เสียงจะถูกลบออกด้วย",
"history_delete": "ลบเอา",
"history_star": "ดาว",
"history_unstar": "ยกเลิกการติดดาว",
"history_reuse": "ใช้สคริปต์ซ้ำ",
"characters_one": "อักขระ {{count}}",
"cancel_generation": "ยกเลิกการสร้าง",
"duration_seconds": "{{seconds}}",
"download_failed": "ไม่สามารถบันทึกไฟล์: {{message}}",
"no_profiles": "ยังไม่มีเสียงที่บันทึกไว้ อัปโหลดหรือบันทึกข้อมูลอ้างอิง จากนั้นบันทึกเป็นโปรไฟล์"
},
"designWorkspace": {
"title": "สร้างเสียง",
"save_failed": "ไม่สามารถบันทึกโปรไฟล์เสียงได้"
},
"dub": {
"timing_label": "จังหวะเวลา",
"timing_concise": "กระชับ",
"timing_stretch_video": "ยืดวิดีโอ",
"install_engine_pkg": "ติดตั้ง {{pkg}}",
"needs_install_short": "ต้องติดตั้ง",
"install_popover_title": "ติดตั้งเอนจินนี้",
"install_popover_frozen_body": "บิลด์แบบแพ็กเกจนี้ติดตั้งเอนจินไม่ได้ เนื่องจากสภาพแวดล้อม Python เป็นแบบอ่านอย่างเดียวและมีลายเซ็น ให้รันคำสั่งด้านล่างในการติดตั้งแบบซอร์สโค้ด หรือสลับไปใช้เอนจิน Argos ที่มาพร้อมกับโปรแกรม",
"switch_to_argos": "สลับไปใช้ Argos (มาพร้อมกับโปรแกรม ออฟไลน์)",
"copy_command": "คัดลอกคำสั่ง",
"install_cmd_copied": "คัดลอกคำสั่งแล้ว",
"dismiss_error": "ปิด",
"transcribe": "ถอดเสียง",
"translate": "แปล",
"generate": "สร้าง",
"export": "ส่งออก",
"no_video": "ไม่มีการโหลดวิดีโอ",
"segments": "เซ็กเมนต์",
"speakers": "ลำโพง",
"video_dubbing_studio": "สตูดิโอพากย์วิดีโอ",
"drop_here": "วางวิดีโอหรือเสียงที่นี่",
"paste_url": "…หรือวาง URL ของ YouTube / วิดีโอ",
"ingest": "นำเข้า",
"pull_captions": "ดาวน์โหลดคำบรรยายที่มี",
"batch_queue_link": "พากย์วิดีโอหลายรายการ? เปิดคิวแบบกลุ่ม",
"youtube_auth": "ลงชื่อเข้าใช้ YouTube (ไม่บังคับ)",
"youtube_cookie_file": "เลือกไฟล์ส่งออก cookies.txt",
"remove_cookie_file": "ลบไฟล์คุกกี้",
"cookie_transport_error": "การส่งออกคุกกี้ต้องใช้ HTTPS หรือแอปเดสก์ท็อปในเครื่อง",
"cookie_size_error": "ไฟล์ส่งออกคุกกี้ต้องมีขนาดไม่เกิน 1 MB",
"save": "บันทึก",
"reset": "รีเซ็ต",
"save_project": "บันทึกโครงการ",
"change_file": "เปลี่ยนไฟล์",
"import_srt": "นำเข้า .srt",
"import_srt_alt": "นำเข้า .srt แทน",
"cast": "นักแสดง",
"speaker": "ผู้พูด {{n}}:",
"default": "ค่าเริ่มต้น",
"language": "ภาษา",
"auto": "อัตโนมัติ",
"iso_code": "รหัสไอเอสโอ",
"style": "สไตล์",
"style_placeholder": "เช่น หญิง",
"optional": "ไม่จำเป็น",
"translate_all": "แปลทั้งหมด",
"translating": "กำลังแปล...",
"retranslate": "แปลใหม่อีกครั้ง",
"transcript": "การถอดเสียง",
"generate_dub": "สร้างพากย์",
"export_mp4": "MP4",
"export_wav": "WAV",
"export_srt": "รฟท",
"upload_transcribe": "อัปโหลดและถอดเสียง",
"multi_lang": "หลายภาษา",
"prep_download": "กำลังดาวน์โหลดวิดีโอ...",
"prep_extract": "กำลังแยกเสียง...",
"prep_demucs": "แยกเสียงร้อง/ดนตรี (เดมัคส์)…",
"prep_scene": "กำลังตรวจจับการตัดฉาก...",
"prep_cached": "กำลังใช้ผลลัพธ์ที่แคชไว้...",
"prep_preparing": "กำลังเตรียม...",
"prep_chip_download": "ดาวน์โหลด",
"prep_chip_extract": "สารสกัด",
"prep_chip_demucs": "เดมัคส์",
"prep_chip_scene": "ฉาก",
"prep_chip_cached": "แคชไว้",
"prep_demucs_note": "Demucs อาจใช้เวลาหลายนาทีกับวิดีโอขนาดยาว เสียงยาว = รอนานขึ้น",
"transcribing": "กำลังถอดเสียง...",
"elapsed": "ผ่านไปแล้ว",
"remaining": "เหลืออยู่",
"sidebar_toggle": "สลับแถบด้านข้าง",
"retry_transcription": "ลองถอดเสียงอีกครั้ง",
"supported_formats": "MP4 · MOV · MKV · เว็บเอ็ม · MP3 · WAV · FLAC · M4A",
"pull_captions_title": "เมื่อ URL เป็นโฮสต์คำบรรยาย (YouTube, Vimeo, TED…) ให้ดึงคำบรรยายต้นฉบับและการแปลอัตโนมัติของ YouTube ด้วย เมล็ดเครื่องมือแก้ไขโดยไม่ต้องเรียกใช้ Whisper; ข้ามการแปลทั้งหมดสำหรับภาษาที่ YouTube ครอบคลุมอยู่แล้ว",
"time_col": "เวลา",
"spkr_col": "สปคร",
"text_col": "ข้อความ",
"voice_col": "เสียง",
"segs": "เซกส์",
"preview": "ดูตัวอย่าง",
"original_audio": "ต้นฉบับ",
"dubbed_audio": "ขนานนาม ({{code}})",
"first_play_hint": "การเล่นครั้งแรกอาจใช้เวลาสักครู่เพื่อมิกซ์",
"cast_title": "กำหนดเสียงให้กับลำโพงแต่ละตัวที่ตรวจพบ การโคลนข้ามภาษาจะรักษาเอกลักษณ์ของผู้พูดคนเดิมในภาษาใหม่",
"from_video": "🎶 จากวิดีโอ · {{duration}}s",
"clone_profiles": "โปรไฟล์โคลน",
"design_presets": "การออกแบบที่ตั้งไว้ล่วงหน้า",
"casting_board": "บอร์ดคัดเลือกเสียง",
"casting_board_hint": "เปิดบอร์ดคัดเลือกเสียง — ลากเสียงไปวางบนผู้พูด",
"casting_voices": "เสียง",
"casting_drag_hint": "ลากชิปเสียงไปวางบนผู้พูด หรือกด Enter ที่ผู้พูดเพื่อเลือกจากรายการ",
"casting_assign_to": "กำหนดเสียงให้ {{speaker}}",
"casting_assigned": "กำหนด {{voice}} ให้ {{speaker}} แล้ว",
"edit_settings": "แก้ไขการตั้งค่าการแปล",
"style_label_prefix": "สไตล์:",
"collapse_settings": "ยุบการตั้งค่าการแปล",
"quality_label": "คุณภาพ",
"quality_title": "Cinematic = การปรับแต่ง LLM 3 ขั้นตอน (แปล → การสะท้อน → ปรับ) ต้องมีการกำหนดค่า LLM",
"fast_quality": "รวดเร็ว",
"cinematic_quality": "ภาพยนตร์",
"auto_glossary_label": "อภิธานศัพท์อัตโนมัติ",
"auto_glossary_title": "LLM อ่านทรานสคริปต์ทั้งหมดเพิ่มอีกหนึ่งรอบเพื่อสกัดธีมของวิดีโอและคำศัพท์สำคัญ ทำให้ชื่อและคำศัพท์สอดคล้องกันทุกช่วง รายการอภิธานศัพท์ที่คุณป้อนเองจะมีความสำคัญสูงกว่าเสมอ",
"reflect_label": "รอบขัดเกลา",
"reflect_title": "หลังการแปลตรงของแต่ละช่วง LLM จะวิจารณ์และเขียนใหม่ให้เป็นบทพูดที่เป็นธรรมชาติ ใช้การเรียก LLM 3 ครั้งต่อช่วงแทนที่จะเป็น 1 ครั้ง หากการขัดเกลาล้มเหลวจะคงการแปลตรงไว้",
"restore": "↺ กู้คืน",
"restore_title": "คืนค่าทุกส่วนให้เป็นข้อความที่ถอดเสียงต้นฉบับ",
"clean_up": "ทำความสะอาด",
"clean_up_title": "รวมส่วนเล็กๆ และส่วนสั้นที่อยู่ติดกัน",
"popular": "เป็นที่นิยม",
"all_languages": "ทุกภาษา",
"engine_label": "เครื่องยนต์",
"install_engine": "ติดตั้งเครื่องยนต์นี้",
"installing_engine": "…กำลังติดตั้ง",
"needs_dev_install": "ต้องการการติดตั้ง dev",
"install_disabled_title": "การติดตั้งถูกปิดใช้งานในบิลด์แพ็คเกจ",
"needs_install_suffix": "- จำเป็นต้องติดตั้ง",
"glossary_title": "ปักหมุดคำแปลสำหรับคำที่เกิดซ้ำ (ชื่อ คำของแบรนด์ ศัพท์เฉพาะ)",
"glossary_btn": "+ อภิธานศัพท์ ({{count}})",
"selected_count": "{{count}} เลือกแล้ว",
"set_voice": "ตั้งเสียง...",
"clear_voice": "⊘ ค่าเริ่มต้น",
"set_lang": "ตั้งภาษา…",
"default_lang": "(ค่าเริ่มต้น)",
"delete_selected": "ลบ",
"clear_selection": "ชัดเจน",
"tracks_done": "เสร็จแล้ว! แทร็ก: {{tracks}}",
"segments_changed": "{{count}} เซ็กเมนต์เปลี่ยนแปลงตั้งแต่การสร้างครั้งล่าสุด",
"all_up_to_date": "{{count}} เซ็กเมนต์ทั้งหมดเป็นปัจจุบัน",
"output_options": "ตัวเลือกเอาต์พุต:",
"mix_bg_audio": "มิกซ์เสียง BG",
"dual_subs": "คำบรรยายคู่",
"dual_subs_title": "ส่งออกคำบรรยายพร้อมข้อความที่แปลแล้วด้านบนและตัวเอียงต้นฉบับด้านล่าง",
"burn_subs": "เผาคำบรรยาย",
"burn_subs_title": "แสดงคำบรรยายโดยตรงในสตรีมวิดีโอ MP4 (hardsubs) ใช้รูปแบบคำบรรยายคู่เมื่อเปิดใช้งานคำบรรยายคู่",
"timing_smart_fit": "ปรับพอดีอัจฉริยะ",
"timing_smart_fit_title": "แบ่งภาระทั้งสองทาง: เร่งเสียงขึ้นเล็กน้อย (คงระดับเสียง สูงสุด 1.5×) และชะลอวิดีโอช่วงนั้นลงเล็กน้อย (สูงสุด 2×) เพื่อให้เสียงพากย์จังหวะธรรมชาติพอดี ส่วนที่เกินขีดจำกัดจะถูกตัดและทำเครื่องหมาย การส่งออกจะเข้ารหัสวิดีโอใหม่",
"voice_match": "การจับคู่เสียง:",
"voice_match_title": "การจับคู่เสียง — ให้แต่ละบรรทัดพากย์โคลนจากคลิปต้นฉบับของตัวเอง หรือให้ทุกบรรทัดของผู้พูดใช้ข้อมูลอ้างอิงเดียวร่วมกัน",
"voice_match_per_line": "ต่อบรรทัด",
"voice_match_per_line_title": "แต่ละบรรทัดโคลนจากคลิปเสียงต้นฉบับของตัวเอง จังหวะเสียงตรงที่สุดต่อบรรทัด แต่เอกลักษณ์เสียงอาจเพี้ยนไปทีละบรรทัด",
"voice_match_consistent": "สม่ำเสมอ",
"voice_match_consistent_title": "ทุกบรรทัดของผู้พูดโคลนจากข้อมูลอ้างอิงเดียวร่วมกัน (โคลนผู้พูด หรือคลิปเดี่ยวที่ดีที่สุดหากไม่มี) เอกลักษณ์เสียงคงที่ตลอดทั้งการพากย์",
"timing_lip_sync": "ซิงค์ริมฝีปาก",
"default_track": "แทร็กเริ่มต้น:",
"original_track": "ต้นฉบับ",
"selected_dub": "{{code}} (พากย์ที่เลือก)",
"dub_track": "{{code}} (พากย์)",
"export_tracks": "ส่งออกแทร็ก:",
"stopping": "กำลังหยุด...",
"stop_progress": "หยุด ({{current}}/{{total}})",
"regen_changed": "รีเจน {{count}} เปลี่ยนไป",
"export_btn": "ส่งออก...",
"prep_stop": "หยุด",
"install_progress": "กำลังติดตั้ง {{engine}}…",
"install_restart": "{{engine}} ติดตั้งแล้ว รีสตาร์ทแบ็กเอนด์เพื่อโหลด",
"install_already": "{{engine}} ได้รับการติดตั้งแล้ว",
"install_ok": "{{engine}} ติดตั้งแล้ว",
"install_failed": "การติดตั้งล้มเหลว: {{message}}",
"prep_elapsed": "{{time}} ผ่านไป",
"add_language": "เพิ่มภาษา",
"search_languages": "ค้นหาภาษา...",
"languages_selected_one": "เลือก {{count}} ภาษาแล้ว",
"languages_selected_other": "เลือก {{count}} ภาษาแล้ว",
"more_to_narrow": "+{{count}} เพิ่มเติม — พิมพ์เพื่อจำกัดให้แคบลง",
"no_matches": "ไม่มีการแข่งขัน",
"diagnostic_copied": "คัดลอกการวินิจฉัยแล้ว",
"copy_failed": "การคัดลอกล้มเหลว",
"open_docs": "เปิดเอกสาร",
"copy_diagnostic": "คัดลอกการวินิจฉัย",
"dialect_label": "สำเนียงถิ่น",
"dialect_default": "ค่าเริ่มต้น",
"dialect_title": "สำเนียงถิ่นและคำศัพท์เฉพาะภูมิภาคสำหรับการแปล (เช่น อาร์เจนตินา → “vos sos” แทน “tú eres”) ใช้โดยเอนจิน LLM (OpenAI/Ollama) และคุณภาพ Cinematic",
"num_speakers_label": "ผู้พูด",
"num_speakers_auto": "อัตโนมัติ",
"num_speakers_help": "วิดีโอนี้มีผู้พูดกี่คน? เว้นว่างเพื่อตรวจหาอัตโนมัติ ระบุจำนวนหากการตรวจหาอัตโนมัติรวมผู้พูดหลายคนเป็นคนเดียว",
"advanced": "ขั้นสูง",
"cinematic_needs_llm_hint": "คุณภาพระดับภาพยนตร์ต้องใช้ LLM ตั้งค่าได้ที่ การตั้งค่า → สิทธิ์การใช้งาน → ปลายทาง LLM (Ollama ทำงานในเครื่อง ไม่ต้องใช้คีย์)",
"generate_dub_multi": "สร้างพากย์ {{count}} รายการ",
"pipeline": "ไปป์ไลน์การพากย์",
"preview_language": "ภาษาตัวอย่าง",
"target_language": "พากย์เป็น",
"source_language": "ภาษาต้นฉบับ",
"retry_failed": "ลองใหม่ {{count}} รายการที่ล้มเหลว",
"skip_failed": "ข้ามรายการที่ล้มเหลว",
"transcript_after_extract": "ทรานสคริปต์จะปรากฏหลังการแยกเสียง",
"qc_btn": "ตรวจสอบระยะเวลาการพากย์ (ตรวจสอบรอบที่สอง)",
"verify": "ตรวจสอบ",
"qc_running": "กำลังตรวจสอบเวลาพากย์...",
"qc_result": "{{flagged}} จาก {{total}} บรรทัดอาจต้องฟังซ้ำ",
"qc_clean": "{{total}} บรรทัดทั้งหมดตรงกับสคริปต์",
"qc_failed": "การตรวจสอบเวลาล้มเหลว: {{message}}",
"paste_translation_btn": "วางคำแปล",
"paste_translation_title": "วางคำแปล",
"paste_translation_desc": "วางคำแปลที่คุณทำไว้จากที่อื่น (ChatGPT, DeepL หรือผู้แปลที่เป็นคน) ระบบจะจับคู่กับเซกเมนต์ที่มีอยู่แล้ว โดยเวลาและถอดความต้นฉบับยังคงเดิม",
"paste_translation_placeholder": "วางคำบรรยาย (SRT/VTT) บรรทัดที่มีหมายเลข (1. …) หรือหนึ่งบรรทัดต่อหนึ่งเซกเมนต์ — หรือวางไฟล์ .srt/.vtt ที่นี่",
"paste_translation_load_file": "โหลดไฟล์ .srt / .vtt",
"paste_translation_mode_timestamped": "มีเวลากำกับ (SRT/VTT)",
"paste_translation_mode_numbered": "บรรทัดมีหมายเลข",
"paste_translation_mode_plain": "บรรทัดธรรมดา",
"paste_translation_counts": "{{segments}} เซกเมนต์ · {{lines}} บรรทัด · {{unmatched}} ไม่จับคู่",
"paste_translation_unused": "มี {{count}} บรรทัดที่วางแล้วไม่ได้ใช้",
"paste_translation_none_matched": "ไม่มีอะไรจับคู่ได้ ตรวจสอบว่าข้อความที่วางตรงกับเซกเมนต์ด้านล่าง",
"paste_translation_row_unmatched": "ไม่จับคู่ — คงเดิม",
"paste_translation_apply": "ใช้กับ {{count}} เซกเมนต์",
"paste_translation_cancel": "ยกเลิก",
"paste_translation_more_rows": "+ อีก {{count}} แถว",
"languages_selected": "เลือก {{count}} ภาษาแล้ว",
"multi_translating": "กำลังแปล → {{lang}} ({{current}}/{{total}})…",
"multi_lang_skipped": "การแปลสำหรับ {{langs}} ล้มเหลว จึงข้ามเสียงพากย์เหล่านั้นเพื่อป้องกันไม่ให้สร้างแทร็กผิดภาษา",
"manage_languages": "จัดการภาษา",
"languages_done": "เสร็จแล้ว",
"languages_pending": "รอดำเนินการ",
"live_preview": "พรีวิวสด",
"live_preview_title": "ฟังบรรทัดขณะแก้ไข — เซกเมนต์ที่แก้ไขจะสตรีม TTS ด้วยเสียง CAST ของมันหลังหยุดพิมพ์ครู่หนึ่ง เป็นการเล่นเสียงเท่านั้น: ไม่มีการบันทึกใด ๆ และการส่งออกยังคงเรนเดอร์ที่คุณภาพเต็ม",
"live_preview_pick_voice": "กำหนดเสียง CAST ให้บรรทัดนี้หรือผู้พูดของบรรทัดเพื่อฟังพรีวิวสด",
"autofit_quality": "ปรับให้พอดีอัตโนมัติ",
"timing_strict_slot": "ช่องที่เข้มงวด",
"track_tip_duration": "ระยะเวลา {{duration}}",
"track_tip_timing": "ไทม์มิ่ง {{strategy}}",
"set_up_llm": "ตั้งค่า",
"condense_title": "เมื่อคาดการณ์ว่าบรรทัดที่แปลจะไม่พอดีกับช่วงเวลา ให้ขอ LLM สำหรับการเขียนใหม่เพื่อรักษาความหมายที่สั้นลง ซึ่งคุณสามารถใช้ต่อเซ็กเมนต์ได้ ปิดโดยค่าเริ่มต้น ต้องการ LLM ที่กำหนดค่าไว้",
"hq_needs_llm_hint": "การแปลคุณภาพสูงเหมาะกับแต่ละบรรทัดตามเวลาของส่วนโดยใช้ LLM ในระบบหรือคลาวด์ ตั้งค่าหนึ่งรายการเพื่อเปิดใช้งาน",
"condense_label": "แนะนำเส้นที่สั้นกว่านี้",
"translate_with_agent": "แปลด้วยเอเจนต์",
"agent_quality_desc": "แปลตามบริบท วัดคำพูดที่เรนเดอร์จริง จากนั้นเขียนใหม่เฉพาะการกำหนดเวลาที่พลาดได้สูงสุดสองครั้ง",
"agent_measuring": "กำลังวัดคำพูดที่แสดงผล...",
"agent_adapting": "การปรับสายให้ตรงเวลา...",
"agent_rerendering": "กำลังแสดงผลบรรทัดที่แก้ไข...",
"agent_cli_desc": "{{agent}} แปลแต่ละช่วงตามบริบทและปรับข้อความที่มีเวลาไม่ตรงหลังวัดเสียงพูด",
"choose_translation_agent": "เลือกเอเจนต์แปลภาษา",
"no_local_agents": "ติดตั้ง Codex, Claude Code, OpenCode หรือ Pi เพื่อแปลด้วยเอเจนต์ในเครื่อง",
"agent_translation_complete": "{{agent}} แปลช่วงต่าง ๆ เสร็จแล้ว"
},
"dub_workflow": {
"preparing_audio": "กำลังเตรียมเสียง...",
"preparing_video": "กำลังเตรียมวิดีโอ...",
"extracting_audio_scenes": "กำลังแยกเสียงและฉาก...",
"transcribing_audio": "กำลังถอดเสียง...",
"transcription_complete": "การถอดเสียงเป็นคำเสร็จสมบูรณ์",
"upload_cancelled": "ยกเลิกการอัปโหลดแล้ว",
"upload_failed": "การอัปโหลดล้มเหลว: {{message}}",
"downloading_video": "กำลังดาวน์โหลดวิดีโอ...",
"ingested": "ติดเครื่อง {{url}}",
"ingest_cancelled": "ยกเลิกการนำเข้าแล้ว",
"ingest_failed": "การนำเข้า URL ล้มเหลว: {{message}}",
"retry_cancelled": "ลองอีกครั้ง ยกเลิก",
"transcription_failed": "การถอดเสียงล้มเหลว: {{message}}",
"import_srt_no_job": "อัปโหลดหรือนำเข้าวิดีโอก่อน ไม่มีงานให้แนบคำบรรยาย",
"import_srt_after_speakers": "เพิ่ม SRT ลงในคิวแล้ว ระบบจะวิเคราะห์ผู้พูดให้เสร็จก่อนเพื่อรักษาเสียงที่โคลนไว้",
"imported_cues": "นำเข้า {{count}} คิวจาก {{file}}",
"skipped_malformed": "{{count}} ข้ามไป (มีรูปแบบไม่ถูกต้อง)",
"dropped_overlap": "{{count}} ลดลง (ทับซ้อนกัน)",
"clamped_to_duration": "{{count}} ถูกหนีบเข้ากับความยาวของสื่อ",
"srt_import_failed": "การนำเข้า SRT ล้มเหลว",
"cleaned_one": "ทำความสะอาดส่วน {{count}} แล้ว",
"cleaned_other": "ทำความสะอาด {{count}} แฟรกเมนต์",
"segments_clean": "ล้างกลุ่มแล้ว",
"cleanup_failed": "การล้างข้อมูลล้มเหลว: {{message}}",
"cinematic_no_llm": "คุณภาพนี้ต้องใช้ผู้ให้บริการ LLM โปรดตั้งค่าในผู้ให้บริการ LLM เพื่อดำเนินการต่อ",
"dialect_not_applied": "สำเนียงที่เลือกต้องใช้ LLM — เปลี่ยนเอนจินเป็น OpenAI/Ollama หรือเลือกคุณภาพ Cinematic",
"translate_errors": "{{errorCount}}/{{totalCount}} เซ็กเมนต์ล้มเหลว: {{firstError}}",
"translate_degraded": "แปลครบทั้ง {{totalCount}} ส่วนแล้ว — {{count}} ส่วนใช้คำแปลแบบตรงตัวเพราะข้ามขั้นตอนขัดเกลา ({{reason}})",
"translated_segments": "แปล {{count}} ส่วน → {{lang}}",
"translated_cinematic_suffix": "(ภาพยนตร์)",
"translation_failed": "การแปลล้มเหลว: {{message}}",
"regenerating": "กำลังสร้างเซ็กเมนต์ {{count}} ใหม่...",
"generating_dub": "กำลังสร้างเสียงพากย์…",
"generating_progress": "กำลังสร้างพากย์… {{current}}/{{total}}",
"generation_aborted": "รุ่นถูกยกเลิก",
"dubbing_aborted": "ยกเลิกการพากย์แล้ว",
"generation_stream_ended": "กระแสการสร้างสิ้นสุดลงก่อนที่จะเสร็จสิ้น",
"dub_complete": "พากย์เสร็จแล้ว",
"stop_failed": "ไม่สามารถหยุดได้",
"save_first": "โปรดคลิก 'อัปโหลดและถอดเสียง' ก่อน เพื่อให้วิดีโอได้รับการประมวลผลบนเซิร์ฟเวอร์ก่อนบันทึก",
"project_saved": "บันทึกโครงการแล้ว",
"project_created": "สร้างโครงการแล้ว",
"save_failed": "บันทึกล้มเหลว: {{message}}",
"opened_project": "เปิดแล้ว: {{name}}",
"delete_project_confirm": "ลบโปรเจ็กต์นี้ใช่ไหม สิ่งนี้ไม่สามารถยกเลิกได้",
"project_deleted": "ลบโครงการแล้ว",
"delete_history_confirm": "ลบรายการประวัตินี้หรือไม่",
"history_deleted": "ลบรายการประวัติแล้ว",
"restored_state": "คืนค่าสถานะรุ่นก่อนหน้า",
"upgrading_preview": "กำลังอัปเกรด {{count}} กลุ่มคุณภาพตัวอย่างเป็นคุณภาพเต็ม...",
"session_expired": "เซสชั่นพากย์นี้หมดอายุหรือถูกล้างออกไปแล้ว — อัปโหลดวิดีโอของคุณอีกครั้งเพื่อเริ่มวิดีโอใหม่",
"unsupported_translation_language": "NLLB ไม่รองรับ: {{languages}} โปรดเลือกภาษาอื่นหรือเอนจินแปลภาษาอื่น"
},
"common": {
"stop": "หยุด",
"resume": "ดำเนินต่อ",
"paused": "หยุดชั่วคราว",
"open": "เปิด",
"cancel": "ยกเลิก",
"save": "บันทึก",
"delete": "ลบ",
"loading": "กำลังโหลด...",
"error": "มีบางอย่างผิดพลาด",
"languages_count": "646 ภาษา",
"clear": "ชัดเจน",
"refresh": "รีเฟรช",
"close": "ปิด",
"minimize_window": "ย่อหน้าต่าง",
"maximize_restore_window": "ขยายหรือคืนค่าหน้าต่าง",
"close_window": "ปิดหน้าต่าง",
"back": "กลับ",
"play": "เล่น",
"pause": "หยุดชั่วคราว",
"reload": "บังคับให้โหลด UI ใหม่",
"backend": "แบ็กเอนด์",
"frontend": "ส่วนหน้า",
"tauri": "ทอรี",
"cancelOp": "ยกเลิกการดำเนินการ",
"dismiss": "ยกเลิก",
"dismissStatus": "ยกเลิกสถานะ",
"search": "ค้นหา...",
"no_matches": "ไม่มีการแข่งขัน",
"recent_and_popular": "ล่าสุดและเป็นที่นิยม",
"popular_label": "เป็นที่นิยม",
"showing_of": "กำลังแสดง {{shown}} จาก {{total}} พิมพ์เพื่อค้นหา...",
"yes": "ใช่",
"no": "ไม่",
"more_info": "ข้อมูลเพิ่มเติม",
"learn_more": "เรียนรู้เพิ่มเติม",
"saving": "กำลังบันทึก…",
"remove": "ลบ {{term}}",
"not_set": "ยังไม่ได้ตั้งค่า",
"retry": "ลองอีกครั้ง",
"confirm": "ยืนยัน",
"details": "รายละเอียด",
"unknown": "ไม่ทราบ"
},
"dubWorkspace": {
"title": "พากย์เสียง",
"start": "เริ่ม",
"end": "สิ้นสุด"
},
"player": {
"fullscreen": "เต็มหน้าจอ",
"mute": "ปิดเสียง",
"unmute": "เปิดเสียง",
"volume": "ระดับเสียง",
"exit_fullscreen": "ออกจากเต็มหน้าจอ",
"unavailable": "ไม่สามารถเล่นได้",
"generated_audio": "เสียงที่สร้างขึ้น",
"play": "เล่น",
"pause": "หยุดชั่วคราว",
"seek": "ตำแหน่งการเล่น",
"missing": "ไม่พบไฟล์เสียง"
},
"logs": {
"no_tauri_log": "ยังไม่มีการเข้าสู่ระบบ Tauri บนดิสก์ — เปิดผ่านเดสก์ท็อปเพื่อสร้างหนึ่งรายการ",
"empty_frontend": "No frontend console entries captured yet. โต้ตอบกับแอป — ทุกคอนโซล* จะปรากฏที่นี่",
"empty_tauri": "ไม่มีบันทึก Tauri ทำงานในเชลล์เดสก์ท็อปเท่านั้น",
"empty_backend": "บันทึกรันไทม์ว่างเปล่า กิจกรรมจะปรากฏที่นี่เมื่อแบ็กเอนด์บันทึก",
"title": "บันทึก",
"source_backend": "แบ็กเอนด์",
"source_frontend": "ส่วนหน้า",
"source_tauri": "ทอรี",
"expand": "ขยายบันทึก",
"collapse": "ยุบบันทึก",
"expand_aria": "ขยายแผงบันทึก",
"collapse_aria": "ยุบแผงบันทึก",
"drag_resize": "ลากเพื่อปรับขนาด",
"refresh": "รีเฟรช",
"refresh_aria": "รีเฟรชบันทึก",
"copy_visible": "คัดลอกบันทึกที่มองเห็นได้",
"copy_visible_aria": "คัดลอกบันทึกที่มองเห็นได้",
"clear": "ชัดเจน",
"clear_aria": "ล้างบันทึก",
"report_issue": "รายงานปัญหา (วินิจฉัยการคัดลอก)",
"report_issue_aria": "รายงานปัญหา",
"close": "ปิด",
"close_aria": "ปิดแผงบันทึก",
"join_discord": "เข้าร่วม Discord ของเรา",
"join_discord_aria": "เข้าร่วมชุมชน Discord ของเรา",
"support_project": "สนับสนุนโครงการนี้",
"support_project_aria": "สนับสนุนโครงการนี้",
"empty_frontend_short": "ยังไม่มีเอาต์พุตคอนโซลส่วนหน้า",
"empty_lines": "ไม่มีเส้น",
"all_clear": "✅ ชัดเจนทั้งหมด — ไม่พบปัญหาใดๆ",
"log_cleared": "{{source}} บันทึกถูกล้างแล้ว",
"clear_failed": "การเคลียร์ล้มเหลว: {{message}}",
"log_copied": "คัดลอกบันทึก {{source}} แล้ว",
"copy_failed": "การคัดลอกล้มเหลว: {{message}}",
"report_copied": "คัดลอกรายงานการวินิจฉัยแล้ว — วางลงในปัญหา GitHub",
"report_failed": "รายงานล้มเหลว: {{message}}",
"version_updates": "ตรวจสอบการอัปเดต",
"version_updates_aria": "เปิดการอัปเดต — เวอร์ชันแอป {{v}}",
"update_available": "มีการอัปเดต ({{version}}) — คลิกเพื่ออัปเดต",
"update_available_aria": "อัปเดตพร้อมใช้งาน ({{version}}) — อัปเดตแบบเปิด",
"contact": "ติดต่อ",
"contact_aria": "เปิดหน้าการติดต่อ",
"sponsors_aria": "ดูผู้สนับสนุนและสนับสนุนโครงการ",
"open_api": "การอ้างอิง API",
"open_api_aria": "เปิดข้อมูลอ้างอิง OpenAPI",
"source": "แหล่งที่มาของบันทึก",
"frontend_buffer": "ในหน่วยความจำ (500 สุดท้าย)",
"copy_failed_short": "ไม่สามารถคัดลอกบันทึกได้",
"sponsors": "สปอนเซอร์"
},
"settings": {
"engine_switched": "สลับ {{family}} ไปที่ {{engine}}",
"worker_join": "เข้าร่วม",
"workers_title": "ผู้ปฏิบัติงานระยะไกล",
"workers_desc": "ส่งงานแต่ละชิ้นไปยัง GPU บนเครื่องอื่นของคุณ ผลลัพธ์จะกลับมาที่นี่ จะไม่มีการส่งข้อมูลใดจนกว่าคุณจะเพิ่มผู้ปฏิบัติงานและอนุมัติ",
"workers_enable": "ใช้ผู้ปฏิบัติงานระยะไกล",
"workers_enable_hint": "ขณะที่ปิดอยู่ จะไม่รับการเชื่อมต่อใด และไม่มีสิ่งใดออกจากเครื่องนี้",
"workers_port_conflict": "ไม่สามารถใช้เครื่องทำงานระยะไกลได้ เนื่องจาก VoiceStudio อีกอินสแตนซ์กำลังรับการเชื่อมต่อที่พอร์ตนี้อยู่แล้ว ปิดอินสแตนซ์นั้น หรือตั้งค่า OMNIVOICE_WORKER_PORT เป็นพอร์ตอื่นแล้วเริ่ม VoiceStudio ใหม่",
"workers_endpoint": "ผู้ปฏิบัติงานเชื่อมต่อไปที่",
"workers_endpoint_hint": "ผู้ปฏิบัติงานต้องเข้าถึงที่อยู่นี้ได้ หากอยู่คนละเครือข่าย VPN เช่น Tailscale เป็นวิธีที่เชื่อถือได้",
"workers_add": "เพิ่มผู้ปฏิบัติงาน",
"workers_add_hint": "สร้างโทเค็น แล้ววางลงใน OmniVoice บนเครื่องอีกเครื่อง",
"workers_new_token": "สร้างโทเค็น",
"workers_token_once": "คัดลอกตอนนี้ — แสดงเพียงครั้งเดียว ใช้ได้ครั้งเดียว และหมดอายุใน 15 นาที",
"workers_copy": "คัดลอก",
"workers_copied": "คัดลอกแล้ว",
"workers_copy_failed": "คัดลอกไม่สำเร็จ",
"workers_none": "ยังไม่มีผู้ปฏิบัติงาน สร้างโทเค็นเพื่อเพิ่มเครื่องแรก",
"workers_load": "งาน {{active}} / {{slots}}",
"workers_needs_consent": "ยังไม่อนุมัติ",
"workers_status_online": "ออนไลน์",
"workers_status_offline": "ออฟไลน์",
"workers_status_paused": "หยุดชั่วคราว",
"workers_status_disabled": "ปิดใช้งาน",
"workers_resume": "ดำเนินต่อ",
"workers_disable": "ปิดใช้งาน",
"workers_enable_one": "เปิดใช้งาน",
"workers_remove": "ลบ",
"workers_remove_title": "ลบผู้ปฏิบัติงานหรือไม่",
"workers_remove_confirm": "ลบ {{name}} หรือไม่ คีย์จะถูกเพิกถอน จึงเชื่อมต่อใหม่ไม่ได้หากไม่มีโทเค็นใหม่",
"workers_rename": "เปลี่ยนชื่อผู้ปฏิบัติงาน",
"inbound_add_person": "เพิ่มผู้ใช้",
"inbound_add_person_hint": "สร้างสตริงการเชื่อมต่อสำหรับหนึ่งคน ให้แต่ละคนมีของตนเอง เพื่อที่การลบของคนหนึ่งจะไม่ตัดการเชื่อมต่อของทุกคน",
"inbound_bind": "เข้าถึงได้จาก",
"inbound_bind_apply": "ใช้งาน",
"inbound_bind_exposed": "ผู้ที่เข้าถึง {{address}} ได้สามารถเชื่อมต่อด้วยสตริงที่ถูกต้อง TLS จะเข้ารหัสเซสชันและตรึงใบรับรองของเครื่องนี้ โปรดเก็บสตริงแต่ละรายการเป็นความลับและลบสิทธิ์ที่ไม่ต้องการ",
"inbound_bind_local": "มีเพียงเครื่องนี้ที่เข้าถึงได้ กรอกที่อยู่เครือข่ายของคุณเพื่อให้เครื่องอื่นเชื่อมต่อได้",
"inbound_connect": "เชื่อมต่อ",
"inbound_connect_desc": "วางสตริงการเชื่อมต่อที่ได้รับมา เครื่องปลายทางต้องกำลังรับการเชื่อมต่ออยู่จึงจะใช้งานได้",
"inbound_connect_hint": "ขึ้นต้นด้วย ovnode:// และมีคีย์ ที่อยู่ พอร์ต และลายนิ้วมือใบรับรอง",
"inbound_connect_placeholder": "ovnode://…@192.168.0.110:7444?fingerprint=…",
"inbound_request_failed": "ไม่สามารถติดต่อเครื่อง GPU นั้นได้ ตรวจสอบว่าเครื่องออนไลน์และรับการเชื่อมต่ออยู่ แล้วลองอีกครั้ง",
"inbound_connect_row": "สตริงการเชื่อมต่อ",
"inbound_connect_title": "เชื่อมต่อกับเครื่องที่มี GPU",
"inbound_connected": "เชื่อมต่อแล้ว",
"inbound_connected_now": "กำลังเชื่อมต่ออยู่ตอนนี้",
"inbound_connecting": "กำลังเชื่อมต่อ…",
"inbound_create": "สร้าง",
"inbound_desc": "อนุญาตให้เครื่องอื่นเชื่อมต่อเพื่อให้หลายคนใช้ GPU นี้ร่วมกัน ทุกการเชื่อมต่อได้รับการเข้ารหัสและตรึงกับใบรับรองของเครื่องนี้",
"inbound_disconnect": "ตัดการเชื่อมต่อ",
"inbound_enable": "รับการเชื่อมต่อ",
"inbound_enable_hint": "คนอื่นเชื่อมต่อมายังเครื่องนี้ แทนที่เครื่องนี้จะไปเชื่อมต่อหาเขา ไม่มีใครเข้ามาได้หากไม่มีสตริงการเชื่อมต่อที่คุณสร้าง",
"inbound_exposed_badge": "อยู่บนเครือข่ายของคุณ",
"inbound_forget": "นำออก",
"inbound_hours_ago": "{{count}} ชม. ที่แล้ว",
"inbound_jobs_run": "{{count}} งาน",
"inbound_just_now": "เมื่อสักครู่",
"inbound_label": "ชื่อ",
"inbound_label_placeholder": "แล็ปท็อปของอลิซ",
"inbound_last_seen": "ใช้ล่าสุด {{when}}",
"inbound_minutes_ago": "{{count}} นาทีที่แล้ว",
"inbound_nobody": "ยังไม่มีใครเชื่อมต่อ",
"inbound_people": "ผู้ที่มีสิทธิ์เข้าถึง",
"inbound_revoke": "นำออก",
"inbound_revoke_confirm": "นำสิทธิ์เข้าถึงของ {{label}} ออกหรือไม่ สตริงการเชื่อมต่อจะหยุดทำงานทันที คนอื่นทั้งหมดยังคงเชื่อมต่ออยู่",
"inbound_revoke_title": "นำสิทธิ์เข้าถึงออกหรือไม่",
"inbound_shown_once": "คัดลอกตอนนี้ — จะไม่แสดงอีก มอบให้เฉพาะ {{label}} เท่านั้น",
"inbound_shown_once_warning": "จัดการเหมือนรหัสผ่านและส่งแบบส่วนตัว ลายนิ้วมือใบรับรองจะตรึงการเชื่อมต่อที่เข้ารหัสกับเครื่อง GPU นี้",
"inbound_title": "แบ่งปัน GPU นี้กับผู้อื่น",
"worker_join_code": "รหัสเข้าร่วม",
"worker_join_code_hint": "ใช้ได้ครั้งเดียวและหมดอายุใน 15 นาที สร้างบนเครื่องที่จะส่งงาน",
"worker_join_desc": "ให้ VoiceStudio อีกชุดหนึ่งส่งงานมายังเครื่องนี้ วางรหัสเข้าร่วมที่แสดงให้คุณ — หรือสแกน QR ด้วยโทรศัพท์ของคุณแล้ววางที่นี่",
"worker_join_env": "OMNIVOICE_WORKER_MODE ถูกตั้งไว้ในสภาพแวดล้อมของเครื่องนี้ จึงเป็นตัวกำหนด — เปลี่ยนได้ที่นั่น",
"worker_join_no_endpoint": "ไม่มี control plane ที่บันทึกไว้",
"worker_join_ok": "เข้าร่วมแล้ว เครื่องนี้กำลังรับงานอยู่",
"worker_join_placeholder": "ovw_…",
"worker_join_rejoin": "เข้าร่วมเครื่องอื่น",
"worker_join_stopped": "หยุดแล้ว",
"worker_join_take_work": "รับงานจาก",
"worker_join_title": "ให้ยืม GPU ของเครื่องนี้",
"worker_join_working": "กำลังทำงาน",
"workers_add_hint_qr": "สร้างโทเค็น แล้วสแกน QR จากเครื่องอีกเครื่อง หรือวางรหัสลงในการตั้งค่าผู้ปฏิบัติงานระยะไกลของเครื่องนั้น",
"workers_approve": "อนุมัติ",
"workers_last_seen": "เห็นล่าสุด {{when}}",
"workers_qr_alt": "รหัส QR ที่บรรจุรหัสนี้ — สแกนจากเครื่องอีกเครื่อง",
"workers_secret_done": "เสร็จสิ้น",
"workers_seen_hr": "{{count}} ชม. ที่แล้ว",
"workers_seen_min": "{{count}} นาทีที่แล้ว",
"workers_seen_now": "เมื่อครู่นี้",
"workers_step_1": "ติดตั้ง VoiceStudio บนเครื่องที่มี GPU",
"workers_step_2": "สร้างโทเค็นด้านบน",
"workers_step_3": "สแกน QR ที่นั่น หรือวางรหัสลงในการตั้งค่าผู้ปฏิบัติงานระยะไกลของเครื่องนั้น",
"workers_summary_none": "ไม่มีใครเชื่อมต่อ",
"workers_summary_online": "ออนไลน์ {{count}} เครื่อง",
"workers_token_expired": "หมดอายุแล้ว — สร้างใหม่",
"workers_token_expires_in": "หมดอายุใน {{time}}",
"workers_token_qr_hint": "บนเครื่องอีกเครื่อง: การตั้งค่า → ระบบ → ผู้ปฏิบัติงานระยะไกล → เข้าร่วม แล้วสแกนหรือวาง",
"usage": "การใช้งาน",
"usage_desc": "สิ่งที่คุณสร้างด้วย VoiceStudio — นับบนอุปกรณ์ของคุณเอง",
"usage_privacy": "ตัวเลขเหล่านี้คำนวณจากประวัติบนอุปกรณ์นี้และจะไม่ถูกส่งไปที่ใด VoiceStudio ไม่มีบริการวิเคราะห์ — ไม่มีข้อมูลใดออกจากคอมพิวเตอร์ของคุณ",
"usage_empty": "คุณยังไม่ได้สร้างอะไร — เมื่อสร้างแล้วจะแสดงที่นี่",
"usage_takes": "เทคที่สร้าง",
"usage_since": "ตั้งแต่ {{date}}",
"usage_audio": "เสียงที่สร้าง",
"usage_voices": "เสียงพูด",
"usage_active_days": "วันที่ใช้งาน",
"usage_dubs": "งานพากย์",
"usage_starred": "เทคที่ติดดาว",
"usage_by_mode": "ตามโหมด",
"usage_by_language": "ตามภาษา",
"data_directory": "ข้อมูลเสียง & โครงการ",
"data_directory_desc": "ขยับเสียง โครงการ การออก และฐานข้อมูลแอพไปยังไดรฟอื่น",
"data_move_choose": "ขยับไป...",
"data_move_title": "ขยับข้อมูล VoiceStudio?",
"data_move_desc": "VoiceStudio จะตรวจสอบสําเนาก่อนเปลี่ยนโฟลเดอร์",
"data_move_summary": "{{size}} ใน {{count}} ใบ แฟ้มเดิมจะอยู่จนกว่าการตรวจสอบสําเนาใหม่",
"data_move_confirm": "ขับข้อมูล",
"data_move_working": "ขยับไป...",
"data_move_done": "ข้อมูล VoiceStudio โย้ายไป {{path}}",
"data_move_old_copy": "แฟลเดอร์ใหม่มีกิจกรรม แต่ VoiceStudio ไม่สามารถลบสําเนาเก่าได้ คุณสามารถลบมันด้วยมือได้",
"data_move_error": "VoiceStudio ไม่สามารถย้ายข้อมูลได้ ตู้เดิมยังคงมีกิจกรรม",
"data_move_error_target_not_empty": "เลือกแฟ้มว่างเพื่อไม่สามารถเขียนไฟล์ที่มีอยู่ได้",
"data_move_error_nested_path": "เลือกโฟลเดอร์นอกโฟลเดอร์ข้อมูล VoiceStudio ปัจจุบัน",
"data_move_error_insufficient_space": "แจกที่ไม่มีพื้นที่ว่างพอสําหรับการเคลื่อนไหว",
"data_move_error_local_only": "ข้อมูลสามารถขนส่งได้เพียงสําหรับเครื่องจักรในพื้นที่",
"data_move_error_backend_not_managed": "ปิด backend ที่เริ่มแยกกัน แล้วปล่อยให้ VoiceStudio เริ่มมัน ก่อนย้ายข้อมูล",
"data_move_error_authorization_expired": "การเลือกโฟลเดอร์หมดอายุ เลือกโฟลเดอร์อีกครั้ง",
"data_move_error_backend_verification_failed": "โฟลเดอร์ใหม่ไม่ได้เปิด VoiceStudio ได้คืนโฟลเดอร์เดิม",
"data_move_stage_stopping": "หยุดเครื่องในพื้นที่...",
"data_move_stage_copying": "สําเนาและตรวจสอบข้อมูลของคุณ",
"data_move_stage_switching": "การเปลี่ยนไปในโฟลเดอร์ใหม่...",
"data_move_stage_restarting": "เริ่มต้นเครื่องในพื้นที่จากโฟลเดอร์ใหม่",
"data_move_stage_cleaning": "ยกออกสําเนาเก่าที่ได้รับการตรวจสอบ",
"data_move_stage_rolling_back": "การฟื้นฟูแฟ้มเดิม",
"data_move_stage_done": "ขยับไปหมด",
"reset": "รีเซ็ตและลบ",
"reset_desc": "ใส่บางส่วนหรือทั้งหมดของ VoiceStudio กลับไปตามวิธีจัดส่ง",
"reset_body_web": "ล้างการตั้งค่าที่บันทึกไว้ในเครื่อง (ธีม ภาษา การตั้งค่าพากย์) และโหลดซ้ำ เสียง โปรเจ็กต์ และเสียงที่สร้างขึ้นของคุณจะไม่ได้รับผลกระทบ",
"reset_tier_ui": "การตั้งค่า UI เท่านั้น",
"reset_tier_ui_hint": "ปุ่มหมุนธีม เลย์เอาต์ และพากย์ กลับไปเป็นค่าเริ่มต้น ไม่มีการเปลี่ยนแปลงใด ๆ บนดิสก์",
"reset_tier_settings": "การตั้งค่าทั้งหมด",
"reset_tier_settings_hint": "ทุกการตั้งค่า ในแอปและบนดิสก์ เสียง โครงการ และแบบจำลองของคุณไม่มีใครแตะต้อง",
"reset_tier_assets": "ดาวน์โหลดเนื้อหาและโมเดลแล้ว",
"reset_tier_assets_hint": "น้ำหนักโมเดล เครื่องยนต์เทียมข้างรถ อุปกรณ์เสียง และแคช ทุกสิ่งที่คุณทำยังคงอยู่ พวกเขาดาวน์โหลดใหม่เมื่อมีความจำเป็นครั้งต่อไป",
"reset_tier_everything": "ทุกอย่างที่ VoiceStudio ทำ",
"reset_tier_everything_hint": "กลับสู่การติดตั้งใหม่: การตั้งค่า เสียง โปรเจ็กต์ เสียง โมเดล เครื่องยนต์ บันทึก แอปจะรีสตาร์ทในหน้าจอการทำงานครั้งแรก",
"reset_advanced": "เลือกสิ่งที่จะลบให้แน่ชัด",
"reset_scope_ui_prefs": "การตั้งค่า UI — ธีม, ภาษา, รูปแบบ, การตั้งค่าเสียงพากย์",
"reset_scope_settings": "การตั้งค่าแอป — ตัวเลือกเครื่องยนต์ ค่าเริ่มต้นของเสียง ตัวเลือกที่บันทึกไว้",
"reset_scope_history": "การสร้างและประวัติการพากย์พร้อมเสียง",
"reset_scope_content": "เสียง โปรเจ็กต์ เสียงที่สร้างขึ้น และฐานข้อมูลแอป",
"reset_scope_engines": "ติดตั้งเครื่องยนต์เทียมข้างรถจักรยานยนต์ (IndexTTS-2 และเพื่อนๆ)",
"reset_scope_tools": "เครื่องมือเสียงที่ดาวน์โหลด (ffmpeg, ffprobe, yt-dlp)",
"reset_scope_models": "ดาวน์โหลดน้ำหนักโมเดลแล้ว",
"reset_scope_caches": "แคชและไฟล์ชั่วคราว",
"reset_scope_logs": "บันทึกและรายงานข้อขัดข้อง",
"reset_models_shared": "แคช Hugging Face ที่แชร์ — อาจมีโมเดลเครื่องมือ AI อื่นๆ ที่ดาวน์โหลดไว้",
"reset_models_shared_warning": "แคชโมเดลคือแคช Hugging Face มาตรฐาน ซึ่งแชร์กับเครื่องมือ AI อื่นๆ บนเครื่องนี้ - การลบแคชออกอาจเป็นการลบโมเดลที่ VoiceStudio ไม่เคยดาวน์โหลด ทุกสิ่งที่ VoiceStudio ต้องการจะถูกดาวน์โหลดอีกครั้งในการใช้งานครั้งถัดไป",
"reset_confirm_title": "รีเซ็ต VoiceStudio หรือไม่",
"reset_confirm": "รีเซ็ตและโหลดซ้ำ",
"reset_confirm_restart": "ลบ {{size}} แล้วรีสตาร์ท",
"reset_confirm_word": "ลบ",
"reset_type_to_confirm": "พิมพ์ {{word}} เพื่อยืนยัน:",
"reset_irreversible": "โปรไฟล์เสียง โปรเจ็กต์ และเสียงที่สร้างขึ้นของคุณจะถูกลบอย่างถาวร สิ่งนี้ไม่สามารถยกเลิกได้",
"reset_restart_note": "VoiceStudio จะรีสตาร์ทเครื่องยนต์เพื่อเสร็จสิ้น การดำเนินการนี้ใช้เวลาไม่กี่วินาที",
"reset_done": "รีเซ็ตเสร็จสมบูรณ์ — กำลังโหลดซ้ำ...",
"reset_done_restart": "รีเซ็ตเสร็จสมบูรณ์ — กำลังรีสตาร์ท VoiceStudio...",
"reset_partial": "บางรายการไม่สามารถลบได้: {{paths}}",
"reset_failed": "การรีเซ็ตล้มเหลว: {{message}}",
"logs": "บันทึกระบบ",
"clear_frontend_confirm": "ล้างบัฟเฟอร์บันทึกส่วนหน้าในหน่วยความจำหรือไม่",
"clear_backend_confirm": "ล้างรันไทม์แบ็กเอนด์ + บันทึกข้อขัดข้องใช่ไหม สิ่งนี้ไม่สามารถยกเลิกได้",
"llm_providers": "ผู้ให้บริการ LLM",
"llmp_desc": "ขับเคลื่อนการแปลแบบ Cinematic และ Autofit — LLM จะเขียนแต่ละบรรทัดใหม่ให้พอดีกับเวลาของช่วงนั้น เพื่อคงจังหวะเวลาของวิดีโอไว้ คีย์ถูกเก็บแบบเข้ารหัส ผู้ให้บริการภายในเครื่อง (Ollama/LM Studio) ทำงานแบบออฟไลน์ทั้งหมด",
"llmp_catalogue_note": "ผู้ให้บริการที่ทำเครื่องหมายว่าใช้งานอยู่คือผู้ที่ตอบสนองเมื่อกลุ่มเอนจิน LLM ในแค็ตตาล็อกถูกตั้งเป็น \"เข้ากันได้กับ OpenAI\"",
"llmp_catalogue_link": "เปิดกลุ่ม LLM ในแค็ตตาล็อก",
"llmp_provider": "ผู้ให้บริการ",
"llmp_provider_hint": "เลือกผู้ให้บริการที่จะตั้งค่า ผู้ให้บริการที่ใช้งานอยู่จะถูกใช้สำหรับการแปล Cinematic/Autofit ผู้ให้บริการภายในเครื่องไม่ต้องใช้คีย์ แต่เซิร์ฟเวอร์ต้องกำลังทำงานอยู่",
"llmp_local_tag": "ภายในเครื่อง",
"llmp_about": "เกี่ยวกับ",
"llmp_get_key": "รับคีย์ API",
"llmp_account_id": "ID บัญชี",
"llmp_account_placeholder": "ID บัญชี Cloudflare",
"llmp_api_key": "คีย์ API",
"llmp_key_env": "ตั้งค่าผ่านสภาพแวดล้อม (.env) — จะแทนที่ช่องนี้",
"llmp_key_stored": "บันทึกแล้ว — พิมพ์เพื่อแทนที่",
"llmp_key_paste": "วางคีย์ API ของคุณ",
"llmp_base_url": "Base URL",
"llmp_model": "โมเดล",
"llmp_model_placeholder": "ชื่อโมเดล",
"llmp_fetch_models": "ดึงรายชื่อโมเดล",
"llmp_models_loaded": "มีโมเดลให้ใช้ {{count}} รายการจากผู้ให้บริการนี้",
"llmp_status": "สถานะ",
"llmp_save": "บันทึก",
"llmp_save_active": "บันทึกและใช้สำหรับการแปล",
"llmp_save_keep": "บันทึกโดยคงตัวที่ใช้งานอยู่",
"llmp_test": "ทดสอบ",
"llmp_active_badge": "ใช้งานอยู่",
"llmp_test_ok": "โอเค — {{model}} · {{ms}} ms",
"llmp_err_config": "ไม่มีคีย์ API หรือ Base URL — กรอกข้อมูลแล้วบันทึก",
"llmp_err_auth": "คีย์ถูกปฏิเสธ (401/403) — ตรวจสอบคีย์ API ของคุณ",
"llmp_err_not_found": "ไม่พบ (404) — ตรวจสอบชื่อโมเดลและพาธของ Base URL",
"llmp_err_rate_limit": "ถูกจำกัดอัตรา (429) — คีย์ใช้งานได้ ลองอีกครั้งในอีกสักครู่",
"llmp_err_network": "ติดต่อผู้ให้บริการไม่ได้ — ตรวจสอบ Base URL เครือข่ายของคุณ หรือว่าเซิร์ฟเวอร์ภายในเครื่องกำลังทำงานอยู่",
"llmp_err_error": "การทดสอบล้มเหลว",
"llmp_load_failed": "ไม่สามารถโหลดผู้ให้บริการได้",
"llmp_save_failed": "บันทึกล้มเหลว",
"audio_tools": "เครื่องมือเสียง",
"audio_tools_use_system": "ใช้สำเนาของระบบ",
"audio_tools_restore": "คืนค่าเวอร์ชันที่แนบมา",
"audio_tools_update_bundle": "อัปเดตเวอร์ชันที่แนบมา",
"audio_tools_origin_bundled": "แนบมา",
"audio_tools_origin_system": "ระบบ",
"audio_tools_origin_custom": "กำหนดเอง",
"audio_tools_origin_sidecar": "แพ็กเกจแอป",
"audio_tools_ytdlp_update": "อัปเดต",
"audio_tools_ytdlp_restore": "คืนค่าเวอร์ชันที่ทดสอบแล้ว",
"audio_tools_choose_file": "เลือกไฟล์…",
"hf_token_clear_btn": "ล้างโทเค็น",
"hf_source_cli_label": "HuggingFace CLI",
"hf_token_whoami_failed": "ตรวจสอบไม่สำเร็จ",
"hf_token_set": "ตั้งค่าแล้ว",
"translation_providers": "ผู้ให้บริการแปล",
"hf_token_sources": "แหล่งที่มาของโทเค็น HF",
"hf_token_input": "โทเค็น HuggingFace",
"hf_token_clear_confirm": "ล้างโทเค็น HuggingFace ที่ตั้งจากแอปหรือไม่",
"credentials": "สิทธิ์การใช้งาน",
"hf_token_test_now": "ทดสอบตอนนี้",
"hf_source_env_label": "ตัวแปรสภาพแวดล้อม",
"hf_token_not_checked": "ยังไม่ได้ทดสอบ",
"translation_providers_desc": "คีย์ API สำหรับนักแปลออนไลน์ ตั้งค่าสำหรับเซสชันนี้",
"hf_token_verified": "ตรวจสอบแล้ว",
"ffmpeg": "FFmpeg",
"hf_token_not_set": "ยังไม่ตั้งค่า",
"hf_source_app_label": "VoiceStudio (เข้ารหัส แนะนำ)",
"proxy_cleared": "ล้างพรอกซีแล้ว",
"proxy_saved": "ตั้งค่าพร็อกซีแล้ว — การดาวน์โหลดใหม่จะใช้พร็อกซีนี้",
"proxy_desc": "พร็อกซี HTTP/SOCKS5 สำหรับการดาวน์โหลด (ดาวน์โหลดวิดีโอ, Hugging Face) รองรับ http://, https://, socks5:// มีผลกับการดาวน์โหลดใหม่ทันที",
"network": "เครือข่าย",
"remote_backend_test": "ทดสอบการเชื่อมต่อ",
"remote_backend_save": "บันทึกและโหลดใหม่",
"remote_backend_recovery_title": "ไม่สามารถเชื่อมต่อแบ็กเอนด์ระยะไกลได้",
"remote_backend_recovery_hint": "คุณเปลี่ยนแบ็กเอนด์ระยะไกลภายหลังได้ที่ การตั้งค่า → การแชร์",
"remote_backend_use_local": "ใช้แบ็กเอนด์ในเครื่อง",
"remote_backend_error_tls": "ไม่สามารถยืนยันการเชื่อมต่อที่ปลอดภัยได้ โปรดตรวจสอบใบรับรองและใช้พอร์ต HTTP API ของ VoiceStudio",
"remote_backend_error_cors": "แบ็กเอนด์ระยะไกลบล็อกแอปนี้ โปรดอนุญาตต้นทางของแอปในการตั้งค่า CORS",
"remote_backend_error_network": "ไม่สามารถเข้าถึงแบ็กเอนด์ระยะไกลได้ โปรดตรวจสอบที่อยู่ เครือข่าย และไฟร์วอลล์",
"remote_backend_error_timeout": "แบ็กเอนด์ระยะไกลไม่ตอบสนองภายในเวลาที่กำหนด",
"remote_backend_error_http": "แบ็กเอนด์ระยะไกลส่งคืน HTTP {{status}}",
"remote_backend_error_wrong_port": "บริการนี้ดูเหมือนไม่ใช่ HTTP API ของ VoiceStudio โดยปกติพอร์ต 7443 ใช้ควบคุมเวิร์กเกอร์ระยะไกล โปรดลองพอร์ต 3900",
"hf_token_also_clear": "ลบไฟล์โทเค็น HuggingFace CLI ที่บันทึกไว้ด้วย",
"proxy_clear": "ชัดเจน",
"proxy": "หนังสือมอบฉันทะ",
"hf_token_active": "ใช้งานอยู่",
"generate_budget_title": "งบเวลาในการประมวลผล",
"generate_timeout_cpu": "งบ CPU",
"perf_torch_compile_note": "ใช้การประมวลผลโดยตรงเพื่อหลีกเลี่ยงข้อผิดพลาดหน่วยความจำของ Triton",
"perf_torch_compile_na": "จำเป็นเฉพาะบน Windows",
"device_family_mps": "Apple GPU (MPS)",
"compute_device_auto": "อัตโนมัติ (แนะนำ)",
"device_family_xpu": "Intel GPU (XPU)",
"compute_device_title": "อุปกรณ์ประมวลผล",
"compute_device_env_pinned": "ถูกกำหนดโดยตัวแปรสภาพแวดล้อม OMNIVOICE_DEVICE",
"perf_title": "ประสิทธิภาพ",
"generate_timeout_cpu_note": "ใช้เมื่อการสร้างทำงานบน CPU เมื่อบันทึกที่นี่แล้ว ค่านี้จะควบคุมการสร้างบน CPU เสมอ — โดยไม่ขึ้นกับงบแบบเร่งความเร็วด้านบน",
"device_family_rocm": "AMD GPU (ROCm)",
"perf_torch_compile": "ปิดใช้ torch.compile (Windows)",
"generate_timeout_shadowed_note": "มีตัวแปรสภาพแวดล้อมภายนอก VoiceStudio (เชลล์, ไฟล์ .env หรือคอนเทนเนอร์) กำลังตั้งค่านี้อยู่ — ค่าที่บันทึกไว้ที่นี่จะถูกละเว้นจนกว่าตัวแปรนั้นจะถูกลบออก",
"device_family_cpu": "CPU",
"device_family_gpu": "GPU",
"device_family_cuda": "NVIDIA GPU (CUDA)",
"compute_device_restart": "มีผลหลังจากรีสตาร์ตแอป",
"generate_timeout_gpu_note": "ใช้เมื่อการสร้างทำงานบน CUDA, ROCm, MPS หรือตัวเร่งความเร็วอื่น และยังใช้สำหรับการสร้างบน CPU ด้วยหากไม่ได้ตั้งค่างบ CPU ไว้ด้านล่าง",
"compute_device": "อุปกรณ์ประมวลผล",
"generate_timeout_gpu": "งบแบบเร่งความเร็ว (GPU)",
"generate_budget_desc": "การสร้างหนึ่งครั้งสามารถทำงานได้นานเท่าใดก่อนที่จะถูกยกเลิกเนื่องจากหนักเกินไปสำหรับฮาร์ดแวร์นี้ การเรนเดอร์บน CPU ช้ากว่าการเรนเดอร์แบบเร่งความเร็วโดยธรรมชาติ จึงมีขีดจำกัดของตัวเองที่สูงกว่า",
"compute_device_desc": "แบ็กเอนด์รันโมเดลบนอุปกรณ์ใด อัตโนมัติ เหมาะสำหรับเกือบทุกคน",
"compute_device_ignored": "ไม่พบอุปกรณ์นั้นบนเครื่องนี้ — ใช้ อัตโนมัติ แทน",
"privacy": "ความเป็นส่วนตัว",
"translation": "การแปล",
"history_retention_cap_hint": "เทคที่ติดดาวไม่ถูกนับในการล้าง · 0 = ไม่จำกัด",
"history_retention_help": "หลังการสร้างแต่ละครั้ง เทคเก่าที่ไม่ติดดาวซึ่งเกินขีดจำกัดนี้จะถูกลบพร้อมไฟล์เสียง เทคที่ติดดาวจะถูกเก็บไว้เสมอ 0 = เก็บทั้งหมด",
"history_retention_saved": "บันทึกขีดจำกัดการเก็บแล้ว",
"history_retention_cap": "จำนวนเทคที่เก็บ",
"history_retention": "ประวัติการสร้าง",
"storage_child_database": "ฐานข้อมูล",
"storage_warn_critical": "เนื้อที่ดิสก์เหลือน้อยมาก: {{free}} GB ฟรีบน {{path}} — VoiceStudio ต้องการอย่างน้อย {{min}} GB การดาวน์โหลดการสร้างและโมเดลอาจล้มเหลว",
"storage_cat_temp": "ไฟล์ชั่วคราว",
"storage_cat_data": "ข้อมูลแอป",
"storage_child_preview": "ตัวอย่าง",
"storage_desc": "โดยที่ VoiceStudio จะเก็บข้อมูลและเอาต์พุตของคุณ",
"storage_child_batch": "งานแบบกลุ่ม",
"storage_top_models": "โมเดลที่ใหญ่ที่สุด",
"storage_refresh": "รีเฟรช",
"storage_volume_free": "ว่าง {{free}} จาก {{total}}",
"storage_child_voices": "เสียง",
"storage_open_folder": "เปิดโฟลเดอร์",
"storage_temp_cleared": "ล้างไฟล์ชั่วคราวแล้ว คืนพื้นที่ {{freed}}",
"storage_warn_low": "พื้นที่ {{path}} เหลือน้อย: ว่าง {{free}} GB ขั้นต่ำ {{min}} GB",
"storage_usage": "การใช้ดิสก์",
"storage_partial": "สแกนบางส่วน",
"storage_warn_pressure": "{{path}} เต็ม {{percent}}%",
"storage_manage_models": "จัดการโมเดล",
"storage_clear_temp_confirm": "ลบไฟล์ชั่วคราวของ VoiceStudio หรือไม่? รอให้งานที่กำลังทำเสร็จก่อน",
"storage_cat_hf_cache": "แคชโมเดล",
"models_dir_choose": "เลือกโฟลเดอร์…",
"storage": "ที่เก็บของ",
"storage_warn_unreadable": "สแกน {{path}} ไม่สมบูรณ์ ขนาดอาจแสดงเพียงบางส่วน",
"storage_child_logs": "บันทึก",
"storage_child_dub_jobs": "งานพากย์",
"storage_clear_temp": "ล้างไฟล์ชั่วคราว",
"storage_cat_engine_venvs": "สภาพแวดล้อมเอนจิน",
"storage_child_outputs": "ผลลัพธ์",
"storage_child_other": "อื่นๆ",
"translate_quality": "คุณภาพการแปล",
"translate_quality_desc": "ความรวดเร็วคือความรวดเร็วอย่างแท้จริง Cinematic ใช้ LLM สำหรับการใช้ถ้อยคำที่เป็นธรรมชาติ",
"translate_fast": "รวดเร็ว",
"translate_autofit": "ปรับให้พอดีอัตโนมัติ",
"translate_cinematic": "ภาพยนตร์",
"shortcut": "ทางลัดการเขียนตามคำบอก",
"shortcut_reset": "รีเซ็ตเป็นค่าเริ่มต้น",
"updater_desktop": "Updater ทำงานในแอปเดสก์ท็อปเท่านั้น",
"mcp_title": "การผูกเสียง MCP",
"mcp_desc": "กำหนดเสียงให้เอเจนต์ MCP แต่ละตัวโดยผูก ID ไคลเอนต์กับโปรไฟล์เสียง",
"mcp_hint": "เอเจนต์เชื่อมต่อ VoiceStudio ที่ /mcp และระบุตัวตนด้วย ID ไคลเอนต์ เช่น claude-code ผูก ID นั้นเพื่อให้เอเจนต์ใช้เสียงนี้เสมอ",
"mcp_empty": "ยังไม่มีการผูก เพิ่ม ID ไคลเอนต์ของเอเจนต์ด้านล่าง",
"mcp_load_failed": "โหลดการผูก MCP ไม่สำเร็จ",
"mcp_save_failed": "บันทึกการผูกไม่สำเร็จ",
"mcp_delete_failed": "ลบการผูกไม่สำเร็จ",
"mcp_delete_confirm": "นำการผูกเสียงของ “{{clientId}}” ออกหรือไม่",
"mcp_delete_confirm_title": "นำการผูกออก",
"mcp_remove": "นำ {{clientId}} ออก",
"mcp_add_title": "เพิ่มการผูก",
"mcp_add": "เพิ่มการผูก",
"mcp_client_id": "ID ไคลเอนต์",
"mcp_client_id_placeholder": "ID ไคลเอนต์ (เช่น claude-code)",
"mcp_label": "ป้ายกำกับ",
"mcp_label_placeholder": "ป้ายกำกับ (ไม่บังคับ)",
"mcp_voice_profile": "โปรไฟล์เสียง",
"mcp_default_voice": "เสียงเริ่มต้น",
"asr_compat_title": "การถอดเสียงที่เข้ากันได้กับ OpenAI",
"asr_compat_desc": "ใช้ OpenAI, Qwen3-ASR, FunASR, SenseVoice, LM Studio หรือเซิร์ฟเวอร์ถอดเสียงอื่นที่เข้ากันได้",
"asr_compat_url_hint": "เซิร์ฟเวอร์ต้องมีปลายทาง /v1/audio/transcriptions ที่เข้ากันได้กับ OpenAI การตั้งค่าจะมีผลทันที",
"asr_compat_model_missing": "เชื่อมต่อใน {{ms}} มิลลิวินาที แต่เซิร์ฟเวอร์ไม่มี {{model}} ในรายการ",
"asr_compat_saved": "บันทึกแล้ว",
"asr_compat_test_hint": "บันทึกการตั้งค่าปัจจุบันก่อน แล้วตรวจสอบเซิร์ฟเวอร์โดยไม่ส่งเสียง",
"language": "ภาษา",
"language_desc": "เลือกภาษาของอินเตอร์เฟส",
"llmskills_ready": "พร้อม",
"llmskills_open_providers": "ตั้งค่าผู้ให้บริการ",
"remote_backend_key": "คีย์ API",
"uninstall_confirm_title": "ลบข้อมูล VoiceStudio ทั้งหมดหรือไม่?",
"uninstall_confirm_body": "โปรไฟล์เสียง โปรเจกต์ และเสียงที่สร้างจะถูกลบอย่างถาวร ไม่สามารถเลิกทำการดำเนินการนี้ได้",
"uninstall_target_logs": "บันทึกระบบ",
"llmskills_save_failed": "บันทึกล้มเหลว",
"uninstall_confirm_word": "DELETE",
"uninstall_desc": "ลบทุกสิ่งที่ VoiceStudio เขียนลงในเครื่องนี้ จากนั้นออก",
"uninstall_body": "VoiceStudio อยู่ในระบบโดยสมบูรณ์ ดังนั้นการถอนการติดตั้งจึงเป็นเพียงการลบโฟลเดอร์ที่เขียนไว้ การดำเนินการนี้จะลบโปรไฟล์เสียง โปรเจ็กต์ และเสียงที่สร้างขึ้นอย่างถาวร โดยไม่มีการเลิกทำ การลบแอปนั้นเป็นขั้นตอนแยกต่างหาก",
"uninstall_target_env": "การตั้งค่า + สภาพแวดล้อม Python ที่มีการจัดการ",
"uninstall_target_userenv": "สภาพแวดล้อมที่บันทึกไว้ (ตำแหน่งแคช โทเค็น)",
"uninstall_target_models": "น้ำหนักโมเดลที่ดาวน์โหลด (แคช Hugging Face ที่แชร์)",
"uninstall_type_to_confirm": "พิมพ์ {{word}} เพื่อยืนยัน:",
"uninstall_confirm": "ลบ {{size}} และออก",
"uninstall_partial": "บางโฟลเดอร์ไม่สามารถลบได้: {{paths}}",
"uninstall_models_warning": "ซึ่งรวมถึงแคช Hugging Face ที่แชร์ ({{size}}) — แบบจำลองที่เครื่องมือ AI อื่นๆ ที่ดาวน์โหลดอาจใช้ร่วมกันได้",
"uninstall_total": "ตำแหน่ง {{count}} · {{size}} จะถูกปลดปล่อย",
"llmp_env_override": "ตั้งค่าผ่านตัวแปรสภาพแวดล้อม - แทนที่ฟิลด์นี้",
"llmp_active_env_pin": "ผู้ให้บริการที่ใช้งานอยู่จะถูกปักหมุดโดยตัวแปรสภาพแวดล้อม LLM_DEFAULT_PROVIDER",
"llmp_models_truncated": "อันดับแรก {{count}} ที่แสดง — พิมพ์เพื่อจำกัดชื่อรุ่นให้แคบลง",
"llm_skills": "LLM ทักษะ",
"llmskills_desc": "กำหนดเส้นทางฟีเจอร์ที่ขับเคลื่อนด้วย AI แต่ละรายการไปยัง LLM ของตัวเอง — เก็บงานที่ละเอียดอ่อนไว้บนโมเดลในเครื่อง (Ollama/LM Studio) ในขณะที่งานที่หนักกว่านั้นต้องใช้ผู้ให้บริการระยะไกล — หรือปิดฟีเจอร์ทั้งหมด Off ทำงานเหมือนกับไม่มีการกำหนดค่า LLM เลย โดยคุณลักษณะนี้จะกลับไปใช้เส้นทางที่ไม่ใช่ LLM",
"llmskills_use_active": "ใช้ผู้ให้บริการที่ใช้งานอยู่",
"llmskills_needs_setup": "จำเป็นต้องตั้งค่า",
"llmskills_load_failed": "โหลดทักษะ LLM ไม่สำเร็จ",
"llmskills_dub_translation_name": "แปลพากย์",
"llmskills_dub_translation_desc": "แปลบรรทัดพากย์โดยตรงด้วยผู้ให้บริการ LLM ที่กำหนดค่าไว้ (กลไก 'LLM' ของแท็บ Dub) ปิด: กลไก LLM ไม่พร้อมใช้งาน — ให้เลือกกลไกอื่น",
"llmskills_cinematic_translation_name": "การแปลแบบภาพยนตร์และการปรับพอดีอัตโนมัติ",
"llmskills_cinematic_translation_desc": "เขียนแต่ละบรรทัดที่แปลใหม่สำหรับการแสดงข้อความที่เป็นธรรมชาติ (และงบประมาณเวลาของการปรับพอดีอัตโนมัติ) ปิด: เสียงพากย์ใช้ผลการแปลแบบเร็ว",
"llmskills_slot_fitting_name": "การปรับช่องอัตราการพูด",
"llmskills_slot_fitting_desc": "ตัดหรือขยายบรรทัดที่แปลเพื่อให้เวลาในการอ่านพอดีกับช่วงเวลาของกลุ่ม ปิด: ใช้สายตามที่เป็นอยู่",
"llmskills_glossary_extract_desc": "เสนอคำศัพท์อภิธานศัพท์ของโครงการ (ชื่อ สถานที่ คำศัพท์เฉพาะทาง) จากส่วนของแหล่งที่มา ปิด: เพิ่มคำศัพท์ด้วยตนเอง",
"llmskills_direction_parse_name": "การแยกวิเคราะห์ทิศทาง",
"llmskills_dictation_refinement_name": "การล้างคำสั่ง",
"llmskills_route_for": "ผู้ให้บริการสำหรับ {{skill}}",
"audio_tools_desc": "เครื่องมือสื่อ (FFmpeg, FFprobe) และโปรแกรมดาวน์โหลดวิดีโอ (yt-dlp) ที่แอปจัดการให้คุณ",
"audio_tools_version_unknown": "ไม่ทราบเวอร์ชัน",
"audio_tools_bundle_updating": "กำลังดาวน์โหลดบิลด์รวม… {{percent}}%",
"audio_tools_bundle_done": "โปรแกรมสื่อรวมพร้อมแล้ว",
"audio_tools_bundle_failed": "การดาวน์โหลดแบบรวมล้มเหลว: {{message}}",
"audio_tools_path_set": "{{tool}} ตอนนี้ใช้ {{path}}",
"audio_tools_path_failed": "ไม่สามารถกำหนดเส้นทาง: {{message}}",
"audio_tools_restored": "{{tool}} คืนค่าเป็นบิลด์ที่จัดการโดยแอป",
"audio_tools_path_input_aria": "{{tool}} เส้นทางไบนารี",
"audio_tools_manual_hint": "ต้องการตัวจัดการแพ็คเกจของคุณหรือไม่? ติดตั้ง FFmpeg ด้วยตัวคุณเอง (macOS: brew install ffmpeg · Debian/Ubuntu: sudo apt install ffmpeg · Windows: winget install ffmpeg) แล้วกด Use system copy ไม่มีแอปใดที่เคยติดตั้งทั่วทั้งระบบโดยแอป",
"audio_tools_ffmpeg_desc": "แปลง พากย์ และมิกซ์เสียง/วิดีโอ แอพจะแก้ไขโดยอัตโนมัติ — แทนที่เฉพาะในกรณีที่คุณต้องการรุ่นเฉพาะเท่านั้น",
"audio_tools_ffprobe_desc": "อ่านข้อมูลเมตาของสื่อ (ระยะเวลา อัตราเฟรม) สำหรับ Smart Fit และการนำเข้า",
"audio_tools_ytdlp": "yt-dlp (เครื่องมือดาวน์โหลดวิดีโอ)",
"audio_tools_ytdlp_desc": "ขับเคลื่อนการนำเข้าวิดีโอ/คลิป การสนับสนุนไซต์เปลี่ยนแปลงเร็วกว่าการเปิดตัวแอป — อัปเดตที่นี่เมื่อการนำเข้าเริ่มล้มเหลว",
"audio_tools_ytdlp_updated": "yt-dlp {{version}} ติดตั้งแล้ว — รีสตาร์ทแบ็กเอนด์เพื่อใช้",
"audio_tools_ytdlp_update_failed": "การอัปเดต yt-dlp ล้มเหลว: {{message}}",
"audio_tools_ytdlp_restored": "คืนค่า yt-dlp ที่ทดสอบแล้ว — รีสตาร์ทแบ็กเอนด์เพื่อใช้",
"audio_tools_moved_note": "การแทนที่ FFmpeg ย้ายไปยังแผงควบคุมของตัวเองพร้อมการควบคุมที่มากขึ้น (เวอร์ชัน ต้นกำเนิด การกู้คืน)",
"remote_backend_title": "แบ็กเอนด์ระยะไกล",
"remote_backend_desc": "เรียกใช้การอนุมานบนเครื่องอื่น ปล่อยให้ URL ว่างไว้สำหรับแบ็กเอนด์ในเครื่อง การบันทึกจะโหลดแอปซ้ำเพื่อนำไปใช้",
"remote_backend_hint": "เริ่มต้นแบ็กเอนด์บนเครื่องอีกเครื่องด้วยการตั้งค่า <1>OMNIVOICE_API_KEY</1> เอื้อมไปที่หางของคุณ แล้วชี้แอปนี้ไปที่เครื่องนั้น",
"remote_backend_url": "URL แบ็กเอนด์",
"remote_backend_key_placeholder": "ค่าของ OMNIVOICE_API_KEY บนเซิร์ฟเวอร์",
"remote_backend_probe_ok": "ตกลง — {{detail}}",
"remote_backend_probe_fail": "ล้มเหลว — {{detail}}",
"remote_backend_unreachable": "ไม่สามารถเข้าถึงได้",
"remote_backend_invalid_url": "ป้อน URL ที่ถูกต้องที่ขึ้นต้นด้วย http:// หรือ https:// (เช่น http://gpu-box:3900).",
"remote_backend_confirm_unverified": "URL แบ็กเอนด์นี้ไม่ผ่านการทดสอบการเชื่อมต่อ บันทึกแล้วโหลดซ้ำใช่ไหม หากไม่ถูกต้อง แอปจะไม่สามารถเข้าถึงแบ็กเอนด์ใดๆ จนกว่าคุณจะเปลี่ยนกลับที่นี่",
"uninstall": "ลบข้อมูลทั้งหมด",
"uninstall_target_data": "เสียง โปรเจ็กต์ เสียงที่สร้างขึ้น ประวัติศาสตร์",
"uninstall_failed": "ไม่สามารถลบข้อมูลได้:{{message}}",
"uninstall_optional_group": "ไม่จำเป็น",
"uninstall_models_caveat": "แคช Hugging Face มาตรฐานที่แชร์กับเครื่องมือ AI อื่นๆ บนเครื่องนี้ การนำแคชดังกล่าวออกอาจเป็นการลบโมเดลที่ VoiceStudio ไม่เคยดาวน์โหลดมาก่อน ทุกสิ่งที่ VoiceStudio ต้องการดาวน์โหลดอีกครั้ง",
"llmp_saved_not_active": "บันทึกแล้ว — ยังไม่ได้ใช้สำหรับการแปล คลิก \"บันทึกและใช้สำหรับการแปล\" เพื่อเปลี่ยน",
"llmskills_glossary_extract_name": "อภิธานศัพท์แยกอัตโนมัติ",
"llmskills_direction_parse_desc": "เปลี่ยนบันทึกการส่งมอบเป็นภาษาธรรมชาติ (\"เร่งด่วนมากขึ้น ประหลาดใจ\") ให้เป็นโทเค็นทิศทางเสียงที่มีโครงสร้าง ปิด: ใช้การวิเคราะห์พฤติกรรมคำหลักแบบเร็วแทน",
"llmskills_dictation_refinement_desc": "ทำความสะอาดสำเนาการเขียนตามคำบอกขั้นสุดท้าย เช่น คำที่เติม การแก้ไขตัวเอง เครื่องหมายวรรคตอน ปิด: การถอดเสียงดิบผ่านโดยไม่มีการเปลี่ยนแปลง",
"audio_tools_not_found": "ไม่สามารถใช้ได้",
"audio_tools_open": "เปิดเครื่องมือเสียง",
"remote_backend_confirm_title": "ใช้แบ็กเอนด์ที่ไม่ได้รับการยืนยันใช่ไหม",
"review_mode": "โหมดทบทวน",
"review_mode_desc": "หยุดชั่วคราวระหว่างขั้นตอนไปป์ไลน์เพื่อให้คุณสามารถตรวจสอบ ASR / เอาต์พุตการแปลได้",
"review_mode_on": "รีวิว",
"review_mode_off": "ยิงเร็ว",
"translate_agent": "ปรับความพอดีด้วยเอเจนต์"
},
"gallery": {
"title": "VoiceStudio แกลเลอรี่",
"search_placeholder": "ค้นหา YouTube...",
"all_voices": "ทุกเสียง ({{count}})",
"no_voices": "ยังไม่มีเสียง.",
"download_hint": "ค้นหาด้านบนเพื่อดาวน์โหลดคลิป",
"search_btn": "ค้นหา",
"download_btn": "ดาวน์โหลด",
"saving": "กำลังบันทึก...",
"trim": "ตัดแต่ง",
"delete_confirm": "ลบคลิปเสียงนี้ใช่ไหม",
"view_mode_list": "รายการ",
"view_mode_grid": "กริด",
"youtube_results": "ผลลัพธ์ของ YouTube ({{count}})",
"clone_profile": "โปรไฟล์โคลน",
"crop_audio": "ครอบตัดเสียง",
"subtitle": "เสียงที่ออกแบบมาสำเร็จรูปหลายร้อยเสียง — เลือกหนึ่งเสียงแล้วไปได้เลย",
"zone_archetypes": "ต้นแบบ",
"zone_imports": "การนำเข้าของฉัน",
"all": "ทั้งหมด",
"favorites": "รายการโปรด",
"favorite": "ของโปรด",
"reset": "รีเซ็ต",
"preview": "ดูตัวอย่าง",
"use_voice": "ใช้เสียง",
"more_actions": "การดำเนินการเพิ่มเติม",
"use_in_stories": "ใช้ในเรื่องราว",
"set_audiobook_default": "ตั้งเป็นเสียงเริ่มต้นของหนังสือเสียง",
"open_designer": "เปิดในตัวออกแบบ",
"no_matches": "ไม่มีเสียงที่ตรงกับตัวกรองเหล่านี้",
"load_more": "โหลดเพิ่ม",
"saved_as_profile": "เพิ่ม \"{{name}}\" ให้กับเสียงของคุณ",
"use_failed": "ไม่สามารถสร้างเสียงนั้นได้: {{message}}",
"preview_failed": "ดูตัวอย่างไม่ได้: {{message}}",
"import_explainer": "วาง URL ที่คุณมีสิทธิ์ (หรืออัปโหลดไฟล์) ตัดส่วนที่คุณต้องการ และบันทึกเป็นเสียง คุณมีหน้าที่รับผิดชอบในการออกใบอนุญาตสำหรับสิ่งที่คุณนำเข้า",
"import_placeholder": "วาง URL ของวิดีโอ/เสียง หรือพิมพ์เพื่อค้นหา...",
"imported_clip": "คลิปนำเข้า.",
"upload": "อัพโหลดไฟล์",
"import": "นำเข้า",
"my_imports": "การนำเข้าของฉัน",
"no_imports": "ยังไม่ได้นำเข้าอะไรเลย วาง URL ด้านบนเพื่อเริ่มต้น",
"search_results": "{{count}} ผลลัพธ์",
"download_failed": "ดาวน์โหลดล้มเหลว: {{msg}}",
"search_failed": "การค้นหาล้มเหลว: {{message}}",
"upload_failed": "การอัปโหลดล้มเหลว: {{message}}",
"save_failed": "ไม่สามารถบันทึกโปรไฟล์ได้: {{message}}",
"confirm_delete": "ลบ \"{{name}}\" หรือไม่",
"trim_load_failed": "ไม่สามารถโหลดเสียงเพื่อตัดแต่งได้: {{message}}",
"delete": "ลบ",
"community_empty": "ยังไม่มีเสียงจากชุมชน — เชื่อมต่ออินเทอร์เน็ตแล้วเปิดใหม่ หรือเป็นคนแรกที่ส่งเสียงเข้ามา",
"community_explainer": "พรีเซ็ตที่ออกแบบไว้และเสียงที่บันทึกไว้ซึ่งแชร์โดยชุมชน โหลดจาก omnivoice-gallery",
"no_designer": "เสียงที่บันทึกไว้ — ใช้ \"ใช้เสียง\" แทน",
"no_preview": "ไม่มีตัวอย่าง — เพิ่มด้วย \"ใช้เสียง\" เพื่อฟัง",
"submit_failed": "ไม่สามารถเปิดแบบฟอร์มส่งได้",
"submit_preset": "ส่งพรีเซ็ต",
"submit_voice": "ส่งเสียง",
"zone_community": "ชุมชน",
"import_persona": "นำเข้าชุดบุคคล .ovsvoice",
"persona_imported": "นำเข้า \"{{name}}\"{{unverified}} แล้ว",
"persona_unverified_suffix": "(ไม่ได้รับการยืนยัน)",
"persona_too_large": "บันเดิลนั้นใหญ่เกินไป (สูงสุด 100 MB)",
"persona_import_failed": "ไม่สามารถนำเข้าชุดบุคคลนั้นได้",
"filters": "ตัวกรอง",
"delete_failed": "ไม่สามารถลบได้: {{message}}"
},
"batch": {
"title": "การพากย์เป็นกลุ่ม",
"active": "ใช้งานอยู่",
"completed": "เสร็จสิ้น",
"failed": "ล้มเหลว",
"back": "← ย้อนกลับ",
"refresh": "รีเฟรช",
"add_videos": "เพิ่มวิดีโอ",
"file_input_label": "เลือกไฟล์วิดีโอ",
"cancel": "ยกเลิก",
"delete": "ลบ",
"no_active": "ไม่มีงานที่กำลังดำเนินอยู่",
"no_completed": "ไม่มีอะไรเสร็จสมบูรณ์เมื่อเร็ว ๆ นี้",
"no_failed": "ไม่มีงานที่ล้มเหลว — เพลิดเพลินกับความเงียบ",
"drop_hint": "วางวิดีโอด้านบนเพื่อเริ่มการพากย์เสียงเป็นชุด",
"enqueue_failed": "ไม่สามารถจัดคิว {{name}}: {{message}}",
"enqueued": "เพิ่มวิดีโอ {{count}} ลงในคิวแล้ว",
"job_cancelled": "ยกเลิกงานแล้ว",
"cancel_failed": "การยกเลิกล้มเหลว: {{message}}",
"job_deleted": "ลบงานแล้ว",
"delete_failed": "ลบล้มเหลว: {{message}}",
"completed_in": "เสร็จสิ้นใน {{duration}}",
"seg": "เซก {{current}}/{{total}}",
"stage_extract": "📷 กำลังแยกเสียง...",
"stage_transcribe": "⏩ กำลังถอดเสียง...",
"stage_translate": "🌐 กำลังแปล...",
"stage_generate": "😢️ กำลังสร้างคำพูด...",
"stage_mix": "🎛️ กำลังมิกซ์เสียง…",
"stage_complete": "✅ครบ.",
"status_queued": "เข้าคิว",
"status_running": "วิ่ง",
"status_done": "เสร็จแล้ว",
"status_failed": "ล้มเหลว",
"status_cancelled": "ยกเลิกแล้ว",
"add_to_queue_title": "เพิ่มวิดีโอลงในคิว",
"drop_hint_text": "วางไฟล์วิดีโอที่นี่หรือคลิกเพื่อเรียกดู",
"drop_formats": "MP4 · MOV · MKV · เว็บเอ็ม",
"files_kicker": "ไฟล์ ({{count}})",
"file_size_mb": "{{size}} เมกะไบต์",
"target_languages": "ภาษาเป้าหมาย",
"voice_kicker": "เสียง",
"default_option": "ค่าเริ่มต้น",
"clone_profiles": "โปรไฟล์โคลน",
"presets": "ค่าที่ตั้งล่วงหน้า",
"preserve_bg": "รักษาเสียงพื้นหลัง (เพลง/FX)",
"estimate": "{{videos}} วิดีโอ × {{langs}} lang(s) = {{jobs}} งาน",
"select_files_langs": "เลือกไฟล์และภาษา",
"add_to_queue": "เพิ่มเข้าคิว",
"watch_folder": "เฝ้าดูโฟลเดอร์",
"watching": "กำลังเฝ้าดู {{folder}}",
"watch_paused": "หยุดชั่วคราว — {{folder}}",
"watch_added": "เพิ่มอัตโนมัติแล้ว {{count}} รายการ",
"watch_pause": "หยุดชั่วคราว",
"watch_resume": "ทำต่อ",
"watch_stop": "หยุด",
"watch_started": "กำลังเฝ้าดู {{folder}} — วิดีโอใหม่จะถูกเพิ่มเข้าคิวโดยอัตโนมัติ",
"watch_unsupported": "การเฝ้าดูโฟลเดอร์ต้องใช้แอปเดสก์ท็อปหรือเบราว์เซอร์ที่ใช้ Chromium — โปรดใช้เพิ่มวิดีโอแทน",
"watch_failed": "หยุดการเฝ้าดูแล้ว — ไม่สามารถอ่านโฟลเดอร์ได้อีกต่อไป (ถูกย้าย ถูกลบ หรือสิทธิ์เปลี่ยนไป) เลือกโฟลเดอร์อีกครั้งเพื่อทำต่อ",
"watch_start_failed": "เริ่มเฝ้าดูโฟลเดอร์นั้นไม่ได้ — เลือกโฟลเดอร์อีกครั้งเพื่อลองใหม่"
},
"dictation": {
"flag_smart_cleanup": "ลบคำฟุ่มเฟือย",
"flag_self_correction": "ใช้การแก้ไขคำพูดด้วยตนเอง",
"flag_preserve_technical": "เก็บคำศัพท์เทคนิค",
"refine_timeout_note": "การปรับข้อความหมดเวลา เก็บข้อความถอดเสียงต้นฉบับไว้แล้ว",
"refine_failed_note": "การปรับข้อความล้มเหลว เก็บข้อความถอดเสียงต้นฉบับไว้แล้ว",
"aec_title": "ป้อนตามคำบอกขณะเล่นเสียง",
"aec_description": "ตัดเสียงที่ VoiceStudio เล่นออกจากไมโครโฟน",
"aec_row_title": "เปิดการตัดเสียงสะท้อนสำหรับการป้อนตามคำบอก",
"aec_experimental": "ทดลอง",
"aec_hint": "ช่วยให้ป้อนตามคำบอกขณะเล่นตัวอย่าง เสียงพากย์ หรือวิดีโอ โดยไม่ถอดเสียงของแอปเอง เพิ่มการประมวลผลเล็กน้อย ปิดไว้หากไม่ได้พูดทับเสียงที่เล่น"
},
"tools": {
"title": "เครื่องมือ",
"desc": "การประมวลผลเสียง การแปลงรูปแบบ และยูทิลิตี้",
"directorial_ai": "ผู้กำกับ AI",
"directorial_desc": "พิมพ์ทิศทางที่เป็นภาษาธรรมชาติ — ดูโทเค็นอนุกรมวิธานที่แมปกับ + คำสั่ง TTS + แปลคำใบ้ + อคติอัตราการพูด",
"direction": "ทิศทาง",
"parse": "แยกวิเคราะห์",
"method": "วิธีการ:",
"tts_instruct": "คำสั่ง tts:",
"translate_hint": "แปลคำใบ้:",
"rate_bias": "อคติอัตรา:",
"tokens": "โทเค็น",
"taxonomy": "อนุกรมวิธาน",
"speech_rate_fit": "อัตราคำพูดที่พอดี",
"speech_rate_desc": "ตรวจสอบว่าบรรทัดที่แปลเปรียบเทียบกับช่วงเวลาอย่างไร",
"translated_line": "แปลบรรทัด",
"slot_seconds": "ช่อง (วินาที)",
"target_language": "ภาษาเป้าหมาย",
"fit": "พอดี",
"ratio": "อัตราส่วน:",
"attempts": "ความพยายาม:",
"result": "ผลลัพธ์:",
"probe_file": "ไฟล์โพรบ",
"probe_desc": "wrapper ffprobe — ตรวจสอบตัวแปลงสัญญาณ, สตรีม, ความลึกของบิต, ระยะเวลา",
"absolute_path": "เส้นทางที่แน่นอน",
"probe": "โพรบ",
"probe_placeholder": "/Users/you/ภาพยนตร์/sample.mp4",
"probe_failed": "การสอบสวนล้มเหลว: {{message}}",
"parse_failed": "แยกวิเคราะห์ล้มเหลว: {{message}}",
"fit_failed": "พอดีล้มเหลว: {{message}}"
},
"projects": {
"title": "โครงการ",
"empty": "ยังไม่มีโครงการ",
"create": "โครงการใหม่",
"all": "ทั้งหมด",
"dub_projects": "โครงการพากย์",
"voice_profiles": "โปรไฟล์เสียง",
"transcripts": "ใบรับรองผลการเรียน",
"history": "ประวัติศาสตร์",
"exports": "การส่งออก",
"search_placeholder": "ค้นหาพากย์, โคลน, ทรานสคริปต์, ส่งออก...",
"card_grid": "ตารางการ์ด",
"list": "รายการ",
"no_matches": "ไม่มีรายการที่ตรงกันสำหรับ \"{{query}}\"",
"empty_hint": "ยังไม่มีอะไรที่นี่ เริ่มพากย์ ออกแบบเสียง หรือสร้างเสียงเพื่อให้ปรากฏ",
"generated_audio": "เสียงที่สร้างขึ้น",
"export": "ส่งออก",
"transcription": "การถอดเสียง",
"designed_voice": "เสียงที่ออกแบบมา",
"cloned_voice": "เสียงโคลน",
"stories": "เรื่องราว",
"untitled_story": "เรื่องราวที่ไม่มีชื่อเรื่อง",
"story_lines": "{{count}} บรรทัด",
"story_lines_plural": "{{count}} บรรทัด",
"story_voices": "{{count}} เสียง",
"story_voices_plural": "{{count}} เสียง",
"audiobooks": "หนังสือเสียง",
"audiobook": "หนังสือเสียง",
"story": "เรื่องราว"
},
"projectActions": {
"delete": "ลบ “{{name}}” หรือไม่? การดำเนินการนี้ไม่สามารถย้อนกลับได้",
"open": "เปิด “{{name}}” และแทนที่ฉบับร่างปัจจุบันหรือไม่? โปรดบันทึกงานก่อน",
"save_copy": "บันทึกสำเนา"
},
"sidebar": {
"save_project": "บันทึกโครงการพากย์",
"save_new_project": "บันทึกเป็นโครงการพากย์ใหม่",
"rename": "เปลี่ยนชื่อ",
"rename_save": "บันทึกชื่อ",
"lock_identity": "ล็อคตัวตนของเสียง"
},
"app": {
"toast_project_saved": "บันทึกโครงการแล้ว",
"toast_flushed": "ฟลัช — RAM {{ram}}G · VRAM {{vram}}G{{unloaded}}",
"toast_model_unloaded": "· โมเดลยกเลิกการโหลดแล้ว",
"toast_flush_failed": "การฟลัชล้มเหลว: {{message}}",
"name": "VoiceStudio",
"version": "v{{version}}",
"tagline": "การโคลนเสียงท้องถิ่น ไม่มีอะไรเหลือจากเครื่องของคุณ",
"coming_soon": "เร็วๆ นี้",
"switch_to_light": "เปลี่ยนเป็นธีมสว่าง",
"switch_to_dark": "เปลี่ยนเป็นธีมสีเข้ม"
},
"stories": {
"title": "ตัวแก้ไขเรื่องราว",
"subtitle": "หนังสือเสียงแบบหลายแทร็กพร้อมเสียงต่อตัวอักษร",
"cast": "นักแสดง",
"castTitle": "Cast — กำหนดเสียงให้กับตัวละครแต่ละตัว",
"addCharacter": "เพิ่มตัวละคร",
"character": "ตัวละคร",
"characterName": "ชื่อตัวละคร",
"narratorLocked": "ผู้บรรยายอยู่เสมอ",
"removeCharacter": "ลบตัวละคร",
"noProfiles": "ยังไม่ได้ติดตั้งโปรไฟล์เสียง — โคลนหรือออกแบบเสียงก่อน",
"pasteSplit": "วางและแยก",
"import": "นำเข้า",
"autocast": "แคสต์อัตโนมัติ",
"autocastHint": "ตรวจจับว่าใครกำลังพูดและกำหนดเสียงโดยอัตโนมัติ",
"autocastEmpty": "ไม่มีสิ่งใดที่จะส่งอัตโนมัติ — วางหรือนำเข้าเรื่องราวก่อน",
"autocastDone": "ส่ง {{lines}} บรรทัดอัตโนมัติข้าม {{voices}} เสียง",
"importFailed": "ไม่สามารถอ่านไฟล์นั้นได้",
"addLine": "แอดไลน์",
"addChapter": "เพิ่มบท",
"chapterN": "บทที่ {{n}}",
"stems": "แทร็กเสียงแยกตามตัวละคร",
"stemsDone": "ส่งออกต้นกำเนิดอักขระ {{count}}",
"format": "รูปแบบการส่งออก",
"mp3Fallback": "เข้ารหัส MP3 ไม่พร้อมใช้งาน — ดาวน์โหลด WAV แทน",
"projects": "โครงการ",
"newStory": "เรื่องใหม่",
"save": "บันทึก",
"untitled": "เรื่องราวที่ไม่มีชื่อเรื่อง",
"projectName": "ชื่อโครงการ",
"deleteProject": "ลบโปรเจ็กต์",
"noProjects": "ยังไม่มีเรื่องราวที่บันทึกไว้ — บันทึกเพื่อเก็บไว้",
"projectSaved": "บันทึกเรื่องราวแล้ว",
"generateAll": "สร้าง",
"splitPlaceholder": "แปะข้อความยาวๆ. เราจะแบ่งออกเป็นส่วนๆ ตามขอบเขตประโยค",
"maxChars": "ตัวอักษรสูงสุดต่อเซ็กเมนต์",
"segmentsHint": "~{{count}} เซ็กเมนต์ที่ {{max}} ตัวอักษร",
"pasteAbove": "วางข้อความด้านบน",
"cancel": "ยกเลิก",
"splitIntoTracks": "แยกเป็นเส้น",
"emptyText": "เริ่มต้นเรื่องราวของคุณด้วยการเพิ่มบทสนทนาและการบรรยาย กำหนดเสียงของตัวละครแต่ละตัวในนักแสดง",
"addFirst": "เพิ่มบรรทัดแรก",
"linePlaceholder": "เข้าสู่บทสนทนาหรือคำบรรยาย... ใช้ [หยุดชั่วคราว 0.5 วินาที] เพื่อพักอย่างเงียบๆ",
"text": "ข้อความ",
"voice": "เสียง",
"defaultVoice": "ค่าเริ่มต้น",
"inlineVoice": "ตั้งค่าเสียงอินไลน์",
"inlineVoiceHint": "สลับเสียงสำหรับข้อความที่ไฮไลต์ (หรือแทรกสวิตช์ที่เคอร์เซอร์)",
"resetInlineVoice": "รีเซ็ตเป็นเสียงสาย",
"insertPause": "ใส่ตัวแบ่ง [หยุดชั่วคราว 0.5 วินาที]",
"preview": "ดูตัวอย่างบรรทัดนี้",
"removeLine": "ลบเส้น",
"tune": "โทนเสียงและความเร็ว",
"speed": "ความเร็ว",
"reset": "รีเซ็ต",
"tones": {
"laugh": "หัวเราะ",
"sigh": "ถอนหายใจ",
"question": "คำถาม",
"surprise": "เซอร์ไพรส์",
"confirm": "ยืนยัน",
"dissatisfaction": "ฮึ่ม"
},
"lines": "{{count}} บรรทัด",
"characters": "{{count}} อักขระ",
"minutes": "~{{count}} นาที",
"chars": "{{count}} ตัวอักษร",
"exportDone": "ดาวน์โหลดหนังสือเสียงแล้ว",
"exportFailed": "การส่งออกล้มเหลว — ตรวจสอบว่าแบ็กเอนด์กำลังทำงานอยู่",
"global_speed": "ความเร็ว",
"global_speed_hint": "ความเร็วในการอ่านสำหรับทุกบรรทัดโดยไม่มีการแทนที่ความเร็วของตัวเอง",
"deleteProjectConfirm": "ลบโปรเจ็กต์นี้อย่างถาวรหรือไม่",
"moveUp": "เลื่อนขึ้น",
"moveDown": "เลื่อนลง"
},
"audiobook": {
"cast": "นักพากย์",
"cast_hint": "กำหนดเสียงให้กับแต่ละ [voice:NAME] ในสคริปต์ของคุณ",
"cast_empty": "เพิ่มแท็ก [voice:NAME] ลงในสคริปต์เพื่อใช้หลายเสียง",
"cast_uses_default": "ใช้เสียงเริ่มต้น",
"markup_toolbar": "แทรกมาร์กอัป",
"insert_pause": "หยุดชั่วคราว",
"insert_voice": "เสียง",
"insert_slow": "ช้า",
"insert_fast": "เร็ว",
"insert_emphasis": "เน้นเสียง",
"insert_spell": "สะกด",
"insert_reactions": "ปฏิกิริยา",
"stats": "{{chapters}} บท · {{words}} คำ · {{runtime}} เวลาโดยประมาณ",
"warnings_title": "ก่อนสร้าง",
"warn_unknown_voice": "เสียงที่ไม่รู้จัก ‘{{name}}’ — จะใช้เสียงเริ่มต้น",
"warn_empty_chapter": "บท “{{title}}” ไม่มีข้อความสำหรับอ่าน",
"warn_unknown_tag": "แท็กที่ไม่รู้จัก {{tag}} — จะถูกอ่านออกเสียง",
"untitled": "หนังสือเสียงไม่มีชื่อ",
"dismiss": "ปิด",
"output": "เอาต์พุต",
"title": "หนังสือเสียง",
"tab_script": "บท",
"tab_voices": "เสียงพูด",
"tab_book": "หนังสือ",
"subtitle": "เขียนหรือนำเข้าเรื่องราว เลือกเสียงให้แต่ละบทบาท แล้วส่งออกเป็นหนังสือเสียงที่สมบูรณ์พร้อมบทจริง",
"script": "สคริปต์",
"script_placeholder": "#บทที่หนึ่ง\nกาลครั้งหนึ่ง… [หยุดชั่วคราว 500ms] สิ้นสุด\n\n#บทที่สอง\n[เสียง: ผู้บรรยาย] และมันก็ดำเนินต่อไป",
"default_voice": "เสียงเริ่มต้น",
"engine_default": "ค่าเริ่มต้นของเครื่องยนต์",
"preview_plan": "ดูตัวอย่างแผน",
"stop": "หยุด",
"stopped_note": "หยุดแล้ว — บทที่เสร็จถูกแคชไว้ กด สร้าง อีกครั้งเพื่อทำต่อ",
"recovery_title": "หนังสือเสียงที่ถูกขัดจังหวะ",
"recovery_progress": "แคชแล้ว {{done}} จาก {{total}} บท",
"recovery_hint": "ทำต่อจะใช้บทที่เสร็จแล้วซ้ำ และสังเคราะห์เฉพาะส่วนที่เหลือ",
"resume": "ทำต่อ",
"open_chapter_cache": "เปิดแคชบท",
"cache_location_hint": "แคชเสียงของบท: {{cachePath}} · ไฟล์กำกับการทำต่อ: {{manifestPath}}",
"resume_failed": "ไม่สามารถทำหนังสือเสียงต่อได้: {{message}}",
"open_cache_failed": "ไม่สามารถเปิดแคชบทได้",
"progress_summary": "กำลังสังเคราะห์บทที่ {{current}} จาก {{total}} บท",
"eta": "เหลือ ~{{time}}",
"chapter_n": "บทที่ {{n}}",
"cached_tag": "แคชไว้",
"failed_tag": "ล้มเหลว",
"empty_hint": "ยังไม่มีเนื้อหาให้บรรยาย — โหลดตัวอย่าง เพื่อลองสคริปต์เดโม",
"create": "สร้างหนังสือเสียง",
"plan_heading": "แผน — {{count}} บท",
"chapter_meta": "{{spans}} ช่วง · {{chars}} ตัวอักษร",
"synthesizing": "การสังเคราะห์บทที่ {{current}} จาก {{total}} {{title}}",
"assembling": "กำลังประกอบหนังสือเสียง...",
"ready": "หนังสือเสียงพร้อม",
"download": "ดาวน์โหลด",
"lyrics": "อ่านตาม",
"format": "รูปแบบ",
"format_m4b": "M4B (บท)",
"format_mp3": "เอ็มพี3",
"loudness": "ความดัง",
"loudness_off": "ความดัง: ปิด",
"loudness_acx": "ทำให้เป็นมาตรฐาน (ACX)",
"loudness_podcast": "ทำให้เป็นมาตรฐาน (พอดแคสต์)",
"details": "ปกและรายละเอียด",
"cover": "ปก",
"cover_add": "เพิ่มปก",
"cover_remove": "ถอดฝาครอบออก",
"meta_title": "ชื่อเรื่อง",
"meta_author": "ผู้เขียน",
"meta_narrator": "ผู้บรรยาย",
"meta_year": "ปี",
"meta_genre": "ประเภท",
"meta_description": "คำอธิบาย",
"preview_chapter": "ดูตัวอย่างตอน: {{title}}",
"cached_note": "ใช้ซ้ำ {{count}} บทที่แสดงผลแล้ว",
"failed_note": "{{count}} บทที่ล้มเหลว — คลิกสร้างอีกครั้งเพื่อลองใหม่อีกครั้ง",
"import": "นำเข้า",
"import_failed": "การนำเข้าล้มเหลว: {{message}}",
"load_sample": "โหลดตัวอย่าง",
"load_sample_hint": "เติมตัวแก้ไขด้วยสคริปต์ตัวอย่างที่แสดงบท เสียงของแต่ละตัวละคร การหยุด และแท็กแสดงอารมณ์ — ลองก่อนงานจริง",
"load_sample_confirm": "แทนที่สคริปต์ปัจจุบันด้วยตัวอย่างหรือไม่?",
"lexicon": "การออกเสียง",
"lex_word": "คำพูด",
"lex_say": "พูดเป็น...",
"lex_add": "เพิ่มคำ",
"lex_remove": "ลบ",
"markup_help": "การอ้างอิงมาร์กอัป",
"markup_hint": "# ชื่อบท · [voice:NAME] สลับเสียง · [pause 500ms] / [pause 1s] · [slow]…[/slow] · [fast]…[/fast] · [emphasis]…[/emphasis] · [spell]…[/spell] · ปฏิกิริยา (VoiceStudio): [laughter] [sigh] [confirmation-en] [question-en] [question-ah] [question-oh] [question-ei] [question-yi] [surprise-ah] [surprise-oh] [surprise-wa] [surprise-yo] [dissatisfaction-hnn]",
"language": "ภาษา",
"expressive": "การแทนที่การผลิต",
"reset": "ตั้งค่าใหม่",
"seed": "เมล็ด",
"seed_ph": "อัตโนมัติ",
"vary_repeats": "เปลี่ยนแปลงบรรทัดที่ซ้ำ",
"vary_repeats_help": "ให้บทบาทที่แตกต่างกันสำหรับบรรทัดที่เหมือนกันแทนการใช้การบันทึกซ้ำ",
"emotion_help": "อารมณ์แบบระดับ — ใช้งานเฉพาะกับเครื่องยนต์ IndexTTS2 เท่านั้น",
"emotion_text": "คำอธิบายอารมณ์",
"emotion_text_ph": "เช่น ฟังดูเหนื่อยและเศร้า",
"emotion_alpha": "ความเข้มของอารมณ์",
"lex_duplicate": "ระบุการออกเสียงเพียงแบบเดียวต่อคำ"
},
"credentials": {
"microsoft_key": "คีย์นักแปลของ Microsoft",
"deepl_key": "คีย์ DeepL API",
"microsoft_base_url": "URL ฐานนักแปลของ Microsoft",
"saved": "✓ ตั้งค่า",
"deepl_base_url": "URL ฐาน DeepL",
"deepl_base_url_help": "ตำแหน่งข้อมูล DeepL API ที่กำหนดเอง (ค่าเริ่มต้น: https://api.deepl.com/v2) การเปลี่ยนแปลงสำหรับพร็อกซี/โฮสต์ด้วยตนเอง",
"microsoft_base_url_help": "จุดสิ้นสุด Azure Translator แบบกำหนดเอง (ค่าเริ่มต้น: https://api.cognitive.microsofttranslator.com)"
},
"about": {
"architecture": "สถาปัตยกรรม",
"yes": "ใช่",
"vram": "วีแรม",
"platform": "แพลตฟอร์ม",
"compute_device": "อุปกรณ์คอมพิวเตอร์",
"python": "หลาม",
"ram": "แรม",
"gpu_active": "GPU ทำงานอยู่",
"no": "ไม่",
"translator": "นักแปล",
"app": "แอพ",
"version": "เวอร์ชัน",
"copy_diagnostics": "คัดลอกการวินิจฉัย",
"self_check": "เรียกใช้การตรวจสอบตนเอง",
"self_check_failed": "การตรวจสอบตนเองล้มเหลว: {{message}}",
"self_check_ok": "ปกติ",
"self_check_warn": "คำเตือน",
"self_check_fail": "ล้มเหลว",
"self_check_healthy": "ผ่านการตรวจสอบทั้งหมด — การติดตั้งนี้ดูปกติดี",
"self_check_attention": "การตรวจสอบล้มเหลว {{count}} รายการ — ดูคำแนะนำด้านบน",
"save_bundle": "บันทึกชุดวินิจฉัย",
"bundle_saved": "บันทึกชุดวินิจฉัยแล้ว: {{filename}}",
"title": "เกี่ยวกับ",
"diagnostics": "ระบบพรีไฟลท์",
"update_channel": "ช่องอัปเดต",
"channel_stable": "เสถียร",
"channel_preview": "พรีวิว",
"channel_preview_hint": "พรีวิวจะติดตามบิลด์ main ล่าสุด — ฟีเจอร์ใหม่กว่า แต่ทดสอบน้อยกว่า จะกลับไปใช้เวอร์ชันเสถียรหากมีรุ่นเสถียรที่ใหม่กว่า"
},
"privacy": {
"translator_online": "นักแปลออนไลน์อยู่: {{provider}}",
"analytics_title": "ช่วยปรับปรุง VoiceStudio",
"translator_offline": "นักแปลออฟไลน์",
"translator_unknown": "ไม่ทราบ",
"watermark_subtitle": "เปิดอยู่โดยค่าเริ่มต้น ทำเครื่องหมายเสียงที่สร้างขึ้นว่าเป็นผลงานของ AI เพื่อให้ระบุได้ในภายหลัง มีผลกับเสียงที่สร้างจากนี้ไปเท่านั้น",
"analytics_subtitle": "ปิดไว้โดยค่าเริ่มต้น ข้อมูลนิรนามเกี่ยวกับเอนจิน ภาษา ระยะเวลา จำนวนอักขระ และประเภทข้อผิดพลาด ไม่ส่งข้อความหรือเสียงของคุณ",
"watermark_title": "ลายน้ำที่มองไม่เห็น"
},
"updates": {
"tab": "อัพเดท",
"up_to_date": "อัปเดตแล้ว · v{{version}}",
"check_now": "ตรวจสอบตอนนี้",
"releases": "ประวัติการออกเวอร์ชัน",
"current": "ปัจจุบัน",
"prerelease": "ดูตัวอย่าง",
"loading": "กำลังโหลดรุ่น...",
"none": "ไม่พบการเผยแพร่",
"load_error": "ไม่สามารถโหลดรุ่นต่างๆ (ออฟไลน์?)",
"retry_load": "ลองอีกครั้ง",
"backup_line": "ข้อมูลสำรองฐานข้อมูล",
"backup_none": "สร้างอัตโนมัติก่อนอัปเดตฐานข้อมูลครั้งถัดไป",
"backup_latest": "สำรองล่าสุด: {{when}}",
"notes_for": "บันทึกประจำรุ่น — v{{version}}",
"whats_new_in": "มีอะไรใหม่ใน v{{version}}"
},
"exportModal": {
"export": "ส่งออก",
"export_options": "ตัวเลือกการส่งออก",
"close_drawer": "ปิดลิ้นชักการส่งออก",
"presets": "ตั้งค่าล่วงหน้า",
"preset_title": "ข้ามไปที่แท็บ {{tab}} ด้วยค่าเริ่มต้น {{label}}",
"preset_youtube": "ยูทูบ",
"preset_archive": "เก็บถาวร",
"preset_web": "เว็บ",
"preset_podcast": "พอดแคสต์",
"preset_studyset": "ชุดเรียน",
"tracks": "แทร็ก",
"track_all": "ทั้งหมด",
"track_none": "ไม่มี",
"track_dubs_only": "พากย์เท่านั้น",
"primary": "หลัก",
"tab_video": "วีดีโอ",
"tab_audio": "เสียง",
"tab_subs": "คำบรรยาย",
"tab_pkg": "แพ็คเกจ",
"container": "ตู้คอนเทนเนอร์",
"mp4_h264": "MP4 (H.264)",
"default_audio_track": "แทร็กเสียงเริ่มต้น",
"default_audio_hint": "สตรีมเสียงใดที่จะเล่นตามค่าเริ่มต้นเมื่อโปรแกรมดูเปิดไฟล์",
"original": "ต้นฉบับ",
"dub_suffix": "(พากย์)",
"bg_audio": "เสียงพื้นหลัง",
"mix_bg_video": "มิกซ์เพลง/FX ใต้ทุกแทร็กพากย์",
"subs_in_video": "คำบรรยายในวิดีโอ",
"hardsub": "เขียนคำบรรยายลงในรูปภาพ (hardsub)",
"dual_subs_video": "คู่ (แปลจากต้นฉบับที่เป็นตัวเอียง)",
"subs_style_line": "บรรทัด",
"subs_style_karaoke": "คาราโอเกะ (ไฮไลต์คำ)",
"karaoke_dual_note": "คาราโอเกะใช้ไม่ได้กับซับไตเติลแบบคู่",
"format": "รูปแบบ",
"wav_lossless": "WAV (ไม่สูญเสีย)",
"mp3_compressed": "MP3 (บีบอัด)",
"bitrate": "บิตเรต",
"what_to_export": "สิ่งที่จะส่งออก",
"export_each_dub": "ทุกพากย์ที่เลือก (ไฟล์แยก)",
"export_single_lang": "ภาษาเดียว",
"mix_bg_audio": "มิกซ์เพลง/FX ภายใต้เสียงพากย์",
"both": "ทั้งสองอย่าง",
"layout": "เค้าโครง",
"single_line": "เส้นเดียว",
"dual_subs": "คู่ (แปล + ต้นฉบับ)",
"languages": "ภาษา",
"current_target": "เป้าหมายปัจจุบัน ({{code}})",
"all_selected_dubs": "เสียงพากย์ที่เลือกทั้งหมด ({{count}})",
"subs_note": "คำบรรยายถูกสร้างขึ้นจากข้อความของส่วนตามที่เป็นอยู่ — แก้ไขตารางส่วนก่อนที่จะส่งออกหากคุณพบว่ามีการพิมพ์ผิด",
"retime_note": "การปรับเวลาวิดีโอแบบรายเซกเมนต์จะเข้ารหัสวิดีโอใหม่ทั้งหมดเมื่อส่งออก — คาดว่าจะใช้เวลาประมาณ 0.5–2 เท่าของความยาววิดีโอบน CPU",
"pkg_clips_title": "คลิปต่อส่วน (.zip)",
"pkg_clips_body": "ทุกเซ็กเมนต์ที่สร้างขึ้นเป็น WAV ที่มีตัวเลขอยู่ในไฟล์ zip — เหมาะสำหรับการตรวจสอบ โพสต์พากย์เสียง หรือการสร้างชุดข้อมูล",
"pkg_clips_cta": "ส่งออกไฟล์ zip",
"pkg_stems_title": "ลำต้น (.zip)",
"pkg_stems_body": "แทร็กเสียงแยก + พื้นหลัง (เพลง/FX) เป็น WAV แยกกัน มีประโยชน์สำหรับการแก้ไขเสียงดาวน์สตรีม",
"pkg_stems_cta": "ส่งออกซิปลำต้น",
"pkg_audio_title": "แทร็กเสียง (ไฟล์แต่ละไฟล์)",
"pkg_audio_body_one": "ข้ามไปที่แท็บเสียงเพื่อส่งออกเสียงพากย์ตามภาษาในรูปแบบ WAV หรือ MP3 (มีเสียงพากย์ {{count}})",
"pkg_audio_body_other": "ข้ามไปที่แท็บเสียงเพื่อส่งออกเสียงพากย์ตามภาษาในรูปแบบ WAV หรือ MP3 (มีเสียงพากย์ {{count}})",
"pkg_audio_cta": "เปิดแท็บเสียง",
"license_text": "การใช้งานเชิงพาณิชย์จำเป็นต้องมี",
"license_link": "ใบอนุญาต",
"output": "เอาท์พุท",
"nothing_selected": "ไม่ได้เลือกหรือติดตามอะไรไม่ได้",
"export_mp4": "ส่งออก MP4",
"export_n_audio_one": "ส่งออกไฟล์เสียง {{count}}",
"export_n_audio_other": "ส่งออกไฟล์เสียง {{count}}",
"export_audio": "ส่งออกเสียง",
"export_subtitles": "ส่งออกคำบรรยาย",
"stretch_subs_note": "ยืดวิดีโอ: ส่งออกคำบรรยายแยกต่างหาก"
},
"models": {
"pack_title": "ชุดโมเดล",
"pack_for": "ปรับให้เหมาะกับ {{device}}",
"pack_desc": "เลือกระดับ ตรวจสอบโมเดลในเครื่องและพื้นที่ดิสก์ แล้วติดตั้งและเปิดใช้ทั้งชุดในขั้นตอนเดียว การแยกผู้พูดและ LLM ยังคงเลือกแยกต่างหาก",
"pack_download": "ดาวน์โหลด {{size}} GB",
"pack_ready": "ชุด {{tier}} เปิดใช้งานแล้ว",
"pack_installing": "กำลังติดตั้งโมเดลในชุด {{count}} รายการ",
"pack_total": "{{count}} โมเดล · ขนาดติดตั้ง {{size}} GB",
"pack_install": "ติดตั้งชุด {{tier}} · {{size}} GB",
"pack_use": "ใช้ชุด {{tier}}",
"voice_previews": "ตัวอย่างเสียง",
"voice_previews_desc": "ดาวน์โหลดตัวอย่างที่เรนเดอร์ไว้ล่วงหน้า เพื่อให้เสียงเล่นได้ทันที แม้ก่อนที่โมเดลเสียงจะดาวน์โหลดเสร็จ จะไม่มีการดาวน์โหลดใด ๆ จนกว่าคุณจะเปิดใช้งาน",
"voice_previews_off": "ปิด — ตัวอย่างจะถูกเรนเดอร์บนเครื่องนี้",
"voice_previews_ready": "แคชชุดแนะนำแล้ว",
"voice_previews_partial": "แคชตัวอย่างแนะนำแล้ว {{cached}} จาก {{total}}",
"voice_previews_checked": "ตรวจสอบเมื่อ {{when}}",
"voice_previews_never": "ยังไม่ได้ตรวจสอบ",
"voice_previews_check": "ตรวจสอบตอนนี้",
"voice_previews_rejected": "ปฏิเสธการอัปเดตคลังเสียง: {{message}}",
"mirror_title": "มิเรอร์ Hugging Face",
"mirror_description": "เลือกเซิร์ฟเวอร์ดาวน์โหลดโมเดล",
"mirror_custom_url": "URL มิเรอร์ที่กำหนดเอง",
"mirror_restart_note": "เริ่มแอปใหม่เพื่อใช้การตั้งค่า",
"mirror_auto_offline": "เข้าถึงเซิร์ฟเวอร์ไม่ได้ โมเดลที่แคชไว้ยังใช้งานได้",
"mirror_auto_untested": "ยังไม่ได้ทดสอบ การดาวน์โหลดครั้งถัดไปจะเลือกเซิร์ฟเวอร์",
"mirror_auto_test": "ทดสอบเซิร์ฟเวอร์",
"mirror_saved": "บันทึกการตั้งค่ามิเรอร์แล้ว",
"reco_for": "แนะนำสำหรับ {{device}}",
"reco_installed_for": "บันเดิลที่แนะนำที่ติดตั้งสำหรับ {{device}}",
"recommended_installed": "รุ่นที่แนะนำได้รับการติดตั้งแล้ว",
"started_downloading_one": "เริ่มดาวน์โหลดโมเดล {{count}}",
"started_downloading_other": "เริ่มดาวน์โหลดโมเดล {{count}}",
"install_failed": "การติดตั้งล้มเหลว: {{message}}",
"required_size": "จำเป็น ~{{size}} GB",
"all_size": "ทั้งหมด ~{{size}} GB",
"download_all_remaining_title": "ดาวน์โหลดโมเดลแนะนำที่เหลือทั้งหมด",
"reco_disk_free": "ดิสก์โมเดลมีพื้นที่ว่าง {{free}} GB",
"reco_low_disk": "พื้นที่ไม่พอสำหรับชุดทั้งหมด: ต้องใช้ประมาณ {{need}} GB แต่เหลือ {{free}} GB ติดตั้งเฉพาะโมเดลที่จำเป็นหรือเพิ่มพื้นที่ว่างก่อน",
"req_tag": "คำขอ",
"reco_install_one": "ติดตั้ง {{label}}"
},
"backend": {
"setup_required": "ติดตั้งสภาพแวดล้อมการทำงานในเครื่อง",
"setup_hint": "ดาวน์โหลด Python และส่วนประกอบที่แอปต้องใช้ (หลาย GB) โมเดลเสียงจะติดตั้งแยกต่างหากเมื่อคุณเลือก",
"installing": "กำลังติดตั้งแพ็กเกจที่จำเป็น…",
"setup_space": "เพิ่มพื้นที่ว่างอย่างน้อย 9 GiB บนไดรฟ์ของแอป แล้วลองอีกครั้ง",
"setup_access": "อนุญาตให้เขียนลงในโฟลเดอร์ข้อมูลของแอป แล้วลองอีกครั้ง",
"ready": "เอนจินพร้อม",
"show_log": "แสดงบันทึก",
"hide_log": "ซ่อนบันทึก",
"retry": "ลองอีกครั้ง",
"starting": "กำลังเริ่มเอนจินในเครื่อง…",
"attaching": "กำลังเชื่อมต่อกับเอนจินที่ทำงานอยู่…",
"crashed": "เอนจินในเครื่องหยุดทำงานโดยไม่คาดคิด",
"failed": "ไม่สามารถเริ่มเอนจินในเครื่องได้",
"idle": "กำลังรอเอนจินในเครื่อง…",
"log_label": "บันทึกเอนจิน",
"port_in_use": "พอร์ต {{port}} ถูกใช้งานโดยโปรแกรมอื่นแล้ว ปิดโปรแกรมนั้นหรือตั้งค่า OMNIVOICE_PORT เป็นพอร์ตที่ว่างแล้วลองอีกครั้ง",
"elapsed": "ผ่านไป {{seconds}} วินาที",
"first_run_hint": "การเริ่มใช้งานครั้งแรกอาจใช้เวลาหลายนาทีขณะเตรียมสภาพแวดล้อม Python",
"port_in_use_short": "พอร์ต {{port}} ถูกใช้งานอยู่"
},
"bootstrap": {
"checking": "กำลังตรวจสอบระบบ…",
"downloading_uv": "กำลังดาวน์โหลด uv (ตัวจัดการแพ็กเกจ Python)…",
"installing_deps": "กำลังติดตั้งแพ็กเกจที่จำเป็น…",
"dependencies_resolved": "แก้ไขการพึ่งพาแล้ว {{count}} รายการ",
"remaining_amount": "เหลือประมาณ {{amount}}",
"download_rate": "{{rate}}/วินาที",
"eta": "เหลือประมาณ {{time}}",
"downloads_complete": "ดาวน์โหลดเสร็จแล้ว · กำลังติดตั้งแพ็กเกจ",
"verifying": "กำลังตรวจสอบสภาพแวดล้อม…",
"clean_retry": "ล้างข้อมูลและลองใหม่",
"clean_retry_confirm": "การดำเนินการนี้จะสร้างสภาพแวดล้อม Python ใหม่โดยใช้ไฟล์ดาวน์โหลดที่ตรวจสอบแล้ว ดำเนินการต่อหรือไม่?",
"auto_detect": "ตรวจหาอัตโนมัติ",
"region_global": "ทั่วโลก (โดยตรง)",
"region_china": "จีน (กระจก)",
"region_russia": "รัสเซีย (กระจก)",
"region_restricted": "ถูกจำกัด (มิเรอร์)"
},
"capture": {
"no_speech": "ไม่พบคำพูด",
"listening_label": "กำลังฟัง...",
"transcribing_label": "กำลังถอดเสียง...",
"model_loading": "กำลังโหลดโมเดล…",
"model_downloading": "กำลังดาวน์โหลดโมเดลเสียง…",
"active_shortcut": "ทางลัดที่ใช้งานอยู่",
"record_shortcut": "บันทึกทางลัด",
"needs_modifier": "เพิ่มปุ่มปรับเปลี่ยน — Ctrl / Cmd / Alt / Shift + ปุ่มอื่น (Esc เพื่อยกเลิก)",
"press_key": "กดคีย์ผสม..."
},
"voicePanel": {
"mode_label": "โหมดการเขียนตามคำบอก",
"mode_sub": "สลับ: กดหนึ่งครั้งเพื่อเริ่ม และอีกครั้งเพื่อหยุด Hold: กำหนดในขณะที่ถือกุญแจ",
"mode_toggle": "สลับ",
"mode_hold": "กดค้างไว้"
},
"trimmer": {
"title": "ตัดเสียงอ้างอิง",
"decoding": "กำลังถอดรหัสเสียง...",
"meta_length": "ความยาว {{duration}} · {{sampleRate}} เฮิร์ตซ์",
"meta_rendering": "เรนเดอร์รูปคลื่น {{percent}}%",
"keyboard_hint": "scroll = ซูม · shift+scroll = pan · alt+drag = pan · ⏐ ⟵ ⟶ ⏐ ปุ่มปรับที่จับ",
"zoom_in": "ซูมเข้า (+)",
"zoom_out": "ซูมออก (-)",
"fit_all": "พอดีทั้งหมด (บ้าน)",
"fit_selection": "การเลือกความพอดี (จบ)",
"fit_sel_btn": "ฟิตเซล",
"view_range": "ดู {{start}} → {{end}} ({{duration}})",
"start_label": "เริ่ม",
"end_label": "สิ้นสุด",
"length_label": "ความยาว",
"too_long": ">{{max}}วิ",
"too_short": "สั้นเกินไป",
"length_ok": "ตกลง",
"loop_preview": "ดูตัวอย่างวง",
"pause": "หยุดชั่วคราว",
"preview_selection": "ดูตัวอย่างการเลือก",
"play_hint": "พื้นที่ที่จะเล่น · เข้าไปเพื่อยืนยัน · Esc เพื่อยกเลิก",
"cancel": "ยกเลิก",
"use_trimmed": "ใช้ตัดแต่ง",
"decode_failed": "การถอดรหัสล้มเหลว: {{message}}",
"playback_failed": "การเล่นล้มเหลว: {{message}}",
"audio_load_failed": "โหลดเสียงล้มเหลว",
"unit_seconds": "ส"
},
"voice_profile": {
"persona_export": "ส่งออกบุคคล",
"persona_exporting": "กำลังสร้างบุคลิก…",
"persona_exported": "ส่งออกบุคลิกแล้ว",
"persona_export_no_audio": "เสียงนี้ไม่มีเสียงที่อ่านได้เพื่อสร้างตัวอย่าง",
"persona_export_failed": "การส่งออกล้มเหลว",
"persona_include_ref": "รวมคลิปเสียง",
"persona_include_ref_hint": "รวมคลิปอ้างอิงดิบ ปิด = แชร์เฉพาะตัวอย่างที่มีลายน้ำ (แนะนำ)",
"used_title": "เสียงนี้ถูกนำมาใช้ที่ไหน",
"synth_clips_one": "{{count}} คลิปสังเคราะห์",
"synth_clips_other": "{{count}} คลิปสังเคราะห์",
"projects_count_one": "{{count}} โปรเจ็กต์",
"projects_count_other": "{{count}} โปรเจ็กต์",
"dubbed_segments_one": "{{count}} ส่วนพากย์",
"dubbed_segments_other": "{{count}} ส่วนที่มีการขนานนาม",
"try_voice": "ลองเสียงนี้สิ",
"test_phrase": "วลีทดสอบ",
"test_placeholder": "พิมพ์อะไรบางอย่างเพื่อฟังเสียงนี้พูด...",
"generating": "กำลังสร้าง...",
"gen_preview": "สร้างการแสดงตัวอย่าง",
"unlock_confirm": "ปลดล็อกเสียงนี้ใช่ไหม คนรุ่นต่อๆ ไปจะไม่สามารถทำซ้ำแบบบิตได้อีกต่อไป",
"unlocked": "ปลดล็อคเสียงแล้ว",
"unlock_failed": "การปลดล็อคล้มเหลว: {{message}}",
"locked": "ล็อคแล้ว",
"locked_explain": "เสียงนี้สามารถทำซ้ำได้เล็กน้อย ทุกรุ่นใช้ข้อมูลอ้างอิง + ซี๊ดเดียวกัน",
"unlock": "ปลดล็อค",
"verified": "ตรวจสอบแล้ว",
"consent_title": "ความเป็นเจ้าของเสียง",
"consent_explain": "บันทึกตัวเองด้วยการอ่านข้อความด้านล่างเพื่อยืนยันว่านี่คือเสียงของคุณเอง จำเป็นต้องมีการยืนยันสำหรับคุณสมบัติตัวแทนและการแชร์กับชุมชน — ไม่เคยสำหรับการสังเคราะห์ในเครื่อง",
"consent_statement": "ฉันยืนยันว่าโปรไฟล์เสียงนี้เป็นเสียงของฉันเอง และฉันยินยอมให้ VoiceStudio โคลนเสียงดังกล่าวในนามของฉัน",
"consent_record": "บันทึกคำชี้แจงความยินยอม",
"consent_stop": "หยุดการบันทึก",
"consent_saved": "ยืนยันความเป็นเจ้าของเสียงแล้ว",
"consent_failed": "การยืนยันล้มเหลว: {{message}}",
"consent_verified_explain": "คุณบันทึกคำชี้แจงความยินยอมเมื่อ {{date}} การเพิกถอนจะลบการบันทึกและสถานะที่ตรวจสอบแล้ว",
"consent_revoke": "เพิกถอน",
"consent_revoke_confirm": "เพิกถอนการยืนยันการเป็นเจ้าของเสียงไหม การบันทึกคำยินยอมจะถูกลบและฟีเจอร์ตัวแทนจะใช้เสียงนี้ไม่ได้อีกต่อไป",
"consent_revoked": "เพิกถอนการยืนยันแล้ว",
"test_text": "สวัสดี — นี่คือการทดสอบเสียงนี้"
},
"nav": {
"voice": "เสียง",
"clone_short": "โคลน",
"workspaces": "พื้นที่ทำงาน",
"stories": "เรื่องราว",
"dub": "การพากย์เสียง",
"persona": "โปรไฟล์",
"saved": "บันทึกแล้ว",
"gallery": "แกลเลอรี่",
"batch_dub": "พากย์แบบกลุ่ม",
"transcribe": "ถอดเสียง",
"settings": "ตั้งค่า",
"design": "การออกแบบเสียง",
"clone": "โคลนเสียง",
"primary": "การนำทางหลัก",
"dictation": "การป้อนข้อความด้วยเสียง"
},
"profiles": {
"locked": "ล็อคเสียง! ปัจจุบันอัตลักษณ์มีความสอดคล้องกันในทุกรุ่น",
"lock_failed": "ล็อคโปรไฟล์ไม่สำเร็จ"
},
"compare": {
"title": "การเปรียบเทียบเสียง A/B",
"close": "ปิดการเปรียบเทียบ",
"desc": "เปรียบเทียบสองเสียงเคียงข้างกันเพื่อตัดสินใจคัดเลือกนักแสดง แอพยังคงโต้ตอบอยู่เบื้องหลัง",
"test_phrase": "วลีทดสอบ",
"voice_a": "เสียงก",
"voice_b": "วอยซ์ บี",
"select_voice": "— เลือกเสียง —",
"preset_suffix": "(พรีเซ็ต)",
"no_audio": "ยังไม่มีเสียง",
"close_btn": "ปิด",
"comparing": "กำลังเปรียบเทียบ...",
"compare_btn": "เปรียบเทียบ",
"preparing_voice": "กำลังเตรียมเสียง...",
"generating_voice_a": "กำลังสร้างเสียง A...",
"generating_voice_b": "กำลังสร้างเสียงข...",
"comparison_complete": "เปรียบเทียบเสร็จแล้ว!",
"play_failed": "การเล่นล้มเหลว: {{message}}"
},
"demo": {
"clone_coachmark": "นี่คือการสาธิตพร้อมคำแนะนำ — ลองใช้พร้อมท์ที่แนะนำหรือเขียนของคุณเอง",
"clone_prompt": "ยินดีต้อนรับ เมื่อสักครู่ฉันยังเป็นเพียงคลิปเสียงสามวินาที — ตอนนี้ฉันพูดอะไรก็ได้ที่คุณต้องการ ด้วยเสียงของคุณหรือเสียงของฉันเอง",
"hear_demo": "ฟังการสาธิต",
"stop_demo": "หยุดการสาธิต",
"prerendered_chip": "ตัวอย่างที่แสดงผลล่วงหน้า — ติดตั้งกลไก TTS เพื่อสังเคราะห์ข้อความใหม่",
"preset_preview": "ดูตัวอย่าง",
"preset_stop": "หยุด",
"preset_use": "ใช้การออกแบบนี้ →",
"dictation_title": "ลองเขียนตามคำบอก",
"dictation_lede": "อ่านออกเสียงข้อความเหล่านี้หลังจากกดปุ่มลัด หรือกดเล่นซ้ำเพื่อส่งตัวอย่างที่รวมกลุ่มผ่านตัวถอดเสียง เพื่อให้คุณสามารถเห็นการเขียนตามคำบอกตั้งแต่ต้นจนจบโดยไม่ต้องพูด",
"dictation_status_ok": "ตรวจสอบแล้ว — ปุ่มลัดใช้งานได้กับเครื่องนี้",
"dictation_status_pending": "กดทางลัดของคุณได้ทุกที่เพื่อทดสอบ",
"dictation_status_warn": "ไม่มีการลงทะเบียนปุ่มลัด — ตั้งค่าไว้ด้านล่าง",
"dictation_hear": "ได้ยิน",
"dictation_stop": "หยุด",
"dictation_replay": "เล่นซ้ำ",
"dictation_transcribing": "กำลังถอดเสียง...",
"dubbing_title": "ดูการดำเนินการพากย์",
"dubbing_sync": "ซิงค์ตำแหน่งการเล่น",
"dubbing_picker": "ลองภาษาอื่น:",
"dubbing_cta": "เรียกใช้สิ่งนี้ในวิดีโอของคุณเอง →",
"dubbing_loading": "กำลังโหลดการสาธิตการพากย์...",
"dubbing_dismiss": "ยกเลิกการสาธิตการพากย์เสียง",
"original_tag": "ต้นฉบับ",
"dubbed_tag": "ขนานนาม",
"script_conversational": "การสนทนา",
"script_technical": "คำศัพท์ทางเทคนิค",
"script_french": "ไม่ใช่ภาษาอังกฤษ (ฝรั่งเศส)",
"aria_pause": "หยุดชั่วคราว {{label}}",
"aria_hear": "ได้ยิน {{label}}",
"aria_replay": "เล่นซ้ำ {{label}} ผ่านตัวถอดเสียง",
"dictation_lede_hotkey_only": "กดค้างปุ่มลัดด้านบนได้ทุกที่บนเดสก์ท็อป พูด แล้วปล่อย — ข้อความจะไปอยู่ในแอปที่โฟกัส กดตอนนี้เพื่อยืนยันว่าใช้งานได้"
},
"setup": {
"ready_desc": "คุณพร้อมสร้างเสียงแรกแล้ว ตั้งค่าการพิมพ์ด้วยเสียงตอนนี้หรือภายหลังในการตั้งค่าได้",
"system_preflight": "ระบบพรีไฟลท์",
"system_check_desc": "โพรบ RAM, ดิสก์, GPU, ffmpeg และเครือข่าย ตัวบล็อกจะถูกตั้งค่าสถานะล่วงหน้าเพื่อให้คุณทราบก่อนที่จะดาวน์โหลด",
"probing": "ระบบตรวจวัด…",
"recheck": "ตรวจสอบอีกครั้ง",
"system_check": "การตรวจสอบระบบ",
"install_models": "ติดตั้งโมเดล",
"still_needed": "ยังต้องการ:",
"back": "กลับ",
"enter_studio": "เข้าสตูดิโอ",
"continue_ok": "ดีไปหมด — ดำเนินการต่อ"
},
"consent": {
"title": "ช่วยปรับปรุง VoiceStudio ไหม?",
"desc": "สถิติการใช้งานแบบไม่ระบุตัวตนและไม่มีเนื้อหา ที่ช่วยให้เราแก้ไขบั๊กได้เร็วขึ้น — เป็นทางเลือกทั้งหมด ปิดอยู่โดยค่าเริ่มต้น",
"step_label": "ปรับปรุง VoiceStudio",
"body": "สถิติการใช้งานแบบไม่ระบุตัวตนและไม่มีเนื้อหา: ใช้เอนจินใด การสร้างใช้เวลานานเท่าใด และประเภทของข้อผิดพลาด ไม่มีวันส่งข้อความ เสียง ไฟล์ของคุณ หรือสิ่งใดที่ระบุตัวตนของคุณ จะไม่มีการส่งข้อมูลใด ๆ เว้นแต่คุณจะตอบตกลง และคุณเปลี่ยนใจได้ทุกเมื่อใน การตั้งค่า → ความเป็นส่วนตัว",
"learn_more": "ส่งอะไรบ้างกันแน่?",
"yes": "ใช่ แชร์สถิติแบบไม่ระบุตัวตน",
"no": "ไม่ ขอบคุณ",
"dismiss": "ปิด (การวิเคราะห์ยังคงปิดอยู่)"
},
"firstrun": {
"stage_models": "โมเดลและเอนจิน",
"chip_required": "จำเป็น",
"chip_optional": "ตัวเลือก",
"chip_recommended": "แนะนำ",
"chip_recommended_title": "แนะนำสำหรับเครื่องนี้ — ไม่บังคับ",
"lib_show_all": "แสดงโมเดลตัวเลือก {{count}} รายการ",
"env_dir": "สภาพแวดล้อมของแอป",
"env_dir_desc": "Python runtime และไลบรารี AI",
"change": "เปลี่ยน…",
"reset_default": "รีเซ็ตเป็นค่าเริ่มต้น",
"region_label": "ภูมิภาคการดาวน์โหลด"
},
"asr_missing": {
"message": "ยังไม่ได้ติดตั้งโมเดลแปลงเสียงเป็นข้อความ — ฟีเจอร์นี้ต้องใช้โมเดลเพื่อถอดเสียง",
"download": "ดาวน์โหลด {{label}} ({{size}} GB)",
"started": "กำลังดาวน์โหลด {{label}} — ดูความคืบหน้าได้ที่ การตั้งค่า → โมเดล แล้วลองอีกครั้ง",
"install_failed": "ไม่สามารถเริ่มการดาวน์โหลดได้: {{message}}",
"choose": "เลือกโมเดลที่เหมาะกับงานของคุณ — ความแม่นยำ ภาษา และขนาดดาวน์โหลดแตกต่างกัน การดาวน์โหลดจะเริ่มเมื่อคุณคลิกเท่านั้น",
"group_offline": "แม่นยำที่สุด — ถอดเสียงหลังจากคุณหยุดพูด",
"group_streaming": "หน่วงน้อยที่สุด — แสดงข้อความสดขณะที่คุณพูด",
"use": "ใช้ {{label}}",
"installed": "ติดตั้งแล้ว"
},
"contact": {
"hero_title": "สนใจติดต่อ",
"hero_desc": "VoiceStudio สร้างขึ้นในลักษณะเปิดและออกแบบโดยผู้ใช้ ไม่ว่าคุณจะพบข้อบกพร่อง มีคุณลักษณะอยู่ในใจ ต้องการความช่วยเหลือในการตั้งค่า หรือเพียงต้องการแบ่งปันสิ่งที่คุณทำ มีช่องด้านล่างสำหรับเรื่องนี้",
"email": "อีเมล",
"email_desc": "ใบอนุญาต ห้างหุ้นส่วน หรือสิ่งใดก็ตามที่เป็นส่วนตัว",
"website": "เว็บไซต์",
"website_desc": "ข้อมูลเพิ่มเติมเกี่ยวกับโครงการและผู้สร้าง",
"follow_title": "ติดตามบน X",
"follow_desc": "บันทึกการอัปเดต เอนจินใหม่ ๆ และภาพบางส่วนของสิ่งที่กำลังพัฒนาต่อไป สะดวกหากคุณไม่อยากอยู่ในเซิร์ฟเวอร์แชท",
"follow_cta": "ติดตามบน X",
"bug_title": "รายงานข้อบกพร่อง",
"channels_label": "ช่องทางการติดต่อ",
"bug_desc": "เกิดอุบัติเหตุหรือสิ่งผิดปกติเกิดขึ้น? โปรแกรมรายงานในแอปเปิดปัญหา GitHub ที่กรอกไว้ล่วงหน้าด้วยการวินิจฉัยแบบสครับ — ระบบปฏิบัติการ, GPU และเอ็นจิ้นที่ใช้งานอยู่ — ในขณะที่โฟลเดอร์หลักและข้อมูลลับจะถูกดึงออก ไม่มีการส่งสิ่งใดจนกว่าคุณจะตรวจสอบและคลิกส่ง",
"feature_title": "ขอคุณสมบัติหรือสอบถาม",
"feature_desc": "มีความคิด คำถาม หรือขั้นตอนการทำงานที่รู้สึกว่ายุ่งยากใช่ไหม เปิดปัญหา GitHub เพื่อให้มีการติดตามอย่างเปิดเผยและคนอื่นๆ ก็สามารถชั่งน้ำหนักได้ — การค้นหาอย่างรวดเร็วก่อนมักจะพบว่ามีการพูดคุยกันแล้ว",
"feature_cta": "เปิดปัญหา GitHub",
"community_title": "รับความช่วยเหลือและชุมชน",
"community_desc": "สถานที่ที่รวดเร็วที่สุดสำหรับความช่วยเหลือในการตั้งค่าและการแก้ไขปัญหา และจุดที่เป็นมิตรสำหรับแบ่งปันเสียงพากย์และเสียงที่คุณทำ แวะมาทักทายและดูว่าทุกคนกำลังสร้างอะไร",
"community_cta": "เข้าร่วมความไม่ลงรอยกัน",
"support_title": "สนับสนุนโครงการ",
"support_desc": "VoiceStudio ให้บริการฟรีและทำงานบนเครื่องของคุณทั้งหมด หากช่วยคุณประหยัดเวลา เคล็ดลับแบบใช้ครั้งเดียวจะช่วยให้การพัฒนาดำเนินต่อไปได้ — ทุก ๆ ส่วนช่วยได้อย่างแท้จริง",
"support_cta": "ดูช่องทางการสนับสนุน",
"security_title": "รายงานปัญหาด้านความปลอดภัย",
"security_cta": "รายงานเป็นการส่วนตัว",
"other_ways": "ช่องทางอื่นในการติดต่อฉัน",
"bug_cta": "เปิดรายงานข้อผิดพลาด",
"security_desc": "พบจุดอ่อน? กรุณาอย่าเปิดประเด็นสาธารณะ รายงานแบบส่วนตัวผ่านคำแนะนำด้านความปลอดภัย GitHub เพื่อให้สามารถแก้ไขได้ก่อนที่จะเปิดเผย"
},
"donate": {
"title": "สนับสนุน",
"desc": "หากคุณชอบโครงการนี้ ลองบริจาคเพื่อสนับสนุนการพัฒนาของเรา",
"hero_title": "รองรับ VoiceStudio",
"hero_desc": "VoiceStudio เป็นบริการฟรี โอเพ่นซอร์ส และทำงานบนฮาร์ดแวร์ของคุณทั้งหมด หากสิ่งนี้สร้างคุณค่าให้กับขั้นตอนการทำงานของคุณ ให้พิจารณาสนับสนุนทีมหลัก",
"github_desc": "เกิดขึ้นซ้ำหรือครั้งเดียว — ผ่าน GitHub โดยตรง",
"coffee_desc": "ซื้อกาแฟให้ทีม ไม่จำเป็นต้องมีบัญชี",
"paypal_desc": "รวดเร็วเพียงครั้งเดียวหรือเกิดซ้ำผ่าน PayPal",
"platforms": "แพลตฟอร์ม",
"footer": "ทุกการมีส่วนร่วมช่วยผลักดันขอบเขตของ AI ในท้องถิ่น",
"back": "กลับไปที่สตูดิโอ",
"commercial": "ใบอนุญาตการค้า",
"pill": "รองรับ VoiceStudio",
"suggested_title": "เลือกจำนวนเงิน",
"most_common": "ที่พบบ่อยที่สุด",
"custom": "กำหนดเอง",
"choose_method": "เลือกวิธีการให้",
"choose_method_amount": "ต่อด้วย ${{amount}}",
"goal": {
"title": "สนับสนุนการพัฒนา VoiceStudio",
"of": "ของ",
"per_month": "/เดือน",
"aria": "{{raised}} จาก {{goal}} เป้าหมายรายเดือน",
"remaining": "{{amount}} ไปได้แล้ว",
"met": "🎉 บรรลุเป้าหมาย — {{raised}} เพิ่มขึ้น ขอบคุณ!",
"social_proof": "เข้าร่วมกับผู้สนับสนุน {{count}} ที่ให้ทุนสนับสนุน AI ในท้องถิ่น"
},
"postcard": {
"title": "สนับสนุนการพัฒนา VoiceStudio",
"lead_default": "ดีใจที่ได้ผล! VoiceStudio เป็นบริการฟรีและอยู่ในเครื่องโดยสมบูรณ์ ถ้ามันช่วยคุณประหยัดเวลาได้ เงินสมทบรายเดือนเล็กๆ น้อยๆ ที่ Claude Max อยู่เบื้องหลัง",
"lead_first_clone": "การโคลนเสียงครั้งแรกของคุณเสร็จสิ้นแล้ว เยี่ยมมาก! VoiceStudio ทำงานบนเครื่องของคุณทั้งหมด และฝ่ายสนับสนุนของคุณก็จะเป็นเช่นนั้น",
"lead_tenth_dub": "มีพากย์สิบตอน — คุณเห็นได้ชัดว่ามันใช้งานได้จริง กองทุนรายเดือนเล็กๆ น้อยๆ ของ Claude Max ที่จัดส่งฟีเจอร์เหล่านี้",
"lead_sustained": "คุณใช้งาน VoiceStudio มาหนึ่งเดือนแล้ว หากได้รับจุดหนึ่งในขั้นตอนการทำงานของคุณ ให้พิจารณาช่วยเหลือด้านทุนสำหรับการดำเนินการต่อไป",
"chip_in": "ชิปเข้า",
"later": "อาจจะในภายหลัง",
"star": "ติดดาวบน GitHub",
"opt_out": "อย่าถามอีก",
"dismiss_aria": "ยกเลิก"
}
},
"support": {
"tab_support": "สนับสนุน",
"tab_license": "ใบอนุญาตการค้า",
"toggle_label": "การสนับสนุนหรือใบอนุญาตทางการค้า",
"other_ways": "วิธีอื่นในการช่วยเหลือ",
"star_github": "ติดดาวบน GitHub",
"join_discord": "เข้าร่วมความไม่ลงรอยกัน",
"sponsors_title": "สปอนเซอร์",
"sponsors_lead": "บริษัทและบุคลากรทำให้ VoiceStudio ฟรี เป็นท้องถิ่น และเป็นโอเพ่นซอร์ส",
"sponsors_empty_title": "เป็นคนแรกที่จะสนับสนุน VoiceStudio",
"sponsors_empty_desc": "โลโก้ของคุณที่นี่",
"sponsors_become": "มาเป็นสปอนเซอร์",
"sponsors_become_aria": "ร่วมเป็นผู้สนับสนุน — เปิดปัญหา GitHub ที่กรอกไว้ล่วงหน้าในเบราว์เซอร์ของคุณ",
"sponsors_logo_aria": "เยี่ยมชม {{name}} ซึ่งเป็นผู้สนับสนุน VoiceStudio",
"sponsors_tier_gold": "ทอง",
"sponsors_tier_silver": "เงิน",
"sponsors_tier_bronze": "สีบรอนซ์",
"sponsors_perk": "ผู้สนับสนุนจะได้รับโลโก้ของตนในแอปในREADMEและช่องบนไซต์โครงการ",
"sponsors_learn_more": "สิ่งที่สปอนเซอร์ได้รับ",
"sponsors_tier_platinum": "แพลตตินัม"
},
"enterprise": {
"title": "ใบอนุญาตการค้า",
"desc": "ใบอนุญาตระดับมืออาชีพและการสนับสนุนทางเทคนิคสำหรับผู้ใช้เชิงพาณิชย์",
"back": "กลับไปที่สตูดิโอ",
"badge": "ใบอนุญาตการค้า",
"hero_title": "จัดส่งเสียง AI ในการผลิต",
"hero_desc": "VoiceStudio เป็นซอฟต์แวร์เสรีและโอเพนซอร์สภายใต้สัญญาอนุญาต GNU Affero General Public License v3 (AGPL-3.0) — ใช้งานได้ฟรี รวมถึงการใช้งานเชิงพาณิชย์และการใช้งานภายในองค์กร คุณต้องมีใบอนุญาตเชิงพาณิชย์เฉพาะเมื่อต้องการฝัง VoiceStudio ในผลิตภัณฑ์หรือบริการแบบปิดซอร์สหรือกรรมสิทธิ์ โดยไม่ปฏิบัติตามข้อผูกพัน copyleft ของ AGPL-3.0",
"why_title": "เหตุใดธุรกิจจึงเลือก VoiceStudio",
"pricing_title": "ราคา",
"faq_title": "คำถามทั่วไป",
"pricing_desc": "ระดับและราคายังอยู่ในระหว่างการสรุปผล",
"pricing_detail": "จนกว่าจะเปิดเผยต่อสาธารณะ การใช้งานเชิงพาณิชย์ทุกครั้งจะถูกเสนอราคาเป็นรายบุคคล เพื่อให้เราสามารถปรับขนาดให้เหมาะสมกับทีมและปริมาณงานของคุณได้",
"request_quote": "ขอใบเสนอราคา",
"footer_email": "มีคำถาม? ติดต่อได้ที่ VoiceStudio@palash.dev",
"footer_discord": "เข้าร่วม Discord ของเราเพื่อรับการสนับสนุนจากชุมชน",
"benefit_ip": "ความเป็นเจ้าของ IP เต็มรูปแบบ",
"benefit_ip_desc": "คุณเป็นเจ้าของทุกผลผลิต ทุกรุ่น และอนุพันธ์ทั้งหมด ไม่มีการเช่าร่วมกัน ไม่มีข้อมูลรั่วไหล",
"benefit_cost": "ค่าใช้จ่ายเป็นศูนย์ต่อนาที",
"benefit_cost_desc": "ไม่มีการเรียกเก็บเงิน API ไม่มีการโอเวอร์เกินอย่างน่าประหลาดใจ ทำงานบนฮาร์ดแวร์ของคุณเองตั้งแต่วันแรก",
"benefit_team": "การเข้าถึงทั่วทั้งทีม",
"benefit_team_desc": "ใบอนุญาตหนึ่งใบครอบคลุมผู้ใช้ไม่จำกัดจำนวนภายในองค์กรของคุณ",
"benefit_support": "การสนับสนุนโดยตรง",
"benefit_support_desc": "การสนับสนุนทางอีเมลและแฮงเอาท์วิดีโอสำคัญจากทีมวิศวกรหลัก",
"benefit_source": "แกนหลักที่มีแหล่งที่มา",
"benefit_source_desc": "มองเห็นสแต็กได้เต็มรูปแบบ ตรวจสอบ แยก และปรับเปลี่ยนภายในข้อกำหนดสิทธิ์การใช้งาน",
"benefit_lang": "646 ภาษา",
"benefit_lang_desc": "ถอดเสียง แปล และพากย์ใน 646 ภาษาด้วยคุณภาพระดับมนุษย์",
"hero_note": "การใช้งาน การโฮสต์ด้วยตนเอง และการใช้งานเชิงพาณิชย์ ทั้งหมดฟรีภายใต้ AGPL-3.0 — รวมถึงการใช้งานขนาดใหญ่ AGPL เป็นสัญญาอนุญาตแบบ copyleft ผ่านเครือข่าย: หากคุณแก้ไข VoiceStudio และให้บริการเวอร์ชันที่แก้ไขนั้นแก่ผู้อื่นผ่านเครือข่าย คุณต้องเปิดเผยซอร์สโค้ดที่แก้ไขของคุณภายใต้เงื่อนไขเดียวกัน ใบอนุญาตเชิงพาณิชย์จะยกเว้นข้อผูกพัน copyleft เหล่านี้สำหรับการใช้งานแบบกรรมสิทธิ์/ปิดซอร์ส แผนราคาจะมาเร็ว ๆ นี้ — ระหว่างนี้ติดต่อเราได้เลย",
"hero_simple": "VoiceStudio เป็นซอฟต์แวร์โอเพ่นซอร์สฟรีภายใต้ AGPL-3.0 — รวมถึงการใช้งานเชิงพาณิชย์และธุรกิจภายใน คุณเพียงต้องมีใบอนุญาตเชิงพาณิชย์เพื่อฝังลงในผลิตภัณฑ์แบบปิดโดยไม่มีภาระผูกพันด้านลิขสิทธิ์ของ AGPL",
"contact_lead": "ราคาเป็นราคาต่อการปรับใช้เพื่อให้เหมาะสมกับทีมและปริมาณงานของคุณ บอกกรณีการใช้งานของคุณให้ฉันทราบ แล้วฉันจะเสนอราคาให้คุณ"
},
"reportBug": {
"label": "รายงานข้อบกพร่อง",
"title": "เปิดหน้าปัญหา GitHub ที่กรอกไว้ล่วงหน้าในเบราว์เซอร์ของคุณ ไม่มีการส่งสิ่งใดจนกว่าคุณจะคลิกส่ง",
"staleTitle": "มีอัปเดตพร้อมใช้งาน",
"staleMessage": "คุณกำลังใช้ VoiceStudio {{current}} แต่ {{latest}} ออกแล้ว — ข้อบกพร่องนี้อาจได้รับการแก้ไขแล้ว ดูรุ่นล่าสุดก่อนรายงานหรือไม่?",
"staleView": "ดูอัปเดต",
"staleFileAnyway": "รายงานต่อไป"
},
"crash": {
"notice_unclean": "เซสชันก่อนหน้าจบลงโดยไม่ได้ปิดอย่างถูกต้องเมื่อ {{ago}} ที่แล้ว ซึ่งมักไม่มีอันตราย — เครื่องเข้าสู่โหมดสลีป แอปถูกบังคับปิด หรือ VM/คอนเทนเนอร์หยุดทำงาน",
"details_intro_unclean": "เครื่องหมายการปิดของการทำงานครั้งก่อนไม่เคยถูกล้างเมื่อ {{ago}} ที่แล้ว VoiceStudio ไม่สามารถบอกได้ว่าเป็นการแครชหรือเพียงการขัดจังหวะ — การสลีป การบังคับปิด หรือการหยุด VM/คอนเทนเนอร์ทิ้งร่องรอยแบบเดียวกัน หากตอนนี้ทุกอย่างทำงานปกติ ก็ไม่ต้องทำอะไร",
"report_needs_log": "ไม่มีเอาต์พุตข้อผิดพลาดถูกบันทึกไว้สำหรับเหตุการณ์นี้ รายงานแบบคลิกเดียวจึงจะว่างเปล่า หากมีปัญหาจริง โปรดแนบบรรทัดสุดท้ายจาก การตั้งค่า → บันทึก → แบ็กเอนด์ ในการแจ้งปัญหาใหม่",
"dismiss": "ยกเลิก",
"uptime_value": "{{count}} s",
"notice": "แบ็กเอนด์เสียงขัดข้อง ({{exit}}) {{ago}} ที่แล้ว และกำลังรีสตาร์ทโดยอัตโนมัติ",
"view": "ดูรายละเอียดข้อขัดข้อง",
"details_title": "รายละเอียดข้อขัดข้องของแบ็กเอนด์",
"details_intro": "กระบวนการแบ็กเอนด์หยุดทำงานโดยไม่คาดคิด ({{exit}}) {{ago}} ที่ผ่านมา ผลลัพธ์ข้อผิดพลาดที่ทิ้งไว้ด้านล่าง — การรายงานข้อผิดพลาดดังกล่าวช่วยให้เราแก้ไขข้อขัดข้องได้",
"field_exit": "ออก",
"field_when": "เมื่อไร",
"field_version": "เวอร์ชันแบ็กเอนด์",
"stderr_title": "เอาต์พุตข้อผิดพลาดล่าสุด (stderr)",
"no_stderr": "ไม่มีการบันทึกเอาต์พุตข้อผิดพลาด",
"field_uptime": "เวลาทำงานก่อนเกิดอุบัติเหตุ"
},
"errors": {
"title": "แท็บนี้ประสบปัญหาขัดข้อง",
"desc": "ไม่ต้องกังวล แอปที่เหลือยังใช้งานได้ คุณสามารถสลับแท็บหรือลองอีกครั้งด้านล่าง",
"tryAgain": "ลองอีกครั้ง",
"openDocs": "เปิดเอกสารเพื่อดูข้อผิดพลาดนี้",
"crash_port_in_use": "ไม่สามารถเริ่มแบ็กเอนด์ได้เพราะพอร์ต 3900 ถูกใช้งานอยู่แล้ว — VoiceStudio อีกชุดหนึ่ง (หรือแอปที่จองพอร์ตนั้น) กำลังถือครองอยู่ ปิดอินสแตนซ์อื่นแล้วเปิดใหม่ หากไม่มีอะไรทำงานให้เห็น แสดงว่าแบ็กเอนด์ที่ค้างจากเซสชันก่อนยังถือพอร์ตอยู่",
"crash_oom_kill": "ถูกบังคับปิด (สัญญาณ 9) ซึ่งมักหมายความว่าระบบปฏิบัติการมีหน่วยความจำ (RAM) ไม่พอจึงหยุดการทำงาน ปิดแอปที่ใช้หน่วยความจำมาก เลือกโมเดล ASR ที่เล็กลงใน การตั้งค่า → โมเดล หรือปลดโมเดล TTS ก่อนถอดเสียง",
"crash_native_fault": "โปรแกรมล่มภายในชั้นการประมวลผล ไม่ใช่เพราะหน่วยความจำหมด ซึ่งชี้ไปที่ไดรเวอร์ GPU ที่ไม่ตรงกับ CUDA runtime ที่มาพร้อมกัน หรือไฟล์โมเดลที่ดาวน์โหลดไม่ครบ อัปเดตไดรเวอร์ GPU แล้วดาวน์โหลดโมเดลใหม่จาก การตั้งค่า → โมเดล (ระบบจะซ่อมไฟล์ที่ดาวน์โหลดไม่ครบให้) หากยังเกิดซ้ำ ให้เปลี่ยนไปใช้เอนจินแบบแยกกระบวนการใน การตั้งค่า → เอนจิน — \"VoiceStudio (subprocess)\" สำหรับการสังเคราะห์เสียง และ \"Faster-Whisper (crash-isolated subprocess)\" สำหรับการถอดเสียง เอนจินเหล่านี้รันโมเดลในกระบวนการแยก การล่มแบบนี้จึงทำให้กระบวนการนั้นหยุดแทนที่จะเป็นแบ็กเอนด์ทั้งหมด",
"report": "รายงานข้อบกพร่องนี้",
"report_failed": "เปิดรายงานข้อบกพร่องไม่ได้ โปรดลองอีกครั้ง หรือคัดลอกรายละเอียดด้านบนไปยังรายงานใหม่",
"searchIssues": "ค้นหาปัญหาที่คล้ายกัน",
"unexpected": "ข้อผิดพลาดที่ไม่คาดคิด: {{message}}",
"backend_shutting_down": "VoiceStudio กำลังปิดอยู่ เปิดแอปอีกครั้งแล้วลองใหม่",
"crash_broken_env": "มันหยุดทำงานขณะโหลดไลบรารี Python ของตัวเอง จึงไม่ใช่เรื่องหน่วยความจำหรือ GPU ของคุณ — สภาพแวดล้อมไม่สมบูรณ์หรืออัปเดตค้างอยู่ครึ่งทาง ใช้ \"ล้างข้อมูลและลองใหม่\" ใน การตั้งค่า → บันทึก → แบ็กเอนด์ ซึ่งจะสร้างใหม่ทั้งหมดและซ่อมให้ในที่เดิม โดยไม่แตะต้องเสียงหรือโปรเจกต์ของคุณ หากยังล้มเหลว รายละเอียดข้อขัดข้องจะระบุแพ็กเกจที่นำเข้าไม่ได้",
"crash_vram_default": "บน GPU ขนาดเล็ก สาเหตุที่พบบ่อยคือ VRAM หมดขณะโหลดโมเดล ASR ซ้อนบนโมเดล TTS ให้ล้างโมเดล TTS ออกก่อน หรือเลือกโมเดล ASR ที่เล็กกว่าใน แค็ตตาล็อกโมเดล → โมเดล",
"stream_cut_backend_alive": "สตรีมจบก่อนเวลา แต่แบ็กเอนด์ยังทำงานอยู่ จึงไม่ได้ล่ม ในการติดตั้งแบบเซิร์ฟเวอร์หรือคอนเทนเนอร์ สาเหตุมักเป็น reverse proxy หรือ load balancer ที่บัฟเฟอร์หรือตัดการเชื่อมต่อเมื่อหมดเวลา ให้ปิดการบัฟเฟอร์การตอบสนองของเส้นทางนี้ (nginx: proxy_buffering off; X-Accel-Buffering: no) และเพิ่ม read timeout ของมัน การรันแอปเดสก์ท็อปโดยตรง หรือรันบน localhost โดยไม่มีพร็อกซี จะช่วยยืนยันได้"
},
"segmentEditing": {
"more": "การดำเนินการเพิ่มเติม",
"split": "แยกที่เคอร์เซอร์",
"mergeNext": "รวมกับต่อไป",
"mergePrevious": "รวมกับก่อนหน้า",
"insert": "แทรกบรรทัดด้านล่าง",
"undo": "เลิกทำ",
"redo": "ทำซ้ำ",
"timeline": "ไทม์ไลน์ของเซกเมนต์",
"overlap": "ทับซ้อนกับเซกเมนต์ข้างเคียง — บทพูดทั้งสองจะเล่นพร้อมกัน"
},
"sharing": {
"title": "การแชร์และการเข้าถึงระยะไกล",
"help": "เปิดเผยอินสแตนซ์ VoiceStudio ที่ทำงานอยู่นี้ไปยังเครื่องอื่นๆ ของคุณโดยไม่ต้องรีสตาร์ท Loopback-only เป็นค่าเริ่มต้น — จะไม่มีการแชร์ใดๆ จนกว่าคุณจะเปิดใช้งานที่นี่",
"local_network": "เครือข่ายท้องถิ่น",
"local_help": "แบ่งปันบน Wi-Fi / Ethernet ของคุณด้วย PIN การเข้าถึงเพียงครั้งเดียว อุปกรณ์อื่นๆ สแกนรหัส QR หรือเปิดลิงก์",
"ports_title": "พอร์ต",
"ports_help": "สิ่งเหล่านี้ถูกตั้งค่าผ่านตัวแปรสภาพแวดล้อมที่อ่านเมื่อเริ่มต้น เปลี่ยนแบ็กเอนด์หรือพอร์ต UI โดยการตั้งค่าตัวแปรและรีสตาร์ท VoiceStudio",
"backend_port": "พอร์ตแบ็กเอนด์",
"ui_port": "พอร์ตยูไอ",
"lan_share_port": "พอร์ต LAN-share",
"port_error": "ป้อนพอร์ตระหว่าง 1024 ถึง 65535",
"port_saved": "บันทึกพอร์ต LAN-share แล้ว — นำไปใช้ในครั้งถัดไปที่คุณเปิดใช้งานการแชร์",
"port_save_failed": "ไม่สามารถบันทึกพอร์ต: {{message}}",
"saving": "กำลังบันทึก...",
"ports_note": "พอร์ตแบ็กเอนด์และ UI มีผลเมื่อรีสตาร์ท พอร์ต LAN-share จะมีผลในครั้งถัดไปที่คุณเปิดใช้งานการแชร์",
"tailscale_title": "Tailscale (การเข้าถึงระยะไกลส่วนตัว)",
"tailscale_checking": "กำลังตรวจสอบส่วนท้าย...",
"tailscale_absent": "ตรวจไม่พบสเกลท้าย ติดตั้งเพื่อเข้าถึง VoiceStudio อย่างปลอดภัยจากทุกที่บน tailnet ส่วนตัวของคุณ",
"tailscale_install": "ติดตั้งสเกลท้าย",
"tailscale_running": "สเกลท้ายกำลังทำงาน ให้บริการ VoiceStudio ผ่าน tailnet ส่วนตัวของคุณ",
"tailscale_not_logged_in": "ติดตั้ง Tailscale แล้ว แต่ยังไม่ได้เข้าสู่ระบบ ให้เริ่มและลงชื่อเข้าใช้ Tailscale ก่อน",
"tailscale_enabled": "เปิดใช้งานการให้บริการส่วนท้ายแล้ว",
"tailscale_enable_failed": "ไม่สามารถเปิดใช้งาน Tailscale ได้",
"tailscale_enable_error": "ไม่สามารถเปิดใช้งาน Tailscale: {{message}}",
"tailscale_disabled": "ปิดใช้การให้บริการ Tailscale แล้ว",
"tailscale_disable_failed": "ไม่สามารถปิดใช้งาน Tailscale ได้",
"tailscale_disable_error": "ไม่สามารถปิดการใช้งาน Tailscale: {{message}}",
"tailscale_enabling": "กำลังเปิดใช้งาน...",
"tailscale_enable_btn": "เปิดใช้งานการแสดง Tailscale",
"tailscale_disabling": "กำลังปิดใช้งาน...",
"tailscale_disable_btn": "หยุดเสิร์ฟ Tailscale",
"tailscale_copy": "คัดลอกลิงก์",
"tailscale_open": "เปิดในเบราว์เซอร์",
"copied": "คัดลอกแล้ว",
"tailscale_qr_alt": "รหัส QR สำหรับ Tailscale URL"
},
"convert": {
"source_kicker": "คลิปต้นฉบับ",
"drop_audio": "วางคลิปที่จะแปลงที่นี่ — หรือคลิก WAV, MP3, M4A…",
"target_voice": "เสียงปลายทาง",
"pick_voice": "เลือกโปรไฟล์เสียง…",
"match_duration": "ให้ความยาวตรงกับต้นฉบับ",
"match_duration_hint": "ยืดผลลัพธ์ตามเวลา (คงระดับเสียงเดิม) ให้ใกล้เคียงความยาวของคลิปต้นฉบับ",
"convert": "แปลง",
"converting": "กำลังแปลง…",
"transcript": "สิ่งที่ได้ยิน",
"result_kicker": "เทคที่แปลงแล้ว",
"need_source_and_voice": "เพิ่มคลิปต้นฉบับและเลือกเสียงปลายทางก่อน"
},
"glossary": {
"title": "อภิธานศัพท์",
"load_error": "ไม่สามารถโหลดอภิธานศัพท์: {{message}}",
"needs_project": "อภิธานศัพท์ต้องการโปรเจ็กต์ที่มีการโหลด",
"add_error": "เพิ่มล้มเหลว: {{message}}",
"update_error": "การอัปเดตล้มเหลว: {{message}}",
"delete_error": "ลบล้มเหลว: {{message}}",
"clear_auto_confirm": "ลบคำที่แยกอัตโนมัติทั้งหมดออกใช่ไหม รายการด้วยตนเองจะถูกเก็บไว้",
"clear_error": "การเคลียร์ล้มเหลว: {{message}}",
"pick_target": "เลือกภาษาเป้าหมายก่อน",
"no_segments": "ไม่มีส่วนที่จะสแกน",
"auto_empty": "การแยกข้อมูลอัตโนมัติไม่พบข้อกำหนดใหม่",
"auto_added_one": "เพิ่มคำอัตโนมัติ {{count}} ตรวจสอบและแก้ไขก่อนแปล",
"auto_added_other": "เพิ่มเงื่อนไขอัตโนมัติ {{count}} ตรวจสอบและแก้ไขก่อนแปล",
"auto_error": "การแยกข้อมูลอัตโนมัติล้มเหลว: {{message}}",
"count": "เงื่อนไข {{count}}",
"count_one": "{{count}} เทอม",
"count_other": "เงื่อนไข {{count}}",
"auto_count": "{{count}} อัตโนมัติ",
"auto_title": "ขอให้ LLM สแกนส่วนต่างๆ เพื่อหาคำนามที่เหมาะสม + คำที่เกิดซ้ำ",
"auto_btn": "อัตโนมัติ",
"clear_auto_title": "ลบคำที่แยกออกมาอัตโนมัติทั้งหมด และเก็บคำที่จัดทำขึ้นเองไว้",
"clear_auto_btn": "ล้างอัตโนมัติ",
"empty_save": "บันทึกพากย์เป็นโปรเจ็กต์เพื่อเริ่มอภิธานศัพท์",
"source": "แหล่งที่มา",
"target": "เป้าหมาย",
"note": "หมายเหตุ",
"no_terms": "ยังไม่มีข้อกำหนด เพิ่มหนึ่งรายการด้านล่างหรือคลิกอัตโนมัติ",
"source_placeholder": "ที่มา ({{lang}})",
"target_placeholder": "เป้าหมาย ({{lang}})",
"note_placeholder": "หมายเหตุ (ไม่บังคับ)",
"add_term": "เพิ่มคำศัพท์",
"hint": "อภิธานศัพท์จะถูกแทรกลงในข้อความแจ้งการแปลแบบภาพยนตร์ทุกรายการ การป้อนข้อมูลด้วยตนเองจะมีความสำคัญกว่า",
"auto_badge": "อัตโนมัติ",
"manual_badge": "คู่มือ",
"close": "ยุบอภิธานศัพท์"
},
"segment": {
"time": "เวลา",
"spkr": "สปคร",
"text": "ข้อความ",
"lang": "หรั่ง",
"voice": "เสียง",
"vol": "ฉบับที่",
"vol_title": "ปริมาณ (0200%)",
"search_placeholder": "ค้นหาข้อความ...",
"all_speakers": "ลำโพงทั้งหมด",
"select_all_title": "เลือกกรองทั้งหมด",
"sel_count": "{{count}} เซล",
"select_title": "เลือกส่วน (shift+คลิกเพื่อดูช่วง)",
"sync_title": "เสียงที่สร้างขึ้นคือ {{pct}}% ระยะเวลาของต้นฉบับ",
"sync_label": "ซิงค์: {{pct}}%",
"rate_title": "อัตราคำพูดพอดี: {{ratio}}× สัมพันธ์กับช่อง{{error}}",
"speaker_id": "รหัสผู้พูด",
"translate_error_title": "ข้อผิดพลาดในการแปล: {{error}}",
"translate_degraded_title": "แปลแล้ว (ตรงตัว) — ข้ามขั้นตอนขัดเกลา: {{reason}}",
"budget_title": "ข้อความมีความยาว {{pct}}% ของต้นฉบับ โปรดพิจารณาการใช้ข้อความที่เร็วขึ้นหรือใช้ถ้อยคำที่สั้นลง",
"text_title": "Cmd/Ctrl+D เพื่อแยกที่เคอร์เซอร์ · Cmd/Ctrl+M เพื่อรวมเข้ากับถัดไป · Cmd/Ctrl+Shift+M เพื่อรวมเข้ากับก่อนหน้า",
"orig_label": "ต้นฉบับ",
"restore_title": "คืนค่าข้อความต้นฉบับ",
"lang_default": "(ป้องกัน)",
"voice_default": "ค่าเริ่มต้น",
"from_video": "จากวิดีโอ",
"clone_profiles": "โปรไฟล์โคลน",
"design_presets": "การออกแบบที่ตั้งไว้ล่วงหน้า",
"preview_title": "ดูตัวอย่างสด",
"set_direction": "กำหนดทิศทาง…",
"edit_direction": "แก้ไขทิศทาง...",
"split_label": "แยกที่เคอร์เซอร์",
"merge_label": "รวมกับต่อไป",
"merge_prev_label": "รวมกับก่อนหน้า",
"insert_label": "แทรกบรรทัดด้านล่าง",
"direction_title": "ทิศทาง: {{dir}}",
"more_actions_title": "การดำเนินการเพิ่มเติม",
"speaker_pick": "เลือก...",
"speaker_title_detected": "ผู้พูด — เลือกจากที่ตรวจพบ หรือพิมพ์ชื่อที่กำหนดเอง",
"speaker_title_custom": "ผู้พูด — พิมพ์ชื่อ (ตรวจไม่พบโคลนไดอะไรเซชัน)",
"time_edit_title": "คลิกเพื่อแก้ไขเวลาเริ่มต้น (m:ss.s) เข้าสู่เพื่อกระทำ Esc เพื่อยกเลิก",
"time_edit_end_title": "คลิกเพื่อแก้ไขเวลาสิ้นสุด (m:ss.s) เข้าสู่เพื่อกระทำ Esc เพื่อยกเลิก",
"time_nudge_start_earlier": "เลื่อนเวลาเริ่มเร็วขึ้น 0.1 วินาที",
"time_nudge_start_later": "เลื่อนเวลาเริ่มช้าลง 0.1 วินาที",
"time_nudge_end_earlier": "เลื่อนเวลาสิ้นสุดเร็วขึ้น 0.1 วินาที",
"time_nudge_end_later": "เลื่อนเวลาสิ้นสุดช้าลง 0.1 วินาที",
"fit_fits": "พอดี",
"fit_fits_title": "เสียงที่มีอัตราธรรมชาติพอดีกับช่อง",
"fit_overflows": "โอเวอร์โฟลว์ +{{seconds}}s",
"fit_overflows_title": "ข้อความที่แปลยาวกว่าช่องต้นฉบับ {{seconds}}s เสียงถูกตัดแต่งอย่างหนัก ย่อข้อความหรือเปลี่ยนระยะเวลาเป็น \"ยืดวิดีโอ\"",
"fit_stretched": "วิดีโอ {{ratio}}×",
"fit_stretched_title": "โหมดวิดีโอยืด: วิดีโอของส่วนนี้ช้าลงเป็น {{ratio}}× เพื่อให้พอดีกับเสียงพากย์ที่เป็นธรรมชาติ",
"fit_slowed": "ช้าลง {{ratio}}×",
"fit_slowed_title": "บทพากย์สั้นกว่าช่วงเวลา — ทำให้ช้าลง {{ratio}}× (คงระดับเสียง) เพื่อให้เสียงพูดครอบคลุมช่วงพูดเดิมแทนที่จะทิ้งช่องว่าง",
"fit_compressed_title": "เสียง TTS มีค่า {{pct}}% ของช่อง — บีบอัดอย่างหนัก",
"fit_audio_title": "เสียงพอดีกับช่อง",
"fit_ratio_title": "เสียง TTS คือ {{pct}}% ของช่อง",
"qc_verify": "ตรวจสอบ",
"qc_verify_title": "ได้ยิน ASR ครั้งที่สอง: \"{{heard}}\" — ฟังซ้ำหรือพากย์บรรทัดนี้ใหม่",
"live_play_title": "สตรีมบรรทัดนี้ทันที (พรีวิวสด)",
"live_stop_title": "หยุดพรีวิวสด",
"plan_apply": "ใช้ข้อความที่เขียนใหม่ให้สั้นลง",
"plan_apply_title": "แทนที่บรรทัดนี้ด้วยข้อความที่สั้นลงตามคำแนะนำ: “{{text}}”",
"plan_impossible": "ยาวเกินไป +{{seconds}}วิ",
"plan_impossible_title": "คาดว่าเสียงพูดจะยาว ≈{{est}}วิ แต่มีเวลา {{avail}}วิ เกินขีดจำกัดการปรับประมาณ {{seconds}}วิ จึงจะถูกตัดเสียง โปรดย่อข้อความก่อนสร้างเสียง",
"plan_tight": "พอดีแบบกระชั้น",
"plan_tight_title": "คาดว่าเสียงพูดจะยาว ≈{{est}}วิ แต่มีเวลา {{avail}}วิ การปรับอัจฉริยะรองรับได้โดยเร่งเสียงอย่างสังเกตได้หรือชะลอวิดีโอ โปรดย่อข้อความเพื่อผลลัพธ์ที่ดีกว่า"
},
"update": {
"checking": "กำลังตรวจสอบอัปเดต…",
"ready": "ดาวน์โหลดและตรวจสอบอัปเดต {{version}} แล้ว",
"download": "ดาวน์โหลดอัปเดต",
"download_hint": "ดาวน์โหลดเบื้องหลังและทำงานต่อได้",
"download_detail": "{{downloaded}} / {{total}} · {{speed}}/วินาที · เหลือ {{eta}}",
"safety": "ระบบจะตรวจสอบความสมบูรณ์ของแพ็กเกจอัปเดตก่อนเริ่มใหม่",
"available": "มีอัปเดต {{version}}",
"install": "ติดตั้งและรีสตาร์ท",
"install_hint": "ดาวน์โหลดอัปเดตและรีสตาร์ทเป็นเวอร์ชันใหม่",
"downloading": "กำลังอัปเดต… {{pct}}%",
"restart": "รีสตาร์ทเพื่ออัปเดต",
"busy": "รอให้งานที่กำลังทำอยู่เสร็จก่อน แล้วจึงติดตั้งอัปเดต",
"whats_new": "มีอะไรใหม่",
"failed": "การอัปเดตล้มเหลว",
"retry": "ลองอีกครั้ง",
"dismiss": "ยกเลิก",
"toast_available": "VoiceStudio {{version}} พร้อมใช้งาน",
"toast_install": "ติดตั้งและรีสตาร์ท",
"toast_whats_new": "มีอะไรใหม่",
"toast_later": "ภายหลัง"
},
"openapi": {
"title": "API ของ VoiceStudio",
"copied": "คัดลอก URL ข้อกำหนดแล้ว",
"copy_failed": "คัดลอกไม่สำเร็จ เลือกและคัดลอก URL ด้วยตนเอง",
"copy_url": "คัดลอก URL ข้อกำหนด",
"open_raw": "เปิดข้อกำหนดดิบ",
"unreachable_title": "ไม่มีข้อกำหนดแบ็กเอนด์",
"unreachable_body": "เข้าถึงข้อกำหนด OpenAPI ที่ {{url}} ไม่ได้ ตรวจสอบว่าแบ็กเอนด์ทำงานอยู่แล้วลองอีกครั้ง"
},
"keyboard": {
"title": "แป้นพิมพ์ลัด",
"footer": "กด <1>?</1> เมื่อใดก็ได้เพื่อเปิดสิ่งนี้",
"or": "หรือ",
"nav": "การนำทาง",
"nav_cheatsheet": "แสดงสูตรโกงนี้",
"nav_enginePickerKey": "Cmd/Ctrl+E",
"nav_workspacesKey": "Cmd/Ctrl+19",
"nav_closeModal": "ปิดกิริยา / ยกเลิก",
"nav_save": "บันทึกโปรเจ็กต์ / คอมมิตการตัดแต่ง",
"segmentEditor": "ตัวแก้ไขส่วน",
"seg_split": "แยกส่วนที่เคอร์เซอร์",
"seg_merge": "รวมกับส่วนถัดไป",
"seg_merge_prev": "รวมกับส่วนก่อนหน้า",
"seg_undo": "เลิกทำ",
"seg_redo": "ทำซ้ำ",
"seg_click": "การกระทำหลัก",
"seg_shiftClick": "เลือกช่วง",
"trimmer": "เครื่องตัดเสียง",
"trim_playPause": "ดูตัวอย่างการเล่น / หยุดชั่วคราว",
"trim_nudgeStart": "ดันที่จับสตาร์ท",
"trim_nudgeEnd": "ด้ามจับปลายเขยิบ",
"trim_fineNudge": "สะกิดได้ดี",
"trim_coarseNudge": "เขยิบหยาบ",
"trim_zoomIn": "ซูมเข้า / ออก",
"trim_fitAll": "พอดีทั้งหมด / การเลือกพอดี",
"trim_confirm": "ยืนยันการตัดแต่ง",
"dub": "พากย์",
"dub_generate": "สร้างพากย์",
"dub_sidebar": "สลับแถบด้านข้าง"
},
"checkpoint": {
"timing_review": "ต้องตรวจสอบเวลาของ {{count}} ช่วง",
"asr_title": "ทรานสคริปต์พร้อม",
"asr_cta": "แปล",
"asr_hint": "แก้ไขข้อผิดพลาด ASR ทันที การใช้ถ้อยคำที่รัดกุมจะช่วยบันทึกความพยายามของ TTS ในภายหลัง",
"translate_title": "แปลพร้อมแล้ว",
"translate_cta": "สร้างพากย์",
"translate_hint": "ข้ามข้อความเป้าหมาย เส้นที่ยาวเกินจะถูกเพิ่มความเร็ว คุณสามารถแก้ไขได้โดยตรง",
"done_title": "พากย์เสร็จแล้ว",
"done_hint": "ตรวจสอบระยะเวลาและอัตราส่วนการซิงค์ ปรับแต่งบรรทัดใดก็ได้แล้วกด \"Regen changes\" เพื่อการทำซ้ำบางส่วนอย่างรวดเร็ว",
"segment_one": "{{count}} ส่วน",
"segment_other": "{{count}} ส่วน",
"dismiss_title": "ยกเลิก — จะไม่ปรากฏขึ้นอีกสำหรับขั้นตอนนี้จนกว่าจะโหลดซ้ำ",
"timing_review_one": "ต้องตรวจสอบเวลาของ {{count}} ช่วง",
"timing_review_other": "ต้องตรวจสอบเวลาของ {{count}} ช่วง",
"timing_review_zero": "ต้องตรวจสอบเวลาของ {{count}} ช่วง",
"timing_review_two": "ต้องตรวจสอบเวลาของ {{count}} ช่วง",
"timing_review_few": "ต้องตรวจสอบเวลาของ {{count}} ช่วง",
"timing_review_many": "ต้องตรวจสอบเวลาของ {{count}} ช่วง"
},
"header": {
"memory_management": "การจัดการหน่วยความจำ",
"loaded_models": "โมเดลที่โหลดแล้ว",
"no_models": "ไม่มีการโหลดโมเดล",
"unload": "ยกเลิกการโหลด",
"flush_caches": "ล้างแคช",
"unload_all_flush": "ยกเลิกการโหลดทั้งหมด + ฟลัช"
},
"license": {
"title": "Supertonic-3 — การยอมรับใบอนุญาต",
"intro": "Supertonic-3 จัดส่งภายใต้ใบอนุญาตที่แตกต่างกันสองฉบับ โปรดตรวจสอบทั้งสองอย่างก่อนที่จะเปิดใช้งานเครื่องยนต์",
"sdk_heading": "รหัส SDK · MIT",
"sdk_desc": "SDK การอนุมาน Python (supertonic) ได้รับอนุญาตจาก MIT การใช้งานที่ได้รับอนุญาต รวมถึงเชิงพาณิชย์",
"read_mit": "อ่านใบอนุญาต MIT →",
"model_heading": "ตุ้มน้ำหนักโมเดล · OpenRAIL-M",
"model_desc": "ตุ้มน้ำหนักรุ่น Supertonic-3 ได้รับการเผยแพร่ภายใต้ใบอนุญาต OpenRAIL-M ใบอนุญาตนี้จำกัดการใช้งานเพื่อวัตถุประสงค์ที่ไม่เป็นอันตราย — ดูใบอนุญาตที่เชื่อมโยงเพื่อดูข้อจำกัดตามการใช้งานทั้งหมด",
"read_openrail": "อ่านใบอนุญาต OpenRAIL-M →",
"footer": "การคลิกยอมรับจะบันทึกการยอมรับของคุณในการตั้งค่าภายในเครื่องของ VoiceStudio และเปิดใช้งานกลไก การยอมรับของคุณจะถูกเก็บไว้ในเครื่องนี้เท่านั้น ไม่มีการรายงานไปยัง Supertone Inc. หรือบุคคลที่สามใดๆ",
"saving": "กำลังบันทึก...",
"accept": "ยอมรับ",
"accepted_toast": "ยอมรับใบอนุญาต Supertonic-3 แล้ว",
"accept_error": "ไม่สามารถบันทึกการยอมรับใบอนุญาต: {{message}}",
"pockettts_title": "การยอมรับสิทธิ์การใช้งาน PocketTTS",
"pockettts_intro": "PocketTTS ของ Kyutai เผยแพร่ภายใต้สัญญาอนุญาตสองฉบับ และน้ำหนักโมเดลยังมีเงื่อนไขการเข้าถึงบน Hugging Face โปรดตรวจสอบทั้งหมดก่อนเปิดใช้เอนจิน",
"pockettts_sdk_desc": "ไลบรารี Python pocket-tts ใช้สัญญาอนุญาต MIT ที่อนุญาตการใช้งานอย่างกว้างขวาง รวมถึงเชิงพาณิชย์",
"pockettts_model_heading": "น้ำหนักโมเดล (CC-BY-4.0)",
"pockettts_model_desc": "น้ำหนักโมเดล PocketTTS เผยแพร่ภายใต้ CC-BY-4.0 อนุญาตให้ใช้เชิงพาณิชย์เมื่อแสดงที่มา",
"read_cc_by": "อ่านสัญญาอนุญาต CC-BY-4.0",
"gate_heading": "การเข้าถึงแบบจำกัด",
"gate_desc": "น้ำหนักถูกจำกัดบน Hugging Face ก่อนดาวน์โหลดครั้งแรก คุณต้องมีบัญชีฟรี แชร์ข้อมูลติดต่อ และยอมรับเงื่อนไขการเข้าถึง",
"pockettts_conditions_desc": "เงื่อนไขห้ามใช้เสียงอย่างผิดกฎหมาย เป็นอันตราย หลอกลวง ฉ้อโกง ไม่ได้รับอนุญาต หรือไม่ได้รับความยินยอม โปรดอ่านเงื่อนไขฉบับเต็มก่อนดำเนินการต่อ",
"review_access_conditions": "ตรวจสอบเงื่อนไขการเข้าถึง",
"pockettts_footer": "เมื่อคลิกยอมรับ การรับทราบจะถูกบันทึกเฉพาะในการตั้งค่าภายในเครื่องของ VoiceStudio และเปิดใช้เอนจิน การเข้าถึงและดาวน์โหลดโมเดลใช้ Hugging Face ซึ่งจะได้รับข้อมูลคำขอและบัญชีตามปกติ",
"pockettts_accepted_toast": "ยอมรับเงื่อนไข PocketTTS แล้ว"
},
"engines": {
"selectCpuFallback": "{{engine}}: กำลังทำงานบน CPU — {{reason}}",
"selectWithCaveat": "สลับไปที่ {{engine}} — {{reason}}",
"acceptLicense": "ยอมรับใบอนุญาต",
"testEngine": "ทดสอบเครื่องยนต์",
"testing": "กำลังทดสอบ...",
"recheck": "ตรวจสอบอีกครั้ง",
"rechecking": "กำลังตรวจสอบอีกครั้ง...",
"failed": "ล้มเหลว",
"latencyMs": "{{ms}} มิลลิวินาที",
"none_ready_title": "การสังเคราะห์เสียงยังไม่พร้อม",
"none_ready_body": "VoiceStudio สามารถตั้งค่าตัวเลือกที่เข้ากันได้ดีที่สุดสำหรับอุปกรณ์นี้โดยอัตโนมัติ",
"active": "เอนจิน: {{name}}",
"none": "ไม่มีเอนจินที่ใช้งานอยู่"
},
"performanceProfile": {
"requiresEngine": "ติดตั้งและเลือก {{engine}} เพื่อปรับความเร็วและคุณภาพ",
"noTarget": "เอนจินที่เลือกไม่มีค่าความเร็วและคุณภาพที่ปรับได้",
"applied": "ใช้ {{tier}} แล้ว",
"max": "สูงสุด",
"maxHint": "ใช้โมเดลที่รองรับและทรงพลังที่สุดซึ่งติดตั้งไว้ในเครื่องนี้ การดาวน์โหลดยังคงทำด้วยตนเอง",
"title": "ความเร็ว / คุณภาพ",
"fast": "เร็ว",
"balanced": "สมดุล",
"quality": "คุณภาพ",
"hint": "ใช้กับการสุ่มตัวอย่างของ OmniVoice และการถอดรหัสของ Faster-Whisper / NLLB เอนจินอื่นจะคงการตั้งค่าปัจจุบันไว้"
},
"recording": {
"input_device": "อุปกรณ์อินพุต",
"default_input": "ค่าเริ่มต้นของระบบ",
"microphone_number": "ไมโครโฟน {{number}}",
"channels": "ช่องสัญญาณ",
"channels_auto": "อัตโนมัติ",
"channels_mono": "โมโน",
"channels_stereo": "สเตอริโอ",
"input_level": "ระดับอินพุตไมโครโฟน",
"input_detected": "ตรวจพบเสียง",
"no_input_detected": "ไม่พบเสียง",
"mic_denied": "การเข้าถึงไมโครโฟนถูกปฏิเสธ โปรดอนุญาตในการตั้งค่าความเป็นส่วนตัวของระบบแล้วลองอีกครั้ง",
"mic_not_found": "ไม่พบไมโครโฟน",
"mic_busy": "แอปอื่นกำลังใช้ไมโครโฟนอยู่",
"mic_error": "ไม่สามารถเริ่มบันทึกเสียงได้: {{message}}",
"loaded_raw": "โหลดการบันทึกแล้ว (ดิบ — ใช้การลดเสียงรบกวนไม่ได้)",
"too_short": "การบันทึกสั้นเกินไป",
"cleaned_loaded": "ลดเสียงรบกวนและโหลดการบันทึกแล้ว",
"recorder_unsupported": "ระบบนี้ไม่สามารถเข้ารหัสเสียงจากไมโครโฟนได้"
},
"tts_errors": {
"generation_in_progress": "มีการสร้างเสียงกำลังทำงานอยู่ — รอให้เสร็จก่อนเริ่มงานใหม่",
"error_prefix": "ข้อผิดพลาด: {{message}}",
"ignored_duplicate": "ละเว้น (หมวดหมู่ที่ตั้งไว้แล้ว): {{items}}",
"ignored_conflict": "ละเว้น {{items}} — ไม่สามารถใช้สำเนียงท้องถิ่นจีนและสำเนียงอังกฤษร่วมกันได้",
"enter_text": "กรุณากรอกข้อความ",
"upload_or_select": "อัปโหลดเสียงหรือเลือกโปรไฟล์เสียง",
"trim_hint": "เสียงคือ {{duration}}s — ตัดเป็น ≤{{max}}s เพื่อการโคลนที่ดีที่สุด",
"timeout": "การสร้างหมดเวลา — โมเดลอาจยังคงดาวน์โหลดอยู่ ตรวจสอบการตั้งค่า → บันทึก จากนั้นลองอีกครั้ง",
"ignored_unsupported": "ละเว้นคำสั่งที่ไม่สนับสนุน: {{items}}",
"too_long": "คลิปนี้คือ {{duration}}s. เอ็นจิ้นยอมรับ {{max}} ส่วนใหญ่โดยไม่มีการถอดเสียง",
"model_not_downloaded": "ยังไม่ได้ดาวน์โหลดโมเดลนี้ เปิดการตั้งค่าของแอปหลัก → เอ็นจิ้นเพื่อติดตั้ง",
"backend_unreachable": "ไม่สามารถเข้าถึงเครื่องยนต์ท้องถิ่นได้"
},
"network": {
"copied": "คัดลอกแล้ว",
"network": "เครือข่าย",
"switching": "กำลังเปลี่ยน...",
"stop_sharing": "หยุดแชร์",
"share_confirm_hint": "อุปกรณ์อื่นๆ บน Wi-Fi/Ethernet ของคุณจะสามารถเข้าถึง VoiceStudio ได้โดยใช้ PIN การเข้าถึงที่แสดงเมื่อเปิดใช้งาน",
"enabling": "กำลังเปิดใช้งาน...",
"enable": "เปิดใช้งาน",
"share_on_network": "แบ่งปันบนเครือข่ายของคุณ",
"no_interface": "ไม่มีอินเทอร์เฟซเครือข่ายที่สามารถเข้าถึงได้ — เชื่อมต่อกับ Wi-Fi/Ethernet",
"copy_link": "คัดลอกลิงก์",
"open_in_browser": "เปิดในเบราว์เซอร์",
"qr_alt": "คิวอาร์สำหรับ {{ip}}",
"pin": "พิน:"
},
"compute": {
"add_machine": "เพิ่มเครื่อง",
"manage": "การตั้งค่าผู้ปฏิบัติงานระยะไกล",
"off_hint": "ทุกอย่างทำงานบนเครื่องนี้ เปิดโหมดระยะไกลเพื่อใช้เครื่องอื่น",
"quick_settings": "การประมวลผล — งานรันที่ไหน",
"remote": "ระยะไกล",
"title": "งานรันที่ไหน",
"token_once": "สแกนหรือวางสิ่งนี้บนเครื่องอีกเครื่อง แสดงเพียงครั้งเดียว"
},
"repairAgent": {
"title": "ซ่อมแซมด้วยเอเจนต์",
"notInstalled": "ยังไม่ได้ติดตั้ง",
"noSource": "เปิดสำเนาซอร์สโค้ด VoiceStudio ที่เขียนได้เพื่อให้เอเจนต์ซ่อมแซม",
"noneFound": "ติดตั้ง Codex, Claude Code, OpenCode หรือ Pi เพื่อใช้การซ่อมแซมในเครื่อง",
"ready": "อธิบายปัญหา แล้ววินิจฉัยหรือแก้ไข",
"placeholder": "เกิดอะไรขึ้น? เพิ่มขั้นตอน ข้อผิดพลาดที่เห็น หรือพฤติกรรมที่คาดหวัง",
"prReady": "แก้ไขเสร็จแล้ว ตรวจสอบการเปลี่ยนแปลงและเสนอ PR เมื่อการทดสอบเฉพาะผ่าน",
"diagnose": "วินิจฉัย",
"fix": "แก้ไข",
"chooseDefault": "เลือกเอเจนต์ที่ VoiceStudio จะใช้โดยอัตโนมัติเมื่อหน้าจอนี้ขัดข้อง",
"useAutomatically": "ใช้ {{agent}} โดยอัตโนมัติ",
"captured": "บันทึกบรรทัดปัญหาจากล็อกแล้ว {{count}} บรรทัด",
"contextNotice": "เอเจนต์ที่เลือกจะได้รับรายงานนี้ หน้าจอปัจจุบัน บันทึกล่าสุดของแอปและแบ็กเอนด์ และข้อมูลวินิจฉัยระบบ",
"complete": "เสร็จสิ้น"
},
"dubIntegrity": {
"missingSpeech": "เสียงพูดหายไปหรืออ่านไม่ได้ สร้างช่วงที่มีปัญหาใหม่ก่อนส่งออก",
"timingOverflow": "เสียงพูดยาวเกินช่วงเวลาที่กำหนด ย่อคำแปลหรือเลือกช่วงเวลาแบบเคร่งครัดหรือยืดวิดีโอ",
"backgroundUnavailable": "ไม่สามารถรักษาเสียงต้นฉบับได้ ตรวจสอบการแยกเสียงพื้นหลังและเวลาบทสนทนาแล้วลองอีกครั้ง หรือเลือกส่งออกเฉพาะเสียงพูด"
},
"dubStyle": {
"label": "คำสั่งรูปแบบการแปล",
"help": "ระบุน้ำเสียง กลุ่มผู้ฟัง และแนวทางดัดแปลง เช่น รักษามุกตลกและปรับสำนวนให้เป็นธรรมชาติ บันทึกในโครงการและใช้ทั้งการแปลและปรับความยาวบท เว้นว่างเพื่อใช้รูปแบบเริ่มต้น"
},
"dubActivity": {
"output": "คำแปล",
"waiting": "ยังไม่ได้รับผลลัพธ์",
"progress": "ตรวจสอบแล้ว {{done}} / {{total}} ช่วง",
"cancelled": "ยกเลิกแล้ว",
"fitting": "กำลังปรับเวลา"
},
"sponsorSlot": {
"partner_heading": "เป็นพันธมิตรกับ VoiceStudio",
"partner_subtitle": "แนะนำผลิตภัณฑ์ของคุณให้ผู้ที่สร้างสรรค์ด้วยเสียง",
"app_placement": "แสดงในแอป",
"integration_page": "หน้าการเชื่อมต่อ",
"readme_exposure": "แสดงใน README",
"visibility": "การมองเห็น",
"integration": "การผสานรวมผลิตภัณฑ์",
"installs": "ติดตั้งโดยตรง",
"distribution": "การเผยแพร่สำหรับนักพัฒนา",
"partner": "พาร์ทเนอร์ที่ยืนยันแล้ว",
"privacy": "ความเป็นส่วนตัว",
"title": "รับการแนะนำบน VoiceStudio",
"description": "เพิ่มการมองเห็นแบรนด์ด้วยการสนับสนุนพื้นที่แนะนำแบบชำระเงิน",
"form": "แบบฟอร์ม Google",
"email": "อีเมล",
"book": "จองพื้นที่ของคุณ",
"preview": "ตัวอย่างผู้สนับสนุน",
"footer_brand": "แบรนด์ของคุณ",
"footer_book": "เพิ่มตอนนี้",
"email_template": "สวัสดีทีม VoiceStudio\n\nฉันต้องการร่วมมือกับ VoiceStudio และสอบถามพื้นที่แนะนำสำหรับแบรนด์ของฉัน\n\nแบรนด์ / ผลิตภัณฑ์:\nเว็บไซต์:\nการเชื่อมต่อหรือแคมเปญ:\nกลุ่มเป้าหมาย / ช่วงเวลา:\n\nขอทราบแพ็กเกจ ราคา ตัวเลือกการจัดวาง และข้อกำหนดทางเทคนิคที่มีได้ไหม? ฉันเข้าใจว่าพาร์ทเนอร์แบบแนะนำอาจรวมหน้าคู่มือ โลโก้ใน GitHub README พื้นที่ท้ายแอป และรายการในไดเรกทอรี Integrations\n\nขอบคุณ\n[ชื่อ]\n[ตำแหน่ง / บริษัท]\n[ช่องทางติดต่อ]",
"message": "แบรนด์ เว็บไซต์ และข้อความของคุณ",
"email_app": "เปิดแอปอีเมล",
"copy_email": "คัดลอกอีเมล",
"preview_detail": "โลโก้ ลิงก์ และคำแนะนำของคุณอาจปรากฏที่นี่"
},
"supportPlans": {
"remove": "ลบแถบผู้สนับสนุน",
"title": "เปรียบเทียบฟรีกับ Pro",
"free": "ฟรี",
"pro": "Pro",
"get_pro": "รับ Pro",
"sponsor_bar": "แถบผู้สนับสนุน",
"visible": "แสดง",
"hideable": "ซ่อนได้",
"unavailable": "ยังไม่ได้ตั้งค่าการเปิดใช้งาน Pro",
"telemetry": "ข้อมูลการใช้งาน",
"opt_in": "ไม่บังคับ ต้องยินยอมก่อน",
"disabled": "ปิดใช้งาน",
"badge": "ป้าย Pro",
"advanced": "เครื่องมือขั้นสูง",
"standard": "มาตรฐาน",
"included": "รวมอยู่ด้วย"
},
"integrationCatalog": {
"title": "การเชื่อมต่อ",
"featured": "แนะนำ",
"description": "ค้นพบการเชื่อมต่อและพันธมิตรแนะนำ"
},
"directoryExamples": {
"example": "ตัวอย่างในไดเรกทอรี",
"notice": "เป็นเพียงตัวอย่างในไดเรกทอรี ไม่ใช่ผู้สนับสนุนหรือการเชื่อมต่อที่เปิดใช้"
}
}