{
  "projectHistory": {
    "title": "ประวัติโปรเจกต์",
    "description": "เรียกดูสแนปช็อตที่บันทึกอัตโนมัติไว้บนอุปกรณ์นี้",
    "empty": "ยังไม่มีสแนปช็อตที่บันทึกอัตโนมัติ",
    "summary": "{{count}} เลเยอร์ · ระดับซูม {{zoom}}",
    "restore": "กู้คืน",
    "discard": "ทิ้ง",
    "restoreError": "ไม่สามารถกู้คืนสแนปช็อตนี้ได้ ไฟล์อาจเสียหายหรือไม่รองรับกับ GeoLibre เวอร์ชันนี้",
    "recoveryTitle": "กู้คืนงานที่ยังไม่ได้บันทึกหรือไม่?",
    "recoveryDescription": "GeoLibre ปิดลงไม่สมบูรณ์ พบไฟล์บันทึกอัตโนมัติของ “{{name}}” ที่ใหม่กว่า"
  },
  "browser": {
    "title": "เบราว์เซอร์",
    "services": "บริการ",
    "recent": "ล่าสุด",
    "databases": "ฐานข้อมูล",
    "newDatabaseConnection": "การเชื่อมต่อฐานข้อมูลใหม่",
    "searchPlaceholder": "ค้นหาแหล่งข้อมูล",
    "empty": "ยังไม่มีบริการที่บันทึกไว้หรือโปรเจกต์ล่าสุด",
    "emptyGroup": "ว่าง",
    "noMatches": "ไม่พบรายการที่ตรงกัน",
    "addFailed": "ไม่สามารถเพิ่มแหล่งข้อมูลนี้ได้",
    "builtinBadge": "ในตัว",
    "newConnection": "การเชื่อมต่อ {{kind}} ใหม่",
    "loadingTables": "กำลังโหลดตาราง…",
    "files": "ไฟล์",
    "addFolder": "เพิ่มโฟลเดอร์",
    "addFolderFailed": "ไม่สามารถเพิ่มโฟลเดอร์นี้ได้",
    "addFileFailed": "ไม่สามารถเพิ่มไฟล์นี้ได้",
    "loadFolderFailed": "ไม่สามารถอ่านโฟลเดอร์นี้ได้",
    "unpinFolder": "นำ “{{name}}” ออกจากรายการ",
    "loadingFolder": "กำลังโหลด…",
    "folderTruncated": "กำลังแสดง {{shown}} รายการแรกจากทั้งหมด {{total}}",
    "favorites": "รายการโปรด",
    "favorite": "เพิ่ม “{{name}}” ลงในรายการโปรด",
    "unfavorite": "นำ “{{name}}” ออกจากรายการโปรด",
    "favoriteMissing": "ไม่พบแหล่งข้อมูลนั้นแล้ว — จึงนำออกจากรายการโปรด",
    "myData": "ข้อมูลของฉัน",
    "renameLibraryLayer": "เปลี่ยนชื่อ “{{name}}”",
    "deleteLibraryLayer": "นำ “{{name}}” ออกจากข้อมูลของฉัน",
    "desktopOnlyBadge": "เดสก์ท็อป",
    "importLibrary": "นำเข้าเลเยอร์ที่บันทึกไว้",
    "exportLibrary": "ส่งออกเลเยอร์ที่บันทึกไว้",
    "libraryFilterName": "ไฟล์ JSON คลังเลเยอร์",
    "libraryImportFailed": "ไม่สามารถอ่านไฟล์คลังเลเยอร์นี้ได้",
    "libraryExportFailed": "ไม่สามารถส่งออกคลังเลเยอร์ได้",
    "libraryLayerMissing": "ไม่พบเลเยอร์ที่บันทึกไว้นั้นแล้ว",
    "libraryLayerNeedsDesktop": "เลเยอร์ที่บันทึกไว้นี้อ่านไฟล์จากดิสก์ จึงต้องใช้ GeoLibre Desktop กรุณาเพิ่มไฟล์อีกครั้งเพื่อบันทึกรายการใหม่",
    "libraryLayerConfigNotApplied": "เพิ่มไฟล์สำหรับ “{{name}}” แล้ว แต่ไม่สามารถจับคู่รูปแบบการแสดงผลที่บันทึกไว้กับเลเยอร์ใดเลเยอร์หนึ่งได้ จึงไม่ได้นำมาใช้",
    "libraryLayerJoinsUnresolved_other": "เพิ่มเลเยอร์แล้ว แต่มีการเชื่อมข้อมูลที่บันทึกไว้ {{count}} รายการที่นำมาใช้ใหม่ไม่ได้ เนื่องจากเลเยอร์ปลายทางไม่อยู่ในโปรเจกต์นี้"
  },
  "about": {
    "trigger": "เกี่ยวกับ",
    "title": "เกี่ยวกับ GeoLibre",
    "description": "GeoLibre คือแพลตฟอร์ม GIS แบบ cloud-native ที่มีขนาดเบา",
    "version": "เวอร์ชัน",
    "checkForUpdates": "ตรวจหาการอัปเดต",
    "tryAgain": "ลองอีกครั้ง",
    "checking": "กำลังตรวจหาการอัปเดต",
    "upToDate": "คุณใช้เวอร์ชันล่าสุดอยู่แล้ว ({{version}})",
    "upToDateNoVersion": "คุณใช้เวอร์ชันล่าสุดอยู่แล้ว",
    "generalSectionTitle": "ทั่วไป",
    "homePage": "หน้าแรก",
    "githubRepository": "ที่เก็บโค้ดบน GitHub"
  },
  "updates": {
    "changelogTitle": "มีอะไรใหม่",
    "noChangelog": "ไม่มีบันทึกการเปลี่ยนแปลงของรุ่นนี้ ดูรายละเอียดได้ที่หน้าดาวน์โหลด",
    "stepsTitle": "วิธีอัปเดต",
    "download": "ดาวน์โหลดการอัปเดต",
    "steps": {
      "download": "ดาวน์โหลดตัวติดตั้งสำหรับแพลตฟอร์มของคุณจากหน้าดาวน์โหลด",
      "install": "เรียกใช้ตัวติดตั้ง โปรเจกต์ในเครื่อง การตั้งค่า และคีย์ API ของคุณจะยังคงอยู่",
      "reopen": "เปิด GeoLibre ใหม่เพื่อทำการอัปเดตให้เสร็จสิ้น"
    },
    "severity": {
      "major": "รุ่นใหญ่",
      "minor": "อัปเดตฟีเจอร์",
      "patch": "อัปเดตแก้ไขข้อบกพร่อง"
    },
    "available": {
      "title": "มีเวอร์ชัน {{version}} ให้ใช้งานแล้ว",
      "fallback": "เวอร์ชันใหม่",
      "summary": "คุณกำลังใช้เวอร์ชัน {{current}}"
    },
    "error": {
      "message": "ไม่สามารถตรวจหาการอัปเดตได้",
      "rateLimit": "เกินขีดจำกัดการเรียกใช้ของ GitHub กรุณาลองใหม่ในภายหลัง",
      "http": "GitHub ตอบกลับด้วยสถานะ {{status}}",
      "noTag": "รุ่นล่าสุดไม่มีแท็กระบุเวอร์ชัน",
      "network": "ไม่สามารถเชื่อมต่อ GitHub ได้ กรุณาตรวจสอบการเชื่อมต่อแล้วลองใหม่",
      "viewDownloads": "ดูรายการดาวน์โหลด",
      "viewDownloadsHint": "เปิดหน้าดาวน์โหลดของ GeoLibre ในเบราว์เซอร์เพื่อให้คุณตรวจสอบเวอร์ชันล่าสุดด้วยตนเอง"
    },
    "startup": {
      "title": "มีการอัปเดต",
      "currentVersion": "เวอร์ชันปัจจุบันของคุณ",
      "latestVersion": "เวอร์ชันล่าสุดที่มีให้ใช้งาน",
      "download": "ดาวน์โหลดแพ็กเกจอัปเดต",
      "remindLater": "เตือนฉันภายหลัง",
      "skipVersion": "ข้ามเวอร์ชันนี้",
      "settingsHint": "คุณเปลี่ยนการตรวจหาการอัปเดตได้ที่ ตั้งค่า → การอัปเดต"
    }
  },
  "masBuild": {
    "unavailable": "ฟีเจอร์นี้ไม่มีให้ใช้งานใน GeoLibre Desktop เวอร์ชัน Mac App Store"
  },
  "bookmark": {
    "captureStateLabel": "รวมสถานะเลเยอร์ทั้งหมด (เปิด ปิด และลำดับเลเยอร์)",
    "captureStateTooltip": "มีผลกับบุ๊กมาร์กที่คุณจะบันทึกครั้งถัดไป ไม่ใช่การตั้งค่าส่วนกลาง เปิดไว้เพื่อให้กู้คืนการจัดเรียงเลเยอร์แบบนี้ได้ในภายหลัง",
    "export": "ส่งออก",
    "exportSelected": "ส่งออกรายการที่เลือก",
    "exportAll": "ส่งออกทั้งหมด",
    "newFolder": "โฟลเดอร์ใหม่",
    "defaultFolderName": "โฟลเดอร์"
  },
  "managePlugins": {
    "failed": "ล้มเหลว",
    "failedToLoad": "โหลดไม่สำเร็จ: {{message}}",
    "trust": {
      "title": "โหลดปลั๊กอินจากโปรเจกต์นี้หรือไม่?",
      "description_other": "โปรเจกต์นี้ต้องการโหลดปลั๊กอินภายนอก {{count}} รายการจาก URL ที่คุณยังไม่ได้ติดตั้ง ปลั๊กอินจะเรียกใช้โค้ดโดยเข้าถึงแอปได้อย่างเต็มที่",
      "warning": "โหลดปลั๊กอินจากแหล่งที่คุณเชื่อถือเท่านั้น ปลั๊กอินที่โหลดแล้วจะทำงานด้วยสิทธิ์เดียวกับตัว GeoLibre เอง",
      "trustButton": "เชื่อถือและโหลด",
      "dismissButton": "ไม่โหลด"
    },
    "title": "จัดการปลั๊กอิน",
    "searchAria": "ค้นหาปลั๊กอิน",
    "searchPlaceholder": "ค้นหาปลั๊กอิน",
    "refresh": "รีเฟรช",
    "loadingRegistry": "กำลังโหลดรีจิสทรี…",
    "registryEmpty": "ไม่มีปลั๊กอินอยู่ในรีจิสทรี",
    "noPluginsHere": "ไม่มีปลั๊กอินที่นี่",
    "sectionAll": "ทั้งหมด ({{total}})",
    "sectionInstalled": "ติดตั้งแล้ว ({{total}})",
    "sectionNotInstalled": "ยังไม่ได้ติดตั้ง ({{total}})",
    "sectionUpgradeable": "อัปเกรดได้ ({{total}})",
    "sectionSettings": "การตั้งค่า",
    "openHomepageAria": "เปิดหน้าแรกของ {{name}}",
    "byAuthor": "โดย {{author}}",
    "updateAvailable": "มีการอัปเดต",
    "requiresVersion": "ต้องใช้ GeoLibre {{version}} ขึ้นไป",
    "install": "ติดตั้ง",
    "installAria": "ติดตั้ง {{name}}",
    "removeConfirm": "นำออกหรือไม่?",
    "uninstall": "ถอนการติดตั้ง",
    "uninstallAria": "ถอนการติดตั้ง {{name}}",
    "confirmUninstallAria": "ยืนยันการถอนการติดตั้ง {{name}}",
    "update": "อัปเดต",
    "updateAria": "อัปเดต {{name}}",
    "loading": "กำลังโหลด…",
    "installed": "ติดตั้งแล้ว",
    "settingsIntro": "GeoLibre จะสแกนไดเรกทอรีปลั๊กอินในข้อมูลแอปเสมอ คุณสามารถติดตั้งปลั๊กอินที่แพ็กมาแล้ว (.zip) จากไฟล์ หรือเพิ่มไดเรกทอรีในเครื่องเพิ่มเติมได้ (เฉพาะเดสก์ท็อป) ส่วน URL ของ manifest (รวมถึงการติดตั้งจากมาร์เก็ตเพลส) จะโหลดผ่านเครือข่าย การเปลี่ยนแปลงที่นี่มีผลทันที",
    "installFromFile": "ติดตั้งจากไฟล์",
    "chooseZip": "เลือกไฟล์ .zip…",
    "installFromFileHintDesktop": "คัดลอกไฟล์ปลั๊กอินที่แพ็กมาแล้วไปยังไดเรกทอรีปลั๊กอินของ GeoLibre",
    "installFromFileHintWeb": "โหลดไฟล์ปลั๊กอินที่แพ็กมาแล้ว โดยจะเก็บไว้ในเบราว์เซอร์ของคุณและโหลดใหม่ในการเข้าใช้งานครั้งถัดไป",
    "localDirectories": "ไดเรกทอรีในเครื่อง",
    "directoryAria": "ไดเรกทอรีปลั๊กอิน",
    "browseDirectoryAria": "เรียกดูไดเรกทอรีปลั๊กอิน",
    "noDirectories": "ยังไม่ได้ตั้งค่าไดเรกทอรีปลั๊กอินเพิ่มเติม",
    "manifestUrls": "URL ของ manifest",
    "manifestUrlAria": "URL ของ manifest ปลั๊กอิน",
    "noManifestUrls": "ยังไม่ได้ตั้งค่า URL ของ manifest ปลั๊กอิน",
    "removeAria": "นำ {{name}} ออก",
    "errorLoadRegistry": "ไม่สามารถโหลดรีจิสทรีปลั๊กอินได้",
    "errorUpdate": "ไม่สามารถอัปเดตปลั๊กอินได้",
    "errorDirectoryPicker": "ไม่สามารถเปิดตัวเลือกไดเรกทอรีได้",
    "errorInstall": "ไม่สามารถติดตั้งปลั๊กอินได้",
    "errorUninstall": "ไม่สามารถถอนการติดตั้งปลั๊กอินได้",
    "description": "เรียกดู ติดตั้ง อัปเดต และนำปลั๊กอินภายนอกของ GeoLibre ออก ปลั๊กอินทั้งหมดแสดงอยู่ใน<registryLink>รีจิสทรีปลั๊กอินของ GeoLibre</registryLink>"
  },
  "viewState": {
    "panelTitle": "ข้อมูล"
  },
  "terrainMeasure": {
    "title": "ภูมิประเทศ (3 มิติ)",
    "surfaceDistance": "ระยะทางตามพื้นผิว",
    "surfaceArea": "พื้นที่ผิว",
    "elevationGainLoss": "ระยะไต่ขึ้น / ลง",
    "elevationRange": "ความสูงต่ำสุด / สูงสุด",
    "meanSlope": "ความชันเฉลี่ย",
    "computing": "กำลังคำนวณภูมิประเทศ…",
    "partialData": "ตัวอย่างบางจุดไม่มีข้อมูลภูมิประเทศ"
  },
  "fileNamePrompt": {
    "title": "บันทึกไฟล์เป็น",
    "description": "ป้อนชื่อไฟล์ ไฟล์จะถูกดาวน์โหลดไปยังโฟลเดอร์ดาวน์โหลดของเบราว์เซอร์คุณ",
    "label": "ชื่อไฟล์"
  },
  "newProject": {
    "basemapDescription": "เลือกแผนที่ฐานจาก OpenFreeMap หรือ Protomaps พื้นหลังเปล่า หรือ URL สไตล์ของ MapLibre",
    "basemapDescriptionNoProtomaps": "เลือกแผนที่ฐานจาก OpenFreeMap พื้นหลังเปล่า หรือ URL สไตล์ของ MapLibre",
    "sectionOpenFreeMap": "OpenFreeMap",
    "sectionProtomaps": "Protomaps",
    "sectionOther": "อื่น ๆ",
    "customUrlButton": "URL ที่กำหนดเอง",
    "invalidCustomUrl": "ป้อน URL ของ style.json หรือ .pmtiles ที่ถูกต้อง",
    "savePromptTitle": "บันทึกโปรเจกต์ปัจจุบันหรือไม่?",
    "savePromptDescription": "โปรเจกต์ปัจจุบันมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึก ต้องการบันทึกก่อนสร้างโปรเจกต์ใหม่หรือไม่?",
    "doNotSave": "ไม่บันทึก",
    "saving": "กำลังบันทึก...",
    "title": "โปรเจกต์ใหม่",
    "projectName": "ชื่อโปรเจกต์",
    "savedTemplates": "เทมเพลตที่บันทึกไว้",
    "deleteTemplate": "ลบเทมเพลต",
    "basemapLabel": "แผนที่ฐาน",
    "create": "สร้าง"
  },
  "basemapPicker": {
    "title": "เปลี่ยนแผนที่ฐาน",
    "applyCustom": "ใช้งาน",
    "invalidUrl": "ป้อน URL สไตล์แบบ HTTP หรือ HTTPS ที่ถูกต้อง",
    "sectionMoon": "ดวงจันทร์",
    "sectionMars": "ดาวอังคาร",
    "sectionOther": "เทหวัตถุอื่น ๆ"
  },
  "planetSwitcher": {
    "label": "เทหวัตถุ",
    "earth": "โลก",
    "mercury": "ดาวพุธ",
    "venus": "ดาวศุกร์",
    "moon": "ดวงจันทร์",
    "mars": "ดาวอังคาร",
    "io": "ไอโอ",
    "europa": "ยูโรปา",
    "ganymede": "แกนีมีด",
    "callisto": "คัลลิสโต",
    "titan": "ไททัน",
    "pluto": "ดาวพลูโต",
    "charon": "แครอน"
  },
  "common": {
    "pickColorFromScreen": "เลือกสีจากหน้าจอ",
    "save": "บันทึก",
    "cancel": "ยกเลิก",
    "close": "ปิด",
    "retry": "ลองใหม่",
    "reset": "รีเซ็ต",
    "remove": "นำออก",
    "add": "เพิ่ม",
    "ok": "ตกลง",
    "done": "เสร็จสิ้น",
    "openWebApp": "เปิดเว็บแอป GeoLibre"
  },
  "addData": {
    "title": "เพิ่มข้อมูล",
    "kind": {
      "xyz": {
        "label": "เพิ่มเลเยอร์ XYZ",
        "description": "เพิ่มเทมเพลตไทล์แรสเตอร์โดยใช้ตัวแทน x, y และ z"
      },
      "wms": {
        "label": "เพิ่มเลเยอร์ WMS",
        "description": "เพิ่มบริการ WMS GetMap เป็นเลเยอร์แรสเตอร์แบบไทล์"
      },
      "wfs": {
        "label": "เพิ่มเลเยอร์ WFS",
        "description": "เพิ่มฟีเจอร์จาก WFS โดยร้องขอ GeoJSON จากบริการ GetFeature"
      },
      "wmts": {
        "label": "เพิ่มเลเยอร์ WMTS",
        "description": "เพิ่มเทมเพลต URL ไทล์แบบ WMTS เป็นเลเยอร์แรสเตอร์"
      },
      "ogcFeatures": {
        "label": "เพิ่มเลเยอร์ OGC API - Features",
        "description": "เพิ่มฟีเจอร์จากคอลเลกชัน OGC API - Features เป็นเลเยอร์เวกเตอร์ โดยจะไล่ตามลิงก์แบ่งหน้าของบริการจนกว่าจะโหลดฟีเจอร์ครบตามจำนวนที่ร้องขอ"
      },
      "ogcVectorTiles": {
        "label": "เพิ่มไทล์เวกเตอร์ OGC",
        "description": "เพิ่มบริการ OGC API - Tiles (เวกเตอร์) จาก TileJSON หรือเทมเพลตไทล์ พร้อมตัวเลือกอ่านเลเยอร์ต้นทางจาก URL สไตล์"
      },
      "gpx": {
        "label": "เพิ่มเลเยอร์ GPX",
        "description": "เพิ่มจุดอ้างอิง เส้นทาง และแทร็กจาก GPX เป็นเลเยอร์เวกเตอร์หนึ่งเลเยอร์หรือมากกว่า"
      },
      "georss": {
        "label": "เพิ่มเลเยอร์ GeoRSS",
        "description": "เพิ่มฟีด GeoRSS (RSS, Atom หรือ RDF) จาก URL หรือไฟล์ เป็นเลเยอร์เวกเตอร์"
      },
      "delimitedText": {
        "label": "เพิ่มเลเยอร์ข้อความคั่นด้วยตัวแบ่ง",
        "description": "เพิ่มไฟล์หรือ URL ข้อความที่คั่นด้วยตัวแบ่งเป็นเลเยอร์จุด โดยใช้ฟิลด์ลองจิจูดและละติจูด หรือแปลงคอลัมน์ที่อยู่เป็นพิกัด หรือเป็นตารางแอตทริบิวต์แบบไม่มีข้อมูลเชิงพื้นที่หากไม่มีพิกัด"
      },
      "cad": {
        "label": "เพิ่มเลเยอร์ CAD (DXF/DWG)",
        "description": "เพิ่มแบบเขียน AutoCAD DXF หรือ DWG เป็นเลเยอร์เวกเตอร์ โดยเลือกได้ว่าจะโหลดเลเยอร์ใดและใช้ระบบพิกัดอ้างอิงใดในการฉายภาพ"
      },
      "gdb": {
        "label": "เพิ่มเลเยอร์ File Geodatabase",
        "description": "เพิ่มเลเยอร์จาก Esri File Geodatabase (โฟลเดอร์ .gdb) เลเยอร์จะถูกอ่านด้วยเซิร์ฟเวอร์ GeoLibre ในเครื่องและฉายใหม่เป็น WGS84"
      },
      "photos": {
        "label": "เพิ่มรูปภาพที่มีพิกัดภูมิศาสตร์",
        "description": "นำเข้ารูปภาพ JPEG/HEIC เป็นเลเยอร์จุด โดยวางแต่ละภาพตามตำแหน่ง GPS ใน EXIF"
      },
      "mbtiles": {
        "label": "เพิ่มเลเยอร์ MBTiles",
        "description": "เพิ่มไฟล์ MBTiles ในเครื่องเป็นเลเยอร์ไทล์แบบแรสเตอร์หรือเวกเตอร์"
      },
      "arcgis": {
        "label": "เพิ่มเลเยอร์ ArcGIS",
        "description": "เพิ่มเลเยอร์ ArcGIS แบบ FeatureServer, VectorTileServer, MapServer หรือ ImageServer หรือรายการพอร์ทัล"
      },
      "postgres": {
        "label": "เพิ่มเลเยอร์ PostgreSQL",
        "description": "เริ่ม Martin ในเครื่อง ค้นหาแหล่งข้อมูล PostGIS แล้วเพิ่มแหล่งข้อมูลเป็นไทล์เวกเตอร์"
      },
      "deckglViz": {
        "label": "เพิ่มเลเยอร์ Deck.gl",
        "description": "เลือกชนิดเลเยอร์ของ deck.gl แล้วโหลดข้อมูลตัวอย่าง หรืออัปโหลดไฟล์/URL แบบ CSV, JSON หรือ GeoJSON"
      },
      "video": {
        "label": "เพิ่มเลเยอร์วิดีโอ",
        "description": "เพิ่มวิดีโอซ้อนทับที่อ้างอิงพิกัดภูมิศาสตร์ โดยระบุ URL ของไฟล์ MP4 และพิกัดมุมทั้งสี่"
      }
    },
    "shared": {
      "layerName": "ชื่อเลเยอร์",
      "insertBelow": "แทรกไว้ใต้",
      "insertTop": "บนสุดของรายการเลเยอร์ (ค่าเริ่มต้น)",
      "layersGroup": "เลเยอร์",
      "basemapLayersGroup": "เลเยอร์ของแผนที่ฐาน",
      "showBasemapLayers": "แสดงเลเยอร์ของแผนที่ฐาน (ขั้นสูง)",
      "addLayer": "เพิ่มเลเยอร์",
      "adding": "กำลังเพิ่ม…",
      "addError": "ไม่สามารถเพิ่มเลเยอร์ได้",
      "sampleData": "ข้อมูลตัวอย่าง",
      "loadSampleData": "โหลดข้อมูลตัวอย่าง…"
    },
    "common": {
      "serviceUrl": "URL ของบริการ",
      "tileSize": "ขนาดไทล์",
      "tileUrlTemplate": "เทมเพลต URL ของไทล์",
      "sourceType": "ชนิดแหล่งข้อมูล",
      "layerType": "ชนิดเลเยอร์",
      "format": "รูปแบบ",
      "optional": "ไม่บังคับ",
      "chooseFile": "เลือกไฟล์",
      "noFileSelected": "ยังไม่ได้เลือกไฟล์",
      "loading": "กำลังโหลด...",
      "workspaceLayerPlaceholder": "workspace:layer",
      "requestFailed": "คำขอล้มเหลวด้วยสถานะ {{status}}",
      "networkFailure": "ไม่สามารถเชื่อมต่อบริการได้ กรุณาตรวจสอบว่าโฮสต์เข้าถึงได้ และใบรับรอง TLS ไฟร์วอลล์ และการตั้งค่าพร็อกซีอนุญาตคำขอนี้ หากใช้งานผ่านเบราว์เซอร์อาจถูกบล็อกด้วย CORS ให้ลองใช้แอปเดสก์ท็อปแทน",
      "requestTimedOut": "คำขอหมดเวลา โฮสต์อาจตอบสนองช้า เข้าถึงไม่ได้ หรือถูกไฟร์วอลล์หรือพร็อกซีบล็อกไว้"
    },
    "serviceLibrary": {
      "title": "บริการที่บันทึกไว้",
      "saveCurrent": "บันทึกรายการปัจจุบัน",
      "importLibrary": "นำเข้าคลังจาก JSON",
      "exportLibrary": "ส่งออกคลังเป็น JSON",
      "loadAria": "โหลดบริการที่บันทึกไว้",
      "loadPlaceholder": "โหลดบริการที่บันทึกไว้…",
      "builtin": "{{name}} (ในตัว)",
      "deleteAria": "ลบบริการที่บันทึกไว้",
      "empty": "ยังไม่มีบริการที่บันทึกไว้ — กรอกแบบฟอร์มแล้วเลือก “บันทึกรายการปัจจุบัน”",
      "name": "ชื่อ",
      "category": "หมวดหมู่",
      "categoryPlaceholder": "ไม่บังคับ (เช่น ประเทศ หรือหัวข้อ)",
      "uncategorized": "ไม่ระบุหมวดหมู่",
      "errorName": "ป้อนชื่อสำหรับบริการที่จะบันทึก",
      "saved": "บันทึก \"{{name}}\" ลงในคลังบริการแล้ว",
      "removed": "นำ \"{{name}}\" ออกแล้ว",
      "errorExport": "ไม่สามารถส่งออกคลังได้",
      "errorTooLarge": "ไฟล์มีขนาดใหญ่เกินกว่าจะนำเข้าได้ (สูงสุด 5 MB)",
      "errorNoServices": "ไม่พบบริการที่ถูกต้องในไฟล์นั้น",
      "errorRead": "ไม่สามารถอ่านไฟล์นั้นเป็นคลังบริการได้",
      "imported_other": "นำเข้าบริการแล้ว {{count}} รายการ",
      "importedWithDropped_other": "นำเข้าบริการแล้ว {{count}} รายการ (ข้าม {{dropped}} รายการ — คลังเต็ม)"
    },
    "xyz": {
      "defaultName": "เลเยอร์ XYZ",
      "sampleLabel": "ภาพถ่าย USGS",
      "errorUrl": "ป้อนเทมเพลต URL ไทล์แบบ XYZ",
      "urlPlaceholder": "https://example.com/{z}/{x}/{y}.png",
      "shortUrlPlaceholder": "https://go.example.com/layer",
      "shortUrl": "URL แบบสั้น"
    },
    "wms": {
      "defaultName": "เลเยอร์ WMS",
      "sampleLabel": "ภาพถ่าย USGS NAIP",
      "sampleLabelGebco": "ความลึกท้องทะเล GEBCO",
      "errorUrl": "ป้อน URL ของบริการ WMS",
      "errorLayers": "ป้อนชื่อเลเยอร์ WMS อย่างน้อยหนึ่งชื่อ",
      "urlPlaceholder": "https://example.com/geoserver/wms",
      "layers": "เลเยอร์",
      "styles": "สไตล์",
      "transparent": "พื้นหลังโปร่งใส",
      "retrieveLayers": "ดึงรายการเลเยอร์",
      "retrieving": "กำลังดึงข้อมูล...",
      "retrievedLayers": "เลเยอร์ที่ดึงมาได้",
      "selectLayer_other": "เลือกจากเลเยอร์ทั้งหมด {{count}} เลเยอร์",
      "noLayersFound": "ไม่พบเลเยอร์สำหรับบริการนี้",
      "retrieveError": "ไม่สามารถดึงรายการเลเยอร์จากบริการนี้ได้",
      "version": "เวอร์ชัน WMS"
    },
    "wfs": {
      "defaultName": "เลเยอร์ WFS",
      "sampleLabel": "รัฐต่าง ๆ ของสหรัฐฯ (GeoServer)",
      "errorUrl": "ป้อน URL ของบริการ WFS",
      "errorTypeName": "ป้อนชื่อชนิดฟีเจอร์ของ WFS",
      "errorOutputFormat": "ป้อนรูปแบบผลลัพธ์ของ WFS",
      "urlPlaceholder": "https://example.com/geoserver/wfs",
      "featureType": "ชนิดฟีเจอร์",
      "version": "เวอร์ชัน",
      "outputFormat": "รูปแบบผลลัพธ์",
      "srsName": "ชื่อ SRS",
      "maxFeatures": "จำนวนฟีเจอร์สูงสุด",
      "errorMaxFeaturesNumeric": "ป้อนจำนวนฟีเจอร์สูงสุดเป็นตัวเลข",
      "retrieveTypes": "ดึงรายการชนิดฟีเจอร์",
      "retrieving": "กำลังดึงข้อมูล...",
      "retrievedTypes": "ชนิดฟีเจอร์ที่ดึงมาได้",
      "selectType_other": "เลือกจากชนิดฟีเจอร์ทั้งหมด {{count}} ชนิด",
      "noTypesFound": "ไม่พบชนิดฟีเจอร์สำหรับบริการนี้",
      "retrieveError": "ไม่สามารถดึงชนิดฟีเจอร์จากบริการนี้ได้"
    },
    "wmts": {
      "defaultName": "เลเยอร์ WMTS",
      "sampleLabel": "ภาพถ่าย EOX World Imagery (Sentinel-2)",
      "errorUrl": "ป้อนเทมเพลต URL ไทล์แบบ WMTS",
      "urlPlaceholder": "https://example.com/wmts/{z}/{y}/{x}.png"
    },
    "ogcFeatures": {
      "defaultName": "เลเยอร์ OGC API - Features",
      "sampleLabel": "ทะเลสาบทั่วโลก (ตัวอย่างจาก pygeoapi)",
      "urlPlaceholder": "https://example.com/ogcapi",
      "urlHint": "หน้าแรกของบริการ หรือ URL ใด ๆ ที่คัดลอกมาจากบริการนั้น (URL แบบ /collections หรือ /collections/{id}/items ก็ใช้ได้)",
      "retrieveCollections": "ดึงรายการคอลเลกชัน",
      "retrieving": "กำลังดึงข้อมูล...",
      "retrievedCollections": "คอลเลกชันที่ดึงมาได้",
      "selectCollection_other": "เลือกจากคอลเลกชันทั้งหมด {{count}} รายการ",
      "noCollectionsFound": "ไม่พบคอลเลกชันฟีเจอร์สำหรับบริการนี้",
      "retrieveError": "ไม่สามารถดึงคอลเลกชันจากบริการนี้ได้",
      "collection": "คอลเลกชัน",
      "collectionPlaceholder": "collection-id",
      "maxFeatures": "จำนวนฟีเจอร์สูงสุด",
      "bbox": "กรอบขอบเขต",
      "datetime": "วันที่และเวลา",
      "errorCollection": "ป้อนรหัสคอลเลกชันของ OGC API - Features",
      "errorMaxFeatures": "ป้อนจำนวนฟีเจอร์สูงสุดตั้งแต่ 1 ขึ้นไป",
      "errorBbox": "ป้อนกรอบขอบเขตในรูปแบบ \"ตะวันตก,ใต้,ตะวันออก,เหนือ\"",
      "errorNoFeatures": "คอลเลกชันนี้ไม่ส่งคืนฟีเจอร์ใดเลย"
    },
    "ogcVectorTiles": {
      "defaultName": "เลเยอร์ไทล์เวกเตอร์ OGC",
      "tilesUrl": "URL ของไทล์",
      "tilesUrlPlaceholder": "https://example.com/tiles/WebMercatorQuad?f=tilejson",
      "tilesUrlHint": "URL ข้อมูลเมทาดาทาแบบ TileJSON หรือเทมเพลตไทล์ MVT แบบ {z}/{y}/{x}",
      "styleUrl": "URL ของสไตล์",
      "styleUrlPlaceholder": "https://example.com/styles/default?f=mapbox",
      "styleUrlHint": "ไฟล์ JSON สไตล์ของ Mapbox/MapLibre (ไม่บังคับ) ใช้ค้นหาเลเยอร์ต้นทางของชุดไทล์เมื่อ TileJSON ไม่ได้ระบุไว้",
      "sourceLayers": "เลเยอร์ต้นทาง",
      "sourceLayersPlaceholder": "layer_a, layer_b",
      "sourceLayersHint": "ชื่อเลเยอร์ต้นทางคั่นด้วยจุลภาค (ไม่บังคับ) จะแทนที่เลเยอร์ที่พบใน TileJSON หรือสไตล์",
      "sampleLabel": "PDOK BGT (เนเธอร์แลนด์)",
      "errorUrl": "ป้อน URL ของไทล์หรือ URL ของสไตล์",
      "errorNoTiles": "ไม่สามารถระบุปลายทางของไทล์เวกเตอร์ได้ กรุณาป้อน URL แบบ TileJSON เทมเพลตไทล์ หรือ URL ของสไตล์",
      "errorNoLayers": "ไม่สามารถระบุเลเยอร์ต้นทางของไทล์เวกเตอร์ได้ กรุณาเพิ่ม URL ของสไตล์ หรือป้อนชื่อเลเยอร์ต้นทาง"
    },
    "arcgis": {
      "defaultName": "เลเยอร์ ArcGIS",
      "sampleFeatureLabel": "เมืองสำคัญของสหรัฐฯ (ฟีเจอร์)",
      "sampleVectorTileLabel": "แปลงที่ดินซานตาโมนิกา (ไทล์เวกเตอร์)",
      "sampleMapServiceLabel": "ขอบเขตการปกครองสหรัฐฯ (บริการแผนที่)",
      "sampleImageServiceLabel": "ภาพเงาภูมิประเทศ USGS 3DEP (บริการภาพ)",
      "featureLayer": "เลเยอร์ฟีเจอร์",
      "vectorTileLayer": "เลเยอร์ไทล์เวกเตอร์",
      "mapServiceLayer": "บริการแผนที่",
      "imageServiceLayer": "บริการภาพ",
      "portalItemId": "รหัสรายการในพอร์ทัล",
      "featureUrlPlaceholder": "https://services.arcgis.com/.../FeatureServer/0",
      "vectorTileUrlPlaceholder": "https://.../arcgis/rest/services/.../VectorTileServer",
      "mapServiceUrlPlaceholder": "https://.../arcgis/rest/services/.../MapServer",
      "imageServiceUrlPlaceholder": "https://.../arcgis/rest/services/.../ImageServer",
      "sublayers": "เลเยอร์ย่อย",
      "sublayersPlaceholder": "เลเยอร์ย่อยที่แสดงทั้งหมด",
      "sublayersHint": "ระบุรหัสเลเยอร์ย่อยคั่นด้วยจุลภาคได้ตามต้องการ เช่น 0,2,5 การเลือกเลเยอร์ย่อยจะวาดบริการแบบไดนามิกแทนการใช้ไทล์ที่แคชไว้",
      "renderingRule": "กฎการเรนเดอร์",
      "renderingRulePlaceholder": "{\"rasterFunction\":\"Hillshade\"}",
      "renderingRuleHint": "JSON ของฟังก์ชันแรสเตอร์ที่บริการนำไปใช้ (ไม่บังคับ) การกำหนดกฎการเรนเดอร์จะวาดบริการแบบไดนามิกแทนการใช้ไทล์ที่แคชไว้",
      "portalUrl": "URL ของพอร์ทัล",
      "portalUrlPlaceholder": "https://www.arcgis.com/sharing/rest",
      "accessToken": "โทเค็นการเข้าถึง"
    },
    "gpx": {
      "defaultName": "เลเยอร์ GPX",
      "sampleLabel": "เส้นทางเดิน Fells Loop",
      "errorFileMissing": "ไม่พบข้อมูลไฟล์ GPX",
      "readError": "ไม่สามารถอ่านไฟล์ GPX ได้",
      "errorChooseFile": "เลือกไฟล์ GPX",
      "errorUrl": "ป้อน URL ของ GPX",
      "errorSelectType": "เลือกชนิดเลเยอร์ GPX อย่างน้อยหนึ่งชนิด",
      "errorNotFound": "ไม่พบชนิดเลเยอร์ GPX ที่เลือกไว้",
      "waypoints": "จุดอ้างอิง",
      "tracks": "แทร็ก",
      "trackPoints": "จุดบนแทร็ก",
      "routes": "เส้นทาง",
      "routePoints": "จุดบนเส้นทาง",
      "url": "URL ของ GPX",
      "file": "ไฟล์ GPX",
      "urlPlaceholder": "https://example.com/route.gpx",
      "layerTypes": "ชนิดเลเยอร์"
    },
    "georss": {
      "defaultName": "เลเยอร์ GeoRSS",
      "sampleLabel": "แผ่นดินไหวจาก USGS (24 ชั่วโมงที่ผ่านมา)",
      "errorFileMissing": "ไม่พบข้อมูลไฟล์ GeoRSS",
      "readError": "ไม่สามารถอ่านไฟล์ GeoRSS ได้",
      "errorChooseFile": "เลือกไฟล์ GeoRSS",
      "errorUrl": "ป้อน URL ของ GeoRSS",
      "url": "URL ของ GeoRSS",
      "file": "ไฟล์ GeoRSS",
      "urlPlaceholder": "https://example.com/feed.atom"
    },
    "cad": {
      "defaultName": "เลเยอร์ CAD",
      "fileFilter": "CAD (DXF/DWG)",
      "layer": "เลเยอร์ CAD",
      "layerPlaceholder": "เลือกไฟล์ CAD ก่อน",
      "readingLayers": "กำลังอ่านเลเยอร์...",
      "layerOption": "{{name}} ({{type}}, {{count}} ฟีเจอร์)",
      "crs": "ระบบพิกัดต้นทาง",
      "crsPlaceholder": "เช่น EPSG:26915",
      "crsPresetLabel": "ระบบพิกัดที่ใช้บ่อย...",
      "crsHelp": "เว้นว่างไว้หากแบบเขียนอยู่ในระบบลองจิจูด/ละติจูด (WGS84) อยู่แล้ว มิฉะนั้นให้ป้อนรหัส EPSG ของระบบพิกัดที่ใช้ในแบบเขียนเพื่อฉายพิกัดใหม่",
      "readError": "ไม่สามารถอ่านไฟล์ CAD นี้ได้",
      "errorNoLayers": "ไม่พบเลเยอร์ในไฟล์ CAD นี้",
      "errorChooseFile": "เลือกไฟล์ CAD (DXF/DWG) ก่อน",
      "errorNoLayer": "เลือกเลเยอร์ CAD ที่ต้องการโหลด",
      "errorUnsupportedGeometry": "เลเยอร์ CAD นี้มีเรขาคณิตแบบผสมหรือแบบคอลเลกชันซึ่งไม่สามารถแสดงผลได้ กรุณาลองเลเยอร์อื่น"
    },
    "gdb": {
      "defaultName": "เลเยอร์ Geodatabase",
      "chooseFolder": "เลือกโฟลเดอร์ .gdb...",
      "noFolderSelected": "ยังไม่ได้เลือก geodatabase",
      "layer": "คลาสฟีเจอร์",
      "layerPlaceholder": "เลือก geodatabase ก่อน",
      "readingLayers": "กำลังอ่านเลเยอร์...",
      "layerOption": "{{name}} ({{type}}, {{count}} ฟีเจอร์)",
      "help": "ตารางที่มีเฉพาะแอตทริบิวต์จะไม่แสดงในรายการ คลาสฟีเจอร์ที่เลือกจะถูกโหลดผ่านเซิร์ฟเวอร์ GeoLibre ในเครื่องและฉายใหม่เป็น WGS84",
      "desktopOnly": "เลเยอร์ File Geodatabase ใช้ได้เฉพาะใน GeoLibre Desktop เท่านั้น เนื่องจากฟีเจอร์นี้อ่านโฟลเดอร์ .gdb ในเครื่องผ่านเซิร์ฟเวอร์ GeoLibre ในเครื่อง ซึ่งเว็บแอปเข้าถึงไม่ได้",
      "readError": "ไม่สามารถอ่าน File Geodatabase นี้ได้",
      "convertError": "ไม่สามารถโหลดคลาสฟีเจอร์นี้ได้",
      "errorNotGdb": "เลือกโฟลเดอร์ที่ลงท้ายด้วย .gdb (Esri File Geodatabase)",
      "errorNoLayers": "ไม่พบคลาสฟีเจอร์ที่มีเรขาคณิตใน geodatabase นี้",
      "errorChooseFolder": "เลือกโฟลเดอร์ .gdb ก่อน",
      "errorNoLayer": "เลือกคลาสฟีเจอร์ที่ต้องการโหลด",
      "errorTimeout": "การอ่าน geodatabase หมดเวลา",
      "crs": "ระบบพิกัดต้นทาง",
      "crsPlaceholder": "เช่น EPSG:26915",
      "crsHelp": "ไม่สามารถตรวจพบระบบพิกัดของคลาสฟีเจอร์นี้ได้ กรุณาป้อนรหัส EPSG (หรือ ESRI) ที่ใช้จัดเก็บ เพื่อให้ฉายใหม่เป็น WGS84 ได้",
      "errorMissingCrs": "ไม่สามารถตรวจพบระบบพิกัดของคลาสฟีเจอร์นี้ได้ กรุณาป้อนระบบพิกัดต้นทางเพื่อเพิ่มเลเยอร์"
    },
    "delimitedText": {
      "defaultName": "เลเยอร์ข้อความคั่นด้วยตัวแบ่ง",
      "sampleLabel": "เมืองในสหรัฐฯ",
      "errorChooseFile": "เลือกไฟล์ข้อความคั่นด้วยตัวแบ่ง",
      "errorUrl": "ป้อน URL ของข้อความคั่นด้วยตัวแบ่ง",
      "errorFileMissing": "ไม่พบข้อมูลไฟล์ข้อความคั่นด้วยตัวแบ่ง",
      "readError": "ไม่สามารถอ่านไฟล์ข้อความคั่นด้วยตัวแบ่งได้",
      "errorDataMissing": "ไม่พบข้อมูลข้อความคั่นด้วยตัวแบ่ง",
      "retrievedColumns_other": "ดึงคอลัมน์มาได้ {{count}} คอลัมน์",
      "retrievedColumnsTable_other": "ดึงคอลัมน์มาได้ {{count}} คอลัมน์ ไม่พบคอลัมน์พิกัด จึงจะเพิ่มเป็นตารางแอตทริบิวต์",
      "errorRetrieveColumns": "ไม่สามารถดึงชื่อคอลัมน์ได้",
      "url": "URL ของข้อความคั่นด้วยตัวแบ่ง",
      "file": "ไฟล์ข้อความคั่นด้วยตัวแบ่ง",
      "urlPlaceholder": "https://example.com/data.csv",
      "retrieving": "กำลังดึงข้อมูล...",
      "retrieveColumns": "ดึงรายการคอลัมน์",
      "delimiter": "ตัวคั่น",
      "delimiterComma": "จุลภาค",
      "delimiterTab": "แท็บ",
      "delimiterSemicolon": "อัฒภาค",
      "delimiterPipe": "ขีดตั้ง",
      "delimiterCustom": "กำหนดเอง",
      "customDelimiter": "ตัวคั่นที่กำหนดเอง",
      "longitudeField": "ฟิลด์ลองจิจูด",
      "latitudeField": "ฟิลด์ละติจูด",
      "noneField": "ไม่มี (ตารางแอตทริบิวต์)",
      "tableHint": "ปล่อยฟิลด์พิกัดทั้งสองเป็น “ไม่มี” เพื่อเพิ่มไฟล์เป็นตารางแอตทริบิวต์แบบไม่มีข้อมูลเชิงพื้นที่ (สำหรับใช้ในการเชื่อมแอตทริบิวต์)",
      "crs": "ระบบพิกัด",
      "crsPlaceholder": "เช่น EPSG:32643",
      "crsPresetLabel": "ระบบพิกัดที่ใช้บ่อย...",
      "crsHelp": "เว้นว่างไว้หากพิกัดอยู่ในระบบลองจิจูด/ละติจูด (WGS84) อยู่แล้ว มิฉะนั้นให้ป้อนรหัส EPSG ของคอลัมน์พิกัด แล้วจุดจะถูกฉายใหม่เป็น WGS84 สำหรับระบบพิกัดแบบฉาย ฟิลด์ลองจิจูดและละติจูดจะใช้เลือกคอลัมน์ X (พิกัดตะวันออก) และ Y (พิกัดเหนือ)",
      "importMode": "นำเข้าเป็น",
      "modeCoordinates": "พิกัด",
      "modeAddresses": "ที่อยู่ (แปลงเป็นพิกัด)",
      "addressColumns": "คอลัมน์ที่อยู่",
      "addressColumnsEmptyHint": "ดึงรายการคอลัมน์ก่อนจึงจะเลือกคอลัมน์ที่อยู่ได้",
      "addressColumnsHint": "เลือกคอลัมน์หนึ่งคอลัมน์หรือมากกว่าเพื่อนำมาต่อกันเป็นที่อยู่ที่จะส่งให้ตัวแปลงพิกัด (เช่น ถนน เมือง จังหวัด)",
      "errorNoAddressColumns": "เลือกคอลัมน์ที่อยู่อย่างน้อยหนึ่งคอลัมน์",
      "errorNoAddressesFound": "ไม่มีแถวใดที่มีค่าในคอลัมน์ที่อยู่ที่เลือกไว้"
    },
    "photos": {
      "defaultName": "รูปภาพ",
      "chooseLabel": "รูปภาพ",
      "choosePhotos": "เลือกรูปภาพ",
      "hint": "เลือกรูปภาพแบบ JPEG, PNG, TIFF หรือ HEIC แต่ละภาพจะถูกวางตามตำแหน่ง GPS ใน EXIF ภาพ HEIC จะระบุตำแหน่งได้แต่จะไม่แสดงภาพขนาดย่อ",
      "readError": "ไม่สามารถอ่านรูปภาพที่เลือกได้",
      "errorChooseFiles": "เลือกรูปภาพอย่างน้อยหนึ่งภาพ",
      "selectedCount_other": "เลือกไว้ {{count}} ภาพ",
      "errorNoGps_other": "ไม่พบตำแหน่ง GPS ในรูปภาพที่เลือกไว้ทั้ง {{count}} ภาพ",
      "addedSummary_other": "เพิ่มรูปภาพที่มีพิกัดภูมิศาสตร์แล้ว {{count}} ภาพ",
      "skippedNote_other": "ข้ามไป {{count}} ภาพ (ไม่มีตำแหน่ง GPS)",
      "noThumbnailNote_other": "มี {{count}} ภาพที่ไม่มีภาพขนาดย่อ (HEIC หรือรูปแบบที่ไม่รองรับ)",
      "manualPromptTitle": "ไม่พบตำแหน่ง GPS ในรูปภาพนี้",
      "manualPromptBody": "วางไว้ที่กึ่งกลางแผนที่ปัจจุบันแล้วลากไปยังตำแหน่งที่ต้องการบนแผนที่",
      "manualPromptCenter": "กึ่งกลางแผนที่: {{lng}}, {{lat}}",
      "manualPlace": "วางที่กึ่งกลางแผนที่",
      "manualHint": "ลากหมุดนี้เพื่อกำหนดตำแหน่งรูปภาพ แล้วคลิก “เสร็จสิ้น”"
    },
    "mbtiles": {
      "defaultName": "เลเยอร์ MBTiles",
      "readError": "ไม่สามารถอ่านไฟล์ MBTiles ได้",
      "errorChooseFile": "เลือกไฟล์ MBTiles",
      "errorSourceLayers": "ป้อนเลเยอร์ต้นทางแบบเวกเตอร์อย่างน้อยหนึ่งเลเยอร์",
      "tileType": "ชนิดไทล์",
      "sourceLayers": "เลเยอร์ต้นทาง",
      "sourceLayersPlaceholder": "building, place, water"
    },
    "postgres": {
      "defaultName": "เลเยอร์ PostgreSQL",
      "errorDesktopOnly": "เลเยอร์ PostgreSQL ต้องใช้ GeoLibre Desktop",
      "errorConnectionString": "ป้อนสตริงการเชื่อมต่อ PostgreSQL",
      "statusCheckingBinary": "กำลังตรวจสอบไฟล์โปรแกรม Martin...",
      "statusDownloaded": "ดาวน์โหลด Martin แล้ว กำลังเริ่มเซิร์ฟเวอร์ในเครื่อง...",
      "statusStarting": "กำลังเริ่มเซิร์ฟเวอร์ Martin ในเครื่อง...",
      "statusReadingCatalog": "กำลังอ่านแคตตาล็อกของ Martin...",
      "statusFound_other": "พบแหล่งข้อมูล {{count}} รายการ",
      "statusNoSources": "Martin กำลังทำงานอยู่ แต่ไม่พบแหล่งข้อมูล PostGIS ที่รองรับ",
      "errorConnect": "ไม่สามารถเชื่อมต่อ PostgreSQL ได้",
      "statusStopped": "หยุด Martin แล้ว",
      "errorStop": "ไม่สามารถหยุด Martin ได้",
      "errorConnectFirst": "เชื่อมต่อ PostgreSQL ก่อน",
      "errorNoVectorLayers": "แหล่งข้อมูล Martin ที่เลือกไม่มีเลเยอร์เวกเตอร์",
      "errorSelectSource": "เลือกแหล่งข้อมูล Martin ที่ต้องการเพิ่ม",
      "desktopOnlyNotice": "เลเยอร์ PostgreSQL ใช้ได้เฉพาะใน GeoLibre Desktop เท่านั้น เนื่องจากฟีเจอร์นี้เรียกใช้เซิร์ฟเวอร์ไทล์ Martin ในเครื่อง ซึ่งเว็บแอปไม่สามารถเปิดใช้ได้",
      "savedConnection": "การเชื่อมต่อที่บันทึกไว้",
      "selectSavedConnection": "เลือกการเชื่อมต่อที่บันทึกไว้",
      "connectionString": "สตริงการเชื่อมต่อ PostgreSQL",
      "connectionStringPlaceholder": "postgres://user:password@host:5432/database",
      "defaultSrid": "SRID เริ่มต้น",
      "connect": "เชื่อมต่อ",
      "stop": "หยุด",
      "martinSource": "แหล่งข้อมูล Martin",
      "runningOnPort": "Martin กำลังทำงานอยู่ที่พอร์ต {{port}}",
      "loadMode": "โหลดเป็น",
      "loadModeTiles": "ไทล์เวกเตอร์ (Martin, อ่านอย่างเดียว)",
      "loadModeEditable": "เลเยอร์ที่แก้ไขได้ (โหลดฟีเจอร์ทั้งหมด)",
      "editableNotice": "โหลดฟีเจอร์ของตารางผ่านเซิร์ฟเวอร์ประมวลผลในเครื่องเพื่อให้แก้ไขได้ บันทึกการเปลี่ยนแปลงกลับด้วยคำสั่ง \"บันทึกการแก้ไขลงตาราง PostGIS\" ของเลเยอร์",
      "statusListingTables": "กำลังอ่านตารางเชิงพื้นที่...",
      "statusTablesFound_other": "พบตารางเชิงพื้นที่ {{count}} ตาราง",
      "statusNoTables": "ไม่พบตารางเชิงพื้นที่ในฐานข้อมูลนี้",
      "editableTable": "ตาราง",
      "tableReadOnly": "{{table}} (อ่านอย่างเดียว: ไม่มีคีย์หลัก)",
      "errorSelectTable": "เลือกตารางที่ต้องการโหลด",
      "errorRuntimeMissing": "เซิร์ฟเวอร์ประมวลผลไม่ได้ติดตั้งรันไทม์ PostGIS (psycopg) ไว้ กรุณาติดตั้งส่วนเสริม 'postgis' ของ geolibre-server เพื่อโหลดเลเยอร์ที่แก้ไขได้"
    },
    "video": {
      "defaultName": "เลเยอร์วิดีโอ",
      "sampleLabel": "คลื่นชายฝั่งใกล้ซานฟรานซิสโก",
      "errorUrl": "ป้อน URL ของวิดีโอ",
      "errorHttps": "URL ของวิดีโอต้องขึ้นต้นด้วย https://",
      "cornerTopLeft": "บนซ้าย",
      "cornerTopRight": "บนขวา",
      "cornerBottomRight": "ล่างขวา",
      "cornerBottomLeft": "ล่างซ้าย",
      "errorCornerFormat": "ป้อนมุม{{corner}}ในรูปแบบ \"ลองจิจูด, ละติจูด\"",
      "errorCornerNumber": "ป้อนลองจิจูดและละติจูดของมุม{{corner}}เป็นตัวเลข",
      "errorCornerLng": "ลองจิจูดของมุม{{corner}}ต้องอยู่ระหว่าง -180 ถึง 180",
      "errorCornerLat": "ละติจูดของมุม{{corner}}ต้องอยู่ระหว่าง -90 ถึง 90",
      "primaryUrl": "URL วิดีโอหลัก",
      "primaryUrlPlaceholder": "https://example.com/clip.mp4",
      "fallbackUrl": "URL วิดีโอสำรอง (ไม่บังคับ)",
      "fallbackUrlPlaceholder": "https://example.com/clip.webm",
      "topLeft": "บนซ้าย (ลองจิจูด, ละติจูด)",
      "topRight": "บนขวา (ลองจิจูด, ละติจูด)",
      "bottomRight": "ล่างขวา (ลองจิจูด, ละติจูด)",
      "bottomLeft": "ล่างซ้าย (ลองจิจูด, ละติจูด)",
      "cornersNote": "มุมทั้งสี่ใช้อ้างอิงตำแหน่งวิดีโอบนแผนที่ วิดีโอต้องให้บริการผ่าน HTTPS และโฮสต์ต้องอนุญาตคำขอข้ามต้นทาง (CORS) จึงจะแสดงเฟรมได้"
    },
    "netcdf": {
      "sampleLabel": "อุณหภูมิอากาศ",
      "title": "เพิ่ม NetCDF / HDF",
      "description": "แสดงผลชุดข้อมูล NetCDF หรือ HDF5: ไฟล์ Cloud-Optimized จากระยะไกลผ่านการอ้างอิงแบบ kerchunk (อ่านด้วยคำขอแบบช่วงผ่าน HTTP) หรือไฟล์ NetCDF หรือ HDF5 ในเครื่องที่อ่านในเบราว์เซอร์ของคุณ",
      "sourceLabel": "แหล่งข้อมูล",
      "sourceCloud": "Cloud-Optimized (URL แบบ kerchunk)",
      "sourceLocal": "ไฟล์ในเครื่อง (NetCDF / HDF5)",
      "localFileLabel": "ไฟล์ในเครื่อง",
      "chooseDifferentFile": "เลือกไฟล์อื่น",
      "readingFile": "กำลังอ่าน...",
      "readingRemote": "กำลังอ่านเมตาดาตาของไฟล์ผ่าน HTTP...",
      "localFileHelp": "เลือกไฟล์ NetCDF หรือ HDF5 ในเครื่อง (.nc, .nc4, .cdf, .h5 หรือ .hdf5) รองรับทั้ง NetCDF-3 แบบดั้งเดิมและ NetCDF-4/HDF5 ไฟล์จะถูกถอดรหัสในเบราว์เซอร์ของคุณ ไฟล์ขนาดใหญ่จะใช้หน่วยความจำมากขึ้น",
      "errorNoVariables": "ไม่พบตัวแปรที่แสดงผลได้ (2 มิติขึ้นไป) ในไฟล์นี้",
      "errorNoFile": "ยังไม่ได้โหลดไฟล์",
      "kerchunkUrlLabel": "URL การอ้างอิงแบบ kerchunk",
      "kerchunkUrlHelp": "เลือกชุดข้อมูลตัวอย่างด้านบน หรือวาง URL การอ้างอิงแบบ kerchunk ของคุณเอง แล้วคลิก “โหลดตัวแปร”",
      "loading": "กำลังโหลด...",
      "loadVariables": "โหลดตัวแปร",
      "variableLabel": "ตัวแปร",
      "dimIndexLabel": "ดัชนี {{dim}}",
      "colormapLabel": "แผนผังสี",
      "bandCombinationLabel": "การผสมแบนด์",
      "bandCombinationHelp": "แบนด์เดียวจะแสดงด้วยแผนผังสี ส่วนภาพผสม RGB จะวาดสามแบนด์ของตัวแปรนี้เป็นช่องสีแดง เขียว และน้ำเงิน โดยยืดค่าแต่ละช่องตามช่วง 2-98 % ของตัวเอง",
      "modeSingleBand": "แบนด์เดียว (ใช้แผนผังสี)",
      "modeRgb": "ภาพผสม RGB (สามแบนด์)",
      "colorMin": "ค่าสีต่ำสุด (ไม่บังคับ)",
      "colorMax": "ค่าสีสูงสุด (ไม่บังคับ)",
      "adding": "กำลังเพิ่ม...",
      "addLayer": "เพิ่มเลเยอร์",
      "channel": {
        "red": "แบนด์สีแดง",
        "green": "แบนด์สีเขียว",
        "blue": "แบนด์สีน้ำเงิน"
      }
    },
    "deckViz": {
      "defaultName": "เลเยอร์ Deck.gl",
      "errorChooseFile": "เลือกไฟล์ CSV, JSON หรือ GeoJSON",
      "errorUrl": "ป้อน URL ของข้อมูล",
      "errorUnknownType": "ไม่รู้จักชนิดเลเยอร์นี้",
      "needsGeojson": "{{label}} ต้องใช้ไฟล์ GeoJSON",
      "needsTabular": "{{label}} ต้องใช้ข้อมูลแบบตาราง CSV/JSON ไม่ใช่ GeoJSON",
      "mapRequiredFields_other": "จับคู่ฟิลด์ที่จำเป็น: {{fields}}",
      "errorExample": "ไม่สามารถโหลดข้อมูลตัวอย่างได้",
      "loadedFeatures_other": "โหลดฟีเจอร์แล้ว {{count}} รายการ",
      "loadedRows_other": "{{count}} แถว",
      "loadedColumns_other": "{{count}} คอลัมน์",
      "loadedTabular": "โหลดแล้ว {{rows}} · {{columns}}",
      "errorLoad": "ไม่สามารถโหลดข้อมูลได้",
      "errorLoadFirst": "โหลดข้อมูลตัวอย่าง หรือไฟล์/URL ก่อน",
      "useExample": "ใช้ข้อมูลตัวอย่าง",
      "loadYourOwn": "หรือโหลดข้อมูลของคุณเอง",
      "dataUrl": "URL ของข้อมูล",
      "localFile": "ไฟล์ในเครื่อง",
      "urlPlaceholder": "https://example.com/data.csv",
      "chooseFileLoad": "เลือกไฟล์และโหลด",
      "loadData": "โหลดข้อมูล",
      "selectRole": "— เลือก —",
      "roleNone": "(ไม่มี)",
      "closeAfterAdd": "ปิดกล่องโต้ตอบหลังเพิ่มเลเยอร์",
      "color": "สี",
      "pointSize": "ขนาดจุด",
      "cellSize": "ขนาดเซลล์",
      "lineWidth": "ความหนาเส้น",
      "extrusion": "การยกตัวแบบ 3 มิติ",
      "modelUrlPlaceholder": "https://example.com/model.glb"
    },
    "nonGeographicCoordinates": "พิกัดใน {{names}} ไม่ใช่ลองจิจูด/ละติจูด จึงจะไม่มีสิ่งใดถูกวาดบนแผนที่ ระบบพิกัดระบุไว้ผิด — โปรดฉายพิกัดข้อมูลใหม่ (หรือแก้ไฟล์ .prj) แล้วโหลดอีกครั้ง"
  },
  "offline": {
    "title": "ดาวน์โหลดพื้นที่แบบออฟไลน์",
    "description": "บันทึกไทล์แผนที่ฐานของมุมมองแผนที่ปัจจุบัน เพื่อให้พื้นที่นี้ยังใช้งานได้แม้ไม่มีการเชื่อมต่อเครือข่าย",
    "noServiceWorker": "การแคชแบบออฟไลน์ต้องใช้เว็บแอปที่ติดตั้งไว้ ไทล์ที่คุณดาวน์โหลดที่นี่จะไม่ถูกบันทึกไว้ใช้งานออฟไลน์ในบิลด์นี้",
    "uncacheable": "แหล่งข้อมูลแผนที่ฐานต่อไปนี้ไม่รองรับการดาวน์โหลดแบบออฟไลน์ และจะไม่ปรากฏในแผนที่ออฟไลน์ของคุณ: {{hosts}}",
    "cacheable": "แหล่งข้อมูลแผนที่ฐานต่อไปนี้จะถูกดาวน์โหลดและใช้งานแบบออฟไลน์ได้: {{hosts}}",
    "includeExtra": "รวมระดับรายละเอียดเพิ่มเติมสำหรับการซูมเข้า",
    "currentViewOnly": "เฉพาะมุมมองปัจจุบัน · ระดับซูม {{zoom}}",
    "detailLevels": "ระดับรายละเอียดเพิ่มเติม",
    "relativeLevels_other": "+{{count}} ระดับ · ระดับซูม {{min}}–{{max}}",
    "tiles": "ทรัพยากรที่จะดาวน์โหลด",
    "tooManyTiles": "พื้นที่นี้เกินขีดจำกัดของแคชออฟไลน์ ({{max}} รายการ) ไทล์ที่แคชไว้เก่าที่สุดอาจถูกลบออกเมื่อดาวน์โหลดรายการใหม่ กรุณาลดระดับรายละเอียดหรือเลือกพื้นที่ให้เล็กลง",
    "acknowledgeEviction": "ดาวน์โหลดต่อไป โดยลบไทล์เก่าออกหากจำเป็น",
    "download": "ดาวน์โหลด",
    "cancel": "ยกเลิก",
    "progress": "กำลังดาวน์โหลด {{done}} / {{total}}…",
    "complete_other": "บันทึกพื้นที่ออฟไลน์แล้ว แคชทรัพยากรไว้ใช้งานออฟไลน์ {{count}} รายการ",
    "completeWithFailures": "บันทึกทรัพยากรแล้ว {{done}} จาก {{total}} รายการ (ล้มเหลว {{failed}} รายการ)",
    "retryFailed_other": "ลองใหม่กับทรัพยากรที่ล้มเหลว {{count}} รายการ",
    "retryAll": "ลองใหม่ทุกทรัพยากร",
    "advanced": "ตัวเลือกขั้นสูง",
    "concurrency": "จำนวนคำขอพร้อมกัน",
    "concurrencyHint": "ลดค่านี้เพื่อผ่อนภาระเซิร์ฟเวอร์ที่จำกัดอัตราคำขอไทล์ที่ถี่เกินไป",
    "timeout": "เวลารอคำขอ (วินาที)",
    "timeoutHint": "คำขอไทล์แต่ละรายการจะมีเวลาสูงสุด {{seconds}} วินาทีก่อนนับว่าล้มเหลว",
    "timeoutDisabled": "ไม่จำกัดเวลา — คำขอจะใช้ค่าเริ่มต้นของเบราว์เซอร์ เพิ่มค่านี้หากการเชื่อมต่อช้า"
  },
  "offlineManager": {
    "title": "จัดการพื้นที่ออฟไลน์",
    "description": "ตรวจดูพื้นที่แผนที่ฐานที่คุณดาวน์โหลดไว้ใช้งานออฟไลน์ รีเฟรช หรือลบเพื่อคืนพื้นที่จัดเก็บ",
    "noServiceWorker": "การแคชแบบออฟไลน์ต้องใช้เว็บแอปที่ติดตั้งไว้ การรีเฟรชพื้นที่จะไม่บันทึกไทล์ไว้ใช้งานออฟไลน์ในบิลด์นี้",
    "empty": "ยังไม่มีพื้นที่ออฟไลน์ ใช้ \"ดาวน์โหลดพื้นที่แบบออฟไลน์\" เพื่อบันทึกมุมมองแผนที่ปัจจุบันไว้ใช้งานออฟไลน์",
    "zoomRange": "ระดับซูม {{min}}–{{max}}",
    "tilesCount_other": "{{count}} ไทล์",
    "savedOn": "บันทึกเมื่อ {{date}}",
    "rename": "เปลี่ยนชื่อพื้นที่นี้",
    "nameLabel": "ชื่อพื้นที่",
    "update": "รีเฟรชพื้นที่นี้",
    "delete": "ลบพื้นที่นี้",
    "confirmDelete": "ลบ",
    "updateAll": "รีเฟรชทั้งหมด",
    "updating": "กำลังรีเฟรช {{done}} / {{total}}…",
    "totalFootprint_other": "{{size}} จาก {{count}} พื้นที่",
    "deviceUsage": "ใช้ไปแล้ว {{usage}} จาก {{quota}}"
  },
  "recordTour": {
    "title": "บันทึกทัวร์แผนที่",
    "hint": "เลื่อนและซูมแผนที่ แล้วจับภาพแต่ละมุมมอง แผนที่ยังโต้ตอบได้ขณะเปิดแผงนี้",
    "unsupported": "เบราว์เซอร์นี้ไม่สามารถบันทึกแคนวาสของแผนที่ได้ กรุณาลองใช้ Chrome, Edge หรือ Firefox เวอร์ชันใหม่",
    "addView": "เพิ่มมุมมองปัจจุบัน",
    "pathTitle": "สร้างจากเส้นทาง",
    "pathNoLayers": "เพิ่มเลเยอร์แบบ LineString เพื่อสร้างคีย์เฟรมจากเส้นทาง",
    "pathLayer": "เลเยอร์เส้นทาง",
    "pathLayerOption": "{{name}} ({{count}} จุด)",
    "pathKeyframes": "คีย์เฟรม",
    "pathZoom": "ระดับซูม",
    "pathPitch": "มุมก้มเงย",
    "pathHold": "ค้างไว้",
    "pathTransition": "เคลื่อนที่",
    "pathGenerate": "สร้าง",
    "pathConfirmReplace": "แทนที่คีย์เฟรมปัจจุบันด้วยคีย์เฟรมที่สร้างจากเส้นทางนี้หรือไม่?",
    "pathGenerated_other": "สร้างคีย์เฟรมจากเส้นทางแล้ว {{count}} เฟรม",
    "pathGenerateError": "ไม่สามารถสร้างคีย์เฟรมจากเส้นทางนี้ได้",
    "loadConfig": "โหลดการตั้งค่า",
    "saveConfig": "บันทึกการตั้งค่า",
    "confirmLoad": "แทนที่คีย์เฟรมปัจจุบันด้วยการตั้งค่าที่โหลดมาหรือไม่?",
    "configFileType": "ไฟล์ตั้งค่าทัวร์",
    "configSaved": "บันทึกการตั้งค่าเป็น {{name}} แล้ว",
    "configLoaded_other": "โหลดการตั้งค่าที่มีคีย์เฟรม {{count}} เฟรมแล้ว",
    "configSaveError": "ไม่สามารถบันทึกการตั้งค่าทัวร์ได้ กรุณาลองใหม่",
    "configLoadError": "ไม่สามารถโหลดการตั้งค่าทัวร์ได้ ไฟล์อาจไม่ถูกต้อง",
    "keyframeCount_other": "{{count}} คีย์เฟรม",
    "empty": "เลื่อนและซูมแผนที่ไปยังมุมมองเริ่มต้น แล้วเพิ่มเป็นคีย์เฟรมแรก ต้องมีคีย์เฟรมอย่างน้อยสองเฟรมจึงจะบันทึกทัวร์ได้",
    "flyToKeyframe": "บินไปยังมุมมองนี้",
    "hold": "ค้างไว้",
    "transition": "การเปลี่ยนภาพ",
    "secondsShort": "วินาที",
    "holdSeconds": "จำนวนวินาทีที่ค้างอยู่ที่มุมมองนี้",
    "segmentSeconds": "จำนวนวินาทีที่ใช้เคลื่อนไปยังมุมมองถัดไป",
    "resizeLeft": "ปรับขนาดแผงจากมุมล่างซ้าย",
    "resizeRight": "ปรับขนาดแผงจากมุมล่างขวา",
    "recapture": "อัปเดตเป็นมุมมองแผนที่ปัจจุบัน",
    "moveUp": "เลื่อนคีย์เฟรมขึ้น",
    "moveDown": "เลื่อนคีย์เฟรมลง",
    "removeKeyframe": "นำคีย์เฟรมออก",
    "fps": "เฟรมต่อวินาที",
    "estimatedLength": "ประมาณ {{seconds}} วินาที",
    "record": "บันทึก",
    "videoFileType": "วิดีโอ WebM",
    "recordingStatus": "กำลังบันทึก… {{percent}}%",
    "savingStatus": "กำลังบันทึกวิดีโอ…",
    "stop": "หยุด",
    "recordingReady": "บันทึกเสร็จแล้ว ตั้งชื่อและบันทึกไฟล์ หรือทิ้งเพื่อบันทึกใหม่",
    "fileNameLabel": "ชื่อไฟล์",
    "saveVideo": "บันทึกวิดีโอ…",
    "discard": "ทิ้ง",
    "saved": "บันทึก {{name}} แล้ว",
    "saveCancelled": "ยกเลิกการบันทึกแล้ว",
    "recordError": "ไม่สามารถบันทึกทัวร์ได้ กรุณาลองใหม่",
    "saveError": "ไม่สามารถบันทึกวิดีโอได้ กรุณาลองใหม่"
  },
  "recordVideo": {
    "title": "บันทึกวิดีโอ",
    "hint": "บันทึกแผนที่สดเป็นวิดีโอ คุณเลื่อนและซูมได้ระหว่างบันทึก ทุกการเคลื่อนไหวจะถูกบันทึกไว้ แผงนี้และกรอบเลือกพื้นที่จะไม่ปรากฏในวิดีโอ",
    "unsupported": "เบราว์เซอร์นี้ไม่สามารถบันทึกแคนวาสของแผนที่ได้ กรุณาลองใช้ Chrome, Edge หรือ Firefox เวอร์ชันใหม่",
    "area": "พื้นที่ที่จะบันทึก",
    "wholeMap": "ทั้งแผนที่",
    "selectArea": "เลือกพื้นที่…",
    "redrawArea": "วาดพื้นที่ใหม่…",
    "drawHint": "ลากสี่เหลี่ยมบนแผนที่เพื่อกำหนดพื้นที่บันทึก หรือกด Escape เพื่อยกเลิก",
    "regionChosen": "พื้นที่บันทึก: {{width}} × {{height}} พิกเซล กรอบจะอยู่กับที่ขณะแผนที่เคลื่อนที่อยู่ข้างใต้",
    "noRegion": "วาดสี่เหลี่ยมบนแผนที่เพื่อเลือกพื้นที่บันทึก",
    "needRegion": "เลือกพื้นที่บนแผนที่ก่อน",
    "fps": "เฟรมต่อวินาที",
    "caption": "คำบรรยาย (ฝังลงในวิดีโอ)",
    "captionTitlePlaceholder": "ชื่อเรื่อง (ไม่บังคับ)",
    "captionTextLabel": "คำบรรยายรองหรือแหล่งข้อมูล",
    "captionTextPlaceholder": "คำบรรยายรองหรือแหล่งข้อมูล (ไม่บังคับ)",
    "captionPosition": "ตำแหน่งคำบรรยาย",
    "captionPos": {
      "top-left": "บนซ้าย",
      "top-center": "บนกลาง",
      "top-right": "บนขวา",
      "bottom-left": "ล่างซ้าย",
      "bottom-center": "ล่างกลาง",
      "bottom-right": "ล่างขวา"
    },
    "includePanels": "รวมแผงบนแผนที่ (คำอธิบายสัญลักษณ์ แถบสี HTML) ไว้ในวิดีโอ",
    "record": "บันทึก",
    "preparing": "กำลังเตรียม…",
    "stop": "หยุด",
    "savingStatus": "กำลังบันทึกวิดีโอ…",
    "recordingReady": "บันทึกเสร็จแล้ว ตั้งชื่อและบันทึกไฟล์ หรือทิ้งเพื่อบันทึกใหม่",
    "fileNameLabel": "ชื่อไฟล์",
    "saveVideo": "บันทึกวิดีโอ…",
    "discard": "ทิ้ง",
    "videoFileType": "วิดีโอ",
    "saved": "บันทึก {{name}} แล้ว",
    "saveCancelled": "ยกเลิกการบันทึกแล้ว",
    "recordError": "ไม่สามารถบันทึกวิดีโอได้ กรุณาลองใหม่",
    "saveError": "ไม่สามารถบันทึกวิดีโอได้ กรุณาลองใหม่"
  },
  "fieldCollection": {
    "title": "การเก็บข้อมูลภาคสนาม",
    "description": "บันทึกข้อมูลสำรวจแบบจุด เส้น หรือรูปหลายเหลี่ยม ตามแบบฟอร์มที่กำหนดเอง วางจุดด้วย GPS หรือแตะบนแผนที่ และวาดเส้นและรูปหลายเหลี่ยมทีละจุดยอด",
    "captureDescription": "บันทึกตำแหน่งด้วย GPS หรือบนแผนที่ แล้วกรอกแบบฟอร์มเพื่อบันทึกข้อมูล",
    "captureReviewDescription": "ตรวจสอบตำแหน่งที่บันทึกไว้ กรอกแบบฟอร์มให้ครบ แล้วบันทึกลงเลเยอร์",
    "reopen": "เปิดการเก็บข้อมูลภาคสนาม",
    "targetLayer": "เลเยอร์สำหรับเก็บข้อมูล",
    "newLayer": "เลเยอร์เก็บข้อมูลใหม่…",
    "layerName": "ชื่อเลเยอร์",
    "layerNamePlaceholder": "ข้อมูลสำรวจภาคสนาม",
    "geometry": "เรขาคณิต",
    "geom": {
      "point": "จุด",
      "line": "เส้น",
      "polygon": "รูปหลายเหลี่ยม"
    },
    "fields": "ฟิลด์ในแบบฟอร์ม",
    "addField": "เพิ่มฟิลด์",
    "fieldLabel": "ป้ายกำกับ",
    "fieldType": "ชนิด",
    "options": "ตัวเลือก (คั่นด้วยจุลภาค)",
    "required": "จำเป็นต้องกรอก",
    "noFields": "ยังไม่มีฟิลด์ เพิ่มฟิลด์เพื่อเก็บแอตทริบิวต์ หรือสร้างเลเยอร์เพื่อเก็บเฉพาะจุดตำแหน่ง",
    "type": {
      "text": "ข้อความ",
      "number": "ตัวเลข",
      "date": "วันที่",
      "choice": "ตัวเลือก"
    },
    "createLayer": "สร้างเลเยอร์",
    "captureHint": "ใช้ GPS หรือเลือกจุดบนแผนที่เพื่อเริ่มบันทึกข้อมูล",
    "drawHint": "วาดรูปทรงบนแผนที่เพื่อเริ่มบันทึกข้อมูล",
    "useGps": "ใช้ GPS",
    "pickOnMap": "เลือกบนแผนที่",
    "reposition": "ย้ายตำแหน่งจุด",
    "drawOnMap": "วาดบนแผนที่",
    "pickBannerTitle": "เปิดโหมดวางตำแหน่งอยู่",
    "pickBannerHint": "คลิกที่ใดก็ได้บนแผนที่เพื่อเลือกจุด หรือกด Esc เพื่อยกเลิก",
    "addGpsVertex": "เพิ่มจุดยอดจาก GPS",
    "undo": "เลิกทำ",
    "finish": "เสร็จสิ้น",
    "vertices_other": "{{count}} จุดยอด",
    "needMore": "เพิ่มจุดยอดอย่างน้อย {{min}} จุด",
    "dblClickHint": "แตะเพื่อเพิ่มจุดยอด ดับเบิลคลิกเพื่อจบการวาด",
    "locating": "กำลังระบุตำแหน่ง…",
    "photo": "รูปภาพ",
    "photoOptional": "รูปภาพ (ไม่บังคับ)",
    "choosePhoto": "เลือกรูปภาพ…",
    "removePhoto": "นำออก",
    "save": {
      "point": "บันทึกจุด",
      "line": "บันทึกเส้น",
      "polygon": "บันทึกรูปหลายเหลี่ยม"
    },
    "saved": {
      "point_other": "บันทึก {{count}} จุดลงใน {{layer}} แล้ว",
      "line_other": "บันทึก {{count}} เส้นลงใน {{layer}} แล้ว",
      "polygon_other": "บันทึก {{count}} รูปหลายเหลี่ยมลงใน {{layer}} แล้ว"
    },
    "layerGone": "ไม่พบเลเยอร์สำหรับเก็บข้อมูลนี้แล้ว",
    "noGeolocation": "อุปกรณ์นี้ไม่รองรับการระบุตำแหน่ง",
    "geolocationDenied": "ไม่สามารถระบุตำแหน่งของคุณได้ กรุณาตรวจสอบสิทธิ์การเข้าถึงตำแหน่งแล้วลองใหม่",
    "photoTooLarge": "รูปภาพนั้นมีขนาดใหญ่เกินไป (สูงสุด {{max}}) กรุณาเลือกภาพที่เล็กกว่านี้",
    "photoReadError": "ไม่สามารถอ่านภาพนั้นได้ กรุณาลองไฟล์อื่น",
    "errorRequired": "ฟิลด์นี้จำเป็นต้องกรอก",
    "errorNumber": "ป้อนตัวเลขที่ถูกต้อง",
    "errorChoice": "เลือกหนึ่งรายการจากตัวเลือกที่แสดงไว้"
  },
  "gps": {
    "title": "การติดตาม GPS",
    "description": "ส่งตำแหน่งของคุณขึ้นแผนที่แบบต่อเนื่องจากอุปกรณ์นี้หรือเครื่องรับ NMEA บันทึกแทร็กล็อก และเก็บจุด ณ ตำแหน่งปัจจุบันของคุณ",
    "start": "เริ่ม GPS",
    "stop": "หยุด GPS",
    "follow": "ให้แผนที่อยู่กึ่งกลางที่ตำแหน่งของฉันเสมอ",
    "waitingForFix": "กำลังรอสัญญาณ GPS…",
    "noGeolocation": "อุปกรณ์นี้ไม่รองรับการระบุตำแหน่ง",
    "permissionDenied": "สิทธิ์การเข้าถึงตำแหน่งถูกปฏิเสธ กรุณาเปิดใช้งานในเบราว์เซอร์หรือการตั้งค่าระบบแล้วลองใหม่",
    "trackLog": "แทร็กล็อก",
    "record": "บันทึกแทร็ก",
    "pause": "หยุดชั่วคราว",
    "resume": "ทำต่อ",
    "discard": "ทิ้ง",
    "saveTrack": "บันทึกเป็นเลเยอร์",
    "exportGpx": "ส่งออก GPX",
    "exportGeojson": "ส่งออก GeoJSON",
    "points_other": "{{count}} จุด",
    "trackLayerName": "แทร็ก GPS",
    "trackSaved": "บันทึก {{name}} เป็นเลเยอร์แล้ว",
    "trackExported": "ส่งออกแทร็กแล้ว",
    "exportCancelled": "ยกเลิกการส่งออกแล้ว",
    "exportFailed": "ไม่สามารถส่งออกแทร็กได้ กรุณาลองใหม่",
    "capture": "แปลงเป็นข้อมูลดิจิทัล",
    "capturePoint": "เก็บจุด",
    "captureLayerName": "จุด GPS",
    "captured_other": "เก็บจุดแล้ว {{count}} จุดในเซสชันนี้",
    "pointCaptured": "บันทึกจุดลงใน {{layer}} แล้ว",
    "captureBlocked": "ความแม่นยำของสัญญาณคือ ±{{accuracy}} ซึ่งแย่กว่าเกณฑ์ {{max}} m จึงไม่ได้บันทึกจุดนี้",
    "satellites": "ดาวเทียม",
    "satellitesShort": "ดาวเทียม",
    "satellitesValue": "ดาวเทียม: {{value}}",
    "satellitesShortValue": "ดาวเทียม: {{value}}",
    "notAvailable": "—",
    "settings": "ตัวกรองการบันทึก",
    "minDistance": "ระยะทางต่ำสุด (m)",
    "minTime": "เวลาต่ำสุด (วินาที)",
    "maxAccuracy": "ค่าความคลาดเคลื่อนสูงสุด (m)",
    "settingsHint": "สัญญาณที่ห่างจากจุดก่อนหน้าน้อยกว่าระยะทางหรือเวลาขั้นต่ำจะถูกข้ามไป สัญญาณที่แม่นยำน้อยกว่าเกณฑ์ที่กำหนดจะไม่ถูกบันทึก และจะเก็บจุดไม่ได้ ใส่ 0 เพื่อปิดตัวกรอง",
    "openDialog": "เปิดการติดตาม GPS",
    "altitudeValue": "ความสูง: {{value}} m",
    "speedValue": "{{value}} km/h",
    "headingValue": "{{value}}°",
    "source": "แหล่งข้อมูลตำแหน่ง",
    "sourceDevice": "อุปกรณ์นี้",
    "sourceNmea": "เครื่องรับ NMEA (อนุกรมหรือบลูทูธ)",
    "nmeaBaudRate": "อัตราบอด",
    "nmeaConnectSerial": "เชื่อมต่อแบบอนุกรม",
    "nmeaConnectBluetooth": "เชื่อมต่อบลูทูธ",
    "nmeaConnecting": "กำลังเชื่อมต่อ…",
    "nmeaConnected": "เชื่อมต่อกับ {{device}} แล้ว",
    "nmeaDisconnect": "ตัดการเชื่อมต่อ",
    "nmeaNotConnected": "เชื่อมต่อเครื่องรับ NMEA ด้านบนเพื่อเริ่มรับข้อมูลตำแหน่ง",
    "nmeaWaiting": "กำลังรอข้อมูล…",
    "nmeaStats": "{{parsed}} ประโยคข้อมูล · {{fixes}} ครั้งที่จับสัญญาณได้",
    "nmeaConnectFailed": "ไม่สามารถเชื่อมต่อกับเครื่องรับได้",
    "nmeaDisconnected": "เครื่องรับตัดการเชื่อมต่อแล้ว",
    "nmeaUnsupportedDevice": "ไม่พบบริการ NMEA บนอุปกรณ์นั้น อาจเป็นเครื่องรับบลูทูธแบบคลาสสิก ซึ่งต้องจับคู่ในการตั้งค่าระบบก่อน แล้วจึงเชื่อมต่อที่นี่ในฐานะพอร์ตอนุกรม",
    "nmeaUnsupported": "การอ่านข้อมูลจากเครื่องรับ NMEA ต้องใช้ Web Serial หรือ Web Bluetooth API ซึ่งเบราว์เซอร์นี้ไม่รองรับ กรุณาเปิด GeoLibre ในเบราว์เซอร์ตระกูล Chromium เช่น Chrome หรือ Edge",
    "nmeaSerialUnsupported": "ไม่รองรับ Web Serial ที่นี่ จึงไม่สามารถเปิดเครื่องรับแบบอนุกรมได้",
    "nmeaBluetoothUnsupported": "ไม่รองรับ Web Bluetooth ที่นี่ จึงไม่สามารถเปิดเครื่องรับแบบ Bluetooth Low Energy ได้",
    "nmeaBluetoothHint": "เครื่องรับ GPS บลูทูธส่วนใหญ่ใช้บลูทูธแบบคลาสสิก ให้จับคู่ในการตั้งค่าระบบแล้วอุปกรณ์จะปรากฏที่นี่ในฐานะพอร์ตอนุกรม ใช้ “เชื่อมต่อบลูทูธ” เฉพาะกับเครื่องรับแบบ Bluetooth Low Energy เท่านั้น",
    "fixQuality": {
      "invalid": "ไม่มีสัญญาณ",
      "gps": "สัญญาณ GPS",
      "dgps": "GPS แบบดิฟเฟอเรนเชียล",
      "pps": "สัญญาณแบบ PPS",
      "rtk-fixed": "RTK แบบ Fixed",
      "rtk-float": "RTK แบบ Float",
      "estimated": "การคำนวณตำแหน่งโดยประมาณ",
      "manual": "ป้อนด้วยตนเอง",
      "simulation": "จำลอง"
    }
  },
  "georeferencer": {
    "title": "กำหนดพิกัดภูมิศาสตร์ให้รูปภาพ",
    "description": "ตรึงรูปภาพลงบนแผนที่: โหลดภาพ เชื่อมจุดบนภาพเข้ากับตำแหน่งบนแผนที่ แล้วเพิ่มเป็นภาพซ้อนทับที่อ้างอิงพิกัดภูมิศาสตร์",
    "loadImage": "คลิกเพื่อโหลดรูปภาพ (PNG, JPG, TIFF)",
    "imageTooLarge": "รูปภาพนั้นมีขนาดใหญ่เกินไป (สูงสุด {{max}}) กรุณาเลือกภาพที่เล็กกว่านี้",
    "imageReadError": "ไม่สามารถอ่านภาพนั้นได้ กรุณาลองไฟล์อื่น",
    "imageNoDimensions": "ไม่สามารถระบุขนาดของรูปภาพได้ กรุณาใช้ภาพแบบแรสเตอร์ (PNG, JPG, TIFF)",
    "sourceImage": "ภาพต้นฉบับ ({{w}} × {{h}} พิกเซล)",
    "clickImageHint": "คลิกจุดบนรูปภาพ แล้วเชื่อมจุดนั้นบนแผนที่",
    "pixelPicked": "จุดบนภาพ: {{x}}, {{y}}",
    "linkOnMap": "เชื่อมบนแผนที่",
    "zoomIn": "ซูมเข้า",
    "zoomOut": "ซูมออก",
    "zoomReset": "รีเซ็ตการซูม",
    "importGcps": "นำเข้า",
    "exportGcps": "ส่งออก",
    "gcpsImported": "นำเข้าจุดควบคุมแล้ว {{count}} จุด",
    "gcpsReadError": "ไม่สามารถอ่านจุดควบคุมจากไฟล์นั้นได้",
    "gcpsOutsideImage": "จุดควบคุมบางจุดอยู่นอกรูปภาพที่โหลดไว้ — อาจมาจากภาพอื่น",
    "transformNeedsMore": "การแปลงพิกัดแบบนี้ต้องใช้จุดควบคุมอย่างน้อย {{min}} จุด",
    "gcps": "จุดควบคุม ({{count}})",
    "needGcps": "เพิ่มจุดควบคุมอย่างน้อย {{min}} จุดเพื่อกำหนดพิกัดภูมิศาสตร์",
    "collinear": "จุดควบคุมอยู่ในแนวเส้นตรงเดียวกันหรือทับซ้อนกัน — กรุณาย้ายจุดหนึ่งออกจากแนวเส้น",
    "cornersOutOfRange": "การปรับค่านี้ทำให้ภาพอยู่นอกขอบเขตแผนที่ที่ใช้ได้ กรุณาปรับจุดควบคุม",
    "residual": "ค่าคลาดเคลื่อนคงเหลือ",
    "rms": "RMS {{rms}} m",
    "opacity": "ความทึบของภาพซ้อนทับ",
    "addToMap": "เพิ่มลงแผนที่",
    "clear": "ล้าง",
    "defaultName": "ภาพที่อ้างอิงพิกัดภูมิศาสตร์",
    "exportTiff": "ส่งออก GeoTIFF",
    "exportTiffButton": "ส่งออก",
    "exportTiffHint": "ดัดภาพให้เป็น Cloud-Optimized GeoTIFF ในเบราว์เซอร์ของคุณ (GDAL/WASM) โดยจะดาวน์โหลดเอนจินเมื่อใช้งานครั้งแรก",
    "transform": {
      "affine": "แอฟฟีน (เชิงเส้น)",
      "polynomial": "พหุนาม (อันดับ 2)",
      "tps": "Thin plate spline"
    },
    "exporting": "กำลังส่งออก GeoTIFF… (กำลังโหลด GDAL ในการใช้งานครั้งแรก)",
    "exported": "ส่งออก GeoTIFF แล้ว",
    "exportFailed": "การส่งออก GeoTIFF ล้มเหลว ดูรายละเอียดในคอนโซล"
  },
  "collaborate": {
    "title": "การทำงานร่วมกันแบบสด",
    "description": "แชร์เซสชันแบบสดเพื่อให้ผู้อื่นดูและแก้ไขแผนที่นี้พร้อมกับคุณได้แบบเรียลไทม์",
    "displayName": "ชื่อของคุณ",
    "displayNamePlaceholder": "เช่น สมชาย",
    "color": "สีของคุณ",
    "startHeading": "เริ่มเซสชัน",
    "joinHeading": "เข้าร่วมเซสชัน",
    "mode": "ผู้ที่แก้ไขได้",
    "modeCoEdit": "ทุกคนแก้ไขได้",
    "modeViewOnly": "เฉพาะคุณที่แก้ไขได้ (คนอื่นดูอย่างเดียว)",
    "start": "เริ่มเซสชัน",
    "join": "เข้าร่วม",
    "joinSession": "เข้าร่วมเซสชัน",
    "invitedHeading": "คุณได้รับคำเชิญ",
    "invitedDescription": "เลือกชื่อและสีของคุณ แล้วเข้าร่วมเซสชันสดของผู้จัด",
    "startInstead": "เริ่มเซสชันใหม่แทน",
    "sessionCode": "รหัสเซสชัน",
    "sessionCodePlaceholder": "ป้อนรหัส",
    "shareLink": "ลิงก์สำหรับแชร์",
    "scanToJoin": "สแกนเพื่อเข้าร่วม",
    "copyLink": "คัดลอกลิงก์",
    "copyCode": "คัดลอกรหัส",
    "copied": "คัดลอกแล้ว",
    "participants": "ผู้เข้าร่วม ({{count}})",
    "host": "ผู้จัด",
    "you": "คุณ",
    "guest": "ผู้เยี่ยมชม",
    "connectFailed": "ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์การทำงานร่วมกันได้",
    "copyFailed": "ไม่สามารถคัดลอกไปยังคลิปบอร์ดได้",
    "connecting": "กำลังเชื่อมต่อ…",
    "reconnecting": "กำลังเชื่อมต่อใหม่…",
    "connected": "เซสชันสดกำลังทำงาน",
    "followHost": "ติดตามมุมมองของผู้จัด",
    "goToMap": "ไปที่แผนที่และทำงานร่วมกัน",
    "goToMapViewOnly": "ไปที่แผนที่และรับชม",
    "collapseRoster": "ย่อรายชื่อผู้เข้าร่วม",
    "manageSession": "จัดการเซสชัน",
    "sessionStatusTooltip": "เซสชันการทำงานร่วมกันแบบสด คลิกเพื่อดูว่าใครเชื่อมต่ออยู่บ้าง",
    "announcements": "ประกาศของเซสชัน",
    "participantJoined": "{{name}} เข้าร่วมเซสชันแล้ว",
    "participantLeft": "{{name}} ออกจากเซสชันแล้ว",
    "leave": "ออกจากเซสชัน",
    "switchToCoEdit": "อนุญาตให้ทุกคนแก้ไข",
    "switchToViewOnly": "ตั้งเป็นดูอย่างเดียว",
    "nameRequired": "ป้อนชื่อของคุณเพื่อดำเนินการต่อ",
    "codeRequired": "ป้อนรหัสเซสชันเพื่อเข้าร่วม",
    "canEdit": "แก้ไขได้",
    "viewOnly": "ดูอย่างเดียว",
    "allowEdit": "อนุญาตให้ผู้นี้แก้ไขได้",
    "setViewOnly": "ตั้งให้ผู้นี้ดูอย่างเดียว",
    "chatLog": "แชทของเซสชัน",
    "chatCompose": "พิมพ์ข้อความ",
    "chatEmpty": "ยังไม่มีข้อความ",
    "chatPlaceholder": "ส่งข้อความ…",
    "chatSend": "ส่งข้อความ",
    "chatAttachLocation": "แนบตำแหน่งแผนที่ปัจจุบัน",
    "chatLocationAttached": "แนบตำแหน่งแล้ว (คลิกเพื่อนำออก)",
    "chatGoToLocation": "ไปยังตำแหน่งนี้",
    "sessionStatusUnread_other": "เซสชันการทำงานร่วมกันแบบสด มีข้อความที่ยังไม่ได้อ่าน {{count}} ข้อความ คลิกเพื่อดูว่าใครเชื่อมต่ออยู่และเริ่มแชท"
  },
  "share": {
    "title": "แชร์โปรเจกต์",
    "description": "อัปโหลดโปรเจกต์ปัจจุบันไปยัง {{shareHost}} แล้วรับลิงก์สำหรับแชร์",
    "setupIntro": "เชื่อมต่อบัญชี {{shareHost}} ของคุณก่อนอัปโหลด",
    "step1Title": "1. รับโทเค็น API",
    "step1Description": "ลงชื่อเข้าใช้ {{shareHost}} แล้วสร้างโทเค็นที่ ตั้งค่า → โทเค็น API",
    "getToken": "รับโทเค็น API",
    "step2Title": "2. เพิ่มโทเค็นลงใน GeoLibre",
    "step2Description": "วางโทเค็นลงใน ตั้งค่า → ตัวแปรสภาพแวดล้อม บนอุปกรณ์นี้",
    "configureToken": "ตั้งค่าโทเค็นในเครื่อง",
    "liveAt": "โปรเจกต์ของคุณเผยแพร่อยู่ที่:",
    "copyLink": "คัดลอกลิงก์",
    "open": "เปิด",
    "done": "เสร็จสิ้น",
    "projectTitle": "ชื่อโปรเจกต์",
    "titlePlaceholder": "ตั้งชื่อโปรเจกต์ของคุณ",
    "titleRequired": "ป้อนชื่อโปรเจกต์ก่อนแชร์",
    "visibility": "การมองเห็น",
    "visibilityUnlisted": "ไม่แสดงในรายการ (ผู้ที่มีลิงก์เข้าถึงได้)",
    "visibilityPublic": "สาธารณะ (แสดงในแกลเลอรี)",
    "visibilityPrivate": "ส่วนตัว (เฉพาะคุณ)",
    "shareButton": "แชร์",
    "sharing": "กำลังแชร์…",
    "errorFallback": "ไม่สามารถแชร์โปรเจกต์ได้",
    "usernameRequired": "กรุณาตั้งชื่อผู้ใช้ในบัญชี {{shareHost}} ของคุณก่อนแชร์ เปิดการตั้งค่าบัญชีเพื่อเลือกชื่อผู้ใช้แล้วลองใหม่",
    "openAccountSettings": "เปิดการตั้งค่าบัญชี",
    "credentialsRemoved": "ไม่ได้รวมช่องข้อมูลประจำตัว {{count}} ช่อง ผู้รับต้องระบุข้อมูลประจำตัวของตนเองหรือใช้การอ้างอิงผ่านนายหน้า"
  },
  "gallery": {
    "title": "แกลเลอรีโปรเจกต์",
    "description": "เรียกดูโปรเจกต์สาธารณะที่แชร์บน {{shareHost}} แล้วเปิดใน GeoLibre",
    "searchPlaceholder": "กรองโปรเจกต์ที่โหลดไว้ตามชื่อ ผู้สร้าง หรือแท็ก",
    "loading": "กำลังโหลดโปรเจกต์…",
    "loadingMore": "กำลังโหลดเพิ่มเติม…",
    "loadMore": "โหลดเพิ่มเติม",
    "empty": "ยังไม่มีโปรเจกต์สาธารณะให้แสดง",
    "noMatches": "ไม่มีโปรเจกต์ที่โหลดไว้ตรงกับตัวกรองของคุณ",
    "errorFallback": "ไม่สามารถโหลดแกลเลอรีโปรเจกต์ได้",
    "errorTimeout": "แกลเลอรีโปรเจกต์หมดเวลา กรุณาลองใหม่",
    "errorNetwork": "ไม่สามารถเชื่อมต่อ {{shareHost}} ได้ กรุณาตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณ",
    "errorHttp": "ไม่สามารถโหลดแกลเลอรีได้ (HTTP {{status}})",
    "errorInvalidResponse": "ไม่สามารถโหลดแกลเลอรีได้ (เซิร์ฟเวอร์ตอบกลับไม่ถูกต้อง)",
    "errorUnauthorized": "โทเค็น API ของ {{shareHost}} ไม่ถูกต้องหรือหมดอายุแล้ว กรุณาอัปเดตในหน้าตั้งค่า",
    "errorUsernameRequired": "กรุณาตั้งชื่อผู้ใช้ในบัญชี {{shareHost}} ของคุณก่อนโหลดโปรเจกต์",
    "errorNotConfigured": "การติดตั้งใช้งานนี้ยังไม่ได้ตั้งค่าเซิร์ฟเวอร์สำหรับแชร์โปรเจกต์",
    "retry": "ลองใหม่",
    "open": "เปิด",
    "openCopy": "เปิดสำเนา",
    "opening": "กำลังเปิด…",
    "openingCopy": "กำลังเปิดสำเนา…",
    "openOnWeb": "ดูบนเว็บ",
    "openError": "ไม่สามารถเปิดโปรเจกต์นี้ได้",
    "byAuthor": "โดย {{author}}",
    "views_other": "{{count}} ครั้งที่เข้าชม",
    "untitled": "โปรเจกต์ไม่มีชื่อ",
    "noThumbnail": "ไม่มีภาพตัวอย่าง",
    "resizeDialog": "ปรับขนาดแกลเลอรี",
    "scopeFeatured": "แนะนำ",
    "scopeAll": "โปรเจกต์ทั้งหมด",
    "scopeMine": "โปรเจกต์ของฉัน",
    "signedOutHint": "เพิ่มโทเค็น API ของ {{shareHost}} ในหน้าตั้งค่าเพื่อดูโปรเจกต์แบบไม่แสดงในรายการและแบบส่วนตัวของคุณเอง",
    "emptyFeatured": "ยังไม่มีโปรเจกต์แนะนำ",
    "emptyMine": "คุณยังไม่ได้แชร์โปรเจกต์ใดเลย",
    "visibilityUnlisted": "ไม่แสดงในรายการ",
    "visibilityPrivate": "ส่วนตัว"
  },
  "template": {
    "saveTitle": "บันทึกเป็นเทมเพลต",
    "saveDescription": "บันทึกโปรเจกต์นี้พร้อมการตั้งค่าเป็นเทมเพลตที่นำกลับมาใช้ใหม่ได้ในคลังส่วนตัวของคุณ",
    "defaultName": "เทมเพลตไม่มีชื่อ",
    "nameLabel": "ชื่อเทมเพลต",
    "namePlaceholder": "เช่น แผนที่มาตรฐานขององค์กร",
    "descriptionLabel": "คำอธิบาย (ไม่บังคับ)",
    "descriptionPlaceholder": "เช่น แผนที่ฐาน สไตล์ และเลย์เอาต์แดชบอร์ดที่ตั้งค่าไว้ล่วงหน้าสำหรับแผนที่ของทีม",
    "stripDataLayersLabel": "ตัดเลเยอร์ข้อมูลออก",
    "stripDataLayersDesc": "คงแผนที่ฐาน กลุ่มเลเยอร์ สไตล์ คำอธิบายสัญลักษณ์ วิดเจ็ต และเลย์เอาต์ไว้ แต่ลบเนื้อหาของเลเยอร์ข้อมูลออก",
    "saveAction": "บันทึกลงคลังเทมเพลต"
  },
  "language": {
    "label": "ภาษา",
    "description": "เลือกภาษาที่ใช้แสดงส่วนติดต่อผู้ใช้"
  },
  "printLayout": {
    "title": "เลย์เอาต์สำหรับพิมพ์",
    "description": "จัดองค์ประกอบแผนที่พร้อมพิมพ์ ด้วยชื่อเรื่อง คำอธิบายสัญลักษณ์ มาตราส่วน และลูกศรทิศเหนือ แล้วส่งออกเป็น PNG หรือ PDF",
    "preview": "ตัวอย่าง",
    "resizeControls": "ปรับขนาดแผงควบคุม",
    "resizeDialog": "ปรับขนาดกล่องโต้ตอบ",
    "recapture": "จับภาพแผนที่ใหม่",
    "copyToClipboard": "คัดลอกไปยังคลิปบอร์ด",
    "copied": "คัดลอกแล้ว",
    "exportPng": "ส่งออก PNG",
    "exportPdf": "ส่งออก PDF",
    "titleLabel": "ชื่อเรื่อง",
    "titlePlaceholder": "ชื่อแผนที่",
    "subtitleLabel": "ชื่อเรื่องรอง",
    "subtitlePlaceholder": "ชื่อเรื่องรอง (ไม่บังคับ)",
    "size": "ขนาด",
    "sizeGroup": {
      "paper": "กระดาษ",
      "screen": "หน้าจอ / ดิจิทัล"
    },
    "sizeCustom": "กำหนดเอง…",
    "orientation": "การวางแนว",
    "portrait": "แนวตั้ง",
    "landscape": "แนวนอน",
    "width": "ความกว้าง",
    "height": "ความสูง",
    "unit": "หน่วย",
    "titlePlacement": "ตำแหน่งชื่อเรื่อง",
    "placement": {
      "outside": "นอกกรอบ",
      "inside": "ในกรอบ"
    },
    "alignment": "การจัดแนว",
    "align": {
      "left": "ชิดซ้าย",
      "center": "กึ่งกลาง",
      "right": "ชิดขวา"
    },
    "mapElements": "องค์ประกอบของแผนที่",
    "element": {
      "title": "ชื่อเรื่อง",
      "subtitle": "ชื่อเรื่องรอง",
      "legend": "คำอธิบายสัญลักษณ์",
      "scaleBar": "มาตราส่วนแบบแท่ง",
      "northArrow": "ลูกศรทิศเหนือ",
      "groupNavigation": "จัดกลุ่มลูกศรทิศเหนือกับมาตราส่วนแบบแท่ง",
      "footer": "ข้อความส่วนท้าย",
      "date": "วันที่",
      "attribution": "แสดงเครดิตของ GeoLibre",
      "pageBorder": "เส้นขอบหน้ากระดาษ",
      "infoBlock": "บล็อกข้อมูล (บล็อกชื่อเรื่อง)",
      "colorbar": "แถบสี",
      "customLegend": "คำอธิบายสัญลักษณ์ที่กำหนดเอง",
      "dataTable": "ตารางแอตทริบิวต์",
      "dataChart": "แผนภูมิ"
    },
    "dataBlocks": {
      "layer": "เลเยอร์",
      "titleLabel": "หัวข้อ",
      "position": "ตำแหน่ง",
      "filterToPage": "เฉพาะฟีเจอร์ที่อยู่ในขอบเขตของหน้า",
      "filterToPageHint": "ใช้กับหน้าของแอตลาสและขอบเขตการพิมพ์ที่วาดไว้ มิฉะนั้นจะใช้ทั้งเลเยอร์"
    },
    "dataTable": {
      "columns": "คอลัมน์",
      "columnsHint": "ระบบเลือกฟิลด์ {{count}} ฟิลด์แรกไว้เป็นค่าเริ่มต้น ทำเครื่องหมายที่คอลัมน์เพื่อปรับแต่งเอง",
      "maxRows": "จำนวนแถวสูงสุด",
      "moreRows_other": "+อีก {{count}} รายการ",
      "noRows": "ไม่มีแถวที่จะแสดงด้วยการตั้งค่าปัจจุบัน"
    },
    "dataChart": {
      "type": "ชนิดแผนภูมิ",
      "typeBar": "แท่ง",
      "typePie": "วงกลม",
      "typeLine": "เส้น",
      "categoryField": "ฟิลด์หมวดหมู่",
      "aggregation": "การรวมค่า",
      "aggCount": "นับจำนวน",
      "aggSum": "ผลรวม",
      "aggMean": "ค่าเฉลี่ย",
      "valueField": "ฟิลด์ค่า",
      "noNumericFields": "เลเยอร์นี้ไม่มีฟิลด์ตัวเลขให้รวมค่า",
      "noData": "ไม่มีข้อมูลแผนภูมิด้วยการตั้งค่าปัจจุบัน"
    },
    "customLegend": {
      "title": "ชื่อคำอธิบายสัญลักษณ์",
      "color": "สี",
      "itemLabel": "ป้ายกำกับ",
      "position": "ตำแหน่ง",
      "addItem": "เพิ่มรายการ",
      "removeItem": "นำรายการออก",
      "importFromDict": "นำเข้าจากดิกชันนารี",
      "import": "นำเข้า",
      "importError": "ป้อนดิกชันนารีรูปแบบ {\"label\": \"color\"} ที่ถูกต้อง"
    },
    "colorbar": {
      "colormap": "แผนผังสี",
      "min": "ค่าต่ำสุด",
      "max": "ค่าสูงสุด",
      "label": "ป้ายกำกับ",
      "labelPlaceholder": "เช่น ความสูง (m)",
      "orientation": "การวางแนว",
      "vertical": "แนวตั้ง",
      "horizontal": "แนวนอน",
      "position": "ตำแหน่ง",
      "length": "ความยาว"
    },
    "position": {
      "topLeft": "บนซ้าย",
      "topRight": "บนขวา",
      "bottomLeft": "ล่างซ้าย",
      "bottomRight": "ล่างขวา"
    },
    "footerTextLabel": "ข้อความส่วนท้าย",
    "footerPlaceholder": "ข้อความส่วนท้ายที่กำหนดเอง",
    "margin": "ระยะขอบ",
    "marginOption": {
      "normal": "ปกติ",
      "narrow": "แคบ",
      "none": "ไม่มี (ไร้ขอบ)"
    },
    "mapBackground": "พื้นหลังแผนที่",
    "scaleLabel": "มาตราส่วน (1:N)",
    "scalePlaceholder": "เช่น 25000",
    "scalePresets": "ค่าที่ตั้งไว้…",
    "scalePresetsAria": "ค่ามาตราส่วนที่ตั้งไว้",
    "extent": {
      "label": "ขอบเขตการพิมพ์",
      "draw": "วาดขอบเขตบนแผนที่",
      "redraw": "วาดขอบเขตบนแผนที่ใหม่",
      "useViewport": "ใช้มุมมองที่แสดงอยู่",
      "useCustom": "ตัดตามขอบเขตที่กำหนดเอง",
      "clear": "ล้างขอบเขต",
      "hint": "ลากกรอบบนแผนที่เพื่อกำหนดพื้นที่พิมพ์ที่ต้องการ กด Shift ค้างไว้เพื่อให้สัดส่วนตรงกับหน้ากระดาษ"
    },
    "info": {
      "author": "ผู้จัดทำ",
      "authorPlaceholder": "ผู้จัดทำหรือหน่วยงาน",
      "project": "เลขที่โครงการ",
      "projectPlaceholder": "เลขอ้างอิง",
      "crs": "ระบบพิกัดอ้างอิง",
      "crsPlaceholder": "เช่น EPSG:4326",
      "scale": "มาตราส่วน",
      "revision": "ครั้งที่แก้ไข",
      "revisionPlaceholder": "เช่น Rev 01"
    },
    "borderColor": "สีเส้นขอบ",
    "borderWidth": "ความหนาเส้นขอบ",
    "mapBorderColor": "สีกรอบแผนที่",
    "mapBorderWidth": "ความหนากรอบแผนที่",
    "errors": {
      "mapNotReady": "แผนที่ยังไม่พร้อม กรุณาลองใหม่อีกสักครู่",
      "captureFailed": "ไม่สามารถจับภาพแผนที่ได้",
      "captureFirst": "จับภาพแผนที่ก่อนส่งออก",
      "exportFailed": "ส่งออก {{format}} ไม่สำเร็จ",
      "clipboardFailed": "ไม่สามารถคัดลอกเลย์เอาต์ไปยังคลิปบอร์ดได้",
      "scaleOutOfRange": "มาตราส่วนนี้อยู่นอกช่วงที่มุมมองปัจจุบันรองรับ ระบบจะแสดงมาตราส่วนที่ใกล้เคียงที่สุดแทน"
    },
    "legend": {
      "section": "คำอธิบายสัญลักษณ์",
      "titleLabel": "ชื่อคำอธิบายสัญลักษณ์",
      "defaultTitle": "คำอธิบายสัญลักษณ์",
      "groupByLayer": "จัดกลุ่มชั้นข้อมูลตามเลเยอร์",
      "empty": "ไม่มีเลเยอร์ที่มองเห็นได้สำหรับใส่ในคำอธิบายสัญลักษณ์",
      "labelPlaceholder": "ป้ายกำกับ",
      "moveUp": "เลื่อนรายการขึ้น",
      "moveDown": "เลื่อนรายการลง",
      "showEntry": "แสดงรายการ",
      "hideEntry": "ซ่อนรายการ",
      "moreItems_other": "+อีก {{count}} รายการ"
    },
    "atlas": {
      "section": "แอตลาส (ชุดแผนที่)",
      "enable": "สร้างชุดแผนที่แบบหลายหน้า",
      "coverageLayer": "เลเยอร์ขอบเขตครอบคลุม",
      "coverage": "ขอบเขตครอบคลุม",
      "coveragePerFeature": "หนึ่งหน้าต่อหนึ่งฟีเจอร์",
      "coverageAlongLine": "หน้าเรียงตามแนวเส้น",
      "segmentLength": "ความยาวช่วง (km)",
      "segmentRequired": "ป้อนความยาวช่วงอย่างน้อย 0.1 km",
      "segmentTruncated": "จำกัดชุดแผนที่ไว้ที่ {{count}} หน้า กรุณาเพิ่มความยาวช่วง",
      "noLineFeatures": "เลเยอร์ขอบเขตครอบคลุมไม่มีฟีเจอร์แบบเส้น",
      "noLayers": "ไม่มีเลเยอร์เวกเตอร์ที่โหลดฟีเจอร์ไว้ กรุณาเพิ่มเลเยอร์ GeoJSON หรือเลเยอร์เวกเตอร์ในเครื่องอื่นก่อน",
      "nameField": "ฟิลด์ชื่อหน้า",
      "nameFieldNone": "หมายเลขฟีเจอร์",
      "extentMode": "ขอบเขตของหน้า",
      "extentMargin": "ระยะขอบรอบฟีเจอร์",
      "extentScale": "มาตราส่วนคงที่",
      "marginLabel": "ระยะขอบ (%)",
      "scaleLabel": "มาตราส่วน",
      "scaleRequired": "ป้อนมาตราส่วนที่มากกว่าศูนย์",
      "sortField": "เรียงตาม",
      "sortNone": "ลำดับเลเยอร์",
      "sortOrder": "ลำดับ",
      "sortAsc": "จากน้อยไปมาก",
      "sortDesc": "จากมากไปน้อย",
      "filterLabel": "ตัวกรอง",
      "filterPlaceholder": "เช่น POP2000 > 100000 and ST = \"CA\"",
      "filterError": "ไม่สามารถตีความตัวกรองได้ กรุณาใช้รูปแบบเปรียบเทียบ ฟิลด์-ตัวดำเนินการ-ค่า (=, !=, >, >=, <, <=, contains) เชื่อมด้วย \"and\"",
      "filenamePattern": "ชื่อไฟล์ของหน้า (ส่งออกเป็น ZIP)",
      "pages_other": "{{count}} หน้า",
      "noPages": "ไม่มีฟีเจอร์ที่ตรงกับตัวกรองปัจจุบัน",
      "pageOf": "หน้า {{current}} จาก {{total}}",
      "prevPage": "หน้าแอตลาสก่อนหน้า",
      "nextPage": "หน้าแอตลาสถัดไป",
      "exportZip": "ส่งออก PNG แบบ ZIP",
      "exportPdfPages_other": "ส่งออก PDF ({{count}} หน้า)",
      "exporting": "กำลังส่งออกหน้า {{current}} จาก {{total}}...",
      "tokensHint": "โทเค็น {atlas.name}, {atlas.pagenumber}, {atlas.total} และ {atlas.attr:FIELD} จะถูกแทนที่ในแต่ละหน้า ทั้งในชื่อเรื่อง ชื่อเรื่องรอง ส่วนท้าย และชื่อไฟล์ของหน้า",
      "alongLineHint": "หน้าต่าง ๆ จะเรียงตามแต่ละเส้นตามลำดับ โดยมี km_start, km_end, segment และ segments ให้ใช้เป็นโทเค็น {atlas.attr:FIELD}"
    }
  },
  "kml": {
    "importFailed": "ไม่สามารถนำเข้า KML/KMZ ได้",
    "timeOverlayGroup": "แอนิเมชันภาพซ้อนทับตามเวลา"
  },
  "map": {
    "boundsRestricted": "ล็อกขอบเขตแล้ว",
    "boundsRestrictedTooltip": "ขอบเขตของแผนที่ถูกจำกัดไว้ คุณเปลี่ยนได้ในหน้าตั้งค่า",
    "directionsMode": {
      "title": "เปิดโหมดเส้นทางอยู่",
      "hint": "คลิกบนแผนที่เพื่อเพิ่มจุดแวะ ลากจุดแวะเพื่อย้ายตำแหน่ง หรือคลิกที่จุดแวะเพื่อนำออก เส้นทางจะอัปเดตโดยอัตโนมัติ",
      "removeLast": "นำจุดสุดท้ายออก",
      "clear": "ล้าง",
      "exit": "ออก",
      "calculating": "กำลังคำนวณเส้นทาง...",
      "totalDistance": "ระยะทาง",
      "estimatedTime": "เวลาโดยประมาณ",
      "segment": "ช่วงที่ {{index}}",
      "metricsUnavailable": "ไม่มีข้อมูลสถิติของเส้นทาง",
      "distanceKilometers": "{{value}} km",
      "distanceMeters": "{{value}} m",
      "durationLessThanMinute": "< 1 นาที",
      "durationMinutes": "{{value}} นาที",
      "durationHours": "{{value}} ชม.",
      "durationHoursMinutes": "{{hours}} ชม. {{minutes}} นาที",
      "waypointCount_zero": "ยังไม่ได้วางจุดแวะ",
      "waypointCount_other": "วางจุดแวะแล้ว {{count}} จุด"
    },
    "reverseGeocodeMode": {
      "title": "เปิดโหมดค้นหาที่อยู่จากพิกัดอยู่",
      "hint": "คลิกที่ใดก็ได้บนแผนที่เพื่อค้นหาที่อยู่ ณ จุดนั้น",
      "exit": "ออก"
    },
    "pixelTimeSeriesMode": {
      "start": "อนุกรมเวลาของพิกเซล"
    }
  },
  "terrainSettings": {
    "title": "การขยายความสูงภูมิประเทศ",
    "description": "ปรับอัตราขยายแนวดิ่งของภูมิประเทศ 3 มิติ ค่าที่สูงขึ้นจะทำให้เนินเขาและภูเขาดูชันขึ้น",
    "label": "อัตราขยายแนวดิ่ง",
    "controlLabel": "เปิด/ปิดภูมิประเทศ (ดับเบิลคลิกเพื่อปรับอัตราขยาย)",
    "reset": "รีเซ็ต",
    "done": "เสร็จสิ้น"
  },
  "pixelTimeSeries": {
    "title": "อนุกรมเวลาของพิกเซล",
    "empty": "คลิกพิกเซลบนแผนที่เพื่อพล็อตค่าตามช่วงเวลา เพิ่มพิกเซลอื่นเพื่อเปรียบเทียบได้",
    "band": "แบนด์",
    "bandOption": "แบนด์ {{index}}",
    "pointLabel": "จุดที่ {{number}}",
    "pickPoints": "เลือกจุด",
    "stopPicking": "หยุดเลือกจุด",
    "clearAll": "ล้างทั้งหมด",
    "removePoint": "นำ {{label}} ออก",
    "close": "ปิด",
    "erroredExcluded": "การส่งออกไม่รวมการอ่านที่ล้มเหลว {{n}} รายการ",
    "querying": "กำลังอ่านค่าพิกเซลตลอดช่วงเวลา...",
    "progress": "กำลังอ่าน {{done}} จาก {{total}}...",
    "noValues": "ไม่มีค่าของแบนด์ที่เลือก ณ ตำแหน่งเหล่านี้ (อยู่นอกแรสเตอร์ หรือทุกช่วงเวลาเป็น nodata)",
    "truncated": "กำลังแสดง {{kept}} จาก {{total}} ช่วงเวลา (ลดจำนวนตัวอย่างเพื่อจำกัดการอ่าน)",
    "chartAria": "แผนภูมิเส้นแสดงค่าพิกเซลตามช่วงเวลา",
    "yAxis": "แกน Y",
    "yMin": "ต่ำสุด",
    "yMax": "สูงสุด",
    "axisAuto": "อัตโนมัติ",
    "gapNote": "ช่วงที่เป็นเส้นประคือวันที่ไม่มีค่าที่อ่านได้ (nodata หรืออยู่นอกพื้นที่ครอบคลุม)",
    "exportCsv": "ส่งออก CSV",
    "exportGeoParquet": "ส่งออก GeoParquet"
  },
  "basemapExtract": {
    "title": "แยกแผนที่ฐานสำหรับใช้ออฟไลน์",
    "url": "URL ของแผนที่ฐาน",
    "urlPlaceholder": "https://data.source.coop/…/planet.pmtiles",
    "useView": "ใช้มุมมองแผนที่",
    "drawBbox": "วาดบนแผนที่",
    "drawing": "กำลังวาด…",
    "drawHint": "ลากกรอบบนแผนที่เพื่อกำหนดพื้นที่ที่จะแยกออกมา",
    "clearBbox": "ล้างพื้นที่ที่วาดไว้",
    "north": "เหนือ",
    "south": "ใต้",
    "west": "ตะวันตก",
    "east": "ตะวันออก",
    "bboxHint": "ป้อนกรอบขอบเขตที่ถูกต้อง: ตะวันตก < ตะวันออก และใต้ < เหนือ โดยอยู่ในช่วง [-180, 180] และ [-90, 90]",
    "minZoom": "ระดับซูมต่ำสุด",
    "maxZoom": "ระดับซูมสูงสุด",
    "zoomHint": "ระดับซูมต้องเป็นจำนวนเต็มโดยค่าต่ำสุด ≤ ค่าสูงสุด (0–30) ระดับที่เกินค่าสูงสุดของไฟล์จะถูกละเว้น",
    "errorNoSourceLayers": "ไฟล์เวกเตอร์นี้ไม่มีเมทาดาทาของเลเยอร์ จึงแสดงผลไม่ได้ กรุณาลองไฟล์อื่น",
    "savedTitle": "แผนที่ฐานที่บันทึกไว้",
    "openFile": "เปิดไฟล์…",
    "savedEmpty": "ยังไม่มีแผนที่ฐานที่บันทึกไว้ แยกออกมาที่ด้านบน หรือเปิดไฟล์ .pmtiles",
    "errorNotBasemap": "ไฟล์นี้ไม่ใช่แผนที่ฐานแบบเวกเตอร์ของ Protomaps จึงกำหนดสไตล์ไม่ได้",
    "apply": "ใช้เป็นแผนที่ฐาน",
    "rename": "เปลี่ยนชื่อ",
    "delete": "ลบ",
    "confirmDelete": "ลบหรือไม่?",
    "style": "สไตล์แผนที่ฐาน",
    "flavor": {
      "light": "สว่าง",
      "dark": "มืด",
      "white": "ขาว",
      "grayscale": "โทนสีเทา",
      "black": "ดำ"
    },
    "flavorOverlay": "ไม่มี (เลเยอร์ซ้อนทับ)",
    "styleHintBasemap": "แสดงผลข้อมูลที่แยกออกมาเป็นแผนที่ฐาน Protomaps ที่จัดสไตล์แล้ว (ถนน แหล่งน้ำ ป้ายชื่อ) แบบออฟไลน์",
    "styleHintOverlay": "เพิ่มข้อมูลที่แยกออกมาเป็นเลเยอร์ซ้อนทับธรรมดาแทนแผนที่ฐานที่จัดสไตล์แล้ว",
    "phaseDirectories": "กำลังอ่านไดเรกทอรีของไฟล์…",
    "phaseData": "กำลังดาวน์โหลดไทล์…",
    "resize": "ปรับขนาดแผง",
    "estimatedSize": "≈ {{size}} · {{tiles}} ไทล์",
    "estimatedSizeLarge": "ดาวน์โหลดขนาดใหญ่: ≈ {{size}} · {{tiles}} ไทล์",
    "planWarning": "ข้อมูลที่จะแยกออกมามีขนาดประมาณ {{size}} ครอบคลุม {{tiles}} ไทล์ และจะประกอบขึ้นในหน่วยความจำ ต้องการดำเนินการต่อหรือไม่?",
    "planContinue": "ดำเนินการต่อ",
    "extract": "แยกข้อมูล",
    "extracting": "กำลังแยกข้อมูล…",
    "successSaved": "บันทึกไปยัง {{path}} และเพิ่มลงแผนที่แล้ว",
    "successAdded": "เพิ่มลงแผนที่แล้ว (ไม่ได้บันทึกไฟล์)",
    "successAddedSaveFailed": "เพิ่มลงแผนที่แล้ว แต่การบันทึกลงดิสก์ล้มเหลว: {{error}}",
    "successBasemapSaved": "บันทึกไปยัง {{path}} และตั้งเป็นแผนที่ฐานแล้ว",
    "successBasemapApplied": "ตั้งเป็นแผนที่ฐานแล้ว (ไม่ได้บันทึกไฟล์)",
    "successBasemapSaveFailed": "ตั้งเป็นแผนที่ฐานแล้ว แต่การบันทึกลงดิสก์ล้มเหลว: {{error}}"
  },
  "rasterSubset": {
    "title": "แยกชุดข้อมูลย่อย",
    "drawBbox": "วาดกรอบขอบเขต",
    "drawing": "กำลังวาด…",
    "drawHint": "คลิกและลากบนแผนที่เพื่อวาดพื้นที่ที่จะแยกออกมา กด Esc เพื่อยกเลิก",
    "useView": "ใช้มุมมองปัจจุบัน",
    "north": "เหนือ",
    "south": "ใต้",
    "west": "ตะวันตก",
    "east": "ตะวันออก",
    "bboxHint": "ป้อนกรอบที่ถูกต้อง: ตะวันตก/ตะวันออกอยู่ในช่วง -180 ถึง 180 ใต้/เหนืออยู่ในช่วง -90 ถึง 90 โดยตะวันตก < ตะวันออก และใต้ < เหนือ",
    "bboxAntimeridianHint": "ค่าตะวันตกต้องน้อยกว่าค่าตะวันออก ไม่รองรับกรอบที่คร่อมเส้นเมริเดียน 180° กรุณาแบ่งเป็นสองส่วน",
    "zoom": "ระดับซูม",
    "zoomHint": "ป้อนระดับซูมเป็นจำนวนเต็มระหว่าง 0 ถึง 30",
    "resolution": "ความละเอียด",
    "resolutionPlaceholder": "ตามต้นฉบับ",
    "resolutionHint": "ขนาดพิกเซลผลลัพธ์ในหน่วยของระบบพิกัดผลลัพธ์ เว้นว่างไว้เพื่อคงความละเอียดของต้นฉบับ",
    "advanced": "ตัวเลือกขั้นสูง",
    "outputCrs": "ระบบพิกัดผลลัพธ์ (EPSG)",
    "outputCrsPlaceholder": "เหมือนกับข้อมูลนำเข้า",
    "nodata": "ค่า nodata",
    "nodataPlaceholder": "ไม่มี",
    "additionalArgs": "ตัวเลือกเพิ่มเติม",
    "additionalArgsPlaceholder": "level=2\nwidth=512",
    "additionalArgsHint": "หนึ่ง key=value ต่อหนึ่งบรรทัด เช่น level, width, height",
    "errorResolution": "ความละเอียดต้องเป็นจำนวนบวก",
    "errorOutputCrs": "ระบบพิกัดผลลัพธ์ต้องเป็นรหัส EPSG ที่เป็นจำนวนบวก",
    "errorNodata": "ค่า nodata ต้องเป็นตัวเลข",
    "errorAdditionalArgs": "ตัวเลือกเพิ่มเติมต้องเป็นหนึ่ง key=value ต่อหนึ่งบรรทัด",
    "extract": "แยกและบันทึก",
    "extracting": "กำลังแยกข้อมูล…",
    "success": "บันทึกชุดข้อมูลย่อยแล้ว"
  },
  "mapGrid": {
    "layers": "เลเยอร์",
    "layersLabel": "การมองเห็นเลเยอร์สำหรับแผนที่ {{number}}",
    "noLayers": "ยังไม่มีเลเยอร์",
    "labelPlaceholder": "ป้ายกำกับ",
    "labelLabel": "ป้ายกำกับสำหรับแผนที่ {{number}}",
    "removePane": "นำแผนที่ {{number}} ออก",
    "show3d": "แสดงแผนที่ {{number}} เป็นลูกโลก 3 มิติ",
    "show2d": "แสดงแผนที่ {{number}} เป็นแผนที่ 2 มิติ",
    "only2d": "2 มิติเท่านั้น"
  },
  "mapContextMenu": {
    "copyCoordinatesHint": "คัดลอกพิกัดไปยังคลิปบอร์ด",
    "quickActions": "การดำเนินการด่วน",
    "whatsHere": "ตรงนี้คืออะไร?",
    "copyGeoJson": "คัดลอกเป็น GeoJSON",
    "centerHere": "จัดกึ่งกลางแผนที่ที่นี่",
    "zoomInHere": "ซูมเข้าที่นี่",
    "viewInGoogleMaps": "ดูใน Google Maps",
    "viewInGoogleEarth": "ดูใน Google Earth"
  },
  "quickAnalysis": {
    "menu": "การวิเคราะห์ด่วน",
    "bufferHere": "สร้างบัฟเฟอร์ {{distance}} ที่นี่",
    "bufferFeatures": "สร้างบัฟเฟอร์ {{distance}} ให้ทุกฟีเจอร์",
    "driveTimeHere": "เวลาขับรถจากที่นี่ ({{contours}} นาที)",
    "walkTimeHere": "เวลาเดินจากที่นี่ ({{contours}} นาที)",
    "centroids": "จุดศูนย์ถ่วง",
    "convexHull": "รูปนูนห่อหุ้ม",
    "boundingBox": "กรอบขอบเขต",
    "openInProcessing": "เปิดในหน้าประมวลผล…",
    "bufferLayerName": "บัฟเฟอร์ {{distance}}",
    "bufferOfLayerName": "บัฟเฟอร์ {{distance}} ของ {{name}}",
    "driveTimeLayerName": "เวลาขับรถ",
    "walkTimeLayerName": "เวลาเดิน",
    "centroidsLayerName": "จุดศูนย์ถ่วงของ {{name}}",
    "convexHullLayerName": "รูปนูนห่อหุ้มของ {{name}}",
    "boundingBoxLayerName": "กรอบขอบเขตของ {{name}}",
    "running": "กำลังเรียกใช้ {{tool}}…",
    "failed": "{{tool}} ล้มเหลว",
    "viewDetails": "ดูรายละเอียด",
    "unit": {
      "meters": "m",
      "kilometers": "km",
      "miles": "mi"
    }
  },
  "knowledgeCard": {
    "title": "ข้อมูลสถานที่",
    "loading": "กำลังค้นหาข้อมูลสถานที่นี้…",
    "empty": "ไม่พบบทความวิกิพีเดียใกล้สถานที่นี้",
    "error": "ไม่สามารถโหลดข้อมูลสถานที่ได้ กรุณาลองใหม่",
    "readMore": "อ่านเพิ่มเติมบนวิกิพีเดีย",
    "nearby": "สถานที่ใกล้เคียง",
    "attribution": "เนื้อหาจากวิกิพีเดีย เผยแพร่ภายใต้สัญญาอนุญาต CC BY-SA",
    "noticeTitle": "การ์ดความรู้ใช้ข้อมูลจากวิกิพีเดีย",
    "noticeDesc": "การเปิดการ์ดความรู้จะส่งพิกัดของสถานที่ที่คุณคลิก (และชื่อบทความใกล้เคียงที่คุณเปิด) ไปยัง API สาธารณะของวิกิพีเดียเพื่อดึงบทสรุปและรูปภาพ — พิกัดของคุณจะออกจากอุปกรณ์ในคำขอเหล่านั้น"
  },
  "onboarding": {
    "title": "ยินดีต้อนรับสู่ GeoLibre",
    "description": "เลือกระดับความชำนาญของคุณเพื่อปรับส่วนติดต่อผู้ใช้ให้เหมาะสม คุณเปลี่ยนได้ทุกเมื่อที่ ตั้งค่า → ส่วนติดต่อผู้ใช้",
    "level": {
      "beginner": {
        "title": "ผู้เริ่มต้น",
        "description": "แสดงเฉพาะแหล่งข้อมูลและเครื่องมือที่จำเป็น"
      },
      "intermediate": {
        "title": "ระดับกลาง",
        "description": "แสดงแหล่งข้อมูล บริการ และปลั๊กอินที่ใช้บ่อย"
      },
      "advanced": {
        "title": "ระดับสูง",
        "description": "แสดงทุกอย่างที่ GeoLibre มีให้"
      }
    },
    "showEverything": "ข้าม — แสดงทั้งหมด"
  },
  "settings": {
    "title": "ตั้งค่า",
    "description": "กำหนดค่าตัวเลือกของโปรเจกต์และการตั้งค่าขณะทำงาน",
    "saveButton": "บันทึกการตั้งค่า",
    "section": {
      "map": "แผนที่",
      "layout": "เลย์เอาต์",
      "appearance": "รูปลักษณ์",
      "interface": "ส่วนติดต่อผู้ใช้",
      "geocoding": "การแปลงที่อยู่เป็นพิกัด",
      "ai": "ผู้ให้บริการ AI",
      "environment": "สภาพแวดล้อม",
      "updates": "การอัปเดต"
    },
    "menu": {
      "mapPreferences": "ตัวเลือกแผนที่",
      "layoutSettings": "ตั้งค่าเลย์เอาต์",
      "appearanceSettings": "ตั้งค่ารูปลักษณ์",
      "interfaceSettings": "ตั้งค่าส่วนติดต่อผู้ใช้",
      "geocoding": "การแปลงที่อยู่เป็นพิกัด",
      "ai": "ผู้ให้บริการ AI",
      "environmentVariables": "ตัวแปรสภาพแวดล้อม",
      "updates": "ตั้งค่าการอัปเดต",
      "managePlugins": "จัดการปลั๊กอิน",
      "styleManager": "ตัวจัดการสไตล์",
      "urlOverrideNote": "พารามิเตอร์เลย์เอาต์ใน URL จะแทนที่การตั้งค่าที่บันทึกไว้"
    },
    "updates": {
      "title": "การอัปเดตซอฟต์แวร์",
      "description": "ควบคุมวิธีที่ GeoLibre ตรวจหาเวอร์ชันใหม่เมื่อเปิดแอปเดสก์ท็อป",
      "checkOnStartup": "ตรวจหาการอัปเดตเมื่อเริ่มโปรแกรม",
      "checkOnStartupHint": "เมื่อเปิดใช้งาน GeoLibre จะตรวจหาเวอร์ชันใหม่ทุกครั้งที่เริ่มแอป ปิดตัวเลือกนี้หากต้องการใช้งานแบบออฟไลน์อย่างสมบูรณ์",
      "notificationLevel": "แจ้งเตือนฉันเกี่ยวกับ",
      "notificationLevelHint": "เลือกว่ารุ่นประเภทใดที่จะแจ้งเตือนเมื่อเริ่มโปรแกรม",
      "level": {
        "all": "ทุกรุ่น (รุ่นใหญ่ รุ่นย่อย และรุ่นแก้ไข)",
        "minor": "เฉพาะรุ่นใหญ่และรุ่นย่อย",
        "major": "เฉพาะรุ่นใหญ่"
      }
    },
    "map": {
      "constraintsTitle": "ข้อจำกัดของแผนที่",
      "restrictBounds": "จำกัดขอบเขตแผนที่",
      "west": "ตะวันตก",
      "south": "ใต้",
      "east": "ตะวันออก",
      "north": "เหนือ",
      "useCurrentView": "ใช้มุมมองปัจจุบัน",
      "useCurrentViewHint": "บันทึกขอบเขตแผนที่ปัจจุบันและเปิดใช้งานการจำกัดขอบเขตแผนที่",
      "useCurrentViewGlobeHint": "สลับไปใช้การฉายแบบเมอร์เคเตอร์ก่อนใช้ตัวเลือกนี้ ในการฉายแบบลูกโลก แผนที่ยังอาจเลื่อนออกนอกขอบเขตที่บันทึกไว้เล็กน้อย",
      "minZoom": "ระดับซูมต่ำสุด",
      "maxZoom": "ระดับซูมสูงสุด",
      "maxPitch": "มุมก้มเงยสูงสุด",
      "renderWorldCopies": "แสดงสำเนาของโลกซ้ำ",
      "ellipsoid": "เทหวัตถุ",
      "ellipsoidHint": "กำหนดรัศมีที่ใช้ในการวัดระยะทาง พื้นที่ และมาตราส่วน เลือกแผนที่ฐานของดาวเคราะห์ที่สอดคล้องกันได้ในเมนูเพิ่มข้อมูล",
      "scaleUnit": "หน่วยของมาตราส่วนแบบแท่ง",
      "scaleUnitMetric": "เมตริก (m / km)",
      "scaleUnitImperial": "อิมพีเรียล (ft / mi)",
      "scaleUnitNautical": "หน่วยเดินเรือ (nmi)",
      "scaleUnitHint": "เลือกหน่วยที่แสดงบนมาตราส่วนแบบแท่งที่ด้านล่างของแผนที่",
      "errorBoundsUnavailable": "ยังไม่มีข้อมูลขอบเขตของแผนที่"
    },
    "layout": {
      "title": "เลย์เอาต์",
      "description": "การมองเห็นพื้นที่ทำงานและการแสดงผลของแถบเครื่องมือ",
      "toolbar": "แถบเครื่องมือ",
      "panels": "แผง",
      "showToolbarLabels": "แสดงป้ายกำกับบนแถบเครื่องมือ",
      "showProjectInfo": "แสดงข้อมูลโปรเจกต์",
      "showProjectInfoToolbar": "แสดงข้อมูลโปรเจกต์บนแถบเครื่องมือ",
      "showLayersPanel": "แสดงแผงเลเยอร์",
      "showStylePanel": "แสดงแผงสไตล์",
      "showBrowserPanel": "แสดงแผงเบราว์เซอร์",
      "showCommentsPanel": "แสดงแผงความคิดเห็น",
      "showAttributePanel": "แสดงแผงแอตทริบิวต์",
      "urlParamsNote": "พารามิเตอร์เลย์เอาต์ใน URL ยังคงมีผลเมื่อปรากฏในลิงก์มุมมองที่แชร์ไว้"
    },
    "appearance": {
      "title": "รูปลักษณ์",
      "description": "เลือกโหมดสว่างหรือมืด และสีเน้นที่จะใช้ทับลงไป",
      "themeMode": "โหมด",
      "mode": {
        "light": "สว่าง",
        "dark": "มืด"
      },
      "accentColor": "สีเน้น",
      "custom": "กำหนดเอง",
      "customColor": "สีที่กำหนดเอง",
      "customColorHex": "รหัสสีฐานสิบหกที่กำหนดเอง",
      "scheme": {
        "blue": "น้ำเงิน",
        "violet": "ม่วง",
        "emerald": "เขียวมรกต",
        "rose": "ชมพูกุหลาบ",
        "amber": "เหลืองอำพัน"
      }
    },
    "interface": {
      "title": "โปรไฟล์ส่วนติดต่อผู้ใช้",
      "description": "เลือกระดับความชำนาญเพื่อทำให้ส่วนติดต่อผู้ใช้เรียบง่ายขึ้น ไม่มีสิ่งใดถูกลบออก คุณจึงสลับระดับหรือเปิดใช้งานรายการต่าง ๆ ที่นี่ได้ทุกเมื่อ",
      "presets": "ระดับความชำนาญ",
      "presetsHint": "ระดับผู้เริ่มต้น ระดับกลาง และระดับสูงจะใช้เลย์เอาต์ที่จัดไว้ให้ทันที การแก้ไขรายการใด ๆ ด้านล่างจะเปลี่ยนเป็นแบบกำหนดเอง หรือคลิก “กำหนดเอง” เพื่อคงการตั้งค่าปัจจุบันไว้ในโหมดกำหนดเอง",
      "level": {
        "beginner": "ผู้เริ่มต้น",
        "intermediate": "ระดับกลาง",
        "advanced": "ระดับสูง",
        "custom": "กำหนดเอง"
      },
      "dataSources": "แหล่งข้อมูล",
      "plugins": "ปลั๊กอิน",
      "menus": "เมนู",
      "lockedNote": "โปรไฟล์ส่วนติดต่อผู้ใช้นี้ถูกจัดการโดยผู้ดูแลระบบของคุณ จึงไม่สามารถเปลี่ยนแปลงได้"
    },
    "env": {
      "tokenTitle": "โทเค็น API ของ Share.GeoLibre",
      "tokenDescription": "เมนู โปรเจกต์ > แชร์ ใช้โทเค็นนี้ในการอัปโหลดแผนที่ของคุณไปยัง {{shareHost}} เปิด <tokenLink>{{shareHost}}/settings</tokenLink> สร้างโทเค็นที่ Settings > API tokens แล้ววางลงในช่องด้านล่าง",
      "tokenStorageNote": "จัดเก็บไว้ในเครื่องบนอุปกรณ์นี้ และส่งไปยัง {{shareHost}} เท่านั้นเพื่อยืนยันตัวตนในการอัปโหลด บนบิลด์เว็บ โทเค็นจะใช้พื้นที่จัดเก็บของเบราว์เซอร์ร่วมกับข้อมูลอื่นของเว็บไซต์ ดังนั้นควรเพิกถอนโทเค็นที่ {{shareHost}} หากเครื่องของคุณถูกบุกรุก",
      "tokenUnavailable": "การติดตั้งใช้งานนี้ยังไม่ได้ตั้งค่าเซิร์ฟเวอร์สำหรับแชร์โปรเจกต์ จึงไม่จำเป็นต้องใช้โทเค็น API",
      "tokenHostInvalid": "ที่อยู่เซิร์ฟเวอร์สำหรับแชร์โปรเจกต์ของการติดตั้งใช้งานนี้ไม่ถูกต้อง จึงใช้โทเค็นนี้ไม่ได้",
      "tokenPlaceholder": "glb_…",
      "cesiumTokenTitle": "โทเค็น Cesium Ion",
      "cesiumTokenDescription": "ลูกโลก 3 มิติ (บานหน้าต่างในมุมมองแบบแบ่งจอ) ใช้ภาพถ่ายและข้อมูลภูมิประเทศของ Cesium Ion ซึ่งต้องมีโทเค็นการเข้าถึง สร้างบัญชีฟรีได้ที่ <tokenLink>ion.cesium.com/tokens</tokenLink> คัดลอกโทเค็นการเข้าถึงเริ่มต้นของคุณ แล้ววางด้านล่าง หากไม่มีโทเค็น ปุ่มสลับลูกโลก 3 มิติจะถูกซ่อนไว้",
      "cesiumTokenStorageNote": "จัดเก็บไว้ในเครื่องบนอุปกรณ์นี้ (ไม่ได้อยู่ในไฟล์โปรเจกต์ จึงไม่ถูกแชร์ออกไป) และส่งไปยัง Cesium Ion เท่านั้น บนบิลด์เว็บ โทเค็นจะใช้พื้นที่จัดเก็บของเบราว์เซอร์ร่วมกับข้อมูลอื่นของเว็บไซต์",
      "cesiumTokenPlaceholder": "eyJhbGciOi…",
      "variablesTitle": "ตัวแปรสภาพแวดล้อม",
      "variablesCount_other": "ตัวแปรขณะทำงานที่เปิดใช้งาน {{count}} รายการ",
      "secretsWarning": "ค่าต่าง ๆ จะถูกเก็บเป็นข้อความธรรมดาในไฟล์โปรเจกต์ และอาจถูกเปิดเผยเมื่อแชร์โปรเจกต์ ควรหลีกเลี่ยงการใส่ข้อมูลลับไว้ที่นี่ เว้นแต่ไฟล์โปรเจกต์จะเก็บเป็นส่วนตัว",
      "empty": "ยังไม่ได้ตั้งค่าตัวแปรสภาพแวดล้อม",
      "variableFallback": "ตัวแปร",
      "enableAria": "เปิดใช้งาน {{name}}",
      "nameAria": "ชื่อตัวแปร",
      "namePlaceholder": "VITE_EXAMPLE_KEY",
      "valueAria": "ค่าของตัวแปร",
      "valuePlaceholder": "ค่า",
      "showValueAria": "แสดงค่าของ {{name}}",
      "hideValueAria": "ซ่อนค่าของ {{name}}",
      "removeAria": "นำ {{name}} ออก",
      "errorNamePattern": "ชื่อตัวแปรสภาพแวดล้อมต้องขึ้นต้นด้วยตัวอักษรหรือขีดล่าง และประกอบด้วยตัวอักษร ตัวเลข และขีดล่างเท่านั้น",
      "errorDuplicate": "ตัวแปรสภาพแวดล้อม \"{{name}}\" ซ้ำกัน",
      "stripPromptTitle": "ตัดข้อมูลประจำตัวออกหรือไม่?",
      "stripPromptDesc": "โปรเจกต์นี้มีช่องที่เก็บข้อมูลประจำตัว {{count}} ช่อง เช่น คีย์ API ส่วนหัวคำขอ หรือการตั้งค่าปลั๊กอิน ต้องการนำออกจากไฟล์ที่บันทึกหรือไม่? พื้นที่ทำงานปัจจุบันจะยังคงเก็บข้อมูลเหล่านี้ไว้",
      "stripButton": "ตัดข้อมูลประจำตัวออก",
      "keepButton": "เก็บไว้ในไฟล์"
    },
    "geocoding": {
      "title": "การแปลงที่อยู่เป็นพิกัด",
      "description": "เลือกระบบเบื้องหลังที่ใช้โดยฟีเจอร์แปลงที่อยู่เป็นพิกัดและค้นหาที่อยู่จากพิกัด Nominatim เป็นค่าเริ่มต้นและไม่ต้องใช้คีย์",
      "provider": "ผู้ให้บริการ",
      "requiresKey": "ผู้ให้บริการรายนี้ต้องใช้คีย์ API หรือโทเค็นการเข้าถึง",
      "optionalKey": "บริการแบบโฮสต์ต้องใช้คีย์ API ส่วนการติดตั้งใช้งานเองไม่ต้องใช้",
      "noKey": "ผู้ให้บริการรายนี้ใช้งานได้โดยไม่ต้องมีคีย์ API",
      "apiKey": "คีย์ API",
      "apiKeyPlaceholder": "วางคีย์ API หรือโทเค็นของผู้ให้บริการ",
      "toggleApiKey": "สลับการแสดงคีย์ API",
      "forwardEndpoint": "ปลายทางสำหรับแปลงที่อยู่เป็นพิกัด (ไม่บังคับ)",
      "reverseEndpoint": "ปลายทางสำหรับค้นหาที่อยู่จากพิกัด (ไม่บังคับ)",
      "email": "อีเมลติดต่อ (ไม่บังคับ)",
      "emailPlaceholder": "you@example.org",
      "emailHint": "ใช้เฉพาะกับ Nominatim ซึ่งแนะนำให้ระบุไว้เพื่อช่วยระบุแอปพลิเคชันของคุณ — จะถูกส่งเมื่อระบุไว้เท่านั้น",
      "secretsWarning": "คีย์จะถูกเก็บเป็นข้อความธรรมดาในไฟล์โปรเจกต์ และอาจถูกเปิดเผยเมื่อแชร์โปรเจกต์ อีกทั้งยังถูกส่งเป็นพารามิเตอร์ใน URL จึงปรากฏใน URL ของคำขอแปลงพิกัดที่มองเห็นได้ใน DevTools ของเบราว์เซอร์และในบันทึกของพร็อกซี",
      "corsNote": "Google ไม่อนุญาตให้เรียกใช้ Geocoding API จากเบราว์เซอร์อย่างเป็นทางการ คำขอจึงอาจถูกบล็อก เว้นแต่จะให้บริการผ่านพร็อกซีที่อยู่ต้นทางเดียวกัน"
    },
    "ai": {
      "title": "ผู้ให้บริการผู้ช่วย AI",
      "description": "ตั้งค่าข้อมูลรับรองสำหรับผู้ช่วย AI เลือกผู้ให้บริการ กรอกข้อมูลที่จำเป็น แล้วบันทึก คุณต้องตั้งค่าผู้ให้บริการเพียงรายเดียวก็เริ่มสนทนาได้",
      "providerLabel": "ผู้ให้บริการ",
      "providerHint": "เลือกผู้ให้บริการเพื่อแสดงช่องข้อมูลที่จำเป็นสำหรับผู้ให้บริการรายนั้น",
      "configuredMark": "(ตั้งค่าแล้ว)",
      "optionalMark": "(ไม่บังคับ)",
      "statusReady": "ตั้งค่า {{provider}} เรียบร้อยและพร้อมใช้งานแล้ว",
      "statusIncomplete": "กรอกข้อมูลที่จำเป็นด้านล่างเพื่อเปิดใช้งาน {{provider}}",
      "secretsNote": "ข้อมูลรับรองจะถูกบันทึกไว้ในเครื่องบนอุปกรณ์นี้ ไม่ได้อยู่ในไฟล์โปรเจกต์ที่คุณแชร์ จึงยังคงอยู่หลังเริ่มโปรแกรมใหม่ ผู้ที่เข้าถึงอุปกรณ์นี้ได้จะสามารถอ่านข้อมูลเหล่านี้ได้",
      "getCredentials": "แหล่งขอข้อมูลรับรองของ {{provider}}",
      "showValue": "แสดง {{name}}",
      "hideValue": "ซ่อน {{name}}",
      "osEnvNote": "แอปเดสก์ท็อปยังอ่านคีย์ API ที่ตรงกันจากตัวแปรสภาพแวดล้อมของระบบคุณด้วย ค่าเหล่านั้นจะถูกใช้โดยอัตโนมัติและไม่ถูกบันทึกลงไฟล์โปรเจกต์ — เว้นช่องว่างไว้เพื่อใช้ค่าจากสภาพแวดล้อมต่อไป",
      "osEnvField": "อ่านจากตัวแปรสภาพแวดล้อมของระบบ {{name}}",
      "osEnvPlaceholder": "กำหนดไว้ในสภาพแวดล้อมของระบบคุณ",
      "newProfile": "โปรไฟล์ใหม่",
      "cancel": "ยกเลิก",
      "addProfile": "เพิ่มโปรไฟล์",
      "profileName": "ชื่อโปรไฟล์",
      "profileNamePlaceholder": "เช่น Gemini ที่ทำงาน, Ollama ในเครื่อง",
      "profileCount_other": "{{count}} โปรไฟล์",
      "noProfiles": "ยังไม่มีโปรไฟล์ เพิ่มโปรไฟล์ด้านล่างเพื่อตั้งค่าผู้ช่วย AI",
      "setDefault": "ตั้งเป็นค่าเริ่มต้น",
      "defaultProfile": "ค่าเริ่มต้น",
      "edit": "แก้ไข",
      "deleteProfile": "ลบโปรไฟล์",
      "backToProfiles": "← กลับไปที่โปรไฟล์",
      "saveProfile": "บันทึกโปรไฟล์",
      "profileEditSaveHint": "บันทึกหรือละทิ้งการเปลี่ยนแปลงโปรไฟล์ด้านบน แล้วคลิก “บันทึกการตั้งค่า” เพื่อยืนยันการเปลี่ยนแปลงทั้งหมด",
      "field": {
        "apiKey": "คีย์ API",
        "baseUrl": "URL ฐาน",
        "model": "โมเดล",
        "region": "ภูมิภาค",
        "accessKeyId": "Access Key ID",
        "secretAccessKey": "Secret Access Key",
        "sessionToken": "โทเค็นเซสชัน"
      },
      "placeholder": {
        "geminiKey": "AIza…",
        "anthropicKey": "sk-ant-…",
        "openaiKey": "sk-…",
        "ollamaBaseUrl": "http://localhost:11434",
        "ollamaModel": "llama3.2",
        "awsAccessKey": "AKIA…",
        "awsSecretKey": "wJalrXUtnFEMI…",
        "awsRegion": "us-east-1",
        "awsSessionToken": "FwoGZXIvYXdz… (หากใช้ข้อมูลรับรองชั่วคราว)",
        "customBaseUrl": "https://api.example.com/v1",
        "customModel": "model-id",
        "customApiKey": "sk-… (หากจำเป็น)"
      }
    }
  },
  "toolbar": {
    "menu": {
      "project": "โปรเจกต์",
      "import": "นำเข้า",
      "edit": "แก้ไข",
      "view": "มุมมอง",
      "addData": "เพิ่มข้อมูล",
      "processing": "ประมวลผล",
      "controls": "ตัวควบคุม",
      "plugins": "ปลั๊กอิน",
      "help": "ช่วยเหลือ",
      "settings": "ตั้งค่า"
    },
    "atmosphere": {
      "haloColor": "สีของรัศมี",
      "haloExtent": "ขอบเขตของรัศมี",
      "haloExtentHint": "ระยะที่แสงเรืองของชั้นบรรยากาศแผ่ออกไปพ้นลูกโลก ค่าต่ำจะทำให้ข้อมูลแนบชิดผิวโลก ค่าสูงจะให้รัศมีกว้างและโปร่ง",
      "haloOpacity": "ความเข้มของรัศมี",
      "spaceColor": "สีอวกาศ",
      "reset": "คืนค่าเริ่มต้น",
      "globeOnly": "เอฟเฟกต์ชั้นบรรยากาศใช้ได้เฉพาะเมื่อเปิดมุมมองลูกโลกเท่านั้น"
    },
    "sun": {
      "title": "ดวงอาทิตย์",
      "date": "วันที่",
      "time": "เวลา",
      "timeOfDay": "ช่วงเวลาของวัน",
      "play": "เล่น",
      "pause": "หยุดชั่วคราว",
      "stepBack": "ถอยหลังหนึ่งชั่วโมง",
      "stepForward": "เดินหน้าหนึ่งชั่วโมง",
      "speed": "ความเร็วแอนิเมชัน",
      "loop": "เล่นแอนิเมชันวนซ้ำ",
      "now": "ตอนนี้",
      "shade": "การแรเงากลางคืน",
      "close": "ปิด",
      "localTimeNote": "เวลาที่แสดงอิงตามเขตเวลาของคอมพิวเตอร์คุณ"
    },
    "routeAnimation": {
      "title": "แอนิเมชันเส้นทาง",
      "layer": "เลเยอร์เส้นทาง",
      "selectLayer": "เลือกเลเยอร์แบบเส้น…",
      "noLineLayers": "ไม่มีเลเยอร์แบบเส้นในโปรเจกต์",
      "play": "เล่น",
      "pause": "หยุดชั่วคราว",
      "loop": "เล่นแอนิเมชันวนซ้ำ",
      "progress": "ความคืบหน้า",
      "speed": "ความเร็ว",
      "followCamera": "ติดตาม",
      "followPitch": "มุมก้มเงยของกล้อง",
      "followZoom": "ระดับซูมของกล้อง",
      "followRotate": "หมุนตามทิศทาง",
      "color": "สีของแทร็ก",
      "marker": "เครื่องหมาย",
      "markerStyle": {
        "arrow": "ลูกศร (ตามทิศทาง)",
        "point": "จุด",
        "none": "ไม่มี"
      },
      "trail": "เส้นทางที่ผ่านมา",
      "saveVideoMp4": "บันทึกเป็น MP4",
      "saveVideoWebm": "บันทึกเป็น WebM",
      "estimatedLength": "≈ {{seconds}} วินาที",
      "recordingStatus": "กำลังบันทึก… {{percent}}%",
      "savingVideo": "กำลังบันทึกวิดีโอ…",
      "stop": "หยุด",
      "videoSaved": "บันทึก {{name}} แล้ว",
      "videoError": "ไม่สามารถบันทึกแอนิเมชันได้ กรุณาลองใหม่",
      "videoUnsupported": "เบราว์เซอร์นี้ไม่รองรับการบันทึกวิดีโอ",
      "videoFileTypeMp4": "วิดีโอ MP4",
      "videoFileTypeWebm": "วิดีโอ WebM",
      "collapse": "ย่อ",
      "expand": "ขยาย",
      "close": "ปิด"
    },
    "flightSim": {
      "title": "เครื่องจำลองการบิน",
      "start": "เริ่มบิน",
      "stop": "หยุดบิน",
      "collapse": "ย่อ",
      "expand": "ขยาย",
      "close": "ปิด",
      "speed": "ความเร็ว",
      "altitude": "ความสูง",
      "heading": "ทิศทางการบิน",
      "agl": "สูงจากพื้นดิน",
      "throttle": "คันเร่ง",
      "maxSpeed": "ความเร็วสูงสุด",
      "minAgl": "ระยะปลอดภัยเหนือภูมิประเทศ",
      "units": "หน่วย",
      "imperial": "นอต / ฟุต",
      "metric": "km/h / เมตร",
      "bankCamera": "เอียงเส้นขอบฟ้าขณะเลี้ยว",
      "invertPitch": "กลับด้านแกนก้มเงย",
      "knots": "kt",
      "kph": "km/h",
      "feet": "ft",
      "meters": "m",
      "terrainWarning": "ภูมิประเทศ — เชิดหัวขึ้น",
      "help": "ปุ่มลูกศรหรือ A/D ใช้บังคับเลี้ยว · W/S หรือ Page Up/Down ใช้เร่งเครื่อง · Space ปรับปีกให้ราบ · Esc เพื่อออก"
    },
    "setView": {
      "title": "กำหนดมุมมอง",
      "description": "เลื่อนแผนที่ไปยังตำแหน่งกล้องที่ระบุอย่างแม่นยำ",
      "sectionCoordinates": "พิกัด",
      "smartPaste": "วางพิกัด",
      "smartPasteInputLabel": "สตริงพิกัด",
      "smartPastePlaceholder": "เช่น 51.5074, -0.1278 หรือ 51°30'26\"N, 0°07'39\"W",
      "smartPasteInfo": "พิมพ์หรือวางสตริงพิกัดแบบเต็มในรูปแบบ DD, DMS หรือ DDM แล้วกด “ประมวลผลข้อมูลที่ป้อน” GeoLibre จะตรวจจับรูปแบบและกรอกช่องลองจิจูดและละติจูดด้านล่างให้ คุณสามารถปรับระดับซูม มุมก้มเงย และทิศทางแยกต่างหากก่อนกดไปยังตำแหน่ง",
      "smartPasteInfoLabel": "เกี่ยวกับการวางพิกัด",
      "smartPasteInvalid": "ไม่สามารถอ่านพิกัดเหล่านั้นได้ กรุณาป้อนลองจิจูดและละติจูดแบบเต็มในรูปแบบ DD, DMS หรือ DDM เช่น 51.5074, -0.1278 สตริงที่ไม่ครบถ้วนจะตีความไม่ได้",
      "processInput": "ประมวลผลข้อมูลที่ป้อน",
      "processed": "กรอกช่องลองจิจูดและละติจูดด้านล่างแล้ว",
      "sectionZoom": "ระดับซูมของกล้อง",
      "sectionOrientation": "การวางแนวของกล้อง",
      "orientationHint": "หากเว้นว่างไว้ มุมก้มเงยและทิศทางจะเป็น 0 โดยค่าเริ่มต้น",
      "format": "รูปแบบการป้อนด้วยตนเอง",
      "formatInfo": "ปุ่มเหล่านี้ใช้เลือกเฉพาะวิธีพิมพ์จุดกึ่งกลางด้วยตนเองเท่านั้น ช่องวางพิกัดด้านบนรองรับทุกรูปแบบอยู่แล้ว\nDD: 51.5074, -0.1278\nDMS: 51°30'26\"N, 0°07'39\"W\nDDM: 51°30.44'N, 0°07.65'W",
      "formatInfoLabel": "เกี่ยวกับรูปแบบพิกัด",
      "formatDd": "องศาทศนิยม (DD)",
      "formatDms": "องศา ลิปดา ฟิลิปดา (DMS)",
      "formatDdm": "องศาและลิปดาทศนิยม (DDM)",
      "formatDdShort": "DD",
      "formatDmsShort": "DMS",
      "formatDdmShort": "DDM",
      "longitude": "ลองจิจูด",
      "latitude": "ละติจูด",
      "degrees": "องศา",
      "minutes": "ลิปดา",
      "seconds": "ฟิลิปดา",
      "hemisphere": "ซีกโลก",
      "zoom": "ระดับซูม",
      "pitch": "มุมก้มเงย",
      "bearing": "ทิศทาง",
      "go": "ไป",
      "invalid": "ป้อนลองจิจูด (−180 ถึง 180) ละติจูด (−90 ถึง 90) และระดับซูมที่ถูกต้อง",
      "invalidDms": "ป้อนองศา ลิปดา (0 ถึง 59) ฟิลิปดา (0 ถึง 59) และระดับซูมที่ถูกต้อง",
      "invalidDdm": "ป้อนองศา ลิปดาทศนิยม (0 ถึงน้อยกว่า 60) และระดับซูมที่ถูกต้อง"
    },
    "commandGroup": {
      "project": "โปรเจกต์",
      "addData": "เพิ่มข้อมูล",
      "processing": "ประมวลผล",
      "controls": "ตัวควบคุม",
      "view": "มุมมอง",
      "help": "ช่วยเหลือ",
      "plugins": "ปลั๊กอิน",
      "settings": "ตั้งค่า"
    },
    "command": {
      "projectNew": "โปรเจกต์ใหม่",
      "projectOpenFile": "เปิดโปรเจกต์จากไฟล์",
      "projectOpenUrl": "เปิดโปรเจกต์จาก URL",
      "projectSave": "บันทึกโปรเจกต์",
      "projectSaveAs": "บันทึกโปรเจกต์เป็น…",
      "projectShare": "แชร์โปรเจกต์…",
      "projectCollaborate": "ทำงานร่วมกัน…",
      "projectPrint": "พิมพ์…",
      "addVectorLayer": "เพิ่มเลเยอร์เวกเตอร์",
      "addRasterLayer": "เพิ่มเลเยอร์แรสเตอร์",
      "addOsmPbfLayer": "เพิ่มเลเยอร์ OSM PBF",
      "addLayer": "เพิ่ม{{name}}",
      "addStacLayer": "เพิ่มเลเยอร์ STAC",
      "addGeoparquetLayer": "เพิ่มเลเยอร์ GeoParquet",
      "addFlatgeobufLayer": "เพิ่มเลเยอร์ FlatGeobuf",
      "addPmtilesLayer": "เพิ่มเลเยอร์ PMTiles",
      "addZarrLayer": "เพิ่มเลเยอร์ Zarr",
      "addNetcdfLayer": "เพิ่มเลเยอร์ NetCDF / HDF",
      "addLidarLayer": "เพิ่มเลเยอร์ LiDAR",
      "addSplattingLayer": "เพิ่ม Gaussian Splatting",
      "add3dTilesLayer": "เพิ่มเลเยอร์ 3D Tiles",
      "addDuckdbLayer": "เพิ่มเลเยอร์ DuckDB",
      "whiteboxTools": "เครื่องมือ Whitebox",
      "sqlWorkspace": "พื้นที่ทำงาน SQL",
      "pythonConsole": "คอนโซล Python",
      "notebook": "Jupyter Notebook",
      "dashboard": "แดชบอร์ด",
      "assistant": "ผู้ช่วย AI",
      "geocode": "แปลงที่อยู่เป็นพิกัด",
      "modelBuilder": "งานแบบชุดและโมเดล",
      "planetaryComputer": "Planetary Computer",
      "earthEngine": "Earth Engine",
      "segmentation": "การแบ่งส่วนภาพด้วย AI",
      "objectDetection": "การตรวจจับวัตถุ",
      "segmentEverything": "แบ่งส่วนทุกวัตถุ",
      "toggleControl": "เปิด/ปิดตัวควบคุม{{name}}",
      "toggleAtmosphereEffects": "เปิด/ปิดเอฟเฟกต์ชั้นบรรยากาศ",
      "toggleDirections": "เปิด/ปิดการนำทาง",
      "toggleSearch": "เปิด/ปิดการค้นหา",
      "toggleColorbar": "เปิด/ปิดแถบสี",
      "toggleLegend": "เปิด/ปิดคำอธิบายสัญลักษณ์",
      "toggleHtmlPanel": "เปิด/ปิดแผง HTML",
      "toggleMeasure": "เปิด/ปิดการวัด",
      "toggleBookmark": "เปิด/ปิดบุ๊กมาร์ก",
      "toggleMinimap": "เปิด/ปิดแผนที่ย่อ",
      "toggleViewState": "เปิด/ปิดสถานะมุมมอง",
      "previousView": "มุมมองก่อนหน้า",
      "nextView": "มุมมองถัดไป",
      "resetNorth": "รีเซ็ตทิศทาง",
      "resetPitch": "รีเซ็ตมุมก้มเงย",
      "resetPitchBearing": "รีเซ็ตมุมก้มเงยและทิศทาง",
      "setView": "กำหนดมุมมอง",
      "viewComments": "ดูความคิดเห็น",
      "zoomIn": "ซูมเข้า",
      "zoomOut": "ซูมออก",
      "switchToLight": "สลับไปโหมดสว่าง",
      "switchToDark": "สลับไปโหมดมืด",
      "keyboardShortcuts": "แป้นพิมพ์ลัด",
      "website": "เว็บไซต์",
      "githubRepository": "ที่เก็บโค้ดบน GitHub",
      "diagnostics": "การวินิจฉัยระบบ",
      "giveFeedback": "ส่งความคิดเห็น",
      "checkForUpdates": "ตรวจหาการอัปเดต",
      "about": "เกี่ยวกับ",
      "togglePlugin": "เปิด/ปิด {{name}}",
      "managePlugins": "จัดการปลั๊กอิน",
      "styleManager": "ตัวจัดการสไตล์…"
    },
    "layerType": {
      "delimitedText": "เลเยอร์ข้อความคั่นด้วยตัวแบ่ง",
      "photos": "รูปภาพที่มีพิกัดภูมิศาสตร์",
      "gpx": "เลเยอร์ GPX",
      "mbtiles": "เลเยอร์ MBTiles",
      "xyz": "เลเยอร์ XYZ",
      "wms": "เลเยอร์ WMS",
      "wfs": "เลเยอร์ WFS",
      "wmts": "เลเยอร์ WMTS",
      "ogcFeatures": "OGC API - Features",
      "ogcVectorTiles": "ไทล์เวกเตอร์ OGC",
      "arcgis": "เลเยอร์ ArcGIS",
      "georss": "เลเยอร์ GeoRSS",
      "video": "เลเยอร์วิดีโอ",
      "deckglViz": "เลเยอร์ Deck.gl",
      "gltfModel": "โมเดล 3 มิติ (glTF)",
      "postgres": "เลเยอร์ PostgreSQL"
    },
    "conversion": {
      "vectorToVector": "เวกเตอร์เป็นเวกเตอร์",
      "zipInputBrowserError": "ไฟล์ Shapefile แบบบีบอัดแปลงได้เฉพาะในแอปเดสก์ท็อป GeoLibre เท่านั้น หากใช้งานผ่านเบราว์เซอร์ ให้เลือกไฟล์ .shp ที่แตกไฟล์แล้วพร้อมกับไฟล์ .dbf, .shx และ .prj",
      "browserOutputUnsupported": "ในเบราว์เซอร์ ผลลัพธ์เป็นได้เฉพาะ GeoJSON, CSV, GeoParquet, GeoPackage, FlatGeobuf หรือ Shapefile (.zip) ส่วนผลลัพธ์แบบ \".{{extension}}\" ต้องใช้แอปเดสก์ท็อป GeoLibre",
      "outputExtensionRequired": "เพิ่มนามสกุลไฟล์ในชื่อผลลัพธ์เพื่อเลือกรูปแบบ",
      "readingWithDuckDb": "กำลังอ่าน {{name}} ด้วย DuckDB-WASM",
      "readFeatures": "อ่านฟีเจอร์ {{features}} รายการจาก {{name}}",
      "savedFile": "บันทึก {{name}} แล้ว",
      "saveCanceled": "การแปลงเสร็จสิ้น แต่การบันทึกถูกยกเลิก",
      "vectorToGeoparquet": "เวกเตอร์เป็น GeoParquet",
      "vectorToFlatgeobuf": "เวกเตอร์เป็น FlatGeobuf",
      "vectorToShapefile": "เวกเตอร์เป็น Shapefile",
      "vectorToGeopackage": "เวกเตอร์เป็น GeoPackage",
      "csvToGeoparquet": "CSV เป็น GeoParquet",
      "vectorToPmtiles": "เวกเตอร์เป็น PMTiles",
      "rasterToCog": "แรสเตอร์เป็น COG",
      "rasterToPmtiles": "แรสเตอร์เป็น PMTiles",
      "needsDesktop": "การแปลงนี้ต้องใช้แอปเดสก์ท็อป GeoLibre หรือ sidecar ที่กำลังทำงานอยู่",
      "runsInBrowserDuckDb": "การแปลงทำงานในเบราว์เซอร์ของคุณด้วย DuckDB-WASM",
      "runsInBrowserWriters": "การแปลงทำงานในเบราว์เซอร์ของคุณด้วย DuckDB-WASM และตัวเขียนไฟล์ที่มาพร้อมกัน",
      "runsInBrowserWasm": "การแปลงทำงานในเบราว์เซอร์ของคุณด้วย geolibre-wasm โดยไม่ต้องใช้ sidecar",
      "convertingWithWasm": "กำลังแปลง {{name}} ด้วย geolibre-wasm",
      "rasterShape": "อ่านแรสเตอร์ขนาด {{width}}×{{height}} ที่มี {{bands}} แบนด์",
      "wroteCog": "เขียนไฟล์ COG แบบแบ่งไทล์พร้อมภาพย่อแล้ว ({{compression}})",
      "notAGeoTiff": "ไฟล์นี้ไม่ใช่ GeoTIFF ที่อ่านได้ ในเบราว์เซอร์ การแปลงแรสเตอร์เป็น COG อ่านได้เฉพาะ GeoTIFF เท่านั้น รูปแบบอื่นต้องใช้แอปเดสก์ท็อป",
      "zoomRangeError": "ระดับซูมต้องเป็นไปตามเงื่อนไข 0 ≤ ต่ำสุด ≤ สูงสุด ≤ {{max}}",
      "colormap": "แผนผังสี",
      "resampling": "การสุ่มตัวอย่างใหม่",
      "colormapDefault": "ค่าเริ่มต้น (viridis)",
      "zoomNative": "ตามต้นฉบับ",
      "rasterToPmtilesDesc": "แปลงแรสเตอร์เป็นไฟล์ PMTiles ไฟล์เดียวที่ประกอบด้วยไทล์ PNG แบบ Web Mercator พร้อมสำหรับให้บริการแบบ cloud-native โดยจะแสดงผลหนึ่งแบนด์ผ่านแผนผังสี ภาพหลายแบนด์จึงไม่ถูกวาดด้วยสีจริง ทำงานทั้งหมดใน WebAssembly จึงไม่ต้องใช้ sidecar ทั้งบนเว็บและแอปเดสก์ท็อป",
      "cogBrowserNote": "ในเบราว์เซอร์ แรสเตอร์แบบ 8 บิตจะคงชนิดข้อมูลเดิมไว้ ส่วนชนิดอื่น ๆ (DEM แบบ Int16, Float64 ฯลฯ) จะถูกเขียนเป็น Float32 ส่วนแอปเดสก์ท็อปจะรักษาชนิดข้อมูลเดิมไว้",
      "noSidecarConversion": "{{kind}} ไม่มีการแปลงผ่าน sidecar",
      "minZoom": "ระดับซูมต่ำสุด",
      "maxZoom": "ระดับซูมสูงสุด",
      "convertFailed": "ไม่สามารถแปลงไฟล์นี้ได้",
      "notAGeoTiffRasterOnly": "ไฟล์นี้ไม่ใช่ GeoTIFF ที่อ่านได้ การแปลงแรสเตอร์เป็น PMTiles อ่านได้เฉพาะ GeoTIFF เท่านั้น ทั้งบนเว็บและแอปเดสก์ท็อป",
      "band": "แบนด์",
      "bandError": "แบนด์ต้องเป็นจำนวนเต็มบวก",
      "bandOutOfRange": "ไม่มีแบนด์ {{band}} แรสเตอร์นี้มีทั้งหมด {{bands}} แบนด์",
      "runsInBrowserVectorEngines": "การแปลงทำงานในเบราว์เซอร์ของคุณด้วย DuckDB-WASM หรือ geolibre-wasm สำหรับผลลัพธ์แบบ FlatGeobuf",
      "vectorToVectorDesc": "แปลงระหว่างรูปแบบเวกเตอร์ใด ๆ ที่ส่วนขยายเชิงพื้นที่ของ DuckDB รองรับ รูปแบบข้อมูลนำเข้าและผลลัพธ์จะตรวจจับจากนามสกุลไฟล์ แอปเดสก์ท็อปเขียนได้ทุกรูปแบบ (FlatGeobuf, GeoPackage, Shapefile, KML, GML ฯลฯ) ส่วนเบราว์เซอร์เขียนได้เป็น GeoJSON, CSV, GeoParquet, GeoPackage, FlatGeobuf และ Shapefile",
      "vectorToVectorInputLabel": "ไฟล์เวกเตอร์นำเข้า",
      "vectorToVectorOutputLabel": "ไฟล์เวกเตอร์ผลลัพธ์",
      "vectorToGeoparquetDesc": "แปลงชุดข้อมูลเวกเตอร์เป็นไฟล์ GeoParquet ที่เรียงลำดับแบบฮิลเบิร์ตและบีบอัดแล้ว ซึ่งเหมาะกับคำขอแบบช่วงในระบบ cloud-native",
      "vectorToGeoparquetInputLabel": "ไฟล์เวกเตอร์นำเข้า",
      "vectorToGeoparquetOutputLabel": "ไฟล์ GeoParquet ผลลัพธ์",
      "vectorToFlatgeobufDesc": "แปลงชุดข้อมูลเวกเตอร์เป็นไฟล์ FlatGeobuf ที่เรียงลำดับแบบฮิลเบิร์ต พร้อมดัชนีเชิงพื้นที่ในตัวเพื่อการเข้าถึงแบบ cloud-native ที่รวดเร็ว",
      "vectorToFlatgeobufInputLabel": "ไฟล์เวกเตอร์นำเข้า",
      "vectorToFlatgeobufOutputLabel": "ไฟล์ FlatGeobuf ผลลัพธ์",
      "vectorToShapefileDesc": "แปลงชุดข้อมูลเวกเตอร์เป็น ESRI Shapefile แบบบีบอัด (.shp/.shx/.dbf/.prj) ชื่อฟิลด์จะถูกตัดให้เหลือ 10 ตัวอักษร",
      "vectorToShapefileInputLabel": "ไฟล์เวกเตอร์นำเข้า",
      "vectorToShapefileOutputLabel": "ไฟล์ Shapefile แบบบีบอัดผลลัพธ์",
      "vectorToGeopackageDesc": "แปลงชุดข้อมูลเวกเตอร์เป็น GeoPackage (.gpkg) เพื่อแชร์กับ QGIS, ArcGIS และเครื่องมือ GIS อื่น ๆ",
      "vectorToGeopackageInputLabel": "ไฟล์เวกเตอร์นำเข้า",
      "vectorToGeopackageOutputLabel": "ไฟล์ GeoPackage ผลลัพธ์",
      "csvToGeoparquetDesc": "สร้างเรขาคณิตแบบจุดจากคอลัมน์ลองจิจูด/ละติจูด แล้วเขียนเป็น GeoParquet ที่เรียงลำดับแบบฮิลเบิร์ตและบีบอัดแล้ว",
      "csvToGeoparquetInputLabel": "ไฟล์ CSV นำเข้า",
      "csvToGeoparquetOutputLabel": "ไฟล์ GeoParquet ผลลัพธ์",
      "vectorToPmtilesDesc": "แบ่งชุดข้อมูลเวกเตอร์เป็นไทล์แล้วรวมเป็นไฟล์ PMTiles ไฟล์เดียวที่ประกอบด้วยไทล์เวกเตอร์ พร้อมสำหรับให้บริการแบบ cloud-native",
      "vectorToPmtilesInputLabel": "ไฟล์เวกเตอร์นำเข้า",
      "vectorToPmtilesOutputLabel": "ไฟล์ PMTiles ผลลัพธ์",
      "rasterToPmtilesInputLabel": "ไฟล์แรสเตอร์นำเข้า",
      "rasterToPmtilesOutputLabel": "ไฟล์ PMTiles ผลลัพธ์",
      "rasterToCogDesc": "แปลงชุดข้อมูลแรสเตอร์เป็น Cloud Optimized GeoTIFF ที่ถูกต้องและบีบอัดแล้ว พร้อมการแบ่งไทล์ภายในและภาพย่อ",
      "rasterToCogInputLabel": "ไฟล์แรสเตอร์นำเข้า",
      "rasterToCogOutputLabel": "ไฟล์ COG ผลลัพธ์",
      "outputFileName": "ชื่อไฟล์ผลลัพธ์",
      "shapefileSidecarHint": "สำหรับ Shapefile ให้เลือกไฟล์ .shp พร้อมกับไฟล์ .dbf, .shx และ .prj",
      "longitudeColumn": "คอลัมน์ลองจิจูด",
      "latitudeColumn": "คอลัมน์ละติจูด",
      "compression": "การบีบอัด",
      "rowGroupSize": "ขนาดกลุ่มแถว",
      "layerName": "ชื่อเลเยอร์",
      "noOutput": "ยังไม่มีผลลัพธ์",
      "fallbackTitle": "การแปลง"
    },
    "vectorTool": {
      "buffer": "บัฟเฟอร์",
      "centroids": "จุดศูนย์ถ่วง",
      "convexHull": "รูปนูนห่อหุ้ม",
      "dissolve": "รวมพื้นที่ติดกัน",
      "boundingBox": "กรอบขอบเขต",
      "simplify": "ลดทอนรายละเอียด",
      "clip": "ตัดตามขอบเขต",
      "intersection": "ส่วนที่ซ้อนทับกัน",
      "difference": "ส่วนต่าง",
      "union": "ยูเนียน",
      "spatialJoin": "การเชื่อมเชิงพื้นที่",
      "attributeJoin": "การเชื่อมแอตทริบิวต์",
      "selectByValue": "เลือกตามค่า",
      "selectByLocation": "เลือกตามตำแหน่ง",
      "randomExtract": "สุ่มดึงข้อมูล",
      "reproject": "ฉายพิกัดใหม่",
      "explode": "แยกออกเป็นชิ้นส่วน",
      "aggregate": "รวมค่าตามแอตทริบิวต์",
      "smooth": "ทำให้เส้นเรียบ",
      "grid": "กริดสม่ำเสมอ",
      "voronoi": "โวโรนอย / เดอโลเน",
      "cellSectors": "พื้นที่ครอบคลุมของสถานีฐาน",
      "dggsGenerator": "ตัวสร้าง DGGS",
      "dggsBinning": "การจัดกลุ่มด้วย DGGS",
      "dggsCompact": "การบีบอัด DGGS",
      "trajectorySpeed": "ความเร็วตามเส้นทางการเคลื่อนที่",
      "detectStops": "ตรวจหาจุดหยุด",
      "spaceTimeProximity": "ความใกล้เคียงเชิงพื้นที่และเวลา",
      "checkValidity": "ตรวจสอบความถูกต้องของเรขาคณิต",
      "fixGeometries": "แก้ไขเรขาคณิต",
      "checkTopologyRules": "ตรวจสอบกฎทางโทโพโลยี",
      "fixTopology": "แก้ไขโทโพโลยี"
    },
    "networkTool": {
      "isochrone": "ไอโซโครน / พื้นที่ให้บริการ",
      "odMatrix": "เมทริกซ์ต้นทางปลายทาง",
      "sequentialRoute": "เส้นทางตามลำดับ (การนำทาง)"
    },
    "statisticsTool": {
      "globalMoransI": "ค่า Moran's I แบบรวม",
      "localMoransI": "ค่า Moran's I เฉพาะที่ (LISA)",
      "getisOrd": "จุดร้อนแบบ Getis-Ord Gi*",
      "averageNearestNeighbor": "ระยะเพื่อนบ้านใกล้สุดเฉลี่ย",
      "kernelDensity": "ความหนาแน่นแบบเคอร์เนล (แผนที่ความร้อน)",
      "emergingHotSpot": "จุดร้อนที่กำลังก่อตัว (ลูกบาศก์พื้นที่-เวลา)"
    },
    "rasterTool": {
      "hillshade": "การแรเงาภูมิประเทศ",
      "slope": "ความชัน",
      "aspect": "ทิศด้านลาด",
      "reproject": "ฉายพิกัดใหม่",
      "resample": "สุ่มตัวอย่างใหม่",
      "clipExtent": "ตัดตามขอบเขต",
      "clipMask": "ตัดตามเลเยอร์หน้ากาก",
      "polygonize": "แปลงเป็นรูปหลายเหลี่ยม",
      "contour": "เส้นชั้นความสูง",
      "interpolate": "การประมาณค่าในช่วง (IDW / Kriging)",
      "zonal": "สถิติเชิงโซน",
      "rasterCalc": "เครื่องคำนวณแรสเตอร์",
      "spectralIndex": "ดัชนีเชิงสเปกตรัม",
      "invalidSpectralIndex": "ดัชนีเชิงสเปกตรัมไม่ถูกต้อง",
      "reclassify": "จัดชั้นข้อมูลใหม่",
      "mosaic": "ต่อภาพ / ผสาน",
      "focal": "สถิติเชิงพื้นที่ใกล้เคียง",
      "inputRaster": "แรสเตอร์นำเข้า",
      "inputRasterA": "แรสเตอร์นำเข้า A",
      "inputRaster1": "แรสเตอร์แรก",
      "inputPoints": "จุดนำเข้า (GeoJSON)",
      "engine": "เอนจิน",
      "engineClient": "ฝั่งไคลเอนต์ (เบราว์เซอร์)",
      "engineSidecar": "Sidecar (rasterio/GDAL)",
      "clientHint": "คำนวณในเบราว์เซอร์ของคุณและเพิ่มผลลัพธ์ลงแผนที่ สำหรับแรสเตอร์ขนาดใหญ่หรือภูมิประเทศในระบบพิกัดภูมิศาสตร์ ควรใช้ sidecar แทน",
      "switchToClientHint": "หรือสลับเอนจินเป็นฝั่งไคลเอนต์เพื่อเรียกใช้เครื่องมือนี้ในเบราว์เซอร์ของคุณ",
      "chooseGeoTiff": "เลือกไฟล์ GeoTIFF",
      "downloadGeoTiff": "ดาวน์โหลด GeoTIFF",
      "chooseInputRaster": "เลือกแรสเตอร์นำเข้า",
      "useAddedLayer": "ใช้เลเยอร์ที่อยู่บนแผนที่",
      "useAddedLayerPlaceholder": "เลือกเลเยอร์…",
      "loadingLayer": "กำลังโหลดเลเยอร์…",
      "layerLoadError": "ไม่สามารถโหลดเลเยอร์ที่เลือกได้",
      "runningInBrowser": "กำลังเรียกใช้ \"{{tool}}\" ในเบราว์เซอร์ของคุณ...",
      "loadedRaster": "โหลดแรสเตอร์แล้ว: {{width}}×{{height}}, {{bands}} แบนด์",
      "computedInBrowser": "คำนวณ \"{{tool}}\" ในเบราว์เซอร์แล้ว",
      "addedToMap": "เพิ่ม \"{{name}}\" ลงในแผนที่แล้ว",
      "largeRasterWarning": "แรสเตอร์ขนาดใหญ่ ({{mp}} ล้านพิกเซล) เบราว์เซอร์อาจไม่ตอบสนองระหว่างคำนวณ",
      "mapAddFailed": "การเพิ่มลงแผนที่ล้มเหลว (ยังดาวน์โหลดผลลัพธ์ได้): {{message}}",
      "mapAddError": "ไม่สามารถเพิ่มผลลัพธ์ลงในแผนที่ได้",
      "runError": "ไม่สามารถเรียกใช้เครื่องมือแรสเตอร์ได้",
      "saveError": "ไม่สามารถบันทึกผลลัพธ์ได้",
      "dialogTitle": "เครื่องมือแรสเตอร์",
      "dialogDescription": "เรียกใช้การดำเนินการแรสเตอร์ทั่วไปบน Python sidecar (rasterio/GDAL) หรือในเบราว์เซอร์ของคุณเมื่อไม่มี sidecar",
      "outputFile": "ไฟล์ผลลัพธ์",
      "noOutput": "ยังไม่มีผลลัพธ์",
      "errorConnect": "ไม่สามารถเชื่อมต่อกับ sidecar ได้",
      "needsDesktopSidecar": "เครื่องมือแรสเตอร์ต้องใช้แอปเดสก์ท็อป GeoLibre ที่มี sidecar ทำงานอยู่",
      "errorPoll": "ไม่สามารถตรวจสอบสถานะงานได้",
      "errorStartSidecar": "ไม่สามารถเริ่ม GeoLibre sidecar ได้",
      "errorStartTool": "ไม่สามารถเริ่มเครื่องมือแรสเตอร์ได้"
    },
    "mapControl": {
      "navigation": "การนำทาง",
      "fullscreen": "เต็มหน้าจอ",
      "compass": "เข็มทิศ",
      "geolocate": "ระบุตำแหน่ง",
      "globe": "ลูกโลก",
      "terrain": "ภูมิประเทศ",
      "scale": "มาตราส่วน",
      "attribution": "เครดิตแหล่งข้อมูล",
      "logos": "โลโก้",
      "logo": "โลโก้ MapLibre",
      "maptoolkitLogo": "โลโก้ Maptoolkit",
      "maptoolkitLogoHint": "เพิ่มแผนที่ฐานของ Maptoolkit เพื่อแสดงโลโก้"
    },
    "position": {
      "topLeft": "บนซ้าย",
      "topRight": "บนขวา",
      "bottomLeft": "ล่างซ้าย",
      "bottomRight": "ล่างขวา"
    },
    "item": {
      "newEllipsis": "สร้างใหม่...",
      "openFrom": "เปิดจาก",
      "fileEllipsis": "ไฟล์...",
      "urlEllipsis": "URL...",
      "galleryEllipsis": "แกลเลอรี...",
      "openRecent": "เปิดรายการล่าสุด",
      "projectHistoryEllipsis": "ประวัติ...",
      "noRecentProjects": "ไม่มีโปรเจกต์ล่าสุด",
      "removeFromRecent": "นำ {{name}} ออกจากโปรเจกต์ล่าสุด",
      "clearRecentProjects": "ล้างรายการโปรเจกต์ล่าสุด",
      "duplicate": "ทำสำเนาโปรเจกต์",
      "saveAsEllipsis": "บันทึกเป็น...",
      "saveAsTemplateEllipsis": "บันทึกเป็นเทมเพลต...",
      "shareEllipsis": "แชร์...",
      "shareHostUnavailable": "ใช้งานไม่ได้: ที่อยู่เซิร์ฟเวอร์สำหรับแชร์ของการติดตั้งใช้งานนี้ไม่ถูกต้อง",
      "exportHtmlEllipsis": "ส่งออกเป็น HTML...",
      "htmlFile": "HTML",
      "collaborateEllipsis": "ทำงานร่วมกัน...",
      "printEllipsis": "พิมพ์...",
      "printLayoutEllipsis": "เลย์เอาต์สำหรับพิมพ์...",
      "offlineBasemapEllipsis": "แผนที่ฐานแบบออฟไลน์...",
      "undo": "เลิกทำ",
      "redo": "ทำซ้ำ",
      "selectByExpressionEllipsis": "เลือกด้วยนิพจน์...",
      "selectByLocationEllipsis": "เลือกตามตำแหน่ง...",
      "zoomToSelection": "ซูมไปยังรายการที่เลือก",
      "invertSelection": "กลับด้านการเลือก",
      "clearSelection": "ล้างการเลือก",
      "exportSelection": "ส่งออกฟีเจอร์ที่เลือกเป็นเลเยอร์",
      "previousView": "มุมมองก่อนหน้า",
      "nextView": "มุมมองถัดไป",
      "resetOrientation": "รีเซ็ตการวางแนว",
      "resetPitch": "รีเซ็ตมุมก้มเงย",
      "resetBearing": "รีเซ็ตทิศทาง",
      "resetPitchBearing": "รีเซ็ตมุมก้มเงยและทิศทาง",
      "setView": "กำหนดมุมมอง…",
      "splitView": "มุมมองแบบแบ่งจอ",
      "splitViewSingle": "แผนที่เดียว",
      "splitViewTwoColumns": "สองคอลัมน์",
      "splitViewTwoRows": "สองแถว",
      "splitViewGrid2x2": "กริด 2 × 2",
      "splitViewGrid2x3": "กริด 2 × 3",
      "splitViewGrid3x3": "กริด 3 × 3",
      "splitViewSync": "ซิงค์มุมมอง",
      "viewInGoogleMaps": "ดูใน Google Maps",
      "viewInGoogleEarth": "ดูใน Google Earth",
      "zoomIn": "ซูมเข้า",
      "zoomOut": "ซูมออก",
      "sectionFiles": "ไฟล์",
      "sectionWebServices": "บริการเว็บ",
      "sectionCloudFormats": "รูปแบบสำหรับคลาวด์",
      "section3dLayers": "เลเยอร์ 3 มิติ",
      "sectionDatabases": "ฐานข้อมูล",
      "georeferencing": "การกำหนดพิกัดภูมิศาสตร์",
      "vectorLayer": "เลเยอร์เวกเตอร์",
      "cadLayer": "เลเยอร์ CAD (DXF/DWG)",
      "gdbLayer": "File Geodatabase (GDB)",
      "rasterLayer": "เลเยอร์แรสเตอร์",
      "osmPbfLayer": "เลเยอร์ OSM PBF",
      "stacLayer": "เลเยอร์ STAC",
      "geoparquetLayer": "เลเยอร์ GeoParquet",
      "flatgeobufLayer": "เลเยอร์ FlatGeobuf",
      "pmtilesLayer": "เลเยอร์ PMTiles",
      "basemapExtract": "แยกแผนที่ฐานสำหรับใช้ออฟไลน์",
      "zarrLayer": "เลเยอร์ Zarr",
      "netcdfHdf": "NetCDF / HDF",
      "lidarLayer": "เลเยอร์ LiDAR",
      "splattingLayer": "Gaussian Splatting",
      "threeDTilesLayer": "เลเยอร์ 3D Tiles",
      "duckdbLayer": "เลเยอร์ DuckDB",
      "whitebox": "Whitebox",
      "geocode": "แปลงที่อยู่เป็นพิกัด",
      "modelBuilder": "งานแบบชุดและโมเดล",
      "processingHistory": "ประวัติ",
      "conversion": "การแปลงรูปแบบ",
      "vector": "เวกเตอร์",
      "network": "โครงข่าย",
      "statistics": "สถิติเชิงพื้นที่",
      "raster": "แรสเตอร์",
      "hydrology": "อุทกวิทยา",
      "lidar": "LiDAR",
      "terrain": "ภูมิประเทศ",
      "remoteSensing": "การรับรู้จากระยะไกล",
      "projection": "การฉายแผนที่",
      "geolibre": "GeoLibre",
      "subGroupGeometry": "เรขาคณิต",
      "subGroupOverlay": "การซ้อนทับ",
      "subGroupJoin": "การเชื่อมข้อมูล",
      "subGroupSelect": "การเลือก",
      "subGroupDggs": "DGGS",
      "subGroupH3": "H3",
      "subGroupMovement": "การเคลื่อนที่และเวลา",
      "subGroupDataQuality": "คุณภาพข้อมูล",
      "subGroupTerrain": "ภูมิประเทศ",
      "subGroupReproject": "การฉายพิกัดใหม่",
      "subGroupClip": "การตัดตามขอบเขต",
      "subGroupRasterToVector": "แรสเตอร์เป็นเวกเตอร์",
      "subGroupVectorToRaster": "เวกเตอร์เป็นแรสเตอร์",
      "subGroupAnalysis": "การวิเคราะห์",
      "mapControls": "ตัวควบคุมแผนที่",
      "fieldCollection": "การเก็บข้อมูลภาคสนาม...",
      "gpsTracking": "การติดตาม GPS...",
      "recordTour": "บันทึกทัวร์แผนที่...",
      "recordVideo": "บันทึกวิดีโอ...",
      "atmosphereEffects": "เอฟเฟกต์ชั้นบรรยากาศ",
      "atmosphereEnabled": "เปิดใช้งาน",
      "spinGlobe": "ลูกโลกหมุน",
      "graticule": "เส้นกริด",
      "weather": "สภาพอากาศ",
      "weatherTooltip": "ซ้อนทับเลเยอร์สภาพอากาศแบบเกือบเรียลไทม์ที่เล่นเป็นแอนิเมชันได้",
      "weatherPlay": "เล่นแอนิเมชัน",
      "weatherPause": "หยุดแอนิเมชันชั่วคราว",
      "clouds": "เมฆ",
      "cloudsShow": "แสดงเมฆ",
      "cloudsTooltip": "ภาพเมฆจากดาวเทียม NASA แบบเกือบเรียลไทม์ คล้ายกับ Google Earth เล่นเป็นแอนิเมชันได้ทีละวัน",
      "cloudsDate": "วันที่",
      "precipitation": "หยาดน้ำฟ้า",
      "precipitationShow": "แสดงหยาดน้ำฟ้า",
      "precipitationTooltip": "เรดาร์ตรวจอากาศจาก RainViewer แบบเกือบเรียลไทม์ เล่นแอนิเมชันย้อนหลังได้ประมาณ 2 ชั่วโมง",
      "precipitationTime": "เวลา",
      "sun": "ดวงอาทิตย์",
      "sunTooltip": "จำลองตำแหน่งดวงอาทิตย์และเส้นแบ่งกลางวัน/กลางคืนสำหรับวันและเวลาใดก็ได้",
      "routeAnimation": "แอนิเมชันเส้นทาง",
      "routeAnimationTooltip": "เล่นแอนิเมชันเครื่องหมายไปตามเลเยอร์แบบเส้น พร้อมปุ่มเล่น/หยุด ความเร็ว เส้นทางที่ผ่านมา และการติดตามด้วยกล้อง",
      "flightSimulator": "เครื่องจำลองการบิน",
      "flightSimulatorTooltip": "บินเหนือภูมิประเทศด้วยการควบคุมจากแป้นพิมพ์ เหมือนเครื่องจำลองการบิน",
      "spinGlobeBoundsTitle": "ขอบเขตถูกล็อกไว้",
      "spinGlobeBoundsDesc": "ลูกโลกหมุนไม่ได้ขณะที่ขอบเขตแผนที่ถูกล็อกไว้",
      "spinGlobeBoundsHint": "การปลดล็อกขอบเขตจะทำให้ลูกโลกหมุนได้อย่างอิสระ คุณล็อกกลับได้ทุกเมื่อในหน้าตั้งค่า",
      "spinGlobeBoundsUnlock": "ปลดล็อกขอบเขตแล้วหมุน",
      "directions": "เส้นทาง",
      "directionsTooltip": "การค้นหาเส้นทางจะส่งจุดแวะของคุณไปยังเซิร์ฟเวอร์สาธิตสาธารณะของ OSRM (router.project-osrm.org)",
      "search": "ค้นหา",
      "colorbar": "แถบสี",
      "legend": "คำอธิบายสัญลักษณ์",
      "html": "HTML",
      "measure": "วัดระยะ",
      "bookmark": "บุ๊กมาร์ก",
      "minimap": "แผนที่ย่อ",
      "viewState": "สถานะมุมมอง",
      "activatePlugin": "เปิดใช้งานปลั๊กอิน",
      "deactivate": "ปิดใช้งาน",
      "activate": "เปิดใช้งาน",
      "position": "ตำแหน่ง",
      "webServices": "บริการเว็บ",
      "dggs": "DGGS",
      "commandPalette": "พาเลตต์คำสั่ง",
      "openProjectFromUrl": "เปิดโปรเจกต์จาก URL",
      "importQgisProjectEllipsis": "นำเข้าโปรเจกต์ QGIS…",
      "importArcgisProjectEllipsis": "นำเข้าโปรเจกต์ ArcGIS Pro…",
      "arcgisImportComplete": "นำเข้าโปรเจกต์ ArcGIS Pro แล้ว",
      "arcgisImportWarnings_other": "นำเข้าโปรเจกต์แล้ว แต่มี {{count}} เลเยอร์ที่โหลดไม่ได้",
      "arcgisUnknownLayerType": "ไม่ทราบ",
      "arcgisImportReason": {
        "layer-type": "ไม่รองรับเลเยอร์ชนิด {{layerType}}",
        "missing-source": "เลเยอร์นี้ไม่มีแหล่งข้อมูลในเครื่องที่อ่านได้",
        "format": "ไม่รองรับรูปแบบข้อมูลของเลเยอร์นี้",
        "network-path": "ไม่โหลดพาธจากไดรฟ์ที่แชร์บนเครือข่ายด้วยเหตุผลด้านความปลอดภัย",
        "service": "ยังไม่รองรับเลเยอร์บริการของ ArcGIS ในโปรเจกต์",
        "browser-local-file": "มีการอ้างอิงไฟล์ในเครื่อง แต่เบราว์เซอร์ไม่สามารถเปิดพาธข้อมูลของ ArcGIS Pro ได้อีก กรุณาใช้ GeoLibre Desktop เพื่อโหลด",
        "map-extent": "ขอบเขตแผนที่ที่บันทึกไว้ใช้ระบบพิกัดที่ GeoLibre แปลงไม่ได้ แผนที่จึงเปิดที่มุมมองเริ่มต้น",
        "nesting": "กลุ่มนี้ซ้อนกันลึกเกินไป หรือโปรเจกต์อ้างอิงย้อนกลับไปยังกลุ่มที่บรรจุมันอยู่แล้ว"
      },
      "qgisImportComplete": "นำเข้าโปรเจกต์ QGIS แล้ว",
      "qgisImportWarnings_other": "นำเข้าโปรเจกต์แล้ว แต่มี {{count}} เลเยอร์ที่โหลดไม่ได้",
      "qgisUnknownProvider": "ไม่ทราบ",
      "qgisImportReason": {
        "non-vector": "เวอร์ชันแรกนี้รองรับเฉพาะเลเยอร์เวกเตอร์ที่มาจากไฟล์เท่านั้น",
        "provider": "ไม่รองรับผู้ให้บริการข้อมูล {{provider}}",
        "missing-source": "เลเยอร์นี้ไม่มีแหล่งข้อมูลที่อ่านได้",
        "format": "ไม่รองรับรูปแบบไฟล์ของเลเยอร์นี้",
        "remote-file": "ยังไม่รองรับแหล่งข้อมูลไฟล์ QGIS จากระยะไกล",
        "network-path": "ไม่โหลดพาธจากไดรฟ์ที่แชร์บนเครือข่ายด้วยเหตุผลด้านความปลอดภัย",
        "browser-local-file": "มีการอ้างอิงไฟล์ในเครื่อง แต่เบราว์เซอร์ไม่สามารถเปิดพาธข้อมูลของ QGIS ได้อีก กรุณาใช้ GeoLibre Desktop เพื่อโหลด",
        "browser-local-raster": "แรสเตอร์นี้ถูกอ้างอิงด้วยพาธในเครื่อง กรุณาใช้ GeoLibre Desktop เพื่อโหลด"
      },
      "openProjectFromUrlDesc": "โหลดไฟล์โปรเจกต์ `.geolibre.json` แล้วเพิ่มลงในโปรเจกต์ล่าสุด",
      "projectUrl": "URL ของโปรเจกต์",
      "opening": "กำลังเปิด...",
      "open": "เปิด",
      "somethingWentWrong": "เกิดข้อผิดพลาดบางอย่าง",
      "dismiss": "ปิด",
      "saveProjectAsTitle": "บันทึกโปรเจกต์เป็น",
      "saveProjectAsDesc": "ป้อนชื่อไฟล์ โปรเจกต์จะถูกดาวน์โหลดไปยังโฟลเดอร์ดาวน์โหลดของเบราว์เซอร์เมื่อคุณคลิกบันทึก",
      "embedVectorTitle": "ฝังข้อมูลเวกเตอร์ในเครื่องหรือไม่?",
      "embedVectorDesc": "โปรเจกต์นี้มีเลเยอร์เวกเตอร์ในเครื่อง {{count}} เลเยอร์ที่โหลดมาจากคอมพิวเตอร์ของคุณ เบราว์เซอร์ไม่สามารถอ่านไฟล์เหล่านั้นซ้ำได้เมื่อเปิดโปรเจกต์อีกครั้ง จึงต้องฝังข้อมูลไว้ในไฟล์โปรเจกต์เพื่อให้กู้คืนได้ การฝังข้อมูลจะเพิ่มขนาดไฟล์ประมาณ {{size}}",
      "embedVectorDescDesktop": "โปรเจกต์นี้มีเลเยอร์เวกเตอร์ในเครื่อง {{count}} เลเยอร์ที่โหลดมาจากคอมพิวเตอร์ของคุณ คุณสามารถฝังข้อมูลเพื่อให้โปรเจกต์สมบูรณ์ในตัว (เพิ่มขนาดประมาณ {{size}}) หรือบันทึกเป็นการอ้างอิงไฟล์ที่จะโหลดจากดิสก์เมื่อเปิดโปรเจกต์อีกครั้ง การอ้างอิงจะทำให้ไฟล์มีขนาดเล็ก แต่จะใช้ไม่ได้หากไฟล์ต้นทางถูกย้ายหรือลบในภายหลัง",
      "embedVectorEmbedButton": "ฝังข้อมูล",
      "embedVectorReferenceButton": "บันทึกเป็นการอ้างอิงไฟล์",
      "embedVectorSkipButton": "บันทึกโดยไม่รวมข้อมูล",
      "saveProjectFileName": "ชื่อไฟล์",
      "saveProjectFileNamePlaceholder": "my-project.geolibre.json",
      "exportHtmlAsTitle": "ส่งออกเป็น HTML แบบโต้ตอบได้",
      "exportHtmlAsDesc": "ป้อนชื่อไฟล์ หน้า HTML จะถูกดาวน์โหลดไปยังโฟลเดอร์ดาวน์โหลดของเบราว์เซอร์เมื่อคุณคลิกบันทึก",
      "exportHtmlFileName": "ชื่อไฟล์",
      "exportHtmlFileNamePlaceholder": "my-map.html",
      "vectorDataFilter": "ข้อมูลเวกเตอร์",
      "directionsNoticeTitle": "ฟีเจอร์เส้นทางใช้เซิร์ฟเวอร์ค้นหาเส้นทางสาธารณะ",
      "directionsNoticeDesc": "การเปิดใช้ฟีเจอร์เส้นทางจะส่งจุดแวะที่คุณวางไปยังเซิร์ฟเวอร์สาธิตสาธารณะของ OSRM (router.project-osrm.org) เพื่อคำนวณเส้นทาง — พิกัดของคุณจะออกจากอุปกรณ์ในคำขอเหล่านั้น เซิร์ฟเวอร์สาธิตนี้มีการจำกัดอัตราการใช้งานและรองรับเฉพาะการเดินทางด้วยรถยนต์",
      "reverseGeocode": "ค้นหาที่อยู่จากพิกัด",
      "reverseGeocodeTooltip": "คลิกบนแผนที่เพื่อค้นหาที่อยู่ พิกัดที่คลิกจะถูกส่งไปยังผู้ให้บริการแปลงพิกัดที่ตั้งค่าไว้ (ค่าเริ่มต้นคือ Nominatim สาธารณะ เปลี่ยนได้ที่ ตั้งค่า → การแปลงที่อยู่เป็นพิกัด)",
      "reverseGeocodeNoticeTitle": "การค้นหาที่อยู่จากพิกัดใช้บริการภายนอก",
      "reverseGeocodeNoticeDesc": "การเปิดใช้การค้นหาที่อยู่จากพิกัดจะส่งพิกัดของทุกจุดที่คุณคลิกไปยังผู้ให้บริการแปลงพิกัดที่ตั้งค่าไว้ (ค่าเริ่มต้นคือบริการ Nominatim สาธารณะ) เพื่อค้นหาที่อยู่ — พิกัดของคุณจะออกจากอุปกรณ์ในคำขอเหล่านั้น คุณเลือกผู้ให้บริการรายอื่นได้ที่ ตั้งค่า → การแปลงที่อยู่เป็นพิกัด",
      "networkNoticeTitle": "การวิเคราะห์โครงข่ายใช้เซิร์ฟเวอร์ค้นหาเส้นทางภายนอก",
      "networkNoticeDesc": "การเรียกใช้เครื่องมือวิเคราะห์โครงข่ายจะส่งพิกัดของจุดนำเข้าของคุณไปยังเซิร์ฟเวอร์ค้นหาเส้นทางเพื่อคำนวณไอโซโครน เมทริกซ์ต้นทุน และเส้นทาง",
      "networkNoticePrivacyHeading": "ความเป็นส่วนตัวของข้อมูล",
      "networkNoticePrivacy": "พิกัดนำเข้าของคุณจะออกจากอุปกรณ์นี้และถูกส่งไปยังเซิร์ฟเวอร์ Valhalla สาธารณะที่ valhalla1.openstreetmap.de กรุณากดยกเลิกหากโปรเจกต์ของคุณอยู่ภายใต้ข้อกำหนดด้านความเป็นส่วนตัวหรืออธิปไตยของข้อมูล",
      "networkNoticePrivacyCustom": "พิกัดนำเข้าของคุณจะออกจากอุปกรณ์นี้และถูกส่งไปยังเซิร์ฟเวอร์ค้นหาเส้นทางที่ตั้งค่าไว้ ({{endpoint}}) กรุณากดยกเลิกหากโปรเจกต์ของคุณอยู่ภายใต้ข้อกำหนดด้านความเป็นส่วนตัวหรืออธิปไตยของข้อมูล",
      "networkNoticePerformanceHeading": "ประสิทธิภาพและข้อจำกัด",
      "networkNoticePerformance": "เซิร์ฟเวอร์สาธารณะใช้ได้ฟรีแต่มีการจำกัดอัตราการใช้งาน การส่งจุดจำนวนมากในครั้งเดียวจึงอาจถูกชะลอหรือล้มเหลว หากใช้งานหนัก ควรติดตั้งเซิร์ฟเวอร์ Valhalla ของคุณเองแล้วใส่ URL ในช่อง \"เซิร์ฟเวอร์ค้นหาเส้นทาง (Valhalla)\" ของเครื่องมือ (หรือกำหนด VITE_ROUTING_ENDPOINT ที่ ตั้งค่า → ตัวแปรสภาพแวดล้อม เพื่อให้เป็นค่าเริ่มต้น)",
      "continue": "ดำเนินการต่อ",
      "largeOsmPbfTitle": "ไฟล์ OSM PBF ขนาดใหญ่",
      "largeOsmPbfDesc": "ไฟล์นี้มีขนาดประมาณ {{sizeMb}} MB การแปลงไฟล์จะเปลี่ยนทุกฟีเจอร์เป็น GeoJSON ในหน่วยความจำ ซึ่งอาจช้าและใช้หน่วยความจำในเบราว์เซอร์มาก ต้องการดำเนินการต่อหรือไม่?",
      "largeVectorDesc": "{{name}} มีฟีเจอร์ประมาณ {{count}} รายการ การโหลดจะเปลี่ยนทุกฟีเจอร์เป็น GeoJSON ในหน่วยความจำ และอาจทำให้แอปทำงานช้าหรือค้างได้ ต้องการดำเนินการต่อหรือไม่?",
      "addOsmPbfLayerTitle": "เพิ่มเลเยอร์ OSM PBF",
      "addOsmPbfLayerDesc": "โหลดไฟล์ .osm.pbf ของ OpenStreetMap ไฟล์จะถูกแปลงในเบราว์เซอร์ของคุณและแยกเป็นเลเยอร์จุด เส้น และรูปหลายเหลี่ยม",
      "urlLabel": "URL",
      "osmPbfUrlPlaceholder": "https://example.com/region.osm.pbf",
      "osmPbfSampleLabel": "ลาสเวกัส",
      "osmPbfUrlHint": "URL จากระยะไกลโหลดได้ในแอปเดสก์ท็อป ส่วนในเบราว์เซอร์ เซิร์ฟเวอร์ต้องอนุญาตคำขอข้ามต้นทาง (CORS)",
      "chooseLocalFile": "เลือกไฟล์ในเครื่อง…",
      "loadFromUrl": "โหลดจาก URL",
      "loadingOsmPbf": "กำลังโหลด OSM PBF…",
      "loadingOsmPbfDesc": "กำลังแปลงไฟล์และเปลี่ยนฟีเจอร์เป็น GeoJSON กระบวนการนี้ทำงานเบื้องหลังและอาจใช้เวลาสักครู่สำหรับข้อมูลขนาดใหญ่",
      "loadingOsmPbfProgress": "กำลังแปลงฟีเจอร์เป็น GeoJSON… ประมวลผลแล้ว {{processed}} จาก {{total}} รายการ OSM",
      "projectName": "ชื่อโปรเจกต์",
      "storymapEllipsis": "แผนที่เล่าเรื่อง..."
    },
    "plugin": {
      "maplibre-gl-annotations": "คำอธิบายประกอบ",
      "maplibre-gl-streetview": "Street View",
      "maplibre-gl-time-slider": "แถบเลื่อนเวลา",
      "geolibre-timelapse": "ภาพเคลื่อนไหวตามช่วงเวลา",
      "maplibre-gl-esri-wayback": "ภาพถ่ายย้อนหลัง",
      "maplibre-gl-openaerialmap": "OpenAerialMap",
      "maplibre-gl-arcgis-hub": "ArcGIS Hub",
      "geolibre-stac-catalogs": "แคตตาล็อก STAC",
      "maplibre-gl-source-coop": "Source Cooperative",
      "maplibre-gl-natural-earth": "Natural Earth",
      "maplibre-gl-swipe": "ปัดเปรียบเทียบเลเยอร์",
      "geolibre-elevation-profile": "โปรไฟล์ความสูง",
      "maplibre-gl-basemap-control": "แผนที่ฐาน",
      "maplibre-layer-control": "ตัวควบคุมเลเยอร์",
      "maplibre-gl-huggingface": "Hugging Face",
      "carto-light": "แผนที่ฐาน Carto Light",
      "geolibre-flight-simulator": "เครื่องจำลองการบิน",
      "geolibre-route-animation": "แอนิเมชันเส้นทาง",
      "geolibre-sun": "การจำลองดวงอาทิตย์",
      "maplibre-atmosphere-effects": "เอฟเฟกต์ชั้นบรรยากาศ",
      "maplibre-deckgl-viz": "เลเยอร์ Deck.gl",
      "maplibre-gl-clouds": "เมฆ",
      "maplibre-gl-components": "คอมโพเนนต์",
      "maplibre-gl-directions": "เส้นทาง",
      "maplibre-gl-earthdata-gis": "Earthdata GIS",
      "maplibre-gl-enviroatlas": "US EPA EnviroAtlas",
      "maplibre-gl-fema-wms": "FEMA NFHL",
      "maplibre-gl-geo-editor": "GeoEditor",
      "maplibre-gl-geoagent": "GeoAgent",
      "maplibre-gl-geolens": "GeoLens",
      "maplibre-gl-graticule": "เส้นกริด",
      "maplibre-gl-mapillary": "Mapillary",
      "maplibre-gl-nasa-earthdata": "NASA Earthdata",
      "maplibre-gl-national-map": "USGS National Map",
      "maplibre-gl-overture-maps": "Overture Maps",
      "maplibre-gl-precipitation": "หยาดน้ำฟ้า",
      "maplibre-gl-usgs-lidar": "USGS LiDAR",
      "maplibre-h3-grid": "H3",
      "maplibre-s2-grid": "S2",
      "maplibre-a5-grid": "A5",
      "maplibre-dggrid": "DGGRID",
      "maplibre-dggal": "DGGAL",
      "maplibre-olc": "OLC",
      "maplibre-geohash": "Geohash",
      "maplibre-tilecode": "Tilecode",
      "maplibre-reverse-geocode": "ค้นหาที่อยู่จากพิกัด",
      "osm-basemap": "แผนที่ฐาน OpenStreetMap"
    },
    "fileDrop": {
      "overlayTitle": "วางไฟล์เวกเตอร์หรือแรสเตอร์ที่นี่เพื่อเพิ่มเลเยอร์",
      "overlaySubtext": "ข้อมูลของคุณจะถูกเพิ่มลงในแผงเลเยอร์ทันที",
      "addedLayer": "เพิ่ม \"{{name}}\" ลงในแผงเลเยอร์แล้ว",
      "addedVectorLayers_other": "เพิ่มเลเยอร์เวกเตอร์ {{count}} เลเยอร์ลงในแผงเลเยอร์แล้ว",
      "addedRasterLayers_other": "เพิ่มเลเยอร์แรสเตอร์ {{count}} เลเยอร์ลงในแผงเลเยอร์แล้ว",
      "addedBoth": "เพิ่ม {{vector}} และ {{raster}} ลงในแผงเลเยอร์แล้ว",
      "bothVectorLayers_other": "เลเยอร์เวกเตอร์ {{count}} เลเยอร์",
      "bothRasterLayers_other": "เลเยอร์แรสเตอร์ {{count}} เลเยอร์"
    },
    "error": {
      "couldNotOpenProject": "ไม่สามารถเปิดโปรเจกต์ได้",
      "couldNotImportQgisProject": "ไม่สามารถนำเข้าโปรเจกต์ QGIS ได้",
      "couldNotImportArcgisProject": "ไม่สามารถนำเข้าโปรเจกต์ ArcGIS Pro ได้",
      "invalidProjectUrl": "ป้อน URL ของโปรเจกต์แบบ HTTP หรือ HTTPS ที่ถูกต้อง",
      "couldNotOpenProjectUrl": "ไม่สามารถเปิด URL ของโปรเจกต์ได้",
      "couldNotOpenRecentProject": "ไม่สามารถเปิดโปรเจกต์ล่าสุดได้",
      "couldNotLoadRecentProject": "ไม่สามารถโหลดโปรเจกต์ล่าสุดได้",
      "couldNotSaveProject": "ไม่สามารถบันทึกโปรเจกต์ได้",
      "couldNotExportHtml": "ไม่สามารถส่งออกโปรเจกต์เป็น HTML ได้",
      "osmPbfNoFeatures": "ไม่พบฟีเจอร์แบบจุด เส้น หรือรูปหลายเหลี่ยมในไฟล์ OSM PBF นี้",
      "couldNotLoadOsmPbf": "ไม่สามารถโหลดไฟล์ OSM PBF ได้",
      "osmPbfLoadFailedWithHint": "{{message}} หากไฟล์นี้เป็น Mapbox Vector Tile (.pbf) จะไม่สามารถโหลดเป็นข้อมูล OSM ได้",
      "osmPbfTooLarge": "ข้อมูล OSM ชุดนี้ใหญ่เกินกว่าจะโหลดได้ และใช้หน่วยความจำหรือเวลาจนหมด กรุณาลองใช้พื้นที่ที่เล็กลง หรือกรองไฟล์ล่วงหน้า (เช่นด้วย osmium-tool หรือ QGIS) ก่อนโหลด",
      "couldNotOpenOsmPbf": "ไม่สามารถเปิดไฟล์ OSM PBF ได้",
      "invalidOsmPbfUrl": "ป้อน URL แบบ http(s) ที่ถูกต้องซึ่งชี้ไปยังไฟล์ .osm.pbf",
      "couldNotDownloadOsmPbf": "ไม่สามารถดาวน์โหลดไฟล์ OSM PBF ได้",
      "scenegraphModelUrlRequired": "ป้อน URL ของโมเดล glTF/GLB",
      "scenegraphInvalidLngLat": "ป้อนลองจิจูดและละติจูดที่ถูกต้อง",
      "scenegraphOutOfRange": "ลองจิจูดต้องอยู่ระหว่าง -180 ถึง 180 และละติจูดต้องอยู่ระหว่าง -90 ถึง 90",
      "scenegraphNoPointFeatures": "ไฟล์ GeoJSON นี้ไม่มีฟีเจอร์แบบจุดสำหรับวางโมเดล"
    },
    "scenegraph": {
      "modelUrl": "URL ของโมเดล glTF / GLB",
      "placement": "การวางตำแหน่ง",
      "placementSingle": "ตำแหน่งเดียว",
      "placementData": "จากข้อมูลจุด",
      "longitude": "ลองจิจูด",
      "latitude": "ละติจูด",
      "scale": "อัตราส่วน",
      "bearing": "ทิศทาง°",
      "altitude": "ความสูง m"
    },
    "sqlWorkspace": {
      "description": {
        "postgis": "เรียกใช้คำสั่ง SQL ของ PostGIS กับเลเยอร์ที่โหลดไว้ ส่วนขยาย PostGIS ถูกโหลดไว้แล้ว จึงใช้ฟังก์ชัน ST_* ได้ การเรียกใช้ครั้งแรกจะโหลดเอนจินฐานข้อมูลขนาดประมาณ 19 MB",
        "duckdb": "เรียกใช้คำสั่ง SQL ของ DuckDB กับเลเยอร์ ไฟล์ และ URL ที่โหลดไว้ ส่วนขยายเชิงพื้นที่ถูกโหลดไว้แล้ว จึงใช้ฟังก์ชัน ST_* ได้ รองรับ URL บนคลาวด์ (s3://, gs://, az://) สำหรับข้อมูลสาธารณะ",
        "sedona": "เรียกใช้คำสั่ง SQL เชิงพื้นที่ของ Apache Sedona กับเลเยอร์ที่โหลดไว้ ทำงานในเบราว์เซอร์ผ่าน CereusDB (SedonaDB ที่คอมไพล์เป็น WebAssembly) ส่วนบนเดสก์ท็อปจะใช้ SedonaDB sidecar เมื่อติดตั้งส่วนเสริม sedona ไว้ ใช้ฟังก์ชัน ST_* ได้"
      },
      "title": "พื้นที่ทำงาน SQL",
      "engine": "เอนจิน SQL",
      "resize": "ปรับขนาดพื้นที่ทำงาน SQL",
      "resizeEditor": "ปรับขนาดบานหน้าต่างตัวแก้ไขและผลลัพธ์",
      "collapse": "ย่อพื้นที่ทำงาน SQL",
      "expand": "ขยายพื้นที่ทำงาน SQL",
      "close": "ปิดพื้นที่ทำงาน SQL",
      "run": "เรียกใช้",
      "runHint": "เรียกใช้ (Ctrl/Cmd+Enter)",
      "clear": "ล้าง",
      "completions": "การเติมคำอัตโนมัติ",
      "placeholder": "พิมพ์ SQL ที่นี่ · Ctrl/Cmd+Enter เพื่อเรียกใช้ · Tab หรือ Ctrl+Space เพื่อเติมคำอัตโนมัติ",
      "resultsPlaceholder": "เรียกใช้คำสั่งค้นหาเพื่อดูผลลัพธ์ที่นี่",
      "queryableHint": "เลเยอร์ที่ค้นหาได้: {{names}}",
      "queryableLayers": "เลเยอร์ที่ค้นหาได้:",
      "queryLabel": "คำสั่งค้นหา SQL",
      "engineOption": "เอนจิน: {{name}}",
      "sampleQueries": "คำสั่งค้นหาตัวอย่าง…",
      "sampleQueriesLabel": "แทรกคำสั่งค้นหาตัวอย่าง",
      "history": "ประวัติ…",
      "historyLabel": "นำคำสั่งค้นหาจากประวัติมาใช้ซ้ำ",
      "sampleForLayer": "คำสั่งค้นหาตัวอย่างสำหรับเลเยอร์…",
      "sampleForLayerLabel": "แทรกคำสั่งค้นหาตัวอย่างสำหรับเลเยอร์",
      "noLayersEngine": "ยังไม่มีเลเยอร์เวกเตอร์ที่โหลดเป็นตาราง กรุณาโหลดเลเยอร์เวกเตอร์เพื่อค้นหาด้วย {{engine}}",
      "noLayersReaders": "ยังไม่มีเลเยอร์เวกเตอร์ที่โหลดเป็นตาราง แต่คุณยังอ่านไฟล์และ URL ได้ด้วย read_parquet(), read_csv_auto() หรือ ST_Read()",
      "layerName": "ชื่อเลเยอร์",
      "layerNamePlaceholder": "ชื่อเลเยอร์ (ไม่บังคับ)",
      "addAsLayer": "เพิ่มเป็นเลเยอร์",
      "exportCsv": "ส่งออก CSV",
      "exportGeoParquet": "ส่งออก GeoParquet",
      "addedAsLayer_other": "เพิ่มฟีเจอร์ {{count}} รายการลงในแผนที่ในชื่อ \"{{name}}\" แล้ว",
      "addAsQueryLayer": "เพิ่มเป็นเลเยอร์คำสั่งค้นหา",
      "addAsQueryLayerHint": "เพิ่มผลลัพธ์เป็นเลเยอร์แบบสดที่จะเรียกใช้ SQL นี้ใหม่เมื่อรีเฟรช",
      "addedAsQueryLayer_other": "เพิ่มฟีเจอร์ {{count}} รายการลงในแผนที่เป็นเลเยอร์คำสั่งค้นหาชื่อ \"{{name}}\" แล้ว รีเฟรชจากแผงเลเยอร์เพื่อเรียกใช้ SQL อีกครั้ง",
      "savedAs": "บันทึก {{label}} เป็น {{name}} แล้ว",
      "noRows": "เรียกใช้คำสั่งแล้ว ไม่มีแถวที่ส่งคืน",
      "showingRows": "กำลังแสดง {{shown}} แถวแรกจากทั้งหมด {{total}} แถว ส่งออกเพื่อดูทั้งหมด",
      "rowsCount_other": "{{count}} แถว",
      "columnsCount_other": "{{count}} คอลัมน์",
      "samples": {
        "countriesGeom": "ประเทศพร้อมเรขาคณิต",
        "attributesOnly": "เฉพาะแอตทริบิวต์ (ไม่มีเรขาคณิต)",
        "populationByContinent": "ประชากรแยกตามทวีป (รวมค่า)",
        "mostPopulous": "ประเทศที่มีประชากรมากที่สุด (เรขาคณิต)",
        "countryCentroids": "จุดศูนย์ถ่วงของประเทศ (เชิงพื้นที่)",
        "largestByArea": "ประเทศที่มีพื้นที่ใหญ่ที่สุด (เชิงพื้นที่)",
        "postgisVersion": "เวอร์ชันของ PostGIS",
        "makePoint": "สร้างจุด (เรขาคณิต)",
        "firstRows": "แถวแรก ๆ ของเลเยอร์",
        "featureCount": "จำนวนฟีเจอร์",
        "layerCentroids": "จุดศูนย์ถ่วงของเลเยอร์ (เชิงพื้นที่)",
        "bufferFeatures": "สร้างบัฟเฟอร์ให้ฟีเจอร์ 0.01 องศา (เชิงพื้นที่)",
        "boundingBox": "กรอบขอบเขตของเลเยอร์ (เชิงพื้นที่)",
        "bufferPoint": "สร้างบัฟเฟอร์ให้จุด (เชิงพื้นที่)",
        "areaPerFeature": "พื้นที่ของแต่ละฟีเจอร์ (เชิงพื้นที่)"
      }
    }
  },
  "selection": {
    "byExpressionTitle": "เลือกด้วยนิพจน์",
    "byExpressionDescription": "เลือกฟีเจอร์ที่แอตทริบิวต์ตรงกับนิพจน์แบบบูลีน รายการที่ตรงกันจะกลายเป็นการเลือกปัจจุบัน โดยไฮไลต์บนแผนที่และในตารางแอตทริบิวต์",
    "byLocationTitle": "เลือกตามตำแหน่ง",
    "byLocationDescription": "เลือกฟีเจอร์จากความสัมพันธ์เชิงพื้นที่กับฟีเจอร์ของอีกเลเยอร์หนึ่ง",
    "targetLayer": "เลือกฟีเจอร์จาก",
    "referenceLayer": "โดยเปรียบเทียบกับฟีเจอร์ของ",
    "predicate": "โดยที่ฟีเจอร์นั้น",
    "predicateIntersects": "ตัดกัน",
    "predicateWithin": "อยู่ภายใน",
    "predicateContains": "บรรจุอยู่ภายใน",
    "predicateDisjoint": "ไม่เกี่ยวข้องกัน (ไม่ตัดกัน)",
    "mode": "ปรับเปลี่ยนการเลือกปัจจุบันโดย",
    "modeNew": "สร้างการเลือกใหม่",
    "modeAdd": "เพิ่มเข้าในการเลือกปัจจุบัน",
    "modeRemove": "นำออกจากการเลือกปัจจุบัน",
    "modeIntersect": "เลือกภายในการเลือกปัจจุบัน",
    "expression": "นิพจน์",
    "expressionPlaceholder": "[\">=\", [\"get\", \"population\"], 100000]",
    "expressionTarget": "ตัวกรองการเลือก",
    "openBuilder": "ตัวสร้างนิพจน์...",
    "invalidExpression": "ป้อนนิพจน์แบบบูลีนที่ถูกต้อง",
    "select": "เลือกฟีเจอร์",
    "noLayers": "เพิ่มเลเยอร์เวกเตอร์ที่มีฟีเจอร์เพื่อทำการเลือก",
    "needTwoLayers": "การเลือกตามตำแหน่งต้องใช้เลเยอร์เวกเตอร์ที่มีฟีเจอร์สองเลเยอร์",
    "summary": "เลือกแล้ว {{selected}} จาก {{total}} ฟีเจอร์ (ตรงกัน {{matched}} รายการ)",
    "evaluationErrors": "มี {{count}} ฟีเจอร์ที่ประเมินค่าไม่ได้และไม่ถูกนับว่าตรงกัน",
    "unevaluableDisjoint": "มี {{count}} ฟีเจอร์ที่ถูกคัดออกเนื่องจากประเมินค่าเรขาคณิตไม่ได้",
    "tooManyPairs": "การเปรียบเทียบนี้ต้องทดสอบคู่ฟีเจอร์ {{pairs}} คู่ (ขีดจำกัด {{limit}}) กรุณาใช้ ประมวลผล → GeoLibre → เวกเตอร์ → เลือกตามตำแหน่ง ด้วยเอนจิน Sidecar แทน",
    "exportedLayerName": "{{name}} (รายการที่เลือก)"
  },
  "loadEditorFeatures": {
    "menuItem": "โหลดฟีเจอร์เข้าตัวแก้ไข…",
    "title": "โหลดฟีเจอร์เข้าตัวแก้ไข",
    "collapse": "ย่อแผง",
    "expand": "ขยายแผง",
    "description": "โหลดฟีเจอร์เวกเตอร์ที่มองเห็นในมุมมองแผนที่ปัจจุบันเข้าสู่ GeoEditor เพื่อแก้ไข แล้วบันทึกฟีเจอร์ทั้งหมดหรือเฉพาะส่วนที่คุณแก้ไขเป็น GeoJSON",
    "vectorLayer": "เลเยอร์เวกเตอร์",
    "selectPlaceholder": "เลือกเลเยอร์…",
    "refresh": "รีเฟรชรายการเลเยอร์",
    "noLayers": "ไม่มีเลเยอร์เวกเตอร์ในมุมมองปัจจุบัน กรุณาเพิ่มเลเยอร์เวกเตอร์ หรือเลื่อนไปยังพื้นที่ของแผนที่ฐานที่มีฟีเจอร์เวกเตอร์ แล้วรีเฟรช",
    "editSessionActive": "กรุณาจบการแก้ไขเรขาคณิตในที่ (แผงเลเยอร์ → จบการแก้ไขเรขาคณิต) ก่อนโหลดหรือบันทึกฟีเจอร์ที่นี่",
    "editorName": "ชื่อผู้แก้ไข",
    "editorNamePlaceholder": "ชื่อของคุณ (ไม่บังคับ)",
    "loadFeatures": "โหลดฟีเจอร์",
    "loading": "กำลังโหลดฟีเจอร์…",
    "selectLayer": "กรุณาเลือกเลเยอร์ก่อน",
    "noneInView": "ไม่พบฟีเจอร์ของเลเยอร์นี้ในมุมมองปัจจุบัน",
    "editorUnavailable": "ไม่สามารถเปิดใช้งาน GeoEditor ได้ กรุณาลองใหม่เมื่อแผนที่โหลดเสร็จสมบูรณ์",
    "noEditable": "ไม่พบฟีเจอร์ที่แก้ไขได้ของเลเยอร์นี้ในมุมมองปัจจุบัน",
    "loaded": "โหลด {{count}} ฟีเจอร์จาก \"{{layer}}\" แล้ว",
    "appended": "เพิ่มต่อท้าย {{count}} ฟีเจอร์จาก \"{{layer}}\" แล้ว",
    "loadedWithDropped": "{{message}} (ข้ามรายการที่ไม่ถูกต้อง {{dropped}} รายการ)",
    "loadFailed": "โหลดฟีเจอร์เข้าตัวแก้ไขไม่สำเร็จ",
    "confirmExisting": "ตัวแก้ไขมีฟีเจอร์อยู่แล้ว {{count}} รายการ ต้องการเพิ่มต่อท้าย หรือทิ้งแล้วแทนที่?",
    "tooMany": "การโหลด {{count}} ฟีเจอร์อาจทำให้ตัวแก้ไขตอบสนองช้า ต้องการโหลดต่อไปหรือไม่?",
    "loadAnyway": "โหลดต่อไป",
    "append": "เพิ่มต่อท้าย",
    "appendHint": "เพิ่มฟีเจอร์ใหม่ควบคู่ไปกับฟีเจอร์ที่มีอยู่",
    "discard": "ทิ้งและแทนที่",
    "discardHint": "นำฟีเจอร์ที่มีอยู่ออกแล้วโหลดฟีเจอร์ใหม่เข้ามา",
    "noChanges": "ยังไม่มีการเปลี่ยนแปลงให้บันทึก",
    "nothingToSave": "ไม่มีฟีเจอร์ให้บันทึก",
    "saved": "บันทึก {{count}} ฟีเจอร์แล้ว",
    "savedChanges": "บันทึกการเปลี่ยนแปลงแล้ว: เพิ่ม {{added}} แก้ไข {{modified}} ลบ {{deleted}}",
    "saveFailed": "บันทึกฟีเจอร์ไม่สำเร็จ",
    "saveChanges": "บันทึกการเปลี่ยนแปลง",
    "saveChangesHint": "บันทึกเฉพาะฟีเจอร์ที่คุณเพิ่ม แก้ไข หรือลบ",
    "saveAll": "บันทึกทั้งหมด"
  },
  "geocode": {
    "title": "แปลงที่อยู่เป็นพิกัด",
    "description": "แปลงไฟล์ CSV ที่มีที่อยู่ให้เป็นเลเยอร์จุด แต่ละแถวที่ตรงกันจะกลายเป็นจุดที่มีคอลัมน์เดิมทั้งหมด พร้อมพิกัดที่ค้นพบและคะแนนความตรงกัน",
    "chooseFile": "เลือกไฟล์ CSV",
    "noFile": "ยังไม่ได้เลือกไฟล์ CSV",
    "fileLoaded": "{{name}} ({{count}} แถว)",
    "provider": "ผู้ให้บริการแปลงที่อยู่เป็นพิกัด",
    "providerHint": "คีย์ API และปลายทางจัดการได้ในหน้าตั้งค่า",
    "apiKeyRequired": "{{provider}} ต้องใช้คีย์ API กรุณาเพิ่มคีย์ในหน้าตั้งค่าเพื่อให้ได้ผลลัพธ์",
    "corsNote": "Google ไม่อนุญาตให้เรียกใช้ Geocoding API จากเบราว์เซอร์อย่างเป็นทางการ คำขอจึงอาจถูกบล็อก เว้นแต่จะให้บริการผ่านพร็อกซีที่อยู่ต้นทางเดียวกัน",
    "addressColumn": "คอลัมน์ที่อยู่",
    "run": "เริ่มแปลงที่อยู่เป็นพิกัด",
    "cancel": "ยกเลิก",
    "outputPlaceholder": "ความคืบหน้าจะแสดงที่นี่",
    "usingEndpoint": "กำลังใช้ {{endpoint}}",
    "usingProvider": "กำลังใช้ {{provider}} ({{endpoint}})",
    "rowCapWarning": "ระบบจะแปลงพิกัดเฉพาะ {{cap}} แถวแรกเท่านั้น เพื่อให้เป็นไปตามนโยบายการใช้งานของ Nominatim สาธารณะ หากต้องการประมวลผลจำนวนมาก กรุณาตั้งค่าปลายทางที่ติดตั้งใช้งานเอง",
    "skippedEmpty": "ข้าม {{count}} แถวที่มีที่อยู่ว่างเปล่า",
    "progress": "กำลังแปลงพิกัดแถวที่ {{current}} จาก {{total}}: {{address}}",
    "summary": "แปลงพิกัดสำเร็จ {{matched}} จาก {{total}} แถว โดยมี {{failed}} แถวที่ไม่พบผลลัพธ์",
    "failedRows": "แถวที่ไม่พบผลลัพธ์: {{rows}}",
    "noMatches": "ไม่มีแถวใดที่แปลงพิกัดได้",
    "cancelledNoRows": "ยกเลิกก่อนที่จะแปลงพิกัดแถวใด ๆ",
    "cancelled": "ยกเลิกแล้ว เพิ่มแถวที่ตรงกัน {{matched}} แถว",
    "error": "ข้อผิดพลาด: {{message}}",
    "reverseLookingUp": "กำลังค้นหาที่อยู่...",
    "reverseNoAddress": "ไม่พบที่อยู่",
    "reverseCopyAddress": "คัดลอกที่อยู่",
    "reverseFailed": "การค้นหาที่อยู่จากพิกัดล้มเหลว"
  },
  "graticule": {
    "title": "เส้นกริด",
    "controlTitle": "ตั้งค่าเส้นกริด",
    "gridType": "ชนิดกริด",
    "typeGeographic": "ภูมิศาสตร์ (ละติจูด/ลองจิจูด)",
    "typeUtm": "UTM (พิกัดตะวันออก/เหนือ)",
    "spacing": "ระยะห่าง",
    "spacingAuto": "อัตโนมัติ (ตามระดับซูม)",
    "spacingFixed": "ระยะคงที่",
    "interval": "ระยะห่าง (°)",
    "intervalMeters": "ระยะห่าง (m)",
    "lineColor": "สีเส้น",
    "lineWidth": "ความหนาเส้น",
    "lineOpacity": "ความทึบของเส้น",
    "dashedLines": "เส้นประ",
    "showLabels": "แสดงป้ายกำกับ",
    "labelFormat": "รูปแบบป้ายกำกับ",
    "formatDecimal": "องศาทศนิยม",
    "formatDms": "องศา/ลิปดา/ฟิลิปดา",
    "labelEdges": "ขอบที่แสดงป้ายกำกับ",
    "edgesLeftBottom": "ซ้าย + ล่าง",
    "edgesAll": "ทุกด้าน",
    "labelColor": "สีป้ายกำกับ",
    "labelSize": "ขนาดป้ายกำกับ"
  },
  "h3Plugin": {
    "title": "กริด H3",
    "controlTitle": "ตั้งค่ากริด H3",
    "autoResolution": "ความละเอียดอัตโนมัติ",
    "resolution": "ความละเอียด",
    "cellCount": "{{count}} เซลล์ในมุมมอง",
    "tooManyCells": "มุมมองนี้เกินขีดจำกัด {{limit}} เซลล์ กรุณาซูมเข้าหรือลดความละเอียดลง",
    "fillColor": "สีเติม",
    "fillOpacity": "ความทึบของสีเติม",
    "lineColor": "สีเส้นขอบ",
    "lineWidth": "ความหนาเส้นขอบ",
    "showLabels": "แสดงรหัสเซลล์",
    "identifyHint": "คลิกบนแผนที่เพื่อระบุเซลล์ H3",
    "selectedCell": "เซลล์ที่เลือก",
    "noSelection": "ยังไม่ได้เลือกเซลล์",
    "copyId": "คัดลอกรหัส",
    "copied": "คัดลอกแล้ว",
    "parent": "เซลล์แม่",
    "children": "เซลล์ลูก",
    "neighbors": "เซลล์ข้างเคียง",
    "baseCell": "เซลล์ฐาน",
    "center": "จุดกึ่งกลาง",
    "pentagon": "รูปห้าเหลี่ยม",
    "yes": "ใช่",
    "no": "ไม่ใช่",
    "zoomToCell": "ซูมไปยังเซลล์",
    "addAsLayer": "เพิ่มกริดเป็นเลเยอร์",
    "exportGeoJson": "ส่งออก GeoJSON",
    "exportCsv": "ส่งออก CSV",
    "includeNeighbors": "รวมเซลล์ข้างเคียงของเซลล์ที่เลือก",
    "includeParents": "รวมเซลล์แม่ของเซลล์ที่เลือก",
    "showIcosahedron": "แสดงทรงยี่สิบหน้า"
  },
  "s2Plugin": {
    "title": "กริด S2",
    "controlTitle": "ตั้งค่ากริด S2",
    "autoResolution": "ความละเอียดอัตโนมัติ",
    "resolution": "ความละเอียด",
    "cellCount": "{{count}} เซลล์ในมุมมอง",
    "tooManyCells": "มุมมองนี้เกินขีดจำกัด {{limit}} เซลล์ กรุณาซูมเข้าหรือลดความละเอียดลง",
    "fillColor": "สีเติม",
    "fillOpacity": "ความทึบของสีเติม",
    "lineColor": "สีเส้นขอบ",
    "lineWidth": "ความหนาเส้นขอบ",
    "showLabels": "แสดงรหัสเซลล์",
    "identifyHint": "คลิกบนแผนที่เพื่อระบุเซลล์ S2",
    "selectedCell": "เซลล์ที่เลือก",
    "noSelection": "ยังไม่ได้เลือกเซลล์",
    "copyId": "คัดลอกรหัส",
    "parent": "เซลล์แม่",
    "children": "เซลล์ลูก",
    "neighbors": "เซลล์ข้างเคียง",
    "center": "จุดกึ่งกลาง",
    "zoomToCell": "ซูมไปยังเซลล์",
    "addAsLayer": "เพิ่มกริดเป็นเลเยอร์",
    "exportGeoJson": "ส่งออก GeoJSON",
    "exportCsv": "ส่งออก CSV",
    "includeNeighbors": "รวมเซลล์ข้างเคียงของเซลล์ที่เลือก",
    "includeParents": "รวมเซลล์แม่ของเซลล์ที่เลือก"
  },
  "a5Plugin": {
    "title": "กริด A5",
    "controlTitle": "ตั้งค่ากริด A5",
    "autoResolution": "ความละเอียดอัตโนมัติ",
    "resolution": "ความละเอียด",
    "cellCount": "{{count}} เซลล์ในมุมมอง",
    "tooManyCells": "มุมมองนี้เกินขีดจำกัด {{limit}} เซลล์ กรุณาซูมเข้าหรือลดความละเอียดลง",
    "fillColor": "สีเติม",
    "fillOpacity": "ความทึบของสีเติม",
    "lineColor": "สีเส้นขอบ",
    "lineWidth": "ความหนาเส้นขอบ",
    "showLabels": "แสดงรหัสเซลล์",
    "identifyHint": "คลิกบนแผนที่เพื่อระบุเซลล์ A5",
    "selectedCell": "เซลล์ที่เลือก",
    "noSelection": "ยังไม่ได้เลือกเซลล์",
    "copyId": "คัดลอกรหัส",
    "parent": "เซลล์แม่",
    "children": "เซลล์ลูก",
    "neighbors": "เซลล์ข้างเคียง",
    "center": "จุดกึ่งกลาง",
    "zoomToCell": "ซูมไปยังเซลล์",
    "addAsLayer": "เพิ่มกริดเป็นเลเยอร์",
    "exportGeoJson": "ส่งออก GeoJSON",
    "exportCsv": "ส่งออก CSV",
    "includeNeighbors": "รวมเซลล์ข้างเคียงของเซลล์ที่เลือก",
    "includeParents": "รวมเซลล์แม่ของเซลล์ที่เลือก"
  },
  "dggridPlugin": {
    "title": "DGGRID",
    "controlTitle": "ตั้งค่า DGGRID",
    "cellType": "ชนิดเซลล์",
    "topologyHexagon": "รูปหกเหลี่ยม",
    "topologyDiamond": "รูปข้าวหลามตัด",
    "topologyTriangle": "รูปสามเหลี่ยม",
    "projection": "การฉายแผนที่",
    "aperture": "ค่าอะเพอร์เจอร์",
    "autoResolution": "ความละเอียดอัตโนมัติ",
    "resolution": "ความละเอียด",
    "cellCount": "{{count}} เซลล์ในมุมมอง",
    "tooManyCells": "มุมมองนี้เกินขีดจำกัด {{limit}} เซลล์ กรุณาซูมเข้าหรือลดความละเอียดลง",
    "fillColor": "สีเติม",
    "fillOpacity": "ความทึบของสีเติม",
    "lineColor": "สีเส้นขอบ",
    "lineWidth": "ความหนาเส้นขอบ",
    "showLabels": "แสดงรหัสเซลล์",
    "identifyHint": "คลิกบนแผนที่เพื่อระบุเซลล์ DGGRID",
    "selectedCell": "เซลล์ที่เลือก",
    "noSelection": "ยังไม่ได้เลือกเซลล์",
    "copyId": "คัดลอกรหัส",
    "parent": "เซลล์แม่",
    "children": "เซลล์ลูก",
    "neighbors": "เซลล์ข้างเคียง",
    "center": "จุดกึ่งกลาง",
    "zoomToCell": "ซูมไปยังเซลล์",
    "addAsLayer": "เพิ่มกริดเป็นเลเยอร์",
    "exportGeoJson": "ส่งออก GeoJSON",
    "exportCsv": "ส่งออก CSV",
    "includeNeighbors": "รวมเซลล์ข้างเคียงของเซลล์ที่เลือก",
    "includeParents": "รวมเซลล์แม่ของเซลล์ที่เลือก"
  },
  "dggalPlugin": {
    "title": "DGGAL",
    "controlTitle": "ตั้งค่า DGGAL",
    "gridType": "ชนิดของ DGGS",
    "autoResolution": "ความละเอียดอัตโนมัติ",
    "resolution": "ความละเอียด",
    "cellCount": "{{count}} เซลล์ในมุมมอง",
    "tooManyCells": "มุมมองนี้เกินขีดจำกัด {{limit}} เซลล์ กรุณาซูมเข้าหรือลดความละเอียดลง",
    "fillColor": "สีเติม",
    "fillOpacity": "ความทึบของสีเติม",
    "lineColor": "สีเส้นขอบ",
    "lineWidth": "ความหนาเส้นขอบ",
    "showLabels": "แสดงรหัสเซลล์",
    "identifyHint": "คลิกบนแผนที่เพื่อระบุเซลล์ DGGAL",
    "selectedCell": "เซลล์ที่เลือก",
    "noSelection": "ยังไม่ได้เลือกเซลล์",
    "copyId": "คัดลอกรหัส",
    "parent": "เซลล์แม่",
    "children": "เซลล์ลูก",
    "neighbors": "เซลล์ข้างเคียง",
    "center": "จุดกึ่งกลาง",
    "zoomToCell": "ซูมไปยังเซลล์",
    "addAsLayer": "เพิ่มกริดเป็นเลเยอร์",
    "exportGeoJson": "ส่งออก GeoJSON",
    "exportCsv": "ส่งออก CSV",
    "includeNeighbors": "รวมเซลล์ข้างเคียงของเซลล์ที่เลือก",
    "includeParents": "รวมเซลล์แม่ของเซลล์ที่เลือก"
  },
  "olcPlugin": {
    "title": "OLC",
    "controlTitle": "ตั้งค่า OLC",
    "autoResolution": "ความละเอียดอัตโนมัติ",
    "resolution": "ความยาวรหัส",
    "cellCount": "{{count}} เซลล์ในมุมมอง",
    "tooManyCells": "มุมมองนี้เกินขีดจำกัด {{limit}} เซลล์ กรุณาซูมเข้าหรือลดความยาวรหัสลง",
    "fillColor": "สีเติม",
    "fillOpacity": "ความทึบของสีเติม",
    "lineColor": "สีเส้นขอบ",
    "lineWidth": "ความหนาเส้นขอบ",
    "showLabels": "แสดงรหัสเซลล์",
    "identifyHint": "คลิกบนแผนที่เพื่อระบุเซลล์ OLC",
    "selectedCell": "เซลล์ที่เลือก",
    "noSelection": "ยังไม่ได้เลือกเซลล์",
    "copyId": "คัดลอกรหัส",
    "parent": "เซลล์แม่",
    "children": "เซลล์ลูก",
    "neighbors": "เซลล์ข้างเคียง",
    "center": "จุดกึ่งกลาง",
    "zoomToCell": "ซูมไปยังเซลล์",
    "addAsLayer": "เพิ่มกริดเป็นเลเยอร์",
    "exportGeoJson": "ส่งออก GeoJSON",
    "exportCsv": "ส่งออก CSV",
    "includeNeighbors": "รวมเซลล์ข้างเคียงของเซลล์ที่เลือก",
    "includeParent": "รวมเซลล์แม่ของเซลล์ที่เลือก"
  },
  "geohashPlugin": {
    "title": "Geohash",
    "controlTitle": "ตั้งค่า Geohash",
    "autoResolution": "ความละเอียดอัตโนมัติ",
    "resolution": "ความแม่นยำ",
    "cellCount": "{{count}} เซลล์ในมุมมอง",
    "tooManyCells": "มุมมองนี้เกินขีดจำกัด {{limit}} เซลล์ กรุณาซูมเข้าหรือลดความแม่นยำลง",
    "fillColor": "สีเติม",
    "fillOpacity": "ความทึบของสีเติม",
    "lineColor": "สีเส้นขอบ",
    "lineWidth": "ความหนาเส้นขอบ",
    "showLabels": "แสดงรหัสเซลล์",
    "identifyHint": "คลิกบนแผนที่เพื่อระบุเซลล์ Geohash",
    "selectedCell": "เซลล์ที่เลือก",
    "noSelection": "ยังไม่ได้เลือกเซลล์",
    "copyId": "คัดลอกรหัส",
    "parent": "เซลล์แม่",
    "children": "เซลล์ลูก",
    "neighbors": "เซลล์ข้างเคียง",
    "center": "จุดกึ่งกลาง",
    "zoomToCell": "ซูมไปยังเซลล์",
    "addAsLayer": "เพิ่มกริดเป็นเลเยอร์",
    "exportGeoJson": "ส่งออก GeoJSON",
    "exportCsv": "ส่งออก CSV",
    "includeNeighbors": "รวมเซลล์ข้างเคียงของเซลล์ที่เลือก",
    "includeParent": "รวมเซลล์แม่ของเซลล์ที่เลือก"
  },
  "tilecodePlugin": {
    "title": "Tilecode",
    "controlTitle": "ตั้งค่า Tilecode",
    "autoResolution": "ความละเอียดอัตโนมัติ",
    "resolution": "ระดับซูม",
    "cellCount": "{{count}} ไทล์ในมุมมอง",
    "tooManyCells": "มุมมองนี้เกินขีดจำกัด {{limit}} ไทล์ กรุณาซูมเข้าหรือลดระดับซูมลง",
    "fillColor": "สีเติม",
    "fillOpacity": "ความทึบของสีเติม",
    "lineColor": "สีเส้นขอบ",
    "lineWidth": "ความหนาเส้นขอบ",
    "showLabels": "แสดงรหัสไทล์",
    "identifyHint": "คลิกบนแผนที่เพื่อระบุเซลล์ Tilecode",
    "selectedCell": "ไทล์ที่เลือก",
    "noSelection": "ยังไม่ได้เลือกไทล์",
    "copyId": "คัดลอกรหัส",
    "quadkey": "Quadkey",
    "parent": "เซลล์แม่",
    "children": "เซลล์ลูก",
    "neighbors": "เซลล์ข้างเคียง",
    "center": "จุดกึ่งกลาง",
    "zoomToCell": "ซูมไปยังไทล์",
    "addAsLayer": "เพิ่มกริดเป็นเลเยอร์",
    "exportGeoJson": "ส่งออก GeoJSON",
    "exportCsv": "ส่งออก CSV",
    "includeNeighbors": "รวมไทล์ข้างเคียงของไทล์ที่เลือก",
    "includeParent": "รวมไทล์แม่ของไทล์ที่เลือก"
  },
  "timelapse": {
    "title": "ภาพเคลื่อนไหวตามช่วงเวลา",
    "provider": "แหล่งภาพถ่าย",
    "legend": "คำอธิบายสัญลักษณ์",
    "yearSlider": "ปีของภาพเคลื่อนไหว",
    "play": "เล่น",
    "pause": "หยุดชั่วคราว",
    "speed": "ความเร็ว",
    "secondsPerYear": "วินาทีต่อปี",
    "secondsPerYearSuffix": "วิ./ปี",
    "loop": "เล่นวนซ้ำ",
    "record": "บันทึกวิดีโอ",
    "stopRecording": "หยุดบันทึก",
    "recording": "กำลังบันทึก",
    "recordingFailed": "การบันทึกล้มเหลว",
    "recordingUnsupported": "เบราว์เซอร์นี้ไม่รองรับการบันทึกแคนวาส",
    "loadingTiles": "กำลังโหลดไทล์…"
  },
  "mapillary": {
    "title": "Mapillary",
    "hint": "คลิกจุดที่มีข้อมูลบนแผนที่เพื่อดูภาพระดับถนน",
    "noToken": "ต้องใช้โทเค็นการเข้าถึงของ Mapillary เพื่อโหลดพื้นที่ครอบคลุมและภาพถ่าย กรุณาวางโทเค็นด้านล่างเพื่อเริ่มต้น",
    "tokenPlaceholder": "MLY|…",
    "tokenSave": "บันทึกโทเค็น",
    "tokenHelp": "ขอรับโทเค็น",
    "tokenLabel": "โทเค็นการเข้าถึง Mapillary",
    "loading": "กำลังโหลดภาพถ่าย…",
    "loadError": "ไม่สามารถโหลดภาพนี้ได้",
    "coverageLines": "ลำดับภาพของ Mapillary",
    "coveragePoints": "ภาพถ่ายของ Mapillary"
  },
  "openAerialMap": {
    "hint": "ค้นหาภาพถ่ายจาก OpenAerialMap ตามมุมมองแผนที่ กรอบที่วาด หรือพิกัด",
    "search": "ค้นหาในมุมมองนี้",
    "loadMore": "โหลดเพิ่มเติม",
    "searching": "กำลังค้นหา…",
    "loadingMore": "กำลังโหลดเพิ่มเติม…",
    "noResults": "ไม่พบภาพถ่ายในพื้นที่นี้",
    "showing": "กำลังแสดง {{shown}} จาก {{total}} ภาพ",
    "searchError": "ไม่สามารถเชื่อมต่อ OpenAerialMap ได้: {{message}} กรุณาลองใหม่",
    "add": "เพิ่ม",
    "remove": "นำออก",
    "zoom": "ซูม",
    "download": "ดาวน์โหลด",
    "metadata": "เมทาดาทา",
    "addTitle": "เพิ่มภาพนี้ลงในแผนที่",
    "removeTitle": "นำภาพนี้ออกจากแผนที่",
    "addUnavailableTitle": "ไม่มีบริการไทล์สำหรับภาพนี้",
    "zoomTitle": "ซูมไปยังภาพนี้",
    "downloadTitle": "ดาวน์โหลดไฟล์ GeoTIFF ต้นฉบับ",
    "metadataTitle": "ดูเมทาดาทาของภาพนี้",
    "modeView": "มุมมองแผนที่",
    "modeDraw": "วาดกรอบ",
    "modeBbox": "พิกัด",
    "drawHint": "คลิกและลากบนแผนที่เพื่อวาดกรอบค้นหา",
    "drawStart": "วาดกรอบบนแผนที่",
    "drawCancel": "ยกเลิกการวาด",
    "drawnBox": "กรอบค้นหา: {{box}}",
    "coordWest": "ตะวันตก",
    "coordSouth": "ใต้",
    "coordEast": "ตะวันออก",
    "coordNorth": "เหนือ",
    "coordSearch": "ค้นหาในกรอบนี้",
    "bboxInvalid": "ป้อนพิกัดที่ถูกต้องทั้งสี่ค่า โดยตะวันตก < ตะวันออก และใต้ < เหนือ",
    "footprintsLayer": "ขอบเขตภาพของ OpenAerialMap",
    "footprintUnavailable": "ไม่มีบริการไทล์สำหรับภาพนี้",
    "metadataHeading": "เมทาดาทาของภาพ",
    "close": "ปิด",
    "metaTitle": "ชื่อ",
    "metaProvider": "ผู้ให้บริการ",
    "metaPlatform": "แพลตฟอร์ม",
    "metaResolution": "ความละเอียด",
    "metaAcquired": "วันที่บันทึกภาพ",
    "metaBounds": "ขอบเขต (ตะวันตก, ใต้, ตะวันออก, เหนือ)",
    "metaSource": "ไฟล์ GeoTIFF ต้นฉบับ",
    "metaRaw": "เมทาดาทาดิบ"
  },
  "arcgisHub": {
    "hint": "ค้นหาชุดข้อมูลสาธารณะจาก ArcGIS Hub เพิ่มเลเยอร์ที่รองรับลงในแผนที่หรือดาวน์โหลดข้อมูล",
    "searchPlaceholder": "ค้นหาชุดข้อมูลใน ArcGIS Hub",
    "search": "ค้นหา",
    "searchCurrentView": "ค้นหาในพื้นที่แผนที่ปัจจุบัน",
    "enterKeyword": "ป้อนคำค้นหาเพื่อเริ่มต้น",
    "loadMore": "โหลดเพิ่มเติม",
    "searching": "กำลังค้นหา…",
    "loadingMore": "กำลังโหลดชุดข้อมูลเพิ่มเติม…",
    "noResults": "ไม่พบชุดข้อมูลสาธารณะ",
    "searchError": "ไม่สามารถค้นหาใน ArcGIS Hub ได้",
    "showing": "กำลังแสดง {{shown}} จาก {{total}} ชุดข้อมูล",
    "noDescription": "ไม่มีคำอธิบาย",
    "add": "เพิ่มลงแผนที่",
    "adding": "กำลังเพิ่ม {{title}}…",
    "added": "เพิ่ม {{title}} แล้ว",
    "addError": "ไม่สามารถเพิ่มชุดข้อมูลนี้ได้",
    "zoom": "ซูม",
    "download": "ดาวน์โหลด",
    "preparing": "กำลังเตรียม {{title}}…",
    "downloading": "กำลังดาวน์โหลด {{title}}: {{completed}} จาก {{total}} ฟีเจอร์…",
    "downloadStarted": "เริ่มดาวน์โหลด {{title}} แล้ว",
    "downloadFirstLayer": "{{title}} มี {{layerCount}} เลเยอร์ ระบบดาวน์โหลดเฉพาะเลเยอร์แรกเท่านั้น",
    "downloadError": "ไม่สามารถดาวน์โหลดชุดข้อมูลนี้ได้",
    "details": "รายละเอียด"
  },
  "openDataCatalogs": {
    "socrataHint": "ค้นหาแคตตาล็อกข้อมูลเปิดสาธารณะของ Socrata แล้วเพิ่มชุดข้อมูล GeoJSON",
    "ckanHint": "ค้นหาแคตตาล็อก CKAN ของ Humanitarian Data Exchange แล้วเพิ่มทรัพยากร GeoJSON ที่มีอยู่",
    "searchPlaceholder": "ค้นหาใน {{name}}",
    "search": "ค้นหา",
    "enterKeyword": "ป้อนคำค้นหาเพื่อเริ่มต้น",
    "loadMore": "โหลดเพิ่มเติม",
    "searching": "กำลังค้นหา…",
    "noResults": "ไม่พบชุดข้อมูล",
    "showing": "กำลังแสดง {{shown}} จาก {{total}} ชุดข้อมูล",
    "noDescription": "ไม่มีคำอธิบาย",
    "add": "เพิ่มลงแผนที่",
    "details": "รายละเอียด",
    "adding": "กำลังเพิ่ม {{title}}…",
    "added": "เพิ่ม {{title}} แล้ว",
    "addError": "ไม่สามารถเพิ่มชุดข้อมูลได้",
    "searchError": "การค้นหาล้มเหลว"
  },
  "stacPlugin": {
    "title": "แคตตาล็อก STAC",
    "footprintLayerName": "ขอบเขตผลการค้นหา STAC",
    "catalogSearch": "ค้นหาแคตตาล็อกสาธารณะจาก STAC Index",
    "catalogSearchPlaceholder": "ค้นหาชื่อแคตตาล็อก…",
    "indexLoading": "กำลังโหลด STAC Index…",
    "indexUnavailable": "ไม่สามารถใช้ STAC Index ได้ — กรุณาป้อน URL",
    "indexLoadFailed": "ไม่สามารถโหลด STAC Index ได้",
    "urlLabel": "URL ของแคตตาล็อกหรือ API แบบ STAC",
    "connect": "เชื่อมต่อ",
    "connecting": "กำลังเชื่อมต่อ STAC…",
    "connected": "เชื่อมต่อแล้ว เลือกตัวกรองแล้วค้นหา",
    "connectFailed": "ไม่สามารถเชื่อมต่อ STAC ได้",
    "selectCatalog": "เลือกแคตตาล็อก…",
    "noMatchingCatalogs": "ไม่พบแคตตาล็อกที่ตรงกัน",
    "catalogApiSuffix": " (API)",
    "catalogStaticSuffix": " (แบบสถิต)",
    "kindApi": "STAC API",
    "kindStatic": "แคตตาล็อกแบบสถิต",
    "collectionsHint": "กด Ctrl/Cmd ค้างไว้เพื่อเลือกหลายคอลเลกชัน ลากขอบล่างเพื่อปรับขนาด",
    "limitToExtent": "จำกัดการค้นหาให้อยู่ในขอบเขตแผนที่ปัจจุบัน",
    "bboxLabel": "กรอบขอบเขต (ตะวันตก, ใต้, ตะวันออก, เหนือ)",
    "bboxPlaceholder": "ไม่บังคับ หากระบุจะแทนที่ขอบเขตของแผนที่",
    "bboxInvalid": "ป้อนกรอบขอบเขตที่ถูกต้อง: ตะวันตก, ใต้, ตะวันออก, เหนือ",
    "drawBbox": "วาดกรอบขอบเขตบนแผนที่",
    "cancelDrawing": "ยกเลิกการวาด",
    "clearDrawnBbox": "ล้างกรอบขอบเขตที่วาดไว้",
    "drawHint": "คลิกและลากบนแผนที่เพื่อวาดกรอบขอบเขตสำหรับค้นหา",
    "drawnBbox": "กรอบขอบเขตที่วาดไว้: {{bbox}}",
    "drawnBboxCleared": "ล้างกรอบขอบเขตที่วาดไว้แล้ว",
    "mapNotReady": "แผนที่ยังไม่พร้อมสำหรับการวาด",
    "startDate": "วันที่เริ่มต้น",
    "endDate": "วันที่สิ้นสุด",
    "additionalParams": "พารามิเตอร์ค้นหาเพิ่มเติม (JSON, เฉพาะ STAC API)",
    "additionalInvalid": "พารามิเตอร์ค้นหาเพิ่มเติมต้องเป็นออบเจกต์ JSON",
    "searchItems": "ค้นหารายการ",
    "clearResults": "ล้างผลลัพธ์",
    "resultsCleared": "ล้างผลการค้นหาแล้ว",
    "searching": "กำลังค้นหารายการ STAC…",
    "loadingMore": "กำลังโหลดรายการเพิ่มเติม…",
    "noResults": "ไม่มีรายการ STAC ที่ตรงกับตัวกรองเหล่านี้",
    "searchFailed": "การค้นหา STAC ล้มเหลว",
    "showing": "กำลังแสดง {{count}} รายการ",
    "showingOfMatched": "กำลังแสดง {{count}} จาก {{matched}} รายการ",
    "loadMore": "โหลดเพิ่มเติม",
    "renderOptions": "ตัวเลือกการแสดงผลแรสเตอร์",
    "bands": "แบนด์",
    "bandsPlaceholder": "เช่น 1 หรือ 1,2,3 (ค่าเริ่มต้น: อัตโนมัติ)",
    "colormap": "แผนผังสี (เฉพาะแบนด์เดียว)",
    "colormapDefault": "ค่าเริ่มต้นของตัวแสดงผล",
    "minValue": "ค่าต่ำสุด",
    "maxValue": "ค่าสูงสุด",
    "nodata": "ค่า NoData",
    "nodataPlaceholder": "แทนที่แท็ก NoData ของไฟล์",
    "renderHint": "เว้นช่องว่างไว้เพื่อให้ตัวแสดงผลอนุมานค่าจาก GeoTIFF เอง ตัวเลือกเหล่านี้จะมีผลกับแอสเซตที่เพิ่มหลังการเปลี่ยนแปลง",
    "initialStatus": "เลือกแคตตาล็อกจาก STAC Index หรือป้อน URL",
    "catalogInfo": "{{title}} · {{kind}}",
    "zoom": "ซูม",
    "add": "เพิ่ม",
    "download": "ดาวน์โหลด",
    "adding": "กำลังเพิ่ม {{asset}}…",
    "added": "เพิ่ม {{asset}} ลงในแผนที่แล้ว",
    "addUnsupported": "เพิ่มลงแผนที่ได้เฉพาะแอสเซตแบบ GeoTIFF/COG และ GeoJSON เท่านั้น",
    "addFailed": "ไม่สามารถเพิ่มแอสเซตได้",
    "cogUnsupported": "โฮสต์ GeoLibre นี้ไม่สามารถแสดงผลแอสเซต GeoTIFF จากระยะไกลได้"
  },
  "earthdataGis": {
    "hint": "ค้นหาบริการภาพถ่าย แผนที่ และฟีเจอร์จาก NASA Earthdata GIS",
    "searchPlaceholder": "ค้นหาใน Earthdata GIS…",
    "search": "ค้นหา",
    "searching": "กำลังค้นหา…",
    "loadingMore": "กำลังโหลดเพิ่มเติม…",
    "loadMore": "โหลดเพิ่มเติม",
    "noResults": "ไม่พบบริการที่ตรงกับการค้นหานี้",
    "showing": "กำลังแสดง {{shown}} จาก {{total}} บริการ",
    "searchError": "ไม่สามารถเชื่อมต่อ Earthdata GIS ได้: {{message}} กรุณาลองใหม่",
    "limitToView": "จำกัดเฉพาะมุมมองแผนที่",
    "limitToViewTitle": "แสดงเฉพาะบริการที่ทับซ้อนกับมุมมองแผนที่ปัจจุบัน",
    "filterAll": "ทั้งหมด",
    "filterImage": "ภาพถ่าย",
    "filterMap": "แผนที่",
    "filterFeature": "ฟีเจอร์",
    "kindImage": "บริการภาพถ่าย",
    "kindMap": "บริการแผนที่",
    "kindFeature": "บริการฟีเจอร์",
    "kindWebMap": "แผนที่บนเว็บ",
    "filterWebMap": "แผนที่บนเว็บ",
    "webMapAdded_other": "เพิ่ม {{count}} เลเยอร์จากแผนที่บนเว็บนี้แล้ว",
    "webMapAddedPartial": "เพิ่มแล้ว {{added}} จาก {{total}} เลเยอร์จากแผนที่บนเว็บนี้ ส่วนที่เหลือเข้าถึงไม่ได้",
    "webMapEmpty": "แผนที่บนเว็บนี้ไม่มีเลเยอร์ที่ GeoLibre แสดงผลได้",
    "add": "เพิ่ม",
    "adding": "กำลังเพิ่ม…",
    "remove": "นำออก",
    "zoom": "ซูม",
    "details": "รายละเอียด",
    "portal": "พอร์ทัล",
    "portalTitle": "เปิดรายการนี้บนพอร์ทัล Earthdata GIS",
    "cog": "COG",
    "cogTitle": "ดาวน์โหลดบริการนี้เป็น Cloud Optimized GeoTIFF",
    "cogHeading": "ดาวน์โหลดเป็น COG",
    "cogAreaView": "มุมมองปัจจุบัน",
    "cogAreaExtent": "ขอบเขตทั้งหมด",
    "cogSize": "ขนาดที่ส่งออก: {{width}} x {{height}} พิกเซล",
    "cogResolution": "ความละเอียดบนพื้นดิน: {{metres}} m/px",
    "cogNote": "บริการนี้จะถูกส่งออกใหม่ที่ขนาดนี้แล้วเข้ารหัสใหม่เป็น COG ผลลัพธ์จึงเป็นภาพที่ผ่านการสุ่มตัวอย่างใหม่ของพื้นที่ ไม่ใช่แรสเตอร์ต้นฉบับที่ความละเอียดเดิม",
    "cogDownload": "ดาวน์โหลด",
    "cogDownloading": "กำลังส่งออกและแปลงไฟล์…",
    "cogRetrying": "บริการปฏิเสธขนาดดังกล่าว กำลังลองใหม่ที่ {{width}} x {{height}} พิกเซล…",
    "cogConverting": "กำลังแปลงเป็น COG…",
    "cogDone": "บันทึกไฟล์ COG ที่ขนาด {{width}} x {{height}} พิกเซลแล้ว",
    "cogFailed": "ไม่สามารถดาวน์โหลด COG ได้: {{message}}",
    "cogUnavailable": "การดาวน์โหลดต้องใช้แอปเดสก์ท็อปหรือกล่องโต้ตอบบันทึกไฟล์ของเบราว์เซอร์",
    "cancel": "ยกเลิก",
    "addTitle": "เพิ่มบริการนี้ลงในแผนที่",
    "removeTitle": "นำบริการนี้ออกจากแผนที่",
    "zoomTitle": "ซูมไปยังบริการนี้",
    "zoomUnavailableTitle": "บริการนี้ไม่ได้เผยแพร่ข้อมูลขอบเขต",
    "detailsTitle": "ดูเมทาดาทาของบริการนี้",
    "addError": "ไม่สามารถเพิ่มบริการได้: {{message}}",
    "addTimeout": "บริการไม่ตอบสนองภายในหนึ่งนาที เลเยอร์จะยังปรากฏขึ้นหากทำงานเสร็จ",
    "zoomedToData": "ซูมเข้าเกินขอบเขตทั้งหมดของเลเยอร์นี้แล้ว บริการนี้แสดงผลเฉพาะที่ระดับซูมสูงกว่านี้เท่านั้น",
    "detailsHeading": "รายละเอียดของบริการ",
    "close": "ปิด",
    "metaTitle": "ชื่อ",
    "metaType": "ชนิด",
    "metaSummary": "สรุป",
    "metaDescription": "คำอธิบาย",
    "metaOwner": "เผยแพร่โดย",
    "metaModified": "แก้ไขล่าสุด",
    "metaTags": "แท็ก",
    "metaExtent": "ขอบเขต (ตะวันตก, ใต้, ตะวันออก, เหนือ)",
    "metaCredits": "เครดิต",
    "metaLicense": "ข้อจำกัดการใช้งาน",
    "metaService": "URL ของบริการ",
    "metaPortalItem": "รายการในพอร์ทัล",
    "metaRaw": "เมทาดาทาดิบ"
  },
  "sourceCoop": {
    "hint": "ค้นหาข้อมูลภูมิสารสนเทศแบบเปิดใน Source Cooperative หรือป้อนรหัสบัญชี/ผลิตภัณฑ์",
    "searchPlaceholder": "ค้นหาข้อมูล หรือบัญชี/ผลิตภัณฑ์",
    "search": "ค้นหา",
    "searching": "กำลังค้นหา…",
    "loading": "กำลังโหลดแคตตาล็อก…",
    "loadError": "ไม่สามารถเชื่อมต่อ Source Cooperative ได้: {{message}} กรุณาลองใหม่",
    "noResults": "ไม่พบผลิตภัณฑ์ที่ตรงกัน",
    "retry": "ลองใหม่",
    "featured": "แนะนำ",
    "showing": "กำลังแสดง {{shown}} จาก {{total}} ผลิตภัณฑ์",
    "browseAccount": "เรียกดูผลิตภัณฑ์ทั้งหมดของ {{account}}",
    "back": "ย้อนกลับ",
    "files": "ไฟล์",
    "noFiles": "ไม่มีไฟล์ในโฟลเดอร์นี้",
    "loadingFiles": "กำลังโหลดไฟล์…",
    "loadMore": "โหลดเพิ่มเติม",
    "parent": "ขึ้นไปหนึ่งระดับ",
    "add": "เพิ่ม",
    "adding": "กำลังเพิ่ม…",
    "added": "เพิ่มแล้ว",
    "stream": "สตรีม",
    "streaming": "กำลังสตรีม",
    "remove": "นำออก",
    "download": "ดาวน์โหลด",
    "copyUrl": "คัดลอก URL",
    "copied": "คัดลอกแล้ว",
    "openProduct": "เปิดบน source.coop",
    "addTitle": "เพิ่มไฟล์นี้ลงในแผนที่",
    "streamTitle": "ค้นหาข้อมูลจากไฟล์ ณ ที่ตั้งเดิม โดยอ่านเฉพาะส่วนที่อยู่ในมุมมอง ไฟล์ทั้งไฟล์จะไม่ถูกคัดลอกเข้า DuckDB เหมาะที่สุดกับไฟล์ขนาดใหญ่",
    "removeTitle": "นำไฟล์นี้ออกจากแผนที่",
    "downloadTitle": "ดาวน์โหลดไฟล์นี้",
    "copyUrlTitle": "คัดลอก URL ของไฟล์นี้",
    "openProductTitle": "เปิดหน้าของผลิตภัณฑ์นี้บน source.coop",
    "unsupportedTitle": "GeoLibre ไม่สามารถแสดงผลรูปแบบนี้ได้ — กรุณาดาวน์โหลดแทน",
    "addError": "ไม่สามารถเพิ่มไฟล์นี้ได้: {{message}}",
    "largeFileWarning": "ไฟล์นี้มีขนาด {{size}} โดยจะสตรีมจากแหล่งข้อมูล จึงอ่านเฉพาะส่วนที่อยู่ในมุมมองเท่านั้น",
    "streamHint": "ไฟล์นี้มีขนาด {{size}} การกดเพิ่มจะคัดลอกไฟล์เข้าหน่วยความจำ ส่วนการสตรีมจะอ่านเฉพาะส่วนที่อยู่ในมุมมอง",
    "tooLargeToOpen": "ไฟล์นี้มีขนาด {{size}} ซึ่งใหญ่เกินกว่าที่เบราว์เซอร์จะเปิดได้ (ขีดจำกัด {{limit}}) กรุณาดาวน์โหลด หรือใช้ชุดข้อมูลนี้เวอร์ชันที่แบ่งพาร์ทิชันแล้ว"
  },
  "huggingFace": {
    "browseTab": "เรียกดู",
    "uploadTab": "อัปโหลด",
    "settingsTab": "ตั้งค่า",
    "hint": "ค้นหาที่เก็บชุดข้อมูลบน Hugging Face หรือป้อนชื่อบัญชี หรือรหัสแบบ owner/dataset",
    "searchPlaceholder": "ค้นหาชุดข้อมูล บัญชี หรือ owner/dataset",
    "search": "ค้นหา",
    "searching": "กำลังค้นหา…",
    "loadError": "ไม่สามารถเชื่อมต่อ Hugging Face ได้: {{message}} กรุณาลองใหม่",
    "noResults": "ไม่พบชุดข้อมูลที่ตรงกัน",
    "retry": "ลองใหม่",
    "suggestions": "ชุดข้อมูลที่แนะนำ",
    "showing_other": "{{count}} ชุดข้อมูล",
    "browseOwner": "เรียกดูชุดข้อมูลทั้งหมดของ {{owner}}",
    "back": "ย้อนกลับ",
    "private": "ส่วนตัว",
    "gated": "ต้องขออนุญาต",
    "privateHint": "ชุดข้อมูลนี้เป็นแบบส่วนตัวหรือต้องขออนุญาต ไฟล์ของชุดข้อมูลต้องใช้คำขอที่ยืนยันตัวตน ซึ่งแหล่งข้อมูลของแผนที่ทำไม่ได้ จึงไม่สามารถเพิ่มหรือดาวน์โหลดที่นี่ได้",
    "stats": "{{likes}} ไลก์ · {{downloads}} ดาวน์โหลด",
    "noFiles": "ไม่มีไฟล์ในโฟลเดอร์นี้",
    "loadingFiles": "กำลังโหลดไฟล์…",
    "loadMore": "โหลดเพิ่มเติม",
    "parent": "ขึ้นไปหนึ่งระดับ",
    "add": "เพิ่ม",
    "adding": "กำลังเพิ่ม…",
    "stream": "สตรีม",
    "streaming": "กำลังสตรีม",
    "remove": "นำออก",
    "download": "ดาวน์โหลด",
    "copyUrl": "คัดลอก URL",
    "copied": "คัดลอกแล้ว",
    "openDataset": "เปิดบน Hugging Face",
    "addTitle": "เพิ่มไฟล์นี้ลงในแผนที่",
    "streamTitle": "ค้นหาข้อมูลจากไฟล์ ณ ที่ตั้งเดิม โดยอ่านเฉพาะส่วนที่อยู่ในมุมมอง ไฟล์ทั้งไฟล์จะไม่ถูกคัดลอกเข้า DuckDB เหมาะที่สุดกับไฟล์ขนาดใหญ่",
    "removeTitle": "นำไฟล์นี้ออกจากแผนที่",
    "downloadTitle": "ดาวน์โหลดไฟล์นี้",
    "copyUrlTitle": "คัดลอก URL ของไฟล์นี้",
    "openDatasetTitle": "เปิดหน้าของชุดข้อมูลนี้บน huggingface.co",
    "unsupportedTitle": "GeoLibre ไม่สามารถแสดงผลรูปแบบนี้ได้ — กรุณาดาวน์โหลดแทน",
    "addError": "ไม่สามารถเพิ่มไฟล์นี้ได้: {{message}}",
    "notRasterIndex": "ไฟล์ JSON นี้ไม่ได้จัดทำดัชนีแรสเตอร์ใด ๆ จึงไม่มีอะไรให้แสดงบนแผนที่ ระบบรองรับ MosaicJSON และคอลเลกชัน STAC",
    "largeFileWarning": "ไฟล์นี้มีขนาด {{size}} โดยจะสตรีมจากแหล่งข้อมูล จึงอ่านเฉพาะส่วนที่อยู่ในมุมมองเท่านั้น",
    "streamHint": "ไฟล์นี้มีขนาด {{size}} การกดเพิ่มจะคัดลอกไฟล์เข้าหน่วยความจำ ส่วนการสตรีมจะอ่านเฉพาะส่วนที่อยู่ในมุมมอง",
    "tooLargeToOpen": "ไฟล์นี้มีขนาด {{size}} ซึ่งใหญ่เกินกว่าที่เบราว์เซอร์จะเปิดได้ (ขีดจำกัด {{limit}}) กรุณาดาวน์โหลด หรือใช้ชุดข้อมูลนี้เวอร์ชันที่แบ่งพาร์ทิชันแล้ว",
    "tokenLabel": "โทเค็นการเข้าถึง",
    "tokenHint": "การสร้างที่เก็บชุดข้อมูลและการอัปโหลดไฟล์ต้องใช้โทเค็นการเข้าถึงของ Hugging Face ที่มีสิทธิ์เขียน โทเค็นจะถูกเก็บไว้ในเบราว์เซอร์นี้เท่านั้น และส่งไปยัง huggingface.co เพียงแห่งเดียว",
    "tokenPlaceholder": "hf_…",
    "tokenSave": "บันทึกโทเค็น",
    "tokenClear": "ล้าง",
    "tokenHelp": "ขอรับโทเค็น",
    "tokenChecking": "กำลังตรวจสอบโทเค็น…",
    "tokenError": "ไม่สามารถยืนยันโทเค็นนี้ได้: {{message}}",
    "signedInAs": "ลงชื่อเข้าใช้ในชื่อ {{name}}",
    "readOnlyToken": "โทเค็นนี้เป็นแบบอ่านอย่างเดียว กรุณาสร้างโทเค็นที่มีสิทธิ์เขียนเพื่ออัปโหลด",
    "createHeading": "สร้างที่เก็บชุดข้อมูล",
    "ownerLabel": "เจ้าของ",
    "datasetNameLabel": "ชื่อชุดข้อมูล",
    "datasetNamePlaceholder": "my-geodata",
    "privateLabel": "ส่วนตัว",
    "create": "สร้าง",
    "creating": "กำลังสร้าง…",
    "createdRepo": "สร้าง {{repoId}} แล้ว",
    "createError": "ไม่สามารถสร้างชุดข้อมูลนี้ได้: {{message}}",
    "uploadHeading": "อัปโหลดไฟล์",
    "targetLabel": "ชุดข้อมูล",
    "targetPlaceholder": "owner/dataset",
    "folderLabel": "โฟลเดอร์ (ไม่บังคับ)",
    "folderPlaceholder": "data/",
    "chooseFiles": "เลือกไฟล์",
    "chooseLayer": "เลือกเลเยอร์",
    "chooseLayerTitle": "อัปโหลดฟีเจอร์ของเลเยอร์บนแผนที่เป็นไฟล์ GeoJSON",
    "layerPickerHeading": "อัปโหลดเลเยอร์เป็น GeoJSON",
    "layerFeatures_other": "{{count}} ฟีเจอร์",
    "layerOriginalFile": "ไฟล์ต้นฉบับ",
    "layerUnavailable": "ไม่สามารถอัปโหลด {{name}} ได้อีกต่อไป",
    "remoteRasterNote": "แรสเตอร์ที่โหลดจาก URL จะไม่แสดงในรายการ เนื่องจากข้อมูลไม่ได้อยู่ในเบราว์เซอร์ และมีลิงก์ที่แชร์ได้อยู่แล้ว อัปโหลดได้เฉพาะไฟล์ที่เปิดจากเครื่องเท่านั้น",
    "noUploadableLayers": "ไม่มีเลเยอร์ใดบนแผนที่ที่มีฟีเจอร์ให้อัปโหลดได้ กรุณาเพิ่มเลเยอร์เวกเตอร์ก่อน",
    "clearSelection": "ล้าง",
    "selectedFiles_other": "เลือกไฟล์แล้ว {{count}} ไฟล์ ({{size}})",
    "commitMessageLabel": "ข้อความคอมมิต (ไม่บังคับ)",
    "commitMessagePlaceholder": "อัปโหลดด้วย GeoLibre",
    "upload": "อัปโหลด",
    "uploadPreparing": "กำลังเตรียมการอัปโหลด…",
    "uploadHashing": "กำลังคำนวณแฮชของ {{name}} ({{index}}/{{total}})…",
    "uploadSending": "กำลังอัปโหลด {{name}} ({{index}}/{{total}})…",
    "uploadCommitting": "กำลังคอมมิต…",
    "uploadDone_other": "อัปโหลดแล้ว {{count}} ไฟล์",
    "uploadError": "การอัปโหลดล้มเหลว: {{message}}",
    "fileTooLarge": "{{name}} มีขนาดใหญ่เกินขีดจำกัดการอัปโหลดที่ {{limit}}",
    "selectionTooLarge": "ไฟล์ที่เลือกมีขนาดรวม {{size}} ซึ่งเกินขีดจำกัด {{limit}} ต่อการอัปโหลดหนึ่งครั้ง กรุณาแบ่งอัปโหลดเป็นชุดย่อย",
    "openUploaded": "เปิดชุดข้อมูล",
    "rgbHeading": "ภาพถ่ายหลายแบนด์",
    "rgbHint": "กำหนดว่าแบนด์ใดจะเป็นสีแดง เขียว และน้ำเงิน เมื่อภาพมีตั้งแต่สามแบนด์ขึ้นไป โดยนับเริ่มจาก 1 คุณยังเปลี่ยนเลเยอร์ใดก็ได้ในแผงสไตล์ภายหลัง",
    "bandR": "แดง",
    "bandG": "เขียว",
    "bandB": "น้ำเงิน",
    "colormapHeading": "ภาพถ่ายแบนด์เดียว",
    "colormapHint": "แผนผังสีที่ใช้เมื่อภาพมีแบนด์เดียว",
    "colormapLabel": "แผนผังสี",
    "engineHeading": "เอนจินการแสดงผล",
    "engineHint": "กำหนดว่าตัวแสดงผลใดจะถอดรหัสภาพถ่าย ต่างจากการตั้งค่าด้านบน ค่านี้ไม่ได้แยกตามเลเยอร์ แต่มีผลกับแรสเตอร์ทุกตัวบนแผนที่ รวมถึงที่เพิ่มไปแล้ว",
    "engineLabel": "เอนจิน",
    "engineAuto": "ไม่เปลี่ยนแปลง",
    "engineGpu": "GPU (deck.gl)",
    "engineWasm": "ตัวสร้างไทล์แบบ WebAssembly",
    "engineTitiler": "เซิร์ฟเวอร์ TiTiler",
    "resetDefaults": "คืนค่าเริ่มต้น"
  },
  "basemaps": {
    "confirmStyleReplace_other": "การเปลี่ยนไปใช้ \"{{name}}\" จะแทนที่สไตล์แผนที่ทั้งหมด และจะนำแผนที่ฐานที่คุณซ้อนไว้ {{count}} รายการออก ต้องการดำเนินการต่อหรือไม่?"
  },
  "annotations": {
    "toolbar": "เครื่องมือคำอธิบายประกอบ",
    "layerName": "คำอธิบายประกอบ",
    "elementsPanelTitle": "องค์ประกอบ",
    "tools": {
      "text": "ข้อความ",
      "arrow": "ลูกศร",
      "rectangle": "ไฮไลต์รูปสี่เหลี่ยม",
      "ellipse": "ไฮไลต์รูปวงรี",
      "freehand": "ไฮไลต์แบบวาดอิสระ",
      "pin": "หมุดปักตำแหน่ง",
      "sticky_note": "กระดาษโน้ต",
      "placed_image": "รูปภาพที่วางไว้"
    },
    "color": "สีคำอธิบายประกอบ",
    "width": "ความหนาเส้น",
    "widthOptions": {
      "thin": "บาง",
      "medium": "ปานกลาง",
      "thick": "หนา"
    },
    "deleteLast": "ลบคำอธิบายประกอบล่าสุด",
    "clearAll": "ล้างคำอธิบายประกอบทั้งหมด",
    "textPlaceholder": "พิมพ์ป้ายกำกับ แล้วกด Enter เพื่อวาง",
    "pinTitlePrompt": "ชื่อเรื่อง",
    "pinDescPrompt": "คำอธิบาย",
    "stickyNotePrompt": "เนื้อหาโน้ต",
    "imageUrlPrompt": "URL ของรูปภาพ",
    "cancel": "ยกเลิก",
    "saveElement": "บันทึกองค์ประกอบ",
    "atPoint": "ที่จุด",
    "pinnedToExtent": "ตรึงกับขอบเขต"
  },
  "pythonConsole": {
    "title": "คอนโซล Python",
    "resize": "ปรับขนาดคอนโซล Python",
    "clear": "ล้างผลลัพธ์",
    "collapse": "ย่อคอนโซล Python",
    "expand": "ขยายคอนโซล Python",
    "close": "ปิดคอนโซล Python",
    "run": "เรียกใช้",
    "runHint": "เรียกใช้ (Ctrl/Cmd+Enter)",
    "completions": "การเติมคำอัตโนมัติ",
    "placeholder": "พิมพ์ Python ที่นี่ · Ctrl/Cmd+Enter เพื่อเรียกใช้ · Tab เพื่อเติมคำอัตโนมัติ · ↑/↓ เพื่อดูประวัติ",
    "intro": "คอนโซล Python พร้อมใช้งาน ใช้ออบเจกต์ `geolibre` เพื่อเขียนสคริปต์ควบคุมแผนที่ เช่น geolibre.get_center() กด Tab เพื่อเติมคำอัตโนมัติ ↑/↓ เพื่อเรียกคำสั่งก่อนหน้า และ `await geolibre.load_package(\"numpy\")` เพื่อเพิ่มแพ็กเกจ",
    "loadFailed": "โหลดรันไทม์ Python ไม่สำเร็จ",
    "showEditor": "แสดงตัวแก้ไข",
    "hideEditor": "ซ่อนตัวแก้ไข",
    "resizeEditor": "ปรับขนาดตัวแก้ไข",
    "fileNew": "สคริปต์ใหม่",
    "fileOpen": "เปิดสคริปต์…",
    "fileSave": "บันทึกสคริปต์ (Ctrl/Cmd+S)",
    "fileSaveAs": "บันทึกสคริปต์เป็น…",
    "clearEditor": "ล้างตัวแก้ไข",
    "runScript": "เรียกใช้สคริปต์หรือส่วนที่เลือก (Ctrl/Cmd+Enter)",
    "untitled": "untitled.py",
    "discardChanges": "ทิ้งการเปลี่ยนแปลงที่ยังไม่ได้บันทึกของสคริปต์ปัจจุบันหรือไม่?",
    "editorPlaceholder": "เขียนสคริปต์ Python หลายบรรทัดที่นี่ Ctrl/Cmd+Enter เพื่อเรียกใช้ (หรือเฉพาะส่วนที่เลือก) ในคอนโซล Tab เพื่อเยื้อง Ctrl+Space เพื่อเติมคำอัตโนมัติ"
  },
  "notebook": {
    "title": "โน้ตบุ๊ก",
    "resize": "ปรับขนาดแผงโน้ตบุ๊ก",
    "collapse": "ย่อโน้ตบุ๊ก",
    "expand": "ขยายโน้ตบุ๊ก",
    "close": "ปิดโน้ตบุ๊ก",
    "copyServerUrl": "คัดลอก URL ของเซิร์ฟเวอร์สำหรับไคลเอนต์ภายนอก (VS Code ฯลฯ)",
    "serverUrlCopied": "คัดลอก URL ของเซิร์ฟเวอร์แล้ว",
    "loading": "กำลังโหลดโน้ตบุ๊ก…",
    "loadFailed": "โหลดโน้ตบุ๊กไม่สำเร็จ"
  },
  "dashboard": {
    "title": "แดชบอร์ด",
    "resize": "ปรับขนาดแผงแดชบอร์ด",
    "collapse": "ย่อแดชบอร์ด",
    "expand": "ขยายแดชบอร์ด",
    "close": "ปิดแดชบอร์ด",
    "columns": "คอลัมน์",
    "addWidget": "เพิ่มวิดเจ็ต",
    "widgetCount_other": "{{count}} วิดเจ็ต",
    "empty": "ยังไม่มีวิดเจ็ต เพิ่มแผนภูมิเพื่อสรุปข้อมูลของเลเยอร์",
    "emptyNoLayers": "ไม่พบเลเยอร์ที่ใช้งานร่วมกันได้ กรุณาเพิ่มเลเยอร์เวกเตอร์หรือเลเยอร์คำสั่งค้นหา DuckDB ลงในโปรเจกต์ผ่านเมนูเพิ่มข้อมูลด้านบน แล้วกลับมาที่นี่เพื่อเริ่มสร้างแผนภูมิ",
    "noLayersHint": "กรุณาเพิ่มเลเยอร์เวกเตอร์หรือเลเยอร์คำสั่งค้นหา DuckDB ก่อน",
    "layerMissing": "ไม่พบเลเยอร์",
    "noData": "เลเยอร์นี้ไม่มีแอตทริบิวต์ที่นำมาสร้างแผนภูมิได้",
    "selectorMatches_other": "{{count}} จาก {{total}} ฟีเจอร์",
    "selectorClear": "ล้าง",
    "moveBack": "ย้ายถอยหลัง",
    "moveForward": "ย้ายไปข้างหน้า",
    "editWidget": "แก้ไขวิดเจ็ต",
    "removeWidget": "นำวิดเจ็ตออก",
    "chartType": {
      "histogram": "ฮิสโทแกรม",
      "scatter": "แผนภาพการกระจาย",
      "bar": "แท่ง",
      "line": "เส้น",
      "box": "แผนภาพกล่อง",
      "pie": "วงกลม",
      "indicator": "ตัวชี้วัด",
      "selector": "ตัวเลือก",
      "list": "รายการ"
    },
    "aggregate": {
      "count": "นับจำนวน",
      "sum": "ผลรวม",
      "mean": "ค่าเฉลี่ย"
    },
    "indicatorAggregation": {
      "count": "นับจำนวน",
      "sum": "ผลรวม",
      "mean": "ค่าเฉลี่ย",
      "min": "ค่าต่ำสุด",
      "max": "ค่าสูงสุด",
      "median": "ค่ามัธยฐาน"
    },
    "chart": {
      "emptyNumeric": "ไม่มีค่าตัวเลขให้พล็อต",
      "emptyScatter": "ไม่มีแถวใดที่มีค่าเป็นตัวเลขครบทั้งสองฟิลด์",
      "emptyBar": "ไม่มีแถวให้จัดกลุ่ม",
      "emptyPie": "ไม่มีค่าบวกให้สร้างแผนภูมิ",
      "pieCaptionCount_other": "จำนวนแถว · {{count}} หมวดหมู่",
      "pieCaptionSum_other": "ผลรวม · {{count}} หมวดหมู่"
    },
    "editor": {
      "addTitle": "เพิ่มวิดเจ็ต",
      "editTitle": "แก้ไขวิดเจ็ต",
      "description": "เลือกเลเยอร์ ชนิดแผนภูมิ และฟิลด์ที่จะพล็อต",
      "noLayers": "ไม่มีเลเยอร์ที่สร้างแผนภูมิได้ กรุณาเพิ่มเลเยอร์เวกเตอร์หรือเลเยอร์คำสั่งค้นหา DuckDB ก่อน",
      "noFields": "เลเยอร์นี้ไม่มีฟิลด์แบบตัวเลขหรือแบบหมวดหมู่ให้สร้างแผนภูมิ",
      "layer": "เลเยอร์",
      "chartType": "ชนิดแผนภูมิ",
      "field": "ฟิลด์",
      "bins": "จำนวนช่วง",
      "xAxis": "แกน X",
      "yAxis": "แกน Y",
      "category": "หมวดหมู่",
      "aggregate": "การรวมค่า",
      "value": "ค่า",
      "prefix": "คำนำหน้า",
      "suffix": "คำต่อท้าย",
      "multiSelect": "อนุญาตให้เลือกได้หลายรายการ",
      "listColumns": "คอลัมน์",
      "sortBy": "เรียงตาม",
      "sortDir": "ทิศทาง",
      "ascending": "จากน้อยไปมาก",
      "descending": "จากมากไปน้อย",
      "limit": "จำกัดจำนวนแถว",
      "titleLabel": "ชื่อเรื่อง",
      "titlePlaceholder": "ชื่อเรื่อง (ไม่บังคับ)",
      "color": "สี",
      "colorReset": "รีเซ็ต",
      "colorDefault": "สีเริ่มต้นของแผนภูมิ",
      "cancel": "ยกเลิก",
      "save": "บันทึก"
    }
  },
  "assistant": {
    "title": "ผู้ช่วย AI",
    "resize": "ปรับขนาดแผงผู้ช่วย",
    "clear": "ล้างบทสนทนา",
    "close": "ปิดผู้ช่วย",
    "send": "ส่ง",
    "sendHint": "ส่ง (Ctrl/Cmd+Enter)",
    "stop": "หยุด",
    "placeholder": "ถามเกี่ยวกับข้อมูลของคุณ เช่น \"แสดงประเทศที่มีประชากรมากกว่า 50 ล้านคน\" · Ctrl/Cmd+Enter เพื่อส่ง",
    "intro": "สนทนากับข้อมูลของคุณ ฉันสามารถเรียกใช้ Spatial SQL เพิ่มหรือนำเลเยอร์ออก ปรับสไตล์ และเลื่อนแผนที่ได้ ทุกการเปลี่ยนแปลงเลิกทำได้ ลองพิมพ์ \"ระบายสีประเทศตามจำนวนประชากรด้วยไล่เฉดสีแดง\"",
    "setupTitle": "ตั้งค่าผู้ช่วย AI",
    "setupStatus": "ผู้ช่วยต้องใช้ผู้ให้บริการ AI ในการประมวลผล กรุณาเพิ่มข้อมูลรับรองของผู้ให้บริการรายใดรายหนึ่งด้านล่าง แล้วแผงนี้จะเปลี่ยนเป็นโหมดสนทนาทันทีที่คุณบันทึก",
    "setupProviders": "เพิ่มข้อมูลรับรองของผู้ให้บริการรายใดรายหนึ่ง",
    "setupOpenSettings": "เปิด ตั้งค่า → ผู้ให้บริการ AI",
    "thinking": "กำลังทำงาน…",
    "toolError": "ล้มเหลว",
    "provider": "ผู้ให้บริการ LLM",
    "profile": "โปรไฟล์ AI",
    "deploymentProxy": "พร็อกซีของการติดตั้งใช้งาน",
    "model": "โมเดล",
    "codeApprovalTitle": "เรียกใช้โค้ดจากผู้ช่วยหรือไม่?",
    "codeApprovalBody": "ผู้ช่วยต้องการเรียกใช้โค้ด {{language}} ในแอป กรุณาตรวจสอบก่อน เนื่องจากโค้ดสามารถเปลี่ยนแปลงแผนที่และเข้าถึงข้อมูลของแอปได้",
    "codeApprovalAlways": "อนุญาตโค้ดจากผู้ช่วยตลอดเซสชันนี้",
    "codeApprovalRun": "เรียกใช้",
    "codeApprovalDecline": "ยกเลิก"
  },
  "storymap": {
    "title": "แผนที่เล่าเรื่อง",
    "description": "สร้างเรื่องราวที่ขับเคลื่อนด้วยการเลื่อนหน้าจอจากบทต่าง ๆ ของแผนที่ แต่ละบทจะบันทึกมุมมองกล้องและข้อความไว้",
    "chapters": "บท ({{count}})",
    "addChapter": "เพิ่มบท",
    "empty": "ยังไม่มีบท เลื่อนแผนที่ไปยังตำแหน่งที่ต้องการ แล้วเพิ่มบทเพื่อบันทึกมุมมองปัจจุบัน",
    "defaultChapterTitle": "บทที่ {{index}}",
    "untitledChapter": "บทที่ไม่มีชื่อ",
    "present": "นำเสนอ",
    "exportHtml": "ส่งออก HTML",
    "exitPresentation": "ออก",
    "preview": "บินไปยังบทนี้",
    "captureView": "ตั้งเป็นมุมมองปัจจุบัน",
    "composeOnMap": "จัดองค์ประกอบบนแผนที่",
    "resizeDialog": "ปรับขนาดกล่องโต้ตอบ",
    "composeMode": {
      "title": "กำลังจัดองค์ประกอบของบท",
      "hint": "เลื่อน ซูม และเอียงแผนที่ แล้วบันทึกมุมมองลงในบทนี้",
      "save": "บันทึกมุมมองแล้วกลับไปที่แผนที่เล่าเรื่อง",
      "cancel": "ยกเลิก",
      "waiting": "กรุณารอให้แผนที่เคลื่อนที่เสร็จ"
    },
    "moveUp": "เลื่อนขึ้น",
    "moveDown": "เลื่อนลง",
    "onEnter": "เมื่อเข้าสู่บท",
    "onExit": "เมื่อออกจากบท",
    "addEffect": "เพิ่มเอฟเฟกต์ของเลเยอร์",
    "field": {
      "title": "ชื่อเรื่อง",
      "subtitle": "ชื่อเรื่องรอง",
      "byline": "ชื่อผู้จัดทำ",
      "footer": "ส่วนท้าย",
      "theme": "ธีมของแผง",
      "showMarkers": "แสดงเครื่องหมาย",
      "markerColor": "สีของเครื่องหมาย",
      "inset": "แผนที่ย่อแบบแทรก",
      "hideChapterNav": "ซ่อนรายการบท",
      "startView": "เปิดใช้มุมมองเริ่มต้น",
      "closingSlide": "เปิดใช้สไลด์ปิดท้าย",
      "chapterTitle": "ชื่อบท",
      "description": "คำอธิบาย (ใส่ HTML ได้)",
      "image": "URL ของรูปภาพ",
      "alignment": "การจัดแนวของแผง",
      "animation": "แอนิเมชันของแผนที่",
      "hidden": "ซ่อนแผง",
      "rotate": "หมุนกล้อง",
      "imagePlaceholder": "https://example.com/image.jpg"
    },
    "theme": {
      "dark": "มืด",
      "light": "สว่าง"
    },
    "align": {
      "left": "ชิดซ้าย",
      "center": "กึ่งกลาง",
      "right": "ชิดขวา",
      "full": "เต็มความกว้าง"
    },
    "inset": {
      "topLeft": "บนซ้าย",
      "topRight": "บนขวา",
      "bottomLeft": "ล่างซ้าย",
      "bottomRight": "ล่างขวา"
    },
    "slide": {
      "blank": "หน้าจอว่าง",
      "black": "หน้าจอสีดำ",
      "global": "มุมมองทั้งโลก",
      "startAdjacent": "ตัวอย่างของบทแรก",
      "endAdjacent": "ค้างไว้ที่บทสุดท้าย"
    },
    "loadSample": "โหลดเรื่องราวตัวอย่าง",
    "htmlFile": "HTML",
    "handout": {
      "button": "เอกสารประกอบ (PDF)",
      "title": "ตัวสร้างเอกสารประกอบ PDF",
      "description": "ส่งออกมุมมองของบทที่เลือกเป็นเอกสารประกอบ PDF แบบหลายหน้า",
      "screens": "หน้าจอ ({{count}}/{{total}})",
      "selectAll": "เลือกทั้งหมด",
      "selectNone": "ไม่เลือกเลย",
      "paperSize": "ขนาดกระดาษ",
      "orientation": "การวางแนว",
      "portrait": "แนวตั้ง",
      "landscape": "แนวนอน",
      "documentTitle": "ชื่อเอกสาร",
      "documentTitlePlaceholder": "ชื่อที่แสดงด้านบนของทุกหน้า",
      "subtitle": "ชื่อเรื่องรอง",
      "subtitlePlaceholder": "ชื่อเรื่องรองที่แสดงใต้ชื่อเรื่องในทุกหน้า",
      "byline": "ชื่อผู้จัดทำ",
      "bylinePlaceholder": "ผู้จัดทำหรือข้อความให้เครดิต",
      "footerText": "ข้อความส่วนท้าย",
      "footerPlaceholder": "ส่วนท้ายที่แสดงด้านล่างของทุกหน้า",
      "startSlide": "สไลด์เริ่มต้น",
      "endSlide": "สไลด์ปิดท้าย",
      "generate": "สร้าง PDF",
      "stop": "หยุด",
      "cancelled": "ยกเลิกการส่งออกแล้ว",
      "progress": "กำลังจับภาพมุมมองที่ {{current}} จาก {{total}}…",
      "pdfFile": "เอกสาร PDF",
      "noMap": "แผนที่ยังไม่พร้อม กรุณาลองใหม่อีกสักครู่",
      "noneSelected": "กรุณาเลือกหน้าจออย่างน้อยหนึ่งหน้าเพื่อส่งออก"
    },
    "opacityLabel": "ความทึบ",
    "toggleNav": "เปิด/ปิดรายการบท",
    "chapterNav": "บทของเรื่องราว",
    "durationLabel": "ระยะเวลาเปลี่ยนภาพ (มิลลิวินาที)",
    "dragHint": "ลากเพื่อย้าย (ดับเบิลคลิกเพื่อรีเซ็ต)",
    "resizeHint": "ลากเพื่อปรับขนาด",
    "import": "นำเข้า",
    "importJson": "นำเข้า JSON…",
    "importCsv": "นำเข้า CSV…",
    "exportData": "ส่งออก",
    "exportJson": "ส่งออก JSON",
    "exportCsv": "ส่งออก CSV",
    "reset": "รีเซ็ต",
    "resetTitle": "ล้างเรื่องราวแล้วเริ่มใหม่",
    "resetConfirm": "ล้างแผนที่เล่าเรื่องนี้หรือไม่? บทและการตั้งค่าทั้งหมดจะถูกลบออกเพื่อให้คุณเริ่มสร้างของตัวเองใหม่"
  },
  "network": {
    "title": "การวิเคราะห์โครงข่าย",
    "description": "ไอโซโครน พื้นที่ให้บริการ และเมทริกซ์ต้นทุนต้นทาง–ปลายทางจากเลเยอร์จุดของคุณ",
    "heading": "โครงข่าย",
    "run": "เรียกใช้",
    "outputPlaceholder": "ผลลัพธ์จะแสดงที่นี่",
    "endpointNotice": "พิกัดของจุดจะถูกส่งไปยังเซิร์ฟเวอร์ค้นหาเส้นทาง ({{endpoint}}) ค่าเริ่มต้นคือเซิร์ฟเวอร์ Valhalla สาธารณะที่ใช้ร่วมกัน (FOSSGIS) ซึ่งมีการจำกัดอัตราการใช้งาน หากใช้งานหนัก กรุณาป้อน URL ของเซิร์ฟเวอร์ของคุณเองในช่อง \"เซิร์ฟเวอร์ค้นหาเส้นทาง (Valhalla)\" ด้านบน"
  },
  "statistics": {
    "title": "สถิติเชิงพื้นที่",
    "description": "สหสัมพันธ์เชิงพื้นที่ การวิเคราะห์จุดร้อน และการวัดความหนาแน่น ทุกเครื่องมือทำงานฝั่งไคลเอนต์บนเลเยอร์ GeoJSON ของคุณ",
    "heading": "สถิติเชิงพื้นที่",
    "run": "เรียกใช้",
    "requiredFieldLegend": "หมายถึงฟิลด์ที่จำเป็นต้องกรอก",
    "outputPlaceholder": "ผลลัพธ์จะแสดงที่นี่"
  },
  "processing": {
    "filePicker": {
      "filePath": "พาธของไฟล์",
      "chooseFile": "เลือกไฟล์",
      "chooseFilePlaceholder": "เลือกไฟล์",
      "chooseInputFile": "เลือกไฟล์นำเข้า",
      "chooseOutputFile": "เลือกไฟล์ผลลัพธ์"
    },
    "searchTools": "ค้นหาเครื่องมือ",
    "refreshCatalog": "รีเฟรชแคตตาล็อก",
    "increaseValue": "เพิ่มค่า",
    "decreaseValue": "ลดค่า",
    "distance": {
      "unitLabel": "หน่วยระยะทาง",
      "units": {
        "degrees": "องศา",
        "meters": "เมตร",
        "kilometers": "กิโลเมตร",
        "feet": "ฟุต",
        "miles": "ไมล์"
      },
      "north": "{{latitude}}°N",
      "south": "{{latitude}}°S",
      "equator": "เส้นศูนย์สูตร",
      "geographicNote": "เลเยอร์ที่เลือกใช้ระบบพิกัดภูมิศาสตร์ (WGS84) ระยะทางจึงมีหน่วยเป็นองศา คุณเลือกหน่วยข้างช่องระยะทางเพื่อป้อนเป็นเมตรแทนได้ หรือฉายพิกัดใหม่เป็นระบบพิกัดแบบฉายเพื่อผลลัพธ์ที่แม่นยำ",
      "converted": "ส่งให้เครื่องมือเป็น {{degrees}}° โดยแปลงที่ {{latitude}} ค่าหนึ่งองศาแปรผันตามละติจูดและทิศทาง ผลลัพธ์จึงเป็นค่าโดยประมาณ",
      "convertedEmpty": "ค่าต่าง ๆ จะถูกแปลงเป็นองศาที่ {{latitude}} ค่าหนึ่งองศาแปรผันตามละติจูดและทิศทาง ผลลัพธ์จึงเป็นค่าโดยประมาณ",
      "notANumber": "ไม่ใช่ตัวเลข จึงส่งให้เครื่องมือตามที่พิมพ์โดยไม่แปลงค่า กรุณาใช้เลขทศนิยมธรรมดา เช่น 12000 หรือ 1.5"
    },
    "history": {
      "title": "ประวัติการประมวลผล",
      "description": "การประมวลผลทุกครั้งในโปรเจกต์นี้ เรียงจากใหม่ไปเก่า คุณสามารถเรียกใช้เครื่องมือซ้ำ เปิดขึ้นมาพร้อมพารามิเตอร์เดิม หรือคัดลอกการทำงานเป็น JSON หรือ Python ได้",
      "empty": "ยังไม่มีบันทึกการประมวลผล เรียกใช้เครื่องมือจากเมนูประมวลผลแล้วรายการจะปรากฏที่นี่",
      "rerun": "เรียกใช้ซ้ำ",
      "editRerun": "แก้ไขแล้วเรียกใช้ซ้ำ",
      "copyJson": "คัดลอก JSON",
      "copyPython": "คัดลอก Python",
      "copied": "คัดลอกแล้ว",
      "clear": "ล้างประวัติ",
      "count_other": "บันทึกการประมวลผลไว้ {{count}} ครั้ง",
      "toolUnavailable": "ไม่มีเครื่องมือ \"{{toolId}}\" ให้ใช้งานแล้ว"
    },
    "modelBuilder": {
      "moveStepUp": "เลื่อนขั้นตอนขึ้น",
      "moveStepDown": "เลื่อนขั้นตอนลง",
      "removeStep": "นำขั้นตอนออก",
      "title": "งานแบบชุดและโมเดล",
      "description": "เรียกใช้เครื่องมือเวกเตอร์กับหลายเลเยอร์พร้อมกัน หรือเชื่อมโยงเครื่องมือหลายตัวเป็นโมเดลที่นำกลับมาใช้ใหม่ได้และบันทึกไว้กับโปรเจกต์ของคุณ",
      "tabBatch": "งานแบบชุด",
      "tabModels": "โมเดล",
      "outputPlaceholder": "ผลลัพธ์จะแสดงที่นี่",
      "tool": "เครื่องมือ",
      "sharedParameters": "พารามิเตอร์ที่ใช้ร่วมกัน",
      "noExtraParameters": "เครื่องมือนี้ไม่มีพารามิเตอร์เพิ่มเติม",
      "inputLayers": "เลเยอร์นำเข้า",
      "selectAll": "เลือกทั้งหมด",
      "clearSelection": "ล้าง",
      "noCompatibleLayers": "ไม่มีเลเยอร์ GeoJSON ที่ใช้งานร่วมกันได้",
      "newModel": "โมเดลใหม่",
      "noSavedModels": "ยังไม่มีโมเดลที่บันทึกไว้",
      "untitledModel": "โมเดลไม่มีชื่อ",
      "modelName": "ชื่อโมเดล",
      "emptyPipelineHint": "เพิ่มขั้นตอนเพื่อเริ่มสร้างไปป์ไลน์ ขั้นตอนแรกจะอ่านเลเยอร์นำเข้า ส่วนขั้นตอนถัดไปจะรับผลลัพธ์จากขั้นตอนก่อนหน้า",
      "addStep": "เพิ่มขั้นตอน",
      "runModel": "เรียกใช้โมเดล",
      "deleteModel": "ลบ",
      "inputPreviousStep": "ข้อมูลนำเข้า: ← ผลลัพธ์จากขั้นตอนก่อนหน้า",
      "unknownTool": "ไม่รู้จักเครื่องมือ \"{{id}}\"",
      "noParameters": "ไม่มีพารามิเตอร์"
    },
    "parameterField": {
      "selectLayer": "เลือกเลเยอร์...",
      "selectField": "เลือกฟิลด์...",
      "selectLayerFirst": "เลือกเลเยอร์ก่อน"
    },
    "whitebox": {
      "run": "เรียกใช้",
      "running": "กำลังทำงาน…",
      "runLocal": "เรียกใช้ในเครื่อง (WASM)",
      "runLocalHint": "เรียกใช้ในเครื่องด้วย WebAssembly (ไม่ต้องใช้ Python sidecar)",
      "runningLocally": "กำลังทำงานในเครื่องด้วย WebAssembly โดยไม่ต้องใช้ sidecar",
      "copyLink": "คัดลอกลิงก์",
      "copyLinkCopied": "คัดลอกแล้ว!",
      "copyLinkHint": "คัดลอกลิงก์สำหรับแชร์ที่จะเปิดเครื่องมือนี้พร้อมการตั้งค่าปัจจุบัน",
      "copyLinkFailed": "ไม่สามารถคัดลอกลิงก์ไปยังคลิปบอร์ดได้",
      "catalogSnapshotError": "ไม่สามารถโหลดสแนปช็อตแคตตาล็อกของ Whitebox ได้",
      "localRunnerError": "ไม่สามารถโหลดตัวเรียกใช้เครื่องมือในเครื่อง (WASM) ได้ กรุณารีเฟรชแล้วลองใหม่ หรือใช้ sidecar หากมีให้ใช้งาน",
      "output": {
        "geojson": "GeoJSON (เพิ่มลงแผนที่)",
        "geoparquet": "GeoParquet (ดาวน์โหลด คงระบบพิกัดไว้)",
        "flatgeobuf": "FlatGeobuf (ดาวน์โหลด คงระบบพิกัดไว้)",
        "shapefile": "Shapefile (ดาวน์โหลด คงระบบพิกัดไว้)",
        "projectedHint": "บันทึกไปยังโฟลเดอร์ดาวน์โหลดของคุณในระบบพิกัดปลายทาง แผนที่แสดงผลได้เฉพาะ EPSG:4326 ผลลัพธ์ที่ผ่านการฉายจึงไม่ถูกเพิ่มเป็นเลเยอร์"
      },
      "filterBySource": "กรองตามแหล่งที่มา",
      "allSources": "ทุกแหล่งที่มา",
      "geolibreTools": "เครื่องมือของ GeoLibre",
      "whiteboxTools": "เครื่องมือของ Whitebox",
      "toolbox": "กล่องเครื่องมือ Whitebox",
      "checkingRuntime": "กำลังตรวจสอบรันไทม์",
      "toolsAvailable_other": "มีเครื่องมือให้ใช้งาน {{count}} รายการ",
      "runtimeUnavailable": "ไม่สามารถใช้รันไทม์ของ Whitebox ได้",
      "useMapExtent": "ใช้ขอบเขตแผนที่",
      "fromLayer": "จากเลเยอร์",
      "drawBbox": "วาดบนแผนที่",
      "drawingBbox": "กำลังวาด…",
      "drawBboxHint": "ลากกรอบบนแผนที่เพื่อกำหนดกรอบขอบเขต กด Esc เพื่อยกเลิก",
      "mapExtentPlaceholder": "minX,minY,maxX,maxY",
      "mapExtentUnavailable": "ยังไม่มีข้อมูลมุมมองแผนที่ กรุณารอให้แผนที่โหลดเสร็จแล้วลองใหม่",
      "mapExtentInvalid": "ไม่สามารถใช้มุมมองแผนที่ปัจจุบันเป็นกรอบขอบเขตได้ เนื่องจากคร่อมเส้นเมริเดียน 180° หรือเกินขอบเขตลองจิจูด/ละติจูดที่ใช้ได้ กรุณาปรับมุมมองแล้วลองใหม่",
      "extentLabel": "พื้นที่ที่สนใจ",
      "extentNorth": "เหนือ",
      "extentSouth": "ใต้",
      "extentWest": "ตะวันตก",
      "extentEast": "ตะวันออก",
      "extentHint": "ใช้กรอบจากมุมมองแผนที่ปัจจุบัน หรือลากกรอบบนแผนที่ แทนการพิมพ์ค่าขอบเขตทีละด้าน พิกัดจะถูกกรอกเป็น WGS84 (EPSG:4326)",
      "noToolSelected": "ยังไม่ได้เลือกเครื่องมือ",
      "optionDefault": "ค่าเริ่มต้น",
      "optionPath": "พาธ",
      "selectedLayer": "เลเยอร์ที่เลือก",
      "filePath": "พาธของไฟล์",
      "auto": "อัตโนมัติ",
      "chooseOutputPath": "เลือกพาธของผลลัพธ์",
      "chooseInputPath": "เลือกพาธของข้อมูลนำเข้า",
      "categoryGeneral": "ทั่วไป",
      "categoryAll": "ทั้งหมด ({{total}})",
      "errorLoadSnapshot": "ไม่สามารถโหลดสแนปช็อตแคตตาล็อกของ Whitebox ได้",
      "errorLoadLive": "ไม่สามารถโหลดแคตตาล็อกแบบสดได้",
      "errorConnect": "ไม่สามารถเชื่อมต่อกับ sidecar ได้",
      "errorPoll": "ไม่สามารถตรวจสอบสถานะงานได้",
      "errorStartTool": "ไม่สามารถเริ่มเครื่องมือ Whitebox ได้",
      "errorStartSidecar": "ไม่สามารถเริ่ม GeoLibre sidecar ได้",
      "errorStopSidecar": "ไม่สามารถหยุด GeoLibre sidecar ได้",
      "noToolsFound": "ไม่พบเครื่องมือ",
      "noParameters": "เครื่องมือนี้ไม่มีพารามิเตอร์",
      "noOutput": "ยังไม่มีผลลัพธ์",
      "enabled": "เปิดใช้งาน",
      "requiredSuffix": " | จำเป็น",
      "selectField": "เลือกฟิลด์",
      "fieldName": "ชื่อฟิลด์",
      "crs": {
        "browse": "เรียกดู",
        "codePlaceholder": "รหัส EPSG",
        "searchLabel": "ค้นหาระบบพิกัดอ้างอิง",
        "searchPlaceholder": "ค้นหาด้วยชื่อหรือรหัส EPSG",
        "geographic": "ภูมิศาสตร์",
        "projected": "แบบฉาย",
        "noResults": "ไม่พบระบบพิกัดที่ตรงกัน แต่คุณยังพิมพ์รหัส EPSG ใดก็ได้"
      },
      "vectorUnitsNote": "เลเยอร์เวกเตอร์ถูกอ่านเป็น WGS84 ค่าระยะทาง ระยะห่าง และค่าความคลาดเคลื่อนจึงมีหน่วยเป็นองศา ไม่ใช่เมตร โดย 1° มีค่าประมาณ 111 km และ 0.001° มีค่าประมาณ 111 m"
    },
    "sidecar": {
      "unavailableTitle": "ไม่สามารถใช้เซิร์ฟเวอร์ประมวลผลได้",
      "showHelp": "ดูว่าข้อความนี้หมายถึงอะไรและแก้ไขอย่างไร",
      "hideHelp": "ซ่อนรายละเอียด",
      "intro": "เซิร์ฟเวอร์ประมวลผลเป็นตัวช่วยในเครื่องที่ไม่บังคับ ({{sidecarUrl}}) ซึ่งเรียกใช้เครื่องมือที่ทำงานหนักด้วย Python เบื้องหลัง แยกจากตัวแอป เครื่องมือ Whitebox ส่วนใหญ่ไม่จำเป็นต้องใช้ เพราะทำงานในเบราว์เซอร์ของคุณด้วย WebAssembly ได้ทั้งหมด",
      "wasmTipTitle": "ใช้งานโดยไม่ต้องมีเซิร์ฟเวอร์",
      "wasmTip": "เปิด \"เรียกใช้ในเครื่อง (WASM)\" เพื่อเรียกใช้เครื่องมือ Whitebox ในเบราว์เซอร์ของคุณ โดยไม่ต้องใช้เซิร์ฟเวอร์ ไม่ต้องติดตั้ง และไม่ต้องตั้งค่าใด ๆ",
      "runLocallyButton": "เรียกใช้ในเครื่อง (WASM)",
      "troubleshootingTitle": "ยังต้องการใช้เซิร์ฟเวอร์อยู่หรือไม่?",
      "stepStartServerDesktop": "คลิก \"เริ่มเซิร์ฟเวอร์\" ในแผงรายการเครื่องมือเพื่อเปิดใช้งาน แล้วรอสักครู่ให้เซิร์ฟเวอร์พร้อมทำงาน",
      "stepStartServerBrowser": "เซิร์ฟเวอร์เริ่มได้จากแอปเดสก์ท็อป GeoLibre เท่านั้น หากใช้งานผ่านเบราว์เซอร์ กรุณาเปิด \"เรียกใช้ในเครื่อง (WASM)\" ไว้แทน",
      "stepCheckPort": "ตรวจสอบว่าไฟร์วอลล์ โปรแกรมป้องกันไวรัส หรือนโยบายเครือข่ายไม่ได้บล็อกพอร์ต {{port}} ในเครื่อง",
      "stepRestart": "หากเซิร์ฟเวอร์หยุดทำงานโดยไม่คาดคิด กรุณาเริ่มแอปเดสก์ท็อป GeoLibre ใหม่แล้วเปิดกล่องโต้ตอบนี้อีกครั้ง"
    },
    "vectorTools": {
      "title": "เครื่องมือเวกเตอร์",
      "description": "เรียกใช้การดำเนินการทางเรขาคณิตเวกเตอร์ที่ใช้บ่อยกับเลเยอร์ GeoJSON ของคุณ",
      "engine": "เอนจิน",
      "engineClient": "ฝั่งไคลเอนต์ (Turf.js)",
      "engineSidecar": "Sidecar (GeoPandas)",
      "enginePyodide": "Python (Pyodide)",
      "checkingSidecar": "กำลังตรวจสอบว่ามี sidecar ให้ใช้งานหรือไม่...",
      "sidecarUnavailableClient": "ไม่สามารถใช้ sidecar ของ GeoPandas ได้ กรุณาเริ่ม sidecar พร้อมส่วนเสริม vector หรือสลับไปใช้เอนจินฝั่งไคลเอนต์",
      "sidecarUnavailablePyodide": "ไม่สามารถใช้ sidecar ของ GeoPandas ได้ กรุณาเริ่ม sidecar พร้อมส่วนเสริม vector หรือสลับไปใช้ Python (Pyodide)",
      "pyodideNote": "เรียกใช้ GeoPandas ในเบราว์เซอร์ของคุณ การเรียกใช้ครั้งแรกจะดาวน์โหลดรันไทม์ Python (ครั้งเดียว และต้องเชื่อมต่ออินเทอร์เน็ต)",
      "run": "เรียกใช้",
      "outputPlaceholder": "ผลลัพธ์จะแสดงที่นี่",
      "resolutionRange": "ความละเอียด (0-{{max}})"
    }
  },
  "segmentation": {
    "title": "การแบ่งส่วนภาพด้วย AI",
    "description": "แปลงภาพถ่ายเป็นฟีเจอร์เวกเตอร์ด้วย SAM3 (segment-geospatial) เลือกไฟล์ GeoTIFF อธิบายสิ่งที่ต้องการแบ่งส่วน แล้วรับผลลัพธ์เป็นรูปหลายเหลี่ยมในเลเยอร์ใหม่",
    "startServer": "เริ่มเซิร์ฟเวอร์",
    "downloadDesktop": "ดาวน์โหลดแอปเดสก์ท็อป",
    "imageLabel": "ภาพ (GeoTIFF)",
    "imagePlaceholder": "เลือกไฟล์ GeoTIFF…",
    "chooseImage": "เลือกภาพ",
    "modeLabel": "โหมด",
    "modeText": "คำสั่งแบบข้อความ",
    "modeAutomatic": "อัตโนมัติ (ทุกวัตถุ)",
    "promptLabel": "คำสั่ง",
    "promptPlaceholder": "เช่น ต้นไม้ อาคาร แหล่งน้ำ",
    "confidenceLabel": "เกณฑ์ความเชื่อมั่น",
    "segment": "แบ่งส่วน",
    "status": {
      "checking": "กำลังตรวจสอบบริการแบ่งส่วนภาพด้วย AI…",
      "unavailableDesktop": "บริการแบ่งส่วนภาพด้วย AI ยังไม่ทำงาน กรุณาเริ่มเซิร์ฟเวอร์ GeoLibre โดยเปิดใช้งาน segment-geospatial เพื่อใช้บริการนี้",
      "unavailableWeb": "การแบ่งส่วนภาพด้วย AI ใช้งานในเบราว์เซอร์ไม่ได้ กรุณาใช้แอปเดสก์ท็อป GeoLibre"
    },
    "error": {
      "chooseImage": "เลือกภาพ (GeoTIFF) ที่ต้องการแบ่งส่วน",
      "enterPrompt": "ป้อนคำสั่งแบบข้อความ เช่น “ต้นไม้” หรือ “อาคาร”",
      "startServer": "ไม่สามารถเริ่ม GeoLibre sidecar ได้",
      "failed": "การแบ่งส่วนภาพล้มเหลว"
    },
    "noObjects": "ไม่พบวัตถุ",
    "added": "เพิ่ม {{count}} ฟีเจอร์ในชื่อ “{{name}}” แล้ว",
    "layerName": "การแบ่งส่วน: {{prompt}}",
    "layerNameDefault": "การแบ่งส่วนภาพ",
    "sidecar": {
      "title": "ไม่สามารถเริ่มเซิร์ฟเวอร์แบ่งส่วนภาพด้วย AI ได้",
      "intro": "การแบ่งส่วนภาพด้วย AI ทำงานในเซิร์ฟเวอร์ผู้ช่วยในเครื่อง ({{sidecarUrl}}) ซึ่งให้บริการโมเดล SAM3 จาก segment-geospatial โดยเรียกใช้ Python อยู่เบื้องหลังแยกจากตัวแอป และไม่ได้รวมอยู่ในบิลด์สำหรับเบราว์เซอร์",
      "troubleshootingTitle": "วิธีทำให้เซิร์ฟเวอร์ทำงาน",
      "stepInstall": "ตรวจสอบว่าติดตั้งเซิร์ฟเวอร์ GeoLibre โดยเปิดใช้งานแบ็กเอนด์ segment-geospatial แล้ว เพื่อให้มีโมเดลแบ่งส่วนภาพพร้อมใช้งาน",
      "stepStartServerDesktop": "คลิก \"เริ่มเซิร์ฟเวอร์\" ด้านบนเพื่อเปิดใช้งาน แล้วรอสักครู่ให้โมเดลพร้อมทำงาน"
    }
  },
  "objectDetection": {
    "title": "การตรวจจับวัตถุ",
    "description": "เรียกใช้โมเดล YOLO ที่ส่งออกเป็น ONNX กับไฟล์ GeoTIFF หรือรูปภาพที่มีพิกัดภูมิศาสตร์ ทำงานในเบราว์เซอร์ทั้งหมด วัตถุแต่ละประเภทที่ตรวจพบจะถูกเพิ่มเป็นเลเยอร์ของตัวเอง",
    "hint": "ใช้โมเดล COCO ในตัว (ดาวน์โหลดและแคชไว้ครั้งเดียว) หรือใช้โมเดล ONNX ของ YOLOv5/v8/v11 ของคุณเอง ผลการตรวจจับจาก GeoTIFF จะกลายเป็นกรอบที่อ้างอิงพิกัดภูมิศาสตร์ ส่วนผลจากรูปภาพจะกลายเป็นจุด ณ ตำแหน่ง GPS ของกล้อง เนื่องจากรูปภาพไม่ได้ระบุขอบเขตพื้นที่บนพื้นดิน",
    "imageLabel": "ภาพ (GeoTIFF หรือรูปภาพที่มีพิกัดภูมิศาสตร์)",
    "imagePlaceholder": "เลือกไฟล์ GeoTIFF, JPEG, PNG หรือ WebP…",
    "chooseImage": "เลือกภาพ",
    "modelLabel": "โมเดล",
    "modelSourceBuiltin": "ในตัว (ดาวน์โหลด)",
    "modelSourceLocal": "ไฟล์ในเครื่อง",
    "builtinModelLabel": "โมเดลในตัว",
    "modelFileLabel": "ไฟล์โมเดล (ONNX)",
    "modelPlaceholder": "เลือกไฟล์โมเดล .onnx…",
    "chooseModel": "เลือกโมเดล",
    "downloadingModel": "กำลังดาวน์โหลดโมเดล…",
    "classNamesLabel": "ชื่อประเภทวัตถุ (คั่นด้วยจุลภาค ไม่บังคับ)",
    "classNamesPlaceholder": "เช่น รถยนต์, ต้นไม้, อาคาร",
    "confidenceLabel": "ความเชื่อมั่น",
    "iouLabel": "IoU (NMS)",
    "inputSizeLabel": "ขนาดภาพนำเข้า",
    "detect": "ตรวจจับ",
    "noObjects": "ไม่พบวัตถุ กรุณาลองลดเกณฑ์ความเชื่อมั่นลง",
    "added": "เพิ่มผลการตรวจจับ {{count}} รายการ ครอบคลุม {{classes}} ประเภท",
    "layerName": "การตรวจจับ: {{class}}",
    "error": {
      "chooseImage": "เลือกไฟล์ GeoTIFF หรือรูปภาพที่มีพิกัดภูมิศาสตร์เพื่อทำการตรวจจับ",
      "photoLocation": "รูปภาพนี้ไม่มีพิกัด GPS ที่ใช้งานได้ กรุณาเลือกรูปภาพที่มีพิกัดภูมิศาสตร์",
      "chooseModel": "เลือกโมเดล YOLO ที่ส่งออกเป็น ONNX (.onnx)",
      "downloadModel": "ไม่สามารถดาวน์โหลดโมเดลได้ กรุณาตรวจสอบการเชื่อมต่อแล้วลองใหม่",
      "failed": "การตรวจจับล้มเหลว"
    }
  },
  "segmentEverything": {
    "title": "แบ่งส่วนทุกวัตถุ",
    "description": "เรียกใช้ SlimSAM แบบอัตโนมัติกับไฟล์ GeoTIFF ทำงานในเบราว์เซอร์ทั้งหมด วัตถุทุกชิ้นที่ตรวจพบจะกลายเป็นรูปหลายเหลี่ยมที่อ้างอิงพิกัดภูมิศาสตร์และเพิ่มเป็นเลเยอร์เดียว",
    "hint": "ระบบจะสุ่มตัวอย่างจุดเป็นกริดทั่วทั้งภาพแล้วแบ่งส่วนด้วย SlimSAM (ดาวน์โหลดและแคชไว้ครั้งเดียว) โดยไม่ต้องคลิกหรือกำกับป้ายใด ๆ กริดที่ถี่กว่าจะพบวัตถุมากกว่าแต่ใช้เวลานานกว่า",
    "imageLabel": "ภาพ (GeoTIFF)",
    "imagePlaceholder": "เลือกไฟล์ GeoTIFF…",
    "chooseImage": "เลือกภาพ",
    "gridLabel": "กริด",
    "qualityLabel": "คุณภาพ",
    "minSizeLabel": "ขนาดต่ำสุด %",
    "run": "แบ่งส่วน",
    "downloadingModel": "กำลังดาวน์โหลดโมเดล…",
    "progress": "กำลังแบ่งส่วน… {{done}}/{{total}}",
    "noObjects": "ไม่มีวัตถุที่แบ่งส่วนได้ กรุณาลองใช้กริดที่ถี่ขึ้นหรือลดเกณฑ์คุณภาพลง",
    "added": "เพิ่มส่วนที่แบ่งได้ {{count}} รายการ",
    "layerName": "ส่วนที่แบ่งได้",
    "error": {
      "chooseImage": "เลือกภาพ (GeoTIFF) ที่ต้องการแบ่งส่วน",
      "downloadModel": "ไม่สามารถดาวน์โหลดโมเดลได้ กรุณาตรวจสอบการเชื่อมต่อแล้วลองใหม่",
      "failed": "การแบ่งส่วนภาพล้มเหลว"
    }
  },
  "pluginPanel": {
    "expand": "ขยายแผง",
    "collapse": "ย่อแผง",
    "close": "ปิดแผง",
    "resize": "ปรับขนาดแผง",
    "moveLeft": "ย้ายแผงไปทางซ้าย",
    "moveRight": "ย้ายแผงไปทางขวา",
    "mergeIntoStyleRail": "ผสานเข้ากับแถบสไตล์",
    "mergeIntoLayersRail": "ผสานเข้ากับแถบเลเยอร์",
    "detach": "แยกออกเป็นแผงที่ย้ายได้",
    "collapsedLabel": "{{title}} (ย่อไว้)"
  },
  "sharedRail": {
    "label": "แถบด้านข้าง",
    "layers": "เลเยอร์",
    "style": "สไตล์",
    "expand": "ขยาย {{title}}",
    "collapse": "ย่อ {{title}}"
  },
  "attributeTable": {
    "title": "ตารางแอตทริบิวต์",
    "resize": "ปรับขนาดตารางแอตทริบิวต์",
    "editValues": "แก้ไขค่าแอตทริบิวต์",
    "editTitleFinishGeometry": "จบการแก้ไขเรขาคณิตก่อนจึงจะแก้ไขแอตทริบิวต์ได้",
    "editTitleReadOnly": "ไม่สามารถแก้ไขเลเยอร์ที่เพิ่มผ่านเมนูเพิ่มเลเยอร์เวกเตอร์ได้",
    "editTitleUseSaveCancel": "ใช้ปุ่มบันทึกหรือยกเลิกเพื่อจบการแก้ไข",
    "exitEditMode": "ออกจากโหมดแก้ไข",
    "editTitleDuckdb": "แก้ไขแอตทริบิวต์ของคำสั่งค้นหา DuckDB ที่แสดงอยู่ในหน่วยความจำ",
    "saveEdits": "บันทึกการแก้ไขแอตทริบิวต์",
    "saveTitleInvalid": "กรุณาแก้ไข JSON ที่ไม่ถูกต้องก่อนบันทึก",
    "saveTitleDuckdb": "บันทึกการแก้ไขแอตทริบิวต์ DuckDB ในหน่วยความจำ",
    "addFieldTitle": "เพิ่มฟิลด์ใหม่",
    "addField": "เพิ่มฟิลด์",
    "fieldCalculatorTitle": "คำนวณค่าของฟิลด์จากนิพจน์",
    "fieldCalculator": "เครื่องคำนวณฟิลด์",
    "manageFieldsTitle": "แสดงหรือซ่อนฟิลด์",
    "manageFields": "จัดการฟิลด์",
    "columnExplorerTitle": "สำรวจทุกฟิลด์ได้ในมุมมองเดียว",
    "columnExplorerTitleDisabled": "ตัวสำรวจคอลัมน์ต้องใช้เลเยอร์เวกเตอร์หรือเลเยอร์คำสั่งค้นหา DuckDB",
    "columnExplorer": "ตัวสำรวจคอลัมน์",
    "statisticsTitle": "สรุปสถิติของฟิลด์",
    "statisticsTitleDisabled": "สถิติต้องใช้เลเยอร์เวกเตอร์หรือเลเยอร์คำสั่งค้นหา DuckDB",
    "statistics": "สถิติของฟิลด์",
    "chartsTitle": "สร้างแผนภูมิจากฟิลด์ตัวเลข",
    "chartsTitleDisabled": "แผนภูมิต้องใช้เลเยอร์เวกเตอร์หรือเลเยอร์คำสั่งค้นหา DuckDB",
    "charts": "แผนภูมิ",
    "dashboardTitle": "เปิดแดชบอร์ดเพื่อสร้างวิดเจ็ตแผนภูมิ",
    "dashboard": "แดชบอร์ด",
    "exportSelectedLayer": "ส่งออกเลเยอร์ที่เลือก",
    "exportTitleDisabled": "การส่งออกต้องใช้เลเยอร์ที่มีข้อมูล GeoJSON รองรับ",
    "cancelEdits": "ยกเลิกการแก้ไขแอตทริบิวต์",
    "searchPlaceholder": "ค้นหาแอตทริบิวต์...",
    "searchAria": "ค้นหาแอตทริบิวต์",
    "clearSelectedFeature": "ล้างการเลือก",
    "statusFeatures_other": "{{count}} ฟีเจอร์",
    "statusShown_other": "แสดง {{count}} รายการ",
    "statusSelected_other": "เลือกแล้ว {{count}} รายการ",
    "featureViewAria": "มุมมองฟีเจอร์",
    "showAllFeatures": "แสดงฟีเจอร์ทั้งหมด",
    "showSelectedFeatures": "แสดงเฉพาะที่เลือก ({{count}})",
    "expand": "ขยายตารางแอตทริบิวต์",
    "collapse": "ย่อตารางแอตทริบิวต์",
    "close": "ปิดตารางแอตทริบิวต์",
    "newFieldPlaceholder": "เช่น category",
    "defaultValuePlaceholder": "เว้นว่างไว้เพื่อให้เป็นค่าว่าง",
    "newFieldNamePlaceholder": "ชื่อฟิลด์ใหม่",
    "showFields": "แสดงฟิลด์",
    "noFields": "ไม่มีฟิลด์",
    "showAllFields": "แสดงทุกฟิลด์",
    "buttons": {
      "edit": "แก้ไข",
      "calculate": "คำนวณ",
      "fields": "ฟิลด์",
      "explore": "สำรวจ",
      "statistics": "สถิติ",
      "export": "ส่งออก"
    },
    "chart": {
      "field": "ฟิลด์",
      "xAxis": "แกน X",
      "yAxis": "แกน Y",
      "category": "หมวดหมู่",
      "value": "ค่า",
      "title": "แผนภูมิ",
      "description": "แสดงภาพข้อมูลของฟิลด์ใน \"{{layer}}\"",
      "noChartableFields": "เลเยอร์นี้ไม่มีฟิลด์แบบตัวเลขหรือแบบหมวดหมู่ให้สร้างแผนภูมิ",
      "chartType": "ชนิดแผนภูมิ",
      "typeHistogram": "ฮิสโทแกรม",
      "typeScatter": "แผนภาพการกระจาย",
      "typeBar": "แท่ง",
      "typeLine": "เส้น",
      "typeBox": "แผนภาพกล่อง",
      "typePie": "วงกลม",
      "bins": "จำนวนช่วง",
      "aggregate": "การรวมค่า",
      "aggCount": "นับจำนวน",
      "aggSum": "ผลรวม",
      "aggAverage": "ค่าเฉลี่ย",
      "download": "ดาวน์โหลด",
      "downloadPng": "รูปภาพ PNG",
      "downloadSvg": "เวกเตอร์ SVG",
      "exportError": "ไม่สามารถส่งออกแผนภูมิได้"
    },
    "selectedLayerName": "- {{name}}",
    "noLayerSelected": "- เลือกเลเยอร์ที่มีแอตทริบิวต์",
    "zoomToSelection": "ซูมไปยังรายการที่เลือก",
    "loadingAttributes": "กำลังโหลดแอตทริบิวต์ของเลเยอร์…",
    "requiresVectorLayer": "ตารางแอตทริบิวต์ต้องใช้เลเยอร์เวกเตอร์หรือเลเยอร์คำสั่งค้นหา DuckDB",
    "invalidJson": "JSON ไม่ถูกต้อง",
    "editCellAria": "แก้ไข {{col}} ของฟีเจอร์ {{featureId}}",
    "resizeColumn": "ปรับขนาดคอลัมน์ {{name}}",
    "renameFieldAria": "เปลี่ยนชื่อฟิลด์ {{name}}",
    "manageFieldTitle": "จัดการฟิลด์ \"{{name}}\"",
    "manageFieldAria": "จัดการฟิลด์ {{name}}",
    "renameField": "เปลี่ยนชื่อฟิลด์",
    "hideField": "ซ่อนฟิลด์",
    "excludeField": "ไม่รวมฟิลด์เมื่อส่งออก",
    "includeField": "รวมฟิลด์เมื่อส่งออก",
    "moveLeft": "ย้ายไปทางซ้าย",
    "moveRight": "ย้ายไปทางขวา",
    "deleteField": "ลบฟิลด์",
    "joinedColumnTitle": "คอลัมน์ที่เชื่อมมา ซึ่งได้มาจากตารางที่เชื่อมข้อมูล กรุณาแก้ไขที่ตารางต้นทางหรือที่นิยามการเชื่อมข้อมูลแทน",
    "virtualColumnTitle": "ฟิลด์เสมือนที่คำนวณจากนิพจน์ กรุณาแก้ไขนิยามของฟิลด์นี้ในแผงสไตล์ของเลเยอร์แทน",
    "deleteFieldConfirm": "การกระทำนี้จะลบฟิลด์ \"{{field}}\" ออกจากทุกฟีเจอร์ใน \"{{layer}}\" อย่างถาวร สไตล์หรือป้ายกำกับที่อ้างอิงฟิลด์นี้จะถูกล้างไปด้วย และไม่สามารถเลิกทำได้",
    "addFieldDescription": "เพิ่มฟิลด์ใหม่ให้ทุกฟีเจอร์ใน \"{{layer}}\"",
    "fieldName": "ชื่อฟิลด์",
    "fieldExists": "มีฟิลด์ชื่อ \"{{name}}\" อยู่แล้ว",
    "fieldType": "ชนิด",
    "typeText": "ข้อความ",
    "typeNumber": "ตัวเลข",
    "typeBoolean": "บูลีน",
    "defaultValue": "ค่าเริ่มต้น",
    "noDefault": "(ไม่มีค่าเริ่มต้น)",
    "noFeaturesForField": "เลเยอร์นี้ไม่มีฟีเจอร์ให้เพิ่มฟิลด์",
    "calcDescription": "คำนวณค่าจากนิพจน์ JavaScript แล้วเขียนลงในฟิลด์ของ \"{{layer}}\"",
    "targetField": "ฟิลด์ปลายทาง",
    "updateField": "อัปเดตฟิลด์",
    "createField": "สร้างฟิลด์",
    "outputType": "ชนิดของผลลัพธ์",
    "outputAuto": "อัตโนมัติ (คงชนิดที่คำนวณได้)",
    "expression": "นิพจน์",
    "calcExpressionPlaceholder": "เช่น pop / area หรือ upper(name) หรือ pop > 100 ? \"big\" : \"small\"",
    "fieldsLabel": "ฟิลด์:",
    "insertField": "แทรก {{name}}",
    "functionsLabel": "ฟังก์ชัน:",
    "insertFunction": "แทรก {{name}}()",
    "geomMeasureLabel": "เรขาคณิต:",
    "geomMetric": {
      "length": "ความยาว",
      "perimeter": "ความยาวเส้นรอบรูป",
      "area": "พื้นที่"
    },
    "geomInsert": "แทรก",
    "sampleRowErrored": "แถวตัวอย่างเกิดข้อผิดพลาด (แถวอื่นอาจยังคำนวณได้): {{message}}",
    "preview": "ตัวอย่าง:",
    "onlySelectedFeature": "อัปเดตเฉพาะฟีเจอร์ที่เลือกไว้เท่านั้น",
    "evaluationFailed": "การประเมินค่าล้มเหลว",
    "invalidExpression": "นิพจน์ไม่ถูกต้อง",
    "calcCouldNotApply": "ไม่สามารถนำผลการคำนวณไปใช้กับเลเยอร์นี้ได้",
    "calcAppliedWithErrors": "นำไปใช้แล้ว แต่มี {{errors}} จาก {{evaluated}} ฟีเจอร์ที่เกิดข้อผิดพลาดและถูกเขียนเป็นค่าว่าง",
    "exportFailed": "ไม่สามารถส่งออกเลเยอร์ที่เลือกได้",
    "saveTitleFormErrors": "กรุณาแก้ไขข้อผิดพลาดในแบบฟอร์มแอตทริบิวต์ก่อนบันทึก"
  },
  "styleManager": {
    "title": "ตัวจัดการสไตล์",
    "description": "บันทึก เรียกดู และนำสไตล์ สัญลักษณ์ ค่าตั้งต้นของป้ายกำกับ และไล่เฉดสีที่นำกลับมาใช้ใหม่ได้ไปใช้กับเลเยอร์และโปรเจกต์ต่าง ๆ",
    "searchPlaceholder": "ค้นหาสไตล์และแท็ก…",
    "presetsSection": "ค่าตั้งต้นในตัว",
    "librarySection": "คลังของฉัน",
    "projectSection": "โปรเจกต์นี้",
    "empty": "ไม่มีสไตล์ที่บันทึกไว้ตรงกัน กรุณาบันทึกสไตล์ของเลเยอร์หรือนำเข้าคลังเพื่อเริ่มต้น",
    "apply": "นำไปใช้",
    "delete": "ลบ",
    "saveCurrent": "บันทึกสไตล์ปัจจุบัน…",
    "nameLabel": "ชื่อ",
    "kindLabel": "สิ่งที่จะบันทึก",
    "kindStyle": "สไตล์ทั้งหมด",
    "kindSymbol": "เฉพาะสัญลักษณ์",
    "kindLabels": "เฉพาะป้ายกำกับ",
    "kindRamp": "เฉพาะไล่เฉดสี",
    "tagsLabel": "แท็ก",
    "tagsPlaceholder": "boundary, basemap (คั่นด้วยจุลภาค)",
    "scopeLabel": "จัดเก็บใน",
    "scopeApp": "คลังของฉัน (ทุกโปรเจกต์)",
    "scopeProject": "โปรเจกต์นี้เท่านั้น",
    "saveButton": "บันทึกสไตล์",
    "cancel": "ยกเลิก",
    "import": "นำเข้า…",
    "export": "ส่งออก…",
    "importFilterName": "คลังสไตล์ / QML / SLD",
    "exportFilterName": "คลังสไตล์ของ GeoLibre",
    "applied": "นำ \"{{name}}\" ไปใช้กับ {{layer}} แล้ว",
    "appliedRampHint": "นำ \"{{name}}\" ไปใช้แล้ว กรุณาสลับเลเยอร์เป็นการจัดสไตล์แบบไล่ระดับหรือแบบหมวดหมู่เพื่อดูไล่เฉดสี",
    "saved": "บันทึก \"{{name}}\" ลงในคลังแล้ว",
    "deleted": "ลบ \"{{name}}\" แล้ว",
    "importedCount_other": "นำเข้าสไตล์แล้ว {{count}} รายการ",
    "importedEntryName": "สไตล์ที่นำเข้า",
    "importInvalid": "ไฟล์นั้นไม่ใช่คลังสไตล์ QML หรือ SLD",
    "importNoMatch": "ไม่สามารถอ่านสัญลักษณ์จากสไตล์นั้นได้",
    "exportEmpty": "ไม่มีสไตล์ที่บันทึกไว้ให้ส่งออก",
    "exportFailed": "ไม่สามารถส่งออกคลังสไตล์ได้",
    "exportSuccess": "ส่งออกคลังสไตล์แล้ว",
    "noLayer": "เลือกเลเยอร์เวกเตอร์เพื่อบันทึกหรือนำสไตล์ไปใช้"
  },
  "style": {
    "panelLabel": "สไตล์ของเลเยอร์",
    "panelLabelCollapsed": "สไตล์ของเลเยอร์ (ย่อไว้)",
    "heading": "สไตล์",
    "headingWithLayer": "สไตล์ - {{name}}",
    "resizePanel": "ปรับขนาดแผงสไตล์",
    "expand": "ขยายสไตล์",
    "collapse": "ย่อสไตล์",
    "openStyleManager": "สไตล์ที่บันทึกไว้…",
    "addClass": "เพิ่มชั้นข้อมูล",
    "removeClass": "นำชั้นข้อมูลออก",
    "beforeIdSavedUnavailable": "บันทึกไว้ (ไม่พร้อมใช้งาน)",
    "raster": {
      "greyscale": "โทนสีเทา",
      "greyscaleHint": "เปิด/ปิดแผนที่ฐานโทนสีเทา (ลดความอิ่มตัวของสีลงต่ำสุด)",
      "reset": "รีเซ็ต",
      "resetHint": "คืนค่าการปรับแต่งกลับเป็นค่าเริ่มต้น",
      "exactValueHint": "ดับเบิลคลิกเพื่อป้อนค่าที่แน่นอน",
      "opacity": "ความทึบ",
      "brightnessMin": "ความสว่างต่ำสุด",
      "brightnessMax": "ความสว่างสูงสุด",
      "saturation": "ความอิ่มตัวของสี",
      "contrast": "ความคมชัด",
      "hueRotate": "การหมุนเฉดสี",
      "footerDeck": "การเปลี่ยนแปลงจะมีผลทันทีกับความทึบของเลเยอร์แรสเตอร์",
      "footerMaplibre": "การเปลี่ยนแปลงจะมีผลทันทีกับคุณสมบัติการวาดแรสเตอร์ของ MapLibre",
      "valueAria": "ค่าของ{{label}}",
      "editValueAria": "แก้ไขค่าของ{{label}}"
    },
    "visibility": {
      "minZoom": "ระดับซูมต่ำสุด",
      "maxZoom": "ระดับซูมสูงสุด",
      "minZoomTooltip": "ระดับซูมที่เลเยอร์นี้เริ่มปรากฏ ตัวเลขที่สูงกว่าหมายถึงซูมเข้ามากกว่า",
      "maxZoomTooltip": "ระดับซูมที่เลเยอร์นี้หายไป ตัวเลขที่สูงกว่าหมายถึงซูมเข้ามากกว่า"
    },
    "joins": {
      "heading": "การเชื่อมข้อมูล",
      "empty": "แนบคอลัมน์จากเลเยอร์หรือตารางอื่นโดยจับคู่ฟิลด์คีย์ คอลัมน์ที่เชื่อมมาจะอัปเดตเมื่อตารางต้นทางเปลี่ยนแปลง และถูกบันทึกไว้กับโปรเจกต์",
      "addJoin": "เพิ่มการเชื่อมข้อมูล",
      "joinLayer": "เลเยอร์ที่จะเชื่อม",
      "selectLayer": "เลือกเลเยอร์…",
      "joinField": "ฟิลด์ของเลเยอร์ที่เชื่อม",
      "targetField": "ฟิลด์ปลายทาง",
      "selectField": "เลือกฟิลด์…",
      "fields": "ฟิลด์ที่จะเชื่อม",
      "fieldCount_other": "{{count}} ฟิลด์",
      "prefix": "คำนำหน้าชื่อฟิลด์",
      "prefixPlaceholder": "เช่น census_",
      "add": "เพิ่ม",
      "cancel": "ยกเลิก",
      "remove": "นำการเชื่อมข้อมูลออก",
      "enabledTitle": "ใช้การเชื่อมข้อมูลนี้",
      "missingLayer": "ไม่พบเลเยอร์ที่จะเชื่อม",
      "noCandidates": "ไม่มีเลเยอร์อื่นที่มีตารางแอตทริบิวต์ให้เชื่อมข้อมูล",
      "statsMatched": "ตรงกัน {{matched}} จาก {{total}} ฟีเจอร์",
      "statsUnmatchedJoin_other": "มีแถวของเลเยอร์ที่เชื่อม {{count}} แถวที่ไม่ตรงกัน"
    },
    "virtualFields": {
      "heading": "ฟิลด์เสมือน",
      "empty": "เพิ่มคอลัมน์ที่คำนวณจากนิพจน์ ซึ่งจะคำนวณใหม่ทุกครั้งที่ข้อมูลเปลี่ยนแปลง ฟิลด์เสมือนจะถูกบันทึกไว้กับโปรเจกต์และปรากฏในทุกที่ที่มีฟิลด์ ทั้งตารางแอตทริบิวต์ การจัดสไตล์ ป้ายกำกับ และการเลือก",
      "addField": "เพิ่มฟิลด์เสมือน",
      "name": "ชื่อฟิลด์",
      "namePlaceholder": "เช่น density",
      "nameTaken": "มีคอลัมน์ชื่อนี้อยู่แล้ว",
      "nameConflict": "ไม่ได้นำไปใช้: ชื่อนี้ซ้ำกับคอลัมน์ที่มีอยู่",
      "expression": "นิพจน์",
      "expressionPlaceholder": "[\"/\", [\"get\", \"pop\"], [\"get\", \"area_km2\"]]",
      "expressionTarget": "นิพจน์ของฟิลด์เสมือน",
      "openBuilder": "เปิดตัวสร้างนิพจน์",
      "invalidExpression": "นิพจน์ไม่ถูกต้อง",
      "add": "เพิ่ม",
      "save": "บันทึก",
      "cancel": "ยกเลิก",
      "edit": "แก้ไขฟิลด์เสมือน",
      "remove": "นำฟิลด์เสมือนออก",
      "enabledTitle": "ใช้ฟิลด์เสมือนนี้",
      "evaluationErrors_other": "มี {{count}} ฟีเจอร์ที่ประเมินค่าไม่สำเร็จ (เซลล์เป็นค่าว่าง)"
    },
    "labels": {
      "heading": "ป้ายกำกับ",
      "show": "แสดงป้ายกำกับ",
      "field": "ฟิลด์ที่ใช้เป็นป้ายกำกับ",
      "noAttributes": "ไม่พบแอตทริบิวต์",
      "selectField": "เลือกฟิลด์…",
      "placement": "การวางตำแหน่ง",
      "placementPoint": "จุดศูนย์ถ่วง / จุด",
      "placementLine": "ตามแนวเส้น / ขอบรูปหลายเหลี่ยม",
      "textSize": "ขนาดตัวอักษร",
      "haloWidth": "ความหนาของขอบเรือง",
      "textColor": "สีตัวอักษร",
      "haloColor": "สีขอบเรือง",
      "minZoom": "ระดับซูมต่ำสุด",
      "maxZoom": "ระดับซูมสูงสุด",
      "allowOverlap": "อนุญาตให้ป้ายกำกับซ้อนทับกันได้",
      "anchor": "จุดยึด",
      "anchorCenter": "กึ่งกลาง",
      "anchorLeft": "ซ้าย",
      "anchorRight": "ขวา",
      "anchorTop": "บน",
      "anchorBottom": "ล่าง",
      "anchorTopLeft": "บนซ้าย",
      "anchorTopRight": "บนขวา",
      "anchorBottomLeft": "ล่างซ้าย",
      "anchorBottomRight": "ล่างขวา",
      "offsetX": "ระยะเยื้องแกน X (em)",
      "offsetY": "ระยะเยื้องแกน Y (em)",
      "rotation": "การหมุน (°)",
      "maxWidth": "ความกว้างก่อนขึ้นบรรทัดใหม่ (em)",
      "transform": "ตัวพิมพ์",
      "transformNone": "ตามที่ป้อน",
      "transformUppercase": "ตัวพิมพ์ใหญ่ทั้งหมด",
      "transformLowercase": "ตัวพิมพ์เล็กทั้งหมด",
      "dedupe": "ป้ายกำกับที่ซ้ำกัน",
      "dedupeOff": "แสดงป้ายกำกับทุกฟีเจอร์",
      "dedupeUnique": "หนึ่งป้ายกำกับต่อหนึ่งตำแหน่ง",
      "dedupeConcatenate": "รวมค่าที่อยู่ในตำแหน่งเดียวกัน",
      "dedupeHint": "ยุบจุดที่ซ้อนกันอยู่ที่พิกัดเดียวกัน โดยใช้ฟิลด์ป้ายกำกับกับเลเยอร์จุดในเครื่อง",
      "expression": "นิพจน์ (ไม่บังคับ)",
      "expressionHint": "นิพจน์ของ MapLibre (JSON) หากกำหนดไว้จะแทนที่ฟิลด์ที่เลือก",
      "expressionInvalid": "ไม่ใช่นิพจน์ของ MapLibre ที่ถูกต้อง (ต้องเป็นอาร์เรย์ JSON) ค่านี้จะถูกละเว้น",
      "dataDefined": {
        "heading": "การแทนที่ค่าตามข้อมูล",
        "size": "ขนาด",
        "color": "สี",
        "opacity": "ความทึบ",
        "visibility": "การมองเห็น",
        "priority": "ลำดับความสำคัญ",
        "sizeTarget": "นิพจน์ขนาดของป้ายกำกับ",
        "colorTarget": "นิพจน์สีของป้ายกำกับ",
        "opacityTarget": "นิพจน์ความทึบของป้ายกำกับ",
        "visibilityTarget": "นิพจน์การมองเห็นของป้ายกำกับ",
        "priorityTarget": "นิพจน์ลำดับความสำคัญของป้ายกำกับ",
        "notSet": "ยังไม่ได้กำหนด",
        "clear": "ล้างนิพจน์",
        "hint": "นิพจน์ของ MapLibre ที่กำหนดแยกตามฟีเจอร์ โดยขนาด ความทึบ และลำดับความสำคัญให้ผลเป็นตัวเลข (ป้ายกำกับที่มีค่าลำดับความสำคัญต่ำกว่าจะถูกวางก่อน) สีให้ผลเป็นค่าสี และการมองเห็นให้ผลเป็น true/false ค่าเหล่านี้จะถูกละเว้นขณะเปิดการยุบป้ายกำกับซ้ำ ส่วนนิพจน์ความทึบจะแทนที่ค่าความทึบของเลเยอร์สำหรับป้ายกำกับ"
      }
    },
    "elevation3d": {
      "mode": "3 มิติ (ค่า Z)",
      "fillColor": "สีเติม",
      "outlineColor": "สีเส้นขอบ",
      "strokeWidth": "ความหนาเส้น",
      "strokeWidthMeters": "ความหนาเส้น (เมตร)",
      "fillOpacity": "ความทึบของสีเติม",
      "circleRadius": "รัศมีวงกลม",
      "verticalScale": "อัตราขยายแนวดิ่ง",
      "verticalScaleTooltip": "คูณค่า Z ของแต่ละพิกัด ค่า 1 จะแสดงความสูงจริง ค่าที่มากขึ้นจะเน้นความต่างระดับให้ชัดขึ้น",
      "offset": "ค่าชดเชยความสูง (m)",
      "offsetTooltip": "ความสูงคงที่หน่วยเมตรที่บวกเพิ่มให้ทุกฟีเจอร์ เช่น เพื่อยกแทร็กให้อยู่เหนืออาคาร 3 มิติหรือภูมิประเทศ",
      "footer": "แสดงผลแบบ 3 มิติตามค่า Z ของพิกัดผ่าน deck.gl การเปลี่ยนแปลงมีผลทันที ทั้งนี้โหมดนี้ไม่รองรับการระบุข้อมูลและการไฮไลต์ฟีเจอร์"
    },
    "diagrams": {
      "heading": "ไดอะแกรม",
      "chartType": "ชนิดแผนภูมิ",
      "typeNone": "ไม่มี",
      "typePie": "แผนภูมิวงกลม",
      "typeDonut": "แผนภูมิวงแหวน",
      "typeBar": "แผนภูมิแท่ง",
      "typeStackedBar": "แผนภูมิแท่งซ้อน",
      "fields": "แอตทริบิวต์",
      "addField": "เพิ่มแอตทริบิวต์",
      "removeField": "นำแอตทริบิวต์ออก",
      "noFields": "เพิ่มแอตทริบิวต์แบบตัวเลขเพื่อสร้างแผนภูมิบนแต่ละฟีเจอร์",
      "fieldAttribute": "แอตทริบิวต์ของไดอะแกรมที่ {{index}}",
      "sizeMode": "ขนาด",
      "sizeFixed": "ขนาดคงที่",
      "sizeSum": "ปรับขนาดตามผลรวมของแอตทริบิวต์",
      "sizeAttribute": "ปรับขนาดตามแอตทริบิวต์",
      "sizeField": "แอตทริบิวต์ที่ใช้กำหนดขนาด",
      "size": "ขนาด (พิกเซล)",
      "minZoom": "ระดับซูมต่ำสุด",
      "declutter": "ซ่อนไดอะแกรมที่ซ้อนทับกัน",
      "truncated": "ระบบวาดไดอะแกรมให้เพียง {{count}} ฟีเจอร์เท่านั้น ส่วนที่เหลือไม่ได้สร้างแผนภูมิ",
      "atlasFull": "มีไดอะแกรม {{count}} รายการที่ไม่พอดีกับขนาดนี้จึงถูกซ่อนไว้ กรุณาลดขนาดไดอะแกรมลง"
    },
    "symbology": {
      "colormap": "แผนผังสี",
      "modeSingle": "สัญลักษณ์แบบเดียว",
      "modeGraduated": "แบบไล่ระดับ",
      "modeCategorized": "แบบหมวดหมู่",
      "modeRuleBased": "แบบอิงกฎ",
      "modeExpression": "นิพจน์ขั้นสูง",
      "rules": "กฎ",
      "addRule": "เพิ่มกฎ",
      "removeRule": "นำกฎออก",
      "noRulesPrefix": "ยังไม่มีกฎ เพิ่มกฎแล้วกำหนดนิพจน์ตัวกรองของ MapLibre ให้ (เช่น ",
      "noRulesSuffix": ") กฎแรกที่ตรงเงื่อนไขจะถูกใช้ ส่วนกฎ Else จะระบายสีให้ทุกอย่างที่เหลือ",
      "ruleColor": "สีของกฎที่ {{index}}",
      "ruleColorPick": "เลือกสีของกฎที่ {{index}} จากหน้าจอ",
      "ruleLabel": "ป้ายกำกับของกฎที่ {{index}}",
      "ruleFilter": "ตัวกรองของกฎที่ {{index}}",
      "ruleEnabled": "เปิดใช้งานกฎที่ {{index}}",
      "ruleAddChild": "เพิ่มกฎย่อย",
      "ruleOptions": "สัญลักษณ์และการมองเห็น",
      "ruleMinZoom": "ระดับซูมต่ำสุด",
      "ruleMaxZoom": "ระดับซูมสูงสุด",
      "ruleZoomInvalid": "ระดับซูมต่ำสุดต้องน้อยกว่าระดับซูมสูงสุด กฎนี้จะไม่มีผลเลยตราบใดที่ช่วงยังว่าง",
      "ruleStrokeWidth": "ความหนาเส้น",
      "ruleFillOpacity": "ความทึบของสีเติม",
      "ruleCircleSize": "รัศมีวงกลม",
      "ruleOutlineColor": "แทนที่สีเส้นขอบ",
      "ruleOutlineColorPick": "เลือกสีเส้นขอบของกฎที่ {{index}} จากหน้าจอ",
      "ruleInherit": "สืบทอดค่า",
      "ruleGroupNote": "กฎนี้มีกฎย่อย จึงทำหน้าที่จำกัดขอบเขตที่กฎย่อยจะตรงเงื่อนไข และไม่วาดผลด้วยตัวเอง",
      "labelPlaceholder": "ป้ายกำกับ (ไม่บังคับ)",
      "filterInvalid": "ตัวกรองไม่ถูกต้อง — ต้องเป็นนิพจน์แบบอาร์เรย์ JSON กฎนี้จะถูกข้ามไปจนกว่าจะแก้ไข",
      "elseRuleColor": "สีของกฎ Else",
      "elseRuleColorPick": "เลือกสีของกฎ Else จากหน้าจอ",
      "elseRuleEnabled": "เปิดใช้งานกฎ Else (เมื่อปิด ฟีเจอร์ที่ไม่ตรงกับกฎใดเลยจะถูกซ่อน)",
      "elseAllOtherFeatures": "Else (ฟีเจอร์อื่นทั้งหมด)",
      "applyHint": "คลิก “นำไปใช้” เพื่อเปิดใช้การแสดงผลแบบอิงกฎ",
      "rulesApplyLive": "การเปลี่ยนแปลงกฎจะมีผลกับแผนที่ทันที ไม่ต้องกดนำไปใช้แยกต่างหาก",
      "proportionalSize": "ขนาดตามสัดส่วน",
      "sizeByValue": "กำหนดขนาดตามค่า",
      "sizeField": "ฟิลด์ที่ใช้กำหนดขนาด",
      "chooseField": "เลือกฟิลด์…",
      "minValue": "ค่าต่ำสุด",
      "maxValue": "ค่าสูงสุด",
      "minSize": "ขนาดต่ำสุด (พิกเซล)",
      "maxSize": "ขนาดสูงสุด (พิกเซล)",
      "sizeLegend": "คำอธิบายสัญลักษณ์ตามขนาด",
      "fillPattern": "ลวดลายการเติม",
      "patternColor": "สีของลวดลาย",
      "patternSvg": "ไฟล์ SVG ของลวดลาย",
      "svgPlaceholder": "<svg xmlns='http://www.w3.org/2000/svg' ...>…</svg> หรือ URL แบบ data/https",
      "marker": "เครื่องหมาย",
      "useMarkerIcon": "ใช้ไอคอนเป็นเครื่องหมาย",
      "markerShape": "รูปทรงของเครื่องหมาย",
      "markerColor": "สีของเครื่องหมาย",
      "markerSize": "ขนาดของเครื่องหมาย (พิกเซล)",
      "markerSvg": "ไฟล์ SVG ของเครื่องหมาย",
      "markerShapes": {
        "circle": "วงกลม",
        "square": "สี่เหลี่ยมจัตุรัส",
        "triangle": "สามเหลี่ยม",
        "diamond": "ข้าวหลามตัด",
        "star": "ดาว",
        "cross": "กากบาท",
        "pin": "หมุด",
        "custom": "SVG ที่กำหนดเอง"
      },
      "fillPatterns": {
        "none": "ไม่มี (เติมสีทึบ)",
        "hatch": "เส้นแรเงา",
        "crossHatch": "เส้นแรเงาไขว้",
        "horizontal": "เส้นแนวนอน",
        "vertical": "เส้นแนวตั้ง",
        "dots": "จุด",
        "svg": "SVG ที่กำหนดเอง"
      },
      "transparent": "โปร่งใส",
      "transparentSwatch": "ไม่มีสี (โปร่งใส) คลิกเพื่อเลือกสี",
      "styleType": "ชนิดของสไตล์",
      "attribute": "แอตทริบิวต์",
      "classes": "ชั้นข้อมูล",
      "allClasses": "ทั้งหมด ({{total}})",
      "scheme": "รูปแบบการแบ่งชั้น",
      "stops": "จุดแบ่ง",
      "categories": "หมวดหมู่",
      "classColor": "สีของชั้นข้อมูลที่ {{index}}",
      "classColorPick": "เลือกสีของชั้นข้อมูลที่ {{index}} จากหน้าจอ",
      "classValue": "ค่าของชั้นข้อมูลที่ {{index}}",
      "colorExpression": "นิพจน์สี",
      "applyStyleType": "ใช้ชนิดของสไตล์นี้",
      "pointRenderer": "ตัวแสดงผลจุด",
      "pointRendererSingle": "สัญลักษณ์แบบเดียว",
      "pointRendererHeatmap": "แผนที่ความร้อน",
      "pointRendererClustered": "จัดกลุ่ม",
      "heatmapRadius": "รัศมีของแผนที่ความร้อน",
      "heatmapIntensity": "ความเข้มของแผนที่ความร้อน",
      "clusterRadius": "รัศมีของกลุ่ม (พิกเซล)",
      "clusterMaxZoom": "ระดับซูมสูงสุดที่ยังจัดกลุ่ม",
      "strokeWidthUnit": "หน่วยความหนาเส้น",
      "strokeWidthUnitPixels": "พิกเซล (ขนาดคงที่บนหน้าจอ)",
      "strokeWidthUnitMeters": "เมตร (ปรับขนาดตามแผนที่)",
      "textHaloColor": "สีขอบเรืองของตัวอักษร",
      "textHaloWidth": "ความหนาขอบเรืองของตัวอักษร",
      "schemeEqualInterval": "ช่วงเท่ากัน",
      "schemeQuantile": "ควอนไทล์",
      "schemeNaturalBreaks": "จุดแบ่งตามธรรมชาติ",
      "schemeTopValues": "ค่าที่พบบ่อยที่สุด",
      "schemeAlphabetical": "เรียงตามตัวอักษร",
      "schemeFirstValues": "ค่าแรก ๆ",
      "errorChooseAttribute": "เลือกแอตทริบิวต์สำหรับโหมดสไตล์นี้",
      "errorAttributesUnavailable": "ไม่สามารถโหลดค่าแอตทริบิวต์ของเลเยอร์นี้ได้",
      "errorProportionalSizeField": "ฟิลด์ที่ใช้กำหนดขนาดต้องเป็นตัวเลขและมีค่าที่แตกต่างกันมากกว่าหนึ่งค่า",
      "errorGraduatedStops": "สไตล์แบบไล่ระดับต้องมีจุดแบ่งที่เป็นตัวเลขอย่างน้อยสองจุด",
      "errorCategorizedStops": "สไตล์แบบหมวดหมู่ต้องมีหมวดหมู่อย่างน้อยหนึ่งรายการ",
      "invertedFill": "เติมสีแบบกลับด้าน",
      "invertedFillHint": "เติมสีในบริเวณนอกฟีเจอร์"
    },
    "suggestions": {
      "title": "สไตล์ที่แนะนำ",
      "dismiss": "ปิดคำแนะนำ",
      "categorize": "แบ่งหมวดหมู่ตาม {{field}}",
      "graduate": "ไล่ระดับตาม {{field}}",
      "heatmap": "แผนที่ความร้อน"
    },
    "selectLayerHint": "เลือกเลเยอร์เพื่อแก้ไขสไตล์",
    "layerOrderDefault": "ลำดับเลเยอร์ (ค่าเริ่มต้น)",
    "increaseValue": "เพิ่ม{{label}}",
    "decreaseValue": "ลด{{label}}",
    "visualization": "การแสดงภาพข้อมูล",
    "mode2d": "2 มิติ",
    "mode3dExtrusion": "การยกตัวแบบ 3 มิติ",
    "noControls": "ยังไม่มีตัวควบคุมสไตล์สำหรับเลเยอร์ชนิดนี้",
    "selectedLayerType": "ชนิดของเลเยอร์ที่เลือก: {{type}}",
    "footerDeck": "การเปลี่ยนแปลงจะมีผลทันทีกับการจัดสไตล์เลเยอร์ deck.gl ของ DuckDB",
    "footerMaplibre": "การเปลี่ยนแปลงจะมีผลทันทีกับคุณสมบัติการวาดของ MapLibre",
    "pluginPaintedFooter": "เลเยอร์นี้ถูกวาดโดยปลั๊กอินของตัวเอง ซึ่งมีตัวควบคุมสไตล์ของมันเอง",
    "extrusion": {
      "color": "สีของส่วนที่ยกตัว",
      "opacity": "ความทึบของส่วนที่ยกตัว",
      "advanced": "นิพจน์ความสูงขั้นสูง",
      "heightExpression": "นิพจน์ความสูง",
      "heightProperty": "คุณสมบัติที่ใช้เป็นความสูง",
      "heightScale": "อัตราส่วนความสูง",
      "base": "ความสูงของฐาน",
      "apply": "ใช้การยกตัวแบบ 3 มิติ",
      "footer": "การตั้งค่าการยกตัวแบบ 3 มิติจะมีผลเมื่อบันทึกแล้ว"
    },
    "expressionLabels": {
      "style": "นิพจน์สไตล์",
      "color": "นิพจน์สี",
      "height": "นิพจน์ความสูง"
    },
    "expressionErrors": {
      "notArray": "{{label}}ต้องเป็นนิพจน์แบบอาร์เรย์ JSON",
      "notOperator": "{{label}}ต้องขึ้นต้นด้วยตัวดำเนินการ เช่น [\"==\", [\"get\", \"field\"], value]",
      "notJson": "{{label}}ไม่ใช่ JSON ที่ถูกต้อง: {{message}}"
    },
    "expressionBuilder": {
      "title": "ตัวสร้างนิพจน์",
      "openBuilder": "เปิดตัวสร้างนิพจน์",
      "openBuilderForRule": "เปิดตัวสร้างนิพจน์สำหรับกฎที่ {{index}}",
      "expressionLabel": "นิพจน์",
      "clear": "ล้างนิพจน์",
      "valid": "นิพจน์ถูกต้อง",
      "apply": "นำไปใช้",
      "preview": "ตัวอย่าง",
      "previewEmpty": "ป้อนนิพจน์เพื่อดูตัวอย่างแบบสด",
      "previewNoFeatures": "ไม่มีฟีเจอร์ให้ใช้ทดสอบตัวอย่าง",
      "sampleFeature": "ฟีเจอร์ที่ {{index}} จาก {{count}}",
      "previousFeature": "ฟีเจอร์ก่อนหน้า",
      "nextFeature": "ฟีเจอร์ถัดไป",
      "filterMatches": "ตรงกับฟีเจอร์นี้",
      "filterNoMatch": "ไม่ตรงกับฟีเจอร์นี้",
      "fields": "ฟิลด์",
      "noFields": "เลเยอร์นี้ไม่มีฟิลด์แอตทริบิวต์",
      "insertField": "แทรกฟิลด์ {{name}}",
      "functionsHeading": "ฟังก์ชัน",
      "functionSearch": "ค้นหาฟังก์ชัน",
      "noFunctionMatches": "ไม่มีฟังก์ชันที่ตรงกับการค้นหา",
      "variables": "ตัวแปร",
      "variablesHint": "ตัวแปรจะถูกแทนที่ด้วยค่าปัจจุบันเมื่อนำนิพจน์ไปใช้",
      "categories": {
        "data": "ข้อมูลและการค้นค่า",
        "decision": "เงื่อนไขและการเปรียบเทียบ",
        "math": "คณิตศาสตร์",
        "string": "ข้อความ",
        "conversion": "การแปลงชนิดข้อมูล",
        "camera": "ระดับซูมและสี"
      },
      "functions": {
        "get": "คืนค่าของแอตทริบิวต์ของฟีเจอร์ตามชื่อที่ระบุ",
        "has": "เป็นจริงเมื่อฟีเจอร์มีแอตทริบิวต์ตามชื่อที่ระบุ",
        "id": "คืนค่ารหัสของฟีเจอร์",
        "properties": "คืนออบเจกต์แอตทริบิวต์ทั้งหมดของฟีเจอร์",
        "geometryType": "คืนชนิดเรขาคณิตของฟีเจอร์ (Point, LineString, Polygon ฯลฯ)",
        "at": "คืนสมาชิกของอาร์เรย์ที่ดัชนีที่ระบุ",
        "in": "เป็นจริงเมื่อค่าแรกอยู่ในค่าที่สอง (ข้อความหรืออาร์เรย์)",
        "indexOf": "คืนตำแหน่งของค่าแรกในค่าที่สอง หรือ -1 หากไม่พบ",
        "length": "คืนความยาวของข้อความหรืออาร์เรย์",
        "literal": "ฝังอาร์เรย์หรือออบเจกต์แบบตายตัวลงในนิพจน์",
        "typeofOp": "คืนชื่อชนิดข้อมูลของค่า",
        "caseOp": "คืนผลลัพธ์แรกที่เงื่อนไขเป็นจริง มิฉะนั้นคืนค่าสำรอง",
        "match": "เปรียบเทียบค่านำเข้ากับค่าที่ระบุไว้ แล้วคืนผลลัพธ์ที่ตรงกัน",
        "coalesce": "คืนค่าแรกที่ไม่เป็นค่าว่าง",
        "eq": "เป็นจริงเมื่อค่าทั้งสองเท่ากัน",
        "neq": "เป็นจริงเมื่อค่าทั้งสองต่างกัน",
        "gt": "เป็นจริงเมื่อค่าแรกมากกว่าค่าที่สอง",
        "gte": "เป็นจริงเมื่อค่าแรกมากกว่าหรือเท่ากับค่าที่สอง",
        "lt": "เป็นจริงเมื่อค่าแรกน้อยกว่าค่าที่สอง",
        "lte": "เป็นจริงเมื่อค่าแรกน้อยกว่าหรือเท่ากับค่าที่สอง",
        "all": "เป็นจริงเมื่อทุกเงื่อนไขเป็นจริง",
        "any": "เป็นจริงเมื่อมีอย่างน้อยหนึ่งเงื่อนไขเป็นจริง",
        "not": "กลับค่าบูลีน",
        "add": "บวกตัวเลข",
        "subtract": "ลบตัวเลขที่สองออกจากตัวเลขแรก",
        "multiply": "คูณตัวเลข",
        "divide": "หารตัวเลขแรกด้วยตัวเลขที่สอง",
        "modulo": "คืนเศษที่เหลือจากการหาร",
        "power": "ยกกำลังตัวเลขแรกด้วยตัวเลขที่สอง",
        "abs": "คืนค่าสัมบูรณ์",
        "ceil": "ปัดขึ้นเป็นจำนวนเต็มที่ใกล้ที่สุด",
        "floor": "ปัดลงเป็นจำนวนเต็มที่ใกล้ที่สุด",
        "round": "ปัดเป็นจำนวนเต็มที่ใกล้ที่สุด",
        "sqrt": "คืนค่ารากที่สอง",
        "ln": "คืนค่าลอการิทึมธรรมชาติ",
        "log10": "คืนค่าลอการิทึมฐานสิบ",
        "min": "คืนค่าที่น้อยที่สุดในบรรดาค่าทั้งหมด",
        "max": "คืนค่าที่มากที่สุดในบรรดาค่าทั้งหมด",
        "concat": "เชื่อมค่าต่าง ๆ เข้าเป็นข้อความเดียว",
        "upcase": "แปลงข้อความเป็นตัวพิมพ์ใหญ่",
        "downcase": "แปลงข้อความเป็นตัวพิมพ์เล็ก",
        "slice": "คืนส่วนหนึ่งของข้อความหรืออาร์เรย์",
        "toNumber": "แปลงค่าเป็นตัวเลข",
        "toString": "แปลงค่าเป็นข้อความ",
        "toBoolean": "แปลงค่าเป็นจริงหรือเท็จ",
        "toColor": "แปลงค่าเป็นสี",
        "zoom": "ระดับซูมปัจจุบันของแผนที่ (แผนที่ประเมินค่าให้แบบสด)",
        "interpolate": "ไล่ค่าผลลัพธ์อย่างต่อเนื่องตามค่านำเข้าที่เปลี่ยนไป",
        "step": "คืนผลลัพธ์แบบขั้นบันไดตามเกณฑ์ของค่านำเข้าที่กำหนด",
        "rgb": "สร้างสีจากค่าแดง เขียว และน้ำเงิน (0-255)",
        "rgba": "สร้างสีจากค่าแดง เขียว น้ำเงิน และอัลฟา"
      }
    },
    "decorations": {
      "heading": "การตกแต่งเส้น",
      "typeNone": "ไม่มี",
      "typeArrow": "ลูกศร",
      "typeTriangle": "สามเหลี่ยม",
      "typeCircle": "วงกลม",
      "typeSquare": "สี่เหลี่ยมจัตุรัส",
      "color": "สีของการตกแต่ง",
      "size": "ขนาดสัญลักษณ์ (พิกเซล)",
      "spacing": "ระยะห่าง (พิกเซล)"
    },
    "generator": {
      "heading": "ตัวสร้างเรขาคณิต",
      "type": "เรขาคณิตที่สร้างขึ้น",
      "typeNone": "ไม่มี",
      "typeCentroid": "จุดศูนย์ถ่วง",
      "typeBoundingBox": "กรอบขอบเขต",
      "typeConvexHull": "รูปนูนห่อหุ้ม",
      "typeBuffer": "บัฟเฟอร์",
      "bufferDistance": "ระยะบัฟเฟอร์ (m)",
      "fillColor": "สีเติม",
      "strokeColor": "สีเส้นขอบ",
      "strokeWidth": "ความหนาเส้นขอบ (พิกเซล)",
      "opacity": "ความทึบของสีเติม",
      "circleRadius": "รัศมีของจุด (พิกเซล)"
    },
    "attributeForm": {
      "heading": "แบบฟอร์มแอตทริบิวต์",
      "empty": "ยังไม่ได้ตั้งค่าฟิลด์ใด กรุณากำหนดวิดเจ็ตสำหรับแก้ไข เงื่อนไข หรือกฎการมองเห็นให้กับฟิลด์",
      "configureField": "ตั้งค่าฟิลด์",
      "field": "ฟิลด์",
      "selectField": "เลือกฟิลด์…",
      "widgetLabel": "วิดเจ็ตสำหรับแก้ไข",
      "widget": {
        "text": "ข้อความ",
        "number": "ตัวเลข",
        "range": "ช่วงค่า",
        "checkbox": "ช่องทำเครื่องหมาย",
        "date": "วันที่",
        "valueMap": "ตารางจับคู่ค่า"
      },
      "alias": "ชื่อแทน",
      "required": "จำเป็นต้องกรอก",
      "requiredTag": "จำเป็น",
      "constraintTag": "เงื่อนไข",
      "visibilityTag": "การมองเห็น",
      "valueMap": "รายการในตารางจับคู่ค่า",
      "valueMapPlaceholder": "residential=ที่อยู่อาศัย\ncommercial=พาณิชยกรรม",
      "valueMapHint": "หนึ่งรายการต่อหนึ่งบรรทัด ในรูปแบบ ค่า หรือ ค่า=ป้ายกำกับ",
      "min": "ต่ำสุด",
      "max": "สูงสุด",
      "step": "ขั้นการเพิ่ม",
      "constraintExpression": "นิพจน์เงื่อนไข",
      "constraintPlaceholder": "[\">\", [\"get\", \"population\"], 0]",
      "constraintDescription": "คำอธิบายเงื่อนไข",
      "constraintDescriptionPlaceholder": "แสดงเมื่อไม่ผ่านเงื่อนไข",
      "visibilityExpression": "นิพจน์การมองเห็น",
      "visibilityPlaceholder": "[\"==\", [\"get\", \"type\"], \"school\"]",
      "invalidExpression": "นิพจน์ไม่ถูกต้อง",
      "openBuilder": "เปิดตัวสร้างนิพจน์",
      "edit": "แก้ไขการตั้งค่าฟิลด์",
      "remove": "นำการตั้งค่าฟิลด์ออก",
      "cancel": "ยกเลิก",
      "save": "บันทึก",
      "noFields": "เลเยอร์นี้ไม่มีฟิลด์แอตทริบิวต์ให้ตั้งค่า",
      "minMaxInvalid": "ค่าต่ำสุดต้องน้อยกว่าหรือเท่ากับค่าสูงสุด"
    }
  },
  "vectorExport": {
    "invalidKmlCoordinatesByPosition": "การส่งออก KML ไม่สามารถเขียนฟีเจอร์ลำดับที่ {{position}} ได้ เนื่องจากมีพิกัดไม่ถูกต้อง",
    "invalidKmlCoordinatesById": "การส่งออก KML ไม่สามารถเขียนฟีเจอร์รหัส {{id}} ได้ เนื่องจากมีพิกัดไม่ถูกต้อง"
  },
  "layers": {
    "panelCollapsedLabel": "เลเยอร์ (ย่อไว้)",
    "expand": "ขยายแผงเลเยอร์",
    "collapse": "ย่อแผงเลเยอร์",
    "resizePanel": "ปรับขนาดแผงเลเยอร์",
    "dragToReorder": "ลากเพื่อจัดลำดับใหม่",
    "saveGeometryEdits": "บันทึกการแก้ไขเรขาคณิต",
    "discardGeometryEdits": "ทิ้งการแก้ไขเรขาคณิต",
    "moveUp": "เลื่อนขึ้น",
    "moveDown": "เลื่อนลง",
    "zoomToLayer": "ซูมไปยังเลเยอร์",
    "layerActions": "การดำเนินการกับเลเยอร์",
    "metadata": "เมทาดาทา",
    "removeLayer": "นำเลเยอร์ออก",
    "identifyFeatures": "ระบุข้อมูลฟีเจอร์",
    "identifyDeactivate": "ปิดการระบุข้อมูล",
    "identifyInspectPixels": "ตรวจดูค่าพิกเซล",
    "identifyStopInspectPixels": "หยุดตรวจดูค่าพิกเซล",
    "identifyUnavailable": "การระบุข้อมูลใช้ได้เฉพาะเลเยอร์เวกเตอร์ WMS และ COG เท่านั้น",
    "exportGeoTiff": "GeoTIFF (COG)",
    "extractSubset": "แยกชุดข้อมูลย่อย…",
    "stylesMenu": "สไตล์",
    "exportMapboxStyle": "ส่งออกเป็นสไตล์ Mapbox GL",
    "exportSldStyle": "ส่งออกเป็น OGC SLD",
    "exportQmlStyle": "ส่งออกเป็น QGIS QML",
    "exportStyleSuccess": "ส่งออกสไตล์แล้ว",
    "exportStyleDataNotReady": "ข้อมูลของเลเยอร์ยังไม่พร้อม กรุณาลองใหม่อีกสักครู่",
    "exportStyleNeedsFeatures": "การส่งออกสไตล์ต้องใช้เลเยอร์เวกเตอร์ที่มีฟีเจอร์",
    "exportStyleError": "ไม่สามารถส่งออกสไตล์ของเลเยอร์นี้ได้",
    "importStyle": "นำเข้าสไตล์ (Mapbox GL / SLD / QML)…",
    "openStyleManager": "สไตล์ที่บันทึกไว้ (ตัวจัดการสไตล์)…",
    "importStyleSuccess": "นำเข้าสไตล์แล้ว",
    "importStyleInvalid": "ไฟล์นั้นไม่ใช่ JSON, SLD หรือ QML ที่ถูกต้อง",
    "importStyleNoMatch": "ไม่สามารถอ่านสัญลักษณ์จากสไตล์นั้นได้",
    "importStyleError": "ไม่สามารถนำเข้าสไตล์นี้ได้",
    "copyStyle": "คัดลอกสไตล์",
    "pasteStyle": "วางสไตล์",
    "pasteStyleFrom": "วางสไตล์จาก \"{{name}}\"",
    "pasteStyleEmpty": "กรุณาคัดลอกสไตล์ของเลเยอร์ก่อน",
    "pasteStyleMismatch": "สไตล์ที่คัดลอกมาใช้กับเลเยอร์คนละชนิด",
    "styleCopied": "คัดลอกสไตล์จาก \"{{name}}\" แล้ว",
    "stylePasted": "วางสไตล์จาก \"{{name}}\" แล้ว",
    "saveToLibrary": "บันทึกลงในข้อมูลของฉัน",
    "savedToLibrary": "บันทึก “{{name}}” ลงในข้อมูลของฉันแล้ว",
    "saveToLibraryNoSource": "เลเยอร์นี้ไม่มีแหล่งข้อมูลที่เพิ่มซ้ำได้ จึงบันทึกลงในข้อมูลของฉันไม่ได้",
    "saveToLibraryTooLarge": "ฟีเจอร์ของเลเยอร์นี้เป็นข้อมูลชุดเดียวที่มีอยู่ และมีขนาดใหญ่เกินกว่าจะบันทึกลงในข้อมูลของฉัน",
    "saveToLibraryConfigTooLarge": "การตั้งค่าที่บันทึกไว้ของเลเยอร์นี้มีขนาดใหญ่เกินไปสำหรับข้อมูลของฉัน",
    "bindToTimeSlider": "ผูกกับแถบเลื่อนเวลา…",
    "bindTimeDimensionToTimeSlider": "ผูกมิติเวลากับแถบเลื่อนเวลา",
    "bindNoTimeDimension": "เลเยอร์นี้ไม่มีมิติเวลาที่อ่านได้",
    "unbindFromTimeSlider": "ยกเลิกการผูกกับแถบเลื่อนเวลา",
    "bindDialogDescription": "กรองฟีเจอร์ของเลเยอร์นี้ตามคุณสมบัติที่เป็นวันที่หรือเวลาขณะที่คุณเลื่อนไทม์ไลน์ เลเยอร์จะยังคงสไตล์และความทึบเดิมไว้",
    "bindScanning": "กำลังสแกนฟีเจอร์เพื่อหาคุณสมบัติที่เป็นวันที่และเวลา…",
    "bindNoProperty": "ไม่พบคุณสมบัติที่เป็นวันที่หรือเวลาในเลเยอร์นี้",
    "bindNoTimestamps": "คุณสมบัติที่เลือกไม่มีค่าเวลาที่อ่านได้ กรุณาเลือกคุณสมบัติอื่น",
    "bindTileNoFeatures": "ยังไม่มีไทล์ที่โหลดไว้สำหรับเลเยอร์นี้ กรุณาซูมไปยังเลเยอร์แล้วลองใหม่",
    "bindRange": "ช่วงเวลา",
    "bindRangeEnd": "สิ้นสุดช่วงเวลา",
    "bindRangeHint": "อ้างอิงจากไทล์ที่โหลดมาแล้ว จึงอาจแคบกว่าชุดข้อมูลทั้งหมด ป้อนเป็นปี (1958) หรือวันที่ (1958-03-01)",
    "bindRangeInvalid": "ป้อนขอบเขตทั้งสองด้านเป็นปี (1958) หรือวันที่ (1958-03-01)",
    "bindProperty": "คุณสมบัติที่ใช้เป็นเวลา",
    "bindWindow": "แสดงฟีเจอร์",
    "bindWindowStep": "ในขั้นเวลาปัจจุบัน",
    "bindWindowWide": "ภายในหนึ่งขั้นเวลาก่อนและหลัง",
    "bindWindowWider": "ภายในสามขั้นเวลาก่อนและหลัง",
    "bindWindowCumulative": "ทั้งหมดจนถึงขั้นเวลาปัจจุบัน (สะสม)",
    "bindCancel": "ยกเลิก",
    "bindConfirm": "ผูก",
    "openRasterStylePanel": "แก้ไขสไตล์แรสเตอร์…",
    "exportRasterSuccess": "ส่งออกแรสเตอร์แล้ว",
    "exportRasterError": "ไม่สามารถส่งออกแรสเตอร์นี้ได้",
    "saveEditsToSource": "บันทึกการแก้ไขลงไฟล์ต้นทาง",
    "saveEditsSuccess": "บันทึก {{count}} ฟีเจอร์ลงไฟล์ต้นทางแล้ว",
    "saveEditsNoFeatures": "เลเยอร์นี้ไม่มีฟีเจอร์ให้บันทึก",
    "saveEditsError": "ไม่สามารถบันทึกการแก้ไขลงไฟล์ต้นทางได้",
    "saveEditsToPostgis": "บันทึกการแก้ไขลงตาราง PostGIS",
    "saveEditsPostgisSuccess": "บันทึกลง {{table}} แล้ว: เพิ่ม {{inserted}} แก้ไข {{updated}} ลบ {{deleted}}",
    "saveEditsPostgisSkippedFields": "ฟิลด์ที่ไม่มีคอลัมน์ในตารางที่ตรงกันจะไม่ถูกบันทึก: {{fields}}",
    "saveEditsPostgisRefreshWarning": "บันทึกการแก้ไขลงตารางแล้ว แต่การรีเฟรชเลเยอร์ล้มเหลว กรุณาโหลดเลเยอร์ใหม่ก่อนบันทึกอีกครั้ง มิฉะนั้นฟีเจอร์ใหม่อาจถูกเพิ่มซ้ำสองครั้ง",
    "saveEditsPostgisNoConnection": "ไม่มีการเชื่อมต่อ PostgreSQL สำหรับเลเยอร์นี้ กรุณาเชื่อมต่อใหม่ที่ เพิ่มข้อมูล > PostgreSQL แล้วลองใหม่",
    "typeBasemap": "แผนที่ฐาน",
    "searchPlaces": "ค้นหาสถานที่",
    "searchPlacesPlaceholder": "ค้นหาสถานที่ ละติจูด ลองจิจูด หรือเซลล์ H3...",
    "searchPlacesSearching": "กำลังค้นหา...",
    "searchPlacesNoResults": "ไม่พบสถานที่",
    "searchPlacesError": "การค้นหาล้มเหลว กรุณาลองใหม่",
    "searchPlacesClear": "ล้างการค้นหา",
    "searchPlacesGoToCoordinate": "ไปยัง {{coordinate}}",
    "searchPlacesGoToH3Cell": "ไปยังเซลล์ H3 {{cell}} (ความละเอียด {{resolution}})",
    "background": "พื้นหลัง",
    "backgroundCannotReorder": "ไม่สามารถจัดลำดับพื้นหลังใหม่ได้",
    "hideBackground": "ซ่อนพื้นหลัง",
    "showBackground": "แสดงพื้นหลัง",
    "opacity": "ความทึบ",
    "opacityExactHint": "ดับเบิลคลิกเพื่อป้อนค่าที่แน่นอน",
    "opacityFor": "ความทึบของ {{name}}",
    "opacityValueInputAria": "ค่าของ{{label}}",
    "opacityValueEditAria": "แก้ไขค่าของ{{label}}",
    "basemapOpacity": "ความทึบของแผนที่ฐาน",
    "newGroup": "กลุ่มใหม่",
    "basemaps": "แผนที่ฐาน",
    "geoEditor": "GeoEditor",
    "collapseGroup": "ย่อกลุ่ม",
    "expandGroup": "ขยายกลุ่ม",
    "hideGroup": "ซ่อนกลุ่ม",
    "showGroup": "แสดงกลุ่ม",
    "renameGroup": "เปลี่ยนชื่อกลุ่ม",
    "moveGroupUp": "เลื่อนกลุ่มขึ้น",
    "moveGroupDown": "เลื่อนกลุ่มลง",
    "ungroupKeepLayers": "ยกเลิกการจัดกลุ่ม (คงเลเยอร์ไว้)",
    "deleteGroupAndLayers": "ลบกลุ่มและเลเยอร์",
    "groupActions": "การดำเนินการกับกลุ่ม",
    "addDataToGroup": "เพิ่มข้อมูลลงในกลุ่ม",
    "groupOpacity": "ความทึบ",
    "groupOpacityAria": "ความทึบของกลุ่ม {{name}}",
    "doubleClickToRename": "ดับเบิลคลิกเพื่อเปลี่ยนชื่อ",
    "doubleClickToChangeBasemap": "ดับเบิลคลิกเพื่อเปลี่ยนแผนที่ฐาน",
    "renameNamed": "เปลี่ยนชื่อ {{name}}",
    "newGroupFromLayer": "สร้างกลุ่มใหม่จากเลเยอร์นี้",
    "newGroupFromSelectedLayers": "สร้างกลุ่มใหม่จากเลเยอร์ที่เลือก",
    "moveToGroup": "ย้ายไปยังกลุ่ม",
    "moveSelectedToGroup": "ย้ายเลเยอร์ที่เลือกไปยังกลุ่ม",
    "removeFromGroup": "นำออกจากกลุ่ม",
    "hiddenByGroup": "ถูกซ่อนเนื่องจากกลุ่มของเลเยอร์นี้ไม่ได้แสดงอยู่",
    "empty": "ไม่มีเลเยอร์ข้อมูล กรุณาเพิ่มข้อมูลจากแถบเครื่องมือ",
    "emptyBeginner": "ยังไม่มีเลเยอร์ เพิ่มแผนที่ฐานได้ที่ ปลั๊กอิน → แผนที่ฐาน หรือเพิ่มข้อมูลของคุณเองผ่านเมนูเพิ่มข้อมูล",
    "hideAllLayers": "ซ่อนเลเยอร์ทั้งหมด",
    "showAllLayers": "แสดงเลเยอร์ทั้งหมด",
    "dragNamedToReorder": "ลาก {{name}} เพื่อจัดลำดับใหม่",
    "hideLayer": "ซ่อนเลเยอร์",
    "showLayer": "แสดงเลเยอร์",
    "editingGeometry": "กำลังแก้ไขเรขาคณิต",
    "rename": "เปลี่ยนชื่อ",
    "materializeToEditable": "แปลงเป็นเลเยอร์ที่แก้ไขได้",
    "finishEditingGeometry": "จบการแก้ไขเรขาคณิต",
    "editGeometry": "แก้ไขเรขาคณิต",
    "openAttributeTable": "เปิดตารางแอตทริบิวต์",
    "openRasterAttributeTable": "เปิดตารางแอตทริบิวต์แรสเตอร์",
    "export": "ส่งออก",
    "refresh": "รีเฟรช",
    "autoRefreshOn": "เปิดการรีเฟรชอัตโนมัติ",
    "lastSynced": "ซิงค์ล่าสุด {{time}}",
    "syncErrorStatus": "การซิงค์ล้มเหลว: {{message}}",
    "autoRefresh": "รีเฟรชอัตโนมัติ",
    "refreshWfsGeojsonOnly": "เฉพาะ URL แบบ WFS และ GeoJSON เท่านั้น",
    "editSqlQuery": "แก้ไขคำสั่งค้นหาในพื้นที่ทำงาน SQL",
    "reloadFromDisk": "โหลดใหม่จากดิสก์",
    "watchFile": "เฝ้าดูการเปลี่ยนแปลงของไฟล์",
    "watchError": "ไม่สามารถเฝ้าดูการเปลี่ยนแปลงของไฟล์นี้ได้",
    "autoRefreshDialogTitle": "การรีเฟรชอัตโนมัติของ {{name}}",
    "layerFallback": "เลเยอร์",
    "autoRefreshDialogDescription": "โหลดเลเยอร์นี้ใหม่จากแหล่งข้อมูลตามช่วงเวลาที่กำหนด",
    "interval": "ช่วงเวลา",
    "custom": "กำหนดเอง",
    "customIntervalSeconds": "ช่วงเวลาที่กำหนดเอง (วินาที)",
    "refreshFailurePolicy": "หากการรีเฟรชล้มเหลว",
    "refreshFailureKeepLast": "คงข้อมูลล่าสุดที่สำเร็จไว้",
    "refreshFailureClear": "ล้างเลเยอร์",
    "apply": "นำไปใช้",
    "enterPositiveSeconds": "ป้อนจำนวนวินาทีที่เป็นค่าบวก",
    "metadataDialogTitle": "เมทาดาทาของ {{name}}",
    "metadataDialogDescription": "เมทาดาทาของเลเยอร์และข้อมูลแหล่งที่มา",
    "metadataRasterLoading": "กำลังอ่านเมทาดาทาของแรสเตอร์…",
    "metadataRasterError": "ไม่สามารถอ่านเมทาดาทาของแรสเตอร์นี้ได้",
    "resizeMetadataDialog": "ปรับขนาดกล่องโต้ตอบเมทาดาทา",
    "removeLayerConfirmTitle": "นำเลเยอร์ออกหรือไม่?",
    "removeLayerConfirmBody": "การกระทำนี้จะนำ {{name}} ออกจากโปรเจกต์และแผนที่",
    "thisLayerFallback": "เลเยอร์นี้",
    "refreshingAuto": "กำลังรีเฟรชอัตโนมัติ...",
    "refreshing": "กำลังรีเฟรช...",
    "refreshVectorControlError": "ไม่สามารถรีเฟรชเลเยอร์นี้ได้ กรุณาลองเปิดแผงเพิ่มเลเยอร์เวกเตอร์ใหม่",
    "refreshed": "รีเฟรชแล้ว",
    "refreshedCount": "รีเฟรชแล้ว {{count}} ฟีเจอร์",
    "refreshError": "ไม่สามารถรีเฟรชเลเยอร์นี้ได้",
    "exportNeedsFeatures": "การส่งออกต้องใช้เลเยอร์เวกเตอร์ที่มีฟีเจอร์",
    "exportedWithWarnings": "ส่งออกเลเยอร์แล้ว {{warnings}}",
    "exported": "ส่งออกเลเยอร์แล้ว",
    "exportLayerError": "ไม่สามารถส่งออกเลเยอร์นี้ได้",
    "refreshIntervals": {
      "off": "ปิด",
      "s15": "15 วินาที",
      "s30": "30 วินาที",
      "m1": "1 นาที",
      "m5": "5 นาที",
      "m15": "15 นาที"
    }
  },
  "timeSliderSymbology": {
    "bands": "แบนด์",
    "bandsPlaceholder": "อัตโนมัติ",
    "bandsHint": "หมายเลขแบนด์เริ่มนับจาก 1 คั่นด้วยจุลภาค (เช่น 4,3,2) เว้นว่างไว้เพื่อใช้ค่าเริ่มต้นของตัวแสดงผล",
    "bandsInvalid": "ป้อนหมายเลขแบนด์เป็นจำนวนเต็มตั้งแต่ 1 ขึ้นไป คั่นด้วยจุลภาค",
    "colormapNone": "ไม่มี (RGB / หลายแบนด์)"
  },
  "rasterSymbology": {
    "gamma": "แกมมา",
    "min": "ต่ำสุด",
    "max": "สูงสุด",
    "value": "ค่า",
    "autoPlaceholder": "อัตโนมัติ",
    "colorRampLabel": "ไล่เฉดสี",
    "reverseRamp": "กลับด้านไล่เฉดสี",
    "customRamp": "กำหนดเอง…",
    "customColors": "สีที่กำหนดเอง",
    "customColorsValid": "{{count}} สี เรียงจากค่าต่ำไปสูง ใช้ปุ่มกลับด้านเพื่อสลับลำดับ",
    "customColorsHint": "ป้อนรหัสสีฐานสิบหกอย่างน้อยสองค่า คั่นด้วยจุลภาคหรือช่องว่าง",
    "imagePalette": "จานสีของภาพ",
    "createLegend": "สร้างคำอธิบายสัญลักษณ์จากจานสี",
    "createLegendHint": "เพิ่มคำอธิบายสัญลักษณ์โดยมีหนึ่งรายการต่อหนึ่งค่าพิกเซล ใช้สีจากจานสีของแรสเตอร์ คุณเปลี่ยนชื่อรายการเป็นชื่อชั้นข้อมูลได้ภายหลัง",
    "createLegendPending": "กำลังอ่านจานสี…",
    "createLegendEmpty": "ไม่พบสีในจานสีของแรสเตอร์นี้",
    "createLegendError": "ไม่สามารถอ่านจานสีของแรสเตอร์ได้",
    "heading": "สัญลักษณ์ของแรสเตอร์",
    "renderMode": "โหมดการแสดงผล",
    "modeSingle": "แบนด์เดียว (สีเทียม)",
    "modeIndex": "ดัชนี (ผลต่างแบบนอร์มัลไลซ์)",
    "modeRgb": "ภาพผสม RGB",
    "band": "แบนด์",
    "stretch": "การยืดค่า",
    "stretchLinear": "เชิงเส้น",
    "stretchLog": "ลอการิทึม",
    "stretchSqrt": "รากที่สอง",
    "index": "ดัชนี",
    "classifyToggle": "จัดเป็นชั้นข้อมูลแบบไม่ต่อเนื่อง",
    "method": "วิธีการ",
    "methodEqualInterval": "ช่วงเท่ากัน",
    "methodQuantile": "ควอนไทล์",
    "methodManual": "กำหนดจุดแบ่งเอง",
    "classes": "ชั้นข้อมูล",
    "classEdges": "ขอบเขตของชั้นข้อมูล",
    "noData": "ไม่มีข้อมูล",
    "nodataAuto": "อัตโนมัติ (จากไฟล์)",
    "nodataOff": "แสดงผลทุกพิกเซล",
    "nodataCustom": "ค่าที่กำหนดเอง"
  },
  "rasterAttributeTable": {
    "title": "ตารางแอตทริบิวต์แรสเตอร์",
    "resize": "ปรับขนาดตารางแอตทริบิวต์แรสเตอร์",
    "noRasterSelected": "เลือกเลเยอร์แรสเตอร์เพื่อดูตารางแอตทริบิวต์",
    "computing": "กำลังอ่านชั้นข้อมูลของแรสเตอร์…",
    "empty": "ยังไม่มีชั้นข้อมูล กรุณาใช้ปุ่มคำนวณใหม่เพื่อสร้างตาราง",
    "band": "แบนด์",
    "bandOption": "แบนด์ {{band}}",
    "close": "ปิดตารางแอตทริบิวต์แรสเตอร์",
    "noSource": "แรสเตอร์นี้ไม่มีไฟล์ต้นทางที่อ่านได้",
    "readError": "ไม่สามารถอ่านข้อมูลของแรสเตอร์ได้",
    "bandMissing": "ไม่พบแบนด์ {{band}} ในแรสเตอร์นี้",
    "notCategorical": "แบนด์นี้มีค่าที่แตกต่างกันมากเกินกว่าจะถือเป็นข้อมูลแบบหมวดหมู่",
    "tooManyClasses": "การนำสัญลักษณ์ไปใช้รองรับได้สูงสุด {{max}} ชั้นข้อมูล",
    "symbologyApplied": "นำสัญลักษณ์จากตารางไปใช้แล้ว",
    "noPalette": "แรสเตอร์นี้ไม่มีจานสีฝังอยู่",
    "legendError": "ไม่สามารถเปิดคำอธิบายสัญลักษณ์ได้",
    "csvError": "ไม่สามารถส่งออกไฟล์ CSV ได้",
    "recomputeTitle": "สแกนแรสเตอร์แล้วสร้างตารางชั้นข้อมูลใหม่",
    "applyTitle": "ระบายสีแรสเตอร์ตามชั้นข้อมูลในตาราง",
    "paletteTitle": "รีเซ็ตสีจากจานสีที่ฝังอยู่ในแรสเตอร์",
    "legendTitle": "เติมคำอธิบายสัญลักษณ์บนแผนที่ด้วยชั้นข้อมูลในตาราง",
    "csvTitle": "ส่งออกตารางเป็น CSV",
    "buttons": {
      "recompute": "คำนวณใหม่",
      "apply": "ใช้สัญลักษณ์",
      "palette": "จากจานสี",
      "legend": "ส่งไปคำอธิบายสัญลักษณ์",
      "csv": "CSV"
    },
    "columns": {
      "value": "ค่า",
      "count": "จำนวน",
      "percent": "%",
      "area_m2": "พื้นที่ (m²)",
      "area_ha": "พื้นที่ (ha)",
      "area_km2": "พื้นที่ (km²)",
      "color": "สี",
      "label": "ป้ายกำกับ"
    },
    "rowColor": "สีสำหรับค่า {{value}}",
    "rowLabel": "ป้ายกำกับสำหรับค่า {{value}}"
  },
  "raster": {
    "filePickerLabel": "แรสเตอร์",
    "cogConvertConfirm": "\"{{name}}\" เป็น GeoTIFF ธรรมดา (แบบแถบ) ซึ่งแสดงผลโดยตรงไม่ได้ ต้องการแปลงเป็น Cloud-Optimized GeoTIFF ตอนนี้แล้วโหลดไฟล์นั้นหรือไม่?",
    "cogConvertRemoteConfirm": "\"{{name}}\" เป็น GeoTIFF ธรรมดา (แบบแถบ) ซึ่งแสดงผลโดยตรงไม่ได้ การแสดงผลจะต้องดาวน์โหลดไฟล์ทั้งไฟล์แล้วแปลงเป็น Cloud-Optimized GeoTIFF ในเบราว์เซอร์ ซึ่งอาจช้าและใช้หน่วยความจำมากสำหรับไฟล์ขนาดใหญ่ ต้องการดำเนินการต่อหรือไม่?",
    "cogConvertLargeConfirm": "\"{{name}}\" เป็นไฟล์ GeoTIFF ขนาดใหญ่ {{width}}×{{height}} ที่ไม่ใช่ Cloud-Optimized GeoTIFF การแปลงในเบราว์เซอร์อาจช้าและใช้หน่วยความจำมาก ต้องการแปลงและโหลดต่อไปหรือไม่?",
    "cogConvertFailed": "ไม่สามารถแปลง \"{{name}}\" เป็น Cloud-Optimized GeoTIFF ได้ กรุณาลองแปลงด้วย gdal_translate หรือ rio cogeo แล้วโหลดไฟล์ผลลัพธ์",
    "rasterDownloadFailed": "ไม่สามารถดาวน์โหลด \"{{name}}\" ได้ เซิร์ฟเวอร์อาจตอบสนองช้า เข้าถึงไม่ได้ หรือบล็อกคำขอข้ามต้นทาง หรือไฟล์อาจมีขนาดใหญ่เกินกว่าจะเก็บไว้ในหน่วยความจำ กรุณาตรวจสอบ URL แล้วลองใหม่",
    "rasterNotGeotiff": "\"{{name}}\" ไม่ได้ส่งคืนไฟล์ GeoTIFF เซิร์ฟเวอร์อาจส่งหน้าข้อผิดพลาดหรือหน้าเข้าสู่ระบบมาแทน กรุณาตรวจสอบ URL แล้วลองใหม่"
  },
  "attributeForm": {
    "error": {
      "required": "จำเป็นต้องระบุค่า",
      "number": "ต้องเป็นตัวเลข",
      "range": "ต้องอยู่ระหว่าง {{min}} ถึง {{max}}",
      "rangeMin": "ต้องมีค่าอย่างน้อย {{min}}",
      "rangeMax": "ต้องมีค่าไม่เกิน {{max}}",
      "valueMap": "ค่านี้ไม่อยู่ในรายการที่อนุญาต",
      "constraint": "ไม่ผ่านเงื่อนไขที่กำหนด"
    }
  },
  "legendPanel": {
    "edit": "แก้ไขคำอธิบายสัญลักษณ์",
    "done": "เสร็จสิ้นการแก้ไข",
    "close": "ปิดคำอธิบายสัญลักษณ์",
    "empty": "ไม่มีเลเยอร์ที่มองเห็นได้ให้แสดงในรายการ",
    "renameTitle": "ชื่อคำอธิบายสัญลักษณ์",
    "renameEntry": "เปลี่ยนชื่อ {{name}}",
    "renameItem": "เปลี่ยนชื่อ {{name}}",
    "moveUp": "เลื่อนขึ้น",
    "moveDown": "เลื่อนลง",
    "hideEntry": "ซ่อนจากคำอธิบายสัญลักษณ์",
    "showEntry": "แสดงในคำอธิบายสัญลักษณ์",
    "hideItem": "ซ่อนรายการ",
    "showItem": "แสดงรายการ",
    "customizeEntry": "ปรับแต่งรายการ",
    "resetEntry": "คืนค่าเป็นอัตโนมัติ",
    "removeSection": "นำส่วนนี้ออก",
    "addSection": "เพิ่มส่วนที่กำหนดเอง",
    "newSectionTitle": "ส่วนใหม่",
    "newItemLabel": "รายการใหม่",
    "addItem": "เพิ่มรายการ",
    "removeItem": "นำรายการออก",
    "itemColor": "สีของรายการ",
    "position": "ตำแหน่ง",
    "positions": {
      "top-left": "บนซ้าย",
      "top-right": "บนขวา",
      "bottom-left": "ล่างซ้าย",
      "bottom-right": "ล่างขวา"
    },
    "low": "ต่ำ",
    "high": "สูง",
    "addFromDictionary": "เพิ่มจากดิกชันนารี",
    "dictionaryHint": "ออบเจกต์ JSON ที่มีคู่ {\"label\": \"color\"} หรือหนึ่งบรรทัดต่อหนึ่งรายการในรูปแบบ \"ป้ายกำกับ: สี\"",
    "dictionaryAdd": "เพิ่มส่วน",
    "cancel": "ยกเลิก",
    "resize": "ปรับขนาดคำอธิบายสัญลักษณ์",
    "collapseEntry": "ย่อส่วนนี้",
    "expandEntry": "ขยายส่วนนี้",
    "collapsePanel": "ย่อคำอธิบายสัญลักษณ์",
    "expandPanel": "ขยายคำอธิบายสัญลักษณ์",
    "exportJson": "ส่งออกเป็น JSON"
  },
  "errorBoundary": {
    "title": "เกิดข้อผิดพลาดบางอย่าง",
    "description": "GeoLibre พบข้อผิดพลาดที่ไม่คาดคิดและไม่สามารถทำงานต่อได้ งานของคุณอาจยังไม่ได้บันทึก กรุณาลองกู้คืนก่อนโหลดใหม่",
    "tryAgain": "ลองอีกครั้ง",
    "reload": "โหลดแอปใหม่",
    "sectionFailed": "{{label}} แสดงผลไม่สำเร็จ ส่วนอื่น ๆ ของ GeoLibre ยังใช้งานได้ตามปกติ"
  },
  "commandPalette": {
    "title": "พาเลตต์คำสั่ง",
    "searchAria": "ค้นหาคำสั่ง",
    "searchPlaceholder": "ค้นหาคำสั่ง…",
    "listAria": "คำสั่ง",
    "noMatches": "ไม่พบคำสั่งที่ตรงกัน"
  },
  "shortcuts": {
    "title": "แป้นพิมพ์ลัด",
    "description": "กด {{shortcut}} เพื่อค้นหาทุกการดำเนินการในพาเลตต์คำสั่ง",
    "groupGeneral": "ทั่วไป",
    "groupMapNavigation": "การนำทางแผนที่",
    "openCommandPalette": "เปิดพาเลตต์คำสั่ง",
    "showKeyboardShortcuts": "แสดงแป้นพิมพ์ลัด",
    "nav": {
      "zoomIn": "ซูมเข้า",
      "zoomOut": "ซูมออก",
      "pan": "เลื่อนแผนที่",
      "rotate": "หมุน",
      "tilt": "เอียงมุมกล้อง"
    }
  },
  "diagnostics": {
    "title": "การวินิจฉัยระบบ",
    "description": "คำขอเครือข่ายล่าสุด ข้อผิดพลาดของ MapLibre คำเตือนในคอนโซล และข้อยกเว้นขณะทำงาน",
    "countTotal_other": "ทั้งหมด {{count}} รายการ",
    "countErrors_other": "ข้อผิดพลาด {{count}} รายการ",
    "countWarnings_other": "คำเตือน {{count}} รายการ",
    "countNetwork_other": "เครือข่าย {{count}} รายการ",
    "countNetworkErrors_other": "ข้อผิดพลาดเครือข่าย {{count}} รายการ",
    "logAllRequests": "บันทึกคำขอเครือข่ายทั้งหมด",
    "logAllRequestsHint": "บันทึกคำขอเครือข่ายที่สำเร็จและที่ถูกยกเลิกตั้งแต่นี้เป็นต้นไป โดยจะไม่ย้อนเก็บคำขอที่เกิดขึ้นตอนปิดการบันทึกไว้ ค่าเริ่มต้นคือปิด เนื่องจากการบันทึกทุกคำขอทำให้แอปทำงานช้าลง",
    "copyJson": "คัดลอก JSON",
    "copied": "คัดลอกแล้ว",
    "clear": "ล้าง",
    "emptyAll": "ไม่มีข้อมูลการวินิจฉัยที่บันทึกไว้",
    "emptyError": "ไม่มีข้อมูลการวินิจฉัยระดับข้อผิดพลาดที่บันทึกไว้",
    "emptyWarning": "ไม่มีข้อมูลการวินิจฉัยระดับคำเตือนที่บันทึกไว้",
    "emptyInfo": "ไม่มีข้อมูลการวินิจฉัยระดับข้อมูลทั่วไปที่บันทึกไว้",
    "emptyNetwork": "ไม่มีข้อมูลการวินิจฉัยด้านเครือข่ายที่บันทึกไว้",
    "emptyNetworkError": "ไม่มีข้อมูลการวินิจฉัยข้อผิดพลาดเครือข่ายที่บันทึกไว้"
  },
  "shell": {
    "workspaceTitle": "พื้นที่ทำงานแผนที่ของ GeoLibre",
    "section": {
      "toolbar": "แถบเครื่องมือ",
      "sharedLeftSidebar": "แถบด้านข้างซ้ายที่ใช้ร่วมกัน",
      "pluginPanelLeftOfLayers": "แผงปลั๊กอิน (ทางซ้ายของแผงเลเยอร์)",
      "layerPanel": "แผงเลเยอร์",
      "pluginPanelRightOfLayers": "แผงปลั๊กอิน (ทางขวาของแผงเลเยอร์)",
      "map": "แผนที่",
      "pluginFloatingPanels": "แผงปลั๊กอินแบบลอย",
      "selectionPanels": "แผงการเลือก",
      "sunSimulationPanel": "แผงจำลองดวงอาทิตย์",
      "routeAnimationPanel": "แผงแอนิเมชันเส้นทาง",
      "flightSimulatorPanel": "แผงเครื่องจำลองการบิน",
      "sharedRightSidebar": "แถบด้านข้างขวาที่ใช้ร่วมกัน",
      "pluginPanelLeftOfStyle": "แผงปลั๊กอิน (ทางซ้ายของแผงสไตล์)",
      "stylePanel": "แผงสไตล์",
      "pluginPanelRightOfStyle": "แผงปลั๊กอิน (ทางขวาของแผงสไตล์)",
      "notebook": "โน้ตบุ๊ก",
      "attributeTable": "ตารางแอตทริบิวต์",
      "rasterAttributeTable": "ตารางแอตทริบิวต์แรสเตอร์",
      "dashboard": "แดชบอร์ด",
      "pythonConsole": "คอนโซล Python",
      "sqlWorkspace": "พื้นที่ทำงาน SQL",
      "assistant": "ผู้ช่วย",
      "statusBar": "แถบสถานะ"
    }
  },
  "attributeStats": {
    "title": "สถิติของฟิลด์",
    "description": "สถิติสรุปของฟิลด์ใน \"{{layer}}\"",
    "noFields": "เลเยอร์นี้ไม่มีฟิลด์ให้สรุปข้อมูล",
    "field": "ฟิลด์",
    "scope": "ขอบเขต",
    "scopeAll": "ทุกฟีเจอร์ ({{total}})",
    "scopeFiltered": "เฉพาะที่กรองไว้ ({{total}})",
    "copiedToClipboard": "คัดลอกไปยังคลิปบอร์ดแล้ว",
    "copy": "คัดลอก",
    "copyHeader": "สถิติของฟิลด์ — {{field}}",
    "copyHeaderFiltered": "สถิติของฟิลด์ — {{field}} (เฉพาะที่กรองไว้)",
    "noValues": "ไม่มีค่าให้สรุปข้อมูล",
    "mostFrequent": "ค่าที่พบบ่อยที่สุด",
    "noPopulated": "ไม่มีค่าที่กรอกไว้",
    "stat": {
      "count": "จำนวน",
      "nulls": "ค่าว่าง",
      "nonNumeric": "ไม่ใช่ตัวเลข",
      "unique": "ค่าที่ไม่ซ้ำ",
      "min": "ค่าต่ำสุด",
      "max": "ค่าสูงสุด",
      "mean": "ค่าเฉลี่ย",
      "median": "ค่ามัธยฐาน",
      "std": "ส่วนเบี่ยงเบนมาตรฐาน",
      "sum": "ผลรวม"
    }
  },
  "columnExplorer": {
    "title": "ตัวสำรวจคอลัมน์",
    "description": "ชนิดข้อมูล ความครบถ้วน และการกระจายตัวของทุกฟิลด์ใน \"{{layer}}\"",
    "noFields": "เลเยอร์นี้ไม่มีฟิลด์ให้สำรวจ",
    "findField": "ค้นหาฟิลด์",
    "findFieldPlaceholder": "กรองฟิลด์ตามชื่อ...",
    "scope": "ขอบเขต",
    "scopeAll": "ทุกฟีเจอร์ ({{total}})",
    "scopeFiltered": "เฉพาะที่กรองไว้ ({{total}})",
    "fieldsShown": "{{shown}} จาก {{total}} ฟิลด์",
    "noMatches": "ไม่มีฟิลด์ที่ตรงกับ \"{{search}}\"",
    "typeNumeric": "ตัวเลข",
    "typeText": "ข้อความ",
    "completenessTitle": "กรอกแล้ว {{populated}} รายการ ว่าง {{nulls}} รายการ",
    "populated": "กรอกแล้ว {{total}} รายการ",
    "null": "ว่าง {{total}} รายการ",
    "unique": "ไม่ซ้ำ {{total}} รายการ",
    "min": "ค่าต่ำสุด",
    "mean": "ค่าเฉลี่ย",
    "max": "ค่าสูงสุด",
    "noNumericValues": "ไม่มีค่าตัวเลขให้พล็อต",
    "distributionAria": "การกระจายตัวของ {{field}}: {{total}} ค่า ตั้งแต่ {{min}} ถึง {{max}}",
    "noPopulated": "ไม่มีค่าที่กรอกไว้",
    "moreValues": "+อีก {{total}} ค่า"
  },
  "comments": {
    "title": "ความคิดเห็น",
    "addDialogTitle": "เพิ่มความคิดเห็นสำหรับการตรวจทาน",
    "addDialogDescription": "เพิ่มบันทึกที่ตรึงไว้กับตำแหน่งบนโปรเจกต์นี้ สำหรับให้ทีมตรวจทานหรือใช้อ้างอิงแบบออฟไลน์",
    "authorNameLabel": "ชื่อของคุณ (ถามครั้งเดียว แล้วบันทึกอัตโนมัติ)",
    "authorNamePlaceholder": "เช่น สมชาย หรือ สุดา",
    "commentLabel": "ความคิดเห็น / ข้อเสนอแนะ",
    "commentPlaceholder": "พิมพ์บันทึกการตรวจทานหรือข้อเสนอแนะของคุณที่นี่...",
    "confirmDelete": "คุณแน่ใจหรือไม่ว่าต้องการลบกระทู้ความคิดเห็นนี้?",
    "sessionDisconnected": "เซสชันถูกตัดการเชื่อมต่อ",
    "defaultAuthorName": "ผู้เขียน"
  },
  "netcdfSymbology": {
    "heading": "สัญลักษณ์ของ NetCDF",
    "colorRampLabel": "แผนผังสี",
    "reverse": "กลับด้านแผนผังสี",
    "colorMin": "สีต่ำสุด",
    "colorMax": "สีสูงสุด",
    "resetRange": "รีเซ็ตเป็นช่วงของข้อมูล",
    "openCube": "คิวบ์ 3 มิติ"
  },
  "netcdfCube": {
    "heading": "คิวบ์ภาพ 3 มิติ",
    "close": "ปิด",
    "settings": "ตั้งค่า",
    "setupTitle": "คิวบ์ภาพ 3 มิติ",
    "setupDescription": "เลือกสิ่งที่จะอ่านก่อนสร้างคิวบ์ แต่ละแบนด์จะถูกอ่านแยกกัน ดังนั้นขอบเขตและจำนวนแบนด์จึงเป็นตัวกำหนดเวลาที่ใช้",
    "extent": "ขอบเขต",
    "extentView": "มุมมองแผนที่ปัจจุบัน",
    "extentDraw": "วาดบนแผนที่",
    "extentFull": "ขอบเขตทั้งหมดของเลเยอร์",
    "viewHint": "อ่านสิ่งที่แผนที่แสดงอยู่ ณ ตอนที่สร้างคิวบ์",
    "fullHint": "อ่านกริดทั้งหมด ซึ่งจะช้าสำหรับคิวบ์ขนาดเท่าฉากภาพ",
    "drawBbox": "วาดบนแผนที่",
    "drawing": "ลากกรอบบนแผนที่เพื่อกำหนดขอบเขตของคิวบ์",
    "drawHint": "ลากกรอบบนแผนที่เพื่อกำหนดขอบเขต",
    "drawnExtent": "ตะวันตก {{west}}, ใต้ {{south}}, ตะวันออก {{east}}, เหนือ {{north}}",
    "detail": "ระดับรายละเอียด",
    "detailOption": "ด้านละ {{size}} เซลล์",
    "bands": "แบนด์",
    "allBands": "ทั้งหมด ({{count}})",
    "rgbOverlay": "วางภาพ RGB ไว้ด้านบน",
    "rgbHint": "ผสมสามแบนด์เป็นภาพสีแล้ววางไว้บนหน้าด้านบน เพื่อให้คิวบ์ยังดูออกว่าเป็นสถานที่ใด",
    "red": "แดง",
    "green": "เขียว",
    "blue": "น้ำเงิน",
    "planeEstimate": "อ่านแบนด์ {{count}} ครั้ง",
    "create": "สร้างคิวบ์",
    "colorRampLabel": "แผนผังสี",
    "reverse": "กลับด้าน",
    "showRgb": "RGB ด้านบน",
    "rgbBands": "แบนด์ RGB",
    "recomposing": "กำลังอ่าน...",
    "zScale": "ความสูง",
    "slice": "ระนาบตัด",
    "sliceAt": "ตัดที่ {{band}} {{units}}",
    "reading": "กำลังอ่านแบนด์ที่ {{done}} จาก {{total}}...",
    "summary": "{{nx}} x {{ny}} เซลล์, {{nz}} แบนด์ตามแกน {{axis}}",
    "errorNoCube": "ไฟล์ต้นทางของเลเยอร์นี้ไม่ได้เปิดอยู่แล้ว จึงอ่านคิวบ์ไม่ได้",
    "error": {
      "shapeMismatch": "ระนาบแบนด์ของตัวแปรนี้มีรูปทรงไม่ตรงกัน จึงซ้อนเป็นคิวบ์ไม่ได้",
      "rgbShapeMismatch": "แบนด์ RGB ที่เลือกไม่ตรงกับรูปทรงของคิวบ์",
      "noBands": "ตัวแปรนี้ไม่มีแบนด์ให้อ่าน",
      "noReadWindow": "คิวบ์นี้อัปเดตในที่เดิมไม่ได้ กรุณาสร้างใหม่จากการตั้งค่า"
    }
  },
  "netcdfProfile": {
    "heading": "โปรไฟล์เชิงสเปกตรัม",
    "clear": "ล้าง",
    "chartAria": "ค่าพิกเซลที่สุ่มอ่านตามแกนแบนด์",
    "popOut": "แยกออกเป็นหน้าต่าง",
    "dock": "ผนึกเข้าที่",
    "poppedOutHint": "แผนภูมิเปิดอยู่ในหน้าต่างบนแผนที่",
    "noValues": "ไม่มีค่าที่จะพล็อตสำหรับพิกเซลเหล่านี้",
    "exportPng": "PNG",
    "exportCsv": "CSV",
    "exportError": "ไม่สามารถส่งออกแผนภูมิได้"
  },
  "netcdfIdentify": {
    "noData": "ไม่มีข้อมูล",
    "coordinates": "ลองจิจูด, ละติจูด",
    "cell": "แถว, คอลัมน์"
  }
}
