{
  "projectHistory": {
    "title": "Riwayat Proyek",
    "description": "Telusuri snapshot yang tersimpan otomatis di perangkat ini.",
    "empty": "Belum ada snapshot yang tersimpan otomatis.",
    "summary": "{{count}} layer · zoom {{zoom}}",
    "restore": "Pulihkan",
    "discard": "Buang",
    "restoreError": "Snapshot ini tidak dapat dipulihkan. Mungkin rusak atau tidak kompatibel dengan versi GeoLibre ini.",
    "recoveryTitle": "Pulihkan pekerjaan yang belum disimpan?",
    "recoveryDescription": "GeoLibre tidak ditutup dengan benar. Tersedia simpanan otomatis \"{{name}}\" yang lebih baru."
  },
  "browser": {
    "title": "Browser",
    "services": "Layanan",
    "recent": "Terbaru",
    "databases": "Basis data",
    "newDatabaseConnection": "Koneksi basis data baru",
    "searchPlaceholder": "Cari sumber data",
    "empty": "Belum ada layanan tersimpan atau proyek terbaru.",
    "emptyGroup": "Kosong",
    "noMatches": "Tidak ada yang cocok.",
    "addFailed": "Tidak dapat menambahkan sumber data ini.",
    "builtinBadge": "bawaan",
    "newConnection": "Koneksi {{kind}} baru",
    "loadingTables": "Memuat tabel…",
    "files": "File",
    "addFolder": "Tambah folder",
    "addFolderFailed": "Tidak dapat menambahkan folder ini.",
    "addFileFailed": "Tidak dapat menambahkan file ini.",
    "loadFolderFailed": "Tidak dapat membaca folder ini.",
    "unpinFolder": "Hapus “{{name}}” dari daftar",
    "loadingFolder": "Memuat…",
    "folderTruncated": "Menampilkan {{shown}} pertama dari {{total}}",
    "favorites": "Favorit",
    "favorite": "Tambahkan “{{name}}” ke favorit",
    "unfavorite": "Hapus “{{name}}” dari favorit",
    "favoriteMissing": "Sumber data tersebut sudah tidak ada — dihapus dari Favorit.",
    "myData": "Data Saya",
    "renameLibraryLayer": "Ganti nama \"{{name}}\"",
    "deleteLibraryLayer": "Hapus \"{{name}}\" dari Data Saya",
    "desktopOnlyBadge": "desktop",
    "importLibrary": "Impor layer tersimpan",
    "exportLibrary": "Ekspor layer tersimpan",
    "libraryFilterName": "JSON pustaka layer",
    "libraryImportFailed": "Tidak dapat membaca berkas pustaka layer ini.",
    "libraryExportFailed": "Tidak dapat mengekspor pustaka layer.",
    "libraryLayerMissing": "Layer tersimpan itu sudah tidak ada.",
    "libraryLayerNeedsDesktop": "Layer tersimpan ini membaca berkas dari disk, sehingga memerlukan GeoLibre Desktop. Tambahkan berkas itu lagi untuk menyimpan entri baru.",
    "libraryLayerConfigNotApplied": "Berkas untuk \"{{name}}\" telah ditambahkan, tetapi gaya yang tersimpan tidak dapat dicocokkan ke satu layer, sehingga tidak diterapkan kembali.",
    "libraryLayerJoinsUnresolved_other": "Layer telah ditambahkan, tetapi {{count}} join tersimpan tidak dapat diterapkan kembali: layer yang menjadi tujuan join tidak ada dalam proyek ini."
  },
  "about": {
    "trigger": "Tentang",
    "title": "Tentang GeoLibre",
    "description": "GeoLibre adalah platform GIS berbasis cloud yang ringan.",
    "version": "Versi",
    "checkForUpdates": "Periksa pembaruan",
    "tryAgain": "Coba lagi",
    "checking": "Memeriksa pembaruan",
    "upToDate": "Anda sudah menggunakan versi terbaru ({{version}}).",
    "upToDateNoVersion": "Anda sudah menggunakan versi terbaru.",
    "generalSectionTitle": "Umum",
    "homePage": "Halaman utama",
    "githubRepository": "Repositori GitHub"
  },
  "updates": {
    "changelogTitle": "Yang baru",
    "noChangelog": "Catatan rilis tidak tersedia. Lihat halaman unduhan untuk detailnya.",
    "stepsTitle": "Cara memperbarui",
    "download": "Unduh pembaruan",
    "steps": {
      "download": "Unduh installer untuk platform Anda dari halaman unduhan.",
      "install": "Jalankan installer. Proyek, pengaturan, dan kunci API lokal Anda tetap tersimpan.",
      "reopen": "Buka kembali GeoLibre untuk menyelesaikan pembaruan."
    },
    "severity": {
      "major": "Rilis besar",
      "minor": "Pembaruan fitur",
      "patch": "Pembaruan tambal"
    },
    "available": {
      "title": "{{version}} tersedia",
      "fallback": "Versi baru",
      "summary": "Anda menjalankan {{current}}."
    },
    "error": {
      "message": "Tidak dapat memeriksa pembaruan.",
      "rateLimit": "Batas laju GitHub terlampaui. Silakan coba lagi nanti.",
      "http": "GitHub mengembalikan {{status}}.",
      "noTag": "Rilis terbaru tidak menyertakan tag versi.",
      "network": "Tidak dapat menjangkau GitHub. Periksa koneksi Anda dan coba lagi.",
      "viewDownloads": "Lihat unduhan",
      "viewDownloadsHint": "Membuka halaman unduhan GeoLibre di browser Anda sehingga Anda dapat memeriksa versi terbaru secara manual."
    },
    "startup": {
      "title": "Pembaruan tersedia",
      "currentVersion": "Versi Anda saat ini",
      "latestVersion": "Versi terbaru yang tersedia",
      "download": "Unduh paket pembaruan",
      "remindLater": "Ingatkan saya nanti",
      "skipVersion": "Lewati versi ini",
      "settingsHint": "Anda dapat mengubah pemeriksaan pembaruan di Pengaturan → Pembaruan."
    }
  },
  "masBuild": {
    "unavailable": "Fitur ini tidak tersedia pada GeoLibre Desktop versi Mac App Store."
  },
  "bookmark": {
    "captureStateLabel": "Sertakan status layer lengkap (aktif, tidak aktif, dan urutan layer)",
    "captureStateTooltip": "Berlaku untuk bookmark berikutnya yang Anda simpan, bukan sebagai pengaturan global. Biarkan aktif untuk memulihkan susunan layer ini persis seperti sekarang nanti.",
    "export": "Ekspor",
    "exportSelected": "Ekspor yang Dipilih",
    "exportAll": "Ekspor Semua",
    "newFolder": "Folder Baru",
    "defaultFolderName": "Folder"
  },
  "managePlugins": {
    "failed": "Gagal",
    "failedToLoad": "Gagal memuat: {{message}}",
    "trust": {
      "title": "Muat plugin dari proyek ini?",
      "description_other": "Proyek ini ingin memuat {{count}} plugin eksternal dari URL yang belum Anda pasang. Plugin menjalankan kode dengan akses penuh ke aplikasi.",
      "warning": "Hanya muat plugin dari sumber yang Anda percayai. Plugin yang dimuat berjalan dengan hak akses yang sama seperti GeoLibre sendiri.",
      "trustButton": "Percayai dan muat",
      "dismissButton": "Jangan muat"
    },
    "title": "Kelola Plugin",
    "searchAria": "Cari plugin",
    "searchPlaceholder": "Cari plugin",
    "refresh": "Segarkan",
    "loadingRegistry": "Memuat registri…",
    "registryEmpty": "Tidak ada plugin yang terdaftar di registri.",
    "noPluginsHere": "Tidak ada plugin di sini.",
    "sectionAll": "Semua ({{total}})",
    "sectionInstalled": "Terpasang ({{total}})",
    "sectionNotInstalled": "Belum terpasang ({{total}})",
    "sectionUpgradeable": "Dapat diperbarui ({{total}})",
    "sectionSettings": "Pengaturan",
    "openHomepageAria": "Buka beranda {{name}}",
    "byAuthor": "oleh {{author}}",
    "updateAvailable": "pembaruan tersedia",
    "requiresVersion": "membutuhkan GeoLibre {{version}}+",
    "install": "Pasang",
    "installAria": "Pasang {{name}}",
    "removeConfirm": "Hapus?",
    "uninstall": "Copot",
    "uninstallAria": "Copot {{name}}",
    "confirmUninstallAria": "Konfirmasi pencopotan {{name}}",
    "update": "Perbarui",
    "updateAria": "Perbarui {{name}}",
    "loading": "Memuat…",
    "installed": "Terpasang",
    "settingsIntro": "GeoLibre selalu memindai direktori plugin di data aplikasinya. Pasang plugin terpaket (.zip) dari berkas, atau tambahkan direktori lokal lain (khusus desktop). URL manifest (termasuk pemasangan dari marketplace) dimuat lewat jaringan; perubahan di sini langsung berlaku.",
    "installFromFile": "Pasang dari berkas",
    "chooseZip": "Pilih .zip…",
    "installFromFileHintDesktop": "Menyalin arsip plugin terpaket ke direktori plugin GeoLibre.",
    "installFromFileHintWeb": "Memuat arsip plugin terpaket; arsip disimpan di peramban Anda dan dimuat ulang pada kunjungan berikutnya.",
    "localDirectories": "Direktori lokal",
    "directoryAria": "Direktori plugin",
    "browseDirectoryAria": "Telusuri direktori plugin",
    "noDirectories": "Tidak ada direktori plugin tambahan yang dikonfigurasi.",
    "manifestUrls": "URL manifest",
    "manifestUrlAria": "URL manifest plugin",
    "noManifestUrls": "Tidak ada URL manifest plugin yang dikonfigurasi.",
    "removeAria": "Hapus {{name}}",
    "errorLoadRegistry": "Tidak dapat memuat registri plugin.",
    "errorUpdate": "Tidak dapat memperbarui plugin.",
    "errorDirectoryPicker": "Tidak dapat membuka pemilih direktori.",
    "errorInstall": "Tidak dapat memasang plugin.",
    "errorUninstall": "Tidak dapat mencopot plugin.",
    "description": "Jelajahi, pasang, perbarui, dan hapus plugin GeoLibre eksternal. Plugin terdaftar di <registryLink>registri plugin GeoLibre</registryLink>."
  },
  "viewState": {
    "panelTitle": "Info"
  },
  "terrainMeasure": {
    "title": "Medan (3D)",
    "surfaceDistance": "Jarak permukaan",
    "surfaceArea": "Luas permukaan",
    "elevationGainLoss": "Naik / turun",
    "elevationRange": "Elevasi min / maks",
    "meanSlope": "Kemiringan rata-rata",
    "computing": "Menghitung medan…",
    "partialData": "Beberapa sampel tidak memiliki data medan"
  },
  "fileNamePrompt": {
    "title": "Simpan file sebagai",
    "description": "Masukkan nama file. File akan diunduh ke folder unduhan browser Anda.",
    "label": "Nama file"
  },
  "newProject": {
    "basemapDescription": "Pilih peta dasar OpenFreeMap atau Protomaps, latar belakang kosong, atau URL gaya MapLibre.",
    "basemapDescriptionNoProtomaps": "Pilih peta dasar OpenFreeMap, latar belakang kosong, atau URL gaya MapLibre.",
    "sectionOpenFreeMap": "OpenFreeMap",
    "sectionProtomaps": "Protomaps",
    "sectionOther": "Lainnya",
    "customUrlButton": "URL Kustom",
    "invalidCustomUrl": "Masukkan URL style.json atau .pmtiles yang valid.",
    "savePromptTitle": "Simpan proyek saat ini?",
    "savePromptDescription": "Proyek saat ini memiliki perubahan yang belum disimpan. Simpan perubahan sebelum membuat proyek baru?",
    "doNotSave": "Jangan simpan",
    "saving": "Menyimpan...",
    "title": "Proyek baru",
    "projectName": "Nama proyek",
    "savedTemplates": "Templat Tersimpan",
    "deleteTemplate": "Hapus templat",
    "basemapLabel": "Peta dasar",
    "create": "Buat"
  },
  "basemapPicker": {
    "title": "Ganti peta dasar",
    "applyCustom": "Terapkan",
    "invalidUrl": "Masukkan URL gaya HTTP atau HTTPS yang valid.",
    "sectionMoon": "Bulan",
    "sectionMars": "Mars",
    "sectionOther": "Benda langit lainnya"
  },
  "planetSwitcher": {
    "label": "Benda langit",
    "earth": "Bumi",
    "mercury": "Merkurius",
    "venus": "Venus",
    "moon": "Bulan",
    "mars": "Mars",
    "io": "Io",
    "europa": "Europa",
    "ganymede": "Ganimede",
    "callisto": "Callisto",
    "titan": "Titan",
    "pluto": "Pluto",
    "charon": "Charon"
  },
  "common": {
    "pickColorFromScreen": "Pilih warna dari layar",
    "save": "Simpan",
    "cancel": "Batal",
    "close": "Tutup",
    "retry": "Coba lagi",
    "reset": "Atur Ulang",
    "remove": "Hapus",
    "add": "Tambah",
    "ok": "OK",
    "done": "Selesai",
    "openWebApp": "Buka aplikasi web GeoLibre"
  },
  "addData": {
    "title": "Tambah Data",
    "kind": {
      "xyz": {
        "label": "Tambahkan Layer XYZ",
        "description": "Tambahkan templat ubin raster menggunakan placeholder x, y, dan z."
      },
      "wms": {
        "label": "Tambahkan Layer WMS",
        "description": "Tambahkan layanan WMS GetMap sebagai layer raster berubin."
      },
      "wfs": {
        "label": "Tambahkan Layer WFS",
        "description": "Tambahkan fitur WFS dengan meminta GeoJSON dari layanan GetFeature."
      },
      "wmts": {
        "label": "Tambahkan Layer WMTS",
        "description": "Tambahkan templat URL ubin WMTS sebagai layer raster."
      },
      "ogcVectorTiles": {
        "label": "Tambahkan OGC Vector Tiles",
        "description": "Tambahkan layanan OGC API - Tiles (vektor) dari TileJSON atau templat ubin, dengan opsi membaca layer sumbernya dari URL gaya."
      },
      "gpx": {
        "label": "Tambahkan Layer GPX",
        "description": "Tambahkan titik jalan, rute, dan trek GPX sebagai satu atau beberapa layer vektor."
      },
      "georss": {
        "label": "Tambahkan Layer GeoRSS",
        "description": "Tambahkan umpan GeoRSS (RSS, Atom, atau RDF) dari URL atau file sebagai layer vektor."
      },
      "delimitedText": {
        "label": "Tambahkan Layer Teks Berpembatas",
        "description": "Tambahkan file atau URL teks berpembatas sebagai layer titik menggunakan bidang bujur dan lintang, atau sebagai tabel atribut non-spasial jika tidak ada koordinat."
      },
      "cad": {
        "label": "Tambahkan Layer CAD (DXF/DWG)",
        "description": "Tambahkan gambar AutoCAD DXF atau DWG sebagai layer vektor, dengan memilih layer mana yang dimuat dan sistem referensi koordinat untuk memproyeksikannya."
      },
      "gdb": {
        "label": "Tambahkan Layer File Geodatabase",
        "description": "Tambahkan layer dari Esri File Geodatabase (folder .gdb). Layer dibaca dengan server GeoLibre lokal dan diproyeksikan ulang ke WGS84."
      },
      "photos": {
        "label": "Tambahkan Foto Bertag Geo",
        "description": "Impor foto JPEG/HEIC sebagai layer titik, menempatkan setiap foto dari lokasi GPS EXIF-nya."
      },
      "mbtiles": {
        "label": "Tambahkan Layer MBTiles",
        "description": "Tambahkan file MBTiles lokal sebagai layer ubin raster atau vektor."
      },
      "arcgis": {
        "label": "Tambahkan Layer ArcGIS",
        "description": "Tambahkan layer ArcGIS FeatureServer, VectorTileServer, MapServer, atau ImageServer, atau item portal."
      },
      "postgres": {
        "label": "Tambahkan Layer PostgreSQL",
        "description": "Jalankan Martin secara lokal, temukan sumber PostGIS, dan tambahkan sumber sebagai ubin vektor."
      },
      "deckglViz": {
        "label": "Tambahkan Layer Deck.gl",
        "description": "Pilih jenis layer deck.gl, lalu muat data contoh atau unggah file/URL CSV/JSON/GeoJSON."
      },
      "video": {
        "label": "Tambahkan Layer Video",
        "description": "Tambahkan overlay video bergeoreferensi dengan memasukkan URL MP4 dan empat koordinat sudut."
      },
      "ogcFeatures": {
        "label": "Tambahkan Layer OGC API - Features",
        "description": "Tambahkan fitur dari koleksi OGC API - Features sebagai layer vektor, mengikuti tautan paging layanan hingga jumlah fitur yang diminta selesai dimuat."
      }
    },
    "shared": {
      "layerName": "Nama layer",
      "insertBelow": "Sisipkan di bawah",
      "insertTop": "Atas daftar layer (default)",
      "layersGroup": "Layer",
      "basemapLayersGroup": "Layer peta dasar",
      "showBasemapLayers": "Tampilkan layer peta dasar (lanjutan)",
      "addLayer": "Tambahkan layer",
      "adding": "Menambahkan…",
      "addError": "Tidak dapat menambahkan layer.",
      "sampleData": "Data contoh",
      "loadSampleData": "Muat data contoh…"
    },
    "common": {
      "serviceUrl": "URL layanan",
      "tileSize": "Ukuran ubin",
      "tileUrlTemplate": "Templat URL ubin",
      "sourceType": "Jenis sumber",
      "layerType": "Jenis layer",
      "format": "Format",
      "optional": "Opsional",
      "chooseFile": "Pilih file",
      "noFileSelected": "Tidak ada file yang dipilih",
      "loading": "Memuat...",
      "workspaceLayerPlaceholder": "workspace:layer",
      "requestFailed": "Permintaan gagal dengan status {{status}}",
      "networkFailure": "Tidak dapat menjangkau layanan. Pastikan host dapat dijangkau dan sertifikat TLS, firewall, serta pengaturan proxy-nya mengizinkan permintaan; di browser permintaan juga dapat diblokir oleh CORS, jadi coba aplikasi desktop.",
      "requestTimedOut": "Permintaan melebihi batas waktu. Host mungkin lambat, tidak dapat dijangkau, atau diblokir oleh firewall atau proxy."
    },
    "serviceLibrary": {
      "title": "Layanan tersimpan",
      "saveCurrent": "Simpan saat ini",
      "importLibrary": "Impor pustaka dari JSON",
      "exportLibrary": "Ekspor pustaka ke JSON",
      "loadAria": "Muat layanan tersimpan",
      "loadPlaceholder": "Muat layanan tersimpan…",
      "builtin": "{{name}} (bawaan)",
      "deleteAria": "Hapus layanan tersimpan",
      "empty": "Belum ada layanan tersimpan — isi formulir dan pilih “Simpan saat ini”.",
      "name": "Nama",
      "category": "Kategori",
      "categoryPlaceholder": "Opsional (mis. negara, tema)",
      "uncategorized": "Tanpa kategori",
      "errorName": "Masukkan nama untuk layanan tersimpan.",
      "saved": "Tersimpan \"{{name}}\" ke pustaka layanan.",
      "removed": "\"{{name}}\" dihapus.",
      "errorExport": "Tidak dapat mengekspor pustaka.",
      "errorTooLarge": "File terlalu besar untuk diimpor (maks 5 MB).",
      "errorNoServices": "Tidak ditemukan layanan yang valid dalam file tersebut.",
      "errorRead": "Tidak dapat membaca file tersebut sebagai pustaka layanan.",
      "imported_other": "Mengimpor {{count}} layanan.",
      "importedWithDropped_other": "Mengimpor {{count}} layanan ({{dropped}} dilewati — pustaka penuh)."
    },
    "xyz": {
      "defaultName": "Layer XYZ",
      "sampleLabel": "Citra USGS",
      "errorUrl": "Masukkan templat URL ubin XYZ.",
      "urlPlaceholder": "https://example.com/{z}/{x}/{y}.png",
      "shortUrlPlaceholder": "https://go.example.com/layer",
      "shortUrl": "URL pendek"
    },
    "wms": {
      "defaultName": "Layer WMS",
      "sampleLabel": "Citra NAIP USGS",
      "sampleLabelGebco": "Batimetri laut GEBCO",
      "errorUrl": "Masukkan URL layanan WMS.",
      "errorLayers": "Masukkan satu atau beberapa nama layer WMS.",
      "urlPlaceholder": "https://example.com/geoserver/wms",
      "layers": "Layer",
      "styles": "Gaya",
      "transparent": "Latar belakang transparan",
      "retrieveLayers": "Ambil layer",
      "retrieving": "Mengambil...",
      "retrievedLayers": "Layer yang diambil",
      "selectLayer_other": "Pilih dari {{count}} layer",
      "noLayersFound": "Tidak ada layer yang ditemukan untuk layanan ini.",
      "retrieveError": "Tidak dapat mengambil layer dari layanan ini.",
      "version": "Versi WMS"
    },
    "wfs": {
      "defaultName": "Layer WFS",
      "sampleLabel": "Negara bagian AS (GeoServer)",
      "errorUrl": "Masukkan URL layanan WFS.",
      "errorTypeName": "Masukkan nama tipe fitur WFS.",
      "errorOutputFormat": "Masukkan format keluaran WFS.",
      "urlPlaceholder": "https://example.com/geoserver/wfs",
      "featureType": "Tipe fitur",
      "version": "Versi",
      "outputFormat": "Format keluaran",
      "srsName": "Nama SRS",
      "maxFeatures": "Jumlah fitur maksimum",
      "errorMaxFeaturesNumeric": "Masukkan nilai numerik untuk jumlah fitur maksimum.",
      "retrieveTypes": "Ambil tipe",
      "retrieving": "Mengambil...",
      "retrievedTypes": "Tipe fitur yang diambil",
      "selectType_other": "Pilih dari {{count}} tipe fitur",
      "noTypesFound": "Tidak ada tipe fitur yang ditemukan untuk layanan ini.",
      "retrieveError": "Tidak dapat mengambil tipe fitur dari layanan ini."
    },
    "wmts": {
      "defaultName": "Layer WMTS",
      "sampleLabel": "EOX Citra dunia (Sentinel-2)",
      "errorUrl": "Masukkan templat URL ubin WMTS.",
      "urlPlaceholder": "https://example.com/wmts/{z}/{y}/{x}.png"
    },
    "ogcVectorTiles": {
      "defaultName": "Layer OGC Vector Tiles",
      "tilesUrl": "URL ubin",
      "tilesUrlPlaceholder": "https://example.com/tiles/WebMercatorQuad?f=tilejson",
      "tilesUrlHint": "URL metadata TileJSON atau templat ubin MVT {z}/{y}/{x}.",
      "styleUrl": "URL gaya",
      "styleUrlPlaceholder": "https://example.com/styles/default?f=mapbox",
      "styleUrlHint": "JSON gaya Mapbox/MapLibre opsional. Digunakan untuk menemukan layer sumber tileset saat TileJSON tidak menyertakannya.",
      "sourceLayers": "Layer sumber",
      "sourceLayersPlaceholder": "layer_a, layer_b",
      "sourceLayersHint": "Nama layer sumber opsional dipisahkan koma. Mengesampingkan layer yang ditemukan di TileJSON atau gaya.",
      "sampleLabel": "PDOK BGT (Belanda)",
      "errorUrl": "Masukkan URL ubin atau URL gaya.",
      "errorNoTiles": "Tidak dapat menentukan endpoint ubin vektor. Masukkan URL TileJSON, templat ubin, atau URL gaya.",
      "errorNoLayers": "Tidak dapat menentukan layer sumber ubin vektor. Tambahkan URL gaya atau masukkan nama layer sumber."
    },
    "arcgis": {
      "defaultName": "Layer ArcGIS",
      "sampleFeatureLabel": "Kota-kota besar AS (fitur)",
      "sampleVectorTileLabel": "Bidang tanah Santa Monica (ubin vektor)",
      "sampleMapServiceLabel": "Batas wilayah AS (layanan peta)",
      "sampleImageServiceLabel": "Hillshade USGS 3DEP (layanan citra)",
      "featureLayer": "Layer fitur",
      "vectorTileLayer": "Layer ubin vektor",
      "mapServiceLayer": "Layanan peta",
      "imageServiceLayer": "Layanan citra",
      "portalItemId": "ID item portal",
      "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": "Sublayer",
      "sublayersPlaceholder": "Semua sublayer yang terlihat",
      "sublayersHint": "Id sublayer opsional dipisahkan koma, misalnya 0,2,5. Memilih sublayer menggambar layanan secara dinamis alih-alih memakai ubin cache-nya.",
      "renderingRule": "Aturan render",
      "renderingRulePlaceholder": "{\"rasterFunction\":\"Hillshade\"}",
      "renderingRuleHint": "JSON fungsi raster opsional yang diterapkan layanan. Aturan render menggambar layanan secara dinamis alih-alih memakai ubin cache-nya.",
      "portalUrl": "URL portal",
      "portalUrlPlaceholder": "https://www.arcgis.com/sharing/rest",
      "accessToken": "Token akses"
    },
    "gpx": {
      "defaultName": "Layer GPX",
      "sampleLabel": "Trek Fells Loop",
      "errorFileMissing": "Data file GPX tidak ada.",
      "readError": "Tidak dapat membaca file GPX.",
      "errorChooseFile": "Pilih file GPX.",
      "errorUrl": "Masukkan URL GPX.",
      "errorSelectType": "Pilih setidaknya satu jenis layer GPX.",
      "errorNotFound": "Jenis layer GPX yang dipilih tidak ditemukan.",
      "waypoints": "Titik Jalan",
      "tracks": "Trek",
      "trackPoints": "Titik Trek",
      "routes": "Rute",
      "routePoints": "Titik Rute",
      "url": "URL GPX",
      "file": "File GPX",
      "urlPlaceholder": "https://example.com/route.gpx",
      "layerTypes": "Jenis layer"
    },
    "georss": {
      "defaultName": "Layer GeoRSS",
      "sampleLabel": "Gempa bumi USGS (sehari terakhir)",
      "errorFileMissing": "Data file GeoRSS tidak ada.",
      "readError": "Tidak dapat membaca file GeoRSS.",
      "errorChooseFile": "Pilih file GeoRSS.",
      "errorUrl": "Masukkan URL GeoRSS.",
      "url": "URL GeoRSS",
      "file": "File GeoRSS",
      "urlPlaceholder": "https://example.com/feed.atom"
    },
    "cad": {
      "defaultName": "Layer CAD",
      "fileFilter": "CAD (DXF/DWG)",
      "layer": "Layer CAD",
      "layerPlaceholder": "Pilih file CAD terlebih dahulu",
      "readingLayers": "Membaca layer...",
      "layerOption": "{{name}} ({{type}}, {{count}} fitur)",
      "crs": "CRS sumber",
      "crsPlaceholder": "mis. EPSG:26915",
      "crsPresetLabel": "Sistem koordinat umum...",
      "crsHelp": "Biarkan kosong jika gambar sudah dalam bujur/lintang (WGS84). Jika tidak, masukkan kode EPSG sistem koordinat gambar untuk memproyeksikannya ulang.",
      "readError": "Tidak dapat membaca file CAD ini.",
      "errorNoLayers": "Tidak ada layer yang ditemukan dalam file CAD ini.",
      "errorChooseFile": "Pilih file CAD (DXF/DWG) terlebih dahulu.",
      "errorNoLayer": "Pilih layer CAD untuk dimuat.",
      "errorUnsupportedGeometry": "Layer CAD ini berisi geometri campuran atau koleksi yang tidak dapat ditampilkan. Coba layer lain."
    },
    "gdb": {
      "defaultName": "Layer Geodatabase",
      "chooseFolder": "Pilih folder .gdb...",
      "noFolderSelected": "Tidak ada geodatabase yang dipilih",
      "layer": "Kelas fitur",
      "layerPlaceholder": "Pilih geodatabase terlebih dahulu",
      "readingLayers": "Membaca layer...",
      "layerOption": "{{name}} ({{type}}, {{count}} fitur)",
      "help": "Tabel tanpa geometri tidak ditampilkan. Kelas fitur yang dipilih dimuat melalui server GeoLibre lokal dan diproyeksikan ulang ke WGS84.",
      "desktopOnly": "Layer File Geodatabase hanya tersedia di GeoLibre Desktop. Fitur ini membaca folder .gdb lokal melalui server GeoLibre lokal, yang tidak dapat diakses aplikasi web.",
      "readError": "Tidak dapat membaca File Geodatabase ini.",
      "convertError": "Tidak dapat memuat kelas fitur ini.",
      "errorNotGdb": "Pilih folder yang berakhiran .gdb (Esri File Geodatabase).",
      "errorNoLayers": "Tidak ditemukan kelas fitur bergeometri dalam geodatabase ini.",
      "errorChooseFolder": "Pilih folder .gdb terlebih dahulu.",
      "errorNoLayer": "Pilih kelas fitur yang akan dimuat.",
      "errorTimeout": "Waktu membaca geodatabase habis.",
      "crs": "CRS sumber",
      "crsPlaceholder": "mis. EPSG:26915",
      "crsHelp": "Sistem koordinat kelas fitur ini tidak dapat terdeteksi. Masukkan kode EPSG (atau ESRI) tempat data disimpan agar dapat diproyeksikan ulang ke WGS84.",
      "errorMissingCrs": "Sistem koordinat kelas fitur ini tidak dapat terdeteksi. Masukkan CRS sumbernya untuk menambahkannya."
    },
    "delimitedText": {
      "defaultName": "Layer Teks Berpembatas",
      "sampleLabel": "Kota-kota AS",
      "errorChooseFile": "Pilih file teks berpembatas.",
      "errorUrl": "Masukkan URL teks berpembatas.",
      "errorFileMissing": "Data file teks berpembatas tidak ada.",
      "readError": "Tidak dapat membaca file teks berpembatas.",
      "errorDataMissing": "Data teks berpembatas tidak ada.",
      "retrievedColumns_other": "Mengambil {{count}} kolom.",
      "retrievedColumnsTable_other": "Mengambil {{count}} kolom. Tidak ada kolom koordinat yang terdeteksi; akan ditambahkan sebagai tabel atribut.",
      "errorRetrieveColumns": "Tidak dapat mengambil nama kolom.",
      "url": "URL teks berpembatas",
      "file": "File teks berpembatas",
      "urlPlaceholder": "https://example.com/data.csv",
      "retrieving": "Mengambil...",
      "retrieveColumns": "Ambil kolom",
      "delimiter": "Pembatas",
      "delimiterComma": "Koma",
      "delimiterTab": "Tab",
      "delimiterSemicolon": "Titik koma",
      "delimiterPipe": "Pipa",
      "delimiterCustom": "Kustom",
      "customDelimiter": "Pembatas kustom",
      "longitudeField": "Bidang bujur",
      "latitudeField": "Bidang lintang",
      "noneField": "Tidak ada (tabel atribut)",
      "tableHint": "Biarkan kedua bidang koordinat sebagai Tidak ada untuk menambahkan file sebagai tabel atribut non-spasial (untuk digunakan dalam gabungan atribut).",
      "crs": "Sistem koordinat",
      "crsPlaceholder": "mis. EPSG:32643",
      "crsPresetLabel": "Sistem koordinat umum...",
      "crsHelp": "Biarkan kosong jika koordinat sudah dalam bujur/lintang (WGS84). Jika tidak, masukkan kode EPSG kolom koordinat dan titik akan diproyeksikan ulang ke WGS84. Untuk CRS terproyeksi, bidang bujur dan lintang memilih kolom X (easting) dan Y (northing).",
      "importMode": "Impor sebagai",
      "modeCoordinates": "Koordinat",
      "modeAddresses": "Alamat (geocode)",
      "addressColumns": "Kolom alamat",
      "addressColumnsEmptyHint": "Ambil kolom terlebih dahulu untuk memilih kolom alamat.",
      "addressColumnsHint": "Pilih satu kolom atau lebih untuk digabungkan menjadi alamat yang dikirim ke geocoder (mis. jalan, kota, provinsi).",
      "errorNoAddressColumns": "Pilih setidaknya satu kolom alamat.",
      "errorNoAddressesFound": "Tidak ada baris yang memiliki nilai pada kolom alamat yang dipilih."
    },
    "photos": {
      "defaultName": "Foto",
      "chooseLabel": "Foto",
      "choosePhotos": "Pilih foto",
      "hint": "Pilih foto JPEG, PNG, TIFF, atau HEIC. Setiap foto ditempatkan dari lokasi GPS EXIF-nya. Foto HEIC ditempatkan tetapi ditampilkan tanpa thumbnail.",
      "readError": "Tidak dapat membaca foto yang dipilih.",
      "errorChooseFiles": "Pilih satu atau beberapa foto.",
      "selectedCount_other": "{{count}} foto dipilih",
      "errorNoGps_other": "Tidak ditemukan lokasi GPS pada {{count}} foto yang dipilih.",
      "addedSummary_other": "Menambahkan {{count}} foto bertag geo.",
      "skippedNote_other": "{{count}} foto dilewati (tidak ada lokasi GPS).",
      "noThumbnailNote_other": "{{count}} foto tidak memiliki thumbnail (HEIC atau format tidak didukung).",
      "manualPromptTitle": "Tidak ditemukan lokasi GPS pada foto ini.",
      "manualPromptBody": "Tempatkan di tengah peta saat ini dan seret ke posisi yang tepat pada peta.",
      "manualPromptCenter": "Tengah peta: {{lng}}, {{lat}}",
      "manualPlace": "Tempatkan di tengah peta",
      "manualHint": "Seret pin ini untuk memposisikan foto, lalu klik Selesai."
    },
    "mbtiles": {
      "defaultName": "Layer MBTiles",
      "readError": "Tidak dapat membaca file MBTiles.",
      "errorChooseFile": "Pilih file MBTiles.",
      "errorSourceLayers": "Masukkan setidaknya satu layer sumber vektor.",
      "tileType": "Jenis ubin",
      "sourceLayers": "Layer sumber",
      "sourceLayersPlaceholder": "building, place, water"
    },
    "postgres": {
      "defaultName": "Layer PostgreSQL",
      "errorDesktopOnly": "Layer PostgreSQL memerlukan GeoLibre Desktop.",
      "errorConnectionString": "Masukkan string koneksi PostgreSQL.",
      "statusCheckingBinary": "Memeriksa biner Martin...",
      "statusDownloaded": "Martin diunduh. Memulai server lokal...",
      "statusStarting": "Memulai server Martin lokal...",
      "statusReadingCatalog": "Membaca katalog Martin...",
      "statusFound_other": "Menemukan {{count}} sumber.",
      "statusNoSources": "Martin berjalan, tetapi tidak ada sumber PostGIS yang kompatibel ditemukan.",
      "errorConnect": "Tidak dapat terhubung ke PostgreSQL.",
      "statusStopped": "Martin dihentikan.",
      "errorStop": "Tidak dapat menghentikan Martin.",
      "errorConnectFirst": "Hubungkan ke PostgreSQL terlebih dahulu.",
      "errorNoVectorLayers": "Sumber Martin yang dipilih tidak memiliki layer vektor.",
      "errorSelectSource": "Pilih sumber Martin untuk ditambahkan.",
      "desktopOnlyNotice": "Layer PostgreSQL hanya tersedia di GeoLibre Desktop. Fitur ini menjalankan server ubin Martin lokal, yang tidak dapat diluncurkan oleh aplikasi web.",
      "savedConnection": "Koneksi tersimpan",
      "selectSavedConnection": "Pilih koneksi tersimpan",
      "connectionString": "String koneksi PostgreSQL",
      "connectionStringPlaceholder": "postgres://user:password@host:5432/database",
      "defaultSrid": "SRID default",
      "connect": "Hubungkan",
      "stop": "Hentikan",
      "martinSource": "Sumber Martin",
      "runningOnPort": "Martin berjalan pada port {{port}}.",
      "loadMode": "Muat sebagai",
      "loadModeTiles": "Ubin vektor (Martin, hanya baca)",
      "loadModeEditable": "Layer yang dapat diedit (memuat semua fitur)",
      "editableNotice": "Memuat fitur tabel melalui server pemrosesan lokal sehingga dapat diedit. Simpan perubahan kembali dengan aksi \"Simpan perubahan ke tabel PostGIS\" pada layer.",
      "statusListingTables": "Membaca tabel spasial...",
      "statusTablesFound_other": "Menemukan {{count}} tabel spasial.",
      "statusNoTables": "Tidak ada tabel spasial yang ditemukan dalam database ini.",
      "editableTable": "Tabel",
      "tableReadOnly": "{{table}} (hanya baca: tanpa kunci utama)",
      "errorSelectTable": "Pilih tabel untuk dimuat.",
      "errorRuntimeMissing": "Server pemrosesan tidak memiliki runtime PostGIS (psycopg) terpasang. Pasang ekstra 'postgis' pada geolibre-server untuk memuat layer yang dapat diedit."
    },
    "video": {
      "defaultName": "Layer Video",
      "sampleLabel": "Ombak pesisir dekat San Francisco",
      "errorUrl": "Masukkan URL video.",
      "errorHttps": "URL video harus dimulai dengan https://.",
      "cornerTopLeft": "kiri-atas",
      "cornerTopRight": "kanan-atas",
      "cornerBottomRight": "kanan-bawah",
      "cornerBottomLeft": "kiri-bawah",
      "errorCornerFormat": "Masukkan sudut {{corner}} sebagai \"bujur, lintang\".",
      "errorCornerNumber": "Masukkan bujur dan lintang numerik untuk sudut {{corner}}.",
      "errorCornerLng": "Bujur sudut {{corner}} harus antara -180 dan 180.",
      "errorCornerLat": "Lintang sudut {{corner}} harus antara -90 dan 90.",
      "primaryUrl": "URL video utama",
      "primaryUrlPlaceholder": "https://example.com/clip.mp4",
      "fallbackUrl": "URL video cadangan (opsional)",
      "fallbackUrlPlaceholder": "https://example.com/clip.webm",
      "topLeft": "Kiri-atas (bujur, lintang)",
      "topRight": "Kanan-atas (bujur, lintang)",
      "bottomRight": "Kanan-bawah (bujur, lintang)",
      "bottomLeft": "Kiri-bawah (bujur, lintang)",
      "cornersNote": "Keempat sudut menggeoreferensikan video pada peta. Video harus disajikan melalui HTTPS dan host harus mengizinkan permintaan lintas asal (CORS) agar bingkai dapat dirender."
    },
    "netcdf": {
      "sampleLabel": "Suhu udara",
      "title": "Tambah NetCDF / HDF",
      "description": "Render dataset NetCDF atau HDF5: file Cloud-Optimized jarak jauh melalui referensi kerchunk (dibaca melalui permintaan rentang HTTP), atau file NetCDF atau HDF5 lokal yang dibaca di browser Anda.",
      "sourceLabel": "Sumber",
      "sourceCloud": "Cloud-Optimized (URL kerchunk)",
      "sourceLocal": "File lokal (NetCDF / HDF5)",
      "localFileLabel": "File lokal",
      "chooseDifferentFile": "Pilih file lain",
      "readingFile": "Membaca...",
      "readingRemote": "Membaca metadata berkas melalui HTTP...",
      "localFileHelp": "Pilih file NetCDF atau HDF5 lokal (.nc, .nc4, .cdf, .h5, atau .hdf5); NetCDF-3 klasik dan NetCDF-4/HDF5 keduanya didukung. File didekode di browser Anda; file besar menggunakan lebih banyak memori.",
      "errorNoVariables": "Tidak ditemukan variabel yang dapat dirender (2-D atau lebih tinggi) dalam file ini.",
      "errorNoFile": "Tidak ada file yang dimuat.",
      "kerchunkUrlLabel": "URL referensi kerchunk",
      "kerchunkUrlHelp": "Pilih dataset contoh di atas, atau tempel URL referensi kerchunk Anda sendiri, lalu klik Muat variabel.",
      "loading": "Memuat...",
      "loadVariables": "Muat variabel",
      "variableLabel": "Variabel",
      "dimIndexLabel": "Indeks {{dim}}",
      "colormapLabel": "Peta warna",
      "bandCombinationLabel": "Kombinasi band",
      "bandCombinationHelp": "Band tunggal digambar dengan peta warna; komposit RGB menggambar tiga band dari variabel ini sebagai kanal merah, hijau, dan biru, masing-masing direntangkan ke rentang 2-98 % miliknya sendiri.",
      "modeSingleBand": "Band tunggal (dengan peta warna)",
      "modeRgb": "Komposit RGB (tiga band)",
      "colorMin": "Warna minimum (opsional)",
      "colorMax": "Warna maksimum (opsional)",
      "adding": "Menambahkan...",
      "addLayer": "Tambah layer",
      "channel": {
        "red": "Band merah",
        "green": "Band hijau",
        "blue": "Band biru"
      }
    },
    "deckViz": {
      "defaultName": "Layer Deck.gl",
      "errorChooseFile": "Pilih file CSV, JSON, atau GeoJSON.",
      "errorUrl": "Masukkan URL data.",
      "errorUnknownType": "Jenis layer tidak dikenal.",
      "needsGeojson": "{{label}} memerlukan file GeoJSON.",
      "needsTabular": "{{label}} memerlukan data tabular CSV/JSON, bukan GeoJSON.",
      "mapRequiredFields_other": "Petakan bidang yang wajib diisi: {{fields}}.",
      "errorExample": "Tidak dapat memuat data contoh.",
      "loadedFeatures_other": "Memuat {{count}} fitur.",
      "loadedRows_other": "{{count}} baris",
      "loadedColumns_other": "{{count}} kolom",
      "loadedTabular": "Memuat {{rows}} · {{columns}}.",
      "errorLoad": "Tidak dapat memuat data.",
      "errorLoadFirst": "Muat data contoh, atau file/URL, terlebih dahulu.",
      "useExample": "Gunakan data contoh",
      "loadYourOwn": "Atau muat data Anda sendiri",
      "dataUrl": "URL data",
      "localFile": "File lokal",
      "urlPlaceholder": "https://example.com/data.csv",
      "chooseFileLoad": "Pilih file & muat",
      "loadData": "Muat data",
      "selectRole": "— pilih —",
      "roleNone": "(tidak ada)",
      "closeAfterAdd": "Tutup dialog setelah menambahkan layer",
      "color": "Warna",
      "pointSize": "Ukuran titik",
      "cellSize": "Ukuran sel",
      "lineWidth": "Lebar garis",
      "extrusion": "Ekstrusi 3D",
      "modelUrlPlaceholder": "https://example.com/model.glb"
    },
    "ogcFeatures": {
      "defaultName": "Layer OGC API - Features",
      "sampleLabel": "Danau dunia (demo pygeoapi)",
      "urlPlaceholder": "https://example.com/ogcapi",
      "urlHint": "Halaman utama layanan, atau URL apa pun yang disalin darinya (URL /collections atau /collections/{id}/items juga bisa).",
      "retrieveCollections": "Ambil koleksi",
      "retrieving": "Mengambil...",
      "retrievedCollections": "Koleksi yang diambil",
      "selectCollection_other": "Pilih dari {{count}} koleksi",
      "noCollectionsFound": "Tidak ada koleksi fitur yang ditemukan untuk layanan ini.",
      "retrieveError": "Tidak dapat mengambil koleksi dari layanan ini.",
      "collection": "Koleksi",
      "collectionPlaceholder": "collection-id",
      "maxFeatures": "Jumlah fitur maksimum",
      "bbox": "Kotak pembatas",
      "datetime": "Tanggal dan waktu",
      "errorCollection": "Masukkan id koleksi OGC API - Features.",
      "errorMaxFeatures": "Masukkan nilai jumlah fitur maksimum 1 atau lebih.",
      "errorBbox": "Masukkan kotak pembatas sebagai \"barat,selatan,timur,utara\".",
      "errorNoFeatures": "Koleksi ini tidak mengembalikan fitur apa pun."
    },
    "nonGeographicCoordinates": "Koordinat pada {{names}} bukan bujur/lintang, sehingga tidak ada yang digambar di peta. CRS salah — proyeksikan ulang data (atau perbaiki .prj-nya) lalu muat kembali."
  },
  "offline": {
    "title": "Unduh Area Offline",
    "description": "Simpan ubin peta dasar tampilan peta saat ini agar area ini tetap berfungsi tanpa koneksi jaringan.",
    "noServiceWorker": "Penyimpanan offline memerlukan aplikasi web yang terpasang. Ubin yang Anda unduh di sini tidak akan disimpan untuk penggunaan offline pada build ini.",
    "uncacheable": "Sumber peta dasar berikut tidak mendukung pengunduhan offline dan akan hilang dari peta offline Anda: {{hosts}}.",
    "cacheable": "Sumber peta dasar berikut akan diunduh dan tersedia secara offline: {{hosts}}.",
    "includeExtra": "Sertakan tingkat detail tambahan untuk memperbesar",
    "currentViewOnly": "Hanya tampilan saat ini · Zoom {{zoom}}",
    "detailLevels": "Tingkat detail tambahan",
    "relativeLevels_other": "+{{count}} tingkat · Zoom {{min}}–{{max}}",
    "tiles": "Sumber daya untuk diunduh",
    "tooManyTiles": "Area ini melebihi batas cache offline ({{max}} sumber daya); ubin cache terlama mungkin dihapus saat sumber daya baru diunduh. Kurangi tingkat detail atau pilih area yang lebih kecil.",
    "acknowledgeEviction": "Unduh saja, hapus ubin lama jika diperlukan",
    "download": "Unduh",
    "cancel": "Batal",
    "progress": "Mengunduh {{done}} / {{total}}…",
    "complete_other": "Area offline tersimpan. {{count}} sumber daya di-cache untuk penggunaan offline.",
    "completeWithFailures": "Menyimpan {{done}} dari {{total}} sumber daya ({{failed}} gagal).",
    "retryFailed_other": "Coba lagi {{count}} sumber daya yang gagal",
    "retryAll": "Coba lagi semua sumber daya",
    "advanced": "Opsi lanjutan",
    "concurrency": "Permintaan bersamaan",
    "concurrencyHint": "Turunkan ini untuk mengurangi beban server yang membatasi laju permintaan ubin cepat.",
    "timeout": "Batas waktu permintaan (detik)",
    "timeoutHint": "Setiap permintaan ubin diberi waktu hingga {{seconds}} detik sebelum dianggap gagal.",
    "timeoutDisabled": "Tanpa batas waktu — permintaan menggunakan default browser. Naikkan untuk koneksi lambat."
  },
  "offlineManager": {
    "title": "Kelola Area Offline",
    "description": "Tinjau area peta dasar yang telah Anda unduh untuk penggunaan offline, segarkan, atau hapus untuk mengembalikan ruang penyimpanan.",
    "noServiceWorker": "Penyimpanan offline memerlukan aplikasi web yang terpasang. Menyegarkan area tidak akan menyimpan ubin untuk penggunaan offline pada build ini.",
    "empty": "Belum ada area offline. Gunakan \"Unduh Area Offline\" untuk menyimpan tampilan peta saat ini untuk penggunaan offline.",
    "zoomRange": "Zoom {{min}}–{{max}}",
    "tilesCount_other": "{{count}} ubin",
    "savedOn": "Tersimpan {{date}}",
    "rename": "Ganti nama area ini",
    "nameLabel": "Nama area",
    "update": "Segarkan area ini",
    "delete": "Hapus area ini",
    "confirmDelete": "Hapus",
    "updateAll": "Segarkan semua",
    "updating": "Menyegarkan {{done}} / {{total}}…",
    "totalFootprint_other": "{{size}} di {{count}} area",
    "deviceUsage": "{{usage}} dari {{quota}} digunakan"
  },
  "recordTour": {
    "title": "Rekam Tur Peta",
    "hint": "Geser dan zoom peta, lalu tangkap setiap tampilan. Peta tetap interaktif selama panel ini terbuka.",
    "unsupported": "Browser ini tidak dapat merekam kanvas peta. Coba versi terbaru Chrome, Edge, atau Firefox.",
    "addView": "Tambahkan tampilan saat ini",
    "pathTitle": "Hasilkan dari jalur",
    "pathNoLayers": "Tambahkan layer LineString untuk menghasilkan keyframe dari jalur.",
    "pathLayer": "Layer jalur",
    "pathLayerOption": "{{name}} ({{count}} titik)",
    "pathKeyframes": "Keyframe",
    "pathZoom": "Zoom",
    "pathPitch": "Pitch",
    "pathHold": "Tahan",
    "pathTransition": "Gerak",
    "pathGenerate": "Hasilkan",
    "pathConfirmReplace": "Ganti keyframe saat ini dengan keyframe yang dihasilkan dari jalur ini?",
    "pathGenerated_other": "Menghasilkan {{count}} keyframe dari jalur.",
    "pathGenerateError": "Tidak dapat menghasilkan keyframe dari jalur ini.",
    "loadConfig": "Muat setelan",
    "saveConfig": "Simpan setelan",
    "confirmLoad": "Ganti keyframe saat ini dengan setelan yang dimuat?",
    "configFileType": "Konfigurasi Tur",
    "configSaved": "Menyimpan setelan sebagai {{name}}",
    "configLoaded_other": "Memuat setelan dengan {{count}} keyframe.",
    "configSaveError": "Tidak dapat menyimpan setelan tur. Silakan coba lagi.",
    "configLoadError": "Tidak dapat memuat setelan tur. File mungkin tidak valid.",
    "keyframeCount_other": "{{count}} keyframe",
    "empty": "Geser dan zoom peta ke tampilan awal, lalu tambahkan sebagai keyframe pertama. Tambahkan setidaknya dua keyframe untuk merekam tur.",
    "flyToKeyframe": "Terbang ke tampilan ini",
    "hold": "Tahan",
    "transition": "Transisi",
    "secondsShort": "dtk",
    "holdSeconds": "Detik untuk menahan tampilan ini",
    "segmentSeconds": "Detik untuk berpindah ke tampilan berikutnya",
    "resizeLeft": "Ubah ukuran panel dari sudut kiri-bawah",
    "resizeRight": "Ubah ukuran panel dari sudut kanan-bawah",
    "recapture": "Perbarui ke tampilan peta saat ini",
    "moveUp": "Pindahkan keyframe ke atas",
    "moveDown": "Pindahkan keyframe ke bawah",
    "removeKeyframe": "Hapus keyframe",
    "fps": "Bingkai per detik",
    "estimatedLength": "Sekitar {{seconds}} dtk",
    "record": "Rekam",
    "videoFileType": "Video WebM",
    "recordingStatus": "Merekam… {{percent}}%",
    "savingStatus": "Menyimpan video…",
    "stop": "Hentikan",
    "recordingReady": "Rekaman siap. Beri nama dan simpan, atau buang untuk merekam ulang.",
    "fileNameLabel": "Nama file",
    "saveVideo": "Simpan video…",
    "discard": "Buang",
    "saved": "Tersimpan {{name}}",
    "saveCancelled": "Penyimpanan dibatalkan.",
    "recordError": "Tidak dapat merekam tur. Silakan coba lagi.",
    "saveError": "Tidak dapat menyimpan video. Silakan coba lagi."
  },
  "recordVideo": {
    "title": "Rekam Video",
    "hint": "Rekam peta secara langsung sebagai video. Geser dan zoom peta saat merekam — setiap gerakan ikut terekam. Panel ini dan bingkai seleksi tidak termasuk dalam video.",
    "unsupported": "Browser ini tidak dapat merekam kanvas peta. Coba versi terbaru Chrome, Edge, atau Firefox.",
    "area": "Area tangkapan",
    "wholeMap": "Seluruh peta",
    "selectArea": "Pilih area…",
    "redrawArea": "Gambar ulang area…",
    "drawHint": "Seret persegi panjang pada peta untuk menetapkan area perekaman, atau tekan Escape untuk membatalkan.",
    "regionChosen": "Area perekaman: {{width}} × {{height}} px. Bingkai tetap diam sementara peta bergerak di bawahnya.",
    "noRegion": "Gambar persegi panjang pada peta untuk memilih area perekaman.",
    "needRegion": "Pilih area pada peta terlebih dahulu.",
    "fps": "Bingkai per detik",
    "caption": "Keterangan (ditanam permanen dalam video)",
    "captionTitlePlaceholder": "Judul (opsional)",
    "captionTextLabel": "Subjudul keterangan atau sumber data",
    "captionTextPlaceholder": "Subjudul atau sumber data (opsional)",
    "captionPosition": "Posisi keterangan",
    "captionPos": {
      "top-left": "Kiri atas",
      "top-center": "Tengah atas",
      "top-right": "Kanan atas",
      "bottom-left": "Kiri bawah",
      "bottom-center": "Tengah bawah",
      "bottom-right": "Kanan bawah"
    },
    "includePanels": "Sertakan panel peta (legenda, colorbar, HTML) dalam video",
    "record": "Rekam",
    "preparing": "Menyiapkan…",
    "stop": "Hentikan",
    "savingStatus": "Menyimpan video…",
    "recordingReady": "Rekaman siap. Beri nama dan simpan, atau buang untuk merekam ulang.",
    "fileNameLabel": "Nama file",
    "saveVideo": "Simpan video…",
    "discard": "Buang",
    "videoFileType": "Video",
    "saved": "Tersimpan {{name}}",
    "saveCancelled": "Penyimpanan dibatalkan.",
    "recordError": "Tidak dapat merekam video. Silakan coba lagi.",
    "saveError": "Tidak dapat menyimpan video. Silakan coba lagi."
  },
  "fieldCollection": {
    "title": "Pengumpulan Lapangan",
    "description": "Tangkap pengamatan titik, garis, atau poligon dengan formulir kustom. Tempatkan titik melalui GPS atau dengan mengetuk peta, dan gambar garis serta poligon simpul demi simpul.",
    "captureDescription": "Tangkap lokasi melalui GPS atau pada peta, lalu isi formulir untuk menyimpannya.",
    "captureReviewDescription": "Tinjau lokasi yang ditangkap, lengkapi formulir, dan simpan ke layer.",
    "reopen": "Buka Pengumpulan Lapangan",
    "targetLayer": "Layer pengumpulan",
    "newLayer": "Layer pengumpulan baru…",
    "layerName": "Nama layer",
    "layerNamePlaceholder": "Observasi Lapangan",
    "geometry": "Geometri",
    "geom": {
      "point": "Titik",
      "line": "Garis",
      "polygon": "Poligon"
    },
    "fields": "Bidang formulir",
    "addField": "Tambah bidang",
    "fieldLabel": "Label",
    "fieldType": "Jenis",
    "options": "Opsi (dipisahkan koma)",
    "required": "Wajib diisi",
    "noFields": "Belum ada bidang. Tambahkan bidang untuk menangkap atribut, atau buat layer untuk menangkap titik lokasi saja.",
    "type": {
      "text": "Teks",
      "number": "Angka",
      "date": "Tanggal",
      "choice": "Pilihan"
    },
    "createLayer": "Buat layer",
    "captureHint": "Gunakan GPS atau pilih titik pada peta untuk memulai penangkapan.",
    "drawHint": "Gambar bentuk pada peta untuk memulai penangkapan.",
    "useGps": "Gunakan GPS",
    "pickOnMap": "Pilih pada peta",
    "reposition": "Reposisi titik",
    "drawOnMap": "Gambar pada peta",
    "pickBannerTitle": "Mode penempatan aktif",
    "pickBannerHint": "Klik di mana saja pada peta untuk memilih titik, atau tekan Esc untuk membatalkan.",
    "addGpsVertex": "Tambah simpul GPS",
    "undo": "Urungkan",
    "finish": "Selesai",
    "vertices_other": "{{count}} simpul",
    "needMore": "Tambahkan setidaknya {{min}} simpul",
    "dblClickHint": "Ketuk untuk menambah simpul; klik dua kali untuk selesai.",
    "locating": "Mencari lokasi…",
    "photo": "Foto",
    "photoOptional": "Foto (opsional)",
    "choosePhoto": "Pilih foto…",
    "removePhoto": "Hapus",
    "save": {
      "point": "Simpan titik",
      "line": "Simpan garis",
      "polygon": "Simpan poligon"
    },
    "saved": {
      "point_other": "Menyimpan {{count}} titik ke {{layer}}.",
      "line_other": "Menyimpan {{count}} garis ke {{layer}}.",
      "polygon_other": "Menyimpan {{count}} poligon ke {{layer}}."
    },
    "layerGone": "Layer pengumpulan tidak lagi tersedia.",
    "noGeolocation": "Geolokasi tidak tersedia di perangkat ini.",
    "geolocationDenied": "Tidak dapat memperoleh lokasi Anda. Periksa izin lokasi dan coba lagi.",
    "photoTooLarge": "Foto tersebut terlalu besar (maks {{max}}). Pilih gambar yang lebih kecil.",
    "photoReadError": "Tidak dapat membaca gambar tersebut. Coba file lain.",
    "errorRequired": "Bidang ini wajib diisi.",
    "errorNumber": "Masukkan angka yang valid.",
    "errorChoice": "Pilih salah satu opsi yang tercantum."
  },
  "gps": {
    "title": "Pelacakan GPS",
    "description": "Alirkan posisi perangkat Anda ke peta, rekam log trek, dan tangkap titik di lokasi Anda saat ini.",
    "start": "Mulai GPS",
    "stop": "Hentikan GPS",
    "follow": "Jaga peta tetap berpusat pada posisi saya",
    "waitingForFix": "Menunggu sinyal GPS…",
    "noGeolocation": "Geolokasi tidak tersedia di perangkat ini.",
    "permissionDenied": "Izin lokasi ditolak. Aktifkan di pengaturan browser atau sistem Anda lalu coba lagi.",
    "trackLog": "Log trek",
    "record": "Rekam trek",
    "pause": "Jeda",
    "resume": "Lanjutkan",
    "discard": "Buang",
    "saveTrack": "Simpan sebagai layer",
    "exportGpx": "Ekspor GPX",
    "exportGeojson": "Ekspor GeoJSON",
    "points_other": "{{count}} titik",
    "trackLayerName": "Trek GPS",
    "trackSaved": "{{name}} disimpan sebagai layer.",
    "trackExported": "Trek diekspor.",
    "exportCancelled": "Ekspor dibatalkan.",
    "exportFailed": "Tidak dapat mengekspor trek. Silakan coba lagi.",
    "capture": "Digitasi",
    "capturePoint": "Tangkap titik",
    "captureLayerName": "Titik GPS",
    "captured_other": "{{count}} titik ditangkap pada sesi ini.",
    "pointCaptured": "Titik disimpan ke {{layer}}.",
    "captureBlocked": "Akurasi sinyal ±{{accuracy}}, lebih buruk dari ambang {{max}} m. Titik tidak disimpan.",
    "satellites": "Satelit",
    "satellitesShort": "Sat",
    "satellitesValue": "Satelit: {{value}}",
    "satellitesShortValue": "Sat: {{value}}",
    "notAvailable": "—",
    "settings": "Filter pencatatan",
    "minDistance": "Jarak min (m)",
    "minTime": "Waktu min (dtk)",
    "maxAccuracy": "Akurasi maks (m)",
    "settingsHint": "Titik trek yang lebih dekat dari jarak atau waktu minimum dilewati. Sinyal yang kurang akurat dari ambang akurasi tidak dicatat, dan penangkapan titik diblokir. 0 menonaktifkan filter.",
    "openDialog": "Buka Pelacakan GPS",
    "altitudeValue": "Ketinggian: {{value}} m",
    "speedValue": "{{value}} km/jam",
    "headingValue": "{{value}}°",
    "source": "Sumber posisi",
    "sourceDevice": "Perangkat ini",
    "sourceNmea": "Penerima NMEA (serial atau Bluetooth)",
    "nmeaBaudRate": "Laju baud",
    "nmeaConnectSerial": "Hubungkan serial",
    "nmeaConnectBluetooth": "Hubungkan Bluetooth",
    "nmeaConnecting": "Menghubungkan…",
    "nmeaConnected": "Terhubung ke {{device}}.",
    "nmeaDisconnect": "Putuskan",
    "nmeaNotConnected": "Hubungkan penerima NMEA di atas untuk mulai mengalirkan posisi.",
    "nmeaWaiting": "Menunggu kalimat…",
    "nmeaStats": "{{parsed}} kalimat · {{fixes}} fix",
    "nmeaConnectFailed": "Tidak dapat terhubung ke penerima.",
    "nmeaDisconnected": "Penerima terputus.",
    "nmeaUnsupportedDevice": "Tidak ditemukan layanan NMEA pada perangkat itu. Mungkin itu penerima Bluetooth klasik, yang harus dipasangkan di pengaturan sistem lalu dihubungkan di sini sebagai porta serial.",
    "nmeaUnsupported": "Membaca penerima NMEA memerlukan API Web Serial atau Web Bluetooth, yang tidak disediakan peramban ini. Buka GeoLibre di peramban berbasis Chromium seperti Chrome atau Edge.",
    "nmeaSerialUnsupported": "Web Serial tidak tersedia di sini, sehingga penerima serial tidak dapat dibuka.",
    "nmeaBluetoothUnsupported": "Web Bluetooth tidak tersedia di sini, sehingga penerima Bluetooth Low Energy tidak dapat dibuka.",
    "nmeaBluetoothHint": "Sebagian besar penerima GPS Bluetooth memakai Bluetooth klasik: pasangkan di pengaturan sistem dan perangkat akan muncul di sini sebagai porta serial. Gunakan \"Hubungkan Bluetooth\" hanya untuk penerima Bluetooth Low Energy.",
    "fixQuality": {
      "invalid": "Tanpa fix",
      "gps": "Fix GPS",
      "dgps": "GPS diferensial",
      "pps": "Fix PPS",
      "rtk-fixed": "RTK fixed",
      "rtk-float": "RTK float",
      "estimated": "Estimasi (perhitungan mati)",
      "manual": "Masukan manual",
      "simulation": "Simulasi"
    }
  },
  "georeferencer": {
    "title": "Georeferensi Gambar",
    "description": "Sematkan gambar ke peta: muat gambar, tautkan titik gambar ke lokasi peta, lalu tambahkan sebagai overlay bergeoreferensi.",
    "loadImage": "Klik untuk memuat gambar (PNG, JPG, TIFF)",
    "imageTooLarge": "Gambar tersebut terlalu besar (maks {{max}}). Pilih gambar yang lebih kecil.",
    "imageReadError": "Tidak dapat membaca gambar tersebut. Coba file lain.",
    "imageNoDimensions": "Tidak dapat menentukan ukuran gambar. Gunakan gambar raster (PNG, JPG, TIFF).",
    "sourceImage": "Gambar sumber ({{w}} × {{h}} px)",
    "clickImageHint": "Klik titik pada gambar, lalu tautkan pada peta.",
    "pixelPicked": "Titik gambar: {{x}}, {{y}}",
    "linkOnMap": "Tautkan pada peta",
    "zoomIn": "Perbesar",
    "zoomOut": "Perkecil",
    "zoomReset": "Atur ulang zoom",
    "importGcps": "Impor",
    "exportGcps": "Ekspor",
    "gcpsImported": "Mengimpor {{count}} titik kontrol.",
    "gcpsReadError": "Tidak dapat membaca titik kontrol dari file tersebut.",
    "gcpsOutsideImage": "Beberapa titik kontrol berada di luar gambar yang dimuat — mungkin berasal dari gambar lain.",
    "transformNeedsMore": "Transformasi ini memerlukan setidaknya {{min}} titik kontrol.",
    "gcps": "Titik kontrol ({{count}})",
    "needGcps": "Tambahkan setidaknya {{min}} titik kontrol untuk melakukan georeferensi.",
    "collinear": "Titik kontrol segaris atau berimpit — geser salah satu keluar dari garis.",
    "cornersOutOfRange": "Penyesuaian ini menempatkan gambar di luar batas peta yang valid. Sesuaikan titik kontrol.",
    "residual": "Residual",
    "rms": "RMS {{rms}} m",
    "opacity": "Opasitas overlay",
    "addToMap": "Tambahkan ke peta",
    "clear": "Bersihkan",
    "defaultName": "Gambar bergeoreferensi",
    "exportTiff": "Ekspor GeoTIFF",
    "exportTiffButton": "Ekspor",
    "exportTiffHint": "Mengubah gambar menjadi Cloud-Optimized GeoTIFF di browser Anda (GDAL/WASM). Mesin ini diunduh saat pertama kali digunakan.",
    "transform": {
      "affine": "Afin (linear)",
      "polynomial": "Polinomial (orde 2)",
      "tps": "Thin plate spline"
    },
    "exporting": "Mengekspor GeoTIFF… (memuat GDAL saat pertama kali digunakan)",
    "exported": "GeoTIFF berhasil diekspor.",
    "exportFailed": "Ekspor GeoTIFF gagal. Lihat konsol untuk detailnya."
  },
  "collaborate": {
    "title": "Kolaborasi langsung",
    "description": "Bagikan sesi langsung agar orang lain dapat melihat dan mengedit peta ini bersama Anda secara real time.",
    "displayName": "Nama Anda",
    "displayNamePlaceholder": "mis. Alex",
    "color": "Warna Anda",
    "startHeading": "Mulai sesi",
    "joinHeading": "Gabung sesi",
    "mode": "Siapa yang dapat mengedit",
    "modeCoEdit": "Siapa pun dapat mengedit",
    "modeViewOnly": "Hanya Anda yang dapat mengedit (yang lain menonton)",
    "start": "Mulai sesi",
    "join": "Gabung",
    "joinSession": "Gabung sesi",
    "invitedHeading": "Anda telah diundang",
    "invitedDescription": "Pilih nama dan warna Anda, lalu gabung ke sesi langsung milik host.",
    "startInstead": "Mulai sesi baru sebagai gantinya",
    "sessionCode": "Kode sesi",
    "sessionCodePlaceholder": "Masukkan kode",
    "shareLink": "Bagikan tautan",
    "scanToJoin": "Pindai untuk bergabung",
    "copyLink": "Salin tautan",
    "copyCode": "Salin kode",
    "copied": "Tersalin",
    "participants": "Peserta ({{count}})",
    "host": "Host",
    "you": "Anda",
    "guest": "Tamu",
    "connectFailed": "Tidak dapat terhubung ke server kolaborasi.",
    "copyFailed": "Tidak dapat menyalin ke papan klip.",
    "connecting": "Menghubungkan…",
    "reconnecting": "Menghubungkan kembali…",
    "connected": "Sesi langsung aktif",
    "followHost": "Ikuti tampilan host",
    "goToMap": "Buka peta dan berkolaborasi",
    "goToMapViewOnly": "Buka peta dan tonton",
    "collapseRoster": "Ciutkan daftar peserta",
    "manageSession": "Kelola sesi",
    "sessionStatusTooltip": "Sesi kolaborasi langsung. Klik untuk melihat siapa yang terhubung.",
    "announcements": "Pengumuman sesi",
    "participantJoined": "{{name}} bergabung ke sesi",
    "participantLeft": "{{name}} meninggalkan sesi",
    "leave": "Tinggalkan sesi",
    "switchToCoEdit": "Izinkan semua orang mengedit",
    "switchToViewOnly": "Jadikan hanya-lihat",
    "nameRequired": "Masukkan nama Anda untuk melanjutkan.",
    "codeRequired": "Masukkan kode sesi untuk bergabung.",
    "canEdit": "Dapat mengedit",
    "viewOnly": "Hanya-lihat",
    "allowEdit": "Izinkan orang ini mengedit",
    "setViewOnly": "Jadikan orang ini hanya-lihat",
    "chatLog": "Obrolan sesi",
    "chatCompose": "Ketik pesan",
    "chatEmpty": "Belum ada pesan.",
    "chatPlaceholder": "Kirim pesan…",
    "chatSend": "Kirim pesan",
    "chatAttachLocation": "Lampirkan lokasi peta saat ini",
    "chatLocationAttached": "Lokasi terlampir (klik untuk menghapus)",
    "chatGoToLocation": "Buka lokasi ini",
    "sessionStatusUnread_other": "Sesi kolaborasi langsung, {{count}} pesan belum dibaca. Klik untuk melihat siapa yang terhubung dan mengobrol."
  },
  "share": {
    "title": "Bagikan proyek",
    "description": "Unggah proyek saat ini ke {{shareHost}} dan dapatkan tautan yang dapat dibagikan.",
    "setupIntro": "Hubungkan akun {{shareHost}} Anda sebelum mengunggah.",
    "step1Title": "1. Dapatkan token API",
    "step1Description": "Masuk ke {{shareHost}}, lalu buat token di Settings → API tokens.",
    "getToken": "Dapatkan token API",
    "step2Title": "2. Tambahkan token ke GeoLibre",
    "step2Description": "Tempel token ke Settings → Environment Variables pada perangkat ini.",
    "configureToken": "Konfigurasi token lokal",
    "liveAt": "Proyek Anda aktif di:",
    "copyLink": "Salin tautan",
    "open": "Buka",
    "done": "Selesai",
    "projectTitle": "Judul proyek",
    "titlePlaceholder": "Beri nama proyek Anda",
    "titleRequired": "Masukkan judul proyek sebelum membagikan.",
    "visibility": "Visibilitas",
    "visibilityUnlisted": "Tidak terdaftar (siapa pun dengan tautan)",
    "visibilityPublic": "Publik (terdaftar di galeri)",
    "visibilityPrivate": "Privat (hanya Anda)",
    "shareButton": "Bagikan",
    "sharing": "Membagikan…",
    "errorFallback": "Tidak dapat membagikan proyek.",
    "usernameRequired": "Atur nama pengguna pada akun {{shareHost}} Anda sebelum membagikan. Buka pengaturan akun Anda untuk memilihnya, lalu coba lagi.",
    "openAccountSettings": "Buka pengaturan akun",
    "credentialsRemoved": "{{count}} bidang kredensial tidak disertakan. Penerima harus memberikan kredensial sendiri atau menggunakan referensi yang diperantarai."
  },
  "gallery": {
    "title": "Galeri proyek",
    "description": "Jelajahi proyek publik yang dibagikan di {{shareHost}} dan buka salah satunya di GeoLibre.",
    "searchPlaceholder": "Filter proyek yang dimuat berdasarkan judul, penulis, atau tag",
    "loading": "Memuat proyek…",
    "loadingMore": "Memuat lebih banyak…",
    "loadMore": "Muat lebih banyak",
    "empty": "Belum ada proyek publik untuk ditampilkan.",
    "noMatches": "Tidak ada proyek yang dimuat sesuai dengan filter Anda.",
    "errorFallback": "Tidak dapat memuat galeri proyek.",
    "errorTimeout": "Galeri proyek habis waktu. Silakan coba lagi.",
    "errorNetwork": "Tidak dapat menjangkau {{shareHost}}. Periksa koneksi internet Anda.",
    "errorHttp": "Tidak dapat memuat galeri (HTTP {{status}}).",
    "errorInvalidResponse": "Tidak dapat memuat galeri (respons server tidak valid).",
    "errorUnauthorized": "Token API {{shareHost}} Anda tidak valid atau telah kedaluwarsa. Perbarui di Pengaturan.",
    "errorUsernameRequired": "Atur nama pengguna pada akun {{shareHost}} Anda sebelum memuat proyek Anda.",
    "errorNotConfigured": "Penerapan ini tidak memiliki server pembagian proyek yang dikonfigurasi.",
    "retry": "Coba lagi",
    "open": "Buka",
    "openCopy": "Buka salinan",
    "opening": "Membuka…",
    "openingCopy": "Membuka salinan…",
    "openOnWeb": "Lihat di web",
    "openError": "Tidak dapat membuka proyek ini.",
    "byAuthor": "oleh {{author}}",
    "views_other": "{{count}} kali dilihat",
    "untitled": "Proyek Tanpa Judul",
    "noThumbnail": "Tidak ada pratinjau",
    "resizeDialog": "Ubah ukuran galeri",
    "scopeFeatured": "Unggulan",
    "scopeAll": "Semua proyek",
    "scopeMine": "Proyek saya",
    "signedOutHint": "Tambahkan token API {{shareHost}} di Pengaturan untuk melihat proyek tidak terdaftar dan privat milik Anda.",
    "emptyFeatured": "Belum ada proyek unggulan.",
    "emptyMine": "Anda belum membagikan proyek apa pun.",
    "visibilityUnlisted": "Tidak terdaftar",
    "visibilityPrivate": "Privat"
  },
  "template": {
    "saveTitle": "Simpan sebagai templat",
    "saveDescription": "Simpan proyek ini dalam keadaan sudah terkonfigurasi sebagai templat yang dapat dipakai ulang di pustaka pribadi Anda.",
    "defaultName": "Templat Tanpa Judul",
    "nameLabel": "Nama templat",
    "namePlaceholder": "mis. Peta Standar Organisasi",
    "descriptionLabel": "Deskripsi (opsional)",
    "descriptionPlaceholder": "mis. Peta dasar, gaya, dan tata letak dasbor yang sudah disiapkan untuk peta tim",
    "stripDataLayersLabel": "Hapus layer data",
    "stripDataLayersDesc": "Pertahankan peta dasar, grup layer, gaya, legenda, widget, dan tata letak, tetapi hapus isi layer data.",
    "saveAction": "Simpan ke Pustaka Templat"
  },
  "language": {
    "label": "Bahasa",
    "description": "Pilih bahasa yang digunakan untuk antarmuka."
  },
  "printLayout": {
    "title": "Tata Letak Cetak",
    "description": "Susun peta siap cetak dengan judul, legenda, skala, dan penunjuk utara, lalu ekspor ke PNG atau PDF.",
    "preview": "Pratinjau",
    "resizeControls": "Ubah ukuran panel kontrol",
    "resizeDialog": "Ubah ukuran dialog",
    "recapture": "Tangkap ulang peta",
    "copyToClipboard": "Salin ke Papan Klip",
    "copied": "Tersalin",
    "exportPng": "Ekspor PNG",
    "exportPdf": "Ekspor PDF",
    "titleLabel": "Judul",
    "titlePlaceholder": "Judul peta",
    "subtitleLabel": "Subjudul",
    "subtitlePlaceholder": "Subjudul opsional",
    "size": "Ukuran",
    "sizeGroup": {
      "paper": "Kertas",
      "screen": "Layar / digital"
    },
    "sizeCustom": "Kustom…",
    "orientation": "Orientasi",
    "portrait": "Potret",
    "landscape": "Lanskap",
    "width": "Lebar",
    "height": "Tinggi",
    "unit": "Satuan",
    "titlePlacement": "Penempatan judul",
    "placement": {
      "outside": "Di luar bingkai",
      "inside": "Di dalam bingkai"
    },
    "alignment": "Perataan",
    "align": {
      "left": "Kiri",
      "center": "Tengah",
      "right": "Kanan"
    },
    "mapElements": "Elemen peta",
    "element": {
      "title": "Judul",
      "subtitle": "Subjudul",
      "legend": "Legenda",
      "scaleBar": "Skala batang",
      "northArrow": "Penunjuk utara",
      "groupNavigation": "Kelompokkan penunjuk utara & skala batang",
      "footer": "Teks footer",
      "date": "Tanggal",
      "attribution": "Sertakan atribusi GeoLibre",
      "pageBorder": "Batas halaman",
      "infoBlock": "Blok info (blok judul)",
      "colorbar": "Bilah warna",
      "customLegend": "Legenda kustom",
      "dataTable": "Tabel atribut",
      "dataChart": "Diagram"
    },
    "dataBlocks": {
      "layer": "Layer",
      "titleLabel": "Judul",
      "position": "Posisi",
      "filterToPage": "Hanya fitur dalam cakupan halaman",
      "filterToPageHint": "Berlaku untuk halaman atlas dan cakupan cetak yang digambar; jika tidak, seluruh layer digunakan."
    },
    "dataTable": {
      "columns": "Kolom",
      "columnsHint": "{{count}} bidang pertama dipilih secara default. Centang kolom untuk menyesuaikan.",
      "maxRows": "Baris maks",
      "moreRows_other": "+{{count}} lagi",
      "noRows": "Tidak ada baris untuk ditampilkan dengan pengaturan saat ini."
    },
    "dataChart": {
      "type": "Jenis diagram",
      "typeBar": "Batang",
      "typePie": "Lingkaran",
      "typeLine": "Garis",
      "categoryField": "Bidang kategori",
      "aggregation": "Agregasi",
      "aggCount": "Hitung",
      "aggSum": "Jumlah",
      "aggMean": "Rata-rata",
      "valueField": "Bidang nilai",
      "noNumericFields": "Layer ini tidak memiliki bidang numerik untuk diagregasi.",
      "noData": "Tidak ada data diagram dengan pengaturan saat ini."
    },
    "customLegend": {
      "title": "Judul legenda",
      "color": "Warna",
      "itemLabel": "Label",
      "position": "Posisi",
      "addItem": "Tambah item",
      "removeItem": "Hapus item",
      "importFromDict": "Impor dari kamus",
      "import": "Impor",
      "importError": "Masukkan kamus {\"label\": \"color\"} yang valid."
    },
    "colorbar": {
      "colormap": "Peta warna",
      "min": "Nilai minimum",
      "max": "Nilai maksimum",
      "label": "Label",
      "labelPlaceholder": "mis. Ketinggian (m)",
      "orientation": "Orientasi",
      "vertical": "Vertikal",
      "horizontal": "Horizontal",
      "position": "Posisi",
      "length": "Panjang"
    },
    "position": {
      "topLeft": "Kiri atas",
      "topRight": "Kanan atas",
      "bottomLeft": "Kiri bawah",
      "bottomRight": "Kanan bawah"
    },
    "footerTextLabel": "Teks footer",
    "footerPlaceholder": "Teks footer kustom",
    "margin": "Margin",
    "marginOption": {
      "normal": "Normal",
      "narrow": "Sempit",
      "none": "Tanpa (tanpa batas)"
    },
    "mapBackground": "Latar belakang peta",
    "scaleLabel": "Skala (1:N)",
    "scalePlaceholder": "mis. 25000",
    "scalePresets": "Preset…",
    "scalePresetsAria": "Preset skala",
    "extent": {
      "label": "Cakupan cetak",
      "draw": "Gambar cakupan pada peta",
      "redraw": "Gambar ulang cakupan pada peta",
      "useViewport": "Gunakan viewport aktif",
      "useCustom": "Potong ke cakupan kustom",
      "clear": "Bersihkan cakupan",
      "hint": "Seret kotak pada peta untuk menetapkan area cetak yang tepat. Tahan Shift untuk menyesuaikan proporsi halaman."
    },
    "info": {
      "author": "Penulis",
      "authorPlaceholder": "Penulis atau organisasi",
      "project": "No. Proyek",
      "projectPlaceholder": "Nomor referensi",
      "crs": "CRS",
      "crsPlaceholder": "mis. EPSG:4326",
      "scale": "Skala",
      "revision": "Revisi",
      "revisionPlaceholder": "mis. Rev 01"
    },
    "borderColor": "Warna batas",
    "borderWidth": "Lebar batas",
    "mapBorderColor": "Warna bingkai peta",
    "mapBorderWidth": "Lebar bingkai peta",
    "errors": {
      "mapNotReady": "Peta belum siap. Coba lagi sesaat lagi.",
      "captureFailed": "Tidak dapat menangkap gambar peta.",
      "captureFirst": "Tangkap peta sebelum mengekspor.",
      "exportFailed": "Gagal mengekspor {{format}}.",
      "clipboardFailed": "Tidak dapat menyalin tata letak ke papan klip.",
      "scaleOutOfRange": "Skala ini berada di luar rentang yang dapat dijangkau tampilan saat ini; menampilkan skala terdekat yang tersedia."
    },
    "legend": {
      "section": "Legenda",
      "titleLabel": "Judul legenda",
      "defaultTitle": "Legenda",
      "groupByLayer": "Kelompokkan kelas berdasarkan layer",
      "empty": "Tidak ada layer terlihat untuk disertakan dalam legenda.",
      "labelPlaceholder": "Label",
      "moveUp": "Pindahkan entri ke atas",
      "moveDown": "Pindahkan entri ke bawah",
      "showEntry": "Tampilkan entri",
      "hideEntry": "Sembunyikan entri",
      "moreItems_other": "+{{count}} lagi"
    },
    "atlas": {
      "section": "Atlas (seri peta)",
      "enable": "Hasilkan seri peta multi-halaman",
      "coverageLayer": "Layer cakupan",
      "coverage": "Cakupan",
      "coveragePerFeature": "Satu halaman per fitur",
      "coverageAlongLine": "Halaman di sepanjang garis",
      "segmentLength": "Panjang segmen (km)",
      "segmentRequired": "Masukkan panjang segmen minimal 0,1 km.",
      "segmentTruncated": "Seri dibatasi hingga {{count}} halaman. Perbesar panjang segmen.",
      "noLineFeatures": "Layer cakupan tidak memiliki fitur garis.",
      "noLayers": "Tidak ada layer vektor dengan fitur yang termuat. Tambahkan GeoJSON atau layer vektor lokal lainnya terlebih dahulu.",
      "nameField": "Bidang nama halaman",
      "nameFieldNone": "Nomor fitur",
      "extentMode": "Cakupan halaman",
      "extentMargin": "Margin di sekitar fitur",
      "extentScale": "Skala tetap",
      "marginLabel": "Margin (%)",
      "scaleLabel": "Skala",
      "scaleRequired": "Masukkan skala yang lebih besar dari nol.",
      "sortField": "Urutkan berdasarkan",
      "sortNone": "Urutan layer",
      "sortOrder": "Urutan",
      "sortAsc": "Menaik",
      "sortDesc": "Menurun",
      "filterLabel": "Filter",
      "filterPlaceholder": "mis. POP2000 > 100000 and ST = \"CA\"",
      "filterError": "Tidak dapat mengurai filter. Gunakan perbandingan bidang-operator-nilai (=, !=, >, >=, <, <=, contains) yang digabung dengan \"and\".",
      "filenamePattern": "Nama file halaman (ekspor ZIP)",
      "pages_other": "{{count}} halaman",
      "noPages": "Tidak ada fitur yang cocok dengan filter saat ini.",
      "pageOf": "Halaman {{current}} dari {{total}}",
      "prevPage": "Halaman atlas sebelumnya",
      "nextPage": "Halaman atlas berikutnya",
      "exportZip": "Ekspor ZIP PNG",
      "exportPdfPages_other": "Ekspor PDF ({{count}} halaman)",
      "exporting": "Mengekspor halaman {{current}} dari {{total}}...",
      "tokensHint": "Token {atlas.name}, {atlas.pagenumber}, {atlas.total}, dan {atlas.attr:FIELD} diganti per halaman pada judul, subjudul, footer, dan nama file halaman.",
      "alongLineHint": "Halaman mengikuti setiap garis secara berurutan; km_start, km_end, segment, dan segments tersedia sebagai token {atlas.attr:FIELD}."
    }
  },
  "kml": {
    "importFailed": "Tidak dapat mengimpor KML/KMZ.",
    "timeOverlayGroup": "Animasi overlay waktu"
  },
  "map": {
    "boundsRestricted": "Batas terkunci",
    "boundsRestrictedTooltip": "Batas peta dibatasi. Anda dapat mengubah ini di Pengaturan.",
    "directionsMode": {
      "title": "Mode arah aktif",
      "hint": "Klik peta untuk menambahkan titik jalan. Seret titik jalan untuk memindahkannya, atau klik untuk menghapusnya. Rute diperbarui secara otomatis.",
      "removeLast": "Hapus terakhir",
      "clear": "Bersihkan",
      "exit": "Keluar",
      "calculating": "Menghitung rute...",
      "totalDistance": "Jarak",
      "estimatedTime": "Perkiraan waktu",
      "segment": "Segmen {{index}}",
      "metricsUnavailable": "Metrik rute tidak tersedia",
      "distanceKilometers": "{{value}} km",
      "distanceMeters": "{{value}} m",
      "durationLessThanMinute": "< 1 mnt",
      "durationMinutes": "{{value}} mnt",
      "durationHours": "{{value}} jam",
      "durationHoursMinutes": "{{hours}} jam {{minutes}} mnt",
      "waypointCount_zero": "Belum ada titik jalan yang ditempatkan",
      "waypointCount_other": "{{count}} titik jalan ditempatkan"
    },
    "reverseGeocodeMode": {
      "title": "Mode Reverse Geocode aktif",
      "hint": "Klik di mana saja pada peta untuk mencari alamat di titik tersebut.",
      "exit": "Keluar"
    },
    "pixelTimeSeriesMode": {
      "start": "Deret waktu piksel"
    }
  },
  "terrainSettings": {
    "title": "Eksagerasi medan",
    "description": "Sesuaikan eksagerasi vertikal medan 3D. Nilai lebih tinggi membuat bukit dan gunung tampak lebih curam.",
    "label": "Eksagerasi vertikal",
    "controlLabel": "Alihkan medan (klik dua kali untuk eksagerasi)",
    "reset": "Atur ulang",
    "done": "Selesai"
  },
  "pixelTimeSeries": {
    "title": "Deret waktu piksel",
    "empty": "Klik piksel pada peta untuk memplot nilainya sepanjang waktu. Tambahkan lebih banyak piksel untuk membandingkan.",
    "band": "Kanal",
    "bandOption": "Kanal {{index}}",
    "pointLabel": "Titik {{number}}",
    "pickPoints": "Pilih titik",
    "stopPicking": "Berhenti memilih",
    "clearAll": "Bersihkan semua",
    "removePoint": "Hapus {{label}}",
    "close": "Tutup",
    "erroredExcluded": "Ekspor mengecualikan {{n}} pembacaan yang gagal.",
    "querying": "Membaca nilai piksel sepanjang linimasa...",
    "progress": "Membaca {{done}} dari {{total}}...",
    "noValues": "Tidak ada nilai untuk kanal yang dipilih di lokasi ini (di luar raster atau semua langkah waktu adalah nodata).",
    "truncated": "Menampilkan {{kept}} dari {{total}} langkah linimasa (di-downsample untuk membatasi pembacaan).",
    "chartAria": "Bagan garis nilai piksel sepanjang waktu",
    "yAxis": "Sumbu Y",
    "yMin": "Min",
    "yMax": "Maks",
    "axisAuto": "otomatis",
    "gapNote": "Segmen putus-putus menjembatani tanggal tanpa nilai (nodata atau di luar cakupan).",
    "exportCsv": "Ekspor CSV",
    "exportGeoParquet": "Ekspor GeoParquet"
  },
  "basemapExtract": {
    "title": "Ekstrak Peta Dasar Offline",
    "url": "URL peta dasar",
    "urlPlaceholder": "https://data.source.coop/…/planet.pmtiles",
    "useView": "Gunakan tampilan peta",
    "drawBbox": "Gambar pada peta",
    "drawing": "Menggambar…",
    "drawHint": "Seret kotak pada peta untuk menetapkan area ekstrak.",
    "clearBbox": "Bersihkan area yang digambar",
    "north": "Utara",
    "south": "Selatan",
    "west": "Barat",
    "east": "Timur",
    "bboxHint": "Masukkan kotak pembatas yang valid: barat < timur dan selatan < utara, dalam rentang [-180, 180] dan [-90, 90].",
    "minZoom": "Zoom minimum",
    "maxZoom": "Zoom maksimum",
    "zoomHint": "Tingkat zoom harus berupa bilangan bulat dengan min ≤ maks (0–30). Tingkat di atas maksimum arsip diabaikan.",
    "errorNoSourceLayers": "Arsip vektor ini tidak memiliki metadata layer, sehingga tidak dapat dirender. Coba arsip lain.",
    "savedTitle": "Peta dasar tersimpan",
    "openFile": "Buka file…",
    "savedEmpty": "Belum ada peta dasar tersimpan. Ekstrak satu di atas, atau buka file .pmtiles.",
    "errorNotBasemap": "File ini bukan peta dasar vektor Protomaps, sehingga tidak dapat diberi gaya.",
    "apply": "Gunakan sebagai peta dasar",
    "rename": "Ganti nama",
    "delete": "Hapus",
    "confirmDelete": "Hapus?",
    "style": "Gaya peta dasar",
    "flavor": {
      "light": "Terang",
      "dark": "Gelap",
      "white": "Putih",
      "grayscale": "Skala abu-abu",
      "black": "Hitam"
    },
    "flavorOverlay": "Tanpa (layer overlay)",
    "styleHintBasemap": "Merender ekstrak sebagai peta dasar Protomaps bergaya (jalan, perairan, label), secara offline.",
    "styleHintOverlay": "Menambahkan ekstrak sebagai layer overlay biasa alih-alih peta dasar bergaya.",
    "phaseDirectories": "Membaca direktori arsip…",
    "phaseData": "Mengunduh ubin…",
    "resize": "Ubah ukuran panel",
    "estimatedSize": "≈ {{size}} · {{tiles}} ubin",
    "estimatedSizeLarge": "Unduhan besar: ≈ {{size}} · {{tiles}} ubin",
    "planWarning": "Ekstrak ini berukuran sekitar {{size}} pada {{tiles}} ubin dan dirakit di memori. Lanjutkan?",
    "planContinue": "Lanjutkan",
    "extract": "Ekstrak",
    "extracting": "Mengekstrak…",
    "successSaved": "Tersimpan ke {{path}} dan ditambahkan ke peta.",
    "successAdded": "Ditambahkan ke peta (file tidak disimpan).",
    "successAddedSaveFailed": "Ditambahkan ke peta, tetapi penyimpanan ke disk gagal: {{error}}",
    "successBasemapSaved": "Tersimpan ke {{path}} dan diatur sebagai peta dasar.",
    "successBasemapApplied": "Diatur sebagai peta dasar (file tidak disimpan).",
    "successBasemapSaveFailed": "Diatur sebagai peta dasar, tetapi penyimpanan ke disk gagal: {{error}}"
  },
  "rasterSubset": {
    "title": "Ekstrak subset",
    "drawBbox": "Gambar kotak pembatas",
    "drawing": "Menggambar…",
    "drawHint": "Klik dan seret pada peta untuk menggambar area ekstraksi. Tekan Esc untuk membatalkan.",
    "useView": "Gunakan tampilan",
    "north": "Utara",
    "south": "Selatan",
    "west": "Barat",
    "east": "Timur",
    "bboxHint": "Masukkan kotak yang valid: barat/timur antara -180 hingga 180, selatan/utara antara -90 hingga 90, dengan barat < timur dan selatan < utara.",
    "bboxAntimeridianHint": "Barat harus lebih kecil dari Timur. Kotak yang melintasi meridian 180° tidak didukung; pisahkan menjadi dua ekstraksi.",
    "zoom": "Tingkat zoom",
    "zoomHint": "Masukkan tingkat zoom bilangan bulat antara 0 dan 30.",
    "resolution": "Resolusi",
    "resolutionPlaceholder": "Asli",
    "resolutionHint": "Ukuran piksel keluaran dalam satuan CRS keluaran. Biarkan kosong untuk mempertahankan resolusi sumber.",
    "advanced": "Opsi lanjutan",
    "outputCrs": "CRS keluaran (EPSG)",
    "outputCrsPlaceholder": "Sama dengan masukan",
    "nodata": "Nilai nodata",
    "nodataPlaceholder": "Tidak ada",
    "additionalArgs": "Opsi tambahan",
    "additionalArgsPlaceholder": "level=2\nwidth=512",
    "additionalArgsHint": "Satu key=value per baris, mis. level, width, height.",
    "errorResolution": "Resolusi harus berupa angka positif.",
    "errorOutputCrs": "CRS keluaran harus berupa kode EPSG positif.",
    "errorNodata": "Nodata harus berupa angka.",
    "errorAdditionalArgs": "Opsi tambahan harus berupa satu key=value per baris.",
    "extract": "Ekstrak & simpan",
    "extracting": "Mengekstrak…",
    "success": "Subset tersimpan."
  },
  "mapGrid": {
    "layers": "Layer",
    "layersLabel": "Visibilitas layer untuk peta {{number}}",
    "noLayers": "Belum ada layer",
    "labelPlaceholder": "Label",
    "labelLabel": "Label untuk peta {{number}}",
    "removePane": "Hapus peta {{number}}",
    "show3d": "Tampilkan peta {{number}} sebagai bola dunia 3D",
    "show2d": "Tampilkan peta {{number}} sebagai peta 2D",
    "only2d": "Hanya 2D"
  },
  "mapContextMenu": {
    "copyCoordinatesHint": "Salin koordinat ke papan klip",
    "quickActions": "Aksi cepat",
    "whatsHere": "Ada apa di sini?",
    "copyGeoJson": "Salin sebagai GeoJSON",
    "centerHere": "Pusatkan peta di sini",
    "zoomInHere": "Perbesar di sini",
    "viewInGoogleMaps": "Lihat di Google Maps",
    "viewInGoogleEarth": "Lihat di Google Earth"
  },
  "quickAnalysis": {
    "menu": "Analisis cepat",
    "bufferHere": "Buffer {{distance}} di sini",
    "bufferFeatures": "Buffer semua fitur sebesar {{distance}}",
    "driveTimeHere": "Waktu berkendara dari sini ({{contours}} mnt)",
    "walkTimeHere": "Waktu berjalan dari sini ({{contours}} mnt)",
    "centroids": "Sentroid",
    "convexHull": "Convex hull",
    "boundingBox": "Kotak pembatas",
    "openInProcessing": "Buka di Pemrosesan…",
    "bufferLayerName": "Buffer {{distance}}",
    "bufferOfLayerName": "{{name}} buffer {{distance}}",
    "driveTimeLayerName": "Waktu berkendara",
    "walkTimeLayerName": "Waktu berjalan",
    "centroidsLayerName": "{{name}} sentroid",
    "convexHullLayerName": "{{name}} convex hull",
    "boundingBoxLayerName": "{{name}} kotak pembatas",
    "running": "Menjalankan {{tool}}…",
    "failed": "{{tool}} gagal",
    "viewDetails": "Lihat detail",
    "unit": {
      "meters": "m",
      "kilometers": "km",
      "miles": "mi"
    }
  },
  "knowledgeCard": {
    "title": "Info tempat",
    "loading": "Mencari info tempat ini…",
    "empty": "Tidak ditemukan artikel Wikipedia di dekat tempat ini.",
    "error": "Tidak dapat memuat info tempat. Silakan coba lagi.",
    "readMore": "Baca selengkapnya di Wikipedia",
    "nearby": "Tempat di sekitar",
    "attribution": "Konten dari Wikipedia, berlisensi CC BY-SA.",
    "noticeTitle": "Kartu pengetahuan menggunakan Wikipedia",
    "noticeDesc": "Membuka kartu pengetahuan mengirimkan koordinat tempat yang Anda klik (dan judul artikel terdekat yang Anda buka) ke API publik Wikipedia untuk mengambil ringkasan dan foto — koordinat Anda meninggalkan perangkat untuk permintaan tersebut."
  },
  "onboarding": {
    "title": "Selamat Datang di GeoLibre",
    "description": "Pilih tingkat pengalaman Anda untuk menyesuaikan antarmuka. Anda dapat mengubah ini kapan saja di Pengaturan → Antarmuka.",
    "level": {
      "beginner": {
        "title": "Pemula",
        "description": "Hanya tampilkan sumber data dan alat penting."
      },
      "intermediate": {
        "title": "Menengah",
        "description": "Tampilkan sumber data, layanan, dan plugin yang umum."
      },
      "advanced": {
        "title": "Lanjutan",
        "description": "Tampilkan semua yang ditawarkan GeoLibre."
      }
    },
    "showEverything": "Lewati — tampilkan semua"
  },
  "settings": {
    "title": "Pengaturan",
    "description": "Konfigurasi preferensi proyek dan pengaturan runtime.",
    "saveButton": "Simpan Pengaturan",
    "section": {
      "map": "Peta",
      "layout": "Tata Letak",
      "appearance": "Tampilan",
      "interface": "Antarmuka",
      "geocoding": "Geocoding",
      "ai": "Penyedia AI",
      "environment": "Lingkungan",
      "updates": "Pembaruan"
    },
    "menu": {
      "mapPreferences": "Preferensi Peta",
      "layoutSettings": "Pengaturan Tata Letak",
      "appearanceSettings": "Pengaturan Tampilan",
      "interfaceSettings": "Pengaturan Antarmuka",
      "geocoding": "Geocoding",
      "ai": "Penyedia AI",
      "environmentVariables": "Variabel Lingkungan",
      "updates": "Pengaturan Pembaruan",
      "managePlugins": "Kelola Plugin",
      "styleManager": "Pengelola Gaya",
      "urlOverrideNote": "Parameter tata letak URL menimpa pengaturan yang tersimpan."
    },
    "updates": {
      "title": "Pembaruan Perangkat Lunak",
      "description": "Kontrol bagaimana GeoLibre memeriksa versi baru saat aplikasi desktop dimulai.",
      "checkOnStartup": "Periksa pembaruan saat memulai",
      "checkOnStartupHint": "Jika diaktifkan, GeoLibre memeriksa versi lebih baru setiap kali aplikasi dimulai. Nonaktifkan ini untuk alur kerja yang sepenuhnya offline.",
      "notificationLevel": "Beri tahu saya tentang",
      "notificationLevelHint": "Pilih jenis rilis mana yang memicu notifikasi saat memulai.",
      "level": {
        "all": "Semua rilis (besar, kecil, dan tambal)",
        "minor": "Hanya rilis besar dan kecil",
        "major": "Hanya rilis besar"
      }
    },
    "map": {
      "constraintsTitle": "Batasan peta",
      "restrictBounds": "Batasi batas peta",
      "west": "Barat",
      "south": "Selatan",
      "east": "Timur",
      "north": "Utara",
      "useCurrentView": "Gunakan Tampilan Saat Ini",
      "useCurrentViewHint": "Menangkap cakupan peta saat ini dan mengaktifkan Batasi batas peta.",
      "useCurrentViewGlobeHint": "Beralih ke proyeksi Mercator sebelum menggunakan ini. Pada proyeksi Bola dunia, peta masih dapat bergeser sedikit melampaui batas yang ditangkap.",
      "minZoom": "Zoom minimum",
      "maxZoom": "Zoom maksimum",
      "maxPitch": "Kemiringan maksimum",
      "renderWorldCopies": "Tampilkan salinan dunia",
      "ellipsoid": "Benda langit",
      "ellipsoidHint": "Menetapkan radius yang digunakan untuk pengukuran jarak, luas, dan skala. Pilih peta dasar planet yang sesuai di Tambah Data.",
      "scaleUnit": "Satuan bilah skala",
      "scaleUnitMetric": "Metrik (m / km)",
      "scaleUnitImperial": "Imperial (ft / mi)",
      "scaleUnitNautical": "Nautikal (nmi)",
      "scaleUnitHint": "Pilih satuan yang ditampilkan pada bilah skala di bagian bawah peta.",
      "errorBoundsUnavailable": "Batas peta belum tersedia."
    },
    "layout": {
      "title": "Tata Letak",
      "description": "Visibilitas ruang kerja dan tampilan bilah alat.",
      "toolbar": "Bilah Alat",
      "panels": "Panel",
      "showToolbarLabels": "Tampilkan label bilah alat",
      "showProjectInfo": "Tampilkan info proyek",
      "showProjectInfoToolbar": "Tampilkan info proyek pada bilah alat",
      "showLayersPanel": "Tampilkan panel Layer",
      "showStylePanel": "Tampilkan panel Gaya",
      "showBrowserPanel": "Tampilkan panel Browser",
      "showCommentsPanel": "Tampilkan panel Komentar",
      "showAttributePanel": "Tampilkan panel Atribut",
      "urlParamsNote": "Parameter tata letak URL tetap berlaku jika ada pada tautan penampil yang dibagikan."
    },
    "appearance": {
      "title": "Tampilan",
      "description": "Pilih mode terang atau gelap dan warna aksen yang berlaku di atasnya.",
      "themeMode": "Mode",
      "mode": {
        "light": "Terang",
        "dark": "Gelap"
      },
      "accentColor": "Warna aksen",
      "custom": "Kustom",
      "customColor": "Warna kustom",
      "customColorHex": "Kode hex warna kustom",
      "scheme": {
        "blue": "Biru",
        "violet": "Ungu",
        "emerald": "Zamrud",
        "rose": "Merah muda",
        "amber": "Kuning keemasan"
      }
    },
    "interface": {
      "title": "Profil antarmuka",
      "description": "Pilih tingkat pengalaman untuk menyederhanakan antarmuka. Tidak ada yang dihapus, jadi Anda dapat beralih tingkat atau mengaktifkan kembali item di sini kapan saja.",
      "presets": "Tingkat pengalaman",
      "presetsHint": "Pemula, Menengah, dan Lanjutan menerapkan tata letak yang telah disesuaikan secara instan. Mengedit item apa pun di bawah beralih ke Kustom, atau klik Kustom untuk mempertahankan setelan saat ini dalam mode kustom.",
      "level": {
        "beginner": "Pemula",
        "intermediate": "Menengah",
        "advanced": "Lanjutan",
        "custom": "Kustom"
      },
      "dataSources": "Sumber data",
      "plugins": "Plugin",
      "menus": "Menu",
      "lockedNote": "Profil antarmuka ini dikelola oleh administrator Anda dan tidak dapat diubah."
    },
    "env": {
      "tokenTitle": "Token API Share.GeoLibre",
      "tokenDescription": "Project > Share menggunakan token ini untuk mengunggah peta Anda ke {{shareHost}}. Buka <tokenLink>{{shareHost}}/settings</tokenLink>, buat token di Settings > API tokens, lalu tempelkan ke bidang di bawah.",
      "tokenStorageNote": "Disimpan secara lokal di perangkat ini dan hanya dikirim ke {{shareHost}} untuk mengautentikasi unggahan. Pada build web, token ini berbagi penyimpanan browser yang sama dengan data situs lainnya, jadi cabut aksesnya di {{shareHost}} jika perangkat Anda disusupi.",
      "tokenUnavailable": "Penerapan ini tidak memiliki server pembagian proyek yang dikonfigurasi, sehingga token API tidak diperlukan.",
      "tokenHostInvalid": "Alamat server pembagian proyek pada penerapan ini tidak valid, sehingga token ini tidak dapat digunakan.",
      "tokenPlaceholder": "glb_…",
      "cesiumTokenTitle": "Token Cesium Ion",
      "cesiumTokenDescription": "Bola dunia 3D (panel tampilan terpisah) menggunakan citra dan medan dunia Cesium Ion, yang memerlukan token akses. Buat akun gratis di <tokenLink>ion.cesium.com/tokens</tokenLink>, salin token akses default Anda, dan tempelkan di bawah. Tanpa token, tombol bola dunia 3D disembunyikan.",
      "cesiumTokenStorageNote": "Disimpan secara lokal di perangkat ini (bukan dalam file proyek, sehingga tidak pernah dibagikan) dan hanya dikirim ke Cesium Ion. Pada build web, token ini berbagi penyimpanan browser yang sama dengan data situs lainnya.",
      "cesiumTokenPlaceholder": "eyJhbGciOi…",
      "variablesTitle": "Variabel lingkungan",
      "variablesCount_other": "{{count}} variabel runtime diaktifkan.",
      "secretsWarning": "Nilai disimpan dalam teks biasa pada file proyek dan dapat terekspos saat proyek dibagikan. Hindari menaruh rahasia di sini kecuali file proyek tetap privat.",
      "empty": "Tidak ada variabel lingkungan yang dikonfigurasi.",
      "variableFallback": "variabel",
      "enableAria": "Aktifkan {{name}}",
      "nameAria": "Nama variabel",
      "namePlaceholder": "VITE_EXAMPLE_KEY",
      "valueAria": "Nilai variabel",
      "valuePlaceholder": "Nilai",
      "showValueAria": "Tampilkan nilai untuk {{name}}",
      "hideValueAria": "Sembunyikan nilai untuk {{name}}",
      "removeAria": "Hapus {{name}}",
      "errorNamePattern": "Nama variabel lingkungan harus dimulai dengan huruf atau garis bawah dan hanya berisi huruf, angka, dan garis bawah.",
      "errorDuplicate": "Variabel lingkungan \"{{name}}\" duplikat.",
      "stripPromptTitle": "Hapus kredensial?",
      "stripPromptDesc": "Proyek ini memiliki {{count}} bidang yang memuat kredensial, seperti kunci API, header permintaan, atau pengaturan plugin. Hapus dari file yang disimpan? Ruang kerja saat ini tetap menyimpannya.",
      "stripButton": "Hapus kredensial",
      "keepButton": "Simpan dalam file"
    },
    "geocoding": {
      "title": "Geocoding",
      "description": "Pilih backend geocoding yang digunakan oleh Geocode Addresses dan Reverse Geocode. Nominatim adalah default dan tidak memerlukan kunci.",
      "provider": "Penyedia",
      "requiresKey": "Penyedia ini memerlukan kunci API atau token akses.",
      "optionalKey": "Layanan yang di-hosting memerlukan kunci API; instansi mandiri tidak.",
      "noKey": "Penyedia ini berfungsi tanpa kunci API.",
      "apiKey": "Kunci API",
      "apiKeyPlaceholder": "Tempel kunci atau token API penyedia",
      "toggleApiKey": "Alihkan visibilitas kunci API",
      "forwardEndpoint": "Endpoint maju (opsional)",
      "reverseEndpoint": "Endpoint balik (opsional)",
      "email": "Email kontak (opsional)",
      "emailPlaceholder": "anda@contoh.org",
      "emailHint": "Hanya digunakan oleh Nominatim, yang menyarankan menyediakannya untuk membantu mengidentifikasi aplikasi Anda — hanya dikirim jika disediakan.",
      "secretsWarning": "Kunci disimpan dalam teks biasa pada file proyek dan dapat terekspos saat proyek dibagikan. Kunci juga dikirim sebagai parameter kueri, sehingga muncul dalam URL permintaan geocoding yang terlihat di DevTools browser dan log proxy mana pun.",
      "corsNote": "Google tidak secara resmi mengizinkan permintaan browser ke Geocoding API-nya, sehingga permintaan mungkin diblokir kecuali dilayani melalui proxy dengan asal yang sama."
    },
    "ai": {
      "title": "Penyedia Asisten AI",
      "description": "Konfigurasikan kredensial untuk Asisten AI. Pilih penyedia, isi bidang yang diperlukan, lalu Simpan. Hanya satu penyedia yang dikonfigurasi diperlukan untuk mulai mengobrol.",
      "providerLabel": "Penyedia",
      "providerHint": "Pilih penyedia untuk menampilkan bidang yang tepat diperlukan.",
      "configuredMark": "(dikonfigurasi)",
      "optionalMark": "(opsional)",
      "statusReady": "{{provider}} telah dikonfigurasi dan siap digunakan.",
      "statusIncomplete": "Isi bidang wajib di bawah untuk mengaktifkan {{provider}}.",
      "secretsNote": "Kredensial disimpan secara lokal di perangkat ini, bukan dalam file proyek yang Anda bagikan, sehingga tetap tersimpan setelah aplikasi dimulai ulang. Siapa pun yang memiliki akses ke perangkat ini dapat membacanya.",
      "getCredentials": "Tempat mendapatkan kredensial {{provider}}",
      "showValue": "Tampilkan {{name}}",
      "hideValue": "Sembunyikan {{name}}",
      "osEnvNote": "Aplikasi desktop juga membaca kunci API yang cocok dari variabel lingkungan sistem Anda. Kunci tersebut digunakan secara otomatis dan tidak pernah disimpan ke file proyek — biarkan bidang kosong untuk tetap menggunakan nilai lingkungan.",
      "osEnvField": "Dibaca dari variabel lingkungan sistem Anda {{name}}.",
      "osEnvPlaceholder": "Atur di lingkungan sistem Anda",
      "newProfile": "Profil baru",
      "cancel": "Batal",
      "addProfile": "Tambah profil",
      "profileName": "Nama profil",
      "profileNamePlaceholder": "mis. Gemini Kerja, Ollama Lokal",
      "profileCount_other": "{{count}} profil",
      "noProfiles": "Belum ada profil. Tambahkan satu di bawah untuk mengonfigurasi Asisten AI.",
      "setDefault": "Jadikan default",
      "defaultProfile": "Default",
      "edit": "Edit",
      "deleteProfile": "Hapus profil",
      "backToProfiles": "← Kembali ke profil",
      "saveProfile": "Simpan profil",
      "profileEditSaveHint": "Simpan atau buang perubahan profil di atas, lalu klik Simpan Pengaturan untuk menerapkan semua perubahan.",
      "field": {
        "apiKey": "Kunci API",
        "baseUrl": "URL dasar",
        "model": "Model",
        "region": "Wilayah",
        "accessKeyId": "ID Kunci Akses",
        "secretAccessKey": "Kunci Akses Rahasia",
        "sessionToken": "Token sesi"
      },
      "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… (jika menggunakan kredensial sementara)",
        "customBaseUrl": "https://api.example.com/v1",
        "customModel": "model-id",
        "customApiKey": "sk-… (jika diperlukan)"
      }
    }
  },
  "toolbar": {
    "menu": {
      "project": "Proyek",
      "import": "Impor",
      "edit": "Edit",
      "view": "Tampilan",
      "addData": "Tambah Data",
      "processing": "Pemrosesan",
      "controls": "Kontrol",
      "plugins": "Plugin",
      "help": "Bantuan",
      "settings": "Pengaturan"
    },
    "atmosphere": {
      "haloColor": "Warna halo",
      "haloExtent": "Cakupan halo",
      "haloExtentHint": "Seberapa jauh cahaya atmosfer menjangkau melampaui bola dunia. Lebih rendah menjaga data tetap dekat dengan permukaan; lebih tinggi memberikan halo yang lebar dan lapang.",
      "haloOpacity": "Kekuatan halo",
      "spaceColor": "Warna ruang angkasa",
      "reset": "Atur ulang ke default",
      "globeOnly": "Efek atmosfer hanya tersedia saat tampilan Bola dunia diaktifkan."
    },
    "sun": {
      "title": "Matahari",
      "date": "Tanggal",
      "time": "Waktu",
      "timeOfDay": "Waktu hari",
      "play": "Putar",
      "pause": "Jeda",
      "stepBack": "Mundur satu jam",
      "stepForward": "Maju satu jam",
      "speed": "Kecepatan animasi",
      "loop": "Ulangi animasi",
      "now": "Sekarang",
      "shade": "Bayangan malam",
      "close": "Tutup",
      "localTimeNote": "Waktu ditampilkan dalam zona waktu komputer Anda."
    },
    "routeAnimation": {
      "title": "Animasi Rute",
      "layer": "Lapisan rute",
      "selectLayer": "Pilih lapisan garis…",
      "noLineLayers": "Tidak ada lapisan garis dalam proyek",
      "play": "Putar",
      "pause": "Jeda",
      "loop": "Ulang animasi",
      "progress": "Kemajuan",
      "speed": "Kecepatan",
      "followCamera": "Ikuti",
      "followPitch": "Pitch kamera",
      "followZoom": "Zoom kamera",
      "followRotate": "Putar mengikuti arah",
      "color": "Warna rute",
      "marker": "Penanda",
      "markerStyle": {
        "arrow": "Panah (arah)",
        "point": "Titik",
        "none": "Tidak ada"
      },
      "trail": "Jejak",
      "saveVideoMp4": "Simpan sebagai MP4",
      "saveVideoWebm": "Simpan sebagai WebM",
      "estimatedLength": "≈ {{seconds}} detik",
      "recordingStatus": "Merekam… {{percent}}%",
      "savingVideo": "Menyimpan video…",
      "stop": "Hentikan",
      "videoSaved": "{{name}} tersimpan",
      "videoError": "Tidak dapat merekam animasi. Silakan coba lagi.",
      "videoUnsupported": "Perekaman video tidak didukung di browser ini.",
      "videoFileTypeMp4": "Video MP4",
      "videoFileTypeWebm": "Video WebM",
      "collapse": "Ciutkan",
      "expand": "Perluas",
      "close": "Tutup"
    },
    "flightSim": {
      "title": "Simulator Penerbangan",
      "start": "Mulai terbang",
      "stop": "Hentikan penerbangan",
      "collapse": "Ciutkan",
      "expand": "Perluas",
      "close": "Tutup",
      "speed": "Kecepatan",
      "altitude": "Ketinggian",
      "heading": "Arah",
      "agl": "Di atas permukaan",
      "throttle": "Tuas gas",
      "maxSpeed": "Kecepatan maksimum",
      "minAgl": "Jarak aman medan",
      "units": "Satuan",
      "imperial": "Knot / kaki",
      "metric": "km/jam / meter",
      "bankCamera": "Miringkan cakrawala saat berbelok",
      "invertPitch": "Balik sumbu angguk",
      "knots": "kt",
      "kph": "km/jam",
      "feet": "ft",
      "meters": "m",
      "terrainWarning": "Medan — tarik naik",
      "help": "Panah atau A/D untuk berbelok · W/S atau Page Up/Down untuk tuas gas · Spasi meratakan sayap · Esc keluar."
    },
    "setView": {
      "title": "Atur Tampilan",
      "description": "Pindahkan peta ke kamera yang tepat.",
      "sectionCoordinates": "Koordinat",
      "smartPaste": "Tempel koordinat",
      "smartPasteInputLabel": "String koordinat",
      "smartPastePlaceholder": "mis. 51.5074, -0.1278 atau 51°30'26\"N, 0°07'39\"W",
      "smartPasteInfo": "Ketik atau tempel string koordinat lengkap dalam format DD, DMS, atau DDM, lalu jalankan Proses input. GeoLibre mendeteksi formatnya dan mengisi bidang bujur dan lintang di bawah. Sesuaikan zoom, kemiringan, dan arah secara terpisah sebelum berangkat.",
      "smartPasteInfoLabel": "Tentang menempel koordinat",
      "smartPasteInvalid": "Tidak dapat membaca koordinat tersebut. Masukkan bujur dan lintang lengkap dalam format DD, DMS, atau DDM, misalnya 51.5074, -0.1278. String yang sebagian atau tidak lengkap tidak dapat diuraikan.",
      "processInput": "Proses input",
      "processed": "Mengisi bidang bujur dan lintang di bawah.",
      "sectionZoom": "Zoom Kamera",
      "sectionOrientation": "Orientasi Kamera",
      "orientationHint": "Kemiringan dan arah default ke 0 jika dibiarkan kosong.",
      "format": "Format entri manual",
      "formatInfo": "Tombol ini hanya memilih cara Anda mengetik titik tengah secara manual. Kotak tempel di atas sudah menerima format apa pun.\nDD: 51.5074, -0.1278\nDMS: 51°30'26\"N, 0°07'39\"W\nDDM: 51°30.44'N, 0°07.65'W",
      "formatInfoLabel": "Tentang format koordinat",
      "formatDd": "Derajat desimal (DD)",
      "formatDms": "Derajat, menit, detik (DMS)",
      "formatDdm": "Derajat dan menit desimal (DDM)",
      "formatDdShort": "DD",
      "formatDmsShort": "DMS",
      "formatDdmShort": "DDM",
      "longitude": "Bujur",
      "latitude": "Lintang",
      "degrees": "Derajat",
      "minutes": "Menit",
      "seconds": "Detik",
      "hemisphere": "Belahan bumi",
      "zoom": "Zoom",
      "pitch": "Kemiringan",
      "bearing": "Arah",
      "go": "Pergi",
      "invalid": "Masukkan bujur (−180 hingga 180), lintang (−90 hingga 90), dan zoom yang valid.",
      "invalidDms": "Masukkan derajat, menit (0 hingga 59), detik (0 hingga 59), dan zoom yang valid.",
      "invalidDdm": "Masukkan derajat, menit desimal (0 hingga < 60), dan zoom yang valid."
    },
    "commandGroup": {
      "project": "Proyek",
      "addData": "Tambah Data",
      "processing": "Pemrosesan",
      "controls": "Kontrol",
      "view": "Tampilan",
      "help": "Bantuan",
      "plugins": "Plugin",
      "settings": "Pengaturan"
    },
    "command": {
      "projectNew": "Proyek Baru",
      "projectOpenFile": "Buka Proyek dari File",
      "projectOpenUrl": "Buka Proyek dari URL",
      "projectSave": "Simpan Proyek",
      "projectSaveAs": "Simpan Proyek Sebagai…",
      "projectShare": "Bagikan Proyek…",
      "projectCollaborate": "Kolaborasi…",
      "projectPrint": "Cetak…",
      "addVectorLayer": "Tambahkan Layer Vektor",
      "addRasterLayer": "Tambahkan Layer Raster",
      "addOsmPbfLayer": "Tambahkan Layer OSM PBF",
      "addLayer": "Tambahkan {{name}}",
      "addStacLayer": "Tambahkan Layer STAC",
      "addGeoparquetLayer": "Tambahkan Layer GeoParquet",
      "addFlatgeobufLayer": "Tambahkan Layer FlatGeobuf",
      "addPmtilesLayer": "Tambahkan Layer PMTiles",
      "addZarrLayer": "Tambahkan Layer Zarr",
      "addNetcdfLayer": "Tambahkan Layer NetCDF / HDF",
      "addLidarLayer": "Tambahkan Layer LiDAR",
      "addSplattingLayer": "Tambahkan Gaussian Splatting",
      "add3dTilesLayer": "Tambahkan Layer 3D Tiles",
      "addDuckdbLayer": "Tambahkan Layer DuckDB",
      "whiteboxTools": "Whitebox Tools",
      "sqlWorkspace": "Ruang Kerja SQL",
      "pythonConsole": "Konsol Python",
      "notebook": "Notebook Jupyter",
      "dashboard": "Dasbor",
      "assistant": "Asisten AI",
      "geocode": "Geocode Alamat",
      "modelBuilder": "Batch & Model",
      "planetaryComputer": "Planetary Computer",
      "earthEngine": "Earth Engine",
      "segmentation": "Segmentasi AI",
      "objectDetection": "Deteksi Objek",
      "segmentEverything": "Segmentasi Semua",
      "toggleControl": "Alihkan Kontrol {{name}}",
      "toggleAtmosphereEffects": "Alihkan Efek Atmosfer",
      "toggleDirections": "Alihkan Arah",
      "toggleSearch": "Alihkan Pencarian",
      "toggleColorbar": "Alihkan Bilah Warna",
      "toggleLegend": "Alihkan Legenda",
      "toggleHtmlPanel": "Alihkan Panel HTML",
      "toggleMeasure": "Alihkan Ukur",
      "toggleBookmark": "Alihkan Bookmark",
      "toggleMinimap": "Alihkan Minimap",
      "toggleViewState": "Alihkan Status Tampilan",
      "previousView": "Tampilan Sebelumnya",
      "nextView": "Tampilan Berikutnya",
      "resetNorth": "Atur Ulang Arah",
      "resetPitch": "Atur Ulang Kemiringan",
      "resetPitchBearing": "Atur Ulang Kemiringan & Arah",
      "setView": "Atur Tampilan",
      "viewComments": "Lihat komentar",
      "zoomIn": "Perbesar",
      "zoomOut": "Perkecil",
      "switchToLight": "Beralih ke Mode Terang",
      "switchToDark": "Beralih ke Mode Gelap",
      "keyboardShortcuts": "Pintasan Keyboard",
      "website": "Situs Web",
      "githubRepository": "Repositori GitHub",
      "diagnostics": "Diagnostik",
      "giveFeedback": "Beri Masukan",
      "checkForUpdates": "Periksa Pembaruan",
      "about": "Tentang",
      "togglePlugin": "Alihkan {{name}}",
      "managePlugins": "Kelola Plugin",
      "styleManager": "Pengelola Gaya…"
    },
    "layerType": {
      "delimitedText": "Layer Teks Berpembatas",
      "photos": "Foto Bertag Geo",
      "gpx": "Layer GPX",
      "mbtiles": "Layer MBTiles",
      "xyz": "Layer XYZ",
      "wms": "Layer WMS",
      "wfs": "Layer WFS",
      "wmts": "Layer WMTS",
      "ogcFeatures": "OGC API - Features",
      "ogcVectorTiles": "OGC Vector Tiles",
      "arcgis": "Layer ArcGIS",
      "georss": "Layer GeoRSS",
      "video": "Layer Video",
      "deckglViz": "Layer Deck.gl",
      "gltfModel": "Model 3D (glTF)",
      "postgres": "Layer PostgreSQL"
    },
    "conversion": {
      "vectorToVector": "Vektor ke Vektor",
      "zipInputBrowserError": "Shapefile terzip hanya dapat dikonversi di aplikasi desktop GeoLibre. Di browser, pilih .shp yang tidak terzip beserta file .dbf, .shx, dan .prj-nya.",
      "browserOutputUnsupported": "Di browser, keluaran dapat berupa GeoJSON, CSV, GeoParquet, GeoPackage, atau Shapefile (.zip). Keluaran \".{{extension}}\" memerlukan aplikasi desktop GeoLibre.",
      "outputExtensionRequired": "Tambahkan ekstensi file ke nama keluaran untuk memilih formatnya.",
      "readingWithDuckDb": "Membaca {{name}} dengan DuckDB-WASM",
      "readFeatures": "Membaca {{features}} fitur dari {{name}}",
      "savedFile": "Tersimpan {{name}}",
      "saveCanceled": "Konversi selesai; penyimpanan dibatalkan.",
      "vectorToGeoparquet": "Vektor ke GeoParquet",
      "vectorToFlatgeobuf": "Vektor ke FlatGeobuf",
      "vectorToShapefile": "Vektor ke Shapefile",
      "vectorToGeopackage": "Vektor ke GeoPackage",
      "csvToGeoparquet": "CSV ke GeoParquet",
      "vectorToPmtiles": "Vektor ke PMTiles",
      "rasterToCog": "Raster ke COG",
      "rasterToPmtiles": "Raster ke PMTiles",
      "needsDesktop": "Konversi ini memerlukan aplikasi desktop GeoLibre atau sidecar yang sedang berjalan.",
      "runsInBrowserDuckDb": "Konversi berjalan di browser Anda dengan DuckDB-WASM.",
      "runsInBrowserWriters": "Konversi berjalan di browser Anda dengan DuckDB-WASM dan penulis bawaan.",
      "runsInBrowserWasm": "Konversi berjalan di browser Anda dengan geolibre-wasm. Tidak memerlukan sidecar.",
      "convertingWithWasm": "Mengonversi {{name}} dengan geolibre-wasm",
      "rasterShape": "Membaca raster {{width}}×{{height}} dengan {{bands}} band",
      "wroteCog": "Menulis COG berubin dengan overview ({{compression}})",
      "notAGeoTiff": "File ini bukan GeoTIFF yang dapat dibaca. Di browser, Raster ke COG hanya membaca GeoTIFF; format lain memerlukan aplikasi desktop.",
      "zoomRangeError": "Tingkat zoom harus memenuhi 0 ≤ min ≤ maks ≤ {{max}}.",
      "colormap": "Peta warna",
      "resampling": "Resampling",
      "colormapDefault": "Default (viridis)",
      "zoomNative": "asli",
      "rasterToPmtilesDesc": "Render raster menjadi satu arsip PMTiles berisi ubin PNG Web Mercator, siap untuk penyajian cloud-native. Satu band dirender melalui peta warna, sehingga citra multi-band tidak digambar dalam warna aslinya. Berjalan sepenuhnya dalam WebAssembly, sehingga tidak memerlukan sidecar baik di aplikasi web maupun desktop.",
      "cogBrowserNote": "Di browser, raster 8-bit mempertahankan tipenya dan lainnya (DEM Int16, Float64, …) ditulis sebagai Float32. Aplikasi desktop mempertahankan tipe aslinya.",
      "noSidecarConversion": "{{kind}} tidak memiliki konversi sidecar.",
      "minZoom": "Zoom minimum",
      "maxZoom": "Zoom maksimum",
      "convertFailed": "Tidak dapat mengonversi file ini.",
      "notAGeoTiffRasterOnly": "File ini bukan GeoTIFF yang dapat dibaca. Raster ke PMTiles hanya membaca GeoTIFF, baik pada aplikasi web maupun desktop.",
      "band": "Band",
      "bandError": "Band harus berupa bilangan bulat positif.",
      "bandOutOfRange": "Band {{band}} tidak ada; raster ini memiliki {{bands}} band.",
      "runsInBrowserVectorEngines": "Konversi berjalan di browser Anda dengan DuckDB-WASM, atau geolibre-wasm untuk keluaran FlatGeobuf.",
      "vectorToVectorDesc": "Mengonversi antara format vektor apa pun yang didukung ekstensi spatial DuckDB. Format masukan dan keluaran dideteksi dari ekstensi berkas. Aplikasi desktop dapat menulis format apa pun (FlatGeobuf, GeoPackage, Shapefile, KML, GML, …); peramban menulis GeoJSON, CSV, GeoParquet, GeoPackage, FlatGeobuf, dan Shapefile.",
      "vectorToVectorInputLabel": "Berkas vektor masukan",
      "vectorToVectorOutputLabel": "Berkas vektor keluaran",
      "vectorToGeoparquetDesc": "Mengonversi dataset vektor menjadi berkas GeoParquet terkompresi yang diurutkan dengan kurva Hilbert, dioptimalkan untuk permintaan range cloud-native.",
      "vectorToGeoparquetInputLabel": "Berkas vektor masukan",
      "vectorToGeoparquetOutputLabel": "Berkas GeoParquet keluaran",
      "vectorToFlatgeobufDesc": "Mengonversi dataset vektor menjadi FlatGeobuf yang diurutkan dengan kurva Hilbert dan dilengkapi indeks spasial terpaket untuk akses cloud-native yang cepat.",
      "vectorToFlatgeobufInputLabel": "Berkas vektor masukan",
      "vectorToFlatgeobufOutputLabel": "Berkas FlatGeobuf keluaran",
      "vectorToShapefileDesc": "Mengonversi dataset vektor menjadi Shapefile ESRI terkompresi zip (.shp/.shx/.dbf/.prj). Nama bidang dipotong menjadi 10 karakter.",
      "vectorToShapefileInputLabel": "Berkas vektor masukan",
      "vectorToShapefileOutputLabel": "Shapefile terkompresi keluaran",
      "vectorToGeopackageDesc": "Mengonversi dataset vektor menjadi GeoPackage (.gpkg) untuk dibagikan dengan QGIS, ArcGIS, dan perangkat SIG lainnya.",
      "vectorToGeopackageInputLabel": "Berkas vektor masukan",
      "vectorToGeopackageOutputLabel": "Berkas GeoPackage keluaran",
      "csvToGeoparquetDesc": "Membangun geometri titik dari kolom bujur/lintang dan menulis GeoParquet terkompresi yang diurutkan dengan kurva Hilbert.",
      "csvToGeoparquetInputLabel": "Berkas CSV masukan",
      "csvToGeoparquetOutputLabel": "Berkas GeoParquet keluaran",
      "vectorToPmtilesDesc": "Membuat tile dari dataset vektor menjadi satu arsip PMTiles berisi tile vektor, siap disajikan secara cloud-native.",
      "vectorToPmtilesInputLabel": "Berkas vektor masukan",
      "vectorToPmtilesOutputLabel": "Berkas PMTiles keluaran",
      "rasterToPmtilesInputLabel": "Berkas raster masukan",
      "rasterToPmtilesOutputLabel": "Berkas PMTiles keluaran",
      "rasterToCogDesc": "Mengonversi dataset raster menjadi Cloud Optimized GeoTIFF yang valid dan terkompresi dengan tiling internal serta overview.",
      "rasterToCogInputLabel": "Berkas raster masukan",
      "rasterToCogOutputLabel": "Berkas COG keluaran",
      "outputFileName": "Nama berkas keluaran",
      "shapefileSidecarHint": "Untuk Shapefile, pilih .shp bersama berkas .dbf, .shx, dan .prj miliknya.",
      "longitudeColumn": "Kolom bujur",
      "latitudeColumn": "Kolom lintang",
      "compression": "Kompresi",
      "rowGroupSize": "Ukuran grup baris",
      "layerName": "Nama layer",
      "noOutput": "Belum ada keluaran.",
      "fallbackTitle": "Konversi"
    },
    "vectorTool": {
      "buffer": "Buffer",
      "centroids": "Sentroid",
      "convexHull": "Convex hull",
      "dissolve": "Dissolve",
      "boundingBox": "Kotak pembatas",
      "simplify": "Sederhanakan",
      "clip": "Potong",
      "intersection": "Irisan",
      "difference": "Selisih",
      "union": "Gabungan",
      "spatialJoin": "Gabungan spasial",
      "attributeJoin": "Gabungan atribut",
      "selectByValue": "Pilih berdasarkan nilai",
      "selectByLocation": "Pilih berdasarkan lokasi",
      "randomExtract": "Ekstraksi acak",
      "reproject": "Proyeksikan ulang",
      "explode": "Pisahkan (explode)",
      "aggregate": "Agregasi berdasarkan atribut",
      "smooth": "Haluskan",
      "grid": "Grid teratur",
      "voronoi": "Voronoi / Delaunay",
      "cellSectors": "Cakupan sel BTS",
      "dggsGenerator": "Generator DGGS",
      "dggsBinning": "Pengelompokan DGGS",
      "dggsCompact": "Pemadatan DGGS",
      "trajectorySpeed": "Kecepatan lintasan",
      "detectStops": "Deteksi pemberhentian",
      "spaceTimeProximity": "Kedekatan ruang-waktu",
      "checkValidity": "Periksa validitas",
      "fixGeometries": "Perbaiki geometri",
      "checkTopologyRules": "Periksa aturan topologi",
      "fixTopology": "Perbaiki topologi"
    },
    "networkTool": {
      "isochrone": "Isochrone / area layanan",
      "odMatrix": "Matriks biaya OD",
      "sequentialRoute": "Rute berurutan (arah)"
    },
    "statisticsTool": {
      "globalMoransI": "Moran's I global",
      "localMoransI": "Moran's I lokal (LISA)",
      "getisOrd": "Hotspot Getis-Ord Gi*",
      "averageNearestNeighbor": "Rata-rata tetangga terdekat",
      "kernelDensity": "Kepadatan kernel (heatmap)",
      "emergingHotSpot": "Hotspot yang muncul (kubus ruang-waktu)"
    },
    "rasterTool": {
      "hillshade": "Hillshade",
      "slope": "Kemiringan lereng",
      "aspect": "Aspek",
      "reproject": "Proyeksikan ulang",
      "resample": "Sampel ulang",
      "clipExtent": "Potong berdasarkan cakupan",
      "clipMask": "Potong berdasarkan layer mask",
      "polygonize": "Poligonisasi",
      "contour": "Kontur",
      "interpolate": "Interpolasi (IDW / Kriging)",
      "zonal": "Statistik zonal",
      "rasterCalc": "Kalkulator raster",
      "spectralIndex": "Indeks spektral",
      "invalidSpectralIndex": "Indeks spektral tidak valid.",
      "reclassify": "Klasifikasi ulang",
      "mosaic": "Mosaik / gabung",
      "focal": "Statistik fokal",
      "inputRaster": "Raster masukan",
      "inputRasterA": "Raster masukan A",
      "inputRaster1": "Raster pertama",
      "inputPoints": "Titik masukan (GeoJSON)",
      "engine": "Mesin",
      "engineClient": "Klien (browser)",
      "engineSidecar": "Sidecar (rasterio/GDAL)",
      "clientHint": "Menghitung di browser Anda dan menambahkan hasilnya ke peta. Untuk raster besar atau medan CRS geografis, gunakan sidecar.",
      "switchToClientHint": "Atau alihkan mesin ke Klien untuk menjalankan alat ini di browser Anda.",
      "chooseGeoTiff": "Pilih GeoTIFF",
      "downloadGeoTiff": "Unduh GeoTIFF",
      "chooseInputRaster": "Pilih raster masukan.",
      "useAddedLayer": "Gunakan layer pada peta",
      "useAddedLayerPlaceholder": "Pilih layer…",
      "loadingLayer": "Memuat layer…",
      "layerLoadError": "Tidak dapat memuat layer yang dipilih.",
      "runningInBrowser": "Menjalankan \"{{tool}}\" di browser Anda...",
      "loadedRaster": "Raster dimuat: {{width}}×{{height}}, {{bands}} kanal.",
      "computedInBrowser": "Menghitung \"{{tool}}\" di browser.",
      "addedToMap": "Menambahkan \"{{name}}\" ke peta.",
      "largeRasterWarning": "Raster besar ({{mp}} juta piksel); browser mungkin tidak responsif saat menghitung.",
      "mapAddFailed": "Penambahan ke peta gagal (hasil masih tersedia untuk diunduh): {{message}}",
      "mapAddError": "Tidak dapat menambahkan hasil ke peta.",
      "runError": "Tidak dapat menjalankan alat raster.",
      "saveError": "Tidak dapat menyimpan hasil.",
      "dialogTitle": "Alat raster",
      "dialogDescription": "Jalankan operasi raster umum pada sidecar Python (rasterio/GDAL), atau di peramban Anda saat tidak ada sidecar yang tersedia.",
      "outputFile": "Berkas keluaran",
      "noOutput": "Belum ada keluaran.",
      "errorConnect": "Tidak dapat terhubung ke sidecar.",
      "needsDesktopSidecar": "Alat raster memerlukan aplikasi GeoLibre desktop dengan sidecar yang berjalan.",
      "errorPoll": "Tidak dapat memeriksa status pekerjaan.",
      "errorStartSidecar": "Tidak dapat menjalankan sidecar GeoLibre.",
      "errorStartTool": "Tidak dapat menjalankan alat raster."
    },
    "mapControl": {
      "navigation": "Navigasi",
      "fullscreen": "Layar penuh",
      "compass": "Kompas",
      "geolocate": "Geolokasi",
      "globe": "Bola dunia",
      "terrain": "Medan",
      "scale": "Skala",
      "attribution": "Atribusi",
      "logos": "Logo",
      "logo": "Logo MapLibre",
      "maptoolkitLogo": "Logo Maptoolkit",
      "maptoolkitLogoHint": "Tambahkan peta dasar Maptoolkit untuk menampilkan logonya."
    },
    "position": {
      "topLeft": "Kiri atas",
      "topRight": "Kanan atas",
      "bottomLeft": "Kiri bawah",
      "bottomRight": "Kanan bawah"
    },
    "item": {
      "newEllipsis": "Baru...",
      "openFrom": "Buka Dari",
      "fileEllipsis": "File...",
      "urlEllipsis": "URL...",
      "galleryEllipsis": "Galeri...",
      "openRecent": "Buka Terbaru",
      "projectHistoryEllipsis": "Riwayat...",
      "noRecentProjects": "Tidak ada proyek terbaru",
      "removeFromRecent": "Hapus {{name}} dari proyek terbaru",
      "clearRecentProjects": "Bersihkan Proyek Terbaru",
      "duplicate": "Duplikat proyek",
      "saveAsEllipsis": "Simpan Sebagai...",
      "saveAsTemplateEllipsis": "Simpan sebagai templat...",
      "shareEllipsis": "Bagikan...",
      "shareHostUnavailable": "Tidak tersedia: alamat server pembagian pada penerapan ini tidak valid.",
      "exportHtmlEllipsis": "Ekspor sebagai HTML...",
      "htmlFile": "HTML",
      "collaborateEllipsis": "Kolaborasi...",
      "printEllipsis": "Cetak...",
      "printLayoutEllipsis": "Tata Letak Cetak...",
      "offlineBasemapEllipsis": "Peta Dasar Offline...",
      "undo": "Urungkan",
      "redo": "Ulangi",
      "selectByExpressionEllipsis": "Pilih berdasarkan Ekspresi...",
      "selectByLocationEllipsis": "Pilih berdasarkan Lokasi...",
      "zoomToSelection": "Zoom ke Seleksi",
      "invertSelection": "Balik Seleksi",
      "clearSelection": "Hapus Seleksi",
      "exportSelection": "Ekspor Fitur Terpilih sebagai Layer",
      "previousView": "Tampilan Sebelumnya",
      "nextView": "Tampilan Berikutnya",
      "resetOrientation": "Atur Ulang Orientasi",
      "resetPitch": "Atur Ulang Kemiringan",
      "resetBearing": "Atur Ulang Arah",
      "resetPitchBearing": "Atur Ulang Kemiringan & Arah",
      "setView": "Atur Tampilan…",
      "splitView": "Tampilan Terpisah",
      "splitViewSingle": "Satu peta",
      "splitViewTwoColumns": "Dua kolom",
      "splitViewTwoRows": "Dua baris",
      "splitViewGrid2x2": "Grid 2 × 2",
      "splitViewGrid2x3": "Grid 2 × 3",
      "splitViewGrid3x3": "Grid 3 × 3",
      "splitViewSync": "Sinkronkan tampilan",
      "viewInGoogleMaps": "Lihat di Google Maps",
      "viewInGoogleEarth": "Lihat di Google Earth",
      "zoomIn": "Perbesar",
      "zoomOut": "Perkecil",
      "sectionFiles": "File",
      "sectionWebServices": "Layanan web",
      "sectionCloudFormats": "Format cloud",
      "section3dLayers": "Layer 3D",
      "sectionDatabases": "Basis data",
      "georeferencing": "Georeferensi",
      "vectorLayer": "Layer Vektor",
      "cadLayer": "Layer CAD (DXF/DWG)",
      "gdbLayer": "File Geodatabase (GDB)",
      "rasterLayer": "Layer Raster",
      "osmPbfLayer": "Layer OSM PBF",
      "stacLayer": "Layer STAC",
      "geoparquetLayer": "Layer GeoParquet",
      "flatgeobufLayer": "Layer FlatGeobuf",
      "pmtilesLayer": "Layer PMTiles",
      "basemapExtract": "Ekstrak Peta Dasar Offline",
      "zarrLayer": "Layer Zarr",
      "netcdfHdf": "NetCDF / HDF",
      "lidarLayer": "Layer LiDAR",
      "splattingLayer": "Gaussian Splatting",
      "threeDTilesLayer": "Layer 3D Tiles",
      "duckdbLayer": "Layer DuckDB",
      "whitebox": "Whitebox",
      "geocode": "Geocode Alamat",
      "modelBuilder": "Batch & Model",
      "processingHistory": "Riwayat",
      "conversion": "Konversi",
      "vector": "Vektor",
      "network": "Jaringan",
      "statistics": "Statistik Spasial",
      "raster": "Raster",
      "hydrology": "Hidrologi",
      "lidar": "LiDAR",
      "terrain": "Medan",
      "remoteSensing": "Penginderaan Jauh",
      "projection": "Proyeksi",
      "geolibre": "GeoLibre",
      "subGroupGeometry": "Geometri",
      "subGroupOverlay": "Overlay",
      "subGroupJoin": "Gabungan",
      "subGroupSelect": "Pilih",
      "subGroupDggs": "DGGS",
      "subGroupH3": "H3",
      "subGroupMovement": "Pergerakan & waktu",
      "subGroupDataQuality": "Kualitas data",
      "subGroupTerrain": "Medan",
      "subGroupReproject": "Proyeksikan ulang",
      "subGroupClip": "Potong",
      "subGroupRasterToVector": "Raster ke Vektor",
      "subGroupVectorToRaster": "Vektor ke Raster",
      "subGroupAnalysis": "Analisis",
      "mapControls": "Kontrol peta",
      "fieldCollection": "Pengumpulan Lapangan...",
      "gpsTracking": "Pelacakan GPS...",
      "recordTour": "Rekam Tur Peta...",
      "recordVideo": "Rekam Video...",
      "atmosphereEffects": "Efek Atmosfer",
      "atmosphereEnabled": "Diaktifkan",
      "spinGlobe": "Bola Dunia Berputar",
      "graticule": "Garis Kisi",
      "weather": "Cuaca",
      "weatherTooltip": "Tampilkan lapisan cuaca hampir real-time yang dapat dianimasikan.",
      "weatherPlay": "Putar animasi",
      "weatherPause": "Jeda animasi",
      "clouds": "Awan",
      "cloudsShow": "Tampilkan awan",
      "cloudsTooltip": "Overlay citra awan satelit NASA hampir real-time, seperti Google Earth. Menambahkan layer yang dapat dianimasikan hari demi hari.",
      "cloudsDate": "Tanggal",
      "precipitation": "Presipitasi",
      "precipitationShow": "Tampilkan presipitasi",
      "precipitationTooltip": "Radar cuaca RainViewer hampir real-time. Animasikan ~2 jam terakhir.",
      "precipitationTime": "Waktu",
      "sun": "Matahari",
      "sunTooltip": "Simulasikan posisi matahari dan garis batas siang/malam untuk tanggal dan waktu apa pun.",
      "routeAnimation": "Animasi Rute",
      "routeAnimationTooltip": "Animasikan penanda di sepanjang lapisan garis, dengan putar/jeda, kecepatan, jejak, dan pengikutan kamera.",
      "flightSimulator": "Simulator Penerbangan",
      "flightSimulatorTooltip": "Terbang di atas medan dengan kendali papan ketik, seperti simulator penerbangan.",
      "spinGlobeBoundsTitle": "Batas terkunci",
      "spinGlobeBoundsDesc": "Bola dunia tidak dapat berputar selama batas peta terkunci.",
      "spinGlobeBoundsHint": "Membuka kunci batas memungkinkan bola dunia berputar bebas. Anda dapat mengunci kembali kapan saja di Pengaturan.",
      "spinGlobeBoundsUnlock": "Buka kunci batas dan putar",
      "directions": "Arah",
      "directionsTooltip": "Perutean mengirimkan titik jalan Anda ke server demo publik OSRM (router.project-osrm.org).",
      "search": "Cari",
      "colorbar": "Bilah Warna",
      "legend": "Legenda",
      "html": "HTML",
      "measure": "Ukur",
      "bookmark": "Bookmark",
      "minimap": "Minimap",
      "viewState": "Status Tampilan",
      "activatePlugin": "Aktifkan plugin",
      "deactivate": "Nonaktifkan",
      "activate": "Aktifkan",
      "position": "Posisi",
      "webServices": "Layanan Web",
      "dggs": "DGGS",
      "commandPalette": "Palet Perintah",
      "openProjectFromUrl": "Buka proyek dari URL",
      "importQgisProjectEllipsis": "Impor Proyek QGIS…",
      "importArcgisProjectEllipsis": "Impor Proyek ArcGIS Pro…",
      "arcgisImportComplete": "Proyek ArcGIS Pro diimpor",
      "arcgisImportWarnings_other": "Proyek berhasil diimpor, tetapi {{count}} layer tidak dapat dimuat.",
      "arcgisUnknownLayerType": "tidak diketahui",
      "qgisImportComplete": "Proyek QGIS diimpor",
      "qgisImportWarnings_other": "Proyek berhasil diimpor, tetapi {{count}} layer tidak dapat dimuat.",
      "qgisUnknownProvider": "tidak diketahui",
      "qgisImportReason": {
        "non-vector": "Hanya layer vektor berbasis berkas yang didukung pada versi pertama ini.",
        "provider": "Penyedia data {{provider}} tidak didukung.",
        "missing-source": "Layer tidak memiliki sumber data yang dapat dibaca.",
        "format": "Format berkas layer tidak didukung.",
        "remote-file": "Sumber berkas QGIS jarak jauh belum didukung.",
        "network-path": "Jalur berbagi jaringan tidak dimuat karena alasan keamanan.",
        "browser-local-file": "Berkas lokal dirujuk, tetapi peramban tidak dapat membuka kembali jalur data QGIS. Gunakan GeoLibre Desktop untuk memuatnya.",
        "browser-local-raster": "Raster dirujuk melalui jalur lokal. Gunakan GeoLibre Desktop untuk memuatnya."
      },
      "openProjectFromUrlDesc": "Muat proyek `.geolibre.json` dan tambahkan ke proyek terbaru.",
      "projectUrl": "URL proyek",
      "opening": "Membuka...",
      "open": "Buka",
      "somethingWentWrong": "Terjadi kesalahan",
      "dismiss": "Tutup",
      "saveProjectAsTitle": "Simpan proyek sebagai",
      "saveProjectAsDesc": "Masukkan nama file. Proyek akan diunduh ke folder unduhan browser Anda saat Anda mengklik Simpan.",
      "embedVectorTitle": "Sematkan data vektor lokal?",
      "embedVectorDesc": "Proyek ini memiliki {{count}} layer vektor lokal yang dimuat dari komputer Anda. Browser tidak dapat membaca ulang layer ini saat proyek dibuka kembali, sehingga datanya harus disematkan dalam file proyek untuk dipulihkan. Menyematkan menambah sekitar {{size}} ke file.",
      "embedVectorDescDesktop": "Proyek ini memiliki {{count}} layer vektor lokal yang dimuat dari komputer Anda. Sematkan datanya agar proyek mandiri (menambah sekitar {{size}}), atau simpan referensi file yang dimuat ulang dari disk saat proyek dibuka kembali. Referensi menjaga file tetap kecil tetapi rusak jika file sumber kemudian dipindahkan atau dihapus.",
      "embedVectorEmbedButton": "Sematkan data",
      "embedVectorReferenceButton": "Simpan referensi file",
      "embedVectorSkipButton": "Simpan tanpa data",
      "saveProjectFileName": "Nama file",
      "saveProjectFileNamePlaceholder": "proyek-saya.geolibre.json",
      "exportHtmlAsTitle": "Ekspor sebagai HTML interaktif",
      "exportHtmlAsDesc": "Masukkan nama file. Halaman HTML akan diunduh ke folder unduhan browser Anda saat Anda mengklik Simpan.",
      "exportHtmlFileName": "Nama file",
      "exportHtmlFileNamePlaceholder": "peta-saya.html",
      "vectorDataFilter": "Data vektor",
      "directionsNoticeTitle": "Arah menggunakan server perutean publik",
      "directionsNoticeDesc": "Mengaktifkan Arah mengirimkan titik jalan yang Anda tempatkan ke server demo publik OSRM (router.project-osrm.org) untuk menghitung rute — koordinat Anda meninggalkan perangkat Anda untuk permintaan tersebut. Server demo dibatasi lajunya dan hanya mendukung mengemudi.",
      "reverseGeocode": "Reverse Geocode",
      "reverseGeocodeTooltip": "Klik peta untuk mencari alamat. Koordinat yang diklik dikirim ke penyedia geocoding yang dikonfigurasi (Nominatim publik secara default; ubah di Pengaturan → Geocoding).",
      "reverseGeocodeNoticeTitle": "Reverse Geocode menggunakan layanan eksternal",
      "reverseGeocodeNoticeDesc": "Mengaktifkan Reverse Geocode mengirimkan koordinat setiap titik yang Anda klik ke penyedia geocoding yang dikonfigurasi (layanan Nominatim publik secara default) untuk menyelesaikan alamat — koordinat Anda meninggalkan perangkat Anda untuk permintaan tersebut. Anda dapat memilih penyedia lain di Pengaturan → Geocoding.",
      "networkNoticeTitle": "Analisis Jaringan menggunakan server perutean eksternal",
      "networkNoticeDesc": "Menjalankan alat analisis Jaringan mengirimkan koordinat titik masukan Anda ke server perutean untuk menghitung isochrone, matriks biaya, dan rute.",
      "networkNoticePrivacyHeading": "Privasi data",
      "networkNoticePrivacy": "Koordinat masukan Anda meninggalkan perangkat ini dan dikirim ke server Valhalla publik di valhalla1.openstreetmap.de. Tekan Batal jika proyek Anda terikat oleh aturan privasi data atau kedaulatan data.",
      "networkNoticePrivacyCustom": "Koordinat masukan Anda meninggalkan perangkat ini dan dikirim ke server perutean yang dikonfigurasi ({{endpoint}}). Tekan Batal jika proyek Anda terikat oleh aturan privasi data atau kedaulatan data.",
      "networkNoticePerformanceHeading": "Performa dan batasan",
      "networkNoticePerformance": "Server publik gratis tetapi dibatasi lajunya, sehingga batch besar titik mungkin dibatasi atau gagal. Untuk penggunaan berat, jalankan server Valhalla Anda sendiri dan masukkan URL-nya di bidang \"Server perutean (Valhalla)\" pada alat (atau atur VITE_ROUTING_ENDPOINT di Pengaturan → Variabel Lingkungan agar menjadi default).",
      "continue": "Lanjutkan",
      "largeOsmPbfTitle": "File OSM PBF besar",
      "largeOsmPbfDesc": "File ini berukuran sekitar {{sizeMb}} MB. Mengurainya mengonversi setiap fitur ke GeoJSON dalam memori, yang bisa lambat dan mungkin menggunakan banyak memori di browser. Lanjutkan?",
      "largeVectorDesc": "{{name}} memiliki sekitar {{count}} fitur. Memuatnya mengonversi setiap fitur ke GeoJSON dalam memori dan dapat memperlambat atau membekukan aplikasi. Lanjutkan?",
      "addOsmPbfLayerTitle": "Tambahkan Layer OSM PBF",
      "addOsmPbfLayerDesc": "Muat file .osm.pbf OpenStreetMap. File diuraikan di browser Anda dan dipisah menjadi layer titik, garis, dan poligon terpisah.",
      "urlLabel": "URL",
      "osmPbfUrlPlaceholder": "https://example.com/region.osm.pbf",
      "osmPbfSampleLabel": "Las Vegas",
      "osmPbfUrlHint": "URL jarak jauh dimuat di aplikasi desktop; di browser, server harus mengizinkan permintaan lintas asal (CORS).",
      "chooseLocalFile": "Pilih file lokal…",
      "loadFromUrl": "Muat dari URL",
      "loadingOsmPbf": "Memuat OSM PBF…",
      "loadingOsmPbfDesc": "Menguraikan file dan mengonversi fitur ke GeoJSON. Ini berjalan di latar belakang dan mungkin memakan waktu untuk ekstrak besar.",
      "loadingOsmPbfProgress": "Mengonversi fitur ke GeoJSON… {{processed}} dari {{total}} entitas OSM diproses.",
      "projectName": "Nama proyek",
      "storymapEllipsis": "Peta Cerita...",
      "arcgisImportReason": {
        "layer-type": "Tipe layer {{layerType}} tidak didukung.",
        "missing-source": "Layer tidak memiliki sumber data lokal yang dapat dibaca.",
        "format": "Format data layer tidak didukung.",
        "network-path": "Jalur berbagi jaringan tidak dimuat karena alasan keamanan.",
        "service": "Layer layanan ArcGIS di dalam proyek belum didukung.",
        "browser-local-file": "Berkas lokal dirujuk, tetapi peramban tidak dapat membuka kembali jalur data ArcGIS Pro. Gunakan GeoLibre Desktop untuk memuatnya.",
        "map-extent": "Cakupan peta yang tersimpan memakai sistem koordinat yang tidak dapat dikonversi GeoLibre, sehingga peta dibuka pada tampilan bawaan.",
        "nesting": "Grup ini bersarang terlalu dalam, atau proyek merujuk balik ke grup yang sudah memuatnya."
      }
    },
    "plugin": {
      "maplibre-gl-annotations": "Anotasi",
      "maplibre-gl-streetview": "Tampilan Jalan",
      "maplibre-gl-time-slider": "Penggeser Waktu",
      "geolibre-timelapse": "Timelapse",
      "maplibre-gl-esri-wayback": "Citra Historis",
      "maplibre-gl-openaerialmap": "OpenAerialMap",
      "maplibre-gl-arcgis-hub": "ArcGIS Hub",
      "geolibre-stac-catalogs": "Katalog STAC",
      "maplibre-gl-source-coop": "Source Cooperative",
      "maplibre-gl-natural-earth": "Natural Earth",
      "maplibre-gl-swipe": "Geser Lapisan",
      "geolibre-elevation-profile": "Profil Ketinggian",
      "maplibre-gl-basemap-control": "Peta Dasar",
      "maplibre-layer-control": "Kontrol Lapisan",
      "maplibre-gl-huggingface": "Hugging Face",
      "carto-light": "Peta Dasar Carto Light",
      "geolibre-flight-simulator": "Simulator Penerbangan",
      "geolibre-route-animation": "Animasi Rute",
      "geolibre-sun": "Simulasi Matahari",
      "maplibre-atmosphere-effects": "Efek Atmosfer",
      "maplibre-deckgl-viz": "Layer Deck.gl",
      "maplibre-gl-clouds": "Awan",
      "maplibre-gl-components": "Komponen",
      "maplibre-gl-directions": "Arah",
      "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": "Garis Kisi",
      "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": "Presipitasi",
      "maplibre-gl-usgs-lidar": "USGS LiDAR",
      "maplibre-h3-grid": "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": "Reverse Geocode",
      "osm-basemap": "Peta Dasar OpenStreetMap"
    },
    "fileDrop": {
      "overlayTitle": "Jatuhkan file vektor atau raster di sini untuk menambahkan layer",
      "overlaySubtext": "Data Anda langsung ditambahkan ke panel Layer.",
      "addedLayer": "Menambahkan \"{{name}}\" ke panel Layer.",
      "addedVectorLayers_other": "Menambahkan {{count}} layer vektor ke panel Layer.",
      "addedRasterLayers_other": "Menambahkan {{count}} layer raster ke panel Layer.",
      "addedBoth": "Menambahkan {{vector}} dan {{raster}} ke panel Layer.",
      "bothVectorLayers_other": "{{count}} layer vektor",
      "bothRasterLayers_other": "{{count}} layer raster"
    },
    "error": {
      "couldNotOpenProject": "Tidak dapat membuka proyek.",
      "couldNotImportQgisProject": "Tidak dapat mengimpor proyek QGIS.",
      "couldNotImportArcgisProject": "Tidak dapat mengimpor proyek ArcGIS Pro.",
      "invalidProjectUrl": "Masukkan URL proyek HTTP atau HTTPS yang valid.",
      "couldNotOpenProjectUrl": "Tidak dapat membuka URL proyek.",
      "couldNotOpenRecentProject": "Tidak dapat membuka proyek terbaru.",
      "couldNotLoadRecentProject": "Tidak dapat memuat proyek terbaru.",
      "couldNotSaveProject": "Tidak dapat menyimpan proyek.",
      "couldNotExportHtml": "Tidak dapat mengekspor proyek ke HTML.",
      "osmPbfNoFeatures": "Tidak ditemukan fitur titik, garis, atau poligon dalam file OSM PBF ini.",
      "couldNotLoadOsmPbf": "Tidak dapat memuat file OSM PBF.",
      "osmPbfLoadFailedWithHint": "{{message}} Jika ini adalah Mapbox Vector Tile (.pbf), file ini tidak dapat dimuat sebagai ekstrak OSM.",
      "osmPbfTooLarge": "Ekstrak OSM ini terlalu besar untuk dimuat dan kehabisan memori atau waktu. Coba wilayah yang lebih kecil, atau saring file terlebih dahulu (misalnya dengan osmium-tool atau QGIS) sebelum memuatnya.",
      "couldNotOpenOsmPbf": "Tidak dapat membuka file OSM PBF.",
      "invalidOsmPbfUrl": "Masukkan URL http(s) yang valid ke file .osm.pbf.",
      "couldNotDownloadOsmPbf": "Tidak dapat mengunduh file OSM PBF.",
      "scenegraphModelUrlRequired": "Masukkan URL model glTF/GLB.",
      "scenegraphInvalidLngLat": "Masukkan bujur dan lintang yang valid.",
      "scenegraphOutOfRange": "Bujur harus antara -180 dan 180, dan lintang antara -90 dan 90.",
      "scenegraphNoPointFeatures": "GeoJSON tidak memiliki fitur titik untuk menempatkan model."
    },
    "scenegraph": {
      "modelUrl": "URL model glTF / GLB",
      "placement": "Penempatan",
      "placementSingle": "Lokasi tunggal",
      "placementData": "Dari data titik",
      "longitude": "Bujur",
      "latitude": "Lintang",
      "scale": "Skala",
      "bearing": "Arah°",
      "altitude": "Ketinggian m"
    },
    "sqlWorkspace": {
      "description": {
        "postgis": "Jalankan SQL PostGIS terhadap layer yang dimuat. Ekstensi PostGIS dimuat, sehingga fungsi ST_* tersedia. Jalankan pertama kali memuat mesin basis data ~19 MB.",
        "duckdb": "Jalankan SQL DuckDB terhadap layer, file, dan URL yang dimuat. Ekstensi spasial dimuat, sehingga fungsi ST_* tersedia. URL cloud (s3://, gs://, az://) didukung untuk data publik.",
        "sedona": "Jalankan SQL spasial Apache Sedona terhadap layer yang dimuat. Berjalan di browser melalui CereusDB (build WebAssembly dari SedonaDB); pada desktop menggunakan sidecar SedonaDB saat ekstra sedona opsional dipasang. Fungsi ST_* tersedia."
      },
      "title": "Ruang Kerja SQL",
      "engine": "Mesin SQL",
      "resize": "Ubah ukuran ruang kerja SQL",
      "resizeEditor": "Ubah ukuran panel editor dan hasil",
      "collapse": "Ciutkan ruang kerja SQL",
      "expand": "Perluas ruang kerja SQL",
      "close": "Tutup ruang kerja SQL",
      "run": "Jalankan",
      "runHint": "Jalankan (Ctrl/Cmd+Enter)",
      "clear": "Bersihkan",
      "completions": "Pelengkapan",
      "placeholder": "SQL di sini · Ctrl/Cmd+Enter untuk menjalankan · Tab atau Ctrl+Space untuk melengkapi otomatis",
      "resultsPlaceholder": "Jalankan kueri untuk melihat hasilnya di sini.",
      "queryableHint": "Layer yang dapat dikueri: {{names}}",
      "queryableLayers": "Layer yang dapat dikueri:",
      "queryLabel": "Kueri SQL",
      "engineOption": "Mesin: {{name}}",
      "sampleQueries": "Contoh kueri…",
      "sampleQueriesLabel": "Sisipkan contoh kueri",
      "history": "Riwayat…",
      "historyLabel": "Gunakan kembali kueri dari riwayat",
      "sampleForLayer": "Contoh kueri untuk layer…",
      "sampleForLayerLabel": "Sisipkan contoh kueri untuk layer",
      "noLayersEngine": "Belum ada layer vektor yang dimuat sebagai tabel. Muat layer vektor untuk mengkuerinya dengan {{engine}}.",
      "noLayersReaders": "Belum ada layer vektor yang dimuat sebagai tabel. Anda tetap dapat membaca file dan URL dengan read_parquet(), read_csv_auto(), atau ST_Read().",
      "layerName": "Nama layer",
      "layerNamePlaceholder": "Nama layer (opsional)",
      "addAsLayer": "Tambahkan sebagai layer",
      "exportCsv": "Ekspor CSV",
      "exportGeoParquet": "Ekspor GeoParquet",
      "addedAsLayer_other": "Menambahkan {{count}} fitur ke peta sebagai \"{{name}}\".",
      "addAsQueryLayer": "Tambahkan sebagai layer kueri",
      "addAsQueryLayerHint": "Tambahkan hasil sebagai layer langsung yang menjalankan ulang SQL ini saat disegarkan",
      "addedAsQueryLayer_other": "Menambahkan {{count}} fitur ke peta sebagai layer kueri \"{{name}}\". Segarkan dari panel Layer untuk menjalankan ulang SQL.",
      "savedAs": "Tersimpan {{label}} sebagai {{name}}.",
      "noRows": "Pernyataan dieksekusi. Tidak ada baris yang dikembalikan.",
      "showingRows": "Menampilkan {{shown}} baris pertama dari {{total}} baris. Ekspor untuk melihat semuanya.",
      "rowsCount_other": "{{count}} baris",
      "columnsCount_other": "{{count}} kolom",
      "samples": {
        "countriesGeom": "Negara dengan geometri",
        "attributesOnly": "Hanya atribut (tanpa geometri)",
        "populationByContinent": "Populasi per benua (agregat)",
        "mostPopulous": "Negara terpadat (geometri)",
        "countryCentroids": "Sentroid negara (spasial)",
        "largestByArea": "Negara terbesar berdasarkan luas (spasial)",
        "postgisVersion": "Versi PostGIS",
        "makePoint": "Buat titik (geometri)",
        "firstRows": "Baris pertama dari layer",
        "featureCount": "Jumlah fitur",
        "layerCentroids": "Sentroid layer (spasial)",
        "bufferFeatures": "Buffer fitur sebesar 0.01 derajat (spasial)",
        "boundingBox": "Kotak pembatas layer (spasial)",
        "bufferPoint": "Buffer titik (spasial)",
        "areaPerFeature": "Luas setiap fitur (spasial)"
      }
    }
  },
  "selection": {
    "byExpressionTitle": "Pilih berdasarkan Ekspresi",
    "byExpressionDescription": "Pilih fitur yang atributnya cocok dengan ekspresi boolean. Fitur yang cocok menjadi seleksi aktif, disorot di peta dan di tabel atribut.",
    "byLocationTitle": "Pilih berdasarkan Lokasi",
    "byLocationDescription": "Pilih fitur berdasarkan hubungan spasialnya dengan fitur layer lain.",
    "targetLayer": "Pilih fitur dari",
    "referenceLayer": "Dengan membandingkan terhadap fitur dari",
    "predicate": "Di mana fitur",
    "predicateIntersects": "Berpotongan",
    "predicateWithin": "Berada di dalam",
    "predicateContains": "Memuat",
    "predicateDisjoint": "Terpisah (tanpa perpotongan)",
    "mode": "Ubah seleksi saat ini dengan",
    "modeNew": "Membuat seleksi baru",
    "modeAdd": "Menambah ke seleksi saat ini",
    "modeRemove": "Menghapus dari seleksi saat ini",
    "modeIntersect": "Memilih di dalam seleksi saat ini",
    "expression": "Ekspresi",
    "expressionPlaceholder": "[\">=\", [\"get\", \"population\"], 100000]",
    "expressionTarget": "Filter seleksi",
    "openBuilder": "Pembuat ekspresi...",
    "invalidExpression": "Masukkan ekspresi boolean yang valid.",
    "select": "Pilih fitur",
    "noLayers": "Tambahkan layer vektor dengan fitur untuk membuat seleksi.",
    "needTwoLayers": "Pemilihan berdasarkan lokasi membutuhkan dua layer vektor dengan fitur.",
    "summary": "{{selected}} dari {{total}} fitur terpilih ({{matched}} cocok).",
    "evaluationErrors": "{{count}} fitur tidak dapat dievaluasi dan tidak dicocokkan.",
    "unevaluableDisjoint": "{{count}} fitur dikecualikan karena geometrinya tidak dapat dievaluasi.",
    "tooManyPairs": "Perbandingan ini membutuhkan {{pairs}} pengujian pasangan fitur (batas {{limit}}). Gunakan Processing → GeoLibre → Vector → Select by location dengan mesin Sidecar sebagai gantinya.",
    "exportedLayerName": "{{name}} (seleksi)"
  },
  "loadEditorFeatures": {
    "menuItem": "Muat fitur ke editor…",
    "title": "Muat Fitur ke Editor",
    "collapse": "Ciutkan panel",
    "expand": "Perluas panel",
    "description": "Muat fitur vektor yang terlihat dalam tampilan peta saat ini ke GeoEditor untuk mengeditnya, lalu simpan setiap fitur atau hanya perubahan Anda sebagai GeoJSON.",
    "vectorLayer": "Layer Vektor",
    "selectPlaceholder": "Pilih layer…",
    "refresh": "Segarkan daftar layer",
    "noLayers": "Tidak ada layer vektor dalam tampilan saat ini. Tambahkan layer vektor atau geser ke area peta dasar dengan fitur vektor, lalu segarkan.",
    "editSessionActive": "Selesaikan pengeditan geometri di tempat (panel Layer → Selesai mengedit geometri) sebelum memuat atau menyimpan fitur di sini.",
    "editorName": "Nama Editor",
    "editorNamePlaceholder": "Nama Anda (opsional)",
    "loadFeatures": "Muat Fitur",
    "loading": "Memuat fitur…",
    "selectLayer": "Silakan pilih layer terlebih dahulu.",
    "noneInView": "Tidak ditemukan fitur dalam tampilan saat ini untuk layer ini.",
    "editorUnavailable": "Tidak dapat mengaktifkan GeoEditor. Coba lagi setelah peta selesai dimuat.",
    "noEditable": "Tidak ditemukan fitur yang dapat diedit dalam tampilan saat ini untuk layer ini.",
    "loaded": "Memuat {{count}} fitur dari \"{{layer}}\".",
    "appended": "Menambahkan {{count}} fitur dari \"{{layer}}\".",
    "loadedWithDropped": "{{message}} ({{dropped}} tidak valid dilewati)",
    "loadFailed": "Gagal memuat fitur ke editor.",
    "confirmExisting": "Editor sudah berisi {{count}} fitur. Tambahkan ke fitur tersebut, atau buang dan ganti?",
    "tooMany": "Memuat {{count}} fitur dapat membuat editor lambat merespons. Muat saja?",
    "loadAnyway": "Muat Saja",
    "append": "Tambahkan",
    "appendHint": "Tambahkan fitur baru di samping fitur yang sudah ada.",
    "discard": "Buang & Ganti",
    "discardHint": "Hapus fitur yang sudah ada dan muat yang baru.",
    "noChanges": "Belum ada perubahan untuk disimpan.",
    "nothingToSave": "Tidak ada fitur untuk disimpan.",
    "saved": "Menyimpan {{count}} fitur.",
    "savedChanges": "Perubahan tersimpan: {{added}} ditambahkan, {{modified}} diubah, {{deleted}} dihapus.",
    "saveFailed": "Gagal menyimpan fitur.",
    "saveChanges": "Simpan Perubahan",
    "saveChangesHint": "Simpan hanya fitur yang Anda tambahkan, edit, atau hapus.",
    "saveAll": "Simpan Semua"
  },
  "geocode": {
    "title": "Geocode Alamat",
    "description": "Geocode CSV alamat menjadi layer titik. Setiap baris yang cocok menjadi titik yang membawa kolom asli ditambah koordinat yang diselesaikan dan skor kecocokan.",
    "chooseFile": "Pilih file CSV",
    "noFile": "Tidak ada file CSV yang dipilih.",
    "fileLoaded": "{{name}} ({{count}} baris)",
    "provider": "Penyedia geocoding",
    "providerHint": "Kunci API dan endpoint dikelola di Pengaturan.",
    "apiKeyRequired": "{{provider}} memerlukan kunci API. Tambahkan satu di Pengaturan untuk mendapatkan hasil.",
    "corsNote": "Google tidak secara resmi mengizinkan permintaan browser ke Geocoding API-nya; permintaan mungkin diblokir kecuali dilayani melalui proxy dengan asal yang sama.",
    "addressColumn": "Kolom alamat",
    "run": "Mulai Geocoding",
    "cancel": "Batal",
    "outputPlaceholder": "Proses akan muncul di sini.",
    "usingEndpoint": "Menggunakan {{endpoint}}",
    "usingProvider": "Menggunakan {{provider}} ({{endpoint}})",
    "rowCapWarning": "Hanya {{cap}} baris pertama yang akan di-geocode untuk mematuhi kebijakan penggunaan Nominatim publik. Konfigurasikan endpoint mandiri untuk batch yang lebih besar.",
    "skippedEmpty": "Melewati {{count}} baris dengan alamat kosong.",
    "progress": "Geocoding baris {{current}} dari {{total}}: {{address}}",
    "summary": "Meng-geocode {{matched}} dari {{total}} baris; {{failed}} tidak cocok.",
    "failedRows": "Baris tanpa kecocokan: {{rows}}",
    "noMatches": "Tidak ada baris yang dapat di-geocode.",
    "cancelledNoRows": "Dibatalkan sebelum ada baris yang di-geocode.",
    "cancelled": "Dibatalkan. Menambahkan {{matched}} baris yang cocok.",
    "error": "Kesalahan: {{message}}",
    "reverseLookingUp": "Mencari alamat...",
    "reverseNoAddress": "Tidak ada alamat yang ditemukan.",
    "reverseCopyAddress": "Salin alamat",
    "reverseFailed": "Reverse geocoding gagal."
  },
  "graticule": {
    "title": "Garis Kisi",
    "controlTitle": "Pengaturan garis kisi",
    "gridType": "Jenis grid",
    "typeGeographic": "Geografis (lat/long)",
    "typeUtm": "UTM (easting/northing)",
    "spacing": "Jarak",
    "spacingAuto": "Otomatis (berdasarkan zoom)",
    "spacingFixed": "Interval tetap",
    "interval": "Interval (°)",
    "intervalMeters": "Interval (m)",
    "lineColor": "Warna garis",
    "lineWidth": "Lebar garis",
    "lineOpacity": "Opasitas garis",
    "dashedLines": "Garis putus-putus",
    "showLabels": "Tampilkan label",
    "labelFormat": "Format label",
    "formatDecimal": "Derajat desimal",
    "formatDms": "Derajat/Menit/Detik",
    "labelEdges": "Label tepi",
    "edgesLeftBottom": "Kiri + bawah",
    "edgesAll": "Semua sisi",
    "labelColor": "Warna label",
    "labelSize": "Ukuran label"
  },
  "h3Plugin": {
    "title": "Grid H3",
    "controlTitle": "Pengaturan grid H3",
    "autoResolution": "Resolusi otomatis",
    "resolution": "Resolusi",
    "cellCount": "{{count}} sel dalam tampilan",
    "tooManyCells": "Tampilan ini melebihi batas {{limit}} sel. Perbesar tampilan atau turunkan resolusinya.",
    "fillColor": "Warna isi",
    "fillOpacity": "Opasitas isi",
    "lineColor": "Warna garis tepi",
    "lineWidth": "Lebar garis tepi",
    "showLabels": "Tampilkan id sel",
    "identifyHint": "Klik peta untuk mengidentifikasi sel H3.",
    "selectedCell": "Sel terpilih",
    "noSelection": "Tidak ada sel yang dipilih",
    "copyId": "Salin id",
    "copied": "Tersalin",
    "parent": "Sel induk",
    "children": "Sel turunan",
    "neighbors": "Sel tetangga",
    "baseCell": "Sel dasar",
    "center": "Pusat",
    "pentagon": "Segi lima",
    "yes": "Ya",
    "no": "Tidak",
    "zoomToCell": "Zoom ke sel",
    "addAsLayer": "Tambahkan grid sebagai layer",
    "exportGeoJson": "Ekspor GeoJSON",
    "exportCsv": "Ekspor CSV",
    "includeNeighbors": "Sertakan sel tetangga dari sel terpilih",
    "includeParents": "Sertakan sel induk dari sel terpilih",
    "showIcosahedron": "Tampilkan ikosahedron"
  },
  "timelapse": {
    "title": "Timelapse",
    "provider": "Sumber citra",
    "legend": "Legenda",
    "yearSlider": "Tahun timelapse",
    "play": "Putar",
    "pause": "Jeda",
    "speed": "Kecepatan",
    "secondsPerYear": "Detik per tahun",
    "secondsPerYearSuffix": "dtk/thn",
    "loop": "Ulangi",
    "record": "Rekam video",
    "stopRecording": "Hentikan perekaman",
    "recording": "Merekam",
    "recordingFailed": "Perekaman gagal.",
    "recordingUnsupported": "Perekaman kanvas tidak didukung di browser ini.",
    "loadingTiles": "Memuat ubin…"
  },
  "mapillary": {
    "title": "Mapillary",
    "hint": "Klik titik cakupan di peta untuk melihat citra tingkat jalan.",
    "noToken": "Token akses Mapillary diperlukan untuk memuat cakupan dan citra. Tempel salah satu di bawah untuk memulai.",
    "tokenPlaceholder": "MLY|…",
    "tokenSave": "Simpan token",
    "tokenHelp": "Dapatkan token",
    "tokenLabel": "Token akses Mapillary",
    "loading": "Memuat citra…",
    "loadError": "Tidak dapat memuat gambar ini.",
    "coverageLines": "Sekuens Mapillary",
    "coveragePoints": "Gambar Mapillary"
  },
  "openAerialMap": {
    "hint": "Cari citra OpenAerialMap berdasarkan tampilan peta, kotak yang digambar, atau koordinat.",
    "search": "Cari tampilan ini",
    "loadMore": "Muat lebih banyak",
    "searching": "Mencari…",
    "loadingMore": "Memuat lebih banyak…",
    "noResults": "Tidak ada citra ditemukan di area ini.",
    "showing": "Menampilkan {{shown}} dari {{total}} gambar.",
    "searchError": "Tidak dapat menjangkau OpenAerialMap: {{message}}. Silakan coba lagi.",
    "add": "Tambah",
    "remove": "Hapus",
    "zoom": "Zoom",
    "download": "Unduh",
    "metadata": "Metadata",
    "addTitle": "Tambahkan gambar ini ke peta",
    "removeTitle": "Hapus gambar ini dari peta",
    "addUnavailableTitle": "Tidak ada layanan tile yang tersedia untuk gambar ini",
    "zoomTitle": "Zoom ke gambar ini",
    "downloadTitle": "Unduh GeoTIFF sumber",
    "metadataTitle": "Lihat metadata gambar ini",
    "modeView": "Tampilan peta",
    "modeDraw": "Gambar kotak",
    "modeBbox": "Koordinat",
    "drawHint": "Klik dan seret di peta untuk menggambar kotak pencarian.",
    "drawStart": "Gambar kotak di peta",
    "drawCancel": "Batalkan penggambaran",
    "drawnBox": "Kotak pencarian: {{box}}",
    "coordWest": "Barat",
    "coordSouth": "Selatan",
    "coordEast": "Timur",
    "coordNorth": "Utara",
    "coordSearch": "Cari kotak ini",
    "bboxInvalid": "Masukkan empat koordinat valid dengan barat < timur dan selatan < utara.",
    "footprintsLayer": "Jejak OpenAerialMap",
    "footprintUnavailable": "Tidak ada layanan tile yang tersedia untuk gambar ini.",
    "metadataHeading": "Metadata gambar",
    "close": "Tutup",
    "metaTitle": "Judul",
    "metaProvider": "Penyedia",
    "metaPlatform": "Platform",
    "metaResolution": "Resolusi",
    "metaAcquired": "Diperoleh",
    "metaBounds": "Batas (B, S, T, U)",
    "metaSource": "GeoTIFF sumber",
    "metaRaw": "Metadata mentah"
  },
  "arcgisHub": {
    "hint": "Cari kumpulan data publik dari ArcGIS Hub. Tambahkan layer yang didukung ke peta atau unduh datanya.",
    "searchPlaceholder": "Cari kumpulan data ArcGIS Hub",
    "search": "Cari",
    "searchCurrentView": "Cari di area peta saat ini",
    "enterKeyword": "Masukkan kata kunci untuk memulai.",
    "loadMore": "Muat lebih banyak",
    "searching": "Mencari…",
    "loadingMore": "Memuat lebih banyak kumpulan data…",
    "noResults": "Tidak ditemukan kumpulan data publik.",
    "searchError": "Tidak dapat mencari di ArcGIS Hub.",
    "showing": "Menampilkan {{shown}} dari {{total}} kumpulan data.",
    "noDescription": "Tidak ada deskripsi.",
    "add": "Tambahkan ke peta",
    "adding": "Menambahkan {{title}}…",
    "added": "{{title}} ditambahkan.",
    "addError": "Tidak dapat menambahkan kumpulan data ini.",
    "zoom": "Zoom",
    "download": "Unduh",
    "preparing": "Menyiapkan {{title}}…",
    "downloading": "Mengunduh {{title}}: {{completed}} dari {{total}} fitur…",
    "downloadStarted": "Unduhan {{title}} dimulai.",
    "downloadFirstLayer": "{{title}} memiliki {{layerCount}} layer; hanya yang pertama yang diunduh.",
    "downloadError": "Tidak dapat mengunduh kumpulan data ini.",
    "details": "Detail"
  },
  "openDataCatalogs": {
    "socrataHint": "Cari di katalog data terbuka Socrata publik dan tambahkan kumpulan data GeoJSON.",
    "ckanHint": "Cari di katalog CKAN Humanitarian Data Exchange dan tambahkan sumber daya GeoJSON yang tersedia.",
    "searchPlaceholder": "Cari {{name}}",
    "search": "Cari",
    "enterKeyword": "Masukkan kata kunci untuk memulai.",
    "loadMore": "Muat lebih banyak",
    "searching": "Mencari…",
    "noResults": "Tidak ditemukan kumpulan data.",
    "showing": "Menampilkan {{shown}} dari {{total}} kumpulan data.",
    "noDescription": "Tidak ada deskripsi.",
    "add": "Tambahkan ke peta",
    "details": "Detail",
    "adding": "Menambahkan {{title}}…",
    "added": "{{title}} ditambahkan.",
    "addError": "Tidak dapat menambahkan kumpulan data.",
    "searchError": "Pencarian gagal."
  },
  "earthdataGis": {
    "hint": "Cari layanan citra, peta, dan fitur di NASA Earthdata GIS.",
    "searchPlaceholder": "Cari di Earthdata GIS…",
    "search": "Cari",
    "searching": "Mencari…",
    "loadingMore": "Memuat lebih banyak…",
    "loadMore": "Muat lebih banyak",
    "noResults": "Tidak ada layanan yang cocok dengan pencarian ini.",
    "showing": "Menampilkan {{shown}} dari {{total}} layanan.",
    "searchError": "Tidak dapat menjangkau Earthdata GIS: {{message}}. Silakan coba lagi.",
    "limitToView": "Batasi pada tampilan peta",
    "limitToViewTitle": "Hanya kembalikan layanan yang beririsan dengan tampilan peta saat ini",
    "filterAll": "Semua",
    "filterImage": "Citra",
    "filterMap": "Peta",
    "filterFeature": "Fitur",
    "kindImage": "Layanan citra",
    "kindMap": "Layanan peta",
    "kindFeature": "Layanan fitur",
    "kindWebMap": "Peta web",
    "filterWebMap": "Peta web",
    "webMapAdded_other": "{{count}} layer ditambahkan dari peta web ini.",
    "webMapAddedPartial": "{{added}} dari {{total}} layer ditambahkan dari peta web ini; sisanya tidak dapat dijangkau.",
    "webMapEmpty": "peta web ini tidak memiliki layer yang dapat dirender GeoLibre.",
    "add": "Tambah",
    "adding": "Menambahkan…",
    "remove": "Hapus",
    "zoom": "Zoom",
    "details": "Detail",
    "portal": "Portal",
    "portalTitle": "Buka item ini di portal Earthdata GIS",
    "cog": "COG",
    "cogTitle": "Unduh layanan ini sebagai Cloud Optimized GeoTIFF",
    "cogHeading": "Unduh sebagai COG",
    "cogAreaView": "Tampilan saat ini",
    "cogAreaExtent": "Extent penuh",
    "cogSize": "Ukuran ekspor: {{width}} x {{height}} px",
    "cogResolution": "Resolusi permukaan: {{metres}} m/px",
    "cogNote": "Layanan diekspor ulang pada ukuran ini dan dikodekan ulang sebagai COG, jadi ini adalah tampilan area yang telah di-resample, bukan raster sumber pada resolusi aslinya.",
    "cogDownload": "Unduh",
    "cogDownloading": "Mengekspor dan mengonversi…",
    "cogRetrying": "Layanan menolak ukuran tersebut; mencoba lagi pada {{width}} x {{height}} px…",
    "cogConverting": "Mengonversi ke COG…",
    "cogDone": "COG disimpan pada {{width}} x {{height}} px.",
    "cogFailed": "Tidak dapat mengunduh COG: {{message}}",
    "cogUnavailable": "Pengunduhan memerlukan aplikasi desktop atau dialog simpan pada browser.",
    "cancel": "Batal",
    "addTitle": "Tambahkan layanan ini ke peta",
    "removeTitle": "Hapus layanan ini dari peta",
    "zoomTitle": "Zoom ke layanan ini",
    "zoomUnavailableTitle": "Layanan ini tidak memublikasikan extent",
    "detailsTitle": "Lihat metadata layanan ini",
    "addError": "Tidak dapat menambahkan layanan: {{message}}",
    "addTimeout": "layanan tidak merespons dalam satu menit. Layer tetap akan muncul jika prosesnya selesai.",
    "zoomedToData": "Zoom melewati extent penuh layer ini: layanan hanya dirender pada tingkat zoom yang lebih tinggi.",
    "detailsHeading": "Detail layanan",
    "close": "Tutup",
    "metaTitle": "Judul",
    "metaType": "Jenis",
    "metaSummary": "Ringkasan",
    "metaDescription": "Deskripsi",
    "metaOwner": "Diterbitkan oleh",
    "metaModified": "Terakhir diubah",
    "metaTags": "Tag",
    "metaExtent": "Extent (B, S, T, U)",
    "metaCredits": "Kredit",
    "metaLicense": "Ketentuan penggunaan",
    "metaService": "URL layanan",
    "metaPortalItem": "Item portal",
    "metaRaw": "Metadata mentah"
  },
  "sourceCoop": {
    "hint": "Cari data geospasial terbuka di Source Cooperative, atau masukkan id akun/produk.",
    "searchPlaceholder": "Cari data, atau akun/produk",
    "search": "Cari",
    "searching": "Mencari…",
    "loading": "Memuat katalog…",
    "loadError": "Tidak dapat menjangkau Source Cooperative: {{message}}. Silakan coba lagi.",
    "noResults": "Tidak ada produk yang cocok.",
    "retry": "Coba lagi",
    "featured": "Unggulan",
    "showing": "Menampilkan {{shown}} dari {{total}} produk.",
    "browseAccount": "Telusuri semua produk {{account}}",
    "back": "Kembali",
    "files": "File",
    "noFiles": "Tidak ada file di folder ini.",
    "loadingFiles": "Memuat file…",
    "loadMore": "Muat lebih banyak",
    "parent": "Naik satu tingkat",
    "add": "Tambah",
    "adding": "Menambahkan…",
    "added": "Ditambahkan",
    "stream": "Stream",
    "streaming": "Streaming",
    "remove": "Hapus",
    "download": "Unduh",
    "copyUrl": "Salin URL",
    "copied": "Disalin",
    "openProduct": "Buka di source.coop",
    "addTitle": "Tambahkan file ini ke peta",
    "streamTitle": "Kueri file ini di tempatnya, hanya membaca bagian yang terlihat. Seluruh file tidak pernah disalin ke DuckDB — terbaik untuk file besar.",
    "removeTitle": "Hapus file ini dari peta",
    "downloadTitle": "Unduh file ini",
    "copyUrlTitle": "Salin URL file ini",
    "openProductTitle": "Buka halaman produk ini di source.coop",
    "unsupportedTitle": "GeoLibre tidak dapat merender format ini — unduh saja",
    "addError": "Tidak dapat menambahkan file ini: {{message}}",
    "largeFileWarning": "File ini {{size}}. File di-stream dari sumber, sehingga hanya bagian yang terlihat yang dibaca.",
    "streamHint": "File ini {{size}}. Tambah menyalinnya ke memori; Stream hanya membaca bagian yang terlihat.",
    "tooLargeToOpen": "File ini {{size}} — terlalu besar untuk dibuka browser (batas {{limit}}). Unduh, atau gunakan versi terpartisi dari dataset ini."
  },
  "huggingFace": {
    "browseTab": "Jelajahi",
    "uploadTab": "Unggah",
    "settingsTab": "Pengaturan",
    "hint": "Cari repo dataset di Hugging Face, atau masukkan nama akun atau id owner/dataset.",
    "searchPlaceholder": "Cari dataset, akun, atau owner/dataset",
    "search": "Cari",
    "searching": "Mencari…",
    "loadError": "Tidak dapat menjangkau Hugging Face: {{message}}. Silakan coba lagi.",
    "noResults": "Tidak ada dataset yang cocok.",
    "retry": "Coba lagi",
    "suggestions": "Dataset yang disarankan",
    "showing_other": "{{count}} dataset.",
    "browseOwner": "Jelajahi semua dataset {{owner}}",
    "back": "Kembali",
    "private": "Privat",
    "gated": "Akses terbatas",
    "privateHint": "Dataset ini privat atau berakses terbatas. Berkasnya memerlukan permintaan terautentikasi, yang tidak dapat dilakukan sumber peta, sehingga tidak dapat ditambahkan atau diunduh di sini.",
    "stats": "{{likes}} suka · {{downloads}} unduhan",
    "noFiles": "Tidak ada file di folder ini.",
    "loadingFiles": "Memuat file…",
    "loadMore": "Muat lebih banyak",
    "parent": "Naik satu tingkat",
    "add": "Tambah",
    "adding": "Menambahkan…",
    "stream": "Stream",
    "streaming": "Streaming",
    "remove": "Hapus",
    "download": "Unduh",
    "copyUrl": "Salin URL",
    "copied": "Disalin",
    "openDataset": "Buka di Hugging Face",
    "addTitle": "Tambahkan file ini ke peta",
    "streamTitle": "Kueri file ini di tempatnya, hanya membaca bagian yang terlihat. Seluruh file tidak pernah disalin ke DuckDB — terbaik untuk file besar.",
    "removeTitle": "Hapus file ini dari peta",
    "downloadTitle": "Unduh file ini",
    "copyUrlTitle": "Salin URL file ini",
    "openDatasetTitle": "Buka halaman dataset ini di huggingface.co",
    "unsupportedTitle": "GeoLibre tidak dapat merender format ini — unduh saja",
    "addError": "Tidak dapat menambahkan file ini: {{message}}",
    "notRasterIndex": "File JSON ini tidak mengindeks raster apa pun, jadi tidak ada yang bisa ditaruh di peta. MosaicJSON dan koleksi STAC didukung.",
    "largeFileWarning": "File ini {{size}}. File di-stream dari sumber, sehingga hanya bagian yang terlihat yang dibaca.",
    "streamHint": "File ini {{size}}. Tambah menyalinnya ke memori; Stream hanya membaca bagian yang terlihat.",
    "tooLargeToOpen": "File ini {{size}} — terlalu besar untuk dibuka browser (batas {{limit}}). Unduh, atau gunakan versi terpartisi dari dataset ini.",
    "tokenLabel": "Token akses",
    "tokenHint": "Membuat repo dataset dan mengunggah file memerlukan token akses Hugging Face dengan izin tulis. Token disimpan hanya di browser ini dan dikirim hanya ke huggingface.co.",
    "tokenPlaceholder": "hf_…",
    "tokenSave": "Simpan token",
    "tokenClear": "Bersihkan",
    "tokenHelp": "Dapatkan token",
    "tokenChecking": "Memeriksa token…",
    "tokenError": "Tidak dapat memverifikasi token ini: {{message}}",
    "signedInAs": "Masuk sebagai {{name}}",
    "readOnlyToken": "Token ini hanya baca. Buat token dengan izin tulis untuk mengunggah.",
    "createHeading": "Buat repo dataset",
    "ownerLabel": "Pemilik",
    "datasetNameLabel": "Nama dataset",
    "datasetNamePlaceholder": "my-geodata",
    "privateLabel": "Privat",
    "create": "Buat",
    "creating": "Membuat…",
    "createdRepo": "{{repoId}} dibuat.",
    "createError": "Tidak dapat membuat dataset ini: {{message}}",
    "uploadHeading": "Unggah file",
    "targetLabel": "Dataset",
    "targetPlaceholder": "owner/dataset",
    "folderLabel": "Folder (opsional)",
    "folderPlaceholder": "data/",
    "chooseFiles": "Pilih file",
    "chooseLayer": "Pilih layer",
    "chooseLayerTitle": "Unggah fitur sebuah layer peta sebagai file GeoJSON",
    "layerPickerHeading": "Unggah layer sebagai GeoJSON",
    "layerFeatures_other": "{{count}} fitur",
    "layerOriginalFile": "File asli",
    "layerUnavailable": "{{name}} tidak lagi tersedia untuk diunggah.",
    "remoteRasterNote": "Raster yang dimuat dari URL tidak ditampilkan: datanya tidak ada di browser, dan sudah punya tautan yang bisa Anda bagikan. Hanya file yang dibuka secara lokal yang dapat diunggah.",
    "noUploadableLayers": "Tidak ada layer di peta yang memiliki fitur untuk diunggah. Tambahkan layer vektor terlebih dahulu.",
    "clearSelection": "Bersihkan",
    "selectedFiles_other": "{{count}} file dipilih ({{size}}).",
    "commitMessageLabel": "Pesan commit (opsional)",
    "commitMessagePlaceholder": "Diunggah dengan GeoLibre",
    "upload": "Unggah",
    "uploadPreparing": "Menyiapkan unggahan…",
    "uploadHashing": "Menghitung hash {{name}} ({{index}}/{{total}})…",
    "uploadSending": "Mengunggah {{name}} ({{index}}/{{total}})…",
    "uploadCommitting": "Melakukan commit…",
    "uploadDone_other": "{{count}} file diunggah.",
    "uploadError": "Unggahan gagal: {{message}}",
    "fileTooLarge": "{{name}} lebih besar dari batas unggah {{limit}}.",
    "selectionTooLarge": "Total file yang dipilih {{size}}, melebihi batas {{limit}} untuk satu kali unggah. Unggah dalam kelompok yang lebih kecil.",
    "openUploaded": "Buka dataset",
    "rgbHeading": "Citra multiband",
    "rgbHint": "Band mana yang menjadi merah, hijau, dan biru saat sebuah citra memiliki tiga band atau lebih. Dihitung mulai dari 1; panel Gaya tetap dapat mengubah layer mana pun setelahnya.",
    "bandR": "Merah",
    "bandG": "Hijau",
    "bandB": "Biru",
    "colormapHeading": "Citra band tunggal",
    "colormapHint": "Peta warna yang diterapkan saat sebuah citra memiliki satu band.",
    "colormapLabel": "Peta warna",
    "engineHeading": "Mesin rendering",
    "engineHint": "Perender mana yang mendekode citra. Berbeda dengan pengaturan di atas, yang satu ini tidak per layer: berlaku untuk setiap raster di peta, termasuk yang sudah ditambahkan.",
    "engineLabel": "Mesin",
    "engineAuto": "Biarkan tidak berubah",
    "engineGpu": "GPU (deck.gl)",
    "engineWasm": "Tiler WebAssembly",
    "engineTitiler": "Server TiTiler",
    "resetDefaults": "Atur ulang ke default"
  },
  "basemaps": {
    "confirmStyleReplace_other": "Beralih ke \"{{name}}\" mengganti seluruh gaya peta dan akan menghapus {{count}} peta dasar bertumpuk yang Anda tambahkan. Lanjutkan?"
  },
  "annotations": {
    "toolbar": "Alat anotasi",
    "layerName": "Anotasi",
    "elementsPanelTitle": "Elemen",
    "tools": {
      "text": "Teks",
      "arrow": "Panah",
      "rectangle": "Sorotan persegi panjang",
      "ellipse": "Sorotan elips",
      "freehand": "Sorotan bebas",
      "pin": "Penanda pin",
      "sticky_note": "Catatan tempel",
      "placed_image": "Gambar yang ditempatkan"
    },
    "color": "Warna anotasi",
    "width": "Lebar garis",
    "widthOptions": {
      "thin": "Tipis",
      "medium": "Sedang",
      "thick": "Tebal"
    },
    "deleteLast": "Hapus anotasi terakhir",
    "clearAll": "Bersihkan semua anotasi",
    "textPlaceholder": "Ketik label, Enter untuk menempatkan",
    "pinTitlePrompt": "Judul",
    "pinDescPrompt": "Deskripsi",
    "stickyNotePrompt": "Isi Catatan",
    "imageUrlPrompt": "URL Gambar",
    "cancel": "Batal",
    "saveElement": "Simpan Elemen",
    "atPoint": "Pada Titik",
    "pinnedToExtent": "Disematkan ke Cakupan"
  },
  "pythonConsole": {
    "title": "Konsol Python",
    "resize": "Ubah ukuran konsol Python",
    "clear": "Bersihkan keluaran",
    "collapse": "Ciutkan konsol Python",
    "expand": "Perluas konsol Python",
    "close": "Tutup konsol Python",
    "run": "Jalankan",
    "runHint": "Jalankan (Ctrl/Cmd+Enter)",
    "completions": "Pelengkapan",
    "placeholder": "Python di sini · Ctrl/Cmd+Enter untuk menjalankan · Tab untuk melengkapi otomatis · ↑/↓ untuk riwayat",
    "intro": "Konsol Python siap. Gunakan objek `geolibre` untuk membuat skrip peta, mis. geolibre.get_center(). Tab melengkapi otomatis, ↑/↓ memanggil kembali perintah sebelumnya, dan `await geolibre.load_package(\"numpy\")` menambahkan paket.",
    "loadFailed": "Gagal memuat runtime Python.",
    "showEditor": "Tampilkan editor",
    "hideEditor": "Sembunyikan editor",
    "resizeEditor": "Ubah ukuran editor",
    "fileNew": "Skrip baru",
    "fileOpen": "Buka skrip…",
    "fileSave": "Simpan skrip (Ctrl/Cmd+S)",
    "fileSaveAs": "Simpan skrip sebagai…",
    "clearEditor": "Bersihkan editor",
    "runScript": "Jalankan skrip atau seleksi (Ctrl/Cmd+Enter)",
    "untitled": "tanpa-judul.py",
    "discardChanges": "Buang perubahan yang belum disimpan pada skrip saat ini?",
    "editorPlaceholder": "Tulis skrip Python multi-baris di sini. Ctrl/Cmd+Enter menjalankannya (atau seleksinya) di konsol; Tab mengindentasi; Ctrl+Space melengkapi otomatis."
  },
  "notebook": {
    "title": "Notebook",
    "resize": "Ubah ukuran panel notebook",
    "collapse": "Ciutkan notebook",
    "expand": "Perluas notebook",
    "close": "Tutup notebook",
    "copyServerUrl": "Salin URL server untuk klien eksternal (VS Code…)",
    "serverUrlCopied": "URL server tersalin",
    "loading": "Memuat notebook…",
    "loadFailed": "Gagal memuat notebook."
  },
  "dashboard": {
    "title": "Dasbor",
    "resize": "Ubah ukuran panel dasbor",
    "collapse": "Ciutkan dasbor",
    "expand": "Perluas dasbor",
    "close": "Tutup dasbor",
    "columns": "Kolom",
    "addWidget": "Tambah widget",
    "widgetCount_other": "{{count}} widget",
    "empty": "Belum ada widget. Tambahkan bagan untuk merangkum layer.",
    "emptyNoLayers": "Tidak ditemukan layer yang kompatibel. Tambahkan layer vektor atau kueri DuckDB ke proyek Anda menggunakan menu Tambah Data di atas, lalu kembali ke sini untuk mulai membuat bagan.",
    "noLayersHint": "Tambahkan layer vektor atau kueri DuckDB terlebih dahulu.",
    "layerMissing": "Layer tidak tersedia",
    "noData": "Layer ini tidak memiliki atribut yang dapat dibuat bagan.",
    "selectorMatches_other": "{{count}} dari {{total}} fitur",
    "selectorClear": "Bersihkan",
    "moveBack": "Pindahkan ke belakang",
    "moveForward": "Pindahkan ke depan",
    "editWidget": "Edit widget",
    "removeWidget": "Hapus widget",
    "chartType": {
      "histogram": "Histogram",
      "scatter": "Sebar",
      "bar": "Batang",
      "line": "Garis",
      "box": "Diagram kotak",
      "pie": "Lingkaran",
      "indicator": "Indikator",
      "selector": "Pemilih",
      "list": "Daftar"
    },
    "aggregate": {
      "count": "Jumlah",
      "sum": "Total",
      "mean": "Rata-rata"
    },
    "chart": {
      "emptyNumeric": "Tidak ada nilai numerik untuk diplot.",
      "emptyScatter": "Tidak ada baris yang memiliki kedua bidang bernilai angka.",
      "emptyBar": "Tidak ada baris untuk dikelompokkan.",
      "emptyPie": "Tidak ada nilai positif untuk dibuat bagan.",
      "pieCaptionCount_other": "jumlah baris · {{count}} kategori",
      "pieCaptionSum_other": "total · {{count}} kategori"
    },
    "editor": {
      "addTitle": "Tambah widget",
      "editTitle": "Edit widget",
      "description": "Pilih layer, jenis bagan, dan bidang untuk diplot.",
      "noLayers": "Tidak ada layer yang dapat dibuat bagan. Tambahkan layer vektor atau kueri DuckDB terlebih dahulu.",
      "noFields": "Layer ini tidak memiliki bidang numerik atau kategorikal untuk dibuat bagan.",
      "layer": "Layer",
      "chartType": "Jenis bagan",
      "field": "Bidang",
      "bins": "Bin",
      "xAxis": "Sumbu X",
      "yAxis": "Sumbu Y",
      "category": "Kategori",
      "aggregate": "Agregat",
      "value": "Nilai",
      "prefix": "Awalan",
      "suffix": "Akhiran",
      "multiSelect": "Izinkan pemilihan ganda",
      "listColumns": "Kolom",
      "sortBy": "Urutkan berdasarkan",
      "sortDir": "Arah",
      "ascending": "Menaik",
      "descending": "Menurun",
      "limit": "Batas baris",
      "titleLabel": "Judul",
      "titlePlaceholder": "Judul opsional",
      "color": "Warna",
      "colorReset": "Atur ulang",
      "colorDefault": "Warna bagan default",
      "cancel": "Batal",
      "save": "Simpan"
    },
    "indicatorAggregation": {
      "count": "Jumlah",
      "sum": "Jumlah total",
      "mean": "Rata-rata",
      "min": "Minimum",
      "max": "Maksimum",
      "median": "Median"
    }
  },
  "assistant": {
    "title": "Asisten AI",
    "resize": "Ubah ukuran panel asisten",
    "clear": "Bersihkan percakapan",
    "close": "Tutup asisten",
    "send": "Kirim",
    "sendHint": "Kirim (Ctrl/Cmd+Enter)",
    "stop": "Hentikan",
    "placeholder": "Tanyakan tentang data Anda, mis. \"tampilkan negara dengan populasi di atas 50 juta\" · Ctrl/Cmd+Enter untuk mengirim",
    "intro": "Mengobrol dengan data Anda. Saya dapat menjalankan Spatial SQL, menambah atau menghapus layer, mengubah gayanya, dan menggerakkan peta — setiap perubahan dapat diurungkan. Coba \"warnai negara berdasarkan populasi dengan gradasi merah bertingkat\".",
    "setupTitle": "Siapkan Asisten AI",
    "setupStatus": "Asisten memerlukan penyedia AI untuk berpikir. Tambahkan kredensial untuk salah satu penyedia di bawah dan panel beralih ke mode obrolan segera setelah Anda menyimpan.",
    "setupProviders": "Tambahkan kredensial untuk salah satu penyedia",
    "setupOpenSettings": "Buka Pengaturan → Penyedia AI",
    "thinking": "Memproses…",
    "toolError": "gagal",
    "provider": "Penyedia LLM",
    "profile": "Profil AI",
    "deploymentProxy": "Proksi deployment",
    "model": "Model",
    "codeApprovalTitle": "Jalankan kode asisten?",
    "codeApprovalBody": "Asisten ingin menjalankan kode {{language}} di aplikasi. Tinjau terlebih dahulu — kode dapat mengubah peta dan mengakses data aplikasi.",
    "codeApprovalAlways": "Izinkan kode asisten untuk sisa sesi ini",
    "codeApprovalRun": "Jalankan",
    "codeApprovalDecline": "Batal"
  },
  "storymap": {
    "title": "Peta Cerita",
    "description": "Bangun cerita berbasis gulir dari bab-bab peta. Setiap bab menangkap tampilan kamera dan teks.",
    "chapters": "Bab ({{count}})",
    "addChapter": "Tambah bab",
    "empty": "Belum ada bab. Navigasikan peta, lalu tambahkan bab untuk menangkap tampilan saat ini.",
    "defaultChapterTitle": "Bab {{index}}",
    "untitledChapter": "Bab tanpa judul",
    "present": "Presentasikan",
    "exportHtml": "Ekspor HTML",
    "exitPresentation": "Keluar",
    "preview": "Terbang ke bab ini",
    "captureView": "Atur ke tampilan saat ini",
    "composeOnMap": "Susun pada peta",
    "resizeDialog": "Ubah ukuran dialog",
    "composeMode": {
      "title": "Menyusun bab",
      "hint": "Geser, zoom, dan miringkan peta, lalu simpan tampilan ke bab ini.",
      "save": "Simpan tampilan dan kembali ke Peta Cerita",
      "cancel": "Batal",
      "waiting": "Tunggu peta selesai bergerak"
    },
    "moveUp": "Pindahkan ke atas",
    "moveDown": "Pindahkan ke bawah",
    "onEnter": "Saat masuk",
    "onExit": "Saat keluar",
    "addEffect": "Tambah efek layer",
    "field": {
      "title": "Judul",
      "subtitle": "Subjudul",
      "byline": "Byline",
      "footer": "Footer",
      "theme": "Tema panel",
      "showMarkers": "Tampilkan penanda",
      "markerColor": "Warna penanda",
      "inset": "Minimap sisipan",
      "hideChapterNav": "Sembunyikan daftar bab",
      "startView": "Aktifkan tampilan awal",
      "closingSlide": "Aktifkan slide penutup",
      "chapterTitle": "Judul bab",
      "description": "Deskripsi (HTML diizinkan)",
      "image": "URL gambar",
      "alignment": "Perataan panel",
      "animation": "Animasi peta",
      "hidden": "Sembunyikan panel",
      "rotate": "Putar kamera",
      "imagePlaceholder": "https://example.com/image.jpg"
    },
    "theme": {
      "dark": "Gelap",
      "light": "Terang"
    },
    "align": {
      "left": "Kiri",
      "center": "Tengah",
      "right": "Kanan",
      "full": "Penuh"
    },
    "inset": {
      "topLeft": "Kiri atas",
      "topRight": "Kanan atas",
      "bottomLeft": "Kiri bawah",
      "bottomRight": "Kanan bawah"
    },
    "slide": {
      "blank": "Layar kosong",
      "black": "Layar hitam",
      "global": "Tampilan global",
      "startAdjacent": "Pratinjau bab pertama",
      "endAdjacent": "Tahan pada bab terakhir"
    },
    "loadSample": "Muat cerita contoh",
    "htmlFile": "HTML",
    "handout": {
      "button": "Handout (PDF)",
      "title": "Pembuat Handout PDF",
      "description": "Ekspor tampilan bab yang dipilih sebagai handout PDF multi-halaman.",
      "screens": "Layar ({{count}}/{{total}})",
      "selectAll": "Pilih semua",
      "selectNone": "Pilih tidak ada",
      "paperSize": "Ukuran kertas",
      "orientation": "Orientasi",
      "portrait": "Potret",
      "landscape": "Lanskap",
      "documentTitle": "Judul dokumen",
      "documentTitlePlaceholder": "Judul yang ditampilkan di atas setiap halaman",
      "subtitle": "Subjudul",
      "subtitlePlaceholder": "Subjudul yang ditampilkan di bawah judul pada setiap halaman",
      "byline": "Byline",
      "bylinePlaceholder": "Baris penulis atau kredit",
      "footerText": "Teks footer",
      "footerPlaceholder": "Footer yang ditampilkan di bawah setiap halaman",
      "startSlide": "Slide awal",
      "endSlide": "Slide penutup",
      "generate": "Buat PDF",
      "stop": "Hentikan",
      "cancelled": "Ekspor dibatalkan.",
      "progress": "Menangkap tampilan {{current}} dari {{total}}…",
      "pdfFile": "Dokumen PDF",
      "noMap": "Peta belum siap. Coba lagi sesaat lagi.",
      "noneSelected": "Pilih setidaknya satu layar untuk diekspor."
    },
    "opacityLabel": "Opasitas",
    "toggleNav": "Alihkan daftar bab",
    "chapterNav": "Bab cerita",
    "durationLabel": "Transisi (md)",
    "dragHint": "Seret untuk memindahkan (klik dua kali untuk atur ulang)",
    "resizeHint": "Seret untuk mengubah ukuran",
    "import": "Impor",
    "importJson": "Impor JSON…",
    "importCsv": "Impor CSV…",
    "exportData": "Ekspor",
    "exportJson": "Ekspor JSON",
    "exportCsv": "Ekspor CSV",
    "reset": "Atur ulang",
    "resetTitle": "Bersihkan cerita dan mulai ulang",
    "resetConfirm": "Bersihkan peta cerita ini? Semua bab dan pengaturan akan dihapus sehingga Anda dapat memulai cerita Anda sendiri."
  },
  "network": {
    "title": "Analisis jaringan",
    "description": "Isochrone, area layanan, dan matriks biaya asal–tujuan dari layer titik Anda.",
    "heading": "Jaringan",
    "run": "Jalankan",
    "outputPlaceholder": "Keluaran akan muncul di sini.",
    "endpointNotice": "Koordinat titik dikirim ke server perutean ({{endpoint}}). Default adalah server Valhalla publik bersama (FOSSGIS), yang dibatasi lajunya. Untuk penggunaan berat, masukkan URL server Anda sendiri di bidang \"Server perutean (Valhalla)\" di atas."
  },
  "statistics": {
    "title": "Statistik spasial",
    "description": "Autokorelasi spasial, analisis hotspot, dan ukuran kepadatan. Setiap alat berjalan di sisi klien pada layer GeoJSON Anda.",
    "heading": "Statistik Spasial",
    "run": "Jalankan",
    "requiredFieldLegend": "Menunjukkan bidang wajib",
    "outputPlaceholder": "Keluaran akan muncul di sini."
  },
  "processing": {
    "filePicker": {
      "filePath": "Jalur file",
      "chooseFile": "Pilih file",
      "chooseFilePlaceholder": "Pilih file",
      "chooseInputFile": "Pilih file masukan",
      "chooseOutputFile": "Pilih file keluaran"
    },
    "searchTools": "Cari alat",
    "refreshCatalog": "Segarkan katalog",
    "increaseValue": "Naikkan nilai",
    "decreaseValue": "Turunkan nilai",
    "distance": {
      "unitLabel": "Satuan jarak",
      "units": {
        "degrees": "Derajat",
        "meters": "Meter",
        "kilometers": "Kilometer",
        "feet": "Kaki",
        "miles": "Mil"
      },
      "north": "{{latitude}}°LU",
      "south": "{{latitude}}°LS",
      "equator": "khatulistiwa",
      "geographicNote": "Layer yang dipilih memakai CRS geografis (WGS84), sehingga jarak dinyatakan dalam derajat. Pilih satuan di samping bidang jarak untuk memasukkan meter, atau proyeksikan ulang ke CRS terproyeksi agar hasilnya tepat.",
      "converted": "Dikirim ke alat sebagai {{degrees}}°, dikonversi pada {{latitude}}. Panjang satu derajat berubah menurut lintang dan arah, jadi ini hanya perkiraan.",
      "convertedEmpty": "Nilai akan dikonversi ke derajat pada {{latitude}}. Panjang satu derajat berubah menurut lintang dan arah, jadi ini hanya perkiraan.",
      "notANumber": "Bukan angka, jadi nilainya diteruskan ke alat apa adanya tanpa dikonversi. Gunakan desimal biasa seperti 12000 atau 1.5."
    },
    "history": {
      "title": "Riwayat Pemrosesan",
      "description": "Setiap proses yang dijalankan dalam proyek ini, terbaru dahulu. Jalankan ulang alat, buka kembali dengan parameter yang sama, atau salin proses sebagai JSON atau Python.",
      "empty": "Belum ada proses yang tercatat. Jalankan alat dari menu Processing dan proses akan muncul di sini.",
      "rerun": "Jalankan ulang",
      "editRerun": "Edit & jalankan ulang",
      "copyJson": "Salin JSON",
      "copyPython": "Salin Python",
      "copied": "Disalin",
      "clear": "Hapus riwayat",
      "count_other": "{{count}} proses tercatat",
      "toolUnavailable": "Alat \"{{toolId}}\" tidak lagi tersedia"
    },
    "modelBuilder": {
      "moveStepUp": "Pindahkan langkah ke atas",
      "moveStepDown": "Pindahkan langkah ke bawah",
      "removeStep": "Hapus langkah",
      "title": "Batch & Model",
      "description": "Jalankan satu alat vektor pada banyak layer, atau rangkai beberapa alat menjadi model yang dapat digunakan ulang dan tersimpan bersama proyek Anda.",
      "tabBatch": "Batch",
      "tabModels": "Model",
      "outputPlaceholder": "Keluaran akan muncul di sini.",
      "tool": "Alat",
      "sharedParameters": "Parameter bersama",
      "noExtraParameters": "Alat ini tidak memiliki parameter tambahan.",
      "inputLayers": "Layer masukan",
      "selectAll": "Pilih semua",
      "clearSelection": "Bersihkan",
      "noCompatibleLayers": "Tidak ada layer GeoJSON yang kompatibel.",
      "newModel": "Model baru",
      "noSavedModels": "Belum ada model tersimpan.",
      "untitledModel": "Model tanpa judul",
      "modelName": "Nama model",
      "emptyPipelineHint": "Tambahkan langkah untuk mulai membangun pipeline. Langkah pertama membaca layer masukan; setiap langkah berikutnya menerima keluaran langkah sebelumnya.",
      "addStep": "Tambah langkah",
      "runModel": "Jalankan model",
      "deleteModel": "Hapus",
      "inputPreviousStep": "Masukan: ← keluaran langkah sebelumnya",
      "unknownTool": "Alat tidak dikenal \"{{id}}\"",
      "noParameters": "Tidak ada parameter."
    },
    "parameterField": {
      "selectLayer": "Pilih layer...",
      "selectField": "Pilih bidang...",
      "selectLayerFirst": "Pilih layer terlebih dahulu"
    },
    "whitebox": {
      "run": "Jalankan",
      "running": "Menjalankan…",
      "runLocal": "Jalankan lokal (WASM)",
      "runLocalHint": "Jalankan secara lokal di WebAssembly (tanpa sidecar Python)",
      "runningLocally": "Berjalan secara lokal dengan WebAssembly. Tidak memerlukan sidecar.",
      "copyLink": "Salin tautan",
      "copyLinkCopied": "Tersalin!",
      "copyLinkHint": "Salin tautan yang dapat dibagikan untuk membuka alat ini dengan pengaturan saat ini",
      "copyLinkFailed": "Tidak dapat menyalin tautan ke papan klip.",
      "catalogSnapshotError": "Tidak dapat memuat snapshot katalog Whitebox.",
      "localRunnerError": "Tidak dapat memuat runner alat lokal (WASM). Segarkan dan coba lagi, atau gunakan sidecar jika tersedia.",
      "output": {
        "geojson": "GeoJSON (tambahkan ke peta)",
        "geoparquet": "GeoParquet (unduh, mempertahankan CRS)",
        "flatgeobuf": "FlatGeobuf (unduh, mempertahankan CRS)",
        "shapefile": "Shapefile (unduh, mempertahankan CRS)",
        "projectedHint": "Tersimpan ke unduhan Anda dalam CRS target. Peta hanya menampilkan EPSG:4326, jadi hasil terproyeksi tidak ditambahkan sebagai layer."
      },
      "filterBySource": "Filter berdasarkan sumber",
      "allSources": "Semua sumber",
      "geolibreTools": "Alat GeoLibre",
      "whiteboxTools": "Alat Whitebox",
      "toolbox": "Kotak alat Whitebox",
      "checkingRuntime": "Memeriksa runtime.",
      "toolsAvailable_other": "{{count}} alat tersedia.",
      "runtimeUnavailable": "Runtime Whitebox tidak tersedia.",
      "useMapExtent": "Gunakan cakupan peta",
      "fromLayer": "Dari layer",
      "drawBbox": "Gambar di peta",
      "drawingBbox": "Menggambar…",
      "drawBboxHint": "Seret kotak di peta untuk menetapkan bounding box. Tekan Esc untuk membatalkan.",
      "mapExtentPlaceholder": "minX,minY,maxX,maxY",
      "mapExtentUnavailable": "Tampilan peta belum tersedia. Tunggu peta dimuat, lalu coba lagi.",
      "mapExtentInvalid": "Tampilan peta saat ini tidak dapat digunakan sebagai bounding box: tampilan membungkus meridian 180° atau melampaui batas bujur/lintang yang valid. Sesuaikan tampilan, lalu coba lagi.",
      "extentLabel": "Area yang diminati",
      "extentNorth": "Utara",
      "extentSouth": "Selatan",
      "extentWest": "Barat",
      "extentEast": "Timur",
      "extentHint": "Ambil kotak dari tampilan peta saat ini, atau seret satu kotak di peta, alih-alih mengetik setiap batas. Koordinat diisi sebagai WGS84 (EPSG:4326).",
      "noToolSelected": "Tidak ada alat yang dipilih",
      "optionDefault": "Bawaan",
      "optionPath": "Jalur",
      "selectedLayer": "Layer terpilih",
      "filePath": "Jalur berkas",
      "auto": "Otomatis",
      "chooseOutputPath": "Pilih jalur keluaran",
      "chooseInputPath": "Pilih jalur masukan",
      "categoryGeneral": "Umum",
      "categoryAll": "Semua ({{total}})",
      "errorLoadSnapshot": "Tidak dapat memuat snapshot katalog Whitebox.",
      "errorLoadLive": "Tidak dapat memuat katalog langsung.",
      "errorConnect": "Tidak dapat terhubung ke sidecar.",
      "errorPoll": "Tidak dapat memeriksa status pekerjaan.",
      "errorStartTool": "Tidak dapat menjalankan alat Whitebox.",
      "errorStartSidecar": "Tidak dapat menjalankan sidecar GeoLibre.",
      "errorStopSidecar": "Tidak dapat menghentikan sidecar GeoLibre.",
      "noToolsFound": "Tidak ada alat yang ditemukan.",
      "noParameters": "Alat ini tidak memiliki parameter.",
      "noOutput": "Belum ada keluaran.",
      "enabled": "Aktif",
      "requiredSuffix": " | wajib",
      "selectField": "Pilih bidang",
      "fieldName": "Nama bidang",
      "crs": {
        "browse": "Telusuri",
        "codePlaceholder": "Kode EPSG",
        "searchLabel": "Cari sistem referensi koordinat",
        "searchPlaceholder": "Cari berdasarkan nama atau kode EPSG",
        "geographic": "Geografis",
        "projected": "Terproyeksi",
        "noResults": "Tidak ada sistem koordinat yang cocok. Kode EPSG apa pun tetap dapat diketik."
      },
      "vectorUnitsNote": "Lapisan vektor dibaca sebagai WGS84, sehingga nilai jarak, spasi, dan toleransi dinyatakan dalam derajat, bukan meter. 1° kira-kira 111 km dan 0,001° kira-kira 111 m."
    },
    "sidecar": {
      "unavailableTitle": "Server pemrosesan tidak tersedia.",
      "showHelp": "Tampilkan artinya dan cara memperbaikinya",
      "hideHelp": "Sembunyikan detail",
      "intro": "Server pemrosesan adalah helper lokal opsional ({{sidecarUrl}}) yang menjalankan alat berbasis Python yang lebih berat di latar belakang, terpisah dari aplikasi. Sebagian besar alat Whitebox tidak memerlukannya: alat tersebut dapat berjalan sepenuhnya di browser Anda dengan WebAssembly.",
      "wasmTipTitle": "Jalankan tanpa server",
      "wasmTip": "Aktifkan \"Jalankan lokal (WASM)\" untuk menjalankan alat Whitebox di browser Anda. Tidak memerlukan server, instalasi, atau pengaturan.",
      "runLocallyButton": "Jalankan lokal (WASM)",
      "troubleshootingTitle": "Masih ingin menggunakan server?",
      "stepStartServerDesktop": "Klik \"Mulai server\" di panel daftar alat untuk meluncurkannya, lalu tunggu beberapa detik hingga aktif.",
      "stepStartServerBrowser": "Server hanya dapat dimulai dari aplikasi desktop GeoLibre. Di browser, biarkan \"Jalankan lokal (WASM)\" tetap aktif.",
      "stepCheckPort": "Pastikan firewall, antivirus, atau kebijakan jaringan tidak memblokir port lokal {{port}}.",
      "stepRestart": "Jika server berhenti secara tak terduga, mulai ulang aplikasi desktop GeoLibre dan buka kembali dialog ini."
    },
    "vectorTools": {
      "title": "Alat vektor",
      "description": "Jalankan operasi geometri vektor yang umum pada layer GeoJSON Anda.",
      "engine": "Mesin",
      "engineClient": "Klien (Turf.js)",
      "engineSidecar": "Sidecar (GeoPandas)",
      "enginePyodide": "Python (Pyodide)",
      "checkingSidecar": "Memeriksa ketersediaan sidecar...",
      "sidecarUnavailableClient": "Sidecar GeoPandas tidak tersedia. Jalankan sidecar dengan ekstra vector, atau beralih ke mesin klien.",
      "sidecarUnavailablePyodide": "Sidecar GeoPandas tidak tersedia. Jalankan sidecar dengan ekstra vector, atau beralih ke Python (Pyodide).",
      "pyodideNote": "Menjalankan GeoPandas di peramban Anda. Eksekusi pertama akan mengunduh runtime Python (sekali saja, memerlukan koneksi internet).",
      "run": "Jalankan",
      "outputPlaceholder": "Keluaran akan muncul di sini.",
      "resolutionRange": "Resolusi (0-{{max}})"
    }
  },
  "segmentation": {
    "title": "Segmentasi AI",
    "description": "Ubah citra menjadi fitur vektor dengan SAM3 (segment-geospatial). Pilih GeoTIFF, jelaskan apa yang ingin disegmentasi, dan dapatkan poligon kembali sebagai layer baru.",
    "startServer": "Mulai server",
    "downloadDesktop": "Unduh aplikasi desktop",
    "imageLabel": "Gambar (GeoTIFF)",
    "imagePlaceholder": "Pilih GeoTIFF…",
    "chooseImage": "Pilih gambar",
    "modeLabel": "Mode",
    "modeText": "Perintah teks",
    "modeAutomatic": "Otomatis (semuanya)",
    "promptLabel": "Perintah",
    "promptPlaceholder": "mis. pohon, bangunan, air",
    "confidenceLabel": "Ambang batas keyakinan",
    "segment": "Segmentasikan",
    "status": {
      "checking": "Memeriksa layanan segmentasi AI…",
      "unavailableDesktop": "Layanan segmentasi AI belum berjalan. Mulai server GeoLibre dengan segment-geospatial diaktifkan untuk menggunakannya.",
      "unavailableWeb": "Segmentasi AI tidak tersedia di browser. Gunakan aplikasi desktop GeoLibre untuk menjalankannya."
    },
    "error": {
      "chooseImage": "Pilih gambar (GeoTIFF) untuk disegmentasi.",
      "enterPrompt": "Masukkan perintah teks, mis. “pohon” atau “bangunan”.",
      "startServer": "Tidak dapat memulai sidecar GeoLibre.",
      "failed": "Segmentasi gagal."
    },
    "noObjects": "Tidak ditemukan objek.",
    "added": "Menambahkan {{count}} fitur sebagai “{{name}}”.",
    "layerName": "Segmentasi: {{prompt}}",
    "layerNameDefault": "Segmentasi",
    "sidecar": {
      "title": "Tidak dapat memulai server segmentasi AI.",
      "intro": "Segmentasi AI berjalan di server helper lokal ({{sidecarUrl}}) yang menjalankan model SAM3 dari segment-geospatial. Server ini menjalankan Python di latar belakang, terpisah dari aplikasi, dan bukan bagian dari build browser.",
      "troubleshootingTitle": "Cara menjalankan server",
      "stepInstall": "Pastikan server GeoLibre terpasang dengan backend segment-geospatial diaktifkan, sehingga model segmentasi tersedia.",
      "stepStartServerDesktop": "Klik \"Mulai server\" di atas untuk meluncurkannya, lalu tunggu beberapa detik hingga model aktif."
    }
  },
  "objectDetection": {
    "title": "Deteksi Objek",
    "description": "Jalankan model YOLO yang diekspor ke ONNX pada GeoTIFF, sepenuhnya di browser. Kotak yang terdeteksi diberi georeferensi dan setiap kelas ditambahkan sebagai layernya sendiri.",
    "hint": "Gunakan model COCO bawaan (diunduh dan disimpan dalam cache sekali) atau bawa ONNX YOLOv5/v8/v11 Anda sendiri. Deteksi berjalan secara lokal di browser. Model bawaan mendeteksi objek sehari-hari; untuk citra udara, sediakan model Anda sendiri yang dilatih dari udara.",
    "imageLabel": "Gambar (GeoTIFF)",
    "imagePlaceholder": "Pilih GeoTIFF…",
    "chooseImage": "Pilih gambar",
    "modelLabel": "Model",
    "modelSourceBuiltin": "Bawaan (unduh)",
    "modelSourceLocal": "File lokal",
    "builtinModelLabel": "Model bawaan",
    "modelFileLabel": "File model (ONNX)",
    "modelPlaceholder": "Pilih model .onnx…",
    "chooseModel": "Pilih model",
    "downloadingModel": "Mengunduh model…",
    "classNamesLabel": "Nama kelas (dipisahkan koma, opsional)",
    "classNamesPlaceholder": "mis. mobil, pohon, bangunan",
    "confidenceLabel": "Keyakinan",
    "iouLabel": "IoU (NMS)",
    "inputSizeLabel": "Ukuran input",
    "detect": "Deteksi",
    "noObjects": "Tidak ada objek terdeteksi. Coba turunkan ambang keyakinan.",
    "added": "Menambahkan {{count}} deteksi di {{classes}} kelas.",
    "layerName": "Deteksi: {{class}}",
    "error": {
      "chooseImage": "Pilih gambar (GeoTIFF) untuk menjalankan deteksi.",
      "photoLocation": "Foto ini tidak memiliki koordinat GPS yang dapat digunakan. Pilih foto yang bergeotag.",
      "chooseModel": "Pilih model YOLO yang diekspor ke ONNX (.onnx).",
      "downloadModel": "Tidak dapat mengunduh model. Periksa koneksi Anda dan coba lagi.",
      "failed": "Deteksi gagal."
    }
  },
  "segmentEverything": {
    "title": "Segmentasikan Semua",
    "description": "Jalankan SlimSAM secara otomatis pada GeoTIFF, sepenuhnya di browser. Setiap objek yang terdeteksi menjadi poligon berreferensi geografis yang ditambahkan sebagai satu layer.",
    "hint": "Grid titik disampel di seluruh gambar dan disegmentasi dengan SlimSAM (diunduh dan disimpan dalam cache sekali). Tanpa klik atau label — grid yang lebih rapat menemukan lebih banyak objek tetapi memakan waktu lebih lama.",
    "imageLabel": "Gambar (GeoTIFF)",
    "imagePlaceholder": "Pilih GeoTIFF…",
    "chooseImage": "Pilih gambar",
    "gridLabel": "Grid",
    "qualityLabel": "Kualitas",
    "minSizeLabel": "Ukuran min %",
    "run": "Segmentasikan",
    "downloadingModel": "Mengunduh model…",
    "progress": "Menyegmentasikan… {{done}}/{{total}}",
    "noObjects": "Tidak ada objek tersegmentasi. Coba grid yang lebih rapat atau ambang kualitas yang lebih rendah.",
    "added": "Menambahkan {{count}} segmen.",
    "layerName": "Segmen",
    "error": {
      "chooseImage": "Pilih gambar (GeoTIFF) untuk disegmentasi.",
      "downloadModel": "Tidak dapat mengunduh model. Periksa koneksi Anda dan coba lagi.",
      "failed": "Segmentasi gagal."
    }
  },
  "pluginPanel": {
    "expand": "Perluas panel",
    "collapse": "Ciutkan panel",
    "close": "Tutup panel",
    "resize": "Ubah ukuran panel",
    "moveLeft": "Pindahkan panel ke kiri",
    "moveRight": "Pindahkan panel ke kanan",
    "mergeIntoStyleRail": "Gabungkan ke rel Gaya",
    "mergeIntoLayersRail": "Gabungkan ke rel Layer",
    "detach": "Lepaskan sebagai panel yang dapat dipindahkan",
    "collapsedLabel": "{{title}} (diciutkan)"
  },
  "sharedRail": {
    "label": "Bilah sisi",
    "layers": "Layer",
    "style": "Gaya",
    "expand": "Perluas {{title}}",
    "collapse": "Ciutkan {{title}}"
  },
  "attributeTable": {
    "title": "Tabel atribut",
    "resize": "Ubah ukuran tabel atribut",
    "editValues": "Edit nilai atribut",
    "editTitleFinishGeometry": "Selesaikan pengeditan geometri untuk mengedit atribut",
    "editTitleReadOnly": "Pengeditan tidak tersedia untuk layer Tambahkan Layer Vektor",
    "editTitleUseSaveCancel": "Gunakan Simpan atau Batal untuk menyelesaikan pengeditan",
    "exitEditMode": "Keluar dari mode edit",
    "editTitleDuckdb": "Edit atribut kueri DuckDB yang ditampilkan dalam memori",
    "saveEdits": "Simpan pengeditan atribut",
    "saveTitleInvalid": "Perbaiki JSON tidak valid sebelum menyimpan",
    "saveTitleDuckdb": "Simpan pengeditan atribut DuckDB dalam memori",
    "addFieldTitle": "Tambah bidang baru",
    "addField": "Tambah bidang",
    "fieldCalculatorTitle": "Hitung nilai bidang dari ekspresi",
    "fieldCalculator": "Kalkulator bidang",
    "manageFieldsTitle": "Tampilkan atau sembunyikan bidang",
    "manageFields": "Kelola bidang",
    "columnExplorerTitle": "Jelajahi semua bidang sekaligus",
    "columnExplorerTitleDisabled": "Penjelajah kolom memerlukan layer vektor atau kueri DuckDB",
    "columnExplorer": "Penjelajah kolom",
    "statisticsTitle": "Ringkasan statistik bidang",
    "statisticsTitleDisabled": "Statistik memerlukan layer vektor atau kueri DuckDB",
    "statistics": "Statistik bidang",
    "chartsTitle": "Buat bagan bidang numerik",
    "chartsTitleDisabled": "Bagan memerlukan layer vektor atau kueri DuckDB",
    "charts": "Bagan",
    "dashboardTitle": "Buka dasbor untuk membuat widget bagan",
    "dashboard": "Dasbor",
    "exportSelectedLayer": "Ekspor layer yang dipilih",
    "exportTitleDisabled": "Ekspor memerlukan layer berbasis GeoJSON",
    "cancelEdits": "Batalkan pengeditan atribut",
    "searchPlaceholder": "Cari atribut...",
    "searchAria": "Cari atribut",
    "clearSelectedFeature": "Bersihkan fitur yang dipilih",
    "statusFeatures_other": "{{count}} fitur",
    "statusShown_other": "{{count}} ditampilkan",
    "statusSelected_other": "{{count}} dipilih",
    "featureViewAria": "Tampilan fitur",
    "showAllFeatures": "Tampilkan Semua Fitur",
    "showSelectedFeatures": "Tampilkan Terpilih ({{count}})",
    "expand": "Perluas tabel atribut",
    "collapse": "Ciutkan tabel atribut",
    "close": "Tutup tabel atribut",
    "newFieldPlaceholder": "mis. kategori",
    "defaultValuePlaceholder": "Biarkan kosong untuk kosong",
    "newFieldNamePlaceholder": "Nama bidang baru",
    "showFields": "Tampilkan bidang",
    "noFields": "Tidak ada bidang",
    "showAllFields": "Tampilkan semua bidang",
    "buttons": {
      "edit": "Edit",
      "calculate": "Hitung",
      "fields": "Bidang",
      "explore": "Jelajahi",
      "statistics": "Statistik",
      "export": "Ekspor"
    },
    "chart": {
      "field": "Bidang",
      "xAxis": "Sumbu X",
      "yAxis": "Sumbu Y",
      "category": "Kategori",
      "value": "Nilai",
      "title": "Grafik",
      "description": "Visualisasikan bidang di \"{{layer}}\".",
      "noChartableFields": "Layer ini tidak memiliki bidang numerik atau kategoris untuk digrafikkan.",
      "chartType": "Jenis grafik",
      "typeHistogram": "Histogram",
      "typeScatter": "Sebar",
      "typeBar": "Batang",
      "typeLine": "Garis",
      "typeBox": "Diagram kotak",
      "typePie": "Lingkaran",
      "bins": "Bin",
      "aggregate": "Agregat",
      "aggCount": "Jumlah",
      "aggSum": "Total",
      "aggAverage": "Rata-rata",
      "download": "Unduh",
      "downloadPng": "Gambar PNG",
      "downloadSvg": "Vektor SVG",
      "exportError": "Tidak dapat mengekspor grafik."
    },
    "selectedLayerName": "- {{name}}",
    "noLayerSelected": "- pilih layer dengan atribut",
    "zoomToSelection": "Zoom ke pilihan",
    "loadingAttributes": "Memuat atribut layer…",
    "requiresVectorLayer": "Tabel atribut memerlukan layer vektor atau kueri DuckDB.",
    "invalidJson": "JSON tidak valid",
    "editCellAria": "Edit {{col}} untuk fitur {{featureId}}",
    "resizeColumn": "Ubah ukuran kolom {{name}}",
    "renameFieldAria": "Ganti nama bidang {{name}}",
    "manageFieldTitle": "Kelola bidang \"{{name}}\"",
    "manageFieldAria": "Kelola bidang {{name}}",
    "renameField": "Ganti nama bidang",
    "hideField": "Sembunyikan bidang",
    "excludeField": "Kecualikan bidang saat ekspor",
    "includeField": "Sertakan bidang saat ekspor",
    "moveLeft": "Pindahkan ke kiri",
    "moveRight": "Pindahkan ke kanan",
    "deleteField": "Hapus bidang",
    "joinedColumnTitle": "Kolom gabungan, diturunkan dari tabel gabungan. Edit tabel atau definisi gabungan sebagai gantinya.",
    "virtualColumnTitle": "Bidang virtual, dihitung dari ekspresi. Edit definisinya di panel gaya layer sebagai gantinya.",
    "deleteFieldConfirm": "Ini menghapus bidang \"{{field}}\" secara permanen dari setiap fitur di \"{{layer}}\". Penataan gaya atau label yang mengacu padanya akan dihapus. Ini tidak dapat dibatalkan.",
    "addFieldDescription": "Tambahkan bidang baru ke setiap fitur di \"{{layer}}\".",
    "fieldName": "Nama bidang",
    "fieldExists": "Bidang bernama \"{{name}}\" sudah ada.",
    "fieldType": "Jenis",
    "typeText": "Teks",
    "typeNumber": "Angka",
    "typeBoolean": "Boolean",
    "defaultValue": "Nilai default",
    "noDefault": "(tanpa default)",
    "noFeaturesForField": "Layer ini tidak memiliki fitur untuk menambahkan bidang.",
    "calcDescription": "Hitung nilai dari ekspresi JavaScript dan tuliskan ke bidang di \"{{layer}}\".",
    "targetField": "Bidang target",
    "updateField": "Perbarui bidang",
    "createField": "Buat bidang",
    "outputType": "Jenis keluaran",
    "outputAuto": "Otomatis (pertahankan jenis terhitung)",
    "expression": "Ekspresi",
    "calcExpressionPlaceholder": "mis. pop / area, atau upper(name), atau pop > 100 ? \"big\" : \"small\"",
    "fieldsLabel": "Bidang:",
    "insertField": "Sisipkan {{name}}",
    "functionsLabel": "Fungsi:",
    "insertFunction": "Sisipkan {{name}}()",
    "geomMeasureLabel": "Geometri:",
    "geomMetric": {
      "length": "Panjang",
      "perimeter": "Keliling",
      "area": "Luas"
    },
    "geomInsert": "Sisipkan",
    "sampleRowErrored": "Baris sampel bermasalah (baris lain mungkin masih terhitung): {{message}}",
    "preview": "Pratinjau:",
    "onlySelectedFeature": "Hanya perbarui fitur yang dipilih",
    "evaluationFailed": "Evaluasi gagal.",
    "invalidExpression": "Ekspresi tidak valid.",
    "calcCouldNotApply": "Tidak dapat menerapkan perhitungan ke layer ini.",
    "calcAppliedWithErrors": "Diterapkan, tetapi {{errors}} dari {{evaluated}} fitur bermasalah dan ditulis sebagai null.",
    "exportFailed": "Tidak dapat mengekspor layer yang dipilih.",
    "saveTitleFormErrors": "Perbaiki pelanggaran formulir atribut sebelum menyimpan"
  },
  "styleManager": {
    "title": "Pengelola Gaya",
    "description": "Simpan, telusuri, dan terapkan gaya, simbol, preset label, dan gradasi warna yang dapat digunakan kembali di seluruh layer dan proyek.",
    "searchPlaceholder": "Cari gaya dan tag…",
    "presetsSection": "Preset bawaan",
    "librarySection": "Pustaka saya",
    "projectSection": "Proyek ini",
    "empty": "Tidak ada gaya tersimpan yang cocok. Simpan gaya layer atau impor pustaka untuk memulai.",
    "apply": "Terapkan",
    "delete": "Hapus",
    "saveCurrent": "Simpan gaya saat ini…",
    "nameLabel": "Nama",
    "kindLabel": "Apa yang disimpan",
    "kindStyle": "Gaya lengkap",
    "kindSymbol": "Hanya simbol",
    "kindLabels": "Hanya label",
    "kindRamp": "Hanya gradasi warna",
    "tagsLabel": "Tag",
    "tagsPlaceholder": "batas, peta dasar (dipisahkan koma)",
    "scopeLabel": "Simpan di",
    "scopeApp": "Pustaka saya (semua proyek)",
    "scopeProject": "Hanya proyek ini",
    "saveButton": "Simpan gaya",
    "cancel": "Batal",
    "import": "Impor…",
    "export": "Ekspor…",
    "importFilterName": "Pustaka gaya / QML / SLD",
    "exportFilterName": "Pustaka gaya GeoLibre",
    "applied": "Menerapkan \"{{name}}\" ke {{layer}}.",
    "appliedRampHint": "Menerapkan \"{{name}}\". Alihkan layer ke gaya bertingkat atau terkategori untuk melihat gradasi.",
    "saved": "Menyimpan \"{{name}}\" ke pustaka.",
    "deleted": "Menghapus \"{{name}}\".",
    "importedCount_other": "Mengimpor {{count}} gaya.",
    "importedEntryName": "Gaya yang diimpor",
    "importInvalid": "File tersebut bukan pustaka gaya, QML, atau SLD.",
    "importNoMatch": "Tidak ada simbologi yang dapat dibaca dari gaya tersebut.",
    "exportEmpty": "Tidak ada gaya tersimpan untuk diekspor.",
    "exportFailed": "Tidak dapat mengekspor pustaka gaya.",
    "exportSuccess": "Pustaka gaya diekspor.",
    "noLayer": "Pilih layer vektor untuk menyimpan atau menerapkan gaya."
  },
  "style": {
    "panelLabel": "Gaya layer",
    "panelLabelCollapsed": "Gaya layer (diciutkan)",
    "heading": "Gaya",
    "headingWithLayer": "Gaya - {{name}}",
    "resizePanel": "Ubah ukuran panel Gaya",
    "expand": "Perluas gaya",
    "collapse": "Ciutkan gaya",
    "openStyleManager": "Gaya tersimpan…",
    "addClass": "Tambah kelas",
    "removeClass": "Hapus kelas",
    "beforeIdSavedUnavailable": "Tersimpan (tidak tersedia)",
    "raster": {
      "greyscale": "Skala abu-abu",
      "greyscaleHint": "Alihkan peta dasar skala abu-abu (menurunkan saturasi ke minimum)",
      "reset": "Atur ulang",
      "resetHint": "Atur ulang penyesuaian ke nilai default",
      "exactValueHint": "Klik dua kali untuk memasukkan nilai yang tepat",
      "opacity": "Opasitas",
      "brightnessMin": "Kecerahan Min",
      "brightnessMax": "Kecerahan Maks",
      "saturation": "Saturasi",
      "contrast": "Kontras",
      "hueRotate": "Rotasi Rona",
      "footerDeck": "Perubahan berlaku langsung pada opasitas layer raster.",
      "footerMaplibre": "Perubahan berlaku langsung pada properti paint raster MapLibre.",
      "valueAria": "Nilai {{label}}",
      "editValueAria": "Edit nilai {{label}}"
    },
    "visibility": {
      "minZoom": "Zoom minimum",
      "maxZoom": "Zoom maksimum",
      "minZoomTooltip": "Tingkat zoom saat layer ini muncul. Angka lebih tinggi berarti lebih diperbesar.",
      "maxZoomTooltip": "Tingkat zoom saat layer ini menghilang. Angka lebih tinggi berarti lebih diperbesar."
    },
    "joins": {
      "heading": "Gabungan",
      "empty": "Tambahkan kolom dari layer atau tabel lain dengan mencocokkan bidang kunci. Kolom gabungan diperbarui saat tabel berubah dan tersimpan bersama proyek.",
      "addJoin": "Tambah gabungan",
      "joinLayer": "Layer gabungan",
      "selectLayer": "Pilih layer…",
      "joinField": "Bidang gabungan",
      "targetField": "Bidang target",
      "selectField": "Pilih bidang…",
      "fields": "Bidang yang digabungkan",
      "fieldCount_other": "{{count}} bidang",
      "prefix": "Awalan nama bidang",
      "prefixPlaceholder": "mis. census_",
      "add": "Tambah",
      "cancel": "Batal",
      "remove": "Hapus gabungan",
      "enabledTitle": "Terapkan gabungan ini",
      "missingLayer": "Layer gabungan tidak ditemukan",
      "noCandidates": "Tidak ada layer lain dengan tabel atribut untuk digabungkan",
      "statsMatched": "{{matched}} dari {{total}} fitur cocok",
      "statsUnmatchedJoin_other": "{{count}} baris tabel tanpa kecocokan"
    },
    "virtualFields": {
      "heading": "Bidang virtual",
      "empty": "Tambahkan kolom berbasis ekspresi yang dihitung ulang setiap kali data berubah. Bidang virtual tersimpan bersama proyek dan muncul di semua tempat bidang digunakan: tabel atribut, penataan gaya, label, dan seleksi.",
      "addField": "Tambah bidang virtual",
      "name": "Nama bidang",
      "namePlaceholder": "mis. density",
      "nameTaken": "Kolom dengan nama ini sudah ada",
      "nameConflict": "Tidak diterapkan: nama bertabrakan dengan kolom yang sudah ada",
      "expression": "Ekspresi",
      "expressionPlaceholder": "[\"/\", [\"get\", \"pop\"], [\"get\", \"area_km2\"]]",
      "expressionTarget": "Ekspresi bidang virtual",
      "openBuilder": "Buka pembangun",
      "invalidExpression": "Ekspresi tidak valid",
      "add": "Tambah",
      "save": "Simpan",
      "cancel": "Batal",
      "edit": "Edit bidang virtual",
      "remove": "Hapus bidang virtual",
      "enabledTitle": "Terapkan bidang virtual ini",
      "evaluationErrors_other": "{{count}} fitur gagal dievaluasi (sel null)"
    },
    "labels": {
      "heading": "Label",
      "show": "Tampilkan label",
      "field": "Bidang label",
      "noAttributes": "Tidak ditemukan atribut",
      "selectField": "Pilih bidang…",
      "placement": "Penempatan",
      "placementPoint": "Sentroid / titik",
      "placementLine": "Sepanjang garis / tepi poligon",
      "textSize": "Ukuran teks",
      "haloWidth": "Lebar halo",
      "textColor": "Warna teks",
      "haloColor": "Warna halo",
      "minZoom": "Zoom minimum",
      "maxZoom": "Zoom maksimum",
      "allowOverlap": "Izinkan label bertumpang tindih",
      "anchor": "Jangkar",
      "anchorCenter": "Tengah",
      "anchorLeft": "Kiri",
      "anchorRight": "Kanan",
      "anchorTop": "Atas",
      "anchorBottom": "Bawah",
      "anchorTopLeft": "Kiri atas",
      "anchorTopRight": "Kanan atas",
      "anchorBottomLeft": "Kiri bawah",
      "anchorBottomRight": "Kanan bawah",
      "offsetX": "Offset X (em)",
      "offsetY": "Offset Y (em)",
      "rotation": "Rotasi (°)",
      "maxWidth": "Lebar bungkus (em)",
      "transform": "Huruf besar/kecil",
      "transformNone": "Seperti dimasukkan",
      "transformUppercase": "HURUF BESAR",
      "transformLowercase": "huruf kecil",
      "dedupe": "Label duplikat",
      "dedupeOff": "Label setiap fitur",
      "dedupeUnique": "Satu label per lokasi",
      "dedupeConcatenate": "Gabungkan nilai di satu lokasi",
      "dedupeHint": "Menciutkan titik yang bertumpuk pada koordinat yang sama. Menggunakan bidang label pada layer titik lokal.",
      "expression": "Ekspresi (opsional)",
      "expressionHint": "Ekspresi MapLibre (JSON). Mengesampingkan bidang jika diisi.",
      "expressionInvalid": "Bukan ekspresi MapLibre yang valid (harus berupa array JSON). Nilai ini diabaikan.",
      "dataDefined": {
        "heading": "Penggantian berbasis data",
        "size": "Ukuran",
        "color": "Warna",
        "opacity": "Opasitas",
        "visibility": "Visibilitas",
        "priority": "Prioritas",
        "sizeTarget": "Ekspresi ukuran label",
        "colorTarget": "Ekspresi warna label",
        "opacityTarget": "Ekspresi opasitas label",
        "visibilityTarget": "Ekspresi visibilitas label",
        "priorityTarget": "Ekspresi prioritas label",
        "notSet": "Belum diatur",
        "clear": "Hapus ekspresi",
        "hint": "Ekspresi MapLibre per fitur. Ukuran, opasitas, dan prioritas menghasilkan angka (label dengan nilai prioritas lebih rendah ditempatkan lebih dulu), warna sebuah warna, visibilitas benar/salah. Diabaikan saat penggabungan label duplikat aktif. Ekspresi opasitas menggantikan opasitas lapisan untuk label."
      }
    },
    "elevation3d": {
      "mode": "3D (nilai Z)",
      "fillColor": "Warna isi",
      "outlineColor": "Warna garis tepi",
      "strokeWidth": "Lebar garis tepi",
      "strokeWidthMeters": "Lebar garis tepi (meter)",
      "fillOpacity": "Opasitas isi",
      "circleRadius": "Radius lingkaran",
      "verticalScale": "Eksagerasi vertikal",
      "verticalScaleTooltip": "Mengalikan nilai Z setiap koordinat. 1 merender ketinggian sebenarnya; nilai lebih besar menekankan relief.",
      "offset": "Offset ketinggian (m)",
      "offsetTooltip": "Tinggi konstan dalam meter yang ditambahkan ke setiap fitur, misalnya untuk mengangkat trek di atas bangunan atau medan 3D.",
      "footer": "Dirender dalam 3D pada nilai Z koordinat melalui deck.gl. Perubahan berlaku langsung. Identifikasi dan penyorotan fitur tidak tersedia dalam mode ini."
    },
    "diagrams": {
      "heading": "Diagram",
      "chartType": "Jenis grafik",
      "typeNone": "Tidak ada",
      "typePie": "Diagram lingkaran",
      "typeDonut": "Diagram donat",
      "typeBar": "Diagram batang",
      "typeStackedBar": "Diagram batang bertumpuk",
      "fields": "Atribut",
      "addField": "Tambah atribut",
      "removeField": "Hapus atribut",
      "noFields": "Tambahkan atribut numerik untuk digambarkan pada setiap fitur.",
      "fieldAttribute": "Atribut diagram {{index}}",
      "sizeMode": "Ukuran",
      "sizeFixed": "Ukuran tetap",
      "sizeSum": "Diskalakan menurut jumlah atribut",
      "sizeAttribute": "Diskalakan menurut atribut",
      "sizeField": "Atribut ukuran",
      "size": "Ukuran (px)",
      "minZoom": "Zoom minimum",
      "declutter": "Sembunyikan diagram yang tumpang tindih",
      "truncated": "Diagram hanya digambar untuk {{count}} fitur; sisanya tidak digambarkan.",
      "atlasFull": "{{count}} diagram tidak muat pada ukuran ini dan disembunyikan. Kecilkan ukuran diagram."
    },
    "symbology": {
      "colormap": "Peta warna",
      "modeSingle": "Simbologi tunggal",
      "modeGraduated": "Bertingkat",
      "modeCategorized": "Berkategori",
      "modeRuleBased": "Berbasis aturan",
      "modeExpression": "Ekspresi lanjutan",
      "rules": "Aturan",
      "addRule": "Tambah aturan",
      "removeRule": "Hapus aturan",
      "noRulesPrefix": "Belum ada aturan. Tambahkan aturan dan beri ekspresi filter MapLibre (mis. ",
      "noRulesSuffix": "). Aturan pertama yang cocok yang menang; aturan Else mewarnai semua yang lain.",
      "ruleColor": "Warna aturan {{index}}",
      "ruleColorPick": "Pilih warna aturan {{index}} dari layar",
      "ruleLabel": "Label aturan {{index}}",
      "ruleFilter": "Filter aturan {{index}}",
      "ruleEnabled": "Aktifkan aturan {{index}}",
      "ruleAddChild": "Tambah sub-aturan",
      "ruleOptions": "Simbol dan visibilitas",
      "ruleMinZoom": "Zoom minimum",
      "ruleMaxZoom": "Zoom maksimum",
      "ruleZoomInvalid": "Zoom minimum harus lebih kecil dari zoom maksimum - aturan ini tidak pernah berlaku selama rentangnya kosong.",
      "ruleStrokeWidth": "Lebar garis",
      "ruleFillOpacity": "Opasitas isian",
      "ruleCircleSize": "Radius lingkaran",
      "ruleOutlineColor": "Timpa warna garis luar",
      "ruleOutlineColorPick": "Pilih warna garis luar aturan {{index}} dari layar",
      "ruleInherit": "Diwarisi",
      "ruleGroupNote": "Aturan ini memiliki sub-aturan: aturan ini mempersempit apa yang dicocokkan sub-aturannya dan tidak menggambar apa pun sendiri.",
      "labelPlaceholder": "Label (opsional)",
      "filterInvalid": "Filter tidak valid — harus berupa ekspresi array JSON. Aturan ini dilewati hingga diperbaiki.",
      "elseRuleColor": "Warna aturan else",
      "elseRuleColorPick": "Pilih warna aturan else dari layar",
      "elseRuleEnabled": "Aktifkan aturan lainnya (jika nonaktif, fitur yang tidak cocok dengan aturan mana pun disembunyikan)",
      "elseAllOtherFeatures": "Else (semua fitur lainnya)",
      "applyHint": "Klik Terapkan untuk mengaktifkan rendering berbasis aturan.",
      "rulesApplyLive": "Perubahan aturan langsung diterapkan ke peta — tidak perlu langkah penerapan terpisah.",
      "proportionalSize": "Ukuran proporsional",
      "sizeByValue": "Ukuran berdasarkan nilai",
      "sizeField": "Bidang ukuran",
      "chooseField": "Pilih bidang…",
      "minValue": "Nilai minimum",
      "maxValue": "Nilai maksimum",
      "minSize": "Ukuran minimum (px)",
      "maxSize": "Ukuran maksimum (px)",
      "sizeLegend": "Legenda ukuran",
      "fillPattern": "Pola isi",
      "patternColor": "Warna pola",
      "patternSvg": "SVG pola",
      "svgPlaceholder": "<svg xmlns='http://www.w3.org/2000/svg' ...>…</svg> atau URL data/https",
      "marker": "Penanda",
      "useMarkerIcon": "Gunakan ikon penanda",
      "markerShape": "Bentuk penanda",
      "markerColor": "Warna penanda",
      "markerSize": "Ukuran penanda (px)",
      "markerSvg": "SVG penanda",
      "markerShapes": {
        "circle": "Lingkaran",
        "square": "Persegi",
        "triangle": "Segitiga",
        "diamond": "Belah ketupat",
        "star": "Bintang",
        "cross": "Silang",
        "pin": "Pin",
        "custom": "SVG kustom"
      },
      "fillPatterns": {
        "none": "Tidak ada (isi solid)",
        "hatch": "Arsiran",
        "crossHatch": "Arsiran silang",
        "horizontal": "Garis horizontal",
        "vertical": "Garis vertikal",
        "dots": "Titik-titik",
        "svg": "SVG kustom"
      },
      "transparent": "Transparan",
      "transparentSwatch": "Tanpa warna (transparan). Klik untuk memilih warna.",
      "styleType": "Jenis gaya",
      "attribute": "Atribut",
      "classes": "Kelas",
      "allClasses": "Semua ({{total}})",
      "scheme": "Skema",
      "stops": "Titik henti",
      "categories": "Kategori",
      "classColor": "Warna kelas {{index}}",
      "classColorPick": "Pilih warna kelas {{index}} dari layar",
      "classValue": "Nilai kelas {{index}}",
      "colorExpression": "Ekspresi warna",
      "applyStyleType": "Terapkan jenis gaya",
      "pointRenderer": "Perender titik",
      "pointRendererSingle": "Simbol tunggal",
      "pointRendererHeatmap": "Peta panas",
      "pointRendererClustered": "Berkluster",
      "heatmapRadius": "Radius peta panas",
      "heatmapIntensity": "Intensitas peta panas",
      "clusterRadius": "Radius kluster (px)",
      "clusterMaxZoom": "Zoom maksimum kluster",
      "strokeWidthUnit": "Satuan lebar garis tepi",
      "strokeWidthUnitPixels": "Piksel (konstan di layar)",
      "strokeWidthUnitMeters": "Meter (menyesuaikan dengan peta)",
      "textHaloColor": "Warna halo teks",
      "textHaloWidth": "Lebar halo teks",
      "schemeEqualInterval": "Interval sama",
      "schemeQuantile": "Kuantil",
      "schemeNaturalBreaks": "Jenjang alami",
      "schemeTopValues": "Paling sering",
      "schemeAlphabetical": "Abjad",
      "schemeFirstValues": "Nilai pertama",
      "errorChooseAttribute": "Pilih atribut untuk mode gaya ini.",
      "errorAttributesUnavailable": "Tidak dapat memuat nilai atribut layer ini.",
      "errorProportionalSizeField": "Bidang ukuran harus numerik dan memiliki lebih dari satu nilai berbeda.",
      "errorGraduatedStops": "Gaya bertingkat memerlukan setidaknya dua titik henti numerik.",
      "errorCategorizedStops": "Gaya berkategori memerlukan setidaknya satu kategori.",
      "invertedFill": "Isian terbalik",
      "invertedFillHint": "Isi di luar fitur"
    },
    "suggestions": {
      "title": "Saran gaya",
      "dismiss": "Tutup saran",
      "categorize": "Kategorikan menurut {{field}}",
      "graduate": "Gradasikan menurut {{field}}",
      "heatmap": "Peta panas"
    },
    "selectLayerHint": "Pilih layer untuk mengedit gayanya.",
    "layerOrderDefault": "Urutan layer (default)",
    "increaseValue": "Naikkan {{label}}",
    "decreaseValue": "Turunkan {{label}}",
    "visualization": "Visualisasi",
    "mode2d": "2D",
    "mode3dExtrusion": "Ekstrusi 3D",
    "noControls": "Kontrol gaya belum tersedia untuk jenis layer ini.",
    "selectedLayerType": "Jenis layer yang dipilih: {{type}}",
    "footerDeck": "Perubahan berlaku langsung pada penataan gaya layer deck.gl DuckDB.",
    "footerMaplibre": "Perubahan berlaku langsung pada properti paint MapLibre.",
    "pluginPaintedFooter": "Layer ini digambar oleh pluginnya, yang menyediakan kontrol gaya tersendiri.",
    "extrusion": {
      "color": "Warna ekstrusi",
      "opacity": "Opasitas ekstrusi",
      "advanced": "Ekspresi tinggi lanjutan",
      "heightExpression": "Ekspresi tinggi",
      "heightProperty": "Properti tinggi",
      "heightScale": "Skala tinggi",
      "base": "Tinggi dasar",
      "apply": "Terapkan ekstrusi 3D",
      "footer": "Pengaturan ekstrusi 3D berlaku saat disimpan."
    },
    "expressionLabels": {
      "style": "Ekspresi gaya",
      "color": "Ekspresi warna",
      "height": "Ekspresi tinggi"
    },
    "expressionErrors": {
      "notArray": "{{label}} harus berupa ekspresi array JSON.",
      "notOperator": "{{label}} harus dimulai dengan operator, mis. [\"==\", [\"get\", \"field\"], value].",
      "notJson": "{{label}} bukan JSON yang valid: {{message}}"
    },
    "expressionBuilder": {
      "title": "Pembuat Ekspresi",
      "openBuilder": "Buka pembuat ekspresi",
      "openBuilderForRule": "Buka pembuat ekspresi untuk aturan {{index}}",
      "expressionLabel": "Ekspresi",
      "clear": "Hapus ekspresi",
      "valid": "Ekspresi valid.",
      "apply": "Terapkan",
      "preview": "Pratinjau",
      "previewEmpty": "Masukkan ekspresi untuk melihat pratinjau langsung.",
      "previewNoFeatures": "Tidak ada fitur untuk dipratinjau.",
      "sampleFeature": "Fitur {{index}} dari {{count}}",
      "previousFeature": "Fitur sebelumnya",
      "nextFeature": "Fitur berikutnya",
      "filterMatches": "Cocok dengan fitur ini",
      "filterNoMatch": "Tidak cocok dengan fitur ini",
      "fields": "Bidang",
      "noFields": "Layer ini tidak memiliki bidang atribut.",
      "insertField": "Sisipkan bidang {{name}}",
      "functionsHeading": "Fungsi",
      "functionSearch": "Cari fungsi",
      "noFunctionMatches": "Tidak ada fungsi yang cocok dengan pencarian.",
      "variables": "Variabel",
      "variablesHint": "Variabel diganti dengan nilai saat ini ketika ekspresi diterapkan.",
      "categories": {
        "data": "Data & pencarian",
        "decision": "Kondisional & perbandingan",
        "math": "Matematika",
        "string": "String",
        "conversion": "Konversi tipe",
        "camera": "Zoom & warna"
      },
      "functions": {
        "get": "Mengembalikan nilai atribut fitur yang disebutkan.",
        "has": "Benar ketika fitur memiliki atribut yang disebutkan.",
        "id": "Mengembalikan id fitur.",
        "properties": "Mengembalikan objek atribut lengkap fitur.",
        "geometryType": "Mengembalikan tipe geometri fitur (Point, LineString, Polygon, ...).",
        "at": "Mengembalikan elemen array pada indeks yang diberikan.",
        "in": "Benar ketika nilai pertama terdapat dalam nilai kedua (string atau array).",
        "indexOf": "Mengembalikan posisi nilai pertama dalam nilai kedua, atau -1.",
        "length": "Mengembalikan panjang string atau array.",
        "literal": "Menyematkan array atau objek literal dalam ekspresi.",
        "typeofOp": "Mengembalikan nama tipe dari nilai.",
        "caseOp": "Mengembalikan keluaran pertama yang kondisinya benar, jika tidak nilai cadangan.",
        "match": "Membandingkan input dengan nilai yang terdaftar dan mengembalikan keluaran yang cocok.",
        "coalesce": "Mengembalikan nilai bukan-null pertama.",
        "eq": "Benar ketika kedua nilai sama.",
        "neq": "Benar ketika nilai berbeda.",
        "gt": "Benar ketika nilai pertama lebih besar dari nilai kedua.",
        "gte": "Benar ketika nilai pertama lebih besar dari atau sama dengan nilai kedua.",
        "lt": "Benar ketika nilai pertama lebih kecil dari nilai kedua.",
        "lte": "Benar ketika nilai pertama lebih kecil dari atau sama dengan nilai kedua.",
        "all": "Benar ketika setiap kondisi benar.",
        "any": "Benar ketika setidaknya satu kondisi benar.",
        "not": "Menegasikan nilai boolean.",
        "add": "Menjumlahkan angka.",
        "subtract": "Mengurangi angka pertama dengan angka kedua.",
        "multiply": "Mengalikan angka.",
        "divide": "Membagi angka pertama dengan angka kedua.",
        "modulo": "Mengembalikan sisa pembagian.",
        "power": "Memangkatkan angka pertama dengan angka kedua.",
        "abs": "Mengembalikan nilai absolut.",
        "ceil": "Membulatkan ke atas ke bilangan bulat terdekat.",
        "floor": "Membulatkan ke bawah ke bilangan bulat terdekat.",
        "round": "Membulatkan ke bilangan bulat terdekat.",
        "sqrt": "Mengembalikan akar kuadrat.",
        "ln": "Mengembalikan logaritma natural.",
        "log10": "Mengembalikan logaritma basis-10.",
        "min": "Mengembalikan nilai terkecil.",
        "max": "Mengembalikan nilai terbesar.",
        "concat": "Menggabungkan nilai menjadi satu string.",
        "upcase": "Mengubah string menjadi huruf besar.",
        "downcase": "Mengubah string menjadi huruf kecil.",
        "slice": "Mengembalikan bagian dari string atau array.",
        "toNumber": "Mengubah nilai menjadi angka.",
        "toString": "Mengubah nilai menjadi string.",
        "toBoolean": "Mengubah nilai menjadi true atau false.",
        "toColor": "Mengubah nilai menjadi warna.",
        "zoom": "Tingkat zoom peta saat ini (dievaluasi langsung oleh peta).",
        "interpolate": "Memadukan secara halus antar keluaran saat input berubah.",
        "step": "Mengembalikan keluaran bertahap pada ambang input yang diberikan.",
        "rgb": "Membangun warna dari merah, hijau, dan biru (0-255).",
        "rgba": "Membangun warna dari merah, hijau, biru, dan alfa."
      }
    },
    "decorations": {
      "heading": "Dekorasi garis",
      "typeNone": "Tidak ada",
      "typeArrow": "Panah",
      "typeTriangle": "Segitiga",
      "typeCircle": "Lingkaran",
      "typeSquare": "Persegi",
      "color": "Warna dekorasi",
      "size": "Ukuran simbol (px)",
      "spacing": "Jarak (px)"
    },
    "generator": {
      "heading": "Generator geometri",
      "type": "Geometri turunan",
      "typeNone": "Tidak ada",
      "typeCentroid": "Sentroid",
      "typeBoundingBox": "Kotak pembatas",
      "typeConvexHull": "Cangkang cembung",
      "typeBuffer": "Buffer",
      "bufferDistance": "Jarak buffer (m)",
      "fillColor": "Warna isian",
      "strokeColor": "Warna garis luar",
      "strokeWidth": "Lebar garis luar (px)",
      "opacity": "Opasitas isian",
      "circleRadius": "Radius titik (px)"
    },
    "attributeForm": {
      "heading": "Formulir Atribut",
      "empty": "Belum ada bidang yang dikonfigurasi. Tetapkan widget penyuntingan, batasan, atau aturan visibilitas ke sebuah bidang.",
      "configureField": "Konfigurasikan bidang",
      "field": "Bidang",
      "selectField": "Pilih bidang…",
      "widgetLabel": "Widget penyuntingan",
      "widget": {
        "text": "Teks",
        "number": "Angka",
        "range": "Rentang",
        "checkbox": "Kotak centang",
        "date": "Tanggal",
        "valueMap": "Peta nilai"
      },
      "alias": "Alias",
      "required": "Wajib",
      "requiredTag": "wajib",
      "constraintTag": "batasan",
      "visibilityTag": "visibilitas",
      "valueMap": "Entri peta nilai",
      "valueMapPlaceholder": "residential=Residential\ncommercial=Commercial",
      "valueMapHint": "Satu entri per baris: nilai atau nilai=Label.",
      "min": "Min",
      "max": "Maks",
      "step": "Langkah",
      "constraintExpression": "Ekspresi batasan",
      "constraintPlaceholder": "[\">\", [\"get\", \"population\"], 0]",
      "constraintDescription": "Deskripsi batasan",
      "constraintDescriptionPlaceholder": "Ditampilkan saat batasan gagal",
      "visibilityExpression": "Ekspresi visibilitas",
      "visibilityPlaceholder": "[\"==\", [\"get\", \"type\"], \"school\"]",
      "invalidExpression": "Ekspresi tidak valid",
      "openBuilder": "Buka pembuat ekspresi",
      "edit": "Edit konfigurasi bidang",
      "remove": "Hapus konfigurasi bidang",
      "cancel": "Batal",
      "save": "Simpan",
      "noFields": "Lapisan tidak memiliki bidang atribut untuk dikonfigurasi.",
      "minMaxInvalid": "Min harus kurang dari atau sama dengan Maks."
    }
  },
  "layers": {
    "panelCollapsedLabel": "Layer (diciutkan)",
    "expand": "Perluas layer",
    "collapse": "Ciutkan layer",
    "resizePanel": "Ubah ukuran panel Layer",
    "dragToReorder": "Seret untuk mengurutkan ulang",
    "saveGeometryEdits": "Simpan pengeditan geometri",
    "discardGeometryEdits": "Buang pengeditan geometri",
    "moveUp": "Pindahkan ke atas",
    "moveDown": "Pindahkan ke bawah",
    "zoomToLayer": "Zoom ke layer",
    "layerActions": "Aksi layer",
    "metadata": "Metadata",
    "removeLayer": "Hapus layer",
    "identifyFeatures": "Identifikasi fitur",
    "identifyDeactivate": "Nonaktifkan identifikasi",
    "identifyInspectPixels": "Periksa nilai piksel",
    "identifyStopInspectPixels": "Berhenti memeriksa nilai piksel",
    "identifyUnavailable": "Identifikasi hanya tersedia untuk layer vektor, WMS, dan COG",
    "exportGeoTiff": "GeoTIFF (COG)",
    "extractSubset": "Ekstrak subset…",
    "stylesMenu": "Gaya",
    "exportMapboxStyle": "Ekspor sebagai gaya Mapbox GL",
    "exportSldStyle": "Ekspor sebagai OGC SLD",
    "exportQmlStyle": "Ekspor sebagai QGIS QML",
    "exportStyleSuccess": "Gaya berhasil diekspor.",
    "exportStyleDataNotReady": "Data layer belum siap. Coba lagi sesaat lagi.",
    "exportStyleNeedsFeatures": "Ekspor gaya memerlukan layer vektor dengan fitur.",
    "exportStyleError": "Tidak dapat mengekspor gaya layer ini.",
    "importStyle": "Impor gaya (Mapbox GL / SLD / QML)…",
    "openStyleManager": "Gaya tersimpan (Pengelola Gaya)…",
    "importStyleSuccess": "Gaya berhasil diimpor.",
    "importStyleInvalid": "File tersebut bukan JSON, SLD, atau QML yang valid.",
    "importStyleNoMatch": "Tidak ada simbologi yang dapat dibaca dari gaya tersebut.",
    "importStyleError": "Tidak dapat mengimpor gaya ini.",
    "copyStyle": "Salin gaya",
    "pasteStyle": "Tempel gaya",
    "pasteStyleFrom": "Tempel gaya dari \"{{name}}\"",
    "pasteStyleEmpty": "Salin gaya sebuah layer terlebih dahulu",
    "pasteStyleMismatch": "Gaya yang disalin untuk jenis layer yang berbeda",
    "styleCopied": "Gaya disalin dari \"{{name}}\".",
    "stylePasted": "Gaya ditempel dari \"{{name}}\".",
    "saveToLibrary": "Simpan ke Data Saya",
    "savedToLibrary": "\"{{name}}\" disimpan ke Data Saya.",
    "saveToLibraryNoSource": "Layer ini tidak memiliki sumber yang dapat ditambahkan kembali, sehingga tidak dapat disimpan ke Data Saya.",
    "saveToLibraryTooLarge": "Fitur pada layer ini adalah satu-satunya salinan dan terlalu besar untuk disimpan ke Data Saya.",
    "saveToLibraryConfigTooLarge": "Konfigurasi tersimpan layer ini terlalu besar untuk Data Saya.",
    "bindToTimeSlider": "Ikat ke Penggeser Waktu…",
    "bindTimeDimensionToTimeSlider": "Ikat dimensi waktu ke Penggeser Waktu",
    "bindNoTimeDimension": "Lapisan ini tidak memiliki dimensi waktu yang dapat dibaca.",
    "unbindFromTimeSlider": "Lepas dari Penggeser Waktu",
    "bindDialogDescription": "Filter fitur layer ini berdasarkan properti tanggal atau timestamp saat Anda menggeser linimasa. Layer mempertahankan gaya dan opasitasnya.",
    "bindScanning": "Memindai fitur untuk properti tanggal dan timestamp…",
    "bindNoProperty": "Tidak ditemukan properti tanggal atau timestamp dalam layer ini.",
    "bindNoTimestamps": "Properti yang dipilih tidak memiliki timestamp yang dapat dibaca. Pilih properti lain.",
    "bindTileNoFeatures": "Belum ada ubin yang dimuat untuk layer ini. Zoom ke layer, lalu coba lagi.",
    "bindRange": "Rentang waktu",
    "bindRangeEnd": "Akhir rentang waktu",
    "bindRangeHint": "Diambil dari ubin yang telah dimuat sejauh ini, sehingga mungkin lebih sempit daripada dataset lengkap. Masukkan tahun (1958) atau tanggal (1958-03-01).",
    "bindRangeInvalid": "Masukkan kedua batas sebagai tahun (1958) atau tanggal (1958-03-01).",
    "bindProperty": "Properti waktu",
    "bindWindow": "Tampilkan fitur",
    "bindWindowStep": "Dalam langkah saat ini",
    "bindWindowWide": "Dalam satu langkah sebelum dan sesudah",
    "bindWindowWider": "Dalam tiga langkah sebelum dan sesudah",
    "bindWindowCumulative": "Semuanya hingga langkah saat ini (kumulatif)",
    "bindCancel": "Batal",
    "bindConfirm": "Ikat",
    "openRasterStylePanel": "Edit gaya raster…",
    "exportRasterSuccess": "Raster berhasil diekspor.",
    "exportRasterError": "Tidak dapat mengekspor raster ini.",
    "saveEditsToSource": "Simpan pengeditan ke file sumber",
    "saveEditsSuccess": "Menyimpan {{count}} fitur ke file sumber.",
    "saveEditsNoFeatures": "Layer ini tidak memiliki fitur untuk disimpan.",
    "saveEditsError": "Tidak dapat menyimpan pengeditan ke file sumber.",
    "saveEditsToPostgis": "Simpan perubahan ke tabel PostGIS",
    "saveEditsPostgisSuccess": "Tersimpan ke {{table}}: {{inserted}} ditambahkan, {{updated}} diperbarui, {{deleted}} dihapus.",
    "saveEditsPostgisSkippedFields": "Bidang tanpa kolom tabel yang cocok tidak disimpan: {{fields}}.",
    "saveEditsPostgisRefreshWarning": "Perubahan tersimpan ke tabel, tetapi menyegarkan layer gagal. Muat ulang layer sebelum menyimpan lagi, atau fitur baru mungkin dimasukkan dua kali.",
    "saveEditsPostgisNoConnection": "Tidak ada koneksi PostgreSQL yang tersedia untuk layer ini. Hubungkan kembali di Tambah Data > PostgreSQL, lalu coba lagi.",
    "typeBasemap": "peta dasar",
    "searchPlaces": "Cari tempat",
    "searchPlacesPlaceholder": "Cari tempat, koordinat, atau sel H3...",
    "searchPlacesSearching": "Mencari...",
    "searchPlacesNoResults": "Tidak ada tempat yang ditemukan",
    "searchPlacesError": "Pencarian gagal. Coba lagi.",
    "searchPlacesClear": "Bersihkan pencarian",
    "searchPlacesGoToCoordinate": "Menuju {{coordinate}}",
    "searchPlacesGoToH3Cell": "Menuju sel H3 {{cell}} (res {{resolution}})",
    "background": "Latar belakang",
    "backgroundCannotReorder": "Latar belakang tidak dapat diurutkan ulang",
    "hideBackground": "Sembunyikan latar belakang",
    "showBackground": "Tampilkan latar belakang",
    "opacity": "Opasitas",
    "opacityExactHint": "Klik dua kali untuk memasukkan nilai yang tepat",
    "opacityFor": "Opasitas untuk {{name}}",
    "opacityValueInputAria": "Nilai {{label}}",
    "opacityValueEditAria": "Edit nilai {{label}}",
    "basemapOpacity": "Opasitas peta dasar",
    "newGroup": "Grup baru",
    "basemaps": "Peta dasar",
    "geoEditor": "GeoEditor",
    "collapseGroup": "Ciutkan grup",
    "expandGroup": "Perluas grup",
    "hideGroup": "Sembunyikan grup",
    "showGroup": "Tampilkan grup",
    "renameGroup": "Ganti nama grup",
    "moveGroupUp": "Pindahkan grup ke atas",
    "moveGroupDown": "Pindahkan grup ke bawah",
    "ungroupKeepLayers": "Bubarkan grup (pertahankan layer)",
    "deleteGroupAndLayers": "Hapus grup dan layer",
    "groupActions": "Aksi grup",
    "addDataToGroup": "Tambahkan data ke grup",
    "groupOpacity": "Opasitas",
    "groupOpacityAria": "Opasitas grup {{name}}",
    "doubleClickToRename": "Klik dua kali untuk mengganti nama",
    "doubleClickToChangeBasemap": "Klik dua kali untuk mengganti peta dasar",
    "renameNamed": "Ganti nama {{name}}",
    "newGroupFromLayer": "Grup baru dari layer",
    "newGroupFromSelectedLayers": "Grup baru dari layer terpilih",
    "moveToGroup": "Pindahkan ke grup",
    "moveSelectedToGroup": "Pindahkan layer terpilih ke grup",
    "removeFromGroup": "Hapus dari grup",
    "hiddenByGroup": "Tersembunyi karena grupnya tidak terlihat",
    "empty": "Tidak ada layer data. Tambahkan data dari bilah alat.",
    "emptyBeginner": "Belum ada layer. Tambahkan peta dasar melalui Plugin → Basemaps, atau data Anda sendiri melalui menu Tambah Data.",
    "hideAllLayers": "Sembunyikan semua layer",
    "showAllLayers": "Tampilkan semua layer",
    "dragNamedToReorder": "Seret {{name}} untuk mengurutkan ulang",
    "hideLayer": "Sembunyikan layer",
    "showLayer": "Tampilkan layer",
    "editingGeometry": "Mengedit geometri",
    "rename": "Ganti nama",
    "materializeToEditable": "Materialisasi ke layer yang dapat diedit",
    "finishEditingGeometry": "Selesaikan pengeditan geometri",
    "editGeometry": "Edit geometri",
    "openAttributeTable": "Buka tabel atribut",
    "openRasterAttributeTable": "Buka tabel atribut raster",
    "export": "Ekspor",
    "refresh": "Segarkan",
    "autoRefreshOn": "Segarkan otomatis aktif",
    "lastSynced": "Terakhir disinkronkan {{time}}",
    "syncErrorStatus": "Sinkronisasi gagal: {{message}}",
    "autoRefresh": "Segarkan otomatis",
    "refreshWfsGeojsonOnly": "Hanya URL WFS dan GeoJSON",
    "editSqlQuery": "Edit kueri di SQL Workspace",
    "reloadFromDisk": "Muat ulang dari disk",
    "watchFile": "Pantau perubahan file",
    "watchError": "Tidak dapat memantau perubahan file ini.",
    "autoRefreshDialogTitle": "Segarkan Otomatis {{name}}",
    "layerFallback": "Layer",
    "autoRefreshDialogDescription": "Muat ulang layer ini dari sumbernya pada interval tetap.",
    "interval": "Interval",
    "custom": "Kustom",
    "customIntervalSeconds": "Interval kustom (detik)",
    "refreshFailurePolicy": "Jika penyegaran gagal",
    "refreshFailureKeepLast": "Pertahankan data terakhir yang berhasil",
    "refreshFailureClear": "Kosongkan layer",
    "apply": "Terapkan",
    "enterPositiveSeconds": "Masukkan jumlah detik yang positif.",
    "metadataDialogTitle": "Metadata {{name}}",
    "metadataDialogDescription": "Metadata layer dan informasi sumber",
    "metadataRasterLoading": "Membaca metadata raster…",
    "metadataRasterError": "Tidak dapat membaca metadata raster ini.",
    "resizeMetadataDialog": "Ubah ukuran dialog metadata",
    "removeLayerConfirmTitle": "Hapus layer?",
    "removeLayerConfirmBody": "Ini menghapus {{name}} dari proyek dan peta.",
    "thisLayerFallback": "layer ini",
    "refreshingAuto": "Menyegarkan otomatis...",
    "refreshing": "Menyegarkan...",
    "refreshVectorControlError": "Tidak dapat menyegarkan layer ini. Coba buka kembali panel Tambahkan Layer Vektor.",
    "refreshed": "Disegarkan.",
    "refreshedCount": "Menyegarkan {{count}} fitur.",
    "refreshError": "Tidak dapat menyegarkan layer ini.",
    "exportNeedsFeatures": "Ekspor memerlukan layer vektor dengan fitur.",
    "exportedWithWarnings": "Layer berhasil diekspor. {{warnings}}",
    "exported": "Layer berhasil diekspor.",
    "exportLayerError": "Tidak dapat mengekspor layer ini.",
    "refreshIntervals": {
      "off": "Mati",
      "s15": "15 detik",
      "s30": "30 detik",
      "m1": "1 menit",
      "m5": "5 menit",
      "m15": "15 menit"
    }
  },
  "timeSliderSymbology": {
    "bands": "Band",
    "bandsPlaceholder": "otomatis",
    "bandsHint": "Nomor band mulai dari 1, dipisahkan koma (mis. 4,3,2). Kosongkan untuk bawaan perender.",
    "bandsInvalid": "Masukkan nomor band bulat 1 atau lebih, dipisahkan koma.",
    "colormapNone": "Tidak ada (RGB / multiband)"
  },
  "rasterSymbology": {
    "gamma": "Gamma",
    "min": "Min",
    "max": "Maks",
    "value": "Nilai",
    "autoPlaceholder": "otomatis",
    "colorRampLabel": "Gradasi warna",
    "reverseRamp": "Balik gradasi",
    "customRamp": "Kustom…",
    "customColors": "Warna kustom",
    "customColorsValid": "{{count}} warna, rendah ke tinggi. Gunakan Balik untuk membalikkan.",
    "customColorsHint": "Masukkan setidaknya dua kode hex, dipisahkan dengan koma atau spasi.",
    "imagePalette": "Palet gambar",
    "createLegend": "Buat legenda dari palet",
    "createLegendHint": "Menambahkan legenda dengan satu item per nilai piksel, menggunakan warna palet raster. Ganti nama item menjadi nama kelas setelahnya.",
    "createLegendPending": "Membaca palet…",
    "createLegendEmpty": "Tidak ditemukan warna palet untuk raster ini.",
    "createLegendError": "Tidak dapat membaca palet raster.",
    "heading": "Simbologi raster",
    "renderMode": "Mode render",
    "modeSingle": "Band tunggal (pseudocolor)",
    "modeIndex": "Indeks (selisih ternormalisasi)",
    "modeRgb": "Komposit RGB",
    "band": "Band",
    "stretch": "Peregangan",
    "stretchLinear": "Linear",
    "stretchLog": "Logaritmik",
    "stretchSqrt": "Akar kuadrat",
    "index": "Indeks",
    "classifyToggle": "Klasifikasikan ke kelas diskret",
    "method": "Metode",
    "methodEqualInterval": "Interval sama",
    "methodQuantile": "Kuantil",
    "methodManual": "Batas manual",
    "classes": "Kelas",
    "classEdges": "Batas kelas",
    "noData": "Tanpa data",
    "nodataAuto": "Otomatis (dari berkas)",
    "nodataOff": "Render semua piksel",
    "nodataCustom": "Nilai khusus"
  },
  "rasterAttributeTable": {
    "title": "Tabel atribut raster",
    "resize": "Ubah ukuran tabel atribut raster",
    "noRasterSelected": "Pilih lapisan raster untuk melihat tabel atributnya.",
    "computing": "Membaca kelas raster…",
    "empty": "Belum ada kelas. Gunakan Hitung ulang untuk membangun tabel.",
    "band": "Band",
    "bandOption": "Band {{band}}",
    "close": "Tutup tabel atribut raster",
    "noSource": "Raster ini tidak memiliki berkas sumber yang dapat dibaca.",
    "readError": "Tidak dapat membaca data raster.",
    "bandMissing": "Band {{band}} tidak ditemukan dalam raster ini.",
    "notCategorical": "Band ini memiliki terlalu banyak nilai berbeda untuk menjadi kategoris.",
    "tooManyClasses": "Menerapkan simbologi mendukung hingga {{max}} kelas.",
    "symbologyApplied": "Simbologi diterapkan dari tabel.",
    "noPalette": "Raster ini tidak memiliki palet tersemat.",
    "legendError": "Tidak dapat membuka legenda.",
    "csvError": "Tidak dapat mengekspor berkas CSV.",
    "recomputeTitle": "Pindai raster dan bangun ulang tabel kelas",
    "applyTitle": "Warnai raster berdasarkan kelas tabel",
    "paletteTitle": "Atur ulang warna dari palet tersemat raster",
    "legendTitle": "Isi legenda peta dengan kelas tabel",
    "csvTitle": "Ekspor tabel ke CSV",
    "buttons": {
      "recompute": "Hitung ulang",
      "apply": "Terapkan simbologi",
      "palette": "Dari palet",
      "legend": "Ke legenda",
      "csv": "CSV"
    },
    "columns": {
      "value": "Nilai",
      "count": "Jumlah",
      "percent": "%",
      "area_m2": "Luas (m²)",
      "area_ha": "Luas (ha)",
      "area_km2": "Luas (km²)",
      "color": "Warna",
      "label": "Label"
    },
    "rowColor": "Warna untuk nilai {{value}}",
    "rowLabel": "Label untuk nilai {{value}}"
  },
  "raster": {
    "filePickerLabel": "Raster",
    "cogConvertConfirm": "\"{{name}}\" adalah GeoTIFF biasa (bergaris), yang tidak dapat ditampilkan langsung. Konversi ke Cloud-Optimized GeoTIFF sekarang dan muat itu?",
    "cogConvertRemoteConfirm": "\"{{name}}\" adalah GeoTIFF biasa (bergaris), yang tidak dapat ditampilkan langsung. Menampilkannya berarti mengunduh seluruh file dan mengonversinya menjadi Cloud-Optimized GeoTIFF di browser, yang bisa lambat dan menguras memori untuk file besar. Lanjutkan?",
    "cogConvertLargeConfirm": "\"{{name}}\" adalah GeoTIFF {{width}}×{{height}} besar yang bukan Cloud-Optimized GeoTIFF. Mengonversinya di browser mungkin lambat dan menguras memori. Konversi dan muat saja?",
    "cogConvertFailed": "Tidak dapat mengonversi \"{{name}}\" menjadi Cloud-Optimized GeoTIFF. Coba konversi dengan gdal_translate atau rio cogeo, lalu muat hasilnya.",
    "rasterDownloadFailed": "Tidak dapat mengunduh \"{{name}}\". Server mungkin lambat, tidak dapat dijangkau, atau memblokir permintaan lintas asal, atau file mungkin terlalu besar untuk disimpan dalam memori. Periksa URL dan coba lagi.",
    "rasterNotGeotiff": "\"{{name}}\" tidak mengembalikan GeoTIFF. Server mungkin mengirim halaman kesalahan atau login sebagai gantinya. Periksa URL dan coba lagi."
  },
  "attributeForm": {
    "error": {
      "required": "Nilai diperlukan",
      "number": "Harus berupa angka",
      "range": "Harus antara {{min}} dan {{max}}",
      "rangeMin": "Harus minimal {{min}}",
      "rangeMax": "Harus maksimal {{max}}",
      "valueMap": "Nilai tidak ada dalam daftar yang diizinkan",
      "constraint": "Batasan tidak terpenuhi"
    }
  },
  "legendPanel": {
    "edit": "Edit legenda",
    "done": "Selesai mengedit",
    "close": "Tutup legenda",
    "empty": "Tidak ada lapisan terlihat untuk ditampilkan.",
    "renameTitle": "Judul legenda",
    "renameEntry": "Ganti nama {{name}}",
    "renameItem": "Ganti nama {{name}}",
    "moveUp": "Pindah ke atas",
    "moveDown": "Pindah ke bawah",
    "hideEntry": "Sembunyikan dari legenda",
    "showEntry": "Tampilkan di legenda",
    "hideItem": "Sembunyikan item",
    "showItem": "Tampilkan item",
    "customizeEntry": "Sesuaikan item",
    "resetEntry": "Setel ulang ke otomatis",
    "removeSection": "Hapus bagian",
    "addSection": "Tambah bagian kustom",
    "newSectionTitle": "Bagian baru",
    "newItemLabel": "Item baru",
    "addItem": "Tambah item",
    "removeItem": "Hapus item",
    "itemColor": "Warna item",
    "position": "Posisi",
    "positions": {
      "top-left": "Kiri atas",
      "top-right": "Kanan atas",
      "bottom-left": "Kiri bawah",
      "bottom-right": "Kanan bawah"
    },
    "low": "Rendah",
    "high": "Tinggi",
    "addFromDictionary": "Tambah dari kamus",
    "dictionaryHint": "Objek JSON berisi pasangan {\"label\": \"warna\"}, atau satu \"label: warna\" per baris.",
    "dictionaryAdd": "Tambah bagian",
    "cancel": "Batal",
    "resize": "Ubah ukuran legenda",
    "collapseEntry": "Ciutkan bagian",
    "expandEntry": "Bentangkan bagian",
    "collapsePanel": "Ciutkan legenda",
    "expandPanel": "Bentangkan legenda",
    "exportJson": "Ekspor sebagai JSON"
  },
  "errorBoundary": {
    "title": "Terjadi kesalahan",
    "description": "GeoLibre mengalami kesalahan tak terduga dan tidak dapat melanjutkan. Pekerjaan Anda mungkin belum tersimpan — coba pulihkan sebelum memuat ulang.",
    "tryAgain": "Coba lagi",
    "reload": "Muat ulang aplikasi",
    "sectionFailed": "{{label}} gagal ditampilkan. Bagian lain GeoLibre tetap tersedia."
  },
  "commandPalette": {
    "title": "Palet perintah",
    "searchAria": "Cari perintah",
    "searchPlaceholder": "Cari perintah…",
    "listAria": "Perintah",
    "noMatches": "Tidak ada perintah yang cocok"
  },
  "shortcuts": {
    "title": "Pintasan papan ketik",
    "description": "Tekan {{shortcut}} untuk mencari setiap tindakan di palet perintah.",
    "groupGeneral": "Umum",
    "groupMapNavigation": "Navigasi peta",
    "openCommandPalette": "Buka palet perintah",
    "showKeyboardShortcuts": "Tampilkan pintasan papan ketik",
    "nav": {
      "zoomIn": "Perbesar",
      "zoomOut": "Perkecil",
      "pan": "Geser",
      "rotate": "Putar",
      "tilt": "Miringkan"
    }
  },
  "diagnostics": {
    "title": "Diagnostik",
    "description": "Permintaan jaringan terbaru, kesalahan MapLibre, peringatan konsol, dan pengecualian runtime.",
    "countTotal_other": "{{count}} total",
    "countErrors_other": "{{count}} kesalahan",
    "countWarnings_other": "{{count}} peringatan",
    "countNetwork_other": "{{count}} jaringan",
    "countNetworkErrors_other": "{{count}} kesalahan jaringan",
    "logAllRequests": "Catat semua permintaan jaringan",
    "logAllRequestsHint": "Mencatat permintaan jaringan yang berhasil dan dibatalkan mulai sekarang; permintaan yang dibuat saat pencatatan mati tidak diisi ulang. Mati secara bawaan karena mencatat setiap permintaan memperlambat aplikasi.",
    "copyJson": "Salin JSON",
    "copied": "Tersalin",
    "clear": "Bersihkan",
    "emptyAll": "Tidak ada diagnostik yang terekam.",
    "emptyError": "Tidak ada diagnostik kesalahan yang terekam.",
    "emptyWarning": "Tidak ada diagnostik peringatan yang terekam.",
    "emptyInfo": "Tidak ada diagnostik informasi yang terekam.",
    "emptyNetwork": "Tidak ada diagnostik jaringan yang terekam.",
    "emptyNetworkError": "Tidak ada diagnostik kesalahan jaringan yang terekam."
  },
  "shell": {
    "workspaceTitle": "Ruang kerja peta GeoLibre",
    "section": {
      "toolbar": "Bilah alat",
      "sharedLeftSidebar": "Bilah sisi kiri bersama",
      "pluginPanelLeftOfLayers": "Panel plugin (kiri Layer)",
      "layerPanel": "Panel layer",
      "pluginPanelRightOfLayers": "Panel plugin (kanan Layer)",
      "map": "Peta",
      "pluginFloatingPanels": "Panel mengambang plugin",
      "selectionPanels": "Panel seleksi",
      "sunSimulationPanel": "Panel simulasi matahari",
      "routeAnimationPanel": "Panel animasi rute",
      "flightSimulatorPanel": "Panel simulator penerbangan",
      "sharedRightSidebar": "Bilah sisi kanan bersama",
      "pluginPanelLeftOfStyle": "Panel plugin (kiri Gaya)",
      "stylePanel": "Panel gaya",
      "pluginPanelRightOfStyle": "Panel plugin (kanan Gaya)",
      "notebook": "Notebook",
      "attributeTable": "Tabel atribut",
      "rasterAttributeTable": "Tabel atribut raster",
      "dashboard": "Dasbor",
      "pythonConsole": "Konsol Python",
      "sqlWorkspace": "Ruang kerja SQL",
      "assistant": "Asisten",
      "statusBar": "Bilah status"
    }
  },
  "attributeStats": {
    "title": "Statistik bidang",
    "description": "Statistik ringkasan untuk sebuah bidang di \"{{layer}}\".",
    "noFields": "Layer ini tidak memiliki bidang untuk diringkas.",
    "field": "Bidang",
    "scope": "Cakupan",
    "scopeAll": "Semua fitur ({{total}})",
    "scopeFiltered": "Terfilter ({{total}})",
    "copiedToClipboard": "Disalin ke papan klip.",
    "copy": "Salin",
    "copyHeader": "Statistik bidang — {{field}}",
    "copyHeaderFiltered": "Statistik bidang — {{field}} (terfilter)",
    "noValues": "Tidak ada nilai untuk diringkas.",
    "mostFrequent": "Nilai paling sering",
    "noPopulated": "Tidak ada nilai yang terisi.",
    "stat": {
      "count": "Jumlah",
      "nulls": "Kosong",
      "nonNumeric": "Non-numerik",
      "unique": "Unik",
      "min": "Min",
      "max": "Maks",
      "mean": "Rata-rata",
      "median": "Median",
      "std": "Simpangan baku",
      "sum": "Jumlah total"
    }
  },
  "columnExplorer": {
    "title": "Penjelajah kolom",
    "description": "Tipe, kelengkapan, dan distribusi setiap bidang di \"{{layer}}\".",
    "noFields": "Layer ini tidak memiliki bidang untuk dijelajahi.",
    "findField": "Cari bidang",
    "findFieldPlaceholder": "Filter bidang berdasarkan nama...",
    "scope": "Cakupan",
    "scopeAll": "Semua fitur ({{total}})",
    "scopeFiltered": "Terfilter ({{total}})",
    "fieldsShown": "{{shown}} dari {{total}} bidang",
    "noMatches": "Tidak ada bidang yang cocok dengan \"{{search}}\".",
    "typeNumeric": "Numerik",
    "typeText": "Teks",
    "completenessTitle": "{{populated}} terisi, {{nulls}} kosong",
    "populated": "{{total}} terisi",
    "null": "{{total}} kosong",
    "unique": "{{total}} unik",
    "min": "Min",
    "mean": "Rata-rata",
    "max": "Maks",
    "noNumericValues": "Tidak ada nilai numerik untuk diplot.",
    "distributionAria": "Distribusi {{field}}: {{total}} nilai dari {{min}} hingga {{max}}",
    "noPopulated": "Tidak ada nilai yang terisi.",
    "moreValues": "+{{total}} nilai lainnya"
  },
  "stacPlugin": {
    "title": "Katalog STAC",
    "footprintLayerName": "Jejak pencarian STAC",
    "catalogSearch": "Temukan katalog publik di STAC Index",
    "catalogSearchPlaceholder": "Cari nama katalog…",
    "indexLoading": "Memuat STAC Index…",
    "indexUnavailable": "STAC Index tidak tersedia: masukkan URL",
    "indexLoadFailed": "Tidak dapat memuat STAC Index",
    "urlLabel": "URL katalog atau API STAC",
    "connect": "Hubungkan",
    "connecting": "Menghubungkan ke STAC…",
    "connected": "Terhubung. Pilih filter lalu cari.",
    "connectFailed": "Tidak dapat terhubung ke STAC",
    "selectCatalog": "Pilih katalog…",
    "noMatchingCatalogs": "Tidak ada katalog yang cocok",
    "catalogApiSuffix": " (API)",
    "catalogStaticSuffix": " (statis)",
    "kindApi": "API STAC",
    "kindStatic": "katalog statis",
    "collectionsHint": "Tahan Ctrl/Cmd untuk memilih beberapa koleksi; seret tepi bawah untuk mengubah ukuran",
    "limitToExtent": "Batasi pencarian ke cakupan peta saat ini",
    "bboxLabel": "Kotak pembatas (barat, selatan, timur, utara)",
    "bboxPlaceholder": "Opsional; menggantikan cakupan peta",
    "bboxInvalid": "Masukkan kotak pembatas yang valid: barat, selatan, timur, utara.",
    "drawBbox": "Gambar kotak di peta",
    "cancelDrawing": "Batalkan penggambaran",
    "clearDrawnBbox": "Bersihkan kotak yang digambar",
    "drawHint": "Klik dan seret pada peta untuk menggambar kotak pencarian.",
    "drawnBbox": "Kotak yang digambar: {{bbox}}",
    "drawnBboxCleared": "Kotak yang digambar telah dibersihkan.",
    "mapNotReady": "Peta belum siap untuk menggambar.",
    "startDate": "Tanggal mulai",
    "endDate": "Tanggal akhir",
    "additionalParams": "Parameter pencarian tambahan (JSON, hanya API STAC)",
    "additionalInvalid": "Parameter pencarian tambahan harus berupa objek JSON.",
    "searchItems": "Cari item",
    "clearResults": "Bersihkan hasil",
    "resultsCleared": "Hasil pencarian telah dibersihkan.",
    "searching": "Mencari item STAC…",
    "loadingMore": "Memuat item lainnya…",
    "noResults": "Tidak ada item STAC yang cocok dengan filter ini.",
    "searchFailed": "Pencarian STAC gagal",
    "showing": "Menampilkan {{count}} item.",
    "showingOfMatched": "Menampilkan {{count}} dari {{matched}} item.",
    "loadMore": "Muat lebih banyak",
    "renderOptions": "Opsi perenderan raster",
    "bands": "Band",
    "bandsPlaceholder": "mis. 1 atau 1,2,3 (bawaan: otomatis)",
    "colormap": "Peta warna (hanya band tunggal)",
    "colormapDefault": "Bawaan perender",
    "minValue": "Nilai minimum",
    "maxValue": "Nilai maksimum",
    "nodata": "Nilai NoData",
    "nodataPlaceholder": "Menggantikan tag NoData pada berkas",
    "renderHint": "Biarkan kosong agar perender menyimpulkan nilainya dari GeoTIFF. Opsi berlaku untuk aset yang ditambahkan setelahnya.",
    "initialStatus": "Pilih katalog dari STAC Index atau masukkan URL.",
    "catalogInfo": "{{title}} · {{kind}}",
    "zoom": "Perbesar",
    "add": "Tambah",
    "download": "Unduh",
    "adding": "Menambahkan {{asset}}…",
    "added": "{{asset}} ditambahkan ke peta.",
    "addUnsupported": "Hanya aset GeoTIFF/COG dan GeoJSON yang dapat ditambahkan ke peta",
    "addFailed": "Tidak dapat menambahkan aset",
    "cogUnsupported": "Host GeoLibre ini tidak dapat memvisualisasikan aset GeoTIFF jarak jauh"
  },
  "vectorExport": {
    "invalidKmlCoordinatesByPosition": "Ekspor KML tidak dapat menulis fitur {{position}} karena koordinatnya tidak valid.",
    "invalidKmlCoordinatesById": "Ekspor KML tidak dapat menulis fitur dengan ID {{id}} karena koordinatnya tidak valid."
  },
  "comments": {
    "title": "Komentar",
    "addDialogTitle": "Tambah Komentar Tinjauan",
    "addDialogDescription": "Kirim catatan yang tertambat pada proyek ini untuk tinjauan tim atau rujukan luring.",
    "authorNameLabel": "Nama Anda (ditanyakan sekali, tersimpan otomatis)",
    "authorNamePlaceholder": "mis. Alex atau Sari",
    "commentLabel": "Komentar / Masukan",
    "commentPlaceholder": "Tulis catatan tinjauan atau masukan Anda di sini...",
    "confirmDelete": "Yakin ingin menghapus utas komentar ini?",
    "sessionDisconnected": "Sesi terputus.",
    "defaultAuthorName": "Penulis"
  },
  "s2Plugin": {
    "title": "Grid S2",
    "controlTitle": "Pengaturan grid S2",
    "autoResolution": "Resolusi otomatis",
    "resolution": "Resolusi",
    "cellCount": "{{count}} sel dalam tampilan",
    "tooManyCells": "Tampilan ini melebihi batas {{limit}} sel. Perbesar tampilan atau turunkan resolusinya.",
    "fillColor": "Warna isi",
    "fillOpacity": "Opasitas isi",
    "lineColor": "Warna garis tepi",
    "lineWidth": "Lebar garis tepi",
    "showLabels": "Tampilkan id sel",
    "identifyHint": "Klik peta untuk mengidentifikasi sel S2.",
    "selectedCell": "Sel terpilih",
    "noSelection": "Tidak ada sel yang dipilih",
    "copyId": "Salin id",
    "parent": "Sel induk",
    "children": "Sel turunan",
    "neighbors": "Sel tetangga",
    "center": "Pusat",
    "zoomToCell": "Zoom ke sel",
    "addAsLayer": "Tambahkan grid sebagai layer",
    "exportGeoJson": "Ekspor GeoJSON",
    "exportCsv": "Ekspor CSV",
    "includeNeighbors": "Sertakan sel tetangga dari sel terpilih",
    "includeParents": "Sertakan sel induk dari sel terpilih"
  },
  "a5Plugin": {
    "title": "Grid A5",
    "controlTitle": "Pengaturan grid A5",
    "autoResolution": "Resolusi otomatis",
    "resolution": "Resolusi",
    "cellCount": "{{count}} sel dalam tampilan",
    "tooManyCells": "Tampilan ini melebihi batas {{limit}} sel. Perbesar tampilan atau turunkan resolusinya.",
    "fillColor": "Warna isi",
    "fillOpacity": "Opasitas isi",
    "lineColor": "Warna garis tepi",
    "lineWidth": "Lebar garis tepi",
    "showLabels": "Tampilkan id sel",
    "identifyHint": "Klik peta untuk mengidentifikasi sel A5.",
    "selectedCell": "Sel terpilih",
    "noSelection": "Tidak ada sel yang dipilih",
    "copyId": "Salin id",
    "parent": "Sel induk",
    "children": "Sel turunan",
    "neighbors": "Sel tetangga",
    "center": "Pusat",
    "zoomToCell": "Zoom ke sel",
    "addAsLayer": "Tambahkan grid sebagai layer",
    "exportGeoJson": "Ekspor GeoJSON",
    "exportCsv": "Ekspor CSV",
    "includeNeighbors": "Sertakan sel tetangga dari sel terpilih",
    "includeParents": "Sertakan sel induk dari sel terpilih"
  },
  "dggridPlugin": {
    "title": "DGGRID",
    "controlTitle": "Pengaturan DGGRID",
    "cellType": "Tipe sel",
    "topologyHexagon": "Segi enam",
    "topologyDiamond": "Belah ketupat",
    "topologyTriangle": "Segitiga",
    "projection": "Proyeksi",
    "aperture": "Apertur",
    "autoResolution": "Resolusi otomatis",
    "resolution": "Resolusi",
    "cellCount": "{{count}} sel dalam tampilan",
    "tooManyCells": "Tampilan ini melebihi batas {{limit}} sel. Perbesar tampilan atau turunkan resolusinya.",
    "fillColor": "Warna isi",
    "fillOpacity": "Opasitas isi",
    "lineColor": "Warna garis tepi",
    "lineWidth": "Lebar garis tepi",
    "showLabels": "Tampilkan id sel",
    "identifyHint": "Klik peta untuk mengidentifikasi sel DGGRID.",
    "selectedCell": "Sel terpilih",
    "noSelection": "Tidak ada sel yang dipilih",
    "copyId": "Salin id",
    "parent": "Sel induk",
    "children": "Sel turunan",
    "neighbors": "Sel tetangga",
    "center": "Pusat",
    "zoomToCell": "Zoom ke sel",
    "addAsLayer": "Tambahkan grid sebagai layer",
    "exportGeoJson": "Ekspor GeoJSON",
    "exportCsv": "Ekspor CSV",
    "includeNeighbors": "Sertakan sel tetangga dari sel terpilih",
    "includeParents": "Sertakan sel induk dari sel terpilih"
  },
  "dggalPlugin": {
    "title": "DGGAL",
    "controlTitle": "Pengaturan DGGAL",
    "gridType": "Tipe DGGS",
    "autoResolution": "Resolusi otomatis",
    "resolution": "Resolusi",
    "cellCount": "{{count}} sel dalam tampilan",
    "tooManyCells": "Tampilan ini melebihi batas {{limit}} sel. Perbesar tampilan atau turunkan resolusinya.",
    "fillColor": "Warna isi",
    "fillOpacity": "Opasitas isi",
    "lineColor": "Warna garis tepi",
    "lineWidth": "Lebar garis tepi",
    "showLabels": "Tampilkan id sel",
    "identifyHint": "Klik peta untuk mengidentifikasi sel DGGAL.",
    "selectedCell": "Sel terpilih",
    "noSelection": "Tidak ada sel yang dipilih",
    "copyId": "Salin id",
    "parent": "Sel induk",
    "children": "Sel turunan",
    "neighbors": "Sel tetangga",
    "center": "Pusat",
    "zoomToCell": "Zoom ke sel",
    "addAsLayer": "Tambahkan grid sebagai layer",
    "exportGeoJson": "Ekspor GeoJSON",
    "exportCsv": "Ekspor CSV",
    "includeNeighbors": "Sertakan sel tetangga dari sel terpilih",
    "includeParents": "Sertakan sel induk dari sel terpilih"
  },
  "olcPlugin": {
    "title": "OLC",
    "controlTitle": "Pengaturan OLC",
    "autoResolution": "Resolusi otomatis",
    "resolution": "Resolusi",
    "cellCount": "{{count}} sel dalam tampilan",
    "tooManyCells": "Tampilan ini melebihi batas {{limit}} sel. Perbesar tampilan atau turunkan resolusinya.",
    "fillColor": "Warna isi",
    "fillOpacity": "Opasitas isi",
    "lineColor": "Warna garis tepi",
    "lineWidth": "Lebar garis tepi",
    "showLabels": "Tampilkan id sel",
    "identifyHint": "Klik peta untuk mengidentifikasi sel OLC.",
    "selectedCell": "Sel terpilih",
    "noSelection": "Tidak ada sel yang dipilih",
    "copyId": "Salin id",
    "parent": "Sel induk",
    "children": "Sel turunan",
    "neighbors": "Sel tetangga",
    "center": "Pusat",
    "zoomToCell": "Zoom ke sel",
    "addAsLayer": "Tambahkan grid sebagai layer",
    "exportGeoJson": "Ekspor GeoJSON",
    "exportCsv": "Ekspor CSV",
    "includeNeighbors": "Sertakan sel tetangga dari sel terpilih",
    "includeParent": "Sertakan sel induk dari sel terpilih"
  },
  "geohashPlugin": {
    "title": "Geohash",
    "controlTitle": "Pengaturan Geohash",
    "autoResolution": "Resolusi otomatis",
    "resolution": "Resolusi",
    "cellCount": "{{count}} sel dalam tampilan",
    "tooManyCells": "Tampilan ini melebihi batas {{limit}} sel. Perbesar tampilan atau turunkan resolusinya.",
    "fillColor": "Warna isi",
    "fillOpacity": "Opasitas isi",
    "lineColor": "Warna garis tepi",
    "lineWidth": "Lebar garis tepi",
    "showLabels": "Tampilkan id sel",
    "identifyHint": "Klik peta untuk mengidentifikasi sel Geohash.",
    "selectedCell": "Sel terpilih",
    "noSelection": "Tidak ada sel yang dipilih",
    "copyId": "Salin id",
    "parent": "Sel induk",
    "children": "Sel turunan",
    "neighbors": "Sel tetangga",
    "center": "Pusat",
    "zoomToCell": "Zoom ke sel",
    "addAsLayer": "Tambahkan grid sebagai layer",
    "exportGeoJson": "Ekspor GeoJSON",
    "exportCsv": "Ekspor CSV",
    "includeNeighbors": "Sertakan sel tetangga dari sel terpilih",
    "includeParent": "Sertakan sel induk dari sel terpilih"
  },
  "tilecodePlugin": {
    "title": "Tilecode",
    "controlTitle": "Pengaturan Tilecode",
    "autoResolution": "Resolusi otomatis",
    "resolution": "Resolusi",
    "cellCount": "{{count}} tile dalam tampilan",
    "tooManyCells": "Tampilan ini melebihi batas {{limit}} tile. Perbesar tampilan atau turunkan resolusinya.",
    "fillColor": "Warna isi",
    "fillOpacity": "Opasitas isi",
    "lineColor": "Warna garis tepi",
    "lineWidth": "Lebar garis tepi",
    "showLabels": "Tampilkan id tile",
    "identifyHint": "Klik peta untuk mengidentifikasi tile.",
    "selectedCell": "Tile terpilih",
    "noSelection": "Tidak ada tile yang dipilih",
    "copyId": "Salin id",
    "quadkey": "Quadkey",
    "parent": "Tile induk",
    "children": "Tile turunan",
    "neighbors": "Tile tetangga",
    "center": "Pusat",
    "zoomToCell": "Zoom ke tile",
    "addAsLayer": "Tambahkan grid sebagai layer",
    "exportGeoJson": "Ekspor GeoJSON",
    "exportCsv": "Ekspor CSV",
    "includeNeighbors": "Sertakan tile tetangga dari tile terpilih",
    "includeParent": "Sertakan tile induk dari tile terpilih"
  },
  "netcdfSymbology": {
    "heading": "Simbologi NetCDF",
    "colorRampLabel": "Peta warna",
    "reverse": "Balik peta warna",
    "colorMin": "Warna min",
    "colorMax": "Warna maks",
    "resetRange": "Atur ulang ke rentang data",
    "openCube": "Kubus 3D"
  },
  "netcdfCube": {
    "heading": "Kubus citra 3D",
    "close": "Tutup",
    "settings": "Pengaturan",
    "setupTitle": "Kubus citra 3D",
    "setupDescription": "Pilih apa yang akan dibaca sebelum membangun kubus. Setiap band dibaca terpisah, jadi cakupan dan jumlah band menentukan lamanya proses.",
    "extent": "Cakupan",
    "extentView": "Tampilan peta saat ini",
    "extentDraw": "Gambar di peta",
    "extentFull": "Cakupan penuh layer",
    "viewHint": "Membaca apa pun yang sedang ditampilkan peta ketika kubus dibangun.",
    "fullHint": "Membaca seluruh grid. Lambat untuk kubus sebesar satu scene.",
    "drawBbox": "Gambar di peta",
    "drawing": "Seret kotak di peta untuk menetapkan cakupan kubus",
    "drawHint": "Seret kotak di peta untuk menetapkan cakupan.",
    "drawnExtent": "B {{west}}, S {{south}}, T {{east}}, U {{north}}",
    "detail": "Tingkat detail",
    "detailOption": "{{size}} sel per sisi",
    "bands": "Band",
    "allBands": "Semua ({{count}})",
    "rgbOverlay": "Citra RGB di atas",
    "rgbHint": "Menyusun tiga band menjadi citra berwarna yang dihamparkan pada sisi atas, sehingga kubus tetap dikenali sebagai sebuah tempat.",
    "red": "Merah",
    "green": "Hijau",
    "blue": "Biru",
    "planeEstimate": "{{count}} kali pembacaan band",
    "create": "Buat kubus",
    "colorRampLabel": "Peta warna",
    "reverse": "Balik",
    "showRgb": "RGB di atas",
    "rgbBands": "Band RGB",
    "recomposing": "membaca...",
    "zScale": "Tinggi",
    "slice": "Irisan",
    "sliceAt": "dipotong di {{band}} {{units}}",
    "reading": "Membaca band {{done}} dari {{total}}...",
    "summary": "{{nx}} x {{ny}} sel, {{nz}} band sepanjang {{axis}}",
    "errorNoCube": "Berkas sumber layer ini sudah tidak terbuka, jadi kubus tidak dapat dibaca.",
    "error": {
      "shapeMismatch": "Bidang-bidang band variabel ini tidak berbentuk sama, jadi tidak dapat ditumpuk menjadi kubus.",
      "rgbShapeMismatch": "Band RGB yang dipilih tidak cocok dengan bentuk kubus.",
      "noBands": "Variabel ini tidak punya band untuk dibaca.",
      "noReadWindow": "Kubus ini tidak dapat diperbarui di tempat. Bangun ulang dari Pengaturan."
    }
  },
  "netcdfProfile": {
    "heading": "Profil spektral",
    "clear": "Bersihkan",
    "chartAria": "Nilai piksel yang diambil sepanjang sumbu band",
    "popOut": "Lepas ke jendela",
    "dock": "Tambatkan",
    "poppedOutHint": "Bagan terbuka di sebuah jendela di atas peta.",
    "noValues": "Tidak ada nilai yang bisa dibagankan untuk piksel ini.",
    "exportPng": "PNG",
    "exportCsv": "CSV",
    "exportError": "Tidak dapat mengekspor bagan."
  },
  "netcdfIdentify": {
    "noData": "tanpa data",
    "coordinates": "bujur, lintang",
    "cell": "baris, kolom"
  }
}
