import type { TranslationStrings } from '../types'; const admin: TranslationStrings = { 'admin.notifications.title': 'การแจ้งเตือน', 'admin.notifications.hint': 'เลือกช่องทางการแจ้งเตือนหนึ่งช่องทาง สามารถใช้งานได้ครั้งละหนึ่งรายการเท่านั้น', 'admin.notifications.none': 'ปิดการใช้งาน', 'admin.notifications.email': 'อีเมล์ (SMTP)', 'admin.notifications.webhook': 'เว็บฮุค', 'admin.notifications.ntfy': 'เอ็นทีฟี่', 'admin.ntfy.hint': 'อนุญาตให้ผู้ใช้กำหนดค่าหัวข้อ ntfy ของตนเองสำหรับการแจ้งเตือนแบบพุช ตั้งค่าเซิร์ฟเวอร์เริ่มต้นด้านล่างเพื่อกรอกการตั้งค่าผู้ใช้ล่วงหน้า', 'admin.notifications.save': 'บันทึกการตั้งค่าการแจ้งเตือน', 'admin.notifications.saved': 'บันทึกการตั้งค่าการแจ้งเตือนแล้ว', 'admin.notifications.testWebhook': 'ส่งเว็บฮุคทดสอบ', 'admin.notifications.testWebhookSuccess': 'ส่งเว็บฮุคทดสอบเรียบร้อยแล้ว', 'admin.notifications.testWebhookFailed': 'การทดสอบเว็บฮุคล้มเหลว', 'admin.notifications.testNtfy': 'ส่งการทดสอบ ntfy', 'admin.notifications.testNtfySuccess': 'ทดสอบการส่ง ntfy สำเร็จ', 'admin.notifications.testNtfyFailed': 'การทดสอบ ntfy ล้มเหลว', 'admin.notifications.emailPanel.title': 'อีเมล์ (SMTP)', 'admin.notifications.webhookPanel.title': 'เว็บฮุค', 'admin.notifications.webPushPanel.title': 'เว็บพุช', 'admin.notifications.webPushPanel.hint': 'ให้ผู้ใช้รับการแจ้งเตือนบนโทรศัพท์และคอมพิวเตอร์ผ่านเบราว์เซอร์ได้ แม้ในขณะที่ปิด TREK อยู่ ต้องใช้ HTTPS และบน iPhone และ iPad ต้องเพิ่ม TREK ไปยังหน้าจอโฮม', 'admin.notifications.inappPanel.title': 'ในแอป', 'admin.notifications.inappPanel.hint': 'การแจ้งเตือนในแอปจะทำงานอยู่เสมอและไม่สามารถปิดใช้งานได้ทั่วโลก', 'admin.notifications.adminWebhookPanel.title': 'แอดมินเว็บฮุค', 'admin.notifications.adminWebhookPanel.hint': 'เว็บฮุคนี้ใช้สำหรับการแจ้งเตือนของผู้ดูแลระบบโดยเฉพาะ (เช่น การแจ้งเตือนเวอร์ชัน) แยกจาก webhooks ต่อผู้ใช้และจะเริ่มทำงานเสมอเมื่อตั้งค่า', 'admin.notifications.adminWebhookPanel.saved': 'บันทึก URL ของเว็บฮุคของผู้ดูแลระบบแล้ว', 'admin.notifications.adminWebhookPanel.testSuccess': 'ส่งเว็บฮุคทดสอบเรียบร้อยแล้ว', 'admin.notifications.adminWebhookPanel.testFailed': 'การทดสอบเว็บฮุคล้มเหลว', 'admin.notifications.adminWebhookPanel.alwaysOnHint': 'Admin webhook จะเริ่มทำงานเสมอเมื่อมีการกำหนดค่า URL', 'admin.notifications.adminNtfyPanel.title': 'แอดมิน Ntfy', 'admin.notifications.adminNtfyPanel.hint': 'หัวข้อ ntfy นี้ใช้สำหรับการแจ้งเตือนของผู้ดูแลระบบโดยเฉพาะ (เช่น การแจ้งเตือนเวอร์ชัน) แยกจากหัวข้อต่อผู้ใช้และเริ่มทำงานเสมอเมื่อมีการกำหนดค่า', 'admin.notifications.adminNtfyPanel.serverLabel': 'URL เซิร์ฟเวอร์ ntfy', 'admin.notifications.adminNtfyPanel.serverHint': 'ยังใช้เป็นเซิร์ฟเวอร์เริ่มต้นสำหรับการแจ้งเตือนผู้ใช้ ntfy เว้นว่างไว้เป็นค่าเริ่มต้นเป็น ntfy.sh ผู้ใช้สามารถแทนที่สิ่งนี้ได้ในการตั้งค่าของตนเอง', 'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh', 'admin.notifications.adminNtfyPanel.topicLabel': 'หัวข้อผู้ดูแลระบบ', 'admin.notifications.adminNtfyPanel.topicPlaceholder': 'การแจ้งเตือนผู้ดูแลระบบ Trek', 'admin.notifications.adminNtfyPanel.tokenLabel': 'โทเค็นการเข้าถึง (ไม่จำเป็น)', 'admin.notifications.adminNtfyPanel.tokenCleared': 'ล้างโทเค็นการเข้าถึงของผู้ดูแลระบบแล้ว', 'admin.notifications.adminNtfyPanel.saved': 'บันทึกการตั้งค่าผู้ดูแลระบบแล้ว', 'admin.notifications.adminNtfyPanel.test': 'ส่งการทดสอบ ntfy', 'admin.notifications.adminNtfyPanel.testSuccess': 'ทดสอบการส่ง ntfy สำเร็จ', 'admin.notifications.adminNtfyPanel.testFailed': 'การทดสอบ ntfy ล้มเหลว', 'admin.notifications.adminNtfyPanel.alwaysOnHint': 'ผู้ดูแลระบบ ntfy จะเริ่มทำงานเสมอเมื่อมีการกำหนดค่าหัวข้อ', 'admin.notifications.adminNotificationsHint': 'กำหนดค่าช่องทางที่จะส่งการแจ้งเตือนเฉพาะผู้ดูแลระบบเท่านั้น (เช่น การแจ้งเตือนเวอร์ชัน)', 'admin.notificationDefaults.title': 'ค่าเริ่มต้นสำหรับผู้ใช้', 'admin.notificationDefaults.hint': 'สถานะเริ่มต้นของการแจ้งเตือนของผู้ใช้แต่ละคน "ปิด" ผู้ใช้ยังเปิดเองได้ "บล็อก" จะปิดสำหรับทุกคนและแสดงเป็นล็อกในการตั้งค่าของพวกเขา ใช้กับทุกคนที่ยังไม่ได้เปลี่ยนช่องนั้นเอง', 'admin.notificationDefaults.on': 'เปิด', 'admin.notificationDefaults.off': 'ปิด', 'admin.notificationDefaults.blocked': 'บล็อก', 'admin.notificationDefaults.cycle': 'คลิกเพื่อเปลี่ยนเป็น: {next}', 'admin.notifications.tripReminders.title': 'การแจ้งเตือนการเดินทาง', 'admin.notifications.tripReminders.hint': 'ส่งการแจ้งเตือนก่อนที่การเดินทางจะเริ่มต้น (ต้องตั้งค่าวันเตือนความจำในการเดินทาง)', 'admin.notifications.tripReminders.enabled': 'เปิดใช้งานการแจ้งเตือนการเดินทางแล้ว', 'admin.notifications.tripReminders.disabled': 'ปิดใช้การแจ้งเตือนการเดินทางแล้ว', 'admin.smtp.title': 'อีเมลและการแจ้งเตือน', 'admin.smtp.hint': 'การกำหนดค่า SMTP สำหรับการส่งการแจ้งเตือนทางอีเมล', 'admin.smtp.testButton': 'ส่งอีเมลทดสอบ', 'admin.webhook.hint': 'อนุญาตให้ผู้ใช้กำหนดค่า URL ของเว็บฮุคของตนเองสำหรับการแจ้งเตือน (Discord, Slack ฯลฯ)', 'admin.smtp.testSuccess': 'ส่งอีเมลทดสอบเรียบร้อยแล้ว', 'admin.smtp.testFailed': 'อีเมลทดสอบล้มเหลว', 'admin.title': 'การบริหาร', 'admin.subtitle': 'การจัดการผู้ใช้และการตั้งค่าระบบ', 'admin.tabs.users': 'ผู้ใช้', 'admin.tabs.categories': 'หมวดหมู่', 'admin.tabs.backup': 'สำรองข้อมูล', 'admin.tabs.notifications': 'การแจ้งเตือน', 'admin.tabs.audit': 'การตรวจสอบ', 'admin.stats.users': 'ผู้ใช้', 'admin.stats.trips': 'ทริป', 'admin.stats.places': 'สถานที่', 'admin.stats.photos': 'ภาพถ่าย', 'admin.stats.files': 'ไฟล์', 'admin.table.user': 'ผู้ใช้', 'admin.table.email': 'อีเมล', 'admin.table.role': 'บทบาท', 'admin.table.created': 'สร้างแล้ว', 'admin.table.lastActive': 'ใช้งานล่าสุด', 'admin.table.actions': 'การดำเนินการ', 'admin.you': '(คุณ)', 'admin.editUser': 'แก้ไขผู้ใช้', 'admin.newPassword': 'รหัสผ่านใหม่', 'admin.newPasswordHint': 'เว้นว่างไว้เพื่อเก็บรหัสผ่านปัจจุบัน', 'admin.deleteUser': 'ลบผู้ใช้ "{name}" หรือไม่ บัญชีและทริปกับบันทึกการเดินทางทั้งหมดที่ผู้ใช้เป็นเจ้าของจะถูกลบถาวร รวมถึงทริปที่แชร์กับสมาชิกคนอื่น ซึ่งสมาชิกเหล่านั้นจะเข้าถึงไม่ได้อีก ทริปที่คนอื่นเป็นเจ้าของจะยังอยู่', 'admin.deleteUserTitle': 'ลบผู้ใช้', 'admin.newPasswordPlaceholder': 'ป้อนรหัสผ่านใหม่...', 'admin.toast.loadError': 'โหลดข้อมูลผู้ดูแลระบบไม่สำเร็จ', 'admin.toast.userUpdated': 'อัปเดตผู้ใช้แล้ว', 'admin.toast.updateError': 'อัปเดตไม่สำเร็จ', 'admin.toast.userDeleted': 'ลบผู้ใช้แล้ว', 'admin.toast.deleteError': 'ลบไม่สำเร็จ', 'admin.toast.cannotDeleteSelf': 'ไม่สามารถลบบัญชีของคุณเองได้', 'admin.toast.userCreated': 'ผู้ใช้สร้างขึ้น', 'admin.toast.createError': 'สร้างผู้ใช้ไม่สำเร็จ', 'admin.toast.fieldsRequired': 'จำเป็นต้องระบุชื่อผู้ใช้ อีเมล และรหัสผ่าน', 'admin.createUser': 'สร้างผู้ใช้', 'admin.invite.title': 'ลิงก์เชิญ', 'admin.invite.subtitle': 'สร้างลิงก์ลงทะเบียนที่ใช้ได้ครั้งเดียว', 'admin.invite.create': 'สร้างลิงก์', 'admin.invite.createAndCopy': 'สร้างและคัดลอก', 'admin.invite.empty': 'ยังไม่มีการสร้างลิงก์คำเชิญ', 'admin.invite.maxUses': 'สูงสุด การใช้งาน', 'admin.invite.expiry': 'หมดอายุหลัง', 'admin.invite.uses': 'ใช้แล้ว', 'admin.invite.expiresAt': 'หมดอายุ', 'admin.invite.createdBy': 'โดย', 'admin.invite.active': 'ใช้งานอยู่', 'admin.invite.expired': 'หมดอายุแล้ว', 'admin.invite.usedUp': 'ใช้หมดแล้ว', 'admin.invite.copied': 'คัดลอกลิงก์คำเชิญไปยังคลิปบอร์ดแล้ว', 'admin.invite.copyLink': 'คัดลอกลิงก์', 'admin.invite.deleted': 'ลบลิงก์คำเชิญแล้ว', 'admin.invite.createError': 'ไม่สามารถสร้างลิงก์คำเชิญได้', 'admin.invite.deleteError': 'ลบลิงก์คำเชิญไม่สำเร็จ', 'admin.tabs.settings': 'การตั้งค่า', 'admin.allowRegistration': 'อนุญาตให้ลงทะเบียน', 'admin.allowRegistrationHint': 'ผู้ใช้ใหม่สามารถลงทะเบียนด้วยตนเองได้', 'admin.authMethods': 'วิธีการรับรองความถูกต้อง', 'admin.passwordLogin': 'รหัสผ่านเข้าสู่ระบบ', 'admin.passwordLoginHint': 'อนุญาตให้ผู้ใช้ลงชื่อเข้าใช้ด้วยอีเมลและรหัสผ่าน', 'admin.passwordRegistration': 'การลงทะเบียนรหัสผ่าน', 'admin.passwordRegistrationHint': 'อนุญาตให้ผู้ใช้ใหม่ลงทะเบียนด้วยอีเมลและรหัสผ่าน', 'admin.oidcLogin': 'เข้าสู่ระบบ SSO', 'admin.oidcLoginHint': 'อนุญาตให้ผู้ใช้ลงชื่อเข้าใช้ด้วย SSO', 'admin.oidcRegistration': 'การจัดสรร SSO อัตโนมัติ', 'admin.oidcRegistrationHint': 'สร้างบัญชีสำหรับผู้ใช้ SSO ใหม่โดยอัตโนมัติ', 'admin.envOverrideHint': 'การตั้งค่าการเข้าสู่ระบบด้วยรหัสผ่านได้รับการควบคุมโดยตัวแปรสภาพแวดล้อม OIDC_ONLY และไม่สามารถเปลี่ยนแปลงได้ที่นี่', 'admin.lockoutWarning': 'ต้องเปิดใช้งานวิธีการเข้าสู่ระบบอย่างน้อยหนึ่งวิธี', 'admin.requireMfa': 'ต้องมีการรับรองความถูกต้องด้วยสองปัจจัย (2FA)', 'admin.requireMfaHint': 'ผู้ใช้ที่ไม่มี 2FA ต้องตั้งค่าในการตั้งค่าให้เสร็จสิ้นก่อนจึงจะใช้แอปได้', 'admin.apiKeys': 'คีย์ API', 'admin.apiKeysHint': 'ไม่จำเป็น เปิดใช้งานข้อมูลสถานที่แบบขยาย เช่น รูปภาพและสภาพอากาศ', 'admin.mapsKey': 'คีย์ Google Maps API', 'admin.mapsKeyHint': 'จำเป็นสำหรับการค้นหาสถานที่ รับที่ console.cloud.google.com', 'admin.mapsKeyHintLong': 'หากไม่มีคีย์ API ระบบจะใช้ OpenStreetMap ในการค้นหาสถานที่ หากเพิ่มคีย์ Google API คุณจะดูรูปภาพ คะแนน และเวลาเปิดทำการได้ คีย์นี้สร้างได้ที่ console.cloud.google.com', 'admin.recommended': 'แนะนำ', 'admin.weatherKey': 'คีย์ API ของ OpenWeatherMap', 'admin.weatherKeyHint': 'สำหรับข้อมูลสภาพอากาศ ฟรีที่ openweathermap.org', 'admin.unsplashKey': 'Unsplash คีย์ API', 'admin.unsplashKeyHint': 'สำหรับการค้นหาภาพ ฟรีที่ unsplash.com/developers', 'admin.validateKey': 'ทดสอบ', 'admin.keyValid': 'เชื่อมต่อแล้ว', 'admin.keyInvalid': 'ไม่ถูกต้อง', 'admin.keySaved': 'บันทึกคีย์ API แล้ว', 'admin.oidcTitle': 'การลงชื่อเพียงครั้งเดียว (OIDC)', 'admin.oidcSubtitle': 'อนุญาตให้เข้าสู่ระบบผ่านผู้ให้บริการภายนอก เช่น Google, Apple, Authentik หรือ Keycloak', 'admin.oidcDisplayName': 'ชื่อที่แสดง', 'admin.oidcIssuer': 'URL ของผู้ออก', 'admin.oidcIssuerHint': 'URL ผู้ออก OpenID Connect ของผู้ให้บริการ เช่น https://accounts.google.com', 'admin.oidcSaved': 'บันทึกการกำหนดค่า OIDC แล้ว', 'admin.oidcOnlyMode': 'ปิดการใช้งานการตรวจสอบรหัสผ่าน', 'admin.oidcOnlyModeHint': 'เมื่อเปิดใช้งาน จะอนุญาตเฉพาะการเข้าสู่ระบบ SSO เท่านั้น การเข้าสู่ระบบและการลงทะเบียนด้วยรหัสผ่านถูกบล็อก', 'admin.fileTypes': 'ประเภทไฟล์ที่อนุญาต', 'admin.fileTypesHint': 'กำหนดค่าประเภทไฟล์ที่ผู้ใช้สามารถอัปโหลดได้', 'admin.fileTypesFormat': 'ส่วนขยายที่คั่นด้วยเครื่องหมายจุลภาค (เช่น jpg,png,pdf,doc) ใช้ * เพื่ออนุญาตทุกประเภท', 'admin.fileTypesSaved': 'บันทึกการตั้งค่าประเภทไฟล์แล้ว', 'admin.placesPhotos.title': 'รูปภาพสถานที่', 'admin.placesPhotos.subtitle': 'ดึงรูปภาพจาก Google Places API ปิดใช้เพื่อบันทึกโควต้า API ภาพถ่ายวิกิมีเดียไม่ได้รับผลกระทบ', 'admin.placesAutocomplete.title': 'การเติมคำอัตโนมัติสำหรับสถานที่', 'admin.placesAutocomplete.subtitle': 'ใช้ Google Places API เพื่อแนะนำการค้นหา ปิดใช้เพื่อบันทึกโควต้า API', 'admin.placesDetails.title': 'รายละเอียดสถานที่', 'admin.placesDetails.subtitle': 'ดึงข้อมูลสถานที่โดยละเอียด (ชั่วโมง คะแนน เว็บไซต์) จาก Google Places API ปิดใช้เพื่อบันทึกโควต้า API', 'admin.placesEnrich.title': 'สถานที่เสริมคุณค่า', 'admin.placesEnrich.subtitle': 'แสดงรูปภาพและคำอธิบายขณะเพิ่มสถานที่ มีการใช้ Wikipedia และ OpenStreetMap เสมอ Google จะถูกเพิ่มไว้ด้านบนเมื่อเปิดรูปภาพสถานที่หรือรายละเอียดสถานที่', 'admin.placesGoogleOnly.title': 'ค้นหาด้วย Google เท่านั้น', 'admin.placesGoogleOnly.subtitle': 'ทุกการค้นหาและทุกคำแนะนำจะส่งไปที่ Google Places เมื่อปิด ดัชนีของ TREK เองและ OpenStreetMap จะตอบก่อน และจะถาม Google เฉพาะเมื่อไม่พบผลลัพธ์', 'admin.placesGoogleOnly.missingKey': 'ต้องมีคีย์ API ของ Google Maps หากไม่มี การค้นหาจะใช้ดัชนีของ TREK เองและ OpenStreetMap ไม่ว่าสวิตช์นี้จะตั้งไว้อย่างไร', 'admin.placesGoogleOnly.otherProvider': 'ต้องใช้ Google เป็นผู้ให้บริการสถานที่ หากเลือก Amap หรือ OpenStreetMap การค้นหาจะไม่ส่งไปที่ Google ไม่ว่าสวิตช์นี้จะตั้งไว้อย่างไร', 'admin.googleQuota.title': 'ขีดจำกัดการเรียก Google ต่อวัน', 'admin.googleQuota.subtitle': 'เมื่อถึงขีดจำกัด TREK จะหยุดเรียก Google จนถึงวันถัดไป (UTC) และค้นหาด้วย OpenStreetMap แทน เว้นว่างไว้หากไม่จำกัด', 'admin.googleQuota.placeholder': 'ไม่จำกัด', 'admin.googleQuota.usedToday': 'วันนี้: {used}', 'admin.googleQuota.usedOfLimit': 'วันนี้: {used} จาก {limit}', 'admin.googleQuota.reached': 'ถึงขีดจำกัดแล้ว ({used}) Google หยุดไว้จนถึงพรุ่งนี้', 'admin.googleQuota.saved': 'บันทึกขีดจำกัดรายวันแล้ว', 'admin.bagTracking.title': 'ติดตามกระเป๋า', 'admin.bagTracking.subtitle': 'เปิดใช้งานการกำหนดน้ำหนักและถุงสำหรับการบรรจุสินค้า', 'admin.collab.chat.title': 'แชท', 'admin.collab.chat.subtitle': 'การส่งข้อความแบบเรียลไทม์สำหรับการทำงานร่วมกันในการเดินทาง', 'admin.collab.notes.title': 'หมายเหตุ', 'admin.collab.notes.subtitle': 'บันทึกและเอกสารที่ใช้ร่วมกัน', 'admin.collab.polls.title': 'โพล', 'admin.collab.polls.subtitle': 'การสำรวจกลุ่มและการลงคะแนนเสียง', 'admin.collab.whatsnext.title': 'อะไรต่อไป', 'admin.collab.whatsnext.subtitle': 'ข้อเสนอแนะกิจกรรมและขั้นตอนต่อไป', 'admin.tabs.config': 'การปรับเปลี่ยนในแบบของคุณ', 'admin.tabs.defaults': 'ค่าเริ่มต้นของผู้ใช้', 'admin.defaultSettings.title': 'การตั้งค่าผู้ใช้เริ่มต้น', 'admin.defaultSettings.description': 'ตั้งค่าเริ่มต้นทั่วทั้งอินสแตนซ์ ผู้ใช้ที่ไม่ได้เปลี่ยนการตั้งค่าจะเห็นค่าเหล่านี้ การเปลี่ยนแปลงของพวกเขาเองมีความสำคัญเสมอ', 'admin.defaultSettings.saved': 'บันทึกค่าเริ่มต้นแล้ว', 'admin.defaultSettings.reset': 'รีเซ็ตเป็นค่าเริ่มต้นในตัว', 'admin.defaultSettings.resetToBuiltIn': 'รีเซ็ต', 'admin.defaultSettings.mapProvider': 'เครื่องยนต์แผนที่', 'admin.defaultSettings.mapProviderHint': 'แผนที่เริ่มต้นสำหรับผู้ใช้ทุกคนในอินสแตนซ์นี้ ผู้ใช้แต่ละคนยังสามารถแทนที่ในการตั้งค่าของตนเองได้', 'admin.defaultSettings.providerLeaflet': 'มาตรฐาน (ฟรี)', 'admin.defaultSettings.providerMapbox': 'Mapbox (3D)', 'admin.defaultSettings.providerMapLibre': 'MapLibre (OpenFreeMap)', 'admin.defaultSettings.mapboxToken': 'โทเค็น Mapbox ที่ใช้ร่วมกัน', 'admin.defaultSettings.mapboxTokenHint': 'ใช้สำหรับผู้ใช้ทุกคนที่ไม่ได้ป้อนโทเค็นของตนเอง — ดังนั้นอินสแตนซ์ทั้งหมดจะได้รับ Mapbox โดยไม่ต้องแชร์คีย์ทีละรายการ จัดเก็บแบบเข้ารหัส', 'admin.defaultSettings.mapboxStyle': 'รูปแบบแผนที่', 'admin.defaultSettings.mapboxStylePlaceholder': 'เลือกสไตล์...', 'admin.defaultSettings.mapbox3d': 'สิ่งปลูกสร้าง 3 มิติและภูมิประเทศ', 'admin.defaultSettings.mapboxQuality': 'โหมดคุณภาพสูง', 'admin.defaultSettings.cartoKey': 'คีย์ CARTO ที่ใช้ร่วมกัน', 'admin.defaultSettings.cartoKeyHint': 'ใช้สำหรับผู้ใช้ทุกคนที่ไม่ได้ป้อนรหัสของตนเอง ดังนั้นอินสแตนซ์ทั้งหมดจึงได้รับไทล์ CARTO โดยไม่มีลายน้ำ จัดเก็บแบบเข้ารหัส', 'admin.tabs.templates': 'เทมเพลตการบรรจุ', 'admin.packingTemplates.title': 'เทมเพลตการบรรจุ', 'admin.packingTemplates.subtitle': 'สร้างรายการจัดกระเป๋าที่นำกลับมาใช้ใหม่ได้สำหรับการเดินทางของคุณ', 'admin.packingTemplates.create': 'เทมเพลตใหม่', 'admin.packingTemplates.namePlaceholder': 'ชื่อเทมเพลต (เช่น Beach Holiday)', 'admin.packingTemplates.empty': 'ยังไม่มีการสร้างเทมเพลต', 'admin.packingTemplates.items': 'รายการ', 'admin.packingTemplates.categories': 'หมวดหมู่', 'admin.packingTemplates.itemName': 'ชื่อรายการ', 'admin.packingTemplates.itemCategory': 'หมวดหมู่', 'admin.packingTemplates.categoryName': 'ชื่อหมวดหมู่ (เช่น เสื้อผ้า)', 'admin.packingTemplates.addCategory': 'เพิ่มหมวดหมู่', 'admin.packingTemplates.created': 'สร้างเทมเพลตแล้ว', 'admin.packingTemplates.deleted': 'ลบเทมเพลตแล้ว', 'admin.packingTemplates.loadError': 'โหลดเทมเพลตไม่สำเร็จ', 'admin.packingTemplates.createError': 'ไม่สามารถสร้างเทมเพลตได้', 'admin.packingTemplates.deleteError': 'ลบเทมเพลตไม่สำเร็จ', 'admin.packingTemplates.deleteCategoryError': 'ลบหมวดหมู่ไม่สำเร็จ', 'admin.packingTemplates.deleteItemError': 'ลบรายการไม่สำเร็จ', 'admin.packingTemplates.saveError': 'บันทึกไม่สำเร็จ', 'admin.tabs.addons': 'ส่วนเสริม', 'admin.tabs.plugins': 'ปลั๊กอิน', 'admin.tabs.storage': 'ที่เก็บของ', 'admin.plugins.rescan': 'สแกนอีกครั้ง', 'admin.plugins.rescanned': 'สแกนโฟลเดอร์ปลั๊กอินอีกครั้ง', 'admin.plugins.upload': 'อัปโหลดปลั๊กอิน', 'admin.plugins.dropToUpload': 'วางปลั๊กอิน .zip เพื่อติดตั้ง', 'admin.plugins.uploaded': 'อัปโหลดปลั๊กอิน “{name}” แล้ว — เปิดใช้งานเพื่อให้ทำงานได้', 'admin.plugins.sideloaded': 'ไซด์โหลด', 'admin.plugins.devLinkBadge': 'Dev-Link', 'admin.plugins.devLinkHint': 'โหลดจากไดเร็กทอรี build ในเครื่องและรีโหลดแบบ hot-reload กับข้อมูลจริง — dev เท่านั้น', 'admin.plugins.devLinkTitle': 'เชื่อมโยงปลั๊กอินท้องถิ่น', 'admin.plugins.devLinkPathPlaceholder': '/absolute/path/to/your/plugin', 'admin.plugins.devLinkButton': 'ลิงก์', 'admin.plugins.devLinkLinked': 'เชื่อมโยง {id} — เปิดใช้งานเพื่อเรียกใช้', 'admin.plugins.sideloadedHint': 'อัปโหลดด้วยตนเอง — ไม่ได้มาจากรายการทะเบียน ไม่ได้ลงนามและยังไม่ได้ตรวจสอบ', 'admin.plugins.browse': 'เรียกดูปลั๊กอิน', 'admin.plugins.installed': 'ติดตั้งแล้ว', 'admin.plugins.install': 'ติดตั้ง', 'admin.plugins.registryEmpty': 'ยังไม่มีปลั๊กอินในรีจิสทรี', 'admin.plugins.actionError': 'การดำเนินการล้มเหลว', 'admin.plugins.activate': 'เปิดใช้งาน', 'admin.plugins.activated': 'เปิดใช้งานปลั๊กอินแล้ว', 'admin.plugins.deactivate': 'ปิดการใช้งาน', 'admin.plugins.deactivated': 'ปิดใช้งานปลั๊กอินแล้ว', 'admin.plugins.viewErrors': 'ดูบันทึกข้อผิดพลาด', 'admin.plugins.errorLog': 'บันทึกข้อผิดพลาด', 'admin.plugins.allowedHosts': 'โฮสต์ที่ได้รับอนุญาต', 'admin.plugins.allowedHosts.hint': 'ปลั๊กอินนี้เชื่อมต่อกับบริการที่มีเพียงคุณเท่านั้นที่ระบุได้ เพิ่มโฮสต์ที่อนุญาตให้เชื่อมต่อได้ — นอกเหนือจากนั้นจะเชื่อมต่อไม่ได้', 'admin.plugins.allowedHosts.none': 'ยังไม่ได้เพิ่มโฮสต์', 'admin.plugins.allowedHosts.unsupported': 'ปลั๊กอินนี้ไม่ได้ใช้โฮสต์ที่ผู้ดูแลระบุ โฮสต์ที่อนุญาตถูกกำหนดไว้ตายตัวใน manifest', 'admin.plugins.allowedHosts.restartNote': 'การบันทึกจะรีสตาร์ทปลั๊กอินเพื่อให้เลือกรายการใหม่', 'admin.plugins.allowedHosts.add': 'เพิ่มโฮสต์ที่ได้รับอนุญาต', 'admin.plugins.allowedHosts.count': 'โฮสต์ที่อนุญาต {n} รายการ', 'admin.plugins.operatorEgressPill': '+ โฮสต์ที่คุณเพิ่ม', 'admin.plugins.operatorEgressHint': 'ปลั๊กอินนี้เชื่อมต่อกับบริการที่มีเพียงคุณเท่านั้นที่ระบุได้ หลังจากติดตั้งแล้ว ให้เพิ่มโฮสต์ที่อนุญาตใน ⋯ → โฮสต์ที่อนุญาต นอกเหนือจากนั้นจะเชื่อมต่อไม่ได้', 'admin.plugins.noErrors': 'ไม่มีการบันทึกข้อผิดพลาด', 'admin.plugins.uninstalled': 'ถอนการติดตั้งปลั๊กอินแล้ว', 'admin.plugins.uninstallTitle': 'ถอนการติดตั้งปลั๊กอินใช่ไหม', 'admin.plugins.uninstallBody': 'การดำเนินการนี้จะหยุดปลั๊กอิน ลบโค้ด และลบข้อมูลทั้งหมด สิ่งนี้ไม่สามารถยกเลิกได้', 'admin.plugins.status.starting': 'กำลังเริ่ม...', 'admin.plugins.type.widget': 'วิดเจ็ต', 'admin.plugins.type.page': 'หน้า', 'admin.plugins.type.integration': 'การเชื่อมต่อ', 'admin.plugins.type.trip-page': 'หน้าทริป', 'admin.plugins.reviewed': 'ตรวจสอบแล้ว', 'admin.plugins.unreviewed': 'ไม่ได้รับการตรวจทาน', 'admin.plugins.updated': 'อัปเดตปลั๊กอินแล้ว', 'admin.plugins.updateTo': 'อัปเดต → v{version}', 'admin.plugins.enabledToggle': 'เปิดใช้งานปลั๊กอิน', 'plugins.notFound': 'ไม่พบปลั๊กอิน', 'plugins.frameLoadFailed': 'ไม่สามารถโหลดปลั๊กอินนี้ได้', 'admin.plugins.title': 'ปลั๊กอิน', 'admin.plugins.subtitle': 'ติดตั้งและจัดการปลั๊กอินของบริษัทอื่นบนอินสแตนซ์ของคุณ', 'admin.plugins.disabledTitle': 'ปลั๊กอินถูกปิดใช้งาน', 'admin.plugins.disabledBody': 'รันไทม์ปลั๊กอินปิดอยู่ (TREK_PLUGINS_ENABLED) ไม่มีปลั๊กอินใดทำงานจนกว่าผู้ดูแลระบบจะเปิดใช้งานในการกำหนดค่าเซิร์ฟเวอร์', 'admin.plugins.empty': 'ยังไม่มีการติดตั้งปลั๊กอิน', 'admin.plugins.loadError': 'ไม่สามารถโหลดปลั๊กอินได้', 'admin.plugins.scaffoldNote': 'การติดตั้งและการเปิดใช้งานปลั๊กอินจะมาในการอัปเดตในภายหลัง ปัจจุบันแผงนี้แสดงรายการปลั๊กอินที่ติดตั้งเท่านั้น', 'admin.plugins.status.active': 'ใช้งานอยู่', 'admin.plugins.status.inactive': 'ไม่ได้ใช้งาน', 'admin.plugins.status.disabled': 'ปิดการใช้งาน', 'admin.plugins.status.error': 'เกิดข้อผิดพลาด', 'admin.plugins.status.incompatible': 'เข้ากันไม่ได้', 'admin.plugins.details': 'รายละเอียด', 'admin.plugins.detailError': 'ไม่สามารถโหลดรายละเอียดปลั๊กอินได้', 'admin.plugins.permissionsTitle': 'สิทธิ์', 'admin.plugins.noPermissions': 'ปลั๊กอินนี้ไม่ขอสิทธิ์พิเศษ', 'admin.plugins.egressNote': 'อาจเชื่อมต่อกับ: {hosts}', 'admin.plugins.setupTitle': 'ตั้งค่า', 'admin.plugins.noSetup': 'ใช้งานได้ทันที — ไม่มีอะไรต้องกำหนดค่า', 'admin.plugins.scope.instance': 'ทั่วทั้งอินสแตนซ์', 'admin.plugins.scope.user': 'ต่อผู้ใช้', 'admin.plugins.fieldRequired': 'จำเป็น', 'admin.plugins.sourceRepo': 'แหล่งเก็บข้อมูล', 'admin.plugins.reportIssue': 'รายงานปัญหา', 'admin.plugins.homepage': 'หน้าแรก', 'admin.plugins.requiresTrek': 'ต้องใช้ TREK {version}+', 'admin.plugins.reviewedOn': 'ตรวจสอบเมื่อ {date}', 'admin.plugins.perm.db:own': 'เก็บข้อมูลของตัวเองไว้ในฐานข้อมูลแบบแยกส่วน', 'admin.plugins.perm.db:read:trips': 'อ่านการเดินทางที่ผู้ใช้บริการสามารถเข้าถึงได้', 'admin.plugins.perm.db:read:users': 'อ่านข้อมูลโปรไฟล์พื้นฐาน (ชื่อ อวตาร — ไม่ต้องระบุข้อมูลประจำตัว)', 'admin.plugins.perm.db:read:costs': 'อ่านต้นทุน (รายการงบประมาณ) ที่ผู้ใช้ที่ดำเนินการสามารถเข้าถึงได้', 'admin.plugins.perm.db:read:packing': 'อ่านรายการจัดกระเป๋าของทริปที่ผู้ใช้บริการเข้าถึงได้', 'admin.plugins.perm.db:write:packing': 'สร้าง แก้ไข และลบรายการจัดกระเป๋าในทริปที่ผู้ใช้บริการแก้ไขได้', 'admin.plugins.perm.weather:read': 'อ่านพยากรณ์อากาศแคชของโฮสต์ (ตามพิกัด)', 'admin.plugins.perm.db:read:categories': 'อ่านรายการหมวดหมู่สถานที่ทั่วโลก', 'admin.plugins.perm.db:read:tags': 'อ่านแท็กของผู้ใช้ที่ทำหน้าที่เอง', 'admin.plugins.perm.db:write:tags': 'สร้าง แก้ไข และลบแท็กของผู้ใช้ที่ทำหน้าที่เอง', 'admin.plugins.perm.db:read:todos': 'อ่านสิ่งที่ต้องทำของการเดินทางที่ผู้ใช้บริการสามารถเข้าถึงได้', 'admin.plugins.perm.db:write:todos': 'สร้าง แก้ไข และลบสิ่งที่ต้องทำในการเดินทางที่ผู้ใช้ที่ดำเนินการสามารถแก้ไขได้', 'admin.plugins.perm.db:write:atlas': 'ทำเครื่องหมายประเทศและภูมิภาคที่เยี่ยมชมและจัดการรายชื่อผู้ใช้ที่ดำเนินการ (ต้องการ Atlas addon)', 'admin.plugins.perm.db:write:vacay': 'สลับวันลาพักร้อนและวันหยุดบริษัทตามแผนที่ใช้งานอยู่ของผู้ใช้ที่รักษาการ (ต้องการ Vacay addon)', 'admin.plugins.perm.db:write:journal': 'สร้าง แก้ไข และลบรายการบันทึกประจำวัน และแนบรูปถ่ายในการเดินทางที่ผู้ใช้ดำเนินการสามารถแก้ไขได้ (ต้องการส่วนเสริม Journey)', 'admin.plugins.perm.db:write:collections': 'สร้างและแก้ไขคอลเลกชันและบันทึกสถานที่ลงในคอลเลกชันเหล่านั้น โดยมีบทบาทคอลเลกชันของผู้ใช้ที่ทำหน้าที่ (ต้องการส่วนเสริมคอลเลกชัน)', 'admin.plugins.perm.db:write:files': 'แนบไฟล์ไปกับการเดินทางที่ผู้ใช้ดำเนินการสามารถแก้ไขได้ (สูงสุด 10MB ส่วนขยายที่ถูกบล็อกถูกปฏิเสธ) และจัดการลิงก์ของพวกเขา', 'admin.plugins.perm.db:write:collab': 'โพสต์บันทึก โพล และข้อความแชทในการเดินทางที่ผู้ใช้ดำเนินการสามารถแก้ไขได้ (ต้องการส่วนเสริม Collab)', 'admin.plugins.perm.db:write:members': 'เพิ่มผู้ใช้ในการเดินทาง — ให้สิทธิ์การเข้าถึงการเดินทาง ล้อมรอบโดยสิทธิ์ในการจัดการสมาชิกของผู้ใช้ที่รักษาการ', 'admin.plugins.perm.notify:send': 'ส่งการแจ้งเตือน (กล่องจดหมายรูประฆัง + อีเมล/ntfy) ไปยังผู้ใช้ที่ดำเนินการหรือการเดินทางที่พวกเขาอยู่ - ไม่เคยเป็นผู้รับโดยพลการ', 'admin.plugins.perm.ai:invoke': 'เรียกใช้ผู้ให้บริการ AI ที่กำหนดค่าโดยผู้ดูแลระบบ (การเติมข้อความ + การแยกเอกสาร) ในนามของผู้ใช้ที่ทำหน้าที่ — ปลั๊กอินไม่เคยเก็บคีย์ไว้', 'admin.plugins.perm.oauth:client': 'เชื่อมต่อกับบริการของบุคคลที่สามในนามของคุณผ่าน OAuth ที่เป็นนายหน้าโฮสต์ (โฮสต์ถือโทเค็น ปลั๊กอินจะไม่เคยเห็นโทเค็นเหล่านั้นเลย)', 'admin.plugins.perm.db:read:files': 'อ่านไฟล์ของทริปที่ผู้ใช้ที่กำลังดำเนินการเข้าถึงได้', 'admin.plugins.perm.db:read:journal': 'อ่านบันทึกการเดินทางของผู้ใช้บริการ (ต้องการ Addon Journey)', 'admin.plugins.perm.db:read:atlas': 'อ่านประเทศและภูมิภาคที่เยี่ยมชมของผู้ใช้ที่ทำหน้าที่ (ต้องการ Atlas addon)', 'admin.plugins.perm.db:read:vacay': 'อ่านแผนวันหยุดของผู้ใช้ที่ทำหน้าที่ (ต้องการ Vacay addon)', 'admin.plugins.perm.db:read:daynotes': 'อ่านบันทึกประจำวันของทริปที่ผู้ใช้ที่กำลังดำเนินการเข้าถึงได้', 'admin.plugins.perm.db:read:collections': 'อ่านคอลเลกชันสถานที่ที่บันทึกไว้ของผู้ใช้ที่ทำหน้าที่ (ต้องการส่วนเสริมคอลเลกชัน)', 'admin.plugins.perm.db:write:costs': 'สร้างต้นทุน (รายการงบประมาณ) ในการเดินทางที่ผู้ใช้ที่ดำเนินการสามารถแก้ไขได้', 'admin.plugins.perm.db:write:places': 'เพิ่ม แก้ไข และลบสถานที่ในทริปที่ผู้ใช้ที่กำลังดำเนินการแก้ไขได้', 'admin.plugins.perm.db:write:days': 'เพิ่ม แก้ไข และลบวันในทริปที่ผู้ใช้ที่กำลังดำเนินการแก้ไขได้', 'admin.plugins.perm.db:write:itinerary': 'กำหนดและลบสถานที่ในวันที่เดินทางซึ่งผู้ใช้ที่ดำเนินการสามารถแก้ไขได้', 'admin.plugins.perm.db:write:trips': 'แก้ไขรายละเอียดทริป (ชื่อ วันที่ สกุลเงิน…) ในทริปที่ผู้ใช้ที่กำลังดำเนินการแก้ไขได้', 'admin.plugins.perm.db:write:reservations': 'สร้าง แก้ไข และลบการจองในทริปที่ผู้ใช้ที่กำลังดำเนินการแก้ไขได้', 'admin.plugins.perm.db:write:accommodations': 'สร้าง แก้ไข และลบที่พัก (ช่วงที่พัก) ในการเดินทางที่ผู้ใช้บริการสามารถแก้ไขได้', 'admin.plugins.perm.db:write:daynotes': 'สร้าง แก้ไข และลบบันทึกประจำวันของการเดินทางที่ผู้ใช้บริการสามารถแก้ไขได้', 'admin.plugins.perm.db:meta': 'แนบข้อมูลส่วนตัวของตัวเองไปกับการเดินทาง สถานที่ และวันที่ผู้ใช้บริการสามารถเข้าถึงได้', 'admin.plugins.perm.ws:broadcast:trip': 'ส่งการอัปเดตแบบเรียลไทม์ให้กับสมาชิกทริป', 'admin.plugins.perm.ws:broadcast:user': 'ส่งการอัปเดตแบบเรียลไทม์ไปยังผู้ใช้แต่ละราย', 'admin.plugins.perm.hook:photo-provider': 'มอบภาพถ่ายให้กับความทรงจำ', 'admin.plugins.perm.hook:calendar-source': 'จัดให้มีกิจกรรมในปฏิทิน', 'admin.plugins.perm.hook:place-detail-provider': 'เพิ่มรายละเอียด (บทวิจารณ์ คะแนน และลิงก์) ให้กับสถานที่', 'admin.plugins.perm.hook:search-provider': 'ตอบการค้นหาสถานที่จากดัชนีของตัวเอง ควบคู่กับผลลัพธ์ของ TREK', 'admin.plugins.perm.hook:poi-category-provider': 'เพิ่มหมวดหมู่สถานที่ของตัวเองลงใน “สำรวจสถานที่บนแผนที่” เมื่อคุณเลือกหมวดหมู่ใด ปลั๊กอินจะได้รับพื้นที่แผนที่ที่คุณกำลังดูอยู่', 'admin.plugins.perm.hook:trip-warning-provider': 'แจ้งเตือนการตรวจสอบความถูกต้องในการเดินทาง (แสดงใน Planner)', 'admin.plugins.perm.hook:table-contributor': 'เพิ่มคอลัมน์และการดำเนินการให้กับมุมมองการเดินทาง (การจอง สถานที่ วัน)', 'admin.plugins.perm.hook:map-marker-provider': 'เพิ่มเครื่องหมายลงในแผนที่การเดินทาง (เช่น แสดงการจองหรือ POI)', 'admin.plugins.perm.hook:map-layer-provider': 'วาดเส้นทาง ทางเดิน และโซนบนแผนที่การเดินทาง', 'admin.plugins.perm.hook:route-provider': 'เสนอโปรไฟล์เส้นทางที่ผู้วางแผนสามารถกำหนดเส้นทางวันได้ (เช่น การกำหนดเส้นทาง EV พร้อมจุดชาร์จ)', 'admin.plugins.perm.hook:day-schedule-provider': 'แนบรายการเวลาเข้ากับแผนวัน (จุดชาร์จ บัฟเฟอร์ความปลอดภัย)', 'admin.plugins.perm.hook:day-tint-provider': 'กำหนดสีให้แต่ละวันในแผนรายวัน (เช่น เพื่อแสดงว่าวันนั้นอยู่ในช่วงใดของทริป)', 'admin.plugins.cap.mcpTools': 'เผยแพร่เครื่องมือ AI', 'admin.plugins.mcpToolsTitle': 'เครื่องมือ AI ที่เผยแพร่', 'admin.plugins.mcpToolsHint': 'ผู้ช่วยสามารถเรียกใช้สิ่งเหล่านี้ในนามของผู้ใช้ได้ แต่ละคนดำเนินการตามสิทธิ์การเข้าถึงที่ได้รับข้างต้น', 'admin.plugins.poiCategoriesTitle': 'หมวดหมู่แผนที่ที่ปลั๊กอินเพิ่ม', 'admin.plugins.perm.mcp:tools': 'เผยแพร่เครื่องมือที่ผู้ช่วย AI สามารถทำงานในนามของคุณ (จะกระทำกับการเข้าถึงที่คุณให้สิทธิ์ปลั๊กอินที่นี่ ไม่ใช่กับผู้ช่วยเอง)', 'admin.plugins.perm.geolocation:read': 'ขอตำแหน่งปัจจุบันของคุณในขณะที่มุมมองใดมุมมองหนึ่งเปิดอยู่ (TREK อ่านภายใต้การอนุญาตตำแหน่งของไซต์นี้ ไม่ใช่ของปลั๊กอิน)', 'admin.plugins.perm.hook:pdf-section-provider': 'เพิ่มส่วนข้อความต่อท้ายการส่งออก PDF ของการเดินทาง', 'admin.plugins.perm.hook:atlas-layer-provider': 'เน้นประเทศต่างๆ บนแผนที่โลก Atlas (เช่น สิ่งที่อยากได้หรือคำแนะนำการเดินทาง)', 'admin.plugins.perm.hook:journal-entry-provider': 'เพิ่มแถวพิเศษ (ลิงก์ สถิติ) ให้กับรายการบันทึกประจำวัน', 'admin.plugins.perm.hook:trip-card-provider': 'เพิ่มป้ายเล็กๆ (สถานะ จำนวน) ลงในการ์ดการเดินทางบนแดชบอร์ดของคุณ', 'admin.plugins.perm.hook:notification-channel': 'ส่งการแจ้งเตือนของคุณผ่านช่องทางเพิ่มเติม', 'admin.plugins.perm.hook:user-data': 'ลบหรือส่งออกข้อมูลที่เก็บไว้เกี่ยวกับผู้ใช้ (การลบบัญชี GDPR และคำขอข้อมูล)', 'admin.plugins.perm.events:subscribe': 'ตอบสนองต่อเหตุการณ์กิจกรรมหลัก (ชื่องาน + ทริปเท่านั้น ไม่ใช่เนื้อหา)', 'admin.plugins.perm.jobs:run': 'รันงานพื้นหลังที่ประกาศตามกำหนดเวลา (ไม่มีบริบทของผู้ใช้ — ไม่สามารถอ่านข้อมูลผู้ใช้ได้)', 'admin.plugins.perm.http:outbound': 'ส่งคำขอขาออกไปยังโฮสต์ที่ประกาศไว้', 'admin.plugins.perm.db:read:collab': 'อ่านบันทึก โพล และข้อความแชทของทริปที่ผู้ใช้ที่กำลังดำเนินการเข้าถึงได้ (ต้องการส่วนเสริม Collab)', 'admin.plugins.perm.db:read:files:content': 'อ่านเนื้อหาไบต์ของไฟล์ในการเดินทางที่ผู้ใช้ที่ดำเนินการสามารถเข้าถึงได้', 'admin.plugins.perm.db:create:trips': 'สร้างการเดินทางใหม่ที่เป็นของผู้ใช้ที่รักษาการ', 'admin.plugins.perm.rates:read': 'อ่านอัตราแลกเปลี่ยนสกุลเงินแคชของโฮสต์', 'admin.plugins.updateConsentTitle': 'การอัปเดตนี้ต้องการสิทธิ์ใหม่', 'admin.plugins.updateConsentBody': '{name} v{version} กำลังขอสิทธิ์ที่คุณยังไม่ได้ให้ มีการติดตั้งเวอร์ชันใหม่แล้ว แต่จะยังคงปิดอยู่จนกว่าคุณจะอนุมัติ', 'admin.plugins.updateNewPermissions': 'สิทธิ์ที่ร้องขอใหม่', 'admin.plugins.updateNewEgress': 'การเชื่อมต่อขาออกใหม่', 'admin.plugins.updateApprove': 'อนุมัติและเปิดใช้งาน', 'admin.plugins.updateLater': 'ปิดไว้ก่อน', 'admin.plugins.updateKeptOff': 'ติดตั้งการอัปเดตแล้ว — ปล่อยทิ้งไว้จนกว่าคุณจะอนุมัติสิทธิ์ใหม่', 'admin.plugins.reviewedMeaning': '"ตรวจสอบแล้ว" หมายถึงผู้ดูแล TREK ได้สแกนปลั๊กอินนี้หามัลแวร์ในแต่ละเวอร์ชันเท่านั้น ไม่ได้ตรวจสอบคุณภาพหรือการทำงาน จึงไม่ใช่การรับประกันว่าปลั๊กอินจะปลอดภัย', 'admin.plugins.security.title': 'วิธีการบรรจุปลั๊กอิน — และข้อจำกัด', 'admin.plugins.security.isolationTitle': 'ปลั๊กอินทุกตัวทำงานแบบบรรจุกล่อง', 'admin.plugins.security.isolationBody': 'ปลั๊กอินทำงานเป็นกระบวนการที่ล็อคไว้ซึ่งสามารถอ่านได้เฉพาะไฟล์ของตัวเองเท่านั้น ไม่สามารถอ่านฐานข้อมูล ข้อมูลลับในการเข้าสู่ระบบ หรือคีย์เข้ารหัสของคุณ ไม่สามารถเริ่มโปรแกรมอื่น และไม่สามารถเขียนไฟล์ได้ทุกที่ อินเทอร์เฟซทำงานในกรอบเบราว์เซอร์ที่ปิดสนิท ซึ่งไม่สามารถอ่านคุกกี้เซสชันของคุณหรือแตะหน้า TREK ที่อยู่รอบๆ ได้', 'admin.plugins.security.permsTitle': 'สิทธิ์หมายถึงอะไร', 'admin.plugins.security.permsBody': 'การอนุญาตที่แสดงก่อนที่คุณจะติดตั้งเป็นขีดจำกัดที่ TREK บังคับใช้ในขณะที่ปลั๊กอินทำงาน — แท้จริงแล้วไม่สามารถทำอะไรก็ตามที่ไม่อยู่ในรายการได้ แต่พวกเขาจะบอกคุณว่าปลั๊กอินทำอะไรได้บ้าง ไม่ใช่ว่าจริงๆ แล้วปลั๊กอินทำอะไรได้บ้าง ปลั๊กอินที่อนุญาตให้อ่านการเดินทางของคุณและเข้าถึงเซิร์ฟเวอร์สามารถส่งการเดินทางของคุณไปยังเซิร์ฟเวอร์นั้นได้ ดังนั้นควรอ่านสิทธิ์และโฮสต์ขาออก ไม่ใช่แค่คำอธิบาย', 'admin.plugins.security.limitsTitle': 'สิ่งที่เราไม่สามารถสัญญาได้', 'admin.plugins.security.limitsBody': 'การแยกออกจากกันถือเป็นขอบเขตซอฟต์แวร์ที่แข็งแกร่ง ไม่ใช่ขอบเขตที่สมบูรณ์ ปลั๊กอินทำงานตามสิทธิ์ที่คุณอนุมัติ ดังนั้นภายในสิทธิ์เหล่านั้น ปลั๊กอินจึงสามารถทำงานแตกต่างไปจากคำอธิบายที่แนะนำได้ และสามารถส่งข้อมูลที่เก็บไว้อย่างถูกต้องไปยังโฮสต์ที่ประกาศไว้ได้ TREK ไม่ได้อ่านหรือตัดสินว่าโค้ดของปลั๊กอินทำอะไรได้บ้าง', 'admin.plugins.security.worstTitle': 'กรณีที่เลวร้ายที่สุด', 'admin.plugins.security.worstBody': 'ปลั๊กอินที่ไม่เป็นมิตรที่คุณเปิดอาจใช้ข้อมูลและการเชื่อมต่อที่คุณมอบให้ในทางที่ผิด เช่น ทำให้การเดินทางที่ได้รับอนุญาตให้อ่านรั่วไหล มันไม่สามารถขโมยรหัสผ่าน ปลอมล็อกอินของผู้ดูแลระบบ รันคำสั่งบนเซิร์ฟเวอร์ของคุณ หรือเข้าถึงข้อมูลที่คุณไม่ได้อนุญาต ความเสียหายจะยังคงอยู่ในสิ่งที่คุณอนุมัติ และการปิดปลั๊กอินจะหยุดความเสียหายนั้น', 'admin.plugins.security.reviewedTitle': '“สอบทานแล้ว” หมายถึงอะไร', 'admin.plugins.security.reviewedBody': 'ปลั๊กอินที่ได้รับการตรวจสอบได้รับการสแกนหามัลแวร์ด้วยตนเองโดยผู้ดูแล TREK ในแต่ละเวอร์ชัน — ตรวจสอบโค้ดที่ไม่เป็นมิตร ไม่ใช่เพื่อดูว่าทำงานได้ดีหรือไม่ ไม่ใช่คำสัญญาว่าปลั๊กอินจะไม่เป็นอันตราย', 'admin.plugins.security.signedTitle': '"ลงนาม" หมายถึงอะไร', 'admin.plugins.security.signedBody': 'การตรวจสอบผลรวม TREK จะตรวจสอบในทุกการติดตั้งเพื่อพิสูจน์ว่าไฟล์เป็นสิ่งที่รีจิสทรีรับรอง ลายเซ็นพิสูจน์บางสิ่งที่แตกต่าง: ลายเซ็นเหล่านี้มาจากผู้เขียน ลงนามด้วยกุญแจที่พวกเขาถือเท่านั้น ปลั๊กอินที่ลงนามมีทั้งสองอย่าง ปลั๊กอินที่ไม่ได้ลงนามนั้นไม่ปลอดภัย — เพียงแต่มีการรับประกันน้อยกว่าหนึ่งรายการ และปลั๊กอินส่วนใหญ่ในรีจิสทรีก็ยังไม่ได้ลงนามในปัจจุบัน', 'admin.plugins.signed': 'ลงนาม', 'admin.plugins.signedHint': 'ตรวจสอบกับรหัสลงนามของผู้เขียนเมื่อมีการติดตั้ง', 'admin.plugins.unsigned': 'ไม่ได้ลงนาม', 'admin.plugins.unsignedHint': 'ไฟล์ตรงกับสิ่งที่รีจิสทรีรับรอง แต่ไม่มีสิ่งใดเชื่อมโยงกับผู้เขียน รับประกันน้อยกว่าหนึ่งข้อ — ไม่ปลอดภัย', 'admin.plugins.updateBlocked': 'การอัปเดตถูกบล็อก — {reason}', 'admin.plugins.reviewBlock': 'การตรวจสอบ', 'admin.plugins.retrusted': 'คีย์การลงนามใหม่ที่เชื่อถือได้ — ปลั๊กอินได้รับการอัปเดตแล้ว', 'admin.plugins.sig.title': 'ไม่สามารถยืนยันลายเซ็นของ {name} ได้', 'admin.plugins.sig.keyChangedBody': 'รหัสการลงนามของผู้เขียนไม่ใช่รหัสเดียวกับที่ติดตั้งปลั๊กอินนี้ ผู้เขียนจะหมุนเวียนคีย์ — แต่ผู้โจมตีที่เข้ามาแทนที่ปลั๊กอินจะมีลักษณะเช่นนี้ทุกประการ', 'admin.plugins.sig.invalidBody': 'ไฟล์ไม่ตรงกับลายเซ็นของผู้เขียน สิ่งเหล่านี้ไม่ใช่สิ่งที่ผู้เขียนลงนาม ไม่ว่าพวกเขาจะเสียหายหรือถูกดัดแปลงก็ตาม สิ่งนี้ไม่สามารถแทนที่ได้', 'admin.plugins.sig.missingBody': 'ปลั๊กอินนี้ได้รับการลงนามเมื่อคุณติดตั้ง แต่เวอร์ชันใหม่ไม่มีลายเซ็น TREK จะไม่ยอมรับการปรับลดรุ่นอย่างเงียบๆ สิ่งนี้ไม่สามารถแทนที่ได้', 'admin.plugins.sig.incompleteBody': 'รายการรีจิสทรีเป็นแบบ Half-Signed: จะประกาศคีย์ผู้เขียน แต่เวอร์ชันไม่มีลายเซ็น (หรือย้อนกลับ) นั่นเป็นข้อผิดพลาดด้านปลั๊กอิน สิ่งนี้ไม่สามารถแทนที่ได้', 'admin.plugins.sig.pinnedKey': 'คีย์ที่ใช้ติดตั้งปลั๊กอินนี้', 'admin.plugins.sig.newKey': 'ที่สำคัญมันกำลังนำเสนออยู่ในขณะนี้', 'admin.plugins.sig.confirmOutOfBand': 'TREK ไม่สามารถบอกได้ว่าการหมุนเวียนคีย์ที่ถูกต้องตามกฎหมายนอกเหนือจากการครอบครอง — ทั้งสองดูเหมือนกันจากที่นี่ ยืนยันรหัสใหม่กับผู้เขียนผ่านช่องทางที่คุณเชื่อถือแล้วก่อนที่จะยอมรับ เมื่อคุณดำเนินการแล้ว ปลั๊กอินจะได้รับการอัปเดตและรหัสใหม่จะถูกจดจำ', 'admin.plugins.sig.retrustConfirm': 'เชื่อถือคีย์ใหม่และอัปเดต', 'admin.plugins.sig.cancel': 'อย่าวางใจมัน', 'admin.plugins.sig.consentUnsigned': 'ไม่มีสิ่งใดที่เชื่อมโยงกับเวอร์ชันนี้กับผู้เขียน ไฟล์ต่างๆ ตรงกับรีจิสทรี แต่ไม่มีลายเซ็นผู้เขียน', 'admin.plugins.security.trustTitle': 'บรรทัดล่าง', 'admin.plugins.security.trustBody': 'การติดตั้งปลั๊กอินก็เหมือนกับการติดตั้งแอปของบุคคลที่สาม เพียงเพิ่มโค้ดจากผู้เขียนที่คุณเชื่อถือเท่านั้น และหากมีข้อสงสัย ให้ตรวจสอบด้วยตนเองก่อน TREK จะไม่รับผิดชอบต่อปลั๊กอินของบุคคลที่สาม', 'admin.plugins.runtimeOn': 'รันไทม์เปิดอยู่', 'admin.plugins.tabDiscover': 'ค้นพบ', 'admin.plugins.searchPlaceholder': 'ค้นหาปลั๊กอิน...', 'admin.plugins.filterType': 'ประเภท', 'admin.plugins.filterStatus': 'สถานะ', 'admin.plugins.sortBy': 'จัดเรียง', 'admin.plugins.allTypes': 'ทุกประเภท', 'admin.plugins.allStatuses': 'ทั้งหมด', 'admin.plugins.stateOff': 'ปิด', 'admin.plugins.filterUpdate': 'อัปเดตพร้อมใช้งาน', 'admin.plugins.sortName': 'ชื่อ', 'admin.plugins.sortRecent': 'ปรับปรุงล่าสุด', 'admin.plugins.sortUpdates': 'ปรับปรุงก่อน', 'admin.plugins.sortDownloads': 'ดาวน์โหลดมากที่สุด', 'admin.plugins.updatesAvailable': 'มีการอัปเดต {count} รายการสำหรับปลั๊กอินของคุณ', 'admin.plugins.newerNeedsTrek': 'v{version} ว่าง — ต้องการ TREK {range}', 'admin.plugins.updateAll': 'อัปเดตทั้งหมด', 'admin.plugins.versionsTitle': 'รุ่นต่างๆ', 'admin.plugins.versionPickerTitle': 'เปลี่ยนเวอร์ชัน — {name}', 'admin.plugins.versionSwitch': 'เปลี่ยนไปที่ {version}', 'admin.plugins.versionNeedsTrek': 'ต้องการ TREK {range}', 'admin.plugins.changeVersion': 'เปลี่ยนเวอร์ชัน...', 'admin.plugins.noVersions': 'ไม่พบเวอร์ชันที่เผยแพร่ในรีจิสทรี', 'admin.plugins.downgradeTitle': 'ย้อนกลับปลั๊กอินนี้หรือไม่', 'admin.plugins.downgradeBody': 'การเปลี่ยนจาก v{from} เป็น v{to}: ข้อมูลที่เขียนโดยเวอร์ชันที่ใหม่กว่าจะยังคงอยู่ และเวอร์ชันเก่าอาจไม่เข้าใจ', 'admin.plugins.downgradeConfirm': 'ย้อนกลับ', 'admin.plugins.updatesHeld': 'การอัปเดตหยุดชั่วคราวเมื่อ v{version}', 'admin.plugins.resumeUpdates': 'ดำเนินการอัปเดตต่อ', 'admin.plugins.updatesResumed': 'การอัปเดตดำเนินการต่อ', 'admin.plugins.noMatchInstalled': 'ไม่มีปลั๊กอินที่ติดตั้งตรงกับการค้นหาของคุณ', 'admin.plugins.noMatchRegistry': 'ไม่มีปลั๊กอินในรีจิสทรีที่ตรงกับการค้นหาของคุณ', 'admin.plugins.restart': 'รีสตาร์ท', 'admin.plugins.restarted': 'ปลั๊กอินเริ่มต้นใหม่แล้ว', 'admin.plugins.instanceSettings': 'การตั้งค่าอินสแตนซ์', 'admin.plugins.settingsSaved': 'บันทึกการตั้งค่าแล้ว', 'admin.plugins.settingsSavedRestarted': 'บันทึกการตั้งค่าแล้ว — รีสตาร์ทปลั๊กอินแล้ว', 'admin.plugins.actions': 'การดำเนินการ', 'admin.plugins.actions.confirm': 'ดำเนินการนี้หรือไม่?', 'admin.plugins.actions.inactive': 'เปิดใช้งานปลั๊กอินเพื่อดำเนินการต่างๆ', 'admin.plugins.requiredMissing': 'จำเป็นต้องมี "{field}"', 'admin.plugins.cap.readsTrips': 'อ่านการเดินทางของคุณ', 'admin.plugins.cap.readsUsers': 'อ่านโปรไฟล์พื้นฐาน', 'admin.plugins.cap.readsCosts': 'อ่านค่าใช้จ่ายของคุณ', 'admin.plugins.cap.readsPacking': 'อ่านรายการจัดกระเป๋า', 'admin.plugins.cap.readsFiles': 'อ่านไฟล์การเดินทาง', 'admin.plugins.cap.writesCosts': 'เพิ่มต้นทุน', 'admin.plugins.cap.writesPlaces': 'แก้ไขสถานที่', 'admin.plugins.cap.writesDays': 'แก้ไขวัน', 'admin.plugins.cap.writesItinerary': 'แก้ไขรายละเอียดการเดินทาง', 'admin.plugins.cap.writesTrips': 'แก้ไขการเดินทาง', 'admin.plugins.cap.metadata': 'เพิ่มข้อมูลเมตา', 'admin.plugins.cap.widget': 'วิดเจ็ตแดชบอร์ด', 'admin.plugins.cap.heroWidget': 'วิดเจ็ตบัตรผ่านขึ้นเครื่อง', 'admin.plugins.cap.placeSlot': 'รายละเอียดสถานที่', 'admin.plugins.cap.daySlot': 'รายละเอียดวัน', 'admin.plugins.cap.reservationSlot': 'รายละเอียดการจอง', 'admin.plugins.cap.replacesTabs': 'แทนที่แท็บวางแผน', 'admin.plugins.cap.realtime': 'การอัปเดตตามเวลาจริง', 'admin.plugins.cap.notificationChannel': 'ช่องทางการรับแจ้ง', 'admin.plugins.cap.photos': 'ให้บริการภาพถ่าย', 'admin.plugins.cap.calendar': 'จัดเตรียมกิจกรรมในปฏิทิน', 'admin.plugins.cap.placeDetails': 'เสริมสร้างสถานที่ต่างๆ', 'admin.plugins.cap.warnings': 'ปัญหาเรื่องแฟล็ก', 'admin.plugins.cap.mapLayers': 'วาดบนแผนที่', 'admin.plugins.cap.routing': 'เสนอเส้นทาง', 'admin.plugins.cap.daySchedule': 'เพิ่มเวลาตามแผน', 'admin.plugins.cap.dayTint': 'วันสีอ่อน', 'admin.plugins.cap.geolocation': 'อ่านตำแหน่งของคุณ', 'admin.plugins.cap.events': 'ตอบสนองต่อกิจกรรม', 'admin.plugins.cap.requiresAddon': 'ต้องใช้ {addon}', 'admin.plugins.cap.dependsOn': 'ต้องการ {id} {version}', 'admin.plugins.dep.addonDisabledToast': 'เปิดใช้งานส่วนเสริมที่จำเป็นก่อน: {addons}', 'admin.plugins.dep.autoEnabled': 'เปิดใช้งานปลั๊กอินที่จำเป็นก่อน: {plugins}', 'admin.plugins.dep.downloaded': 'ดาวน์โหลด {id} แล้ว', 'admin.plugins.dep.resolveTitle': 'ขาดการพึ่งพา', 'admin.plugins.dep.resolveBody': '“{name}” จำเป็นต้องติดตั้งปลั๊กอินเหล่านี้ก่อนจึงจะสามารถเปิดใช้งานได้', 'admin.plugins.dep.requires': 'ต้องใช้ {version}', 'admin.plugins.dep.mismatch': 'ต้องการ {wanted} — {installed} ได้รับการติดตั้งแล้ว', 'admin.plugins.dep.download': 'ดาวน์โหลด', 'admin.plugins.dep.update': 'อัปเดต', 'admin.plugins.dep.resolveHint': 'ดาวน์โหลดเวอร์ชันล่าสุดที่เข้ากันได้ รวมถึงการขึ้นต่อกันของตัวเวอร์ชันเอง', 'admin.plugins.dep.trekIncompatible': 'ต้องการ TREK {range} — เซิร์ฟเวอร์นี้รัน {host}', 'admin.plugins.dep.trekUnknown': 'ไม่ได้บอกว่ารองรับ TREK เวอร์ชันใด', 'admin.plugins.installCompatible': 'ติดตั้ง {version}', 'admin.plugins.installAnyway': 'ติดตั้งต่อไป', 'admin.plugins.rangeBypass.pill': 'ตรวจสอบเวอร์ชันแล้ว', 'admin.plugins.rangeBypass.pillHint': 'TREK_PLUGINS_IGNORE_TREK_RANGE ได้รับการตั้งค่าแล้ว - ปลั๊กอินอาจติดตั้งและทำงานนอกเวอร์ชัน TREK ที่ผู้เขียนประกาศไว้', 'admin.plugins.rangeBypass.title': 'ภายนอกเวอร์ชัน TREK ที่รองรับ', 'admin.plugins.rangeBypass.noticeTitle': 'ติดตั้งนอกเวอร์ชัน TREK ที่รองรับ', 'admin.plugins.rangeBypass.body': '“{name}” ประกาศรองรับ TREK {range} และเซิร์ฟเวอร์นี้รัน {host} TREK ปล่อยให้ผ่านไปได้เพียงเพราะตั้งค่า TREK_PLUGINS_IGNORE_TREK_RANGE แล้ว ผู้เขียนไม่ได้อัปเดตช่วงเวอร์ชันของปลั๊กอินสำหรับ TREK นี้ ดังนั้นจึงไม่มีการรับประกันว่าจะใช้งานได้ และในบางกรณีที่เกิดขึ้นไม่บ่อยนัก ปลั๊กอินที่ไม่ตรงกันอาจทำให้ข้อมูล TREK เสียหายได้ ดำเนินการต่อเฉพาะเมื่อคุณยอมรับความเสี่ยงนั้น', 'admin.plugins.rangeBypass.bodyUnknown': '“{name}” ไม่ได้ประกาศว่า TREK เวอร์ชันใดรองรับ เซิร์ฟเวอร์นี้รัน {host} TREK ปล่อยให้ผ่านไปได้เพียงเพราะตั้งค่า TREK_PLUGINS_IGNORE_TREK_RANGE แล้ว ไม่มีสิ่งใดบอกว่าผู้เขียนได้ทำการทดสอบบน TREK นี้ ดังนั้นจึงไม่มีการรับประกันว่าจะใช้งานได้ และในบางกรณีที่เกิดขึ้นไม่บ่อยนัก ปลั๊กอินที่ไม่ตรงกันอาจทำให้ข้อมูล TREK เสียหายได้ ดำเนินการต่อเฉพาะเมื่อคุณยอมรับความเสี่ยงนั้น', 'admin.plugins.dep.trekBypassed': 'อยู่นอกช่วง TREK ({range}) — เวอร์ชันถูกทำเครื่องหมายไว้', 'admin.plugins.dep.trekBypassedUnknown': 'ประกาศไม่มีช่วง TREK — เวอร์ชันถูกทำเครื่องหมายไว้', 'admin.plugins.rangeBypass.titleAdmin': 'ยังไม่ได้ทดสอบกับ TREK นี้', 'admin.plugins.rangeBypass.bodyAdmin': 'ตามที่ผู้สร้างระบุ “{name}” รองรับ TREK {range} ส่วนเซิร์ฟเวอร์นี้ใช้ {host} ผู้สร้างยังไม่ได้ยืนยันว่าใช้กับ TREK นี้ได้ จึงอาจทำงานไม่ได้ และในบางกรณีที่พบได้ยาก ปลั๊กอินที่ไม่เข้ากันอาจทำให้ข้อมูล TREK เสียหาย คุณยังใช้งานได้: การเลือกของคุณมีผลกับปลั๊กอินนี้ในเวอร์ชันนี้เท่านั้น และ TREK จะถามอีกครั้งหลังการอัปเดต', 'admin.plugins.rangeBypass.bodyAdminUnknown': '“{name}” ไม่ได้ระบุว่ารองรับ TREK เวอร์ชันใด ส่วนเซิร์ฟเวอร์นี้ใช้ {host} ไม่มีสิ่งใดบอกว่าได้ทดสอบกับ TREK นี้แล้ว จึงอาจทำงานไม่ได้ และในบางกรณีที่พบได้ยาก ปลั๊กอินที่ไม่เข้ากันอาจทำให้ข้อมูล TREK เสียหาย คุณยังใช้งานได้: การเลือกของคุณมีผลกับปลั๊กอินนี้ในเวอร์ชันนี้เท่านั้น และ TREK จะถามอีกครั้งหลังการอัปเดต', 'admin.plugins.dep.trekAccepted': 'สร้างสำหรับ TREK {range} ใช้งานโดยคุณรับความเสี่ยงเอง', 'admin.plugins.dep.trekAcceptedUnknown': 'ไม่ได้ระบุเวอร์ชัน TREK ใช้งานโดยคุณรับความเสี่ยงเอง', 'admin.plugins.activateAnyway': 'เปิดใช้งานต่อไป', 'admin.plugins.untestedChip': 'ยังไม่ยืนยันว่าใช้กับ TREK {host} ได้', 'admin.plugins.filters': 'ตัวกรอง', 'admin.plugins.security.short': 'ปลั๊กอินได้รับการป้องกันอย่างไร', 'admin.plugins.accessTitle': 'สิ่งที่สามารถเข้าถึงได้', 'admin.plugins.connectsTitle': 'เชื่อมต่อกับ', 'admin.plugins.detailsTitle': 'รายละเอียด', 'admin.plugins.noAccess': 'ไม่จำเป็นต้องเข้าถึงเป็นพิเศษ', 'admin.plugins.metaVersion': 'เวอร์ชัน', 'admin.plugins.metaSize': 'ขนาด', 'admin.plugins.metaRequires': 'ต้องใช้', 'admin.plugins.metaReviewed': 'ตรวจสอบเมื่อ', 'admin.plugins.downloads': 'ดาวน์โหลด', 'admin.addons.title': 'ส่วนเสริม', 'admin.addons.subtitle': 'เปิดหรือปิดใช้งานคุณสมบัติเพื่อปรับแต่งประสบการณ์ TREK ของคุณ', 'admin.addons.catalog.packing.name': 'รายการ', 'admin.addons.catalog.packing.description': 'บรรจุรายการและงานที่ต้องทำสำหรับการเดินทางของคุณ', 'admin.addons.catalog.budget.name': 'ค่าใช้จ่าย', 'admin.addons.catalog.budget.description': 'ติดตามค่าใช้จ่ายในการเดินทางและแบ่งระหว่างนักเดินทาง', 'admin.addons.catalog.documents.name': 'เอกสาร', 'admin.addons.catalog.documents.description': 'จัดเก็บและจัดการเอกสารการเดินทาง', 'admin.addons.catalog.vacay.name': 'วันหยุด', 'admin.addons.catalog.vacay.description': 'นักวางแผนวันหยุดส่วนตัวพร้อมมุมมองปฏิทิน', 'admin.addons.catalog.atlas.name': 'แผนที่', 'admin.addons.catalog.atlas.description': 'แผนที่โลกพร้อมประเทศที่เยี่ยมชมและสถิติการเดินทาง', 'admin.addons.catalog.collab.name': 'ร่วมมือกัน', 'admin.addons.catalog.collab.description': 'บันทึก โพล แชท และข้อเสนอแนะในการวางแผนร่วมกัน', 'admin.addons.catalog.memories.name': 'ภาพถ่าย (อิมมิช)', 'admin.addons.catalog.memories.description': 'แบ่งปันภาพถ่ายการเดินทางผ่านอินสแตนซ์ Immich ของคุณ', 'admin.addons.catalog.mcp.name': 'เอ็มซีพี', 'admin.addons.catalog.mcp.description': 'Model Context Protocol สำหรับการบูรณาการผู้ช่วย AI', 'admin.addons.subtitleBefore': 'เปิดหรือปิดคุณสมบัติเพื่อปรับแต่งของคุณ ', 'admin.addons.subtitleAfter': ' ประสบการณ์', 'admin.addons.catalog.naver_list_import.name': 'การนำเข้ารายการ Naver', 'admin.addons.catalog.naver_list_import.description': 'นำเข้าสถานที่จากรายการ Naver Maps ที่แชร์', 'admin.addons.catalog.airtrail.name': 'แอร์เทรล', 'admin.addons.catalog.airtrail.description': 'ซิงค์เที่ยวบินจากอินสแตนซ์ AirTrail ของคุณ', 'admin.addons.catalog.llm_parsing.name': 'การแยกวิเคราะห์ AI', 'admin.addons.catalog.llm_parsing.description': 'อ่านการจองที่ parser ในตัวไม่สามารถทำได้ โดยใช้โมเดล AI ที่คุณเลือก', 'admin.addons.catalog.ai_assistant.name': 'ผู้ช่วย AI', 'admin.addons.catalog.ai_assistant.description': 'แชตในทุกทริปที่ตอบคำถามและเสนอการเปลี่ยนแปลงให้คุณยืนยัน', 'admin.addons.llm.vision.auto': 'อัตโนมัติ', 'admin.addons.llm.vision.on': 'ใช่', 'admin.addons.llm.vision.off': 'ไม่', 'admin.addons.llm.vision.hintLocal': 'โหมดอัตโนมัติจะถามเซิร์ฟเวอร์ Ollama ว่าโมเดลนี้อ่านรูปภาพได้หรือไม่', 'admin.addons.llm.vision.hintCloud': 'สำหรับโมเดลบนคลาวด์ โหมดอัตโนมัติหมายถึงไม่ เลือกใช่หากโมเดลนี้อ่านรูปภาพได้', 'admin.addons.enabled': 'เปิดใช้งานแล้ว', 'admin.addons.disabled': 'ปิดการใช้งาน', 'admin.addons.type.trip': 'การเดินทาง', 'admin.addons.type.global': 'ทั่วโลก', 'admin.addons.type.integration': 'การเชื่อมต่อ', 'admin.addons.tripHint': 'มีให้เลือกเป็นแท็บในแต่ละการเดินทาง', 'admin.addons.globalHint': 'พร้อมใช้งานเป็นส่วนสแตนด์อโลนในการนำทางหลัก', 'admin.addons.integrationHint': 'บริการแบ็กเอนด์และการผสานรวม API โดยไม่มีเพจเฉพาะ', 'admin.addons.toast.updated': 'อัพเดตแอดออนแล้ว', 'admin.addons.toast.error': 'ไม่สามารถอัปเดต addon', 'admin.addons.group.count': 'เปิดใช้งาน {enabled} จาก {total} แล้ว', 'admin.addons.search': 'ค้นหาส่วนเสริม', 'admin.addons.filter': 'แสดง', 'admin.addons.filter.all': 'ทั้งหมด', 'admin.addons.filter.on': 'เปิด', 'admin.addons.filter.off': 'ปิด', 'admin.addons.noMatch': 'ไม่มีส่วนเสริมที่ตรงกับการค้นหาหรือตัวกรอง', 'admin.addons.subOptions': '{count} ตัวเลือก', 'admin.addons.subOptionsOn': 'เปิดอยู่ {count}', 'admin.toursWanderer.title': 'wanderer', 'admin.toursWanderer.subtitle': 'ผู้ใช้เชื่อมต่ออินสแตนซ์ wanderer ของตนเองและนำเข้าเส้นทางเดินจากที่นั่นเป็นทัวร์ได้', 'admin.toursHikingMap.title': 'แผนที่เดินป่า (OpenHikingMap)', 'admin.toursHikingMap.subtitle': 'เสนอ OpenHikingMap เป็นแผนที่ฐานในตัววางแผนทัวร์ ใช้ฟรีสำหรับการติดตั้งที่ไม่ใช่เชิงพาณิชย์ได้ถึง 500,000 ไทล์ต่อเดือน การติดตั้งเชิงพาณิชย์หรือขนาดใหญ่กว่าต้องทำข้อตกลงกับ openmaps.fr ก่อน', 'admin.toursCycleMap.title': 'แผนที่จักรยาน (CyclOSM)', 'admin.toursCycleMap.subtitle': 'ให้ CyclOSM เป็นแผนที่พื้นฐานสำหรับทริปจักรยานในตัววางแผนทัวร์ OpenStreetMap France ให้บริการสำหรับการใช้งานปานกลาง การติดตั้งที่ใช้งานหนักหรือเชิงพาณิชย์ควรปิดไว้หรือทำข้อตกลงกับผู้ให้บริการก่อน', 'admin.toursSkiRouting.title': 'ตัววางเส้นทางลานสกี', 'admin.toursSkiRouting.subtitle': 'วางแผนทัวร์สกีตามลานสกี ลิฟต์ และเส้นทางด้วยข้อมูลลานสกีจากเซิร์ฟเวอร์ Places เมื่อปิด ช่วงทางของทัวร์สกีจะวาดเป็นเส้นตรง', 'admin.addons.noAddons': 'ไม่มีส่วนเสริมให้ใช้งาน', 'admin.weather.title': 'ข้อมูลสภาพอากาศ', 'admin.weather.badge': 'ตั้งแต่วันที่ 24 มีนาคม 2569', 'admin.weather.description': 'TREK ใช้ Open-Meteo เป็นแหล่งข้อมูลสภาพอากาศ Open-Meteo เป็นบริการสภาพอากาศแบบโอเพ่นซอร์สฟรี โดยไม่ต้องใช้คีย์ API', 'admin.weather.forecast': 'พยากรณ์อากาศ 16 วัน', 'admin.weather.forecastDesc': '5 วันก่อนหน้า (OpenWeatherMap)', 'admin.weather.climate': 'ข้อมูลสภาพภูมิอากาศในอดีต', 'admin.weather.climateDesc': 'ค่าเฉลี่ยจาก 85 ปีที่ผ่านมาสำหรับวันที่อยู่นอกเหนือการคาดการณ์ 16 วัน', 'admin.weather.requests': '10,000 คำขอ / วัน', 'admin.weather.requestsDesc': 'ฟรี ไม่ต้องใช้คีย์ API', 'admin.weather.locationHint': 'สภาพอากาศจะขึ้นอยู่กับสถานที่แรกพร้อมพิกัดในแต่ละวัน หากไม่มีการกำหนดสถานที่ในหนึ่งวัน สถานที่ใดๆ จากรายการสถานที่จะถูกนำมาใช้เป็นข้อมูลอ้างอิง', 'admin.tabs.mcpTokens': 'การเข้าถึง MCP', 'admin.mcpTokens.title': 'การเข้าถึง MCP', 'admin.mcpTokens.subtitle': 'จัดการเซสชัน OAuth และโทเค็น API ให้กับผู้ใช้ทั้งหมด', 'admin.mcpTokens.sectionTitle': 'โทเค็น API', 'admin.mcpTokens.owner': 'เจ้าของ', 'admin.mcpTokens.tokenName': 'ชื่อโทเค็น', 'admin.mcpTokens.created': 'สร้างแล้ว', 'admin.mcpTokens.lastUsed': 'ใช้ล่าสุด', 'admin.mcpTokens.never': 'ไม่เคย', 'admin.mcpTokens.empty': 'ยังไม่มีการสร้างโทเค็น MCP', 'admin.mcpTokens.deleteTitle': 'ลบโทเค็น', 'admin.mcpTokens.deleteMessage': 'การดำเนินการนี้จะเพิกถอนโทเค็นทันที ผู้ใช้จะสูญเสียการเข้าถึง MCP ผ่านโทเค็นนี้', 'admin.mcpTokens.deleteSuccess': 'ลบโทเค็นแล้ว', 'admin.mcpTokens.deleteError': 'ลบโทเค็นไม่สำเร็จ', 'admin.mcpTokens.loadError': 'โหลดโทเค็นไม่สำเร็จ', 'admin.oauthSessions.sectionTitle': 'เซสชัน OAuth', 'admin.oauthSessions.clientName': 'ลูกค้า', 'admin.oauthSessions.owner': 'เจ้าของ', 'admin.oauthSessions.scopes': 'ขอบเขต', 'admin.oauthSessions.created': 'สร้างแล้ว', 'admin.oauthSessions.empty': 'ไม่มีเซสชัน OAuth ที่ทำงานอยู่', 'admin.oauthSessions.revokeTitle': 'เพิกถอนเซสชัน', 'admin.oauthSessions.revokeMessage': 'การดำเนินการนี้จะเพิกถอนเซสชัน OAuth ทันที ไคลเอนต์จะสูญเสียการเข้าถึง MCP', 'admin.oauthSessions.revokeSuccess': 'เซสชันถูกเพิกถอน', 'admin.oauthSessions.revokeError': 'ไม่สามารถเพิกถอนเซสชันได้', 'admin.oauthSessions.loadError': 'โหลดเซสชัน OAuth ไม่สำเร็จ', 'admin.tabs.github': 'GitHub', 'admin.audit.subtitle': 'กิจกรรมที่คำนึงถึงความปลอดภัยและการดูแลระบบ (การสำรองข้อมูล ผู้ใช้ MFA การตั้งค่า)', 'admin.audit.empty': 'ยังไม่มีรายการตรวจสอบ', 'admin.audit.refresh': 'รีเฟรช', 'admin.audit.loadMore': 'โหลดเพิ่ม', 'admin.audit.showing': '{count} โหลดแล้ว, รวม {total}', 'admin.audit.col.time': 'เวลา', 'admin.audit.col.user': 'ผู้ใช้', 'admin.audit.col.action': 'การดำเนินการ', 'admin.audit.col.resource': 'ทรัพยากร', 'admin.audit.col.ip': 'ไอพี', 'admin.audit.col.details': 'รายละเอียด', 'admin.github.title': 'ประวัติการเผยแพร่', 'admin.github.subtitle': 'อัปเดตล่าสุดจาก {repo}', 'admin.github.latest': 'ล่าสุด', 'admin.github.prerelease': 'ก่อนเผยแพร่', 'admin.github.showDetails': 'แสดงรายละเอียด', 'admin.github.hideDetails': 'ซ่อนรายละเอียด', 'admin.github.loadMore': 'โหลดเพิ่ม', 'admin.github.loading': 'กำลังโหลด...', 'admin.github.error': 'ไม่สามารถโหลดรุ่นต่างๆ', 'admin.github.by': 'โดย', 'admin.github.support': 'ช่วยให้ฉันสร้าง TREK ต่อไป', 'admin.update.available': 'อัปเดตพร้อมใช้งาน', 'admin.update.text': 'TREK {version} มีจำหน่ายแล้ว คุณกำลังวิ่ง {current}', 'admin.update.button': 'ดูบน GitHub', 'admin.update.install': 'ติดตั้งอัปเดต', 'admin.update.confirmTitle': 'ติดตั้งอัพเดต?', 'admin.update.confirmText': 'TREK จะได้รับการอัปเดตจาก {current} เป็น {version} เซิร์ฟเวอร์จะรีสตาร์ทโดยอัตโนมัติหลังจากนั้น', 'admin.update.dataInfo': 'ข้อมูลทั้งหมดของคุณ (การเดินทาง ผู้ใช้ คีย์ API การอัปโหลด Vacay Atlas งบประมาณ) จะถูกเก็บไว้', 'admin.update.warning': 'แอปจะไม่สามารถใช้งานได้ในช่วงสั้นๆ ระหว่างการรีสตาร์ท', 'admin.update.confirm': 'อัปเดตทันที', 'admin.update.installing': 'กำลังอัปเดต...', 'admin.update.success': 'ติดตั้งอัปเดตแล้ว! เซิร์ฟเวอร์กำลังรีสตาร์ท...', 'admin.update.failed': 'การอัปเดตล้มเหลว', 'admin.update.backupHint': 'เราขอแนะนำให้สร้างข้อมูลสำรองก่อนที่จะอัปเดต', 'admin.update.backupLink': 'ไปที่การสำรองข้อมูล', 'admin.update.howTo': 'วิธีการอัพเดต', 'admin.update.dockerText': 'อินสแตนซ์ TREK ของคุณทำงานใน Docker หากต้องการอัปเดตเป็น {version} ให้รันคำสั่งต่อไปนี้บนเซิร์ฟเวอร์ของคุณ:', 'admin.update.nonDockerText': 'อินสแตนซ์ TREK นี้ไม่ได้ทำงานใน Docker หากต้องการอัปเดตเป็น {version} ให้เรียกใช้วิธีการติดตั้งหรืออัปเดตที่คุณใช้อีกครั้ง ตัวอย่างเช่น บน Proxmox Community Scripts ให้เรียกใช้การอัปเดตจากคอนโซล LXC:', 'admin.update.wikiLink': 'เปิดคู่มือการอัพเดต', 'admin.update.reloadHint': 'โปรดโหลดหน้านี้ใหม่ภายในไม่กี่วินาที', 'admin.tabs.permissions': 'สิทธิ์', 'admin.addons.catalog.journey.name': 'การเดินทาง', 'admin.addons.catalog.journey.description': 'ติดตามการเดินทางและบันทึกการเดินทางพร้อมการเช็คอิน รูปภาพ และเรื่องราวประจำวัน', 'admin.addons.catalog.collections.name': 'คอลเลกชัน', 'admin.addons.catalog.collections.description': 'รวบรวมสถานที่จากการเดินทางใดๆ ลงในรายการที่มีชื่อและนำกลับมาใช้ใหม่', 'admin.passkey.title': 'รหัสผ่านเข้าสู่ระบบ', 'admin.passkey.cardHint': 'อนุญาตให้ผู้ใช้ลงชื่อเข้าใช้ด้วยรหัสผ่าน (WebAuthn) ปิดโดยค่าเริ่มต้น', 'admin.passkey.login': 'เปิดใช้งานรหัสผ่านเข้าสู่ระบบ', 'admin.passkey.loginHint': 'แสดงตัวเลือก "ลงชื่อเข้าใช้ด้วยรหัสผ่าน" และให้ผู้ใช้ลงทะเบียนรหัสผ่านในการตั้งค่าของตน', 'admin.passkey.notConfigured': 'ยังไม่มีการแก้ไขโดเมน WebAuthn สำหรับการปรับใช้นี้ ตั้งค่า APP_URL หรือ Relying Party ID ด้านล่าง — พาสคีย์จะถูกซ่อนไว้จนกว่าจะถึงเวลานั้น', 'admin.passkey.rpId': 'Relying Party ID (โดเมน)', 'admin.passkey.rpIdHint': 'พาสคีย์โดเมนเปล่าถูกผูกไว้กับ เช่น trek.example.org เว้นว่างไว้เพื่อรับข้อมูลจาก APP_URL การเปลี่ยนแปลงในภายหลังจะทำให้พาสคีย์ที่มีอยู่เป็นโมฆะ', 'admin.passkey.origins': 'ต้นกำเนิดที่ได้รับอนุญาต', 'admin.passkey.originsHint': 'ต้นทางแบบเต็มที่คั่นด้วยเครื่องหมายจุลภาค เช่น https://trek.example.org. เว้นว่างไว้เพื่อใช้ APP_URL', 'admin.passkey.reset': 'รีเซ็ตพาสคีย์', 'admin.passkey.resetHint': 'ลบพาสคีย์ของผู้ใช้รายนี้ทั้งหมด (เช่น บนอุปกรณ์ที่สูญหาย) พวกเขายังสามารถลงชื่อเข้าใช้ด้วยรหัสผ่านได้', 'admin.passkey.resetConfirm': 'ลบรหัสผ่านทั้งหมดสำหรับ {name} หรือไม่', 'admin.passkey.resetDone': 'ลบพาสคีย์ {count} รายการแล้ว', 'admin.group.users': 'ผู้ใช้', 'admin.group.config': 'การกำหนดค่า', 'admin.group.integration': 'การเชื่อมต่อ', 'admin.group.maintenance': 'การบำรุงรักษา', 'admin.invite.tripLabel': 'เพิ่มในการเดินทาง (ไม่บังคับ)', 'admin.invite.tripNone': 'ไม่มีการเดินทาง', 'admin.invite.tripHint': 'ผู้ใช้ใหม่จะถูกเพิ่มในการเดินทางนี้โดยอัตโนมัติเมื่อลงทะเบียนผ่านลิงก์', 'admin.invite.boundTo': 'เพิ่มใน {trip}', 'admin.trekApi.badgeDefault': 'ค่าเริ่มต้นที่แนะนำ', 'admin.googleCaveat.badge': 'ไม่แนะนำ', 'admin.googleCaveat.body': 'TREK เป็นโอเพนซอร์ส และเราไม่ได้วางตัวเป็นกลางในเรื่องนี้ คะแนนและรูปภาพของธุรกิจทั่วไปในระดับนี้มีอยู่ที่ Google เท่านั้น ซึ่งก็คือการผูกขาด ช่องนี้มีไว้เพราะไม่มีทางเลือก ไม่ใช่เพราะเราแนะนำ ทุกการค้นหาจะส่งไปยัง Google', 'admin.trekApi.tagline': 'บริการของ TREK เอง ทั้งค้นหาสถานที่ ค้นหาที่อยู่ และวางเส้นทาง โดยไม่ต้องใช้คีย์ Google และไม่ต้องกรอกคีย์ใด ๆ ทุกการติดตั้งจะได้โควตารายวันที่เป็นธรรม และนับเฉพาะจำนวนคำขอเท่านั้น', 'admin.trekApi.factPlaces': '73.6 ล้านสถานที่ทั่วโลก', 'admin.trekApi.factNoKey': 'ไม่ต้องกรอกคีย์ โควตารายวันที่เป็นธรรม', 'admin.trekApi.factOffline': 'แพ็กเกจประเทศใช้งานแบบออฟไลน์ได้', 'admin.trekApi.factPrivacy': 'จะไม่บันทึกการค้นหา', 'admin.trekApi.factAddresses': 'ที่อยู่และเมืองทั่วโลก ใน 26 ภาษา', 'admin.trekApi.factRouting': 'เส้นทางทั้งขับรถ ปั่นจักรยาน และเดินเท้า พร้อมความสูง', 'admin.trekApi.addrStreets': 'ถนนและเลขที่บ้าน', 'admin.trekApi.addrTowns': 'เมืองและภูมิภาค', 'admin.trekApi.addrReverse': 'ที่อยู่ของจุดบนแผนที่', 'admin.trekApi.addrLanguages': '26 ภาษา', 'admin.trekApi.addressNote': 'ทุกที่อยู่ใน OpenStreetMap ทั้งขณะพิมพ์และจากจุดบนแผนที่', 'admin.trekApi.routeCar': 'ขับรถ', 'admin.trekApi.routeBike': 'ปั่นจักรยาน', 'admin.trekApi.routeFoot': 'เดินเท้า', 'admin.trekApi.routeAvoid': 'หลีกเลี่ยงทางด่วน ทางพิเศษ และเรือเฟอร์รี', 'admin.trekApi.routeElevation': 'โปรไฟล์ความสูง', 'admin.trekApi.routingNote': 'เส้นทางทั่วทั้งโลก สร้างใหม่ทุกเดือนจาก OpenStreetMap พร้อมความสูงจากไทล์ภูมิประเทศ', 'admin.trekApi.more': 'มีอะไรบ้าง', 'admin.trekApi.fieldPhone': 'โทรศัพท์', 'admin.trekApi.fieldStableId': 'รหัสประจำที่คงที่', 'admin.trekApi.includedNote': 'คำอธิบายมาจากเว็บไซต์ของสถานที่นั้นเอง และเวลาเปิดทำการมาจาก OpenStreetMap เมื่อมีการระบุไว้', 'admin.trekApi.notRatings': 'คะแนน', 'admin.trekApi.notPhotos': 'รูปภาพของธุรกิจทั่วไป', 'admin.trekApi.notIncludedNote': 'ไม่มีชุดข้อมูลเปิดใดมีข้อมูลทั้งสองอย่างนี้ ไม่ว่าจะราคาเท่าใด คีย์ Google จึงยังเป็นทางเดียวสำหรับข้อมูลทั้งสอง', 'admin.trekApi.sourcesLabel': 'แหล่งข้อมูล', 'admin.trekApi.sourcesNote': 'ทุกฟิลด์ในคำตอบจะระบุว่ามาจากแหล่งใด', 'admin.trekApi.included': 'รวมอยู่', 'admin.trekApi.notIncluded': 'ไม่รวมอยู่', 'admin.trekApi.quota.title': 'โควตาวันนี้', 'admin.trekApi.quota.used': 'ใช้ไปแล้ว', 'admin.trekApi.quota.remaining': 'คงเหลือ', 'admin.trekApi.quota.resets': 'รีเซ็ตเวลา', 'admin.trekApi.quota.limit': 'ขีดจำกัด', 'admin.trekApi.quota.key': 'คีย์', 'admin.trekApi.quota.state.connected': 'เชื่อมต่อแล้ว', 'admin.trekApi.quota.state.registering': 'กำลังตั้งค่า', 'admin.trekApi.quota.state.legacy': 'โควตาส่วนกลาง', 'admin.trekApi.quota.state.off': 'ปิดอยู่', 'admin.trekApi.quota.state.revoked': 'คีย์ถูกเพิกถอน', 'admin.trekApi.quota.tier.std': 'มาตรฐาน', 'admin.trekApi.quota.tier.hosted': 'โฮสต์ให้', 'admin.trekApi.quota.tier.own': 'อินสแตนซ์ของตัวเอง', 'admin.trekApi.quota.tier.legacy': 'ส่วนกลาง', 'admin.trekApi.quota.hint.registering': 'การติดตั้งนี้กำลังรับคีย์อยู่เบื้องหลัง ระหว่างนี้การค้นหายังใช้งานได้ตามปกติ', 'admin.trekApi.quota.hint.legacy': 'ยังไม่มีคีย์ การค้นหาจะใช้โควตาส่วนกลางจนกว่าการติดตั้งจะได้รับคีย์ในการค้นหาครั้งถัดไป', 'admin.trekApi.quota.hint.off': 'ไม่ได้ใช้งานบนอินสแตนซ์นี้: ปิดอยู่ หรือชี้ไปยังสำเนาของคุณเอง', 'admin.trekApi.quota.hint.revoked': 'คีย์ของการติดตั้งนี้ถูกเพิกถอนแล้ว การค้นหาจะใช้โควตาส่วนกลางจนกว่าคุณจะสร้างตัวตนใหม่', 'admin.trekApi.quota.unavailable': 'ไม่สามารถอ่านโควตาได้ในขณะนี้', 'admin.trekApi.quota.service.places': 'ค้นหาสถานที่', 'admin.trekApi.quota.service.photon': 'ค้นหาที่อยู่', 'admin.trekApi.quota.service.valhalla': 'การหาเส้นทาง', 'admin.trekApi.quota.notInUse': 'ไม่ได้ใช้บนอินสแตนซ์นี้', 'admin.trekApi.quota.envKey': 'คีย์มาจาก TREK_SERVICES_KEY', 'admin.trekApi.quota.regenerate': 'ตัวตนใหม่', 'admin.trekApi.quota.regenerateTitle': 'สร้างตัวตนใหม่หรือไม่?', 'admin.trekApi.quota.regenerateBody': 'การติดตั้งนี้จะทิ้งคีย์เดิมและขอคีย์ใหม่อยู่เบื้องหลัง ระหว่างนี้การค้นหายังใช้งานได้ตามปกติ มีประโยชน์หลังคัดลอกการติดตั้งไปยังเครื่องอื่น หรือเมื่อคีย์ถูกเพิกถอน', 'admin.trekApi.quota.regenerated': 'กำลังตั้งค่าตัวตนใหม่', 'admin.amapKey': 'คีย์ API ของ Amap (高德地图)', 'admin.amapKeyHint': 'สำหรับค้นหาสถานที่ในจีนแผ่นดินใหญ่ที่ Google ใช้ไม่ได้และ OpenStreetMap ครอบคลุมไม่มาก ต้องใช้คีย์ “Web 服务” (เว็บเซอร์วิส) ไม่ใช่คีย์ JS API รับได้ที่ console.amap.com', 'admin.keyFromEnv': 'ตั้งค่าผ่าน {name}', 'admin.placesProvider.title': 'ผู้ให้บริการค้นหาสถานที่', 'admin.placesProvider.subtitle': 'ดัชนีของ TREK และ OpenStreetMap ตอบทุกการค้นหา การตั้งค่านี้เลือกผู้ให้บริการอื่นที่จะถามเมื่อไม่พบข้อมูล: อัตโนมัติจะเลือก Google หากมีคีย์ แล้วจึง Amap', 'admin.placesProvider.auto': 'อัตโนมัติ', 'admin.placesProvider.google': 'Google Places', 'admin.placesProvider.amap': 'Amap (高德地图)', 'admin.placesProvider.openstreetmap': 'OpenStreetMap', 'admin.placesProvider.missingKey': 'ผู้ให้บริการที่เลือกยังไม่ได้ตั้งค่าคีย์ API ดังนั้นการค้นหาสถานที่จะใช้เพียงดัชนี TREK และ OpenStreetMap', 'admin.placesProvider.saved': 'บันทึกผู้ให้บริการค้นหาสถานที่แล้ว', 'admin.googleOptions': 'สิ่งที่คีย์นี้ใช้ได้', 'admin.googleOptionsSummary': 'เปิด {on} จาก {total}', 'admin.transitProvider.title': 'ผู้ให้บริการขนส่งสาธารณะ', 'admin.transitProvider.subtitle': 'บริการใดจะตอบการค้นหาการขนส่งสาธารณะ', 'admin.transitProvider.transitous': 'Transitous (ฟรี)', 'admin.transitProvider.google': 'Google', 'admin.transitProvider.transitousHint': 'ฟีด GTFS จากชุมชน ฟรีและไม่ต้องใช้คีย์ โดยครอบคลุมยุโรปได้ดีที่สุด', 'admin.transitProvider.googleHint': 'ใช้คีย์ Google API ด้านบนสำหรับภูมิภาคที่ Transitous ไม่มีข้อมูล คิดค่าบริการต่อการค้นหา; จะใช้ Transitous เมื่อยังไม่ได้ตั้งค่าคีย์', 'admin.transitProvider.noKeyWarning': 'เลือก Google แล้ว แต่ยังไม่ได้ตั้งค่าคีย์ Google API; การค้นหาการขนส่งยังใช้ Transitous อยู่ เพิ่มคีย์ในส่วนคีย์ API ด้านบน', 'admin.transitProvider.personalKeyWarning': 'ตั้งค่าเฉพาะคีย์ Google ของคุณเอง จึงทำให้การค้นหาของสมาชิกคนอื่นยังกลับไปใช้ Transitous บันทึกคีย์ด้านบนในฐานะผู้ดูแลเพื่อใช้กับทั้งอินสแตนซ์', 'admin.placeShadow.title': 'บันทึกการค้นหาสถานที่', 'admin.placeShadow.subtitle': 'บันทึกผลค้นหาที่ถูกเลือก เพื่อวัดดัชนีสถานที่อื่นกับการค้นหาจริงในอนาคต ข้อมูลจะไม่ออกจากอินสแตนซ์นี้ และผู้ดูแลส่งออกหรือลบบันทึกได้ทุกเมื่อ', 'admin.plugins.cap.search': 'ตอบการค้นหา', 'admin.plugins.cap.poiCategories': 'เพิ่มหมวดหมู่บนแผนที่', 'admin.addons.catalog.roadtrip.name': 'โรดทริป', 'admin.addons.catalog.roadtrip.description': 'วางแผนการขับรถด้วยจุดแวะตามเส้นทาง เวลาเดินทาง และเวลาไปถึงที่อัปเดตเอง', 'admin.addons.catalog.tours.name': 'ทัวร์', 'admin.addons.catalog.tours.description': 'เดินป่า ปั่นจักรยาน และทัวร์อื่นๆ ที่ไปตามเส้นทาง', 'admin.addons.catalog.dawarich.name': 'Dawarich', 'admin.addons.catalog.dawarich.description': 'อ่านการเยี่ยมชมและเส้นทางที่บันทึกจากอินสแตนซ์ Dawarich ที่ผู้อ่านแต่ละคนเชื่อมต่อเอง', 'admin.placesUsageTitle': 'คีย์นี้ใช้ทำอะไร', 'admin.mapsKeyHintShort': 'เพิ่มรูปภาพ คะแนน และเวลาเปิดทำการ ทุกการค้นหาจะส่งไปยัง Google', 'admin.amapKeyHintShort': 'สำหรับค้นหาสถานที่ในจีนแผ่นดินใหญ่ ต้องใช้คีย์เว็บเซอร์วิส ไม่ใช่คีย์ JS API', 'admin.collab.links.subtitle': 'ลิงก์และบุ๊กมาร์กที่แบ่งปัน', 'admin.paddleRegions.title': 'ข้อมูลแหล่งน้ำสำหรับพายเรือ', 'admin.paddleRegions.hint': 'ฝาย ประตูน้ำ และกฎการพายเรือจาก OpenStreetMap อ่านแยกตามภูมิภาคและอ่านใหม่ทุกเดือน', 'admin.paddleRegions.search': 'เพิ่มภูมิภาค', 'admin.paddleRegions.searchPlaceholder': 'ค้นหาใน Geofabrik เช่น Oberpfalz', 'admin.paddleRegions.noHits': 'ไม่มีภูมิภาคที่ใช้ชื่อนี้', 'admin.paddleRegions.added': 'เพิ่มแล้ว', 'admin.paddleRegions.empty': 'ยังไม่มีภูมิภาค ทริปพายเรือจะแสดงว่าไม่ทราบข้อมูลสิ่งกีดขวาง', 'admin.paddleRegions.status.queued': 'รอคิว', 'admin.paddleRegions.status.importing': 'กำลังอ่าน', 'admin.paddleRegions.status.ready': 'พร้อม', 'admin.paddleRegions.status.failed': 'ล้มเหลว', 'admin.paddleRegions.phase.download': 'กำลังดาวน์โหลด', 'admin.paddleRegions.phase.read': 'กำลังอ่าน', 'admin.paddleRegions.objects': '{count} รายการ', 'admin.paddleRegions.asOf': 'ข้อมูล ณ {date}', 'admin.paddleRegions.keptData': 'ข้อมูลที่อ่านไว้ก่อนหน้ายังคงใช้งานอยู่', 'admin.paddleRegions.refresh': 'อ่านใหม่', 'admin.paddleRegions.remove': 'ลบภูมิภาค', 'admin.paddleRegions.removeMessage': '{name} และข้อมูลสิ่งกีดขวางของภูมิภาคนี้จะถูกลบ ทริปพายเรือในพื้นที่นั้นจะไม่แสดงข้อมูล', 'admin.paddleRegions.retry': 'ลองอีกครั้ง', 'admin.paddleRegions.offline': 'จัดการภูมิภาคได้เฉพาะเมื่อมีการเชื่อมต่อเท่านั้น', 'admin.paddleRegions.catalogUnavailable': 'ไม่สามารถเชื่อมต่อ Geofabrik ได้ในขณะนี้ โปรดลองอีกครั้งภายหลัง', 'admin.paddleRegions.attribution': 'ข้อมูล © ผู้ร่วมให้ข้อมูล OpenStreetMap (ODbL) ชุดข้อมูลรายภูมิภาคจาก Geofabrik อ่านใหม่ทุกวันที่ 3 ของเดือน', 'admin.paddleRegions.toast.added': 'เพิ่มภูมิภาคแล้ว TREK จะอ่านข้อมูลในเบื้องหลัง', 'admin.paddleRegions.toast.removed': 'ลบภูมิภาคแล้ว', 'admin.paddleRegions.phase.build': 'กำลังสร้างเครือข่ายแหล่งน้ำ', 'admin.paddleRegions.network.km': 'แหล่งน้ำ {km} km', 'admin.paddleRegions.network.lakes': 'ทะเลสาบ {count} แห่ง', 'admin.paddleRegions.network.portages': 'จุดแบกเรือที่ทำแผนที่ไว้ {count} แห่ง', 'admin.paddleRegions.network.inferred': 'การแบกเรือที่สันนิษฐาน {count} ครั้ง', 'admin.paddleRegions.network.locks': 'ประตูน้ำ {count} แห่ง', 'admin.paddleRegions.network.gaps': 'ช่องว่างที่เชื่อมแล้ว {count} แห่ง', 'admin.paddleRegions.network.missing': 'ไม่มีเครือข่ายแหล่งน้ำ', 'admin.paddleRegions.network.missingHint': 'อ่านภูมิภาคอีกครั้งเพื่อสร้างเครือข่ายที่เส้นทางพายเรือใช้', 'admin.paddleRegions.auto.title': 'โหลดภูมิภาคอัตโนมัติ', 'admin.paddleRegions.auto.mode.auto': 'อัตโนมัติ', 'admin.paddleRegions.auto.mode.ask': 'ตามคำขอ', 'admin.paddleRegions.auto.mode.off': 'ปิด', 'admin.paddleRegions.auto.modeHint.auto': 'เมื่อมีคนวางแผนทริปพายเรือในที่ที่ยังไม่มีข้อมูลแหล่งน้ำ TREK จะโหลดภูมิภาคที่เล็กที่สุดที่เหมาะสมทันที ไม่เกินขนาดที่กำหนดและเพียงไม่กี่แห่งต่อวัน ภูมิภาคที่ใหญ่กว่าจะรออยู่ที่นี่เป็นคำขอ Geofabrik ได้รับเพียงชื่อภูมิภาค ไม่เคยได้รับตำแหน่ง', 'admin.paddleRegions.auto.modeHint.ask': 'ภูมิภาคใหม่ทุกแห่งจะรออยู่ที่นี่จนกว่าผู้ดูแลจะอนุญาต หากผู้ดูแลวางแผนเอง จะโหลดทันที', 'admin.paddleRegions.auto.modeHint.off': 'TREK จะไม่โหลดอะไรเองและไม่ขออะไร เพิ่มภูมิภาคที่นี่ด้วยตนเอง', 'admin.paddleRegions.auto.maxSize': 'ภูมิภาคที่ใหญ่ที่สุดที่โหลดอัตโนมัติ', 'admin.paddleRegions.auto.maxSizeHint': 'ภูมิภาคที่ใหญ่กว่าจะรออยู่ที่นี่เป็นคำขอ การอ่านภูมิภาคใช้เวลาสองสามนาทีและใช้หน่วยความจำระหว่างนั้น', 'admin.paddleRegions.requests.title': 'คำขอ', 'admin.paddleRegions.requests.reason.ask': 'ตามคำขอ', 'admin.paddleRegions.requests.reason.too_large': 'ใหญ่เกินไป', 'admin.paddleRegions.requests.reason.limit': 'ขีดจำกัดรายวัน', 'admin.paddleRegions.requests.declined': 'ถูกปฏิเสธ', 'admin.paddleRegions.requests.by': 'โดย {user}', 'admin.paddleRegions.requests.approve': 'โหลด', 'admin.paddleRegions.requests.decline': 'ปฏิเสธ', 'admin.paddleRegions.origin.auto': 'อัตโนมัติ', 'admin.paddleRegions.origin.autoHint': 'TREK โหลดภูมิภาคนี้เองสำหรับทริปพายเรือที่วางแผนไว้ที่นั่น', 'admin.mfa.reset': 'รีเซ็ต 2FA', 'admin.mfa.resetHint': 'ปิดการรับรองความถูกต้องด้วยสองปัจจัยของผู้ใช้รายนี้ เช่น หลังโทรศัพท์หาย ผู้ใช้จะถูกออกจากระบบทุกที่ และตั้งค่าใหม่ได้หลังเข้าสู่ระบบด้วยรหัสผ่าน', 'admin.mfa.resetConfirm': 'ปิดการรับรองความถูกต้องด้วยสองปัจจัยของ {name} หรือไม่', 'admin.mfa.resetDone': 'รีเซ็ตการรับรองความถูกต้องด้วยสองปัจจัยแล้ว', 'admin.danger.title': 'โซนอันตราย', 'admin.rotateJwt.title': 'หมุนเวียนรหัสลับ JWT', 'admin.rotateJwt.hint': 'สร้างรหัสลับสำหรับลงนาม JWT ใหม่ เซสชันที่ใช้งานอยู่ทั้งหมดจะถูกยกเลิกทันที', 'admin.rotateJwt.confirm': 'หมุนเวียนและออกจากระบบ', 'admin.rotateJwt.warning': 'คำเตือน การดำเนินการนี้จะทำให้ทุกเซสชันใช้ไม่ได้และคุณจะถูกออกจากระบบ', 'admin.rotateJwt.body': 'ระบบจะสร้างรหัสลับ JWT ใหม่ทันที ผู้ใช้ที่เข้าสู่ระบบอยู่ทุกคน รวมถึงคุณ จะถูกออกจากระบบและต้องเข้าสู่ระบบใหม่', 'admin.oidcDisplayNamePlaceholder': 'เช่น Google, Authentik, Keycloak', 'admin.oidcDiscoveryUrl': 'Discovery URL (ไม่บังคับ)', 'admin.oidcDiscoveryUrlHint': 'ใช้แทน discovery URL ที่สร้างอัตโนมัติ จำเป็นสำหรับผู้ให้บริการอย่าง Authentik ที่ endpoint ไม่ได้อยู่ที่ {path}', 'admin.smtp.skipTls': 'ข้ามการตรวจสอบใบรับรอง TLS', 'admin.smtp.skipTlsHint': 'เปิดใช้เมื่อเมลเซิร์ฟเวอร์ภายในใช้ใบรับรองที่ลงนามเอง', 'admin.demoBaseline.title': 'เบสไลน์เดโม', 'admin.demoBaseline.hint': 'บันทึกสถานะปัจจุบันเป็นจุดรีเซ็ตทุกชั่วโมง ทริปและการตั้งค่าของผู้ดูแลทั้งหมดจะถูกเก็บไว้', 'admin.demoBaseline.button': 'บันทึกเบสไลน์', 'admin.demoBaseline.saved': 'บันทึกเบสไลน์แล้ว! การรีเซ็ตจะกลับมาที่สถานะนี้', 'admin.demoBaseline.failed': 'บันทึกเบสไลน์ไม่สำเร็จ', 'admin.invite.deleteTitle': 'ลบลิงก์เชิญ', 'admin.invite.deleteConfirm': 'ลบลิงก์เชิญนี้หรือไม่ ผู้ที่ยังไม่ได้ใช้จะสมัครด้วยลิงก์นี้ไม่ได้อีก', 'admin.packingTemplates.deleteTemplateTitle': 'ลบเทมเพลต', 'admin.packingTemplates.deleteTemplateConfirm': 'ลบเทมเพลต "{name}" พร้อมทุกหมวดหมู่และรายการหรือไม่', 'admin.packingTemplates.deleteCategoryTitle': 'ลบหมวดหมู่', 'admin.packingTemplates.deleteCategoryConfirm': 'ลบหมวดหมู่ "{name}" และรายการทั้งหมดในหมวดนี้หรือไม่', 'admin.rotateJwt.button': 'หมุน', 'admin.addons.ai.name': 'AI', // same-as-en 'admin.addons.ai.description': 'การเชื่อมต่อเดียวสำหรับผู้ช่วยและการนำเข้าการจอง MCP ช่วยให้แอป AI อื่นใช้ TREK ได้', 'admin.addons.ai.setup': 'ตั้งค่า AI', 'admin.addons.ai.dialogSub': 'การเชื่อมต่อที่ผู้ช่วยและการวิเคราะห์ด้วย AI ใช้ร่วมกัน และสิ่งที่แต่ละอย่างทำได้', 'admin.addons.ai.tab.connection': 'การเชื่อมต่อ', 'admin.addons.ai.parsing.readsWith': 'อ่านการจองด้วย', 'admin.addons.ai.parsing.own': 'การเชื่อมต่อของตัวเอง', 'admin.addons.ai.parsing.ownHint': 'ใช้แทนการเชื่อมต่อที่ใช้ร่วมกัน', 'admin.addons.ai.parsing.useShared': 'ใช้การเชื่อมต่อที่ใช้ร่วมกัน', 'admin.addons.ai.parsing.sharedTag': 'ใช้ร่วมกัน', 'admin.addons.ai.parsing.perUser': 'แต่ละคนอ่านด้วยการเชื่อมต่อของตนเองจากการตั้งค่าของตน', 'admin.addons.ai.parsing.none': 'ยังไม่มีการเชื่อมต่อ ตั้งค่าหนึ่งรายการสำหรับทุกคน หรือให้การวิเคราะห์ด้วย AI มีของตัวเอง', 'admin.addons.ai.parsing.setupOwn': 'ใช้รายการอื่น', 'admin.addons.ai.parsing.installed': 'ติดตั้งบนเซิร์ฟเวอร์แล้ว', 'admin.addons.ai.parsing.refresh': 'รีเฟรช', 'admin.addons.ai.parsing.noModels': 'ยังไม่มีโมเดลที่ติดตั้ง ดาวน์โหลดได้ด้านล่าง', 'admin.addons.ai.parsing.pullTitle': 'ดาวน์โหลดโมเดลที่แนะนำ', 'admin.addons.ai.parsing.pull': 'ดาวน์โหลด', 'admin.addons.ai.parsing.pulling': 'กำลังดาวน์โหลด…', 'admin.addons.ai.parsing.use': 'ใช้', 'admin.addons.ai.parsing.selected': 'เลือกแล้ว', 'admin.addons.ai.parsing.pulled': 'ดาวน์โหลดโมเดลแล้ว', 'admin.addons.ai.parsing.pullFailed': 'ดาวน์โหลดโมเดลไม่สำเร็จ', 'admin.addons.ai.parsing.unreachable': 'เข้าถึงเซิร์ฟเวอร์ภายในไม่ได้', 'admin.addons.ai.parsing.apiKeyOptional': 'โดยทั่วไปไม่จำเป็น', 'admin.contribute.title': 'แชร์รายละเอียดสถานที่', 'admin.contribute.status.active': 'กำลังแชร์', 'admin.contribute.status.paused': 'หยุดชั่วคราว', 'admin.contribute.status.off': 'ปิด', 'admin.contribute.status.unavailable': 'ไม่พร้อมใช้งาน', 'admin.contribute.noteActive': 'สิ่งที่ผู้ใช้ของคุณพิมพ์เกี่ยวกับสถานที่จะไปถึง TREK ทุกที่หลังผ่านการตรวจสอบ ขอบคุณที่ช่วยเหลือ', 'admin.contribute.noteOff': 'ให้สิ่งที่ผู้ใช้ของคุณพิมพ์เกี่ยวกับสถานที่ช่วยทำให้ TREK Places API ดีขึ้นสำหรับทุกคน', 'admin.contribute.ineligible.env_off': 'ปิดสำหรับการติดตั้งนี้โดย TREK_PLACES_CONTRIBUTE', 'admin.contribute.ineligible.not_production': 'มีเพียงการติดตั้งสำหรับใช้งานจริงเท่านั้นที่แชร์รายละเอียดสถานที่ได้', 'admin.contribute.ineligible.demo': 'การติดตั้งเดโมไม่แชร์รายละเอียดสถานที่', 'admin.contribute.ineligible.index_off': 'การแชร์ต้องใช้ดัชนี TREK เป็นแหล่งข้อมูลสถานที่', 'admin.contribute.ineligible.custom_places_url': 'การติดตั้งนี้ใช้ Places API ของตัวเอง จึงไม่มีปลายทางให้แชร์', 'admin.contribute.ineligible.services_off': 'บริการของ TREK ถูกปิดสำหรับการติดตั้งนี้', 'admin.contribute.ineligible.no_key': 'การติดตั้งนี้ยังไม่มีคีย์บริการ ระบบจะขอให้โดยอัตโนมัติ', 'admin.contribute.pause.key_invalid': 'หยุดชั่วคราว: บริการไม่ยอมรับคีย์ของการติดตั้งนี้', 'admin.contribute.pause.key_refused': 'หยุดชั่วคราว: บริการปฏิเสธคีย์ของการติดตั้งนี้ คีย์ใหม่จะทำให้การแชร์กลับมาทำงาน', 'admin.contribute.pause.not_accepting': 'หยุดชั่วคราว: ขณะนี้บริการไม่รับข้อมูล ค่าที่รออยู่จะถูกส่งภายหลัง', 'admin.contribute.field.website': 'เว็บไซต์', 'admin.contribute.field.phone': 'โทรศัพท์', 'admin.contribute.field.email': 'อีเมล', 'admin.contribute.field.opening_hours': 'เวลาทำการ', 'admin.contribute.field.description': 'คำอธิบาย', 'admin.contribute.field.image': 'รูปภาพ', 'admin.contribute.figure.accepted': 'ยอมรับแล้ว', 'admin.contribute.figure.acceptedInfo': 'ค่าที่บริการรับไว้ใน 30 วันที่ผ่านมา', 'admin.contribute.figure.queue': 'รออยู่', 'admin.contribute.figure.queueFull': 'คิวเต็มแล้ว ค่าใหม่จะรอจนกว่าคิวจะมีที่ว่าง', 'admin.contribute.figure.last': 'ยอมรับล่าสุด', 'admin.contribute.never': 'ไม่เคย', 'admin.contribute.log.title': 'บันทึกการส่งข้อมูล', 'admin.contribute.log.result': 'ผลลัพธ์', 'admin.contribute.log.field': 'ช่อง', 'admin.contribute.log.allResults': 'ทุกผลลัพธ์', 'admin.contribute.log.allFields': 'ทุกช่อง', 'admin.contribute.log.empty': 'ยังไม่ได้ส่งอะไร', 'admin.contribute.log.failed': 'โหลดบันทึกไม่สำเร็จ', 'admin.contribute.log.previous': 'หน้าก่อนหน้า', 'admin.contribute.log.next': 'หน้าถัดไป', 'admin.contribute.result.accepted': 'ยอมรับแล้ว', 'admin.contribute.result.duplicate': 'รู้จักอยู่แล้ว', 'admin.contribute.result.rejected': 'ถูกปฏิเสธ', 'admin.contribute.result.withheld': 'ไม่ได้ส่ง', 'admin.contribute.result.retracted': 'ถอนคืนแล้ว', 'admin.contribute.withdraw': 'ถอนข้อมูลที่ส่งไปทั้งหมด', 'admin.contribute.withdrawTitle': 'ถอนทั้งหมดหรือไม่', 'admin.contribute.withdrawMessage': 'ค่าทุกอย่างที่การติดตั้งนี้ส่งไปจะถูกลบออกจาก TREK Places API และค่าที่รออยู่จะถูกทิ้ง สถานที่ยังคงมีรายละเอียดอยู่ที่นี่', 'admin.contribute.withdrawn': 'ถอนออกจากดัชนีแล้ว: {total}', 'admin.contribute.offTitle': 'หยุดแชร์หรือไม่', 'admin.contribute.offMessage': 'จะไม่มีการส่งข้อมูลเพิ่ม และค่าที่รออยู่จะถูกทิ้ง สิ่งที่ถูกยอมรับไปแล้วจะยังอยู่ในดัชนี เว้นแต่คุณจะถอนคืน', 'admin.contribute.offConfirm': 'หยุดแชร์', 'admin.contribute.refused.terms_outdated': 'ข้อกำหนดมีการเปลี่ยนแปลงระหว่างนี้ กรุณาอ่านอีกครั้ง', 'admin.contribute.refused.no_field': 'เลือกอย่างน้อยหนึ่งช่องเพื่อแชร์', 'admin.contribute.prompt.title': 'ช่วยให้ทุก TREK รู้จักสถานที่ได้ดียิ่งขึ้น', 'admin.contribute.prompt.lead': 'เมื่อมีคนที่นี่เพิ่มเว็บไซต์ หมายเลขโทรศัพท์ เวลาทำการ หรือคำอธิบายให้กับสถานที่ TREK สามารถส่งต่อข้อมูลนั้นได้ หลังผ่านการตรวจสอบ ทุกการติดตั้ง TREK จะแสดงข้อมูลนี้ และของคุณก็จะได้รับสิ่งที่คนอื่นเพิ่มกลับมาเช่นกัน', 'admin.contribute.prompt.why': 'TREK Places API ใช้ได้ฟรีและไม่ต้องใช้คีย์ Google เพราะสร้างจากข้อมูลเปิด ทุกรายละเอียดที่คุณแชร์ช่วยให้ดีขึ้นสำหรับนักเดินทางนับพันคน ขอบคุณที่ร่วมเป็นส่วนหนึ่ง', 'admin.contribute.prompt.whatLabel': 'สิ่งที่แชร์', 'admin.contribute.prompt.imageNote': 'รูปภาพจะมีคนตรวจดูด้วยตัวเองก่อนที่ใครจะเห็น คุณเปลี่ยนทุกสวิตช์ได้ภายหลัง', 'admin.contribute.prompt.neverLabel': 'ไม่แชร์เด็ดขาด', 'admin.contribute.never.notes': 'บันทึก', 'admin.contribute.never.files': 'ไฟล์และสิ่งที่แนบ', 'admin.contribute.never.trips': 'ทริป วัน และการจอง', 'admin.contribute.never.people': 'ชื่อ อีเมล และบัญชี', 'admin.contribute.never.providers': 'รายละเอียดที่ Google หรือผู้ให้บริการรายอื่นกรอกไว้', 'admin.contribute.prompt.how': 'เฉพาะสิ่งที่ผู้ใช้ของคุณพิมพ์เอง และเฉพาะสถานที่ที่ดัชนีรู้จัก จะไม่มีผู้ใช้ ทริป หรือบัญชีติดไปด้วย บันทึกแสดงทุกการส่งข้อมูล และคุณปิดบางช่องหรือถอนทั้งหมดได้ทุกเมื่อ', 'admin.contribute.prompt.openRegistration': 'การติดตั้งนี้เปิดให้ลงทะเบียน ใครก็ตามที่มีบัญชีจึงพิมพ์รายละเอียดได้ ทุกค่าจะถูกตรวจสอบก่อนเผยแพร่', 'admin.contribute.prompt.footnote': 'คุณเป็นผู้ตัดสินใจเรื่องนี้ให้ทั้งการติดตั้ง ผู้ใช้ของคุณจะไม่ถูกถาม', 'admin.contribute.prompt.agree': 'ตกลงและแชร์', 'admin.contribute.prompt.snooze': 'ไว้ก่อน', 'admin.contribute.prompt.decline': 'ไม่ ขอบคุณ', 'admin.contribute.prompt.thanks': 'ขอบคุณ ตอนนี้รายละเอียดสถานที่ถูกแชร์แล้ว', 'admin.servicesCard.title': 'การค้นหาสถานที่และเส้นทาง', 'admin.servicesCard.hint': 'บริการของ TREK เอง ผู้ให้บริการที่ตอบการค้นหาและการขนส่งสาธารณะ และบันทึกการค้นหา', }; export default admin;