Mesin penerjemah bahasa sisi klien (client-side) yang bekerja secara asinkron (AJAX) melintasi berbagai domain. Sistem ini memindai dan mengubah teks antarmuka (UI) secara real-time langsung di browser pengguna tanpa mengubah atau merusak struktur elemen HTML (DOM) aslinya.
Mengelola seluruh glosarium bahasa dari satu titik server pusat untuk mendistribusikan terjemahan ke banyak domain satelit secara instan tanpa perlu repot update satu-persatu.
Mengganti teks secara akurat tanpa merusak atribut krusial bawaan form seperti id, name, class, atau event listener JavaScript yang menempel.
Memanfaatkan flat file (.txt) murni sebagai sumber data kamus untuk menghindari penumpukan beban pemrosesan antrean koneksi database MySQL.
Perusahaan memiliki web profil, portal transaksi, dan beberapa landing page promo di domain berbeda. Metode translasi tradisional (misal via innerHTML) menimpa struktur form secara kasar.
Sebagai contoh, tag form seperti <label id="user" name="user" class="form-label">Nama Pengguna</label> akan hancur dan terganti secara paksa. Hal ini berakibat fatal: validasi form mati dan fungsi JavaScript yang mengikat ID menjadi error. Belum lagi, tim IT harus mengelola database multi-bahasa di tiap server secara terpisah yang boros waktu dan tidak efisien.
Engine menargetkan Text Node murni (NodeType 3). Elemen pembungkus HTML, blok <script>, dan deklarasi <style> dilewati total sehingga fungsionalitas logika sistem dan desain tidak terganggu.
Lapisan observer memantau konten dinamis baru yang di-load via AJAX (arsitektur SPA) dan langsung menerjemahkannya secara mulus di latar belakang.
[ BROWSER CLIENT ]
└── Trigger Script Injector (Base64)
└── [ AJAX REQUEST ] ke erlanggatirta.com
└── Mengunduh Kamus (.txt)
└── Eksekusi walkDOM Core (Ubah NodeType 3)
└── MutationObserver Standby (Auto-Translate)
Pasang script asinkron Base64 ini pada footer.php web satelit. Ubah parameter translatePage('inggris') sesuai nama file txt yang ingin dipanggil.
Support Ready :
id-en = Indonesian -> Inggris
en-id = Inggris -> Indonesian
<script>
(function(){
var u='aHR0cHM6Ly9lcmxhbmdnYXRpcnRhLmNvbS94cHJveWVrL2FwcC90cmFuc2xhdGUvZnVuZ3NpLmpz';
var s=document.createElement('script'); s.async=true; s.src=atob(u);
s.onload = function() {
translatePage('id-en');
};
var x=document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s,x);
})();
</script>