From 0920d44938dc23ddad18e4a112d18bd5bf288cf2 Mon Sep 17 00:00:00 2001 From: oxpoe Date: Fri, 9 Oct 2026 07:13:40 +0700 Subject: [PATCH] i18n (Phase C batch 4): settings.ejs bagian umum/mikrotik/admin/whatsapp ID/EN --- locales/en.json | 40 ++++++++++++++++++++++ locales/id.json | 40 ++++++++++++++++++++++ views/admin/settings.ejs | 74 ++++++++++++++++++++-------------------- 3 files changed, 117 insertions(+), 37 deletions(-) diff --git a/locales/en.json b/locales/en.json index 4ac72ef..960df82 100644 --- a/locales/en.json +++ b/locales/en.json @@ -1693,6 +1693,46 @@ "alert_copied2": "MikroTik script copied!", "deactivate": "Deactivate", "activate": "Activate" + }, + "set": { + "ew_log_realtime": "Realtime Log", + "ew_rekap": "Auto-Paid Recap", + "ph_ew_service": "DANA / Gojek / ShopeePay (optional)", + "ph_ew_keyword": "keyword (optional)", + "ew_endpoint": "MacroDroid Endpoint:", + "show": "Show", + "al_empty": "No auto-paid entries in this period.", + "ew_log_hint": "The e-wallet notification log was moved to a dedicated page so settings stay compact.", + "public_url": "Public App URL (Public Base URL)", + "id_prefix": "Customer ID Prefix", + "id_digits": "Customer ID Number of Digits", + "att_geo_on": "Active (Location Validation)", + "att_geo_off": "Inactive (Unrestricted)", + "geo_label": "Geofencing:", + "geo_desc": "Employees can only check in within the configured radius from the office coordinates. Disable if staff work remotely/in the field.", + "tz_wib": "WIB (Asia/Jakarta)", + "tz_wita": "WITA (Asia/Makassar)", + "tz_wit": "WIT (Asia/Jayapura)", + "colpay_label": "Collector Payments:", + "colpay_desc": "Collector payment approval is now configured per collector account in the Collector Management menu, not globally.", + "acs_url": "GenieACS API URL", + "acs_user": "GenieACS Username", + "acs_pass": "GenieACS Password", + "mr_mode": "Multi-Router Mode", + "mr_on": "Active (Multiple Router)", + "mr_off": "Inactive (Single Router Mode)", + "mr_hint": "Choose the MikroTik operating mode: Active for multi-router, Inactive for single router with automatic fallback", + "mr_default_hint": "Optional. If empty, the system auto-detects the first router (smallest ID). If set, this value is used.", + "mt_ip": "MikroTik IP / Host", + "mt_port": "MikroTik API Port", + "mt_user": "MikroTik API User", + "mt_pass": "MikroTik API Password", + "admin_user": "Admin Username", + "admin_pass": "Admin Password", + "admin_key": "Admin API Key (For external access)", + "wa_enable": "Enable WhatsApp Bot", + "wa_numbers": "Admin WA Numbers (Comma-separated)", + "wa_delay": "Delay Between Broadcast Messages (seconds)" } }, "tech": { diff --git a/locales/id.json b/locales/id.json index 405b1c7..11a615a 100644 --- a/locales/id.json +++ b/locales/id.json @@ -1694,6 +1694,46 @@ "alert_copied2": "Script MikroTik berhasil disalin!", "deactivate": "Non-aktifkan", "activate": "Aktifkan" + }, + "set": { + "ew_log_realtime": "Log Realtime", + "ew_rekap": "Rekap Auto-Lunas", + "ph_ew_service": "DANA / Gojek / ShopeePay (opsional)", + "ph_ew_keyword": "kata kunci (opsional)", + "ew_endpoint": "Endpoint MacroDroid:", + "show": "Tampilkan", + "al_empty": "Tidak ada auto-lunas pada periode ini.", + "ew_log_hint": "Log notifikasi e-wallet dipindah ke halaman khusus agar pengaturan tidak terdorong ke bawah.", + "public_url": "URL Publik Aplikasi (Public Base URL)", + "id_prefix": "Prefix ID Pelanggan", + "id_digits": "Jumlah Digit Angka ID Pelanggan", + "att_geo_on": "Aktif (Validasi Lokasi)", + "att_geo_off": "Nonaktif (Bebas)", + "geo_label": "Geofencing:", + "geo_desc": "Karyawan hanya bisa absen jika berada dalam radius yang ditentukan dari koordinat kantor. Nonaktifkan jika karyawan bekerja remote/lapangan.", + "tz_wib": "WIB (Asia/Jakarta)", + "tz_wita": "WITA (Asia/Makassar)", + "tz_wit": "WIT (Asia/Jayapura)", + "colpay_label": "Pembayaran Kolektor:", + "colpay_desc": "Pengaturan approval pembayaran kolektor sekarang diatur per akun kolektor pada menu Manajemen Kolektor, bukan dari pengaturan global.", + "acs_url": "GenieACS API URL", + "acs_user": "GenieACS Username", + "acs_pass": "GenieACS Password", + "mr_mode": "Mode Multi-Router", + "mr_on": "Aktif (Multiple Router)", + "mr_off": "Nonaktif (Single Router Mode)", + "mr_hint": "Pilih mode operasional MikroTik: Aktif untuk multi-router, Nonaktif untuk single router dengan fallback otomatis", + "mr_default_hint": "Opsional. Jika kosong, sistem auto-detect router pertama (ID terkecil). Jika diisi, gunakan nilai ini.", + "mt_ip": "MikroTik IP / Host", + "mt_port": "MikroTik API Port", + "mt_user": "MikroTik API User", + "mt_pass": "MikroTik API Password", + "admin_user": "Username Admin", + "admin_pass": "Password Admin", + "admin_key": "Admin API Key (Untuk akses luar)", + "wa_enable": "Enable WhatsApp Bot", + "wa_numbers": "Nomor Admin WA (Pisahkan dengan koma)", + "wa_delay": "Jeda Antar Pesan Broadcast (Detik)" } }, "tech": { diff --git a/views/admin/settings.ejs b/views/admin/settings.ejs index 0db605c..2275295 100644 --- a/views/admin/settings.ejs +++ b/views/admin/settings.ejs @@ -53,8 +53,8 @@ <% if (logsOnly) { %>
- - + +
@@ -72,11 +72,11 @@
- +
- +
@@ -89,7 +89,7 @@
- Endpoint MacroDroid: POST /api/webhook/v1/payment-notif + <%= t('admin.set.ew_endpoint','Endpoint MacroDroid:') %> POST /api/webhook/v1/payment-notif
@@ -117,11 +117,11 @@
-
Log notifikasi e-wallet dipindah ke halaman khusus agar pengaturan tidak terdorong ke bawah.
+
<%= t('admin.set.ew_log_hint','Log notifikasi e-wallet dipindah ke halaman khusus agar pengaturan tidak terdorong ke bawah.') %>
<% } %> @@ -220,17 +220,17 @@
- +
Digunakan untuk menyusun tautan login pelanggan yang dikirim via WhatsApp. Contoh: https://portal.domain-anda.com
- +
Format ID Pelanggan: PREFIX-angka (contoh: <%= (settings.customer_id_prefix || 'SKY') %>-48213). Hanya angka setelah tanda hubung. ID permanen & otomatis untuk pelanggan baru.
- +
Default 5 → contoh SKY-48213.
@@ -274,8 +274,8 @@ Geofencing Absensi
@@ -286,7 +286,7 @@
- Geofencing: Karyawan hanya bisa absen jika berada dalam radius yang ditentukan dari koordinat kantor. Nonaktifkan jika karyawan bekerja remote/lapangan. + <%= t('admin.set.geo_label','Geofencing:') %> <%= t('admin.set.geo_desc','Karyawan hanya bisa absen jika berada dalam radius yang ditentukan dari koordinat kantor. Nonaktifkan jika karyawan bekerja remote/lapangan.') %>
@@ -301,9 +301,9 @@
@@ -318,7 +318,7 @@ Otomatisasi dipindah: Auto-Nonaktif, Auto-Hapus, Auto-Peringatan & Auto-Lunas kini tertata di menu Automation →
- Pembayaran Kolektor: Pengaturan approval pembayaran kolektor sekarang diatur per akun kolektor pada menu Manajemen Kolektor, bukan dari pengaturan global. + <%= t('admin.set.colpay_label','Pembayaran Kolektor:') %> <%= t('admin.set.colpay_desc','Pengaturan approval pembayaran kolektor sekarang diatur per akun kolektor pada menu Manajemen Kolektor, bukan dari pengaturan global.') %>
@@ -348,16 +348,16 @@
style="display:none;"<% } %>>
- +
- +
- +
@@ -366,17 +366,17 @@
- + -
Pilih mode operasional MikroTik: Aktif untuk multi-router, Nonaktif untuk single router dengan fallback otomatis
+
<%= t('admin.set.mr_hint','Pilih mode operasional MikroTik: Aktif untuk multi-router, Nonaktif untuk single router dengan fallback otomatis') %>
-
Opsional. Jika kosong, sistem auto-detect router pertama (ID terkecil). Jika diisi, gunakan nilai ini.
+
<%= t('admin.set.mr_default_hint','Opsional. Jika kosong, sistem auto-detect router pertama (ID terkecil). Jika diisi, gunakan nilai ini.') %>
@@ -392,21 +392,21 @@
- +
- +
- +
- +
@@ -418,16 +418,16 @@
Kredensial Admin
- +
- +
- +
@@ -436,19 +436,19 @@
Integrasi WhatsApp
- +
- +
Nomor admin akan menerima notifikasi monitoring sistem. Nomor teknisi diambil otomatis dari Data Teknisi.
- +
Rekomendasi: Minimal 2 detik agar tidak terdeteksi spam oleh WhatsApp.