mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-19 05:26:47 +00:00
e12ae950df
Since 4.3.0 the TREK index and OpenStreetMap answer every search first and Google is only asked when they find nothing, so a list with the wrong place on it never reached Google, whatever key the instance had, and the provider choice only decided who fills the empty case. Two ways to change that, both only where Google holds the key slot. Under a result list that did not come from Google, one quiet line sends the same query to Google Places alone (`provider: 'google'` on the search contract, the MCP search tool takes it too). And beside the key, an admin switch "Search with Google only" hands every search and every suggestion to Google and asks nothing of the index or OpenStreetMap; off by default, read by the search after the keyed provider so an install without a key, or one on Amap or OpenStreetMap, is untouched. The panel says so beside the switch. Both shells share the one rule for when the line is offered (placeSource), and the wiki names both switches.
818 lines
57 KiB
TypeScript
818 lines
57 KiB
TypeScript
import type { TranslationStrings } from '../types';
|
|
|
|
const admin: TranslationStrings = {
|
|
'admin.notifications.title': 'Notifikasi',
|
|
'admin.notifications.hint': 'Pilih satu saluran notifikasi. Hanya satu yang bisa aktif sekaligus.',
|
|
'admin.notifications.none': 'Dinonaktifkan',
|
|
'admin.notifications.email': 'Email (SMTP)',
|
|
'admin.notifications.webhook': 'Webhook',
|
|
'admin.notifications.save': 'Simpan pengaturan notifikasi',
|
|
'admin.notifications.saved': 'Pengaturan notifikasi tersimpan',
|
|
'admin.notifications.testWebhook': 'Kirim test webhook',
|
|
'admin.notifications.testWebhookSuccess': 'Test webhook berhasil dikirim',
|
|
'admin.notifications.testWebhookFailed': 'Test webhook gagal',
|
|
'admin.notifications.emailPanel.title': 'Email (SMTP)',
|
|
'admin.notifications.webhookPanel.title': 'Webhook',
|
|
'admin.notifications.inappPanel.title': 'In-App',
|
|
'admin.notifications.inappPanel.hint': 'Notifikasi in-app selalu aktif dan tidak bisa dinonaktifkan secara global.',
|
|
'admin.notifications.adminWebhookPanel.title': 'Admin Webhook',
|
|
'admin.notifications.adminWebhookPanel.hint':
|
|
'Webhook ini digunakan khusus untuk notifikasi admin (mis. peringatan versi). Terpisah dari webhook per pengguna dan selalu berjalan jika diatur.',
|
|
'admin.notifications.adminWebhookPanel.saved': 'Admin webhook URL tersimpan',
|
|
'admin.notifications.adminWebhookPanel.testSuccess': 'Test webhook berhasil dikirim',
|
|
'admin.notifications.adminWebhookPanel.testFailed': 'Test webhook gagal',
|
|
'admin.notifications.adminWebhookPanel.alwaysOnHint': 'Admin webhook selalu berjalan jika URL dikonfigurasi',
|
|
'admin.notifications.ntfy': 'Ntfy',
|
|
'admin.ntfy.hint':
|
|
'Memungkinkan pengguna mengonfigurasi topik ntfy mereka sendiri untuk notifikasi push. Tetapkan server default di bawah untuk mengisi setelan pengguna secara otomatis.',
|
|
'admin.notifications.testNtfy': 'Kirim uji Ntfy',
|
|
'admin.notifications.testNtfySuccess': 'Uji Ntfy berhasil dikirim',
|
|
'admin.notifications.testNtfyFailed': 'Uji Ntfy gagal',
|
|
'admin.notifications.adminNtfyPanel.title': 'Admin Ntfy',
|
|
'admin.notifications.adminNtfyPanel.hint':
|
|
'Topik Ntfy ini digunakan khusus untuk notifikasi admin (mis. peringatan versi). Terpisah dari topik per pengguna dan selalu berjalan jika dikonfigurasi.',
|
|
'admin.notifications.adminNtfyPanel.serverLabel': 'URL Server Ntfy',
|
|
'admin.notifications.adminNtfyPanel.serverHint':
|
|
'Juga digunakan sebagai server default untuk notifikasi ntfy pengguna. Kosongkan untuk menggunakan ntfy.sh. Pengguna dapat menggantinya di pengaturan mereka sendiri.',
|
|
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
|
|
'admin.notifications.adminNtfyPanel.topicLabel': 'Topik Admin',
|
|
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts',
|
|
'admin.notifications.adminNtfyPanel.tokenLabel': 'Token Akses (opsional)',
|
|
'admin.notifications.adminNtfyPanel.tokenCleared': 'Token akses admin dihapus',
|
|
'admin.notifications.adminNtfyPanel.saved': 'Pengaturan Ntfy admin tersimpan',
|
|
'admin.notifications.adminNtfyPanel.test': 'Kirim uji Ntfy',
|
|
'admin.notifications.adminNtfyPanel.testSuccess': 'Uji Ntfy berhasil dikirim',
|
|
'admin.notifications.adminNtfyPanel.testFailed': 'Uji Ntfy gagal',
|
|
'admin.notifications.adminNtfyPanel.alwaysOnHint': 'Admin Ntfy selalu berjalan jika topik dikonfigurasi',
|
|
'admin.notifications.adminNotificationsHint':
|
|
'Atur saluran mana yang mengirimkan notifikasi khusus admin (mis. peringatan versi).',
|
|
'admin.notifications.tripReminders.title': 'Pengingat Perjalanan',
|
|
'admin.notifications.tripReminders.hint':
|
|
'Mengirim notifikasi pengingat sebelum perjalanan dimulai (memerlukan hari pengingat yang diatur pada perjalanan).',
|
|
'admin.notifications.tripReminders.enabled': 'Pengingat perjalanan diaktifkan',
|
|
'admin.notifications.tripReminders.disabled': 'Pengingat perjalanan dinonaktifkan',
|
|
'admin.smtp.title': 'Email & Notifikasi',
|
|
'admin.smtp.hint': 'Konfigurasi SMTP untuk pengiriman notifikasi email.',
|
|
'admin.smtp.testButton': 'Kirim email uji',
|
|
'admin.webhook.hint': 'Izinkan pengguna mengatur URL webhook sendiri untuk notifikasi (Discord, Slack, dll.).',
|
|
'admin.smtp.testSuccess': 'Email uji berhasil dikirim',
|
|
'admin.smtp.testFailed': 'Email uji gagal',
|
|
'admin.title': 'Administrasi',
|
|
'admin.subtitle': 'Manajemen pengguna dan pengaturan sistem',
|
|
'admin.tabs.users': 'Pengguna',
|
|
'admin.tabs.categories': 'Kategori',
|
|
'admin.tabs.backup': 'Backup',
|
|
'admin.tabs.notifications': 'Notifikasi',
|
|
'admin.tabs.audit': 'Audit',
|
|
'admin.stats.users': 'Pengguna',
|
|
'admin.stats.trips': 'Perjalanan',
|
|
'admin.stats.places': 'Tempat',
|
|
'admin.stats.photos': 'Foto',
|
|
'admin.stats.files': 'File',
|
|
'admin.table.user': 'Pengguna',
|
|
'admin.table.email': 'Email',
|
|
'admin.table.role': 'Peran',
|
|
'admin.table.created': 'Dibuat',
|
|
'admin.table.lastLogin': 'Login Terakhir',
|
|
'admin.table.actions': 'Tindakan',
|
|
'admin.you': '(Kamu)',
|
|
'admin.editUser': 'Edit Pengguna',
|
|
'admin.newPassword': 'Kata Sandi Baru',
|
|
'admin.newPasswordHint': 'Kosongkan untuk mempertahankan kata sandi saat ini',
|
|
'admin.deleteUser': 'Hapus pengguna "{name}"? Semua perjalanan akan dihapus secara permanen.',
|
|
'admin.deleteUserTitle': 'Hapus pengguna',
|
|
'admin.newPasswordPlaceholder': 'Masukkan kata sandi baru…',
|
|
'admin.toast.loadError': 'Gagal memuat data admin',
|
|
'admin.toast.userUpdated': 'Pengguna diperbarui',
|
|
'admin.toast.updateError': 'Gagal memperbarui',
|
|
'admin.toast.userDeleted': 'Pengguna dihapus',
|
|
'admin.toast.deleteError': 'Gagal menghapus',
|
|
'admin.toast.cannotDeleteSelf': 'Tidak bisa menghapus akun sendiri',
|
|
'admin.toast.userCreated': 'Pengguna dibuat',
|
|
'admin.toast.createError': 'Gagal membuat pengguna',
|
|
'admin.toast.fieldsRequired': 'Nama pengguna, email, dan kata sandi wajib diisi',
|
|
'admin.createUser': 'Buat Pengguna',
|
|
'admin.invite.title': 'Tautan Undangan',
|
|
'admin.invite.subtitle': 'Buat tautan pendaftaran sekali pakai',
|
|
'admin.invite.create': 'Buat Tautan',
|
|
'admin.invite.createAndCopy': 'Buat & Salin',
|
|
'admin.invite.empty': 'Belum ada tautan undangan yang dibuat',
|
|
'admin.invite.maxUses': 'Maks. Penggunaan',
|
|
'admin.invite.expiry': 'Kedaluwarsa setelah',
|
|
'admin.invite.uses': 'digunakan',
|
|
'admin.invite.expiresAt': 'kedaluwarsa',
|
|
'admin.invite.createdBy': 'oleh',
|
|
'admin.invite.active': 'Aktif',
|
|
'admin.invite.expired': 'Kedaluwarsa',
|
|
'admin.invite.usedUp': 'Habis dipakai',
|
|
'admin.invite.copied': 'Tautan undangan disalin ke clipboard',
|
|
'admin.invite.copyLink': 'Salin tautan',
|
|
'admin.invite.deleted': 'Tautan undangan dihapus',
|
|
'admin.invite.createError': 'Gagal membuat tautan undangan',
|
|
'admin.invite.deleteError': 'Gagal menghapus tautan undangan',
|
|
'admin.tabs.settings': 'Pengaturan',
|
|
'admin.allowRegistration': 'Izinkan Pendaftaran',
|
|
'admin.allowRegistrationHint': 'Pengguna baru dapat mendaftar sendiri',
|
|
'admin.authMethods': 'Metode Autentikasi',
|
|
'admin.passwordLogin': 'Login dengan Kata Sandi',
|
|
'admin.passwordLoginHint': 'Izinkan pengguna masuk dengan email dan kata sandi',
|
|
'admin.passwordRegistration': 'Pendaftaran dengan Kata Sandi',
|
|
'admin.passwordRegistrationHint': 'Izinkan pengguna baru mendaftar dengan email dan kata sandi',
|
|
'admin.oidcLogin': 'Login SSO',
|
|
'admin.oidcLoginHint': 'Izinkan pengguna masuk dengan SSO',
|
|
'admin.oidcRegistration': 'Penyediaan Otomatis SSO',
|
|
'admin.oidcRegistrationHint': 'Buat akun otomatis untuk pengguna SSO baru',
|
|
'admin.envOverrideHint':
|
|
'Pengaturan login kata sandi dikendalikan oleh variabel lingkungan OIDC_ONLY dan tidak dapat diubah di sini.',
|
|
'admin.lockoutWarning': 'Minimal satu metode login harus tetap aktif',
|
|
'admin.requireMfa': 'Wajibkan autentikasi dua faktor (2FA)',
|
|
'admin.requireMfaHint':
|
|
'Pengguna tanpa 2FA harus menyelesaikan pengaturan di Pengaturan sebelum menggunakan aplikasi.',
|
|
'admin.apiKeys': 'Kunci API',
|
|
'admin.apiKeysHint': 'Dari mana data tempat berasal. Indeks TREK tidak butuh kunci; dua penyedia di bawah bersifat opsional.',
|
|
'admin.trekApi.badgeDefault': 'Sumber baku yang disarankan',
|
|
'admin.googleCaveat.badge': 'Tidak disarankan',
|
|
'admin.googleCaveat.body':
|
|
'TREK adalah perangkat lunak sumber terbuka dan di sini kami tidak netral. Pada skala ini ulasan dan foto usaha biasa hanya ada di Google, dan itulah monopoli. Kolom ini ada karena tidak ada penggantinya, bukan karena kami menyarankan. Lalu setiap pencarian pergi ke Google.',
|
|
'admin.trekApi.tagline':
|
|
'Indeks tempat milik TREK sendiri. Mencari tanpa kunci Google, tanpa kuota, dan tanpa ada yang menghitung pencarian Anda.',
|
|
'admin.trekApi.factPlaces':
|
|
'73,6 juta tempat di seluruh dunia',
|
|
'admin.trekApi.factNoKey':
|
|
'Tanpa kunci, tanpa kuota',
|
|
'admin.trekApi.factOffline':
|
|
'Paket per negara jalan offline',
|
|
'admin.trekApi.factPrivacy':
|
|
'Pencarian tidak pernah dicatat',
|
|
'admin.trekApi.more':
|
|
'Apa isinya',
|
|
'admin.trekApi.fieldPhone':
|
|
'Telepon',
|
|
'admin.trekApi.fieldStableId':
|
|
'Id tetap',
|
|
'admin.trekApi.includedNote':
|
|
'Deskripsi berasal dari situs tempat itu sendiri, jam buka dari OpenStreetMap di mana sudah diisi.',
|
|
'admin.trekApi.notRatings':
|
|
'Ulasan',
|
|
'admin.trekApi.notPhotos':
|
|
'Foto usaha biasa',
|
|
'admin.trekApi.notIncludedNote':
|
|
'Tidak ada sumber terbuka yang punya keduanya, dengan harga berapa pun. Untuk keduanya kunci Google tetap satu-satunya jalan.',
|
|
'admin.trekApi.sourcesLabel':
|
|
'Sumber',
|
|
'admin.trekApi.sourcesNote':
|
|
'Setiap ruas dalam respons menyebutkan berasal dari yang mana.',
|
|
'admin.trekApi.included':
|
|
'Termasuk',
|
|
'admin.trekApi.notIncluded':
|
|
'Tidak termasuk',
|
|
'admin.mapsKey': 'Kunci API Google Maps',
|
|
'admin.mapsKeyHint': 'Diperlukan untuk pencarian tempat. Dapatkan di console.cloud.google.com',
|
|
'admin.mapsKeyHintLong':
|
|
'Tanpa kunci API Google, TREK API yang disarankan akan dipakai. Dengan kunci, foto, ulasan, dan jam buka bisa dimuat sebagai tambahan. Buat kunci di console.cloud.google.com.',
|
|
'admin.recommended': 'Direkomendasikan',
|
|
'admin.weatherKey': 'Kunci API OpenWeatherMap',
|
|
'admin.weatherKeyHint': 'Untuk data cuaca. Gratis di openweathermap.org',
|
|
'admin.unsplashKey': 'Kunci API Unsplash',
|
|
'admin.unsplashKeyHint': 'Untuk pencarian gambar. Gratis di unsplash.com/developers',
|
|
'admin.amapKey': 'Kunci API Amap (高德地图)',
|
|
'admin.amapKeyHint':
|
|
'Untuk pencarian tempat di Tiongkok daratan, tempat Google tidak dapat diakses dan data OpenStreetMap sangat sedikit. Perlu kunci jenis "Web 服务" (layanan web), bukan kunci JS API. Dapatkan di console.amap.com.',
|
|
'admin.placesProvider.title': 'Penyedia pencarian tempat',
|
|
'admin.placesProvider.subtitle':
|
|
'Indeks milik TREK dan OpenStreetMap menjawab setiap pencarian. Di sini dipilih siapa lagi yang ditanya bila keduanya tidak menemukan apa pun: Otomatis memilih Google bila ada kunci, lalu Amap.',
|
|
'admin.placesProvider.auto': 'Otomatis',
|
|
'admin.placesProvider.google': 'Google Places',
|
|
'admin.placesProvider.amap': 'Amap (高德地图)',
|
|
'admin.placesProvider.openstreetmap': 'OpenStreetMap',
|
|
'admin.placesProvider.missingKey': 'Penyedia yang dipilih belum punya kunci API, jadi pencarian tempat hanya dijawab oleh indeks TREK dan OpenStreetMap.',
|
|
'admin.placesProvider.saved': 'Penyedia pencarian tempat disimpan',
|
|
'admin.validateKey': 'Uji',
|
|
'admin.keyValid': 'Terhubung',
|
|
'admin.keyInvalid': 'Tidak valid',
|
|
'admin.keySaved': 'Kunci API disimpan',
|
|
'admin.oidcTitle': 'Single Sign-On (OIDC)',
|
|
'admin.oidcSubtitle': 'Izinkan login melalui penyedia eksternal seperti Google, Apple, Authentik, atau Keycloak.',
|
|
'admin.oidcDisplayName': 'Nama Tampilan',
|
|
'admin.oidcIssuer': 'Issuer URL',
|
|
'admin.oidcIssuerHint': 'Issuer URL OpenID Connect dari penyedia. Contoh: https://accounts.google.com',
|
|
'admin.oidcSaved': 'Konfigurasi OIDC disimpan',
|
|
'admin.oidcOnlyMode': 'Nonaktifkan autentikasi kata sandi',
|
|
'admin.oidcOnlyModeHint':
|
|
'Jika diaktifkan, hanya login SSO yang diizinkan. Login dan pendaftaran berbasis kata sandi diblokir.',
|
|
'admin.fileTypes': 'Jenis File yang Diizinkan',
|
|
'admin.fileTypesHint': 'Atur jenis file apa saja yang boleh diunggah pengguna.',
|
|
'admin.fileTypesFormat':
|
|
'Ekstensi dipisahkan koma (contoh: jpg,png,pdf,doc). Gunakan * untuk mengizinkan semua jenis.',
|
|
'admin.fileTypesSaved': 'Pengaturan jenis file disimpan',
|
|
'admin.googleOptions': 'Kunci ini dipakai untuk apa',
|
|
'admin.googleOptionsSummary': '{on} dari {total} aktif',
|
|
'admin.placesPhotos.title': 'Foto Tempat',
|
|
'admin.placesPhotos.subtitle':
|
|
'Mengambil foto dari Google Places API. Nonaktifkan untuk menghemat kuota API. Foto Wikimedia tidak terpengaruh.',
|
|
'admin.placesAutocomplete.title': 'Pelengkapan Otomatis Tempat',
|
|
'admin.placesAutocomplete.subtitle':
|
|
'Menggunakan Google Places API untuk saran pencarian. Nonaktifkan untuk menghemat kuota API.',
|
|
'admin.placesDetails.title': 'Detail Tempat',
|
|
'admin.placesDetails.subtitle':
|
|
'Mengambil informasi detail tempat (jam, penilaian, situs web) dari Google Places API. Nonaktifkan untuk menghemat kuota API.',
|
|
'admin.placesEnrich.title': 'Pengayaan tempat',
|
|
'admin.placesEnrich.subtitle':
|
|
'Menampilkan gambar dan deskripsi saat menambahkan tempat. Wikipedia dan OpenStreetMap selalu digunakan; Google ditambahkan bila Foto Tempat atau Detail Tempat aktif.',
|
|
'admin.placesGoogleOnly.title': 'Cari hanya dengan Google',
|
|
'admin.placesGoogleOnly.subtitle': 'Setiap pencarian dan setiap saran dikirim ke Google Places. Nonaktif, indeks TREK dan OpenStreetMap menjawab lebih dulu, dan Google hanya ditanya jika keduanya tidak menemukan apa pun.',
|
|
'admin.placesGoogleOnly.missingKey': 'Memerlukan kunci API Google Maps. Tanpa kunci, pencarian memakai indeks TREK dan OpenStreetMap, apa pun posisi sakelar ini.',
|
|
'admin.transitProvider.title': 'Penyedia transportasi umum',
|
|
'admin.transitProvider.subtitle': 'Layanan mana yang menjawab pencarian transportasi umum.',
|
|
'admin.transitProvider.transitous': 'Transitous (gratis)',
|
|
'admin.transitProvider.google': 'Google',
|
|
'admin.transitProvider.transitousHint': 'Umpan GTFS komunitas. Gratis dan tanpa kunci, dengan cakupan terbaik di Eropa.',
|
|
'admin.transitProvider.googleHint': 'Menggunakan kunci Google di atas, untuk wilayah yang tidak memiliki data Transitous. Ditagih per pencarian — selama belum ada kunci, Transitous yang dipakai.',
|
|
'admin.transitProvider.noKeyWarning': 'Google dipilih, tetapi belum ada kunci Google yang dikonfigurasi — pencarian transportasi masih memakai Transitous. Tambahkan kunci di Kunci API di atas.',
|
|
'admin.transitProvider.personalKeyWarning': 'Hanya kunci Google milikmu yang disetel, sehingga pencarian anggota lain tetap kembali ke Transitous. Simpan kunci di atas sebagai admin agar berlaku untuk seluruh instance.',
|
|
'admin.placeShadow.title': 'Log pencarian tempat',
|
|
'admin.placeShadow.subtitle':
|
|
'Mencatat hasil pencarian mana yang dipilih, agar indeks tempat lain nanti bisa diukur dengan pencarian sungguhan. Tidak ada yang meninggalkan instans ini, dan admin bisa mengekspor atau menghapus log kapan saja.',
|
|
'admin.bagTracking.title': 'Pelacak Tas',
|
|
'admin.bagTracking.subtitle': 'Aktifkan berat dan penugasan tas untuk item packing',
|
|
'admin.collab.chat.title': 'Chat',
|
|
'admin.collab.chat.subtitle': 'Pesan real-time untuk kolaborasi',
|
|
'admin.collab.notes.title': 'Catatan',
|
|
'admin.collab.notes.subtitle': 'Catatan dan dokumen bersama',
|
|
'admin.collab.polls.title': 'Jajak Pendapat',
|
|
'admin.collab.polls.subtitle': 'Jajak pendapat dan voting grup',
|
|
'admin.collab.whatsnext.title': 'Selanjutnya',
|
|
'admin.collab.whatsnext.subtitle': 'Saran aktivitas dan langkah selanjutnya',
|
|
'admin.tabs.config': 'Personalisasi',
|
|
'admin.tabs.defaults': 'Pengaturan Default Pengguna',
|
|
'admin.defaultSettings.title': 'Pengaturan Default Pengguna',
|
|
'admin.defaultSettings.description':
|
|
'Tetapkan nilai default untuk seluruh instance. Pengguna yang belum mengubah pengaturan akan melihat nilai-nilai ini. Perubahan mereka sendiri selalu diprioritaskan.',
|
|
'admin.defaultSettings.saved': 'Default disimpan',
|
|
'admin.defaultSettings.reset': 'Atur ulang ke default bawaan',
|
|
'admin.defaultSettings.resetToBuiltIn': 'atur ulang',
|
|
'admin.tabs.templates': 'Template Packing',
|
|
'admin.packingTemplates.title': 'Template Packing',
|
|
'admin.packingTemplates.subtitle': 'Buat daftar packing yang bisa digunakan ulang untuk perjalananmu',
|
|
'admin.packingTemplates.create': 'Template Baru',
|
|
'admin.packingTemplates.namePlaceholder': 'Nama template (contoh: Liburan Pantai)',
|
|
'admin.packingTemplates.empty': 'Belum ada template yang dibuat',
|
|
'admin.packingTemplates.items': 'item',
|
|
'admin.packingTemplates.categories': 'kategori',
|
|
'admin.packingTemplates.itemName': 'Nama item',
|
|
'admin.packingTemplates.itemCategory': 'Kategori',
|
|
'admin.packingTemplates.categoryName': 'Nama kategori (contoh: Pakaian)',
|
|
'admin.packingTemplates.addCategory': 'Tambah kategori',
|
|
'admin.packingTemplates.created': 'Template dibuat',
|
|
'admin.packingTemplates.deleted': 'Template dihapus',
|
|
'admin.packingTemplates.loadError': 'Gagal memuat template',
|
|
'admin.packingTemplates.createError': 'Gagal membuat template',
|
|
'admin.packingTemplates.deleteError': 'Gagal menghapus template',
|
|
'admin.packingTemplates.deleteCategoryError': 'Gagal menghapus kategori',
|
|
'admin.packingTemplates.deleteItemError': 'Gagal menghapus item',
|
|
'admin.packingTemplates.saveError': 'Gagal menyimpan',
|
|
'admin.tabs.addons': 'Addon',
|
|
'admin.tabs.plugins': 'Plugins',
|
|
'admin.tabs.storage': 'Penyimpanan',
|
|
'admin.plugins.rescan': 'Pindai ulang',
|
|
'admin.plugins.rescanned': 'Folder plugin dipindai ulang',
|
|
'admin.plugins.upload': 'Unggah plugin',
|
|
'admin.plugins.dropToUpload': 'Lepaskan .zip plugin untuk memasang',
|
|
'admin.plugins.uploaded': 'Plugin “{name}” diunggah — aktifkan untuk menjalankan',
|
|
'admin.plugins.sideloaded': 'Dimuat manual',
|
|
'admin.plugins.devLinkBadge': 'Dev-Link',
|
|
'admin.plugins.devLinkHint':
|
|
'Dimuat dari direktori build lokal dan dimuat ulang langsung dengan data nyata — hanya untuk pengembangan',
|
|
'admin.plugins.devLinkTitle': 'Tautkan plugin lokal',
|
|
'admin.plugins.devLinkPathPlaceholder': '/absolute/path/to/your/plugin',
|
|
'admin.plugins.devLinkButton': 'Tautkan',
|
|
'admin.plugins.devLinkLinked': '{id} ditautkan — aktifkan untuk menjalankan',
|
|
'admin.plugins.sideloadedHint': 'Diunggah manual — bukan dari registri, tanpa tanda tangan dan tinjauan',
|
|
'admin.plugins.browse': 'Jelajahi plugin',
|
|
'admin.plugins.installed': 'Terpasang',
|
|
'admin.plugins.install': 'Pasang',
|
|
'admin.plugins.registryEmpty': 'Belum ada plugin yang tersedia di registri.',
|
|
'admin.plugins.actionError': 'Tindakan gagal',
|
|
'admin.plugins.activate': 'Aktifkan',
|
|
'admin.plugins.activated': 'Plugin diaktifkan',
|
|
'admin.plugins.deactivate': 'Nonaktifkan',
|
|
'admin.plugins.deactivated': 'Plugin dinonaktifkan',
|
|
'admin.plugins.viewErrors': 'Lihat log error',
|
|
'admin.plugins.errorLog': 'Log error',
|
|
'admin.plugins.allowedHosts': 'Host yang diizinkan',
|
|
'admin.plugins.allowedHosts.hint':
|
|
'Plugin ini berbicara dengan layanan yang hanya Anda yang tahu namanya (server swakelola). Tambahkan host yang boleh dijangkau — selain itu tidak bisa.',
|
|
'admin.plugins.allowedHosts.none': 'Belum ada host yang ditambahkan.',
|
|
'admin.plugins.allowedHosts.unsupported':
|
|
'Plugin ini tidak memakai host dari operator. Host yang diizinkan sudah tetap di manifesnya.',
|
|
'admin.plugins.allowedHosts.restartNote': 'Menyimpan akan memulai ulang plugin agar memakai daftar baru.',
|
|
'admin.plugins.allowedHosts.add': 'Tambah host yang diizinkan',
|
|
'admin.plugins.allowedHosts.count': '{n} host diizinkan',
|
|
'admin.plugins.operatorEgressPill': '+ host yang Anda tambahkan',
|
|
'admin.plugins.operatorEgressHint':
|
|
'Plugin ini berbicara dengan layanan yang hanya Anda yang tahu namanya (server swakelola). Setelah dipasang, tambahkan host di ⋯ → Host yang diizinkan. Selain itu tidak bisa.',
|
|
'admin.plugins.noErrors': 'Tidak ada error yang tercatat.',
|
|
'admin.plugins.uninstalled': 'Plugin dihapus',
|
|
'admin.plugins.uninstallTitle': 'Hapus plugin?',
|
|
'admin.plugins.uninstallBody':
|
|
'Ini akan menghentikan plugin, menghapus kodenya, dan menghapus semua datanya. Tindakan ini tidak bisa dibatalkan.',
|
|
'admin.plugins.status.starting': 'Memulai…',
|
|
'admin.plugins.type.widget': 'Widget',
|
|
'admin.plugins.type.page': 'Halaman',
|
|
'admin.plugins.type.integration': 'Integrasi',
|
|
'admin.plugins.type.trip-page': 'Halaman perjalanan',
|
|
'admin.plugins.reviewed': 'Ditinjau',
|
|
'admin.plugins.unreviewed': 'Belum ditinjau',
|
|
'admin.plugins.updated': 'Plugin diperbarui',
|
|
'admin.plugins.updateTo': 'Update → v{version}',
|
|
'admin.plugins.enabledToggle': 'Aktifkan plugin',
|
|
'plugins.notFound': 'Plugin tidak ditemukan',
|
|
'plugins.frameLoadFailed': 'This plugin could not be loaded.',
|
|
'admin.plugins.title': 'Plugins',
|
|
'admin.plugins.subtitle': 'Pasang dan kelola plugin pihak ketiga di instans kamu.',
|
|
'admin.plugins.disabledTitle': 'Plugin dinonaktifkan',
|
|
'admin.plugins.disabledBody':
|
|
'Runtime plugin sedang dimatikan (TREK_PLUGINS_ENABLED). Tidak ada plugin yang bisa berjalan sampai admin mengaktifkannya di konfigurasi server.',
|
|
'admin.plugins.empty': 'Belum ada plugin yang terpasang.',
|
|
'admin.plugins.loadError': 'Tidak dapat memuat plugin.',
|
|
'admin.plugins.scaffoldNote':
|
|
'Pemasangan dan aktivasi plugin akan hadir di pembaruan mendatang. Saat ini panel ini hanya menampilkan plugin yang terpasang.',
|
|
'admin.plugins.status.active': 'Aktif',
|
|
'admin.plugins.status.inactive': 'Tidak aktif',
|
|
'admin.plugins.status.disabled': 'Nonaktif',
|
|
'admin.plugins.status.error': 'Error',
|
|
'admin.plugins.status.incompatible': 'Tidak kompatibel',
|
|
'admin.plugins.details': 'Detail',
|
|
'admin.plugins.detailError': 'Tidak dapat memuat detail plugin.',
|
|
'admin.plugins.permissionsTitle': 'Izin',
|
|
'admin.plugins.noPermissions': 'Plugin ini tidak meminta izin khusus.',
|
|
'admin.plugins.egressNote': 'Dapat terhubung ke: {hosts}',
|
|
'admin.plugins.setupTitle': 'Penyiapan',
|
|
'admin.plugins.noSetup': 'Langsung berfungsi — tidak ada yang perlu dikonfigurasi.',
|
|
'admin.plugins.scope.instance': 'Seluruh instans',
|
|
'admin.plugins.scope.user': 'Per pengguna',
|
|
'admin.plugins.fieldRequired': 'Wajib diisi',
|
|
'admin.plugins.sourceRepo': 'Repositori sumber',
|
|
'admin.plugins.reportIssue': 'Laporkan masalah',
|
|
'admin.plugins.homepage': 'Beranda',
|
|
'admin.plugins.requiresTrek': 'Memerlukan TREK {version}+',
|
|
'admin.plugins.reviewedOn': 'Ditinjau {date}',
|
|
'admin.plugins.perm.db:own': 'Menyimpan datanya sendiri di database terisolasi',
|
|
'admin.plugins.perm.db:read:trips': 'Membaca perjalanan yang dapat diakses oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:read:users': 'Membaca info profil dasar (nama, avatar — tidak pernah kredensial)',
|
|
'admin.plugins.perm.db:read:costs':
|
|
'Membaca pengeluaran (item anggaran) yang dapat diakses oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:read:packing':
|
|
'Membaca daftar barang bawaan dari perjalanan yang dapat diakses oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:write:packing':
|
|
'Membuat, mengedit, dan menghapus item daftar bawaan pada perjalanan yang dapat diedit oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.weather:read': 'Membaca prakiraan cuaca host yang di-cache (berdasarkan koordinat)',
|
|
'admin.plugins.perm.db:read:categories': 'Membaca daftar kategori tempat global',
|
|
'admin.plugins.perm.db:read:tags': 'Membaca tag pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:write:tags': 'Membuat, mengedit, dan menghapus tag pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:read:todos':
|
|
'Membaca tugas dari perjalanan yang dapat diakses oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:write:todos':
|
|
'Membuat, mengedit, dan menghapus tugas pada perjalanan yang dapat diedit oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:write:atlas':
|
|
'Menandai negara dan wilayah sebagai sudah dikunjungi dan mengelola bucket list pengguna yang bersangkutan (memerlukan add-on Atlas)',
|
|
'admin.plugins.perm.db:write:vacay':
|
|
'Mengalihkan hari cuti dan libur perusahaan pada rencana aktif pengguna yang bersangkutan (memerlukan add-on Vacay)',
|
|
'admin.plugins.perm.db:write:journal':
|
|
'Membuat, mengedit, dan menghapus entri jurnal di jurnal yang dapat diedit oleh pengguna yang bersangkutan (memerlukan add-on Journey)',
|
|
'admin.plugins.perm.db:write:collections':
|
|
'Membuat dan mengedit koleksi serta menyimpan tempat ke dalamnya, dengan peran koleksi pengguna yang bersangkutan (memerlukan add-on Collections)',
|
|
'admin.plugins.perm.db:write:files':
|
|
'Melampirkan berkas ke perjalanan yang dapat diedit oleh pengguna yang bersangkutan (batas 10 MB, ekstensi terblokir ditolak) dan mengelola tautannya',
|
|
'admin.plugins.perm.db:write:collab':
|
|
'Memublikasikan catatan, jajak pendapat, dan pesan obrolan pada perjalanan yang dapat diedit oleh pengguna yang bersangkutan (memerlukan add-on Collab)',
|
|
'admin.plugins.perm.db:write:members':
|
|
'Menambahkan pengguna ke perjalanan — memberikan akses perjalanan; dilindungi oleh hak kelola anggota pengguna yang bersangkutan',
|
|
'admin.plugins.perm.notify:send':
|
|
'Mengirim notifikasi (kotak lonceng + email/ntfy) kepada pengguna yang bersangkutan atau perjalanan yang diikutinya — tidak pernah ke penerima sembarangan',
|
|
'admin.plugins.perm.ai:invoke':
|
|
'Menjalankan penyedia AI yang dikonfigurasi admin (penyelesaian teks + ekstraksi dokumen) atas nama pengguna yang bersangkutan — plugin tidak pernah menyimpan kunci',
|
|
'admin.plugins.perm.oauth:client':
|
|
'Terhubung ke layanan pihak ketiga atas namamu melalui OAuth yang diperantarai host (host menyimpan token, plugin tidak pernah melihatnya)',
|
|
'admin.plugins.perm.db:read:files':
|
|
'Membaca berkas dari perjalanan yang dapat diakses oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:write:reservations':
|
|
'Membuat, mengedit, dan menghapus pemesanan pada perjalanan yang dapat diedit oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:write:accommodations':
|
|
'Membuat, mengedit, dan menghapus akomodasi pada perjalanan yang dapat diedit oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:read:journal':
|
|
'Membaca jurnal perjalanan pengguna yang bersangkutan (memerlukan add-on Journey)',
|
|
'admin.plugins.perm.db:read:atlas':
|
|
'Membaca negara dan wilayah yang dikunjungi oleh pengguna yang bersangkutan (memerlukan add-on Atlas)',
|
|
'admin.plugins.perm.db:read:vacay': 'Membaca rencana liburan pengguna yang bersangkutan (memerlukan add-on Vacay)',
|
|
'admin.plugins.perm.db:read:daynotes':
|
|
'Membaca catatan harian dari perjalanan yang dapat diakses oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:read:collections':
|
|
'Membaca koleksi tempat tersimpan milik pengguna yang bersangkutan (memerlukan add-on Collections)',
|
|
'admin.plugins.perm.db:write:daynotes':
|
|
'Membuat, mengedit, dan menghapus catatan harian pada perjalanan yang dapat diedit oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.jobs:run':
|
|
'Menjalankan tugas latar belakang yang dideklarasikan sesuai jadwal (tanpa konteks pengguna — tidak dapat membaca data pengguna)',
|
|
'admin.plugins.perm.db:write:costs':
|
|
'Membuat pengeluaran (item anggaran) pada perjalanan yang dapat diedit oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:write:places':
|
|
'Menambah, mengedit, dan menghapus tempat pada perjalanan yang dapat diedit oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:write:days':
|
|
'Menambah, mengedit, dan menghapus hari pada perjalanan yang dapat diedit oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:write:itinerary':
|
|
'Menetapkan dan menghapus tempat pada hari-hari perjalanan yang dapat diedit oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:write:trips':
|
|
'Mengedit detail perjalanan (judul, tanggal, mata uang…) pada perjalanan yang dapat diedit oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:meta':
|
|
'Melampirkan data pribadinya sendiri ke perjalanan, tempat, dan hari yang dapat diakses oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.ws:broadcast:trip': 'Mengirim pembaruan real-time ke anggota perjalanan',
|
|
'admin.plugins.perm.ws:broadcast:user': 'Mengirim pembaruan real-time ke pengguna tertentu',
|
|
'admin.plugins.perm.hook:photo-provider': 'Menyediakan foto untuk Memories',
|
|
'admin.plugins.perm.hook:calendar-source': 'Menyediakan acara untuk kalender',
|
|
'admin.plugins.perm.hook:place-detail-provider':
|
|
'Menyumbangkan detail tambahan (ulasan, peringkat, tautan) untuk suatu tempat',
|
|
'admin.plugins.perm.hook:search-provider': 'Menjawab pencarian tempat dari indeks sendiri, di samping hasil TREK',
|
|
'admin.plugins.perm.hook:trip-warning-provider':
|
|
'Munculkan peringatan validasi pada perjalanan (ditampilkan di perencana)',
|
|
'admin.plugins.perm.hook:table-contributor':
|
|
'Menambahkan kolom dan tindakan ke tampilan perjalanan (pemesanan, tempat, hari)',
|
|
'admin.plugins.perm.hook:map-marker-provider':
|
|
'Menambahkan penanda ke peta perjalanan (mis. menampilkan pemesanan atau POI)',
|
|
'admin.plugins.perm.hook:map-layer-provider': 'Menggambar rute, koridor, dan zona di peta perjalanan',
|
|
'admin.plugins.perm.hook:route-provider':
|
|
'Menawarkan profil routing yang dapat digunakan perencana untuk menghitung rute hari (mis. routing mobil listrik dengan pemberhentian pengisian daya)',
|
|
'admin.plugins.perm.hook:day-schedule-provider':
|
|
'Melampirkan entri waktu ke rencana hari (pemberhentian pengisian daya, jeda keamanan)',
|
|
'admin.plugins.perm.hook:day-tint-provider':
|
|
'Memberi warna pada hari di rencana hari (misalnya bagian perjalanan mana yang memuat suatu hari)',
|
|
'admin.plugins.cap.mcpTools': 'Menerbitkan alat AI',
|
|
'admin.plugins.mcpToolsTitle': 'Alat AI yang diterbitkan',
|
|
'admin.plugins.mcpToolsHint': 'Asisten dapat menjalankannya atas nama pengguna. Masing-masing bertindak dengan akses yang diberikan di atas.',
|
|
'admin.plugins.perm.mcp:tools':
|
|
'Menerbitkan alat yang dapat dijalankan asisten AI atas nama Anda (bertindak dengan akses yang Anda berikan ke plugin di sini, bukan milik asisten)',
|
|
'admin.plugins.perm.geolocation:read':
|
|
'Meminta lokasi terkinimu selama salah satu tampilannya terbuka (TREK membacanya dengan izin lokasi situs ini, bukan izin milik plugin sendiri)',
|
|
'admin.plugins.perm.hook:pdf-section-provider': 'Menambahkan bagian teks ke ekspor PDF perjalanan',
|
|
'admin.plugins.perm.hook:atlas-layer-provider':
|
|
'Menyorot negara di peta dunia Atlas (mis. daftar keinginan atau peringatan perjalanan)',
|
|
'admin.plugins.perm.hook:journal-entry-provider': 'Menambahkan baris tambahan (tautan, statistik) ke entri jurnal',
|
|
'admin.plugins.perm.hook:user-data':
|
|
'Menghapus atau mengekspor data yang disimpannya tentang pengguna (GDPR: penghapusan akun & permintaan data)',
|
|
'admin.plugins.perm.hook:trip-card-provider': 'Menambahkan lencana kecil (status, jumlah) ke kartu perjalanan dasbor',
|
|
'admin.plugins.perm.hook:notification-channel': 'Mengirim notifikasi Anda melalui saluran tambahan',
|
|
'admin.plugins.perm.events:subscribe':
|
|
'Bereaksi terhadap peristiwa aktivitas inti (hanya nama peristiwa + perjalanan, tidak pernah kontennya)',
|
|
'admin.plugins.perm.http:outbound': 'Membuat permintaan keluar ke host yang telah dideklarasikannya',
|
|
'admin.plugins.perm.db:read:collab':
|
|
'Membaca catatan, jajak pendapat, dan pesan obrolan dari perjalanan yang dapat diakses oleh pengguna yang bersangkutan (memerlukan add-on Collab)',
|
|
'admin.plugins.perm.db:read:files:content':
|
|
'Membaca isi (byte) berkas dari perjalanan yang dapat diakses oleh pengguna yang bersangkutan',
|
|
'admin.plugins.perm.db:create:trips': 'Membuat perjalanan baru milik pengguna yang bersangkutan',
|
|
'admin.plugins.perm.rates:read': 'Membaca kurs mata uang host yang di-cache',
|
|
'admin.plugins.updateConsentTitle': 'Pembaruan ini memerlukan izin baru',
|
|
'admin.plugins.updateConsentBody':
|
|
'{name} v{version} meminta hak akses yang belum kamu berikan. Versi baru sudah terpasang tetapi tetap nonaktif sampai kamu menyetujuinya.',
|
|
'admin.plugins.updateNewPermissions': 'Izin yang baru diminta',
|
|
'admin.plugins.updateNewEgress': 'Koneksi keluar baru',
|
|
'admin.plugins.updateApprove': 'Setujui & aktifkan',
|
|
'admin.plugins.updateLater': 'Biarkan nonaktif dulu',
|
|
'admin.plugins.updateKeptOff': 'Pembaruan terpasang — dibiarkan nonaktif sampai kamu menyetujui izin baru',
|
|
'admin.plugins.reviewedMeaning':
|
|
'"Ditinjau" berarti seorang maintainer TREK memindai plugin ini dari malware pada setiap versi — bukan untuk kualitas atau apakah plugin ini berfungsi. Ini bukan jaminan bahwa sebuah plugin tidak berbahaya.',
|
|
'admin.plugins.security.title': 'Bagaimana plugin dikungkung — dan batasannya',
|
|
'admin.plugins.security.isolationTitle': 'Setiap plugin berjalan dalam kotak terisolasi',
|
|
'admin.plugins.security.isolationBody':
|
|
'Sebuah plugin berjalan sebagai prosesnya sendiri yang terkunci dan hanya bisa membaca file-nya sendiri. Ia tidak bisa membaca database kamu, rahasia login kamu, atau kunci enkripsi kamu, tidak bisa menjalankan program lain, dan tidak bisa menulis file di mana pun. Antarmukanya berjalan dalam frame browser tersegel yang tidak bisa membaca cookie sesi kamu atau menyentuh halaman TREK di sekitarnya.',
|
|
'admin.plugins.security.permsTitle': 'Apa arti izin-izin ini',
|
|
'admin.plugins.security.permsBody':
|
|
'Izin yang ditampilkan sebelum kamu memasang adalah batas keras yang diberlakukan TREK selama plugin berjalan — secara harfiah plugin tidak bisa melakukan apa pun yang tidak ada dalam daftar. Namun izin itu memberitahumu apa yang bisa dilakukan sebuah plugin, bukan apa yang sebenarnya dilakukannya. Plugin yang diizinkan membaca perjalananmu dan menjangkau sebuah server bisa mengirimkan perjalananmu ke server itu, jadi baca izin dan host keluarnya, bukan hanya deskripsinya.',
|
|
'admin.plugins.security.limitsTitle': 'Apa yang tidak bisa kami janjikan',
|
|
'admin.plugins.security.limitsBody':
|
|
'Isolasi ini adalah batas perangkat lunak yang kuat, bukan batas yang mutlak. Sebuah plugin bertindak persis dengan hak yang kamu setujui, jadi dalam batas hak itu ia bisa berperilaku berbeda dari yang disiratkan deskripsinya, dan ia bisa mengirim data yang memang dimilikinya secara sah ke host yang telah dideklarasikannya. TREK tidak membaca atau menilai apa yang sebenarnya dilakukan oleh kode sebuah plugin.',
|
|
'admin.plugins.security.worstTitle': 'Skenario terburuk',
|
|
'admin.plugins.security.worstBody':
|
|
'Plugin berbahaya yang kamu aktifkan bisa menyalahgunakan data dan koneksi yang kamu berikan padanya — misalnya, membocorkan perjalanan yang boleh dibacanya. Ia tidak bisa mencuri kata sandi, memalsukan login admin, menjalankan perintah di servermu, atau menjangkau data yang tidak kamu berikan. Kerusakannya tetap dalam batas yang kamu setujui, dan menonaktifkan plugin akan menghentikannya.',
|
|
'admin.plugins.security.reviewedTitle': 'Apa arti "Ditinjau"',
|
|
'admin.plugins.security.reviewedBody':
|
|
'Plugin yang ditinjau telah dipindai secara manual dari malware oleh seorang maintainer TREK pada setiap versi — diperiksa untuk kode berbahaya, bukan untuk apakah plugin berfungsi dengan baik. Ini bukan janji bahwa plugin tidak berbahaya.',
|
|
'admin.plugins.security.signedTitle': 'Apa arti "Ditandatangani"',
|
|
'admin.plugins.security.signedBody':
|
|
'Checksum yang diverifikasi TREK pada setiap pemasangan membuktikan bahwa file-nya persis seperti yang dijamin registri. Tanda tangan membuktikan hal yang berbeda: bahwa file itu datang dari pembuatnya, ditandatangani dengan kunci yang hanya dia miliki. Plugin yang ditandatangani punya keduanya. Plugin tanpa tanda tangan bukan berarti tidak aman — ia hanya membawa satu jaminan lebih sedikit, dan sebagian besar plugin di registri saat ini memang belum ditandatangani.',
|
|
'admin.plugins.signed': 'Ditandatangani',
|
|
'admin.plugins.signedHint': 'Diverifikasi dengan kunci tanda tangan pembuatnya saat dipasang',
|
|
'admin.plugins.unsigned': 'Tanpa tanda tangan',
|
|
'admin.plugins.unsignedHint':
|
|
'File-nya cocok dengan yang dijamin registri, tetapi tidak ada yang mengaitkannya dengan pembuatnya. Satu jaminan lebih sedikit — bukan berarti tidak aman.',
|
|
'admin.plugins.updateBlocked': 'Pembaruan diblokir — {reason}',
|
|
'admin.plugins.reviewBlock': 'Tinjau',
|
|
'admin.plugins.retrusted': 'Kunci tanda tangan baru dipercaya — plugin diperbarui',
|
|
'admin.plugins.sig.title': 'Tanda tangan {name} tidak dapat diverifikasi',
|
|
'admin.plugins.sig.keyChangedBody':
|
|
'Kunci tanda tangan pembuatnya bukan kunci yang dipakai saat plugin ini dipasang. Pembuat memang kadang mengganti kunci — tetapi penyerang yang mengambil alih plugin ini akan terlihat persis seperti ini.',
|
|
'admin.plugins.sig.invalidBody':
|
|
'File-nya tidak cocok dengan tanda tangan pembuatnya. File itu bukan yang ditandatangani pembuatnya — entah rusak, entah diutak-atik. Ini tidak bisa dilewati.',
|
|
'admin.plugins.sig.missingBody':
|
|
'Plugin ini ditandatangani saat kamu memasangnya, tetapi versi barunya tidak menyertakan tanda tangan. TREK tidak akan diam-diam menerima kemunduran itu. Ini tidak bisa dilewati.',
|
|
'admin.plugins.sig.incompleteBody':
|
|
'Entri registrinya setengah ditandatangani: ia mendeklarasikan kunci pembuat tetapi versinya tidak membawa tanda tangan (atau sebaliknya). Itu kesalahan di sisi plugin. Ini tidak bisa dilewati.',
|
|
'admin.plugins.sig.pinnedKey': 'Kunci saat dipasang',
|
|
'admin.plugins.sig.newKey': 'Kunci yang ditawarkan sekarang',
|
|
'admin.plugins.sig.confirmOutOfBand':
|
|
'TREK tidak bisa membedakan pergantian kunci yang sah dari pengambilalihan — dari sini keduanya terlihat sama persis. Pastikan dulu kunci baru itu ke pembuatnya lewat saluran yang sudah kamu percaya sebelum kamu menerimanya. Setelah kamu menerimanya, plugin diperbarui dan kunci barunya diingat.',
|
|
'admin.plugins.sig.retrustConfirm': 'Percayai kunci baru & perbarui',
|
|
'admin.plugins.sig.cancel': 'Jangan percayai',
|
|
'admin.plugins.sig.consentUnsigned':
|
|
'Tidak ada yang mengaitkan versi ini dengan pembuatnya — file-nya cocok dengan registri, tetapi tidak membawa tanda tangan pembuat.',
|
|
'admin.plugins.security.trustTitle': 'Intinya',
|
|
'admin.plugins.security.trustBody':
|
|
'Memasang plugin sama seperti memasang aplikasi pihak ketiga mana pun: hanya tambahkan kode dari pembuat yang kamu percaya, dan jika ragu, periksa sendiri terlebih dahulu. TREK tidak bertanggung jawab atas plugin pihak ketiga.',
|
|
'admin.plugins.runtimeOn': 'Runtime aktif',
|
|
'admin.plugins.tabDiscover': 'Jelajahi',
|
|
'admin.plugins.searchPlaceholder': 'Cari plugin…',
|
|
'admin.plugins.filterType': 'Jenis',
|
|
'admin.plugins.filterStatus': 'Status',
|
|
'admin.plugins.sortBy': 'Urutkan',
|
|
'admin.plugins.allTypes': 'Semua jenis',
|
|
'admin.plugins.allStatuses': 'Semua',
|
|
'admin.plugins.stateOff': 'Nonaktif',
|
|
'admin.plugins.filterUpdate': 'Pembaruan tersedia',
|
|
'admin.plugins.sortName': 'Nama',
|
|
'admin.plugins.sortRecent': 'Baru diperbarui',
|
|
'admin.plugins.sortUpdates': 'Pembaruan dulu',
|
|
'admin.plugins.sortDownloads': 'Paling banyak diunduh',
|
|
'admin.plugins.updatesAvailable': '{count} pembaruan tersedia untuk plugin kamu.',
|
|
'admin.plugins.newerNeedsTrek': 'v{version} tersedia — membutuhkan TREK {range}',
|
|
'admin.plugins.versionsTitle': 'Versi',
|
|
'admin.plugins.versionPickerTitle': 'Ubah versi — {name}',
|
|
'admin.plugins.versionSwitch': 'Beralih ke {version}',
|
|
'admin.plugins.versionNeedsTrek': 'membutuhkan TREK {range}',
|
|
'admin.plugins.changeVersion': 'Ubah versi…',
|
|
'admin.plugins.noVersions': 'Tidak ada versi terpublikasi yang ditemukan di registri.',
|
|
'admin.plugins.downgradeTitle': 'Kembalikan plugin ini?',
|
|
'admin.plugins.downgradeBody': 'Beralih dari v{from} ke v{to}: data yang ditulis oleh versi yang lebih baru tetap ada, dan versi yang lebih lama mungkin tidak memahaminya.',
|
|
'admin.plugins.downgradeConfirm': 'Kembalikan',
|
|
'admin.plugins.updatesHeld': 'Pembaruan dijeda di v{version}',
|
|
'admin.plugins.resumeUpdates': 'Lanjutkan pembaruan',
|
|
'admin.plugins.updatesResumed': 'Pembaruan dilanjutkan',
|
|
'admin.plugins.updateAll': 'Perbarui semua',
|
|
'admin.plugins.noMatchInstalled': 'Tidak ada plugin terpasang yang cocok dengan pencarianmu.',
|
|
'admin.plugins.noMatchRegistry': 'Tidak ada plugin di registri yang cocok dengan pencarianmu.',
|
|
'admin.plugins.restart': 'Mulai ulang',
|
|
'admin.plugins.restarted': 'Plugin dimulai ulang',
|
|
'admin.plugins.instanceSettings': 'Pengaturan instans',
|
|
'admin.plugins.settingsSaved': 'Pengaturan disimpan',
|
|
'admin.plugins.settingsSavedRestarted': 'Pengaturan disimpan — plugin dimulai ulang',
|
|
'admin.plugins.actions': 'Tindakan',
|
|
'admin.plugins.actions.confirm': 'Jalankan tindakan ini?',
|
|
'admin.plugins.actions.inactive': 'Aktifkan plugin untuk menjalankan tindakannya',
|
|
'admin.plugins.requiredMissing': '"{field}" wajib diisi',
|
|
'admin.plugins.cap.readsTrips': 'Membaca perjalananmu',
|
|
'admin.plugins.cap.readsUsers': 'Membaca profil dasar',
|
|
'admin.plugins.cap.readsCosts': 'Membaca pengeluaranmu',
|
|
'admin.plugins.cap.readsPacking': 'Membaca daftar barang bawaan',
|
|
'admin.plugins.cap.readsFiles': 'Membaca berkas perjalanan',
|
|
'admin.plugins.cap.writesCosts': 'Menambahkan pengeluaran',
|
|
'admin.plugins.cap.writesPlaces': 'Mengedit tempat',
|
|
'admin.plugins.cap.writesDays': 'Mengedit hari',
|
|
'admin.plugins.cap.writesItinerary': 'Mengedit itinerari',
|
|
'admin.plugins.cap.writesTrips': 'Mengedit perjalanan',
|
|
'admin.plugins.cap.metadata': 'Menambahkan metadata',
|
|
'admin.plugins.cap.widget': 'Widget dasbor',
|
|
'admin.plugins.cap.heroWidget': 'Widget boarding pass',
|
|
'admin.plugins.cap.placeSlot': 'Detail tempat',
|
|
'admin.plugins.cap.daySlot': 'Detail hari',
|
|
'admin.plugins.cap.reservationSlot': 'Detail reservasi',
|
|
'admin.plugins.cap.replacesTabs': 'Menggantikan tab perencana',
|
|
'admin.plugins.cap.realtime': 'Pembaruan real-time',
|
|
'admin.plugins.cap.notificationChannel': 'Saluran notifikasi',
|
|
'admin.plugins.cap.photos': 'Menyediakan foto',
|
|
'admin.plugins.cap.calendar': 'Menyediakan acara kalender',
|
|
'admin.plugins.cap.placeDetails': 'Memperkaya tempat',
|
|
'admin.plugins.cap.search': 'Menjawab pencarian',
|
|
'admin.plugins.cap.warnings': 'Tandai masalah',
|
|
'admin.plugins.cap.mapLayers': 'Menggambar di peta',
|
|
'admin.plugins.cap.routing': 'Menyediakan routing',
|
|
'admin.plugins.cap.daySchedule': 'Menambahkan waktu rencana',
|
|
'admin.plugins.cap.dayTint': 'Mewarnai hari',
|
|
'admin.plugins.cap.geolocation': 'Membaca lokasimu',
|
|
'admin.plugins.cap.events': 'Bereaksi terhadap aktivitas',
|
|
'admin.plugins.cap.requiresAddon': 'Membutuhkan {addon}',
|
|
'admin.plugins.cap.dependsOn': 'Membutuhkan {id} {version}',
|
|
'admin.plugins.dep.addonDisabledToast': 'Aktifkan dulu addon yang diperlukan: {addons}',
|
|
'admin.plugins.dep.autoEnabled': 'Mengaktifkan dulu plugin yang diperlukan: {plugins}',
|
|
'admin.plugins.dep.downloaded': '{id} berhasil diunduh',
|
|
'admin.plugins.dep.resolveTitle': 'Dependensi tidak ada',
|
|
'admin.plugins.dep.resolveBody': '“{name}” membutuhkan plugin berikut terpasang sebelum dapat diaktifkan.',
|
|
'admin.plugins.dep.requires': 'Membutuhkan {version}',
|
|
'admin.plugins.dep.mismatch': 'Membutuhkan {wanted} — {installed} yang terpasang',
|
|
'admin.plugins.dep.download': 'Unduh',
|
|
'admin.plugins.dep.update': 'Perbarui',
|
|
'admin.plugins.dep.resolveHint': 'Mengunduh versi kompatibel terbaru, termasuk dependensinya sendiri.',
|
|
'admin.plugins.dep.trekIncompatible': 'Membutuhkan TREK {range} — server ini menjalankan {host}',
|
|
'admin.plugins.dep.trekUnknown': 'Tidak menyatakan versi TREK mana yang didukung',
|
|
'admin.plugins.installCompatible': 'Instal {version}',
|
|
'admin.plugins.installAnyway': 'Tetap pasang',
|
|
'admin.plugins.rangeBypass.pill': 'Pemeriksaan versi nonaktif',
|
|
'admin.plugins.rangeBypass.pillHint':
|
|
'TREK_PLUGINS_IGNORE_TREK_RANGE disetel — plugin dapat dipasang dan dijalankan di luar versi TREK yang dinyatakan penulisnya',
|
|
'admin.plugins.rangeBypass.title': 'Di luar versi TREK yang didukung',
|
|
'admin.plugins.rangeBypass.noticeTitle': 'Dipasang di luar versi TREK yang didukung',
|
|
'admin.plugins.rangeBypass.body':
|
|
'“{name}” menyatakan dukungan untuk TREK {range}, sedangkan server ini menjalankan {host}. TREK meloloskannya hanya karena TREK_PLUGINS_IGNORE_TREK_RANGE disetel. Penulisnya belum memperbarui rentang versi plugin untuk TREK ini, jadi tidak ada jaminan plugin ini berfungsi — dan dalam kasus yang jarang, plugin yang tidak cocok dapat merusak data TREK. Lanjutkan hanya jika Anda menerima risiko itu.',
|
|
'admin.plugins.rangeBypass.bodyUnknown':
|
|
'“{name}” tidak menyatakan versi TREK mana yang didukungnya; server ini menjalankan {host}. TREK meloloskannya hanya karena TREK_PLUGINS_IGNORE_TREK_RANGE disetel. Tidak ada tanda bahwa penulisnya mengujinya di TREK ini, jadi tidak ada jaminan plugin ini berfungsi — dan dalam kasus yang jarang, plugin yang tidak cocok dapat merusak data TREK. Lanjutkan hanya jika Anda menerima risiko itu.',
|
|
'admin.plugins.dep.trekBypassed':
|
|
'Di luar rentang TREK-nya ({range}) — pemeriksaan versi nonaktif',
|
|
'admin.plugins.dep.trekBypassedUnknown': 'Tidak menyatakan rentang TREK — pemeriksaan versi nonaktif',
|
|
'admin.plugins.incompatible': 'Tidak kompatibel',
|
|
'admin.plugins.accessTitle': 'Yang bisa diaksesnya',
|
|
'admin.plugins.connectsTitle': 'Terhubung ke',
|
|
'admin.plugins.detailsTitle': 'Detail',
|
|
'admin.plugins.noAccess': 'Tidak perlu akses khusus.',
|
|
'admin.plugins.metaVersion': 'Versi',
|
|
'admin.plugins.metaSize': 'Ukuran',
|
|
'admin.plugins.metaRequires': 'Memerlukan',
|
|
'admin.plugins.metaReviewed': 'Ditinjau pada',
|
|
'admin.plugins.downloads': 'Unduhan',
|
|
'admin.addons.title': 'Addon',
|
|
'admin.addons.subtitle': 'Aktifkan atau nonaktifkan fitur untuk menyesuaikan pengalaman TREK kamu.',
|
|
'admin.addons.catalog.packing.name': 'Daftar',
|
|
'admin.addons.catalog.packing.description': 'Daftar packing dan tugas to-do untuk perjalananmu',
|
|
'admin.addons.catalog.budget.name': 'Biaya',
|
|
'admin.addons.catalog.budget.description': 'Catat pengeluaran perjalanan dan bagi di antara para pelancong',
|
|
'admin.addons.catalog.documents.name': 'Dokumen',
|
|
'admin.addons.catalog.documents.description': 'Simpan dan kelola dokumen perjalanan',
|
|
'admin.addons.catalog.vacay.name': 'Vacay',
|
|
'admin.addons.catalog.vacay.description': 'Perencana liburan pribadi dengan tampilan kalender',
|
|
'admin.addons.catalog.atlas.name': 'Atlas',
|
|
'admin.addons.catalog.atlas.description': 'Peta dunia dengan negara yang pernah dikunjungi dan statistik perjalanan',
|
|
'admin.addons.catalog.collab.name': 'Collab',
|
|
'admin.addons.catalog.collab.description': 'Catatan, jajak pendapat, obrolan, dan saran untuk merencanakan bersama',
|
|
'admin.addons.catalog.roadtrip.name': 'Perjalanan darat',
|
|
'admin.addons.catalog.roadtrip.description': 'Rencanakan perjalanan dengan perhentian; waktu berkendara dan tiba dihitung ulang otomatis',
|
|
'admin.addons.catalog.memories.name': 'Foto (Immich)',
|
|
'admin.addons.catalog.memories.description': 'Bagikan foto perjalanan melalui instans Immich kamu',
|
|
'admin.addons.catalog.mcp.name': 'MCP',
|
|
'admin.addons.catalog.mcp.description': 'Model Context Protocol untuk integrasi asisten AI',
|
|
'admin.addons.subtitleBefore': 'Aktifkan atau nonaktifkan fitur untuk menyesuaikan ',
|
|
'admin.addons.subtitleAfter': ' kamu.',
|
|
'admin.addons.catalog.naver_list_import.name': 'Naver List Import',
|
|
'admin.addons.catalog.naver_list_import.description': 'Impor tempat dari daftar Naver Maps yang dibagikan',
|
|
'admin.addons.catalog.airtrail.name': 'AirTrail',
|
|
'admin.addons.catalog.airtrail.description': 'Sinkronkan penerbangan dari instans AirTrail milikmu',
|
|
'admin.addons.catalog.dawarich.name': 'Dawarich',
|
|
'admin.addons.catalog.dawarich.description':
|
|
'Baca kunjungan dan rute terekam dari instans Dawarich yang dihubungkan sendiri oleh tiap pembaca',
|
|
'admin.addons.catalog.llm_parsing.name': 'Analisis AI',
|
|
'admin.addons.catalog.llm_parsing.description': 'Membaca pemesanan yang tidak dipahami pengurai bawaan, dengan model AI pilihanmu',
|
|
'admin.addons.enabled': 'Aktif',
|
|
'admin.addons.disabled': 'Nonaktif',
|
|
'admin.addons.type.trip': 'Perjalanan',
|
|
'admin.addons.type.global': 'Global',
|
|
'admin.addons.type.integration': 'Integrasi',
|
|
'admin.addons.tripHint': 'Tersedia sebagai tab di setiap perjalanan',
|
|
'admin.addons.globalHint': 'Tersedia sebagai bagian mandiri di navigasi utama',
|
|
'admin.addons.integrationHint': 'Layanan backend dan integrasi API tanpa halaman tersendiri',
|
|
'admin.addons.toast.updated': 'Addon diperbarui',
|
|
'admin.addons.toast.error': 'Gagal memperbarui addon',
|
|
'admin.addons.group.count': '{enabled} dari {total} aktif',
|
|
'admin.addons.noAddons': 'Tidak ada addon yang tersedia',
|
|
'admin.weather.title': 'Data Cuaca',
|
|
'admin.weather.badge': 'Sejak 24 Maret 2026',
|
|
'admin.weather.description':
|
|
'TREK menggunakan Open-Meteo sebagai sumber data cuaca. Open-Meteo adalah layanan cuaca gratis dan open-source — tidak perlu kunci API.',
|
|
'admin.weather.forecast': 'Prakiraan 16 hari',
|
|
'admin.weather.forecastDesc': 'Sebelumnya 5 hari (OpenWeatherMap)',
|
|
'admin.weather.climate': 'Data iklim historis',
|
|
'admin.weather.climateDesc': 'Rata-rata dari 85 tahun terakhir untuk hari di luar prakiraan 16 hari',
|
|
'admin.weather.requests': '10.000 permintaan / hari',
|
|
'admin.weather.requestsDesc': 'Gratis, tidak perlu kunci API',
|
|
'admin.weather.locationHint':
|
|
'Cuaca didasarkan pada tempat pertama dengan koordinat di setiap hari. Jika tidak ada tempat yang ditetapkan untuk suatu hari, tempat mana pun dari daftar tempat digunakan sebagai referensi.',
|
|
'admin.tabs.mcpTokens': 'Akses MCP',
|
|
'admin.mcpTokens.title': 'Akses MCP',
|
|
'admin.mcpTokens.subtitle': 'Kelola sesi OAuth dan token API di semua pengguna',
|
|
'admin.mcpTokens.sectionTitle': 'Token API',
|
|
'admin.mcpTokens.owner': 'Pemilik',
|
|
'admin.mcpTokens.tokenName': 'Nama Token',
|
|
'admin.mcpTokens.created': 'Dibuat',
|
|
'admin.mcpTokens.lastUsed': 'Terakhir Digunakan',
|
|
'admin.mcpTokens.never': 'Tidak pernah',
|
|
'admin.mcpTokens.empty': 'Belum ada token MCP yang dibuat',
|
|
'admin.mcpTokens.deleteTitle': 'Hapus Token',
|
|
'admin.mcpTokens.deleteMessage':
|
|
'Ini akan mencabut token segera. Pengguna akan kehilangan akses MCP melalui token ini.',
|
|
'admin.mcpTokens.deleteSuccess': 'Token dihapus',
|
|
'admin.mcpTokens.deleteError': 'Gagal menghapus token',
|
|
'admin.mcpTokens.loadError': 'Gagal memuat token',
|
|
'admin.oauthSessions.sectionTitle': 'Sesi OAuth',
|
|
'admin.oauthSessions.clientName': 'Klien',
|
|
'admin.oauthSessions.owner': 'Pemilik',
|
|
'admin.oauthSessions.scopes': 'Cakupan',
|
|
'admin.oauthSessions.created': 'Dibuat',
|
|
'admin.oauthSessions.empty': 'Tidak ada sesi OAuth aktif',
|
|
'admin.oauthSessions.revokeTitle': 'Cabut Sesi',
|
|
'admin.oauthSessions.revokeMessage': 'Ini akan segera mencabut sesi OAuth. Client akan kehilangan akses MCP.',
|
|
'admin.oauthSessions.revokeSuccess': 'Sesi dicabut',
|
|
'admin.oauthSessions.revokeError': 'Gagal mencabut sesi',
|
|
'admin.oauthSessions.loadError': 'Gagal memuat sesi OAuth',
|
|
'admin.tabs.github': 'GitHub',
|
|
'admin.audit.subtitle': 'Peristiwa sensitif keamanan dan administrasi (backup, pengguna, MFA, pengaturan).',
|
|
'admin.audit.empty': 'Belum ada entri audit.',
|
|
'admin.audit.refresh': 'Segarkan',
|
|
'admin.audit.loadMore': 'Muat lebih banyak',
|
|
'admin.audit.showing': '{count} dimuat · {total} total',
|
|
'admin.audit.col.time': 'Waktu',
|
|
'admin.audit.col.user': 'Pengguna',
|
|
'admin.audit.col.action': 'Tindakan',
|
|
'admin.audit.col.resource': 'Sumber Daya',
|
|
'admin.audit.col.ip': 'IP',
|
|
'admin.audit.col.details': 'Detail',
|
|
'admin.github.title': 'Riwayat Rilis',
|
|
'admin.github.subtitle': 'Pembaruan terbaru dari {repo}',
|
|
'admin.github.latest': 'Terbaru',
|
|
'admin.github.prerelease': 'Pra-rilis',
|
|
'admin.github.showDetails': 'Tampilkan detail',
|
|
'admin.github.hideDetails': 'Sembunyikan detail',
|
|
'admin.github.loadMore': 'Muat lebih banyak',
|
|
'admin.github.loading': 'Memuat...',
|
|
'admin.github.error': 'Gagal memuat rilis',
|
|
'admin.github.by': 'oleh',
|
|
'admin.github.support': 'Bantu saya terus mengembangkan TREK',
|
|
'admin.update.available': 'Pembaruan tersedia',
|
|
'admin.update.text': 'TREK {version} tersedia. Kamu menggunakan {current}.',
|
|
'admin.update.button': 'Lihat di GitHub',
|
|
'admin.update.install': 'Pasang Pembaruan',
|
|
'admin.update.confirmTitle': 'Pasang Pembaruan?',
|
|
'admin.update.confirmText':
|
|
'TREK akan diperbarui dari {current} ke {version}. Server akan restart otomatis setelahnya.',
|
|
'admin.update.dataInfo':
|
|
'Semua datamu (perjalanan, pengguna, kunci API, unggahan, Vacay, Atlas, anggaran) akan dipertahankan.',
|
|
'admin.update.warning': 'Aplikasi akan tidak tersedia sebentar selama restart.',
|
|
'admin.update.confirm': 'Perbarui Sekarang',
|
|
'admin.update.installing': 'Memperbarui…',
|
|
'admin.update.success': 'Pembaruan terpasang! Server sedang restart…',
|
|
'admin.update.failed': 'Pembaruan gagal',
|
|
'admin.update.backupHint': 'Kami merekomendasikan membuat backup sebelum memperbarui.',
|
|
'admin.update.backupLink': 'Pergi ke Backup',
|
|
'admin.update.howTo': 'Cara Memperbarui',
|
|
'admin.update.dockerText':
|
|
'Instans TREK kamu berjalan di Docker. Untuk memperbarui ke {version}, jalankan perintah berikut di servermu:',
|
|
'admin.update.nonDockerText':
|
|
'Instans TREK ini tidak berjalan di Docker. Untuk memperbarui ke {version}, jalankan ulang metode instalasi atau pembaruan yang kamu gunakan — misalnya, pada Proxmox Community Scripts jalankan pembaruan dari konsol LXC:',
|
|
'admin.update.wikiLink': 'Buka panduan pembaruan',
|
|
'admin.update.reloadHint': 'Muat ulang halaman dalam beberapa detik.',
|
|
'admin.tabs.permissions': 'Izin',
|
|
'admin.addons.catalog.journey.name': 'Journey',
|
|
'admin.addons.catalog.journey.description': 'Pelacakan perjalanan & jurnal dengan check-in, foto, dan cerita harian',
|
|
'admin.addons.catalog.collections.name': 'Koleksi',
|
|
'admin.addons.catalog.collections.description': 'Kumpulkan tempat dari perjalanan mana pun ke dalam daftar bernama dan gunakan lagi',
|
|
'admin.passkey.title': 'Login dengan passkey',
|
|
'admin.passkey.cardHint': 'Izinkan pengguna masuk dengan passkey (WebAuthn). Nonaktif secara default.',
|
|
'admin.passkey.login': 'Aktifkan login dengan passkey',
|
|
'admin.passkey.loginHint':
|
|
'Tampilkan opsi "Masuk dengan passkey" dan izinkan pengguna mendaftarkan passkey di pengaturan mereka.',
|
|
'admin.passkey.notConfigured':
|
|
'Belum ada domain WebAuthn yang terdeteksi untuk deployment ini. Atur APP_URL atau Relying Party ID di bawah — passkey tetap tersembunyi sampai itu dilakukan.',
|
|
'admin.passkey.rpId': 'Relying Party ID (domain)',
|
|
'admin.passkey.rpIdHint':
|
|
'Domain murni tempat passkey diikat, mis. trek.example.org. Kosongkan untuk mengambilnya dari APP_URL. Mengubahnya nanti akan membatalkan passkey yang sudah ada.',
|
|
'admin.passkey.origins': 'Origin yang diizinkan',
|
|
'admin.passkey.originsHint':
|
|
'Origin lengkap dipisahkan koma, mis. https://trek.example.org. Kosongkan untuk menggunakan APP_URL.',
|
|
'admin.passkey.reset': 'Reset passkey',
|
|
'admin.passkey.resetHint':
|
|
'Hapus semua passkey pengguna ini (mis. saat perangkat hilang). Mereka tetap bisa masuk dengan kata sandi mereka.',
|
|
'admin.passkey.resetConfirm': 'Hapus semua passkey untuk {name}?',
|
|
'admin.passkey.resetDone': 'Menghapus {count} passkey',
|
|
'admin.defaultSettings.mapProvider': 'Mesin peta',
|
|
'admin.defaultSettings.mapProviderHint':
|
|
'Peta default untuk semua orang di instance ini. Setiap pengguna tetap dapat menggantinya di pengaturan masing-masing.',
|
|
'admin.defaultSettings.providerLeaflet': 'Standar (gratis)',
|
|
'admin.defaultSettings.providerMapbox': 'Mapbox (3D)',
|
|
'admin.defaultSettings.providerMapLibre': 'MapLibre (OpenFreeMap)',
|
|
'admin.defaultSettings.mapboxToken': 'Token Mapbox bersama',
|
|
'admin.defaultSettings.mapboxTokenHint':
|
|
'Digunakan untuk setiap pengguna yang belum memasukkan token mereka sendiri — sehingga seluruh instance mendapatkan Mapbox tanpa perlu membagikan kunci satu per satu. Disimpan dalam bentuk terenkripsi.',
|
|
'admin.defaultSettings.mapboxStyle': 'Gaya peta',
|
|
'admin.defaultSettings.mapboxStylePlaceholder': 'Pilih gaya…',
|
|
'admin.defaultSettings.mapbox3d': 'Bangunan & medan 3D',
|
|
'admin.defaultSettings.mapboxQuality': 'Mode kualitas tinggi',
|
|
'admin.defaultSettings.cartoKey': 'Kunci CARTO bersama',
|
|
'admin.defaultSettings.cartoKeyHint':
|
|
'Digunakan untuk setiap pengguna yang belum memasukkan kunci mereka sendiri, sehingga seluruh instance mendapatkan ubin CARTO tanpa tanda air. Disimpan dalam bentuk terenkripsi.',
|
|
'admin.group.users': 'Users',
|
|
'admin.group.config': 'Configuration',
|
|
'admin.group.integration': 'Integrations',
|
|
'admin.group.maintenance': 'Maintenance',
|
|
'admin.invite.tripLabel': 'Tambahkan ke perjalanan (opsional)',
|
|
'admin.invite.tripNone': 'Tanpa perjalanan',
|
|
'admin.invite.tripHint': 'Pengguna baru otomatis ditambahkan ke perjalanan ini saat mereka mendaftar melalui tautan.',
|
|
'admin.invite.boundTo': 'menambahkan ke {trip}',
|
|
'admin.placesUsageTitle': 'Untuk apa kunci ini dipakai',
|
|
'admin.mapsKeyHintShort': 'Menambahkan foto, penilaian, dan jam buka. Setiap pencarian lalu ke Google.',
|
|
'admin.amapKeyHintShort': 'Untuk pencarian tempat di Tiongkok daratan. Perlu kunci layanan web, bukan kunci JS API.',
|
|
'admin.collab.links.subtitle': 'Tautan bersama dan penanda',
|
|
};
|
|
export default admin;
|