diff --git a/src/assets/locales/th.json b/src/assets/locales/th.json
index 0967ef42..0befa67f 100644
--- a/src/assets/locales/th.json
+++ b/src/assets/locales/th.json
@@ -1 +1,420 @@
-{}
+{
+ "about": {
+ "description": "Movie-web เป็นเว็บแอปพลิเคชันที่ค้นหาสตรีมทางอินเทอร์เน็ต ทีมงานตั้งเป้าไปที่แนวทางการบริโภคเนื้อหาแบบมินิมอลเป็นส่วนใหญ่",
+ "faqTitle": "คําถามทั่วไป",
+ "q1": {
+ "body": "Movie-web ไม่ได้เป็นเจ้าของเนื้อหาใด ๆ เมื่อคุณคลิกที่บางสิ่งเพื่อดู อินเทอร์เน็ตจะถูกค้นหาสื่อที่เลือก (บนหน้าจอโหลดและในแท็บ 'แหล่งวิดีโอ' คุณจะเห็นว่าคุณกําลังใช้แหล่งใด) สื่อไม่เคยถูกอัปโหลดโดย movie-web ทุกอย่างผ่านกลไกการค้นหานี้",
+ "title": "เนื้อหามาจากที่ไหน?"
+ },
+ "q2": {
+ "body": "ไม่สามารถขอซีรี่ย์หรือภาพยนตร์ได้ movie-web ไม่ได้จัดการเนื้อหาใด ๆ เนื้อหาทั้งหมดถูกดูผ่านแหล่งข้อมูลบนอินเทอร์เน็ต",
+ "title": "ฉันจะขอซีรี่ย์หรือภาพยนตร์ได้ที่ไหน?"
+ },
+ "q3": {
+ "body": "ผลการค้นหาของเราขับเคลื่อนโดย The Movie Database (TMDB) และจะแสดงไม่ว่าแหล่งข้อมูลของเราจะมีเนื้อหาจริงหรือไม่",
+ "title": "ผลการค้นหาซีรี่ย์หรือภาพยนตร์ ทําไมฉันถึงเล่นไม่ได้?"
+ },
+ "title": "เกี่ยวกับ movie-web"
+ },
+ "actions": {
+ "copied": "คัดลอกแล้ว",
+ "copy": "คัดลอก"
+ },
+ "auth": {
+ "createAccount": "ยังไม่มีบัญชีใช่หรือไม่?<0>สร้างบัญชี0>",
+ "deviceNameLabel": "ชื่ออุปกรณ์",
+ "deviceNamePlaceholder": "โทรศัพท์ส่วนบุคคล",
+ "generate": {
+ "description": "รหัสผ่านของคุณถูกตั้งเช่นเดียวกับชื่อผู้ใช้และรหัสผ่าน โปรดตรวจสอบให้แน่ใจว่ารหัสผ่านของคุณถูกเก็บอย่างปลอดภัย คุณจำเป็นต้องใช้เพื่อเข้าสู่ระบบบัญชีของคุณ",
+ "next": "ฉันบันทึกรหัสผ่านของฉันแล้ว",
+ "title": "หรัสผ่านของคุณ"
+ },
+ "hasAccount": "คุณมีบัญชีแล้วหรือไม่? <0>เข้าสู่ระบบที่นี่.0>",
+ "login": {
+ "description": "โปรดป้อนสหัสผ่านของคุณเพื่อเข้าสู่ระบบ",
+ "deviceLengthError": "โปรดป้อนชื่ออุปกรณ์ของคุณ",
+ "passphraseLabel": "หรัสผ่าน 12 ตัว",
+ "passphrasePlaceholder": "หรัสผ่าน",
+ "submit": "เข้าสู่ระบบ",
+ "title": "เข้าสู่ระบบบัญชีของคุณที่นี่",
+ "validationError": "รหัสผ่านไม่ถูกต้อง หรือ รหัสผ่านไม่สมบูรณ์"
+ },
+ "register": {
+ "information": {
+ "color1": "สีโปรไฟล์ 1",
+ "color2": "สีโปรไฟล์ 2",
+ "header": "โปรดใส่ชื่ออุปกรณ์ของคุณและเลือกสีจากนั้นเลือกสัญลักษณ์ผู้ใช้ที่คุณต้องการ",
+ "icon": "สัญลักษณ์ผู้ใช้",
+ "next": "ต่อไป",
+ "title": "ข้อมูลบัญชี"
+ }
+ },
+ "trust": {
+ "failed": {
+ "text": "คุณทำตามขั้นตอนอย่างถูกต้องหรือไม่?",
+ "title": "การเข้าสู่ระบบล้มเหลว"
+ },
+ "host": "คุณกำลังเชื่อมต่อกับ <0>{{hostname}}0> - โปรดกดตกลงเชื่อถือเครือข่ายนี้ก่อนสร้างบัญชี",
+ "no": "ย้อนกลับ",
+ "title": "คุณเชื่อเครือข่ายนี้หรือไม่?",
+ "yes": "ฉันเชื่อเครือข่ายนี้"
+ },
+ "verify": {
+ "description": "โปรดป้อนรหัสผ่านก่อนหน้านี้ของคุณ เพื่อยืนยันว่าคุณได้บันทึกและเพื่อสร้างบัญชีของคุณ",
+ "invalidData": "ข้อไม่ถูกต้อง",
+ "noMatch": "รหัสผ่านไม่ตรงกัน",
+ "passphraseLabel": "รหัสผ่าน 12 ตัว ของคุณ",
+ "recaptchaFailed": "การตรวจสอบล้มเหลว",
+ "register": "สร้างบัญชี",
+ "title": "ยืนยันรหัสผ่านของคุณ"
+ }
+ },
+ "errors": {
+ "badge": "ไม่สามารถใช้งานได้",
+ "details": "ข้อมูลผิดพลาด",
+ "reloadPage": "โหลดหน้าใหม่",
+ "showError": "แสดงข้อมูลที่ผิดพลาด",
+ "title": "เราพบข้อผิดพลาด!"
+ },
+ "footer": {
+ "legal": {
+ "disclaimer": "ข้อจํากัดความรับผิดชอบ",
+ "disclaimerText": "Movie-web ไม่ได้เป็นเจ้าของไฟล์ใด ๆ เป็นเพียงลิงก์ไปยังบริการของบุคคลที่สาม ประเด็นทางกฎหมายควรดําเนินการกับเจ้าของไฟล์ และผู้ให้บริการ movie-web ไม่รับผิดชอบต่อไฟล์สื่อใด ๆ ที่แสดงโดยผู้ให้บริการวิดีโอ"
+ },
+ "links": {
+ "discord": "Discord",
+ "dmca": "DMCA",
+ "github": "GitHub"
+ },
+ "tagline": "ดูรายการซีรี่ย์และภาพยนตร์ที่คุณชื่นชอบด้วยแอปสตรีมนี้"
+ },
+ "global": {
+ "name": "movie-web",
+ "pages": {
+ "about": "เกี่ยวกับ",
+ "dmca": "DMCA",
+ "login": "เข้าสู่ระบบ",
+ "pagetitle": "{{title}} - movie-web",
+ "register": "ลงทะเบียน",
+ "settings": "ตั้งค่า"
+ }
+ },
+ "home": {
+ "bookmarks": {
+ "sectionTitle": "รายการของฉัน"
+ },
+ "continueWatching": {
+ "sectionTitle": "ดูต่อ"
+ },
+ "mediaList": {
+ "stopEditing": "หยุดแก้ไข"
+ },
+ "search": {
+ "allResults": "นั่นคือทั้งหมดที่เรามี!",
+ "failed": "ไม่พบสื่อนี้ ลองอีกครั้ง!",
+ "loading": "กำลังโหลด..",
+ "noResults": "เราไม่พบอะไรเลย!",
+ "placeholder": "คุณอยากดูอะไรคะ?",
+ "sectionTitle": "ผลการค้นหา"
+ },
+ "titles": {
+ "day": {
+ "default": "คุณอยากดูเรื่องอะไรในช่วงบ่ายนี้?"
+ },
+ "morning": {
+ "default": "คุณอยากดูอะไรเช้านี้?",
+ "extra": [
+ "ฉันได้ยินมาว่าเรื่อง Before Sunrise สนุก"
+ ]
+ },
+ "night": {
+ "default": "คุณอยากดูเรื่องอะไรในช่วงค่ำ?",
+ "extra": [
+ "เหนื่อยมั้ย? ฉันได้ยินมาว่า The Exorcist นั้นดี"
+ ]
+ }
+ }
+ },
+ "media": {
+ "episodeDisplay": "ภ{{season}} ต{{episode}}",
+ "types": {
+ "movie": "ภาพยนตร์",
+ "show": "ซีรี่ย์"
+ }
+ },
+ "navigation": {
+ "banner": {
+ "offline": "ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณ"
+ },
+ "menu": {
+ "about": "เกี่ยวกับเรา",
+ "donation": "บริจาค",
+ "logout": "ออกจากระบบ",
+ "register": "เชื่อมต่อกับคลาวด์",
+ "settings": "ตั้งค่า",
+ "support": "ช่วยเหลือ"
+ }
+ },
+ "notFound": {
+ "badge": "ไม่พบ",
+ "goHome": "กลับไปที่หน้าหลัก",
+ "message": "เรามองหาทั่วทุกที่แล้ว : ใต้ถังขยะ ในตู้เสื้อผ้า และข้างหลังพร็อกซิ แต่เราไม่พบหน้าที่คุณตามหา",
+ "title": "ไม่พบหน้านั้น"
+ },
+ "overlays": {
+ "close": "ปิด"
+ },
+ "player": {
+ "back": {
+ "default": "กลับไปที่หน้าหลัก",
+ "short": "กลับ"
+ },
+ "casting": {
+ "enabled": "เชื่อมต่ออุปกรณ์.."
+ },
+ "menus": {
+ "captions": {
+ "customChoice": "เลือกคําบรรยายจากไฟล์",
+ "customizeLabel": "ปรับแต่ง",
+ "offChoice": "ปิด",
+ "settings": {
+ "delay": "คําบรรยายล่าช้า",
+ "fixCapitals": "แก้ไขตัวพิมพ์ใหญ่"
+ },
+ "title": "คําบรรยาย",
+ "unknownLanguage": "ไม่ทราบ"
+ },
+ "downloads": {
+ "disclaimer": "การดาวน์โหลดจะถูกนํามาจากผู้ให้บริการโดยตรง movie-web ไม่สามารถควบคุมวิธีการดาวน์โหลดได้",
+ "downloadCaption": "ดาวน์โหลดคำบรรยายปัจจุบัน",
+ "downloadVideo": "ดาวน์โหลดวิดีโอ",
+ "hlsExplanation": "สื่อนี้เป็นสตรีม HLS ซึ่งไม่สามารถดาวน์โหลดบนเว็บภาพยนตร์ได้",
+ "onAndroid": {
+ "1": "หากต้องการดาวน์โหลดบน Android ให้คลิกปุ่มดาวน์โหลด จากนั้นในหน้าใหม่ แตะ บนวิดีโอค้างไว้ จากนั้นเลือก บันทึก",
+ "shortTitle": "ดาวน์โหลด / Android",
+ "title": "กําลังดาวน์โหลดบน Android"
+ },
+ "onIos": {
+ "1": "หากต้องการดาวน์โหลดบน iOS ให้คลิกปุ่มดาวน์โหลด จากนั้นในหน้าใหม่ ให้คลิก จากนั้น บันทึกลงในไฟล์ ",
+ "shortTitle": "ดาวน์โหลด / iOS",
+ "title": "กําลังดาวน์โหลดบน iOS"
+ },
+ "onPc": {
+ "1": "คลิกปุ่มดาวน์โหลดบนคอมพิวเตอร์ จากนั้นในหน้าใหม่ คลิกขวาที่วิดีโอแล้วเลือก บันทึกวิดีโอเป็น",
+ "shortTitle": "ดาวน์โหลด / คอมพิวเตอร์",
+ "title": "กําลังดาวน์โหลดบนคอมพิวเตอร์"
+ },
+ "title": "ดาวน์โหลด"
+ },
+ "episodes": {
+ "button": "ตอน",
+ "emptyState": "ไม่มีตอนเหล่านี้ในภาคนี้ โปรดกลับมาดูทีหลัง!",
+ "episodeBadge": "ต{{episode}}",
+ "loadingError": "การโหลดภาคผิดพลาด",
+ "loadingList": "กำลังโหลด…",
+ "loadingTitle": "กำลังโหลด…"
+ },
+ "playback": {
+ "speedLabel": "ความเร็วในการเล่น",
+ "title": "การตั้งค่าการเล่น"
+ },
+ "quality": {
+ "automaticLabel": "คุณภาพอัตโนมัติ",
+ "hint": "คุณสามารถลอง <0>สลับแหล่งที่มา0> เพื่อรับตัวเลือกคุณภาพที่แตกต่างกัน",
+ "iosNoQuality": "เนื่องจากข้อจํากัดที่กําหนดโดย Apple การเลือกคุณภาพจึงไม่พร้อมใช้งานบน iOS สําหรับแหล่งข้อมูลนี้ คุณสามารถลอง <0>สลับไปยังแหล่งอื่น0> เพื่อรับตัวเลือกคุณภาพที่แตกต่างกัน",
+ "title": "คุณภาพ"
+ },
+ "settings": {
+ "captionItem": "การตั้งค่าคําบรรยาย",
+ "downloadItem": "ดาวน์โหลด",
+ "enableCaptions": "เปิดใช้งานคําบรรยาย",
+ "experienceSection": "ประสบการณ์รับชม",
+ "playbackItem": "ตั้งค่าการเล่น",
+ "qualityItem": "คุณภาพ",
+ "sourceItem": "แหล่งที่มาของวิดีโอ",
+ "videoSection": "ตั้งค่าวิดีโอ"
+ },
+ "sources": {
+ "failed": {
+ "text": "มีข้อผิดพลาดขณะพยายามค้นหาวิดีโอ โปรดลองใช้แหล่งอื่น",
+ "title": "ค้นหาไม่พบ"
+ },
+ "noEmbeds": {
+ "text": "เราไม่พบการฝังใด ๆ โปรดลองใช้แหล่งอื่น",
+ "title": "ไม่พบการฝัง"
+ },
+ "noStream": {
+ "text": "แหล่งที่มานี้ไม่มีสตรีมสำหรับภาพยนตร์หรือซีรี่ย์เรื่องนี้",
+ "title": "ไม่มีสตรีม"
+ },
+ "title": "แหล่งที่มา",
+ "unknownOption": "ไม่ทราบ"
+ }
+ },
+ "metadata": {
+ "failed": {
+ "badge": "ล้มเหลว",
+ "homeButton": "กลับหน้าหลัก",
+ "text": "ไม่สามารถโหลดข้อมูล meta ของสื่อจาก TMDB ได้ โปรดตรวจสอบว่า TMDB ล่มหรือถูกบล็อกในการเชื่อมต่ออินเทอร์เน็ตของคุณ",
+ "title": "โหลดข้อมูล meta ไม่สำเร็จ"
+ },
+ "notFound": {
+ "badge": "ไม่พบ",
+ "homeButton": "กลับไปที่หน้าหลัก",
+ "text": "เราไม่พบสื่อที่คุณร้องขอ ไม่ว่าจะถูกลบออก หรือคุณดัดแปลงกับ URL",
+ "title": "ไม่พบสื่อ"
+ }
+ },
+ "nextEpisode": {
+ "cancel": "ยกเลิก",
+ "next": "ตอนต่อไป"
+ },
+ "playbackError": {
+ "badge": "เกิดข้อผิดพลาดในการเล่น",
+ "errors": {
+ "errorAborted": "การดึงข้อมูลสื่อถูกยกเลิกโดยคําขอของผู้ใช้",
+ "errorDecode": "แม้จะได้รับการพิจารณาก่อนหน้านี้ว่าใช้งานได้ แต่เกิดข้อผิดพลาดขณะพยายามถอดรหัสทรัพยากรสื่อ จึงส่งผลให้เกิดข้อผิดพลาด",
+ "errorGenericMedia": "เกิดข้อผิดพลาดของสื่อที่ไม่รู้จัก",
+ "errorNetwork": "เกิดข้อผิดพลาดของเครือข่ายบางประเภทซึ่งทําให้ไม่สามารถดึงสื่อได้สําเร็จ แม้ว่าจะเคยใช้งานมาก่อนก็ตาม",
+ "errorNotSupported": "ไม่รองรับสื่อหรือวัตถุของผู้ให้บริการสื่อ"
+ },
+ "homeButton": "กลับหน้าหลัก",
+ "text": "เกิดข้อผิดพลาดในการเล่นวิดีโอ โปรดลองอีกครั้ง",
+ "title": "เกิดข้อผิดพลาดในการเล่นวิดีโอ!"
+ },
+ "scraping": {
+ "items": {
+ "failure": "เกิดข้อผิดพลาด",
+ "notFound": "ไม่มีวิดีโอ",
+ "pending": "กำลังตรวจสอบวิดีโอ…"
+ },
+ "notFound": {
+ "badge": "ไม่พบ",
+ "detailsButton": "แสดงรายละเอียด",
+ "homeButton": "กลับหน้าหลัก",
+ "text": "เราได้ค้นหาผ่านผู้ให้บริการของเราและไม่พบสื่อที่คุณกําลังมองหา! เราไม่ได้เป็นเจ้าของสื่อและไม่สามารถควบคุมสิ่งที่ไม่มีอยู่ได้ โปรดคลิก “แสดงรายละเอียด” ด้านล่างสําหรับรายละเอียดเพิ่มเติม",
+ "title": "เราไม่พบสิ่งนั้น"
+ }
+ },
+ "time": {
+ "regular": "{{timeWatched}} / {{duration}}",
+ "remaining": "{{timeLeft}} หมดเวลา • สิ้นสุดใน {{timeFinished, datetime}}",
+ "shortRegular": "{{timeWatched}}",
+ "shortRemaining": "-{{timeLeft}}"
+ }
+ },
+ "screens": {
+ "dmca": {
+ "text": "ยินดีต้อนรับสู่หน้าติดต่อ DMCA ของ movie-web! เราเคารพสิทธิ์ในทรัพย์สินทางปัญญาและต้องการแก้ไขข้อกังวลด้านลิขสิทธิ์อย่างรวดเร็ว หากคุณเชื่อว่างานที่มีลิขสิทธิ์ของคุณถูกใช้อย่างไม่เหมาะสมบนแพลตฟอร์มของเรา โปรดส่งประกาศ DMCA โดยละเอียดไปยังอีเมลด้านล่าง โปรดระบุคําอธิบายของเนื้อหาที่มีลิขสิทธิ์ รายละเอียดการติดต่อของคุณ และคําแถลงความเชื่อด้วยความสุจริต เรามุ่งมั่นที่จะแก้ไขเรื่องเหล่านี้อย่างทันท่วงทีและขอขอบคุณสําหรับความร่วมมือของคุณในการทําให้ movie-web เป็นสถานที่ที่เคารพความคิดสร้างสรรค์และลิขสิทธิ์",
+ "title": "DMCA"
+ },
+ "loadingApp": "กําลังโหลดแอปพลิเคชัน",
+ "loadingUser": "กําลังโหลดโปรไฟล์ของคุณ",
+ "loadingUserError": {
+ "logout": "ออกจากระบบ",
+ "reset": "รีเซ็ตเซิร์ฟเวอร์ที่กําหนดเอง",
+ "text": "โหลดโปรไฟล์ของคุณไม่สําเร็จ",
+ "textWithReset": "โหลดโปรไฟล์ของคุณจากเซิร์ฟเวอร์ที่กําหนดเองไม่สําเร็จ ต้องการย้อนกลับไปที่เซิร์ฟเวอร์เริ่มต้นหรือไม่?"
+ },
+ "migration": {
+ "failed": "ไม่สามารถโยกย้ายข้อมูลของคุณได้",
+ "inProgress": "โปรดรอสักครู่ เรากําลังย้ายข้อมูลของคุณ สิ่งนี้ไม่ควรใช้เวลานาน"
+ }
+ },
+ "settings": {
+ "account": {
+ "accountDetails": {
+ "deviceNameLabel": "ชื่ออุปกรณ์",
+ "deviceNamePlaceholder": "โทรศัพท์ส่วนบุคคล",
+ "editProfile": "แก้ไข",
+ "logoutButton": "ออกจากระบบ"
+ },
+ "actions": {
+ "delete": {
+ "button": "ลบบัญชี",
+ "confirmButton": "ลบบัญชี",
+ "confirmDescription": "คุณแน่ใจหรือไม่ว่าต้องการลบบัญชีของคุณ? ข้อมูลทั้งหมดของคุณจะหายไป!",
+ "confirmTitle": "คุณแน่ใจใช่หรือไม่?",
+ "text": "การกระทํานี้ไม่สามารถย้อนกลับได้ ข้อมูลทั้งหมดจะถูกลบและไม่มีอะไรสามารถกู้คืนได้",
+ "title": "ลบบัญชี"
+ },
+ "title": "พฤติกรรม"
+ },
+ "devices": {
+ "deviceNameLabel": "ชื่ออุปกรณ์",
+ "failed": "โหลดเซสชันไม่สำเร็จ",
+ "removeDevice": "ลบ",
+ "title": "อุปกรณ์"
+ },
+ "profile": {
+ "finish": "แก้ไขสำเสร็จ",
+ "firstColor": "สีของโปรไฟล์ 1",
+ "secondColor": "สีของโปรไฟล์ 2",
+ "title": "แก้ไขรูปโปรไฟล์",
+ "userIcon": "สัญลักษณ์ผู้ใช้"
+ },
+ "register": {
+ "cta": "เริ่มเลย",
+ "text": "แบ่งปันความคืบหน้าการรับชมระหว่างอุปกรณ์และเชื่อมต่อเข้าด้วยกัน",
+ "title": "เชื่อมต่อกับคลาวด์"
+ },
+ "title": "บัญชี"
+ },
+ "appearance": {
+ "activeTheme": "ใช้งาน",
+ "themes": {
+ "blue": "ฟ้า",
+ "default": "ค่าเริ่มต้น",
+ "gray": "เทา",
+ "red": "แดง",
+ "teal": "เขียวแกมน้ำเงิน"
+ },
+ "title": "ธีม"
+ },
+ "captions": {
+ "backgroundLabel": "ความทึบของพื้นหลัง",
+ "colorLabel": "สี",
+ "previewQuote": "ข้าต้องไม่กลัว ความกลัวจักพิฆาตจิตใจ",
+ "textSizeLabel": "ขนาดตัวหนังสือ",
+ "title": "คำบรรยาย"
+ },
+ "connections": {
+ "server": {
+ "description": "หากคุณต้องการเชื่อมต่อกับ backend ที่กําหนดเองเพื่อจัดเก็บข้อมูลของคุณ ให้เปิดใช้งานสิ่งนี้และระบุ URL",
+ "label": "กำหนดเซิร์ฟเวอร์เอง",
+ "urlLabel": "กําหนด URL เซิร์ฟเวอร์เอง"
+ },
+ "title": "การเชื่อมต่อ",
+ "workers": {
+ "addButton": "เพิ่มผู้ช่วยใหม่",
+ "description": "เพื่อให้แอปพลิเคชันทํางาน การรับส่งข้อมูลทั้งหมดจะถูกส่งผ่านพร็อกซี่ เปิดใช้งานสิ่งนี้หากคุณต้องการนำเข้างานของคุณเอง",
+ "emptyState": "ยังไม่มีลูกทีม เพิ่มหนึ่งคนด้านล่าง",
+ "label": "ใช้พร็อกซี่แบบกําหนดเอง",
+ "urlLabel": "ลูกทีม URLs",
+ "urlPlaceholder": "https://"
+ }
+ },
+ "locale": {
+ "language": "ภาษา",
+ "languageDescription": "ภาษาที่ใช้กับแอปพลิเคชันทั้งหมด",
+ "title": "ตำแหน่งที่ตั้ง"
+ },
+ "reset": "เริ่มใหม่",
+ "save": "บันทึก",
+ "sidebar": {
+ "info": {
+ "appVersion": "เวอร์ชันแอป",
+ "backendUrl": "ระบบจัดการเว็บไซต์ URL",
+ "backendVersion": "เวอร์ชันหลัก",
+ "hostname": "ชื่อผู้ใช้",
+ "insecure": "ไม่ปลอดภัย",
+ "notLoggedIn": "คุณไม่ได้เข้าสู่ระบบ",
+ "secure": "ความปลอดภัย",
+ "title": "ข้อมูลแอปพลิเคชัน",
+ "unknownVersion": "ไม่ทราบ",
+ "userId": "รหัสผู้ใช้"
+ }
+ },
+ "unsaved": "คุณได้บันทึกการเปลี่ยนแปลงแล้ว"
+ }
+}