3x-ui/web/translation/id-ID.json
Aleksei Sidorenko 29fa28bf75 fix(tgbot): resolve client creation race conditions and localization bugs
- Refactored Telegram bot client creation state to use a concurrent-safe map (\clientStates map[int64]*ClientState\), replacing package-level global variables. This prevents data races when multiple administrators interact with the bot simultaneously.
- Fixed hardcoded English strings in \BuildInboundClientDataMessage\ by utilizing the \	.I18nBot()\ localization wrapper.
- Implemented \UpdateBotLocalizer\ to dynamically refresh the bot's language whenever the \	gLang\ setting is updated in the web panel, eliminating the need for a service restart.
- Synchronized missing translation keys for \Sub ID\ and \Flow\ across all non-English/Russian localization files to prevent missing interface elements.
2026-05-13 00:25:35 +03:00

977 lines
No EOL
49 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"camouflage": "Obfuscation",
"cancel": "Batal",
"certificate": "Sertifikat Digital",
"check": "Centang",
"clients": "Klien",
"close": "Tutup",
"comment": "Komentar",
"confirm": "Konfirmasi",
"copied": "Tersalin",
"copy": "Salin",
"copySuccess": "Berhasil Disalin",
"create": "Buat",
"day": "Hari",
"delete": "Hapus",
"depleted": "Habis",
"depletingSoon": "Akan Habis",
"disabled": "Nonaktif",
"domainName": "Nama Domain",
"download": "Unduh",
"edit": "Edit",
"emptyBalancersDesc": "Tidak ada penyeimbang yang ditambahkan.",
"emptyDnsDesc": "Tidak ada server DNS yang ditambahkan.",
"emptyFakeDnsDesc": "Tidak ada server Fake DNS yang ditambahkan.",
"emptyReverseDesc": "Tidak ada proxy terbalik yang ditambahkan.",
"enable": "Aktifkan",
"enabled": "Aktif",
"encryption": "Enkripsi",
"fail": "Gagal",
"filter": "Filter",
"getVersion": "Dapatkan Versi",
"host": "Host",
"hour": "Jam",
"indefinite": "Tak Terbatas",
"info": "Informasi Lebih Lanjut",
"install": "Instal",
"lastOnline": "Terakhir online",
"loading": "Memuat...",
"login": "Masuk",
"logout": "Keluar",
"menu": {
"apiDocs": "Dokumentasi API",
"dark": "Gelap",
"dashboard": "Ikhtisar",
"inbounds": "Masuk",
"link": "Kelola",
"logout": "Keluar",
"nodes": "Node",
"settings": "Pengaturan Panel",
"theme": "Tema",
"ultraDark": "Sangat Gelap",
"xray": "Konfigurasi Xray"
},
"minute": "Menit",
"monitor": "IP Pemantauan",
"noData": "Tidak ada data.",
"none": "None",
"offline": "Offline",
"online": "Online",
"pages": {
"client": {
"add": "Tambah Klien",
"bulk": "Tambahkan Massal",
"clearAll": "Hapus semua",
"clientCount": "Jumlah Klien",
"copyEmailPreview": "Pratinjau email hasil",
"copyFlowHint": "Diterapkan ke semua klien yang disalin. Biarkan kosong untuk melewati.",
"copyFlowLabel": "Flow untuk klien baru (VLESS)",
"copyFromInbound": "Salin klien dari inbound",
"copyResult": "Hasil penyalinan",
"copyResultErrors": "Kesalahan penyalinan",
"copyResultNone": "Tidak ada yang disalin: tidak ada klien yang dipilih atau sumber kosong",
"copyResultSuccess": "Berhasil disalin",
"copySelectSourceFirst": "Silakan pilih inbound sumber terlebih dahulu.",
"copySelected": "Salin yang dipilih",
"copySource": "Sumber",
"copyToInbound": "Salin klien ke",
"days": "Hari",
"delayedStart": "Mulai Awal",
"edit": "Edit Klien",
"expireDays": "Durasi",
"first": "Pertama",
"last": "Terakhir",
"method": "Metode",
"postfix": "Akhiran",
"prefix": "Awalan",
"renew": "Perpanjang Otomatis",
"renewDesc": "Perpanjangan otomatis setelah kedaluwarsa. (0 = nonaktif)(unit: hari)",
"selectAll": "Pilih semua",
"submitAdd": "Tambah Klien",
"submitEdit": "Simpan Perubahan"
},
"inbounds": {
"IPLimit": "Batas IP",
"IPLimitDesc": "Menonaktifkan masuk jika jumlah melebihi nilai yang ditetapkan. (0 = nonaktif)",
"IPLimitlog": "Log IP",
"IPLimitlogDesc": "Log histori IP. (untuk mengaktifkan masuk setelah menonaktifkan, hapus log)",
"IPLimitlogclear": "Hapus Log",
"addInbound": "Tambahkan Masuk",
"address": "Alamat",
"allTimeTraffic": "Total Lalu Lintas",
"allTimeTrafficUsage": "Total Penggunaan Sepanjang Waktu",
"certificateContent": "Konten Berkas",
"certificatePath": "Path Berkas",
"clickOnQRcode": "Klik pada Kode QR untuk Menyalin",
"client": "Klien",
"clone": "Duplikat",
"cloneInbound": "Duplikat",
"cloneInboundContent": "Semua pengaturan masuk ini, kecuali Port, Listening IP, dan Klien, akan diterapkan pada duplikat.",
"cloneInboundOk": "Duplikat",
"copyLink": "Salin URL",
"createdAt": "Dibuat",
"delDepletedClients": "Hapus Klien Habis",
"delDepletedClientsContent": "Apakah Anda yakin ingin menghapus semua klien yang habis?",
"delDepletedClientsTitle": "Hapus Klien Habis",
"deleteClient": "Hapus Klien",
"deleteClientContent": "Apakah Anda yakin ingin menghapus klien?",
"deleteInbound": "Hapus Masuk",
"deleteInboundContent": "Apakah Anda yakin ingin menghapus masuk?",
"deployTo": "Terapkan ke",
"destinationPort": "Port Tujuan",
"details": "Rincian",
"email": "Email",
"emailDesc": "Harap berikan alamat email yang unik.",
"enable": "Aktifkan",
"expireDate": "Durasi",
"export": "Ekspor Semua URL",
"exportInbound": "Ekspor Masuk",
"generalActions": "Tindakan Umum",
"import": "Impor",
"importInbound": "Impor Masuk",
"inboundCount": "Total Masuk",
"inboundData": "Data Masuk",
"info": "Info",
"lastReset": "Reset Terakhir",
"leaveBlankToNeverExpire": "Biarkan kosong untuk tidak pernah kedaluwarsa",
"localPanel": "Panel lokal",
"meansNoLimit": "= Unlimited. (unit: GB)",
"modifyInbound": "Ubah Masuk",
"monitorDesc": "Biarkan kosong untuk mendengarkan semua IP",
"network": "Jaringan",
"noRecommendKeepDefault": "Disarankan untuk tetap menggunakan pengaturan default",
"node": "Node",
"operate": "Menu",
"periodicTrafficReset": {
"daily": "Harian",
"hourly": "Setiap jam",
"monthly": "Bulanan",
"never": "Tidak Pernah",
"weekly": "Mingguan"
},
"periodicTrafficResetDesc": "Reset otomatis penghitung trafik pada interval tertentu",
"periodicTrafficResetTitle": "Reset Trafik Berkala",
"port": "Port",
"portMap": "Port Mapping",
"privatekey": "Kunci Pribadi",
"protocol": "Protokol",
"publicKey": "Kunci Publik",
"remark": "Catatan",
"resetAllClientTrafficContent": "Apakah Anda yakin ingin mereset traffic semua klien?",
"resetAllClientTrafficTitle": "Reset Traffic Semua Klien",
"resetAllClientTraffics": "Reset Traffic Semua Klien",
"resetAllTraffic": "Reset Semua Traffic Masuk",
"resetAllTrafficContent": "Apakah Anda yakin ingin mereset traffic semua masuk?",
"resetAllTrafficTitle": "Reset Semua Traffic Masuk",
"resetInboundClientTrafficContent": "Apakah Anda yakin ingin mereset traffic klien masuk ini?",
"resetInboundClientTrafficTitle": "Reset Traffic Klien Masuk",
"resetInboundClientTraffics": "Reset Traffic Klien Masuk",
"resetTraffic": "Reset Traffic",
"resetTrafficContent": "Apakah Anda yakin ingin mereset traffic?",
"same": "Sama",
"setDefaultCert": "Atur Sertifikat dari Panel",
"stream": {
"general": {
"name": "Nama",
"request": "Permintaan",
"response": "Respons",
"value": "Nilai"
},
"tcp": {
"method": "Metode",
"path": "Path",
"requestHeader": "Header Permintaan",
"responseHeader": "Header Respons",
"status": "Status",
"statusDescription": "Deskripsi Status",
"version": "Versi"
}
},
"subscriptionDesc": "Untuk menemukan URL langganan Anda, buka 'Rincian'. Selain itu, Anda dapat menggunakan nama yang sama untuk beberapa klien.",
"targetAddress": "Alamat Target",
"telegramDesc": "Harap berikan ID Obrolan Telegram. (gunakan perintah '/id' di bot) atau ({'@'}userinfobot)",
"title": "Masuk",
"toasts": {
"delDepletedClientsSuccess": "Semua klien yang habis telah dihapus",
"getNewVlessEncError": "Terjadi kesalahan saat mendapatkan sertifikat VlessEnc.",
"getNewX25519CertError": "Terjadi kesalahan saat mendapatkan sertifikat X25519.",
"getNewmldsa65Error": "Terjadi kesalahan saat mendapatkan sertifikat mldsa65.",
"inboundClientAddSuccess": "Klien inbound telah ditambahkan",
"inboundClientDeleteSuccess": "Klien inbound telah dihapus",
"inboundClientUpdateSuccess": "Klien inbound telah diperbarui",
"inboundCreateSuccess": "Inbound berhasil dibuat",
"inboundDeleteSuccess": "Inbound berhasil dihapus",
"inboundUpdateSuccess": "Inbound berhasil diperbarui",
"inboundsUpdateSuccess": "Inbound berhasil diperbarui",
"logCleanSuccess": "Log telah dibersihkan",
"obtain": "Dapatkan",
"resetAllClientTrafficSuccess": "Semua lalu lintas klien telah direset",
"resetAllTrafficSuccess": "Semua lalu lintas telah direset",
"resetInboundClientTrafficSuccess": "Lalu lintas telah direset",
"trafficGetError": "Gagal mendapatkan data lalu lintas",
"updateSuccess": "Pembaruan berhasil"
},
"totalDownUp": "Total Terkirim/Diterima",
"totalFlow": "Total Aliran",
"totalUsage": "Penggunaan Total",
"traffic": "Traffic",
"transportConfig": "Transport",
"updatedAt": "Diperbarui"
},
"index": {
"backup": "Cadangan",
"backupTitle": "Cadangan \u0026 Pulihkan",
"charts": "Grafik",
"config": "Konfigurasi",
"connectionCount": "Statistik Koneksi",
"cpu": "CPU",
"currentPanelVersion": "Versi panel saat ini",
"customGeoActions": "Aksi",
"customGeoAdd": "Tambah",
"customGeoAlias": "Alias",
"customGeoAliasLabelSuffix": " (kustom)",
"customGeoAliasPlaceholder": "a-z 0-9 _ -",
"customGeoAliasesError": "Gagal memuat alias geo kustom",
"customGeoDelete": "Hapus",
"customGeoDeleteConfirm": "Hapus sumber geo kustom ini?",
"customGeoDownload": "Perbarui sekarang",
"customGeoEdit": "Edit",
"customGeoEmpty": "Belum ada sumber geo kustom — klik Tambah untuk membuatnya",
"customGeoEnabled": "Aktif",
"customGeoErrAliasPattern": "Alias berisi karakter yang tidak diizinkan",
"customGeoErrAliasRequired": "Alias wajib diisi",
"customGeoErrAliasReserved": "Alias ini dicadangkan",
"customGeoErrDownload": "Unduh gagal",
"customGeoErrDuplicateAlias": "Alias ini sudah dipakai untuk jenis ini",
"customGeoErrInvalidType": "Jenis harus geosite atau geoip",
"customGeoErrInvalidUrl": "URL tidak valid",
"customGeoErrNotFound": "Sumber geo kustom tidak ditemukan",
"customGeoErrUpdateAllIncomplete": "Satu atau lebih sumber geo kustom gagal diperbarui",
"customGeoErrUrlHost": "Host URL tidak valid",
"customGeoErrUrlRequired": "URL wajib diisi",
"customGeoErrUrlScheme": "URL harus memakai http atau https",
"customGeoExtColumn": "Routing (ext:…)",
"customGeoInvalidId": "ID sumber tidak valid",
"customGeoLastUpdated": "Terakhir diperbarui",
"customGeoModalAdd": "Tambah geo kustom",
"customGeoModalEdit": "Edit geo kustom",
"customGeoModalSave": "Simpan",
"customGeoRoutingHint": "Pada aturan routing gunakan kolom nilai sebagai ext:file.dat:tag (ganti tag).",
"customGeoTitle": "GeoSite / GeoIP kustom",
"customGeoToastAdd": "Tambah geo kustom",
"customGeoToastDelete": "Geofile kustom “{{ .fileName }}” dihapus",
"customGeoToastDownload": "Geofile “{{ .fileName }}” diperbarui",
"customGeoToastList": "Daftar geo kustom",
"customGeoToastUpdate": "Perbarui geo kustom",
"customGeoToastUpdateAll": "Semua sumber kustom telah diperbarui",
"customGeoType": "Jenis",
"customGeoUrl": "URL",
"customGeoValidationAlias": "Alias hanya huruf kecil, angka, - dan _",
"customGeoValidationUrl": "URL harus diawali http:// atau https://",
"documentation": "Dokumentasi",
"dontRefresh": "Instalasi sedang berlangsung, harap jangan menyegarkan halaman ini",
"download": "Unduh",
"exportDatabase": "Cadangkan",
"exportDatabaseDesc": "Klik untuk mengunduh file .db yang berisi cadangan dari database Anda saat ini ke perangkat Anda.",
"frequency": "Frekuensi",
"geofileUpdateDialog": "Apakah Anda yakin ingin memperbarui geofile?",
"geofileUpdateDialogDesc": "Ini akan memperbarui file #filename#.",
"geofileUpdatePopover": "Geofile berhasil diperbarui",
"geofilesUpdateAll": "Perbarui semua",
"geofilesUpdateDialogDesc": "Ini akan memperbarui semua berkas.",
"getConfigError": "Terjadi kesalahan saat mengambil file konfigurasi",
"getDatabaseError": "Terjadi kesalahan saat mengambil database",
"importDatabase": "Pulihkan",
"importDatabaseDesc": "Klik untuk memilih dan mengunggah file .db dari perangkat Anda untuk memulihkan database dari cadangan.",
"importDatabaseError": "Terjadi kesalahan saat mengimpor database",
"importDatabaseSuccess": "Database berhasil diimpor",
"ipAddresses": "Alamat IP",
"latestPanelVersion": "Versi panel terbaru",
"logicalProcessors": "Prosesor logis",
"logs": "Log",
"memory": "RAM",
"operationHours": "Waktu Aktif",
"overallSpeed": "Kecepatan keseluruhan",
"panelUpToDate": "Panel sudah terbaru",
"panelUpdateCheckPopover": "Pemeriksaan pembaruan panel gagal",
"panelUpdateDesc": "Ini akan memperbarui 3X-UI ke rilis terbaru dan me-restart layanan panel.",
"panelUpdateDialog": "Apakah Anda benar-benar ingin memperbarui panel?",
"panelUpdateDialogDesc": "Ini akan memperbarui 3X-UI ke #version# dan me-restart layanan panel.",
"panelUpdateStartedPopover": "Pembaruan panel dimulai",
"readDatabaseError": "Terjadi kesalahan saat membaca database",
"received": "Diterima",
"restartXray": "Restart",
"sent": "Dikirim",
"stopXray": "Stop",
"storage": "Penyimpanan",
"swap": "Swap",
"systemHistoryTitle": "Riwayat Sistem",
"systemLoad": "Beban Sistem",
"systemLoadDesc": "Rata-rata beban sistem selama 1, 5, dan 15 menit terakhir",
"threads": "Thread",
"title": "Ikhtisar",
"toggleIpVisibility": "Alihkan visibilitas IP",
"totalData": "Total data",
"trendLast2Min": "2 menit terakhir",
"upToDate": "Terbaru",
"updatePanel": "Perbarui Panel",
"upload": "Unggah",
"xrayErrorPopoverTitle": "Terjadi kesalahan saat menjalankan Xray",
"xrayMetricsDisabled": "Endpoint metrik Xray belum dikonfigurasi",
"xrayMetricsHint": "Tambahkan blok metrics tingkat atas ke konfigurasi xray dengan tag metrics_out dan listen 127.0.0.1:11111, lalu mulai ulang xray.",
"xrayMetricsTitle": "Metrik Xray",
"xrayObservatoryAlive": "Aktif",
"xrayObservatoryDead": "Mati",
"xrayObservatoryEmpty": "Belum ada data Observatory",
"xrayObservatoryHint": "Tambahkan blok observatory ke konfigurasi xray yang mencantumkan tag outbound untuk diuji, lalu mulai ulang xray.",
"xrayObservatoryLastSeen": "Terakhir terlihat",
"xrayObservatoryLastTry": "Percobaan terakhir",
"xrayObservatoryTagPlaceholder": "Pilih outbound",
"xrayStatus": "Xray",
"xrayStatusError": "Kesalahan",
"xrayStatusRunning": "Berjalan",
"xrayStatusStop": "Berhenti",
"xrayStatusUnknown": "Tidak diketahui",
"xraySwitch": "Versi",
"xraySwitchClick": "Pilih versi yang ingin Anda pindah.",
"xraySwitchClickDesk": "Pilih dengan hati-hati, karena versi yang lebih lama mungkin tidak kompatibel dengan konfigurasi saat ini.",
"xraySwitchVersionDialog": "Apakah Anda yakin ingin mengubah versi Xray?",
"xraySwitchVersionDialogDesc": "Ini akan mengubah versi Xray ke #version#.",
"xraySwitchVersionPopover": "Xray berhasil diperbarui",
"xrayUpdates": "Pembaruan Xray"
},
"login": {
"hello": "Halo",
"loginAgain": "Sesi Anda telah berakhir, harap masuk kembali",
"title": "Selamat Datang",
"toasts": {
"emptyPassword": "Kata Sandi diperlukan",
"emptyUsername": "Nama Pengguna diperlukan",
"invalidFormData": "Format data input tidak valid.",
"successLogin": "Anda telah berhasil masuk ke akun Anda.",
"wrongUsernameOrPassword": "Username, kata sandi, atau kode dua faktor tidak valid."
}
},
"nodes": {
"actions": "Aksi",
"addNode": "Tambah Node",
"address": "Alamat",
"addressPlaceholder": "panel.example.com atau 1.2.3.4",
"apiToken": "Token API",
"apiTokenHint": "Panel jarak jauh menampilkan token API-nya di Pengaturan → Token API.",
"apiTokenPlaceholder": "Token dari halaman Pengaturan panel jarak jauh",
"avgLatency": "Latensi Rata-rata",
"basePath": "Base Path",
"connectionFailed": "Koneksi gagal",
"connectionOk": "Koneksi OK ({ms} ms)",
"cpu": "CPU",
"deleteConfirmContent": "Ini menghentikan pemantauan node. Panel jarak jauh itu sendiri tidak terpengaruh.",
"deleteConfirmTitle": "Hapus node \"{name}\"?",
"editNode": "Edit Node",
"enable": "Aktif",
"justNow": "baru saja",
"lastHeartbeat": "Heartbeat Terakhir",
"latency": "Latensi",
"mem": "Memori",
"name": "Nama",
"namePlaceholder": "mis. de-frankfurt-1",
"never": "tidak pernah",
"offlineNodes": "Offline",
"onlineNodes": "Online",
"port": "Port",
"probe": "Probe Sekarang",
"regenerate": "Buat Ulang Token",
"regenerateConfirm": "Membuat ulang akan membatalkan token saat ini. Setiap panel pusat yang menggunakannya akan kehilangan akses sampai diperbarui. Lanjutkan?",
"remark": "Catatan",
"scheme": "Skema",
"status": "Status",
"statusValues": {
"offline": "Offline",
"online": "Online",
"unknown": "Tidak diketahui"
},
"testConnection": "Tes Koneksi",
"title": "Node",
"toasts": {
"add": "Tambah node",
"delete": "Hapus node",
"deleted": "Node dihapus",
"fillRequired": "Nama, alamat, port, dan token API wajib diisi",
"list": "Gagal memuat node",
"obtain": "Gagal memuat node",
"probeFailed": "Probe gagal",
"test": "Tes koneksi",
"update": "Perbarui node"
},
"totalNodes": "Total Node",
"uptime": "Uptime",
"xrayVersion": "Versi Xray"
},
"settings": {
"TGBotSettings": "Bot Telegram",
"actions": "Tindakan",
"certs": "Sertifikat",
"currentPassword": "Kata Sandi Saat Ini",
"dateAndTime": "Tanggal dan Waktu",
"datepicker": "Jenis Kalender",
"datepickerDescription": "Tugas terjadwal akan berjalan berdasarkan kalender ini.",
"datepickerPlaceholder": "Pilih tanggal",
"direct": "Koneksi langsung",
"directDesc": "Secara langsung membuat koneksi dengan domain atau rentang IP negara tertentu.",
"expireTimeDiff": "Notifikasi Tanggal Kedaluwarsa",
"expireTimeDiffDesc": "Dapatkan notifikasi tentang tanggal kedaluwarsa saat mencapai ambang batas ini. (unit: hari)",
"externalTraffic": "Lalu Lintas Eksternal",
"externalTrafficInformEnable": "Informasikan API eksternal pada setiap pembaruan lalu lintas.",
"externalTrafficInformEnableDesc": "Inform external API on every traffic update.",
"externalTrafficInformURI": "Lalu Lintas Eksternal Menginformasikan URI",
"externalTrafficInformURIDesc": "Pembaruan lalu lintas dikirim ke URI ini.",
"fragment": "Fragmentasi",
"fragmentDesc": "Aktifkan fragmentasi untuk paket hello TLS",
"fragmentSett": "Pengaturan Fragmentasi",
"infoDesc": "Setiap perubahan yang dibuat di sini perlu disimpan. Harap restart panel untuk menerapkan perubahan.",
"information": "Informasi",
"intervals": "Interval",
"language": "Bahasa",
"mux": "Mux",
"muxDesc": "Mengirimkan beberapa aliran data independen dalam aliran data yang sudah ada.",
"muxSett": "Pengaturan Mux",
"newPassword": "Kata Sandi Baru",
"newUsername": "Username Baru",
"noisesDesc": "Aktifkan Noises.",
"noisesSett": "Pengaturan Noises",
"notifications": "Notifikasi",
"oldUsername": "Username Saat Ini",
"pageSize": "Ukuran Halaman",
"pageSizeDesc": "Tentukan ukuran halaman untuk tabel masuk. (0 = nonaktif)",
"panelListeningDomain": "Domain Pendengar",
"panelListeningDomainDesc": "Nama domain untuk panel web. (biarkan kosong untuk mendengarkan semua domain dan IP)",
"panelListeningIP": "IP Pendengar",
"panelListeningIPDesc": "Alamat IP untuk panel web. (biarkan kosong untuk mendengarkan semua IP)",
"panelPort": "Port Pendengar",
"panelPortDesc": "Nomor port untuk panel web. (harus menjadi port yang tidak digunakan)",
"panelSettings": "Umum",
"panelUrlPath": "URI Path",
"panelUrlPathDesc": "URI path untuk panel web. (dimulai dengan / dan diakhiri dengan /)",
"privateKeyPath": "Path Kunci Privat",
"privateKeyPathDesc": "Path berkas kunci privat untuk panel web. (dimulai dengan /)",
"proxyAndServer": "Proxy dan Server",
"publicKeyPath": "Path Kunci Publik",
"publicKeyPathDesc": "Path berkas kunci publik untuk panel web. (dimulai dengan /)",
"remarkModel": "Model Catatan \u0026 Karakter Pemisah",
"resetDefaultConfig": "Reset ke Default",
"restartPanel": "Restart Panel",
"restartPanelDesc": "Apakah Anda yakin ingin merestart panel? Jika Anda tidak dapat mengakses panel setelah merestart, lihat info log panel di server.",
"restartPanelSuccess": "Panel berhasil dimulai ulang",
"restartXrayOnClientDisable": "Nyalakan Ulang Xray Setelah Nonaktif Otomatis",
"restartXrayOnClientDisableDesc": "Saat klien otomatis dinonaktifkan karena kedaluwarsa atau batas trafik, mulai ulang Xray.",
"sampleRemark": "Contoh Catatan",
"save": "Simpan",
"security": {
"admin": "Kredensial admin",
"twoFactor": "Autentikasi dua faktor",
"twoFactorEnable": "Aktifkan 2FA",
"twoFactorEnableDesc": "Menambahkan lapisan autentikasi tambahan untuk keamanan lebih.",
"twoFactorModalChangeCredentialsStep": "Masukkan kode dari aplikasi untuk mengubah kredensial administrator.",
"twoFactorModalChangeCredentialsTitle": "Ubah kredensial",
"twoFactorModalDeleteSuccess": "Autentikasi dua faktor telah berhasil dihapus",
"twoFactorModalDeleteTitle": "Nonaktifkan autentikasi dua faktor",
"twoFactorModalError": "Kode salah",
"twoFactorModalFirstStep": "1. Pindai kode QR ini di aplikasi autentikasi atau salin token di dekat kode QR dan tempelkan ke aplikasi",
"twoFactorModalRemoveStep": "Masukkan kode dari aplikasi untuk menghapus autentikasi dua faktor.",
"twoFactorModalSecondStep": "2. Masukkan kode dari aplikasi",
"twoFactorModalSetSuccess": "Autentikasi dua faktor telah berhasil dibuat",
"twoFactorModalSetTitle": "Aktifkan autentikasi dua faktor",
"twoFactorModalSteps": "Untuk menyiapkan autentikasi dua faktor, lakukan beberapa langkah:"
},
"securitySettings": "Otentikasi",
"sessionMaxAge": "Durasi Sesi",
"sessionMaxAgeDesc": "Durasi di mana Anda dapat tetap masuk. (unit: menit)",
"subAnnounce": "Pengumuman",
"subAnnounceDesc": "Teks pengumuman yang ditampilkan di klien VPN",
"subCertPath": "Path Kunci Publik",
"subCertPathDesc": "Path berkas kunci publik untuk layanan langganan. (dimulai dengan /)",
"subDomain": "Domain Pendengar",
"subDomainDesc": "Nama domain untuk layanan langganan. (biarkan kosong untuk mendengarkan semua domain dan IP)",
"subEnable": "Aktifkan Layanan Langganan",
"subEnableDesc": "Mengaktifkan layanan langganan.",
"subEnableRouting": "Aktifkan perutean",
"subEnableRoutingDesc": "Pengaturan global untuk mengaktifkan perutean (routing) di klien VPN. (Hanya untuk Happ)",
"subEncrypt": "Encode",
"subEncryptDesc": "Konten yang dikembalikan dari layanan langganan akan dienkripsi Base64.",
"subJsonEnable": "Aktifkan/Nonaktifkan endpoint langganan JSON secara mandiri.",
"subKeyPath": "Path Kunci Privat",
"subKeyPathDesc": "Path berkas kunci privat untuk layanan langganan. (dimulai dengan /)",
"subListen": "IP Pendengar",
"subListenDesc": "Alamat IP untuk layanan langganan. (biarkan kosong untuk mendengarkan semua IP)",
"subPath": "URI Path",
"subPathDesc": "URI path untuk layanan langganan. (dimulai dengan / dan diakhiri dengan /)",
"subPort": "Port Pendengar",
"subPortDesc": "Nomor port untuk layanan langganan. (harus menjadi port yang tidak digunakan)",
"subProfileUrl": "URL Profil",
"subProfileUrlDesc": "Tautan ke situs web Anda yang ditampilkan di klien VPN",
"subRoutingRules": "Aturan routing",
"subRoutingRulesDesc": "Aturan routing global untuk klien VPN. (Hanya untuk Happ)",
"subSettings": "Langganan",
"subShowInfo": "Tampilkan Info Penggunaan",
"subShowInfoDesc": "Sisa traffic dan tanggal akan ditampilkan di aplikasi klien.",
"subSupportUrl": "URL Dukungan",
"subSupportUrlDesc": "Tautan dukungan teknis yang ditampilkan di klien VPN",
"subTitle": "Judul Langganan",
"subTitleDesc": "Judul yang ditampilkan di klien VPN",
"subURI": "URI Proxy Terbalik",
"subURIDesc": "Path URI dari URL langganan untuk digunakan di belakang proxy.",
"subUpdates": "Interval Pembaruan",
"subUpdatesDesc": "Interval pembaruan URL langganan dalam aplikasi klien. (unit: jam)",
"telegramAPIServer": "Telegram API Server",
"telegramAPIServerDesc": "Server API Telegram yang akan digunakan. Biarkan kosong untuk menggunakan server default.",
"telegramBotEnable": "Aktifkan Bot Telegram",
"telegramBotEnableDesc": "Mengaktifkan bot Telegram.",
"telegramBotLanguage": "Bahasa Bot Telegram",
"telegramChatId": "ID Obrolan Admin",
"telegramChatIdDesc": "ID Obrolan Admin Telegram. (dipisahkan koma)(dapatkan di sini {'@'}userinfobot) atau (gunakan perintah '/id' di bot)",
"telegramNotifyTime": "Waktu Notifikasi",
"telegramNotifyTimeDesc": "Waktu notifikasi bot Telegram yang diatur untuk laporan berkala. (gunakan format waktu crontab)",
"telegramProxy": "Proxy SOCKS",
"telegramProxyDesc": "Mengaktifkan proxy SOCKS5 untuk terhubung ke Telegram. (sesuaikan pengaturan sesuai panduan)",
"telegramToken": "Token Telegram",
"telegramTokenDesc": "Token bot Telegram yang diperoleh dari '{'@'}BotFather'.",
"tgNotifyBackup": "Cadangan Database",
"tgNotifyBackupDesc": "Kirim berkas cadangan database dengan laporan.",
"tgNotifyCpu": "Notifikasi Beban CPU",
"tgNotifyCpuDesc": "Dapatkan notifikasi jika beban CPU melebihi ambang batas ini. (unit: %)",
"tgNotifyLogin": "Notifikasi Login",
"tgNotifyLoginDesc": "Dapatkan notifikasi tentang username, alamat IP, dan waktu setiap kali seseorang mencoba masuk ke panel web Anda.",
"timeZone": "Zone Waktu",
"timeZoneDesc": "Tugas terjadwal akan berjalan berdasarkan zona waktu ini.",
"title": "Pengaturan Panel",
"toasts": {
"getOutboundTrafficError": "Gagal mendapatkan lalu lintas keluar",
"getSettings": "Terjadi kesalahan saat mengambil parameter.",
"modifySettings": "Parameter telah diubah.",
"modifyUser": "Anda telah berhasil mengubah kredensial administrator.",
"modifyUserError": "Terjadi kesalahan saat mengubah kredensial administrator.",
"originalUserPassIncorrect": "Username atau password saat ini tidak valid",
"resetOutboundTrafficError": "Gagal mereset lalu lintas keluar",
"userPassMustBeNotEmpty": "Username dan password baru tidak boleh kosong"
},
"trafficDiff": "Notifikasi Batas Traffic",
"trafficDiffDesc": "Dapatkan notifikasi tentang batas traffic saat mencapai ambang batas ini. (unit: GB)"
},
"xray": {
"Balancers": "Penyeimbang",
"FreedomStrategy": "Strategi Protokol Freedom",
"FreedomStrategyDesc": "Atur strategi output untuk jaringan dalam Protokol Freedom.",
"Inbounds": "Masuk",
"InboundsDesc": "Menerima klien tertentu.",
"Outbounds": "Keluar",
"OutboundsDesc": "Atur jalur lalu lintas keluar.",
"RoutingStrategy": "Strategi Pengalihan Keseluruhan",
"RoutingStrategyDesc": "Atur strategi pengalihan lalu lintas keseluruhan untuk menyelesaikan semua permintaan.",
"Routings": "Aturan Pengalihan",
"RoutingsDesc": "Prioritas setiap aturan penting!",
"Template": "Template Konfigurasi Xray Lanjutan",
"TemplateDesc": "File konfigurasi Xray akhir akan dibuat berdasarkan template ini.",
"Torrent": "Blokir Protokol BitTorrent",
"accessLog": "Log Akses",
"accessLogDesc": "Jalur file untuk log akses. Nilai khusus 'tidak ada' menonaktifkan log akses",
"advancedTemplate": "Lanjutan",
"balancer": {
"addBalancer": "Tambahkan Penyeimbang",
"balancerDesc": "BalancerTag dan outboundTag tidak dapat digunakan secara bersamaan. Jika digunakan secara bersamaan, hanya outboundTag yang akan berfungsi.",
"balancerSelectors": "Penyeleksi",
"balancerStrategy": "Strategi",
"editBalancer": "Sunting Penyeimbang",
"tag": "Menandai",
"tagDesc": "Label Unik"
},
"basicRouting": "Perutean Dasar",
"basicTemplate": "Dasar",
"blockConfigsDesc": "Opsi ini akan memblokir lalu lintas berdasarkan protokol dan situs web yang diminta.",
"blockConnectionsConfigsDesc": "Opsi ini akan memblokir lalu lintas berdasarkan negara yang diminta.",
"blockdomains": "Blokir Domain",
"blockips": "Blokir IP",
"completeTemplate": "Semua",
"directConnectionsConfigsDesc": "Koneksi langsung memastikan bahwa lalu lintas tertentu tidak dialihkan melalui server lain.",
"directdomains": "Domain Langsung",
"directips": "IP Langsung",
"dns": {
"add": "Tambahkan Server",
"clearAll": "Hapus Semua",
"clearAllConfirm": "Ini akan menghapus semua server DNS dari daftar. Tidak dapat dibatalkan.",
"clearAllTitle": "Hapus semua server DNS?",
"clientIp": "IP Klien",
"clientIpDesc": "Digunakan untuk memberi tahu server tentang lokasi IP yang ditentukan selama kueri DNS",
"disableCache": "Nonaktifkan cache",
"disableCacheDesc": "Menonaktifkan caching DNS",
"disableFallback": "Nonaktifkan Fallback",
"disableFallbackDesc": "Menonaktifkan kueri DNS fallback",
"disableFallbackIfMatch": "Nonaktifkan Fallback Jika Cocok",
"disableFallbackIfMatchDesc": "Menonaktifkan kueri DNS fallback ketika daftar domain yang cocok dari server DNS terpenuhi",
"dnsPresetFamily": "Keluarga",
"dnsPresetTitle": "Templat DNS",
"domains": "Domains",
"edit": "Sunting Server",
"enable": "Aktifkan DNS",
"enableDesc": "Aktifkan server DNS bawaan",
"enableParallelQuery": "Aktifkan Kueri Paralel",
"enableParallelQueryDesc": "Aktifkan kueri DNS paralel ke beberapa server untuk resolusi yang lebih cepat",
"expectIPs": "IP yang Diharapkan",
"finalQuery": "Kueri Akhir",
"hosts": "Hosts",
"hostsAdd": "Tambah Host",
"hostsDomain": "Domain (mis. domain:example.com)",
"hostsEmpty": "Tidak ada Host yang ditentukan",
"hostsValues": "IP atau domain — ketik dan tekan Enter",
"serveExpiredTTL": "TTL Kedaluwarsa",
"serveExpiredTTLDesc": "Masa berlaku (detik) entri cache kedaluwarsa; 0 = tidak pernah kedaluwarsa",
"serveStale": "Sajikan Kedaluwarsa",
"serveStaleDesc": "Mengembalikan hasil cache yang kedaluwarsa saat memperbarui di latar belakang",
"skipFallback": "Lewati Fallback",
"strategy": "Strategi Kueri",
"strategyDesc": "Strategi keseluruhan untuk menyelesaikan nama domain",
"tag": "Tanda DNS Masuk",
"tagDesc": "Tanda ini akan tersedia sebagai tanda masuk dalam aturan penataan.",
"timeoutMs": "Batas waktu (ms)",
"unexpectIPs": "IP tak terduga",
"usePreset": "Gunakan templat",
"useSystemHosts": "Gunakan Hosts Sistem",
"useSystemHostsDesc": "Gunakan file hosts dari sistem yang terinstal"
},
"dnsLog": "Log DNS",
"dnsLogDesc": "Apakah akan mengaktifkan log kueri DNS",
"errorLog": "Catatan eror",
"errorLogDesc": "Jalur file untuk log kesalahan. Nilai khusus 'tidak ada' menonaktifkan log kesalahan",
"fakedns": {
"add": "Tambahkan DNS Palsu",
"edit": "Edit DNS Palsu",
"ipPool": "Subnet Kumpulan IP",
"poolSize": "Ukuran Kolam"
},
"generalConfigs": "Strategi Umum",
"generalConfigsDesc": "Opsi ini akan menentukan penyesuaian strategi umum.",
"ipv4Routing": "Perutean IPv4",
"ipv4RoutingDesc": "Opsi ini akan mengalihkan lalu lintas berdasarkan tujuan tertentu melalui IPv4.",
"logConfigs": "Catatan",
"logConfigsDesc": "Log dapat mempengaruhi efisiensi server Anda. Disarankan untuk mengaktifkannya dengan bijak hanya jika diperlukan",
"logLevel": "Tingkat Log",
"logLevelDesc": "Tingkat log untuk log kesalahan, menunjukkan informasi yang perlu dicatat.",
"maskAddress": "Alamat Masker",
"maskAddressDesc": "Masker alamat IP, ketika diaktifkan, akan secara otomatis mengganti alamat IP yang muncul di log.",
"nordRouting": "Routing NordVPN",
"nordRoutingDesc": "Opsi ini akan mengalihkan lalu lintas berdasarkan tujuan tertentu melalui NordVPN.",
"outbound": {
"accessToken": "Token Akses",
"accountInfo": "Informasi Akun",
"addOutbound": "Tambahkan Keluar",
"addReverse": "Tambahkan Revers",
"address": "Alamat",
"allCities": "Semua Kota",
"bridge": "Jembatan",
"city": "Kota",
"country": "Negara",
"domain": "Domain",
"editOutbound": "Edit Keluar",
"editReverse": "Edit Revers",
"intercon": "Interkoneksi",
"link": "Tautan",
"load": "Beban",
"nordvpn": "NordVPN",
"outboundStatus": "Status Keluar",
"portal": "Portal",
"privateKey": "Kunci Privat",
"reverse": "Revers",
"reverseTag": "Tag Revers",
"reverseTagDesc": "Tag outbound proxy revers sederhana VLESS. Kosongkan untuk menonaktifkan.",
"reverseTagPlaceholder": "tag outbound (kosong untuk menonaktifkan)",
"sendThrough": "Kirim Melalui",
"server": "Server",
"settings": "Pengaturan",
"tag": "Tag",
"tagDesc": "Tag Unik",
"test": "Tes",
"testError": "Gagal menguji outbound",
"testFailed": "Tes gagal",
"testResult": "Hasil Tes",
"testSuccess": "Tes berhasil",
"testing": "Menguji koneksi...",
"type": "Tipe"
},
"outboundTestUrl": "URL tes outbound",
"outboundTestUrlDesc": "URL yang digunakan saat menguji konektivitas outbound",
"restart": "Restart Xray",
"restartError": "Terjadi kesalahan saat memulai ulang Xray.",
"restartSuccess": "Xray berhasil diluncurkan ulang",
"rules": {
"add": "Tambahkan Aturan",
"balancer": "Pengimbang",
"dest": "Tujuan",
"down": "Turun",
"edit": "Edit Aturan",
"first": "Pertama",
"inbound": "Masuk",
"info": "Info",
"last": "Terakhir",
"outbound": "Keluar",
"source": "Sumber",
"up": "Naik",
"useComma": "Item yang dipisahkan koma"
},
"save": "Simpan",
"statistics": "Statistik",
"statsInboundDownlink": "Statistik Unduh Masuk",
"statsInboundDownlinkDesc": "Mengaktifkan pengumpulan statistik untuk lalu lintas unduh dari semua proxy masuk.",
"statsInboundUplink": "Statistik Unggah Masuk",
"statsInboundUplinkDesc": "Mengaktifkan pengumpulan statistik untuk lalu lintas unggah dari semua proxy masuk.",
"statsOutboundDownlink": "Statistik Unduh Keluar",
"statsOutboundDownlinkDesc": "Mengaktifkan pengumpulan statistik untuk lalu lintas unduh dari semua proxy keluar.",
"statsOutboundUplink": "Statistik Unggah Keluar",
"statsOutboundUplinkDesc": "Mengaktifkan pengumpulan statistik untuk lalu lintas unggah dari semua proxy keluar.",
"stopError": "Terjadi kesalahan saat menghentikan Xray.",
"stopSuccess": "Xray telah berhasil dihentikan",
"title": "Konfigurasi Xray",
"tun": {
"mtuDesc": "Unit Transmisi Maksimum. Ukuran maksimum paket data. Standar adalah 1500",
"nameDesc": "Nama antarmuka TUN. Standar adalah 'xray0'",
"userLevel": "Level Pengguna",
"userLevelDesc": "Semua koneksi yang dibuat melalui inbound ini akan menggunakan level pengguna ini. Standar adalah 0"
},
"warpRouting": "Perutean WARP",
"warpRoutingDesc": "Opsi ini akan mengalihkan lalu lintas berdasarkan tujuan tertentu melalui WARP.",
"wireguard": {
"allowedIPs": "IP yang Diizinkan",
"domainStrategy": "Strategi Domain",
"endpoint": "Titik Akhir",
"psk": "Kunci Pra-Bagi",
"publicKey": "Kunci Publik",
"secretKey": "Kunci Rahasia"
}
}
},
"password": "Kata Sandi",
"path": "Jalur",
"protocol": "Protokol",
"qrCode": "Kode QR",
"remained": "Tersisa",
"remark": "Catatan",
"reset": "Reset",
"save": "Simpan",
"search": "Cari",
"secAlertConf": "Beberapa pengaturan rentan terhadap serangan. Disarankan untuk memperkuat protokol keamanan guna mencegah pelanggaran potensial.",
"secAlertPanelPort": "Port default panel rentan. Harap konfigurasi port acak atau tertentu.",
"secAlertPanelURI": "Jalur URI default panel tidak aman. Harap konfigurasi jalur URI kompleks.",
"secAlertSSL": "Panel kekurangan koneksi yang aman. Harap instal sertifikat TLS untuk perlindungan data.",
"secAlertSsl": "Koneksi ini tidak aman. Harap hindari memasukkan informasi sensitif sampai TLS diaktifkan untuk perlindungan data.",
"secAlertSubJsonURI": "Jalur URI default JSON langganan tidak aman. Harap konfigurasikan jalur URI kompleks.",
"secAlertSubURI": "Jalur URI default langganan tidak aman. Harap konfigurasi jalur URI kompleks.",
"secAlertTitle": "Peringatan keamanan",
"second": "Detik",
"security": "Keamanan",
"somethingWentWrong": "Terjadi kesalahan",
"status": "Status",
"subscription": {
"active": "Aktif",
"downloaded": "Diunduh",
"expiry": "Kedaluwarsa",
"inactive": "Nonaktif",
"individualLinks": "Tautan individual",
"noExpiry": "Tanpa kedaluwarsa",
"status": "Status",
"subId": "ID langganan",
"title": "Info langganan",
"totalQuota": "Kuota total",
"unlimited": "Tanpa batas",
"uploaded": "Diunggah"
},
"success": "Berhasil",
"sure": "Yakin",
"tgbot": {
"add": "Tambah",
"answers": {
"IpRefreshSuccess": "✅ {{ .Email }}: IP diperbarui dengan berhasil.",
"TGIdRefreshSuccess": "✅ {{ .Email }}: Pengguna Telegram Klien diperbarui dengan berhasil.",
"askToAddUserId": "Konfigurasi Anda tidak ditemukan!\r\nSilakan minta admin Anda untuk menggunakan ChatID Telegram Anda dalam konfigurasi Anda.\r\n\r\nChatID Pengguna Anda: \u003ccode\u003e{{ .TgUserID }}\u003c/code\u003e",
"canceled": "❌ {{ .Email }}: Operasi dibatalkan.",
"chooseClient": "Pilih Klien untuk Inbound {{ .Inbound }}",
"chooseInbound": "Pilih Inbound",
"clearIpSuccess": "✅ {{ .Email }}: IP dihapus dengan berhasil.",
"clientRefreshSuccess": "✅ {{ .Email }}: Klien diperbarui dengan berhasil.",
"disableSuccess": "✅ {{ .Email }}: Dinonaktifkan dengan berhasil.",
"enableSuccess": "✅ {{ .Email }}: Diaktifkan dengan berhasil.",
"errorOperation": "❗ Kesalahan dalam operasi.",
"expireResetSuccess": "✅ {{ .Email }}: Hari kadaluarsa direset dengan berhasil.",
"getClientsFailed": "❌ Gagal mendapatkan klien.",
"getInboundsFailed": "❌ Gagal mendapatkan inbounds.",
"getIpLog": "✅ {{ .Email }}: Dapatkan Log IP.",
"getUserInfo": "✅ {{ .Email }}: Dapatkan Info Pengguna Telegram.",
"removedTGUserSuccess": "✅ {{ .Email }}: Pengguna Telegram dihapus dengan berhasil.",
"resetIpSuccess": "✅ {{ .Email }}: Batas IP {{ .Count }} disimpan dengan berhasil.",
"resetTrafficSuccess": "✅ {{ .Email }}: Lalu lintas direset dengan berhasil.",
"setTrafficLimitSuccess": "✅ {{ .Email }}: Batas lalu lintas disimpan dengan berhasil.",
"successfulOperation": "✅ Operasi berhasil!"
},
"buttons": {
"ResetAllTraffics": "Reset Semua Lalu Lintas",
"SortedTrafficUsageReport": "Laporan Penggunaan Lalu Lintas yang Terurut",
"addClient": "Tambah Klien",
"allClients": "Semua Klien",
"cancel": "❌ Batal",
"cancelIpLimit": "❌ Batal Batas IP",
"cancelReset": "❌ Batal Reset",
"change_comment": "⚙️💬 Komentar",
"change_email": "⚙️📧 Email",
"change_flow": "🌊 Flow",
"change_id": "⚙️🔑 ID",
"change_password": "⚙️🔑 Kata Sandi",
"change_subid": "📝 Sub ID",
"clearIPs": "❌ Hapus IPs",
"clientUsage": "Dapatkan Penggunaan",
"closeKeyboard": "❌ Tutup Papan Ketik",
"commands": "Perintah",
"confirmClearIps": "✅ Konfirmasi Hapus IPs?",
"confirmNumber": "✅ Konfirmasi: {{ .Num }}",
"confirmNumberAdd": "✅ Konfirmasi menambahkan: {{ .Num }}",
"confirmRemoveTGUser": "✅ Konfirmasi Hapus Pengguna Telegram?",
"confirmResetTraffic": "✅ Konfirmasi Reset Lalu Lintas?",
"confirmToggle": "✅ Konfirmasi Aktifkan/Nonaktifkan Pengguna?",
"custom": "🔢 Kustom",
"dbBackup": "Dapatkan Cadangan DB",
"depleteSoon": "Habis Sebentar",
"flow_none": "None",
"getBanLogs": "Dapatkan Log Pemblokiran",
"getInbounds": "Dapatkan Inbounds",
"ipLimit": "🔢 Batas IP",
"ipLog": "🔢 Log IP",
"limitTraffic": "🚧 Batas Lalu Lintas",
"onlines": "Klien Online",
"refresh": "🔄 Perbarui",
"removeTGUser": "❌ Hapus Pengguna Telegram",
"resetExpire": "📅 Ubah Tanggal Kadaluarsa",
"resetTraffic": "📈 Reset Lalu Lintas",
"selectOneTGUser": "👤 Pilih Pengguna Telegram:",
"selectTGUser": "👤 Pilih Pengguna Telegram",
"serverUsage": "Penggunaan Server",
"setTGUser": "👤 Set Pengguna Telegram",
"submitDisable": "Kirim Sebagai Nonaktif ☑️",
"submitEnable": "Kirim Sebagai Aktif ✅",
"toggle": "🔘 Aktifkan / Nonaktifkan",
"use_default": "🏷️ Gunakan Default"
},
"clients": "Klien",
"commands": {
"getID": "🆔 ID Anda: \u003ccode\u003e{{ .ID }}\u003c/code\u003e",
"help": "🤖 Selamat datang di bot ini! Ini dirancang untuk menyediakan data tertentu dari panel web dan memungkinkan Anda melakukan modifikasi sesuai kebutuhan.\r\n\r\n",
"helpAdminCommands": "Untuk memulai ulang Xray Core:\r\n\u003ccode\u003e/restart\u003c/code\u003e\r\n\r\nUntuk mencari email klien:\r\n\u003ccode\u003e/usage [Email]\u003c/code\u003e\r\n\r\nUntuk mencari inbound (dengan statistik klien):\r\n\u003ccode\u003e/inbound [Catatan]\u003c/code\u003e\r\n\r\nID Obrolan Telegram:\r\n\u003ccode\u003e/id\u003c/code\u003e",
"helpClientCommands": "Untuk mencari statistik, gunakan perintah berikut:\r\n\u003ccode\u003e/usage [Email]\u003c/code\u003e\r\n\r\nID Obrolan Telegram:\r\n\u003ccode\u003e/id\u003c/code\u003e",
"helpDesc": "Bantuan bot",
"idDesc": "Tampilkan ID Telegram Anda",
"pleaseChoose": "👇 Harap pilih:\r\n",
"restartFailed": "❗ Kesalahan dalam operasi.\r\n\r\n\u003ccode\u003eError: {{ .Error }}\u003c/code\u003e.",
"restartSuccess": "✅ Operasi berhasil!",
"restartUsage": "\r\n\r\n\u003ccode\u003e/restart\u003c/code\u003e",
"start": "👋 Halo \u003ci\u003e{{ .Firstname }}\u003c/i\u003e.\r\n",
"startDesc": "Tampilkan menu utama",
"status": "✅ Bot dalam keadaan baik!",
"statusDesc": "Periksa status bot",
"unknown": "❗ Perintah tidak dikenal.",
"usage": "❗ Harap berikan teks untuk mencari!",
"welcome": "🤖 Selamat datang di \u003cb\u003e{{.Hostname }}\u003c/b\u003e bot managemen.\r\n",
"xrayNotRunning": "❗ Xray Core tidak berjalan."
},
"day": "Hari",
"days": "Hari",
"hours": "Jam",
"inbounds": "Inbound",
"keyboardClosed": "❌ Keyboard ditutup!",
"messages": {
"2faFailed": "2FA Gagal",
"AreYouSure": "Apakah kamu yakin? 🤔",
"FailedResetTraffic": "📧 Email: {{ .ClientEmail }}\n🏁 Hasil: ❌ Gagal \n\n🛠 Kesalahan: [ {{ .ErrorMessage }} ]",
"FinishProcess": "🔚 Proses reset traffic selesai untuk semua klien.",
"SuccessResetTraffic": "📧 Email: {{ .ClientEmail }}\n🏁 Hasil: ✅ Berhasil",
"TGUser": "👤 Pengguna Telegram: {{ .TelegramID }}\r\n",
"active": "💡 Aktif: {{ .Enable }}\r\n",
"backupTime": "🗄 Waktu Backup: {{ .Time }}\r\n",
"cancel": "❌ Proses Dibatalkan! \n\nAnda dapat /start lagi kapan saja. 🔄",
"client_flow": "Flow:",
"client_subid": "Sub ID:",
"comment_prompt": "💬 Komentar Default: {{ .ClientComment }}\n\nMasukkan komentar Anda.",
"cpuThreshold": "🔴 Beban CPU {{ .Percent }}% melebihi batas {{ .Threshold }}%",
"datetime": "⏰ Tanggal \u0026 Waktu: {{ .DateTime }}\r\n",
"depleteSoon": "🔜 Habis Sebentar: {{ .Deplete }}\r\n\r\n",
"disabled": "🛑 Dinonaktifkan: {{ .Disabled }}\r\n",
"download": "🔽 Unduh: ↓{{ .Download }}\r\n",
"email": "📧 Email: {{ .Email }}\r\n",
"email_prompt": "📧 Email Default: {{ .ClientEmail }}\n\nMasukkan email Anda.",
"enabled": "🚨 Diaktifkan: {{ .Enable }}\r\n",
"error_add_client": "⚠️ Kesalahan:\n\n {{ .error }}",
"exhaustedCount": "🚨 Jumlah Habis {{ .Type }}:\r\n",
"exhaustedMsg": "🚨 Habis {{ .Type }}:\r\n",
"expire": "📅 Tanggal Kadaluarsa: {{ .Time }}\r\n",
"expireIn": "📅 Kadaluarsa Dalam: {{ .Time }}\r\n",
"hostname": "💻 Host: {{ .Hostname }}\r\n",
"id_prompt": "🔑 ID Default: {{ .ClientId }}\n\nMasukkan ID Anda.",
"inbound": "📍 Inbound: {{ .Remark }}\r\n",
"inbound_client_data_id": "🔄 Masuk: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n📊 Lalu lintas: {{ .ClientTraffic }}\n📅 Tanggal Kedaluwarsa: {{ .ClientExp }}\n🌐 Batas IP: {{ .IpLimit }}\n💬 Komentar: {{ .ClientComment }}\n\nSekarang kamu bisa menambahkan klien ke inbound!",
"inbound_client_data_pass": "🔄 Masuk: {{ .InboundRemark }}\n\n🔑 Kata sandi: {{ .ClientPass }}\n📧 Email: {{ .ClientEmail }}\n📊 Lalu lintas: {{ .ClientTraffic }}\n📅 Tanggal Kedaluwarsa: {{ .ClientExp }}\n🌐 Batas IP: {{ .IpLimit }}\n💬 Komentar: {{ .ClientComment }}\n\nSekarang kamu bisa menambahkan klien ke inbound!",
"incorrect_input": "Masukan Anda tidak valid.\nFrasa harus berlanjut tanpa spasi.\nContoh benar: aaaaaa\nContoh salah: aaa aaa 🚫",
"invalid_subid": "Invalid format.\nSub ID can only contain letters, numbers, hyphens (-), and underscores (_).\nSpaces and special characters are not allowed. 🚫",
"ip": "🌐 IP: {{ .IP }}\r\n",
"ips": "🔢 IP:\r\n{{ .IPs }}\r\n",
"ipv4": "🌐 IPv4: {{ .IPv4 }}\r\n",
"ipv6": "🌐 IPv6: {{ .IPv6 }}\r\n",
"lastOnline": "🔙 Terakhir online: {{ .Time }}\r\n",
"loginFailed": "❗️ Gagal masuk ke panel.\r\n",
"loginSuccess": "✅ Berhasil masuk ke panel.\r\n",
"no": "❌ Tidak",
"online": "🌐 Status Koneksi: {{ .Status }}\r\n",
"onlinesCount": "🌐 Klien Online: {{ .Count }}\r\n",
"pass_prompt": "🔑 Kata Sandi Default: {{ .ClientPassword }}\n\nMasukkan kata sandi Anda.",
"port": "🔌 Port: {{ .Port }}\r\n",
"reason": "❗️ Alasan: {{ .Reason }}\r\n",
"received_comment": "💬📥 Komentar diperbarui.",
"received_email": "📧📥 Email diperbarui.",
"received_id": "🔑📥 ID diperbarui.",
"received_password": "🔑📥 Kata sandi diperbarui.",
"received_subid": "Sub ID updated successfully!",
"refreshedOn": "\r\n📋🔄 Diperbarui Pada: {{ .Time }}\r\n\r\n",
"report": "🕰 Laporan Terjadwal: {{ .RunTime }}\r\n",
"selectUserFailed": "❌ Kesalahan dalam pemilihan pengguna!",
"serverLoad": "📈 Beban Sistem: {{ .Load1 }}, {{ .Load2 }}, {{ .Load3 }}\r\n",
"serverMemory": "📋 RAM: {{ .Current }}/{{ .Total }}\r\n",
"serverUpTime": "⏳ Waktu Aktif: {{ .UpTime }} {{ .Unit }}\r\n",
"subid_prompt": "Please enter new Sub ID:\nCurrent: {{.ClientSubId}}",
"tcpCount": "🔹 TCP: {{ .Count }}\r\n",
"time": "⏰ Waktu: {{ .Time }}\r\n",
"total": "📊 Total: ↑↓{{ .UpDown }} / {{ .Total }}\r\n",
"traffic": "🚦 Lalu Lintas: {{ .Total }} (↑{{ .Upload }},↓{{ .Download }})\r\n",
"udpCount": "🔸 UDP: {{ .Count }}\r\n",
"upload": "🔼 Unggah: ↑{{ .Upload }}\r\n",
"userSaved": "✅ Pengguna Telegram tersimpan.",
"username": "👤 Nama Pengguna: {{ .Username }}\r\n",
"using_default_value": "Oke, saya akan tetap menggunakan nilai default. 😊",
"version": "🚀 Versi 3X-UI: {{ .Version }}\r\n",
"xrayStatus": " Status: {{ .State }}\r\n",
"xrayVersion": "📡 Versi Xray: {{ .XrayVersion }}\r\n",
"yes": "✅ Ya"
},
"minutes": "Menit",
"month": "Bulan",
"months": "Bulan",
"noInbounds": "❗ Tidak ada inbound yang ditemukan!",
"noIpRecord": "❗ Tidak ada Catatan IP!",
"noQuery": "❌ Kueri tidak ditemukan! Silakan gunakan perintah lagi!",
"noResult": "❗ Tidak ada hasil!",
"offline": "🔴 Offline",
"online": "🟢 Online",
"unknown": "Tidak diketahui",
"unlimited": "♾ Tidak terbatas (Reset)",
"wentWrong": "❌ Terjadi kesalahan!"
},
"transmission": "Transmisi",
"twoFactorCode": "Kode",
"unlimited": "Tanpa Batas",
"update": "Perbarui",
"usage": "Penggunaan",
"useIPv4ForHost": "Gunakan IPv4 untuk host",
"username": "Nama Pengguna"
}