Files
TREK/shared/src/i18n/th/admin.ts
T
Maurice 123e27643d feat(assistant): one AI tile for assistant, parsing and MCP, a planner-aware chat
The three AI addons share one tile in the integration column; a dialog holds
the connection, the assistant's limits and AI parsing, which now reads with
the assistant's connection unless an install keeps its own. Existing parsing
configs stay where they are and keep winning.

The chat sees the map on screen, offers next questions under an answer,
shows its live step in the window head, previews waiting changes inside the
day list, checks whether a day still works, folds a multi-day plan into a
week grid, keeps per-trip notes and can estimate costs. An empty or cut-off
answer gets one push instead of ending silently, and the assistant's own
step and size limits are raised.
2026-10-22 21:30:26 +00:00

948 lines
120 KiB
TypeScript

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.incompatible': 'เข้ากันไม่ได้',
'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.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.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.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': 'โดยทั่วไปไม่จำเป็น',
};
export default admin;