mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-11-14 00:01:03 +00:00
0b3d2873c2
Behind Pangolin or authentik the app shows the proxy's sign-in page itself, and nothing on it led back to the address screen: a failed passkey left users stuck on every launch. A bar over that page now offers to change the server and says that passkeys and security keys do not work there, as a web view cannot use them for a domain the app is not tied to. It steps aside while the keyboard is up. On iOS the page also gets the room the keyboard takes, so a button under it can be scrolled into view. The address screen hands the bar its words in the user's language when it connects.
191 lines
12 KiB
TypeScript
191 lines
12 KiB
TypeScript
import type { TranslationStrings } from '../types';
|
|
|
|
const native: TranslationStrings = {
|
|
'native.connect.title': 'Hubungkan ke TREK',
|
|
'native.connect.hint': 'Masukkan alamat yang kamu gunakan untuk membuka TREK di browser.',
|
|
'native.connect.placeholder': 'https://trek.example.com',
|
|
'native.connect.submit': 'Hubungkan',
|
|
'native.connect.checking': 'Memeriksa…',
|
|
'native.connect.tryDemo': 'Coba demonya',
|
|
'native.connect.whatIsServer': 'Apa itu server TREK?',
|
|
'native.connect.errorInvalid': 'Itu tidak terlihat seperti alamat web.',
|
|
'native.connect.errorUnreachable': 'Tidak ada server yang merespons di alamat ini. Periksa alamat dan koneksimu.',
|
|
'native.connect.errorNotTrek': 'Server di alamat ini bukan TREK.',
|
|
'native.connect.errorTooOld':
|
|
'Server ini menjalankan TREK versi lama. Aplikasi memerlukan TREK 5.1.3 atau lebih baru, jadi server perlu diperbarui terlebih dahulu.',
|
|
'native.connect.recheckHint':
|
|
'Versi aplikasi ini memerlukan TREK 5.1.3 atau lebih baru di server Anda, jadi aplikasi memeriksa server Anda sekali lagi.',
|
|
'native.offline.title': 'Server tidak dapat dijangkau',
|
|
'native.offline.hint': 'TREK tidak dapat menjangkau {server}. Periksa koneksimu dan coba lagi.',
|
|
'native.offline.retry': 'Coba lagi',
|
|
'native.changeServer': 'Ganti server',
|
|
'native.signInBar.hint':
|
|
'Passkey dan kunci keamanan tidak berfungsi di halaman ini dalam aplikasi. Masuk dengan kata sandi, atau izinkan aplikasi melewati proxy Anda.',
|
|
'native.login.failed': 'Gagal masuk. Silakan coba lagi.',
|
|
'native.handoff.title': 'Lanjutkan di aplikasi',
|
|
'native.handoff.hint': 'Kamu masuk sebagai {name}. Buka aplikasi TREK untuk menyelesaikan proses masuk di sana.',
|
|
'native.handoff.open': 'Buka aplikasi TREK',
|
|
'native.handoff.switchAccount': 'Gunakan akun lain',
|
|
'native.privacy': 'Kebijakan privasi',
|
|
'native.settings.server': 'Server', // same-as-en
|
|
'native.settings.serverHint': 'Aplikasi ini terhubung ke {server}.',
|
|
'native.welcome.headline': 'Perjalanan Anda.\nRencana Anda.',
|
|
'native.welcome.sub': 'Rencanakan bersama secara real time: tur, anggaran, jurnal, dan buku foto, dibantu AI.',
|
|
'native.welcome.connect': 'Hubungkan TREK Anda',
|
|
'native.welcome.connectSub': 'Buka alamat yang sudah Anda pakai',
|
|
'native.welcome.getCloud': 'Dapatkan TREK Cloud',
|
|
'native.welcome.getCloudSub': 'Dihosting untuk Anda, tanpa penyiapan',
|
|
'native.cloud.title': 'TREK Cloud',
|
|
'native.cloud.sub':
|
|
'Kami menghosting TREK untuk Anda, di alamat Anda sendiri. Tidak ada yang perlu dipasang atau dirawat: siap dalam hitungan menit.',
|
|
'native.cloud.f1': 'Alamat Anda sendiri, di server di Jerman',
|
|
'native.cloud.f2': 'Siap dalam hitungan menit, pembaruan kami yang urus',
|
|
'native.cloud.f3': 'Data Anda tetap milik Anda: tanpa iklan, tanpa pelacakan',
|
|
'native.cloud.cta': 'Mulai',
|
|
'native.cloud.haveServer': 'Saya sudah punya server TREK',
|
|
'native.connecting': 'Menghubungkan ke {host}',
|
|
'native.back': 'Kembali',
|
|
'native.plans.title': 'Pilih paket Anda',
|
|
'native.plans.sub': 'TREK dihosting di alamat Anda sendiri. Ubah atau batalkan kapan saja.',
|
|
'native.plans.monthly': 'Bulanan',
|
|
'native.plans.yearly': 'Tahunan',
|
|
'native.plans.perMonth': 'per bulan',
|
|
'native.plans.perYear': 'per tahun',
|
|
'native.plans.aiDocs': '{n} dokumen AI per bulan',
|
|
'native.plans.noAi': 'Tanpa dokumen AI',
|
|
'native.plans.storage': 'Penyimpanan {n} GB',
|
|
'native.plans.unlimited': 'Tempat, perjalanan & orang tanpa batas',
|
|
'native.plans.subscribe': 'Berlangganan',
|
|
'native.plans.loadError': 'Tidak dapat memuat paket. Periksa koneksi Anda dan coba lagi.',
|
|
'native.plans.retry': 'Coba lagi',
|
|
'native.plans.soon': 'Berlangganan di aplikasi belum tersedia.',
|
|
'native.plans.closed': 'TREK Cloud segera dibuka. Mulai hari pembukaan, Anda bisa berlangganan di sini.',
|
|
'native.claim.title': 'Hampir selesai',
|
|
'native.claim.sub': 'Pilih alamat Anda. Kami langsung menyiapkannya.',
|
|
'native.claim.addressLabel': 'Alamat Anda',
|
|
'native.claim.taken': 'Alamat itu sudah dipakai.',
|
|
'native.claim.invalid': 'Tiga huruf, angka, atau tanda hubung atau lebih.',
|
|
'native.claim.reserved': 'Alamat itu dicadangkan.',
|
|
'native.claim.free': 'Tersedia',
|
|
'native.claim.emailLabel': 'Email', // same-as-en
|
|
'native.claim.emailHint': 'Untuk akun Anda dan pemberitahuan tentang kontrak Anda.',
|
|
'native.claim.passwordLabel': 'Kata sandi',
|
|
'native.claim.passwordHint':
|
|
'Minimal 8 karakter. Kata sandi harus mengandung huruf besar, huruf kecil, angka, dan karakter khusus.',
|
|
'native.claim.subscribe': 'Berlangganan seharga {price}',
|
|
'native.claim.cancelled': 'Pembelian dibatalkan.',
|
|
'native.claim.failed': 'Pembelian tidak berhasil. Silakan coba lagi.',
|
|
'native.claim.redeemFailed': 'Kami tidak dapat menyiapkan TREK Anda. Silakan coba lagi.',
|
|
'native.claim.closedRefund':
|
|
'TREK Cloud segera dibuka. Google Play mengembalikan dana pembelian ini secara otomatis dalam tiga hari.',
|
|
'native.plans.restore': 'Pulihkan pembelian',
|
|
'native.plans.restoring': 'Memeriksa pembelian Anda…',
|
|
'native.plans.restoreNone': 'Tidak ada langganan aktif untuk Apple ID ini.',
|
|
'native.plans.restoreFailed': 'Kami tidak dapat memulihkan TREK Anda. Silakan coba lagi.',
|
|
'native.plans.legal':
|
|
'Pembayaran ditagihkan ke Apple ID Anda saat konfirmasi. Langganan diperpanjang otomatis kecuali dibatalkan setidaknya 24 jam sebelum periode berakhir. Kelola atau batalkan di pengaturan akun App Store Anda.',
|
|
'native.plans.terms': 'Ketentuan penggunaan Apple (EULA)',
|
|
'native.plans.ourTerms': 'Ketentuan TREK Cloud',
|
|
'native.plans.legalAndroid':
|
|
'Pembayaran ditagihkan ke akun Google Anda saat konfirmasi. Langganan diperpanjang otomatis kecuali Anda membatalkannya sebelum periode berakhir. Kelola atau batalkan di Google Play pada Profil, Pembayaran & langganan, Langganan.',
|
|
'native.plans.restoreNoneAndroid': 'Tidak ditemukan langganan aktif di akun Google ini.',
|
|
'native.claim.agree':
|
|
'Dengan berlangganan, ketentuan TREK Cloud berlaku untuk penyediaan instans Anda (penyedia: Maurice Bötger, Rostock). Pembelian, pembayaran, dan pengembalian dana ditangani oleh toko.',
|
|
'native.claim.pending': 'Pembelian Anda menunggu persetujuan. Setelah selesai, ketuk Pulihkan pembelian.',
|
|
'native.provisioning.title': 'Menyiapkan TREK Anda',
|
|
'native.provisioning.sub': 'Menyiapkan {host}. Ini hanya perlu satu menit.',
|
|
'native.provisioning.failedTitle': 'Hampir siap',
|
|
'native.provisioning.failedSub':
|
|
'TREK Anda sedang dalam perjalanan. Coba lagi sebentar lagi, atau buka aplikasi nanti.',
|
|
'native.provisioning.retry': 'Coba sekarang',
|
|
'native.update.title': 'Perbarui aplikasi TREK',
|
|
'native.update.body': 'Server ini memerlukan versi aplikasi yang lebih baru agar semuanya berfungsi.',
|
|
'native.update.open': 'Perbarui',
|
|
'native.lock.title': 'TREK terkunci',
|
|
'native.lock.unlock': 'Buka kunci',
|
|
'native.lock.reason': 'Buka kunci TREK',
|
|
'native.lock.settingTitle': 'Kunci aplikasi',
|
|
'native.lock.setting': 'Kunci dengan Face ID atau kode sandi',
|
|
'native.lock.settingHint':
|
|
'Meminta saat TREK dibuka dan setelah setengah menit di latar belakang, serta menyembunyikan aplikasi di pengalih aplikasi.',
|
|
'native.share.title': 'Impor ke perjalanan mana?',
|
|
'native.share.noTrips': 'Belum ada perjalanan. Buat satu dulu, lalu bagikan dokumennya lagi.',
|
|
'native.share.linkTitle': 'Apa yang harus TREK lakukan dengan tautan ini?',
|
|
'native.share.saveLink': 'Simpan ke tautan perjalanan',
|
|
'native.share.saveLinkHint': 'Semua orang di perjalanan menemukannya di Tautan',
|
|
'native.share.readBooking': 'Baca pemesanan darinya',
|
|
'native.share.readBookingHint': 'Untuk halaman konfirmasi',
|
|
'native.share.linkTrip': 'Simpan tautan ke perjalanan mana?',
|
|
'native.share.linkSaved': 'Tautan disimpan',
|
|
'native.share.linkUnsupported': 'Aktifkan Collab untuk menyimpan tautan dalam perjalanan.',
|
|
'native.pushPrompt.title': 'Aktifkan notifikasi?',
|
|
'native.pushPrompt.body':
|
|
'Ketahui segera saat seseorang menulis di obrolan perjalanan, mengundangmu, atau mengubah pemesanan. Kamu bisa mengubahnya kapan saja di pengaturan.',
|
|
'native.pushPrompt.enable': 'Aktifkan',
|
|
'native.pushPrompt.later': 'Nanti saja',
|
|
'native.widget.dayOf': 'Hari {n} dari {m}',
|
|
'native.widget.today': 'Hari ini',
|
|
'native.widget.noTrip': 'Belum ada perjalanan yang direncanakan',
|
|
'native.widget.inDays': '{n} hari lagi',
|
|
'native.widget.tomorrow': 'Besok',
|
|
'native.widget.nothingPlanned': 'Tidak ada rencana hari ini',
|
|
'native.widget.dayDone': 'Semua selesai hari ini',
|
|
'native.widget.noBookings': 'Tidak ada pemesanan mendatang',
|
|
'native.widget.noTodos': 'Semua beres',
|
|
'native.widget.now': 'Sekarang',
|
|
'native.widget.travellers': 'pelancong',
|
|
'native.widget.missing': 'belum dikemas',
|
|
'native.widget.countries': 'negara',
|
|
'native.widget.world': 'dari dunia',
|
|
'native.widget.group': 'Rombongan',
|
|
'native.widget.poll': 'Polling',
|
|
'native.widget.votes': 'suara',
|
|
'native.widget.noMessages': 'Belum ada pesan',
|
|
'native.widget.departure': 'Keberangkatan',
|
|
'native.gate.title': '{name} melindungi server ini',
|
|
'native.gate.titleUnknown': 'Halaman masuk melindungi server ini',
|
|
'native.gate.titleBasic': 'Permintaan kata sandi melindungi server ini',
|
|
'native.gate.hint': 'Masuk di sana sekali di dalam aplikasi, seperti di browser. Aplikasi menyimpan sesi itu.',
|
|
'native.gate.signIn': 'Masuk ke {name}',
|
|
'native.gate.signInGeneric': 'Masuk',
|
|
'native.gate.googleNote':
|
|
'Masuk dengan Google tidak bisa berjalan di dalam aplikasi. Jika milikmu memakainya, loloskan TREK di proxy saja.',
|
|
'native.gate.basicHint':
|
|
'Aplikasi tidak bisa menjawab permintaan ini. Loloskan TREK di proxy kamu: TREK tetap meminta login miliknya sendiri.',
|
|
'native.gate.help': 'Memakai aplikasi di balik proxy masuk',
|
|
'native.cert.title': 'Server ini meminta sertifikat klien',
|
|
'native.cert.titleRefused': 'Server tidak menerima sertifikat',
|
|
'native.cert.hint':
|
|
'Proxy di depannya hanya meloloskan perangkat yang menunjukkan sertifikat. Tambahkan file .p12 atau .pfx yang dibuat untuk perangkat ini. Aplikasi hanya menunjukkannya ke {host}.',
|
|
'native.cert.hintRefused': 'Proxy tidak (lagi) memercayai sertifikat di aplikasi. Pilih file yang diharapkannya.',
|
|
'native.cert.choose': 'Tambahkan file sertifikat',
|
|
'native.cert.chooseOther': 'Pilih sertifikat lain',
|
|
'native.cert.help': 'Menggunakan aplikasi dengan sertifikat klien',
|
|
'native.cert.passwordTitle': 'Kata sandi sertifikat',
|
|
'native.cert.passwordMessage': 'Masukkan kata sandi file sertifikat. Aplikasi tidak menyimpannya.',
|
|
'native.cert.passwordPlaceholder': 'Kata sandi',
|
|
'native.cert.passwordOk': 'Tambahkan',
|
|
'native.cert.passwordCancel': 'Batal',
|
|
'native.cert.passwordWrong': 'Kata sandi ini tidak membuka file. Coba lagi.',
|
|
'native.cert.errorFormat':
|
|
'Aplikasi tidak dapat membaca file ini. Diperlukan file .p12 atau .pfx berisi sertifikat dan kunci privatnya.',
|
|
'native.cert.errorNoKey': 'File ini tidak berisi kunci privat. Ekspor sertifikat bersama kuncinya.',
|
|
'native.cert.errorExpired': 'Sertifikat ini sudah kedaluwarsa.',
|
|
'native.cert.errorNotYetValid': 'Sertifikat ini belum berlaku. Periksa tanggal dan waktu di perangkat ini.',
|
|
'native.cert.errorStore': 'Aplikasi tidak dapat menyimpan sertifikat. Coba lagi.',
|
|
'native.cert.unreachableTitle': 'Sertifikat diperlukan',
|
|
'native.cert.unreachableHint': '{server} hanya meloloskan perangkat dengan sertifikat klien tepercaya.',
|
|
'native.cert.settingTitle': 'Sertifikat klien',
|
|
'native.cert.settingIssuer': 'Diterbitkan oleh {issuer}',
|
|
'native.cert.settingServer': 'Server', // same-as-en
|
|
'native.cert.settingValidUntil': 'Berlaku hingga',
|
|
'native.cert.settingHint': 'Aplikasi hanya menunjukkan sertifikat ini ke {host}, saat proxy-nya memintanya.',
|
|
'native.cert.settingReplace': 'Ganti',
|
|
'native.cert.settingRemove': 'Hapus',
|
|
'native.cert.removeTitle': 'Hapus sertifikat?',
|
|
'native.cert.removeMessage':
|
|
'Tanpa sertifikat, proxy di depan {host} tidak lagi meloloskan aplikasi sampai kamu menambahkan yang baru.',
|
|
};
|
|
|
|
export default native;
|