i18n (Phase C batch 12): residu empty-state/hint di 24 file admin ID/EN

This commit is contained in:
oxpoe committed 2026-10-09 08:07:59 +07:00
1 parent e70bc23651
commit 60ef8bafab
26 files changed
+209 -97

No files matched your search

+77 -21
View File
@@ -927,7 +927,12 @@
"th_pppoe": "PPPoE / ONU Tag",
"th_pkg_odp": "Package & ODP",
"th_gps": "GPS Coordinates",
"ph_odp": "Search ODP (name / description)..."
"ph_odp": "Search ODP (name / description)...",
"pon_port": "PON Port (optional)",
"empty_cust": "No customer data yet.",
"empty_odp": "No ODP data yet.",
"view_port": "Click to view port visual",
"port_err": "Failed to load port data."
},
"print_invoice": {
"title": "Print Invoice Receipt",
@@ -1109,7 +1114,9 @@
"wifi_pass": "Wi-Fi Password (WPA2)",
"loading": "Loading...",
"run_prov": "Run Provisioning",
"add_server": "Add ACS Server"
"add_server": "Add ACS Server",
"bind_lan": "Select the LAN Ports to bind:",
"bind_ssid": "Select the WLAN (SSID) to bind:"
},
"vd": {
"action": "Action",
@@ -1138,7 +1145,8 @@
"tab_broadcast": "Broadcast & Reminder",
"tab_templates": "Message Templates",
"tab_livechat": "Live Chat",
"tab_preview": "Message Preview"
"tab_preview": "Message Preview",
"ph_deviceid": "Device ID (optional)"
},
"automation": {
"title": "Automation",
@@ -1630,7 +1638,9 @@
"disconnect_mt": "Disconnect MikroTik Session",
"calc_reg": "Prorata Calculator — Approve Registrant",
"start_use": "Start Using",
"approve_invoice": "Approve & Create Invoice"
"approve_invoice": "Approve & Create Invoice",
"modem_hint": "Customer modem login credentials for RADIUS & PPPoE.",
"reg_hint": "Automatically calculated on install/payment. Can be adjusted manually if needed."
},
"bill": {
"ph_note": "e.g. service credit for downtime",
@@ -1684,12 +1694,17 @@
"general_task": "-- General / Non-Customer Task (Maintenance) --",
"unassigned": "-- Unassigned (Open) --",
"st_open": "Not Handled (Open)",
"st_progress": "In Progress"
"st_progress": "In Progress",
"no_photo": "No photo"
},
"onu": {
"select_vendor": "Select Vendor",
"hint_rescan": "Click \"Rescan\" to find unconfigured ONUs",
"hint_reload": "Click \"Reload / Scan\" to monitor configured ONU status via SNMP"
"hint_reload": "Click \"Reload / Scan\" to monitor configured ONU status via SNMP",
"ssid_hint": "Set the ONU WiFi SSID and password",
"wan_mode_hint": "Bridge (MikroTik dials) or Router (ONU dials)",
"ph_url": "Format: http://host:port or https://host:port",
"empty": "No unconfigured ONU found"
},
"rds": {
"card_status": "RADIUS Server Status",
@@ -1897,13 +1912,19 @@
"no_data": "No data yet.",
"ew_not_tx": "Not a transaction",
"ew_paid": "Paid",
"ew_unmatched": "Not matched"
"ew_unmatched": "Not matched",
"speedtest_hint": "The preset only auto-fills — adjust the URL if needed.",
"qris_dyn_hint": "If filled, the system creates a dynamic QRIS per transaction (amount auto-filled on scan). If empty, the system uses the image URL as usual.",
"qris_upload_hint": "If uploaded, the system saves the file and auto-fills the QRIS URL.",
"bank_hint": "The amount & unique code are the same as QRIS; verification is automatic (webhook forwarder) + manual (upload proof)."
},
"mt": {
"updating": "Updating...",
"online_list": "Online PPPoE Users",
"offline_list": "Offline PPPoE Users",
"limit_uptime": "Uptime Limit (e.g. 1h)"
"limit_uptime": "Uptime Limit (e.g. 1h)",
"empty_pppoe": "No PPPoE profile data.",
"empty_hs": "No Hotspot profile data."
},
"disc": {
"title": "Invoice Discount",
@@ -1927,7 +1948,8 @@
"apply": "Apply Discount",
"selected": "selected",
"history": "Discount History (last 100)",
"th_note": "Note"
"th_note": "Note",
"empty_cust": "No customers."
},
"cpay": {
"title": "Collector Payment Approval",
@@ -1942,7 +1964,8 @@
"th_invoice": "Invoice",
"th_process": "Process",
"approve": "Approve",
"reject": "Reject"
"reject": "Reject",
"wait_approval": "Waiting for admin or cashier"
},
"att": {
"late_checkin": "Late Check-in",
@@ -1959,7 +1982,9 @@
"checkin_time": "Check-in Time",
"duration": "Duration",
"location": "Location",
"photo": "Photo"
"photo": "Photo",
"empty": "No attendance data",
"empty_sub": "No employee has checked in on this date."
},
"olt": {
"all_summary": "All OLTs (Total Summary)",
@@ -2015,7 +2040,12 @@
"ph_isolir_profile": "— use global/customer default —",
"night_profile": "Night Profile Name (MikroTik)",
"ph_night_profile": "-- Select Profile --",
"night_down": "Night Download (Mbps)"
"night_down": "Night Download (Mbps)",
"promo_prorata": "Invoice promo & proration",
"prorata_first": "First invoice proration (install date = billing month)",
"night_hint": "The system switches customers to this PPP profile between 00:00 - 06:00.",
"kalong_hint": "Check to configure (fields open automatically if this package uses Jam Kalong).",
"fup_hint": "Check to configure (fields open automatically if this package uses FUP)."
},
"col": {
"title": "Collector Management",
@@ -2032,7 +2062,8 @@
"del": "Delete Collector",
"full_name": "Full Name",
"area_region": "Area / Assignment Region",
"opt_all_area": "-- All Areas / Unrestricted --"
"opt_all_area": "-- All Areas / Unrestricted --",
"empty": "No collector data yet."
},
"mon": {
"title": "System Monitoring",
@@ -2079,7 +2110,9 @@
"total_hours": "Total Hours",
"work_hours": "Work hours",
"avg": "Average",
"hours_per_day": "Hours/day"
"hours_per_day": "Hours/day",
"preview": "Preview of the final photo to be sent:",
"checkin_hint": "Please check in to start your workday."
},
"gis": {
"ph_search": "Search ODP, ODC, HTB, Customer...",
@@ -2132,7 +2165,10 @@
"th_validity": "Validity",
"th_prefix": "Prefix",
"th_len": "Code Length",
"th_chars": "Characters"
"th_chars": "Characters",
"opt_active": "Active (Shown in customer portal)",
"empty": "No real-time hotspot voucher package registered yet. Click the Add button above to start!",
"no_meta": "The profile has no Mikhmon metadata. Fill in the price and validity manually."
},
"cashin": {
"heading": "Cash In (Others)",
@@ -2157,7 +2193,8 @@
"ph_ref": "Can be left blank",
"save": "Save Income",
"title": "Cash In",
"th_method": "Method"
"th_method": "Method",
"empty": "No cash-in data yet."
},
"exp": {
"heading": "Expenses (Cash Out)",
@@ -2182,7 +2219,8 @@
"pay_credit": "Credit / Paylater",
"save": "Save Expense",
"title": "Expenses",
"th_method": "Method"
"th_method": "Method",
"empty": "No expense data yet."
},
"ar": {
"heading": "Area / Region Management",
@@ -2211,7 +2249,8 @@
"setup_fw": "Isolir Firewall Setup",
"edit": "Edit Router",
"del": "Delete Router",
"live_title": "Router Live Detail"
"live_title": "Router Live Detail",
"script_hint": "This script is auto-generated from the server IP & billing URL (app_url). You can copy and paste it into the MikroTik Winbox Terminal."
},
"bc": {
"send_title": "Send Invoices Now (Manual — if Auto is OFF)",
@@ -2245,7 +2284,9 @@
"auto_clean": "Automatic Cleanup",
"retention": "Retention (Days)",
"history": "Backup History",
"empty": "No backup files available"
"empty": "No backup files available",
"file_hint": ".db (database) or .json (settings) file",
"retention_hint": "Backups older than this period will be deleted"
},
"wt": {
"title": "WhatsApp Notification Template Settings",
@@ -2265,12 +2306,27 @@
"opt_qris": "QRIS Invoice Template",
"opt_success": "Payment Success Template",
"opt_isolir": "Isolir Notice Template",
"vars": "Parameter Order Variables (Components Payload):"
"vars": "Parameter Order Variables (Components Payload):",
"ph_user": "(PPPoE Username, optional)",
"warn_custid": "must include the Customer ID variable"
},
"md": {
"connecting": "Connecting to MikroTik...",
"fullscreen": "Fullscreen",
"exit": "Exit"
"exit": "Exit",
"reconnect_hint": "Make sure the IP/port is correct and the API service is active. Retrying..."
},
"payroll": {
"empty_staff": "No active employees",
"empty_slip": "No payslip for this period",
"gen_hint": "Click \"Generate All\" to create payslips automatically"
},
"rep": {
"ppn_incl": "Yes — VAT already included",
"tax_hint": "Corporate income tax, VAT, USO & BHP are calculated automatically from this value."
},
"wlc": {
"empty": "No messages with this customer yet. Type a message below and press Enter to start."
}
},
"tech": {
+77 -21
View File
@@ -927,7 +927,12 @@
"th_pppoe": "PPPoE / Tag ONU",
"th_pkg_odp": "Paket & ODP",
"th_gps": "Koordinat GPS",
"ph_odp": "Cari ODP (nama / deskripsi)..."
"ph_odp": "Cari ODP (nama / deskripsi)...",
"pon_port": "PON Port (opsional)",
"empty_cust": "Belum ada data pelanggan.",
"empty_odp": "Belum ada data ODP.",
"view_port": "Klik untuk lihat visual port",
"port_err": "Gagal memuat data port."
},
"print_invoice": {
"title": "Cetak Struk Tagihan",
@@ -1109,7 +1114,9 @@
"wifi_pass": "Sandi Wi-Fi (WPA2)",
"loading": "Mengunduh...",
"run_prov": "Jalankan Provisioning",
"add_server": "Tambah Server ACS"
"add_server": "Tambah Server ACS",
"bind_lan": "Pilih LAN Port yang akan di-bind:",
"bind_ssid": "Pilih WLAN (SSID) yang akan di-bind:"
},
"vd": {
"action": "Aksi",
@@ -1138,7 +1145,8 @@
"tab_broadcast": "Broadcast & Pengingat",
"tab_templates": "Template Pesan",
"tab_livechat": "Live Chat",
"tab_preview": "Preview Pesan"
"tab_preview": "Preview Pesan",
"ph_deviceid": "Device ID (opsional)"
},
"automation": {
"title": "Otomatisasi",
@@ -1631,7 +1639,9 @@
"disconnect_mt": "Putus Sesi MikroTik",
"calc_reg": "Kalkulator Prorata — Setujui Pendaftar",
"start_use": "Mulai Pakai",
"approve_invoice": "Setujui & Buat Tagihan"
"approve_invoice": "Setujui & Buat Tagihan",
"modem_hint": "Kredensial login modem pelanggan untuk RADIUS & PPPoE.",
"reg_hint": "Otomatis dihitung saat pasang/bayar. Bisa disesuaikan manual jika perlu."
},
"bill": {
"ph_note": "mis. kompensasi gangguan",
@@ -1685,12 +1695,17 @@
"general_task": "-- Tugas Umum / Non-Pelanggan (Maintenance) --",
"unassigned": "-- Belum Ditugaskan (Bebas) --",
"st_open": "Belum Ditangani (Open)",
"st_progress": "Sedang Dikerjakan (In Progress)"
"st_progress": "Sedang Dikerjakan (In Progress)",
"no_photo": "Tidak ada foto"
},
"onu": {
"select_vendor": "Pilih Vendor",
"hint_rescan": "Klik \"Scan Ulang\" untuk mencari ONU yang belum terkonfigurasi",
"hint_reload": "Klik \"Muat Ulang / Scan\" untuk memantau status ONU terkonfigurasi via SNMP"
"hint_reload": "Klik \"Muat Ulang / Scan\" untuk memantau status ONU terkonfigurasi via SNMP",
"ssid_hint": "Set SSID dan password WiFi ONU",
"wan_mode_hint": "Bridge (MikroTik dial) atau Router (ONU dial)",
"ph_url": "Format: http://host:port atau https://host:port",
"empty": "Tidak ada ONU yang belum terkonfigurasi"
},
"rds": {
"card_status": "Status RADIUS Server",
@@ -1898,13 +1913,19 @@
"no_data": "Belum ada data.",
"ew_not_tx": "Bukan transaksi",
"ew_paid": "Lunas",
"ew_unmatched": "Belum cocok"
"ew_unmatched": "Belum cocok",
"speedtest_hint": "Preset hanya mengisi otomatis — sesuaikan URL bila perlu.",
"qris_dyn_hint": "Jika diisi, sistem akan membuat QRIS dinamis per transaksi (nominal langsung terisi saat scan). Jika kosong, sistem pakai URL gambar seperti biasa.",
"qris_upload_hint": "Jika di-upload, sistem akan menyimpan file dan otomatis mengisi URL QRIS.",
"bank_hint": "Nominal & kode unik sama seperti QRIS; verifikasi otomatis (webhook forwarder) + manual (upload bukti)."
},
"mt": {
"updating": "Memperbarui...",
"online_list": "Daftar User PPPoE Online",
"offline_list": "Daftar User PPPoE Offline",
"limit_uptime": "Limit Uptime (e.g. 1h)"
"limit_uptime": "Limit Uptime (e.g. 1h)",
"empty_pppoe": "Tidak ada data profile PPPoE.",
"empty_hs": "Tidak ada data profile Hotspot."
},
"disc": {
"title": "Diskon Tagihan",
@@ -1928,7 +1949,8 @@
"apply": "Terapkan Diskon",
"selected": "dipilih",
"history": "Riwayat Diskon (100 terakhir)",
"th_note": "Catatan"
"th_note": "Catatan",
"empty_cust": "Tidak ada pelanggan."
},
"cpay": {
"title": "Approval Pembayaran Kolektor",
@@ -1943,7 +1965,8 @@
"th_invoice": "Tagihan",
"th_process": "Proses",
"approve": "Setujui",
"reject": "Tolak"
"reject": "Tolak",
"wait_approval": "Menunggu admin atau kasir"
},
"att": {
"late_checkin": "Terlambat Check-in",
@@ -1960,7 +1983,9 @@
"checkin_time": "Waktu Check-in",
"duration": "Durasi",
"location": "Lokasi",
"photo": "Foto"
"photo": "Foto",
"empty": "Tidak ada data absensi",
"empty_sub": "Belum ada karyawan yang melakukan absensi pada tanggal ini."
},
"olt": {
"all_summary": "Semua OLT (Ringkasan Total)",
@@ -2016,7 +2041,12 @@
"ph_isolir_profile": "— pakai default global/customer —",
"night_profile": "Nama Profile Malam (MikroTik)",
"ph_night_profile": "-- Pilih Profile --",
"night_down": "Download Malam (Mbps)"
"night_down": "Download Malam (Mbps)",
"promo_prorata": "Promo & prorata tagihan",
"prorata_first": "Prorata tagihan pertama (tanggal pasang = bulan tagihan)",
"night_hint": "Sistem akan ganti profile ppp pelanggan ke profile ini pada jam 00:00 - 06:00.",
"kalong_hint": "Centang untuk mengatur (kolom terbuka otomatis bila paket ini memakai Jam Kalong).",
"fup_hint": "Centang untuk mengatur (kolom terbuka otomatis bila paket ini memakai FUP)."
},
"col": {
"title": "Manajemen Kolektor",
@@ -2033,7 +2063,8 @@
"del": "Hapus Kolektor",
"full_name": "Nama Lengkap",
"area_region": "Area / Wilayah Tugas",
"opt_all_area": "-- Semua Area / Bebas --"
"opt_all_area": "-- Semua Area / Bebas --",
"empty": "Belum ada data kolektor."
},
"mon": {
"title": "Monitoring Sistem",
@@ -2080,7 +2111,9 @@
"total_hours": "Total Jam",
"work_hours": "Jam kerja",
"avg": "Rata-rata",
"hours_per_day": "Jam/hari"
"hours_per_day": "Jam/hari",
"preview": "Preview foto final yang akan dikirim:",
"checkin_hint": "Silakan lakukan check-in untuk memulai hari kerja Anda."
},
"gis": {
"ph_search": "Cari ODP, ODC, HTB, Pelanggan...",
@@ -2133,7 +2166,10 @@
"th_validity": "Masa Aktif",
"th_prefix": "Prefix",
"th_len": "Panjang Kode",
"th_chars": "Karakter"
"th_chars": "Karakter",
"opt_active": "Aktif (Tampil di portal pelanggan)",
"empty": "Belum ada paket voucher hotspot real-time terdaftar. Klik tombol Tambah diatas untuk memulai!",
"no_meta": "Profil tidak memiliki metadata Mikhmon. Isi harga dan masa aktif manual."
},
"cashin": {
"heading": "Kas Masuk (Lain-lain)",
@@ -2158,7 +2194,8 @@
"ph_ref": "Bisa dikosongkan",
"save": "Simpan Pemasukan",
"title": "Kas Masuk",
"th_method": "Metode"
"th_method": "Metode",
"empty": "Belum ada data kas masuk."
},
"exp": {
"heading": "Pengeluaran (Cash Out)",
@@ -2183,7 +2220,8 @@
"pay_credit": "Kredit / Paylater",
"save": "Simpan Pengeluaran",
"title": "Pengeluaran",
"th_method": "Metode"
"th_method": "Metode",
"empty": "Belum ada data pengeluaran."
},
"ar": {
"heading": "Manajemen Area / Wilayah",
@@ -2212,7 +2250,8 @@
"setup_fw": "Setup Firewall Isolir",
"edit": "Edit Router",
"del": "Hapus Router",
"live_title": "Detail Live Router"
"live_title": "Detail Live Router",
"script_hint": "Script ini di-generate otomatis berdasarkan IP server & URL billing (app_url). Anda dapat menyalin dan menempelkannya di Winbox Terminal MikroTik."
},
"bc": {
"send_title": "Kirim Tagihan Sekarang (Manual — bila Auto OFF)",
@@ -2246,7 +2285,9 @@
"auto_clean": "Pembersihan Otomatis",
"retention": "Retensi (Hari)",
"history": "Riwayat Backup",
"empty": "Belum ada file backup tersedia"
"empty": "Belum ada file backup tersedia",
"file_hint": "File .db (database) atau .json (settings)",
"retention_hint": "Backup lebih lama dari periode ini akan dihapus"
},
"wt": {
"title": "Pengaturan Template Notifikasi WhatsApp",
@@ -2266,12 +2307,27 @@
"opt_qris": "Template Tagihan QRIS",
"opt_success": "Template Pembayaran Sukses",
"opt_isolir": "Template Pemberitahuan Isolir",
"vars": "Daftar Variabel Urutan Parameter (Components Payload):"
"vars": "Daftar Variabel Urutan Parameter (Components Payload):",
"ph_user": "(Username PPPoE, opsional)",
"warn_custid": "wajib menyertakan variabel ID Pelanggan"
},
"md": {
"connecting": "Menghubungkan ke MikroTik...",
"fullscreen": "Layar Penuh",
"exit": "Keluar"
"exit": "Keluar",
"reconnect_hint": "Pastikan IP/port benar dan API service aktif. Mencoba kembali..."
},
"payroll": {
"empty_staff": "Belum ada karyawan aktif",
"empty_slip": "Belum ada slip gaji untuk periode ini",
"gen_hint": "Klik \"Generate Semua\" untuk membuat slip gaji otomatis"
},
"rep": {
"ppn_incl": "Ya — PPN sudah termasuk",
"tax_hint": "PPh Badan, PPN, USO & BHP dihitung otomatis dari nilai ini."
},
"wlc": {
"empty": "Belum ada pesan dengan pelanggan ini. Ketik pesan di bawah dan tekan Enter untuk memulai."
}
},
"tech": {