Pseudo-lokalisasi adalah teknik pengujian yang kuat yang mengubah teks sumber Anda menjadi bahasa palsu untuk mengidentifikasi masalah internasionalisasi (i18n) sebelum terjemahan sebenarnya dimulai. Panduan ini menunjukkan cara mengotomatiskan pengujian pseudo-lokalisasi menggunakan paket npm pseudo-l10n.
Pseudo-lokalisasi adalah proses mengubah teks sumber aplikasi Anda menjadi bahasa palsu yang diubah yang meniru bagaimana UI berperilaku setelah terjemahan. Ini membantu insinyur QA dan pengembang mengidentifikasi masalah i18n sejak awal dalam siklus pengembangan.

Contoh penggunaan pseudo-lokalisasi untuk mengidentifikasi potensi masalah internasionalisasi. Font dan ukuran identik di kedua sisi, tetapi mendukung skrip lain sering kali membutuhkan lebih banyak ruang.
Pseudo-lokalisasi membantu Anda menangkap masalah i18n sejak dini:
Berikut adalah strategi yang terbukti untuk mengotomatiskan pengujian i18n dengan pseudo-lokalisasi:
Ganti huruf Latin dengan bentuk beraksen atau skrip yang berbeda untuk menguji pengkodean karakter dan dukungan font.
Contoh: "Save" → "Šàvē"
Pemeriksaan QA: Pastikan semua karakter ditampilkan dengan benar dan tidak ada yang rusak karena masalah pengkodean.
Perluas setiap string secara otomatis sebesar ~30–40% untuk meniru bahasa panjang seperti bahasa Jerman atau Finlandia. Bungkus dengan penanda visual untuk deteksi pemotongan yang mudah.
Contoh: "Save" → ⟦Šàvēēēēē⟧
Pemeriksaan QA: Gunakan perbandingan tangkapan layar otomatis untuk menemukan luapan UI, pemotongan, atau ketidaksejajaran.
Ganti variabel interpolasi (placeholder) dengan penanda yang terlihat untuk memverifikasi bahwa variabel tersebut dipertahankan selama terjemahan.
Contoh: "You have {{count}} items" → "You have <COUNT> items"
Pemeriksaan QA: Jalankan pengujian regresi; gagal jika penanda hilang atau salah di-escape (<COUNT>).
Bungkus teks dalam penanda kanan-ke-kiri (RTL) menggunakan karakter kontrol Unicode untuk mensimulasikan bahasa Arab atau Ibrani.
Pemeriksaan QA: Verifikasi perataan, arah teks, dan pencerminan sudah benar untuk bahasa RTL.
Tambahkan pseudo-lokalisasi ke alur pengujian otomatis Anda untuk menangkap masalah i18n sebelum mencapai produksi.
Pemeriksaan QA: Blokir penyebaran jika pengujian mendeteksi terjemahan yang hilang, placeholder yang rusak, atau masalah tata letak.
Paket npm pseudo-l10n mengotomatiskan pseudo-lokalisasi untuk file terjemahan JSON Anda, membuatnya mudah untuk mengintegrasikan pengujian i18n ke dalam alur kerja pengembangan Anda.
Instal pseudo-l10n secara global untuk penggunaan baris perintah:
npm install -g pseudo-l10nAtau tambahkan sebagai dependensi pengembangan:
npm install --save-dev pseudo-l10nUbah file terjemahan sumber Anda menjadi versi pseudo-lokal:
pseudo-l10n input.json output.jsonInput (en.json):
{
"welcome": "Welcome to our application",
"greeting": "Hello, {{name}}!",
"itemCount": "You have {{count}} items"
}Output (pseudo-en.json):
{
"welcome": "⟦Ŵëļçõɱë ţõ õür àƥƥļïçàţïõñēēēēēēēēēēēēēēēēēē⟧",
"greeting": "⟦Ĥëļļõēēēēēē, {{name}}!ēēēēē⟧",
"itemCount": "⟦Ŷõü ĥàṽë {{count}} ïţëɱšēēēēēēēēēēēēēēēē⟧"
}pseudo-l10n en.json pseudo-en.json --expansion=30Mensimulasikan bahasa kanan-ke-kiri seperti bahasa Arab atau Ibrani:
pseudo-l10n en.json pseudo-ar.json --rtlGanti placeholder dengan penanda huruf besar untuk deteksi visual yang lebih mudah:
pseudo-l10n en.json pseudo-en.json --replace-placeholders
# Input: { "greeting": "Hello, {{name}}!" }
# Output: { "greeting": "⟦Ĥëļļõēēēēēē, <NAME>!ēēēēē⟧" }Paket ini mendukung berbagai format placeholder yang digunakan oleh pustaka i18n yang berbeda:
# For i18next (default)
pseudo-l10n en.json pseudo-en.json --placeholder-format="{{key}}"
# For Angular/React Intl
pseudo-l10n en.json pseudo-en.json --placeholder-format="{key}"
# For sprintf style
pseudo-l10n en.json pseudo-en.json --placeholder-format="%key%"Gunakan pseudo-l10n secara programatik dalam skrip Node.js atau proses build Anda:
const { generatePseudoLocaleSync, pseudoLocalize } = require('pseudo-l10n');
// Generate a pseudo-localized JSON file
generatePseudoLocaleSync('en.json', 'pseudo-en.json', {
expansion: 40,
rtl: false
});
// Pseudo-localize a single string
const result = pseudoLocalize('Hello, {{name}}!');
console.log(result);
// Output: ⟦Ĥëļļõēēēēēēēēēēēēēē, {{name}}!ēēēēē⟧Tambahkan pembuatan pseudo-lokalisasi ke skrip package.json Anda:
{
"scripts": {
"pseudo": "pseudo-l10n src/locales/en.json src/locales/pseudo-en.json",
"pseudo:rtl": "pseudo-l10n src/locales/en.json src/locales/pseudo-ar.json --rtl"
}
}Hasilkan pseudo-lokal sebagai bagian dari proses build Anda:
// build.js
const { generatePseudoLocaleSync } = require('pseudo-l10n');
// Generate pseudo-locales as part of build
generatePseudoLocaleSync(
'./src/locales/en.json',
'./src/locales/pseudo-en.json',
{ expansion: 40 }
);
generatePseudoLocaleSync(
'./src/locales/en.json',
'./src/locales/pseudo-ar.json',
{ rtl: true }
);Integrasikan pseudo-lokalisasi ke dalam pipeline integrasi berkelanjutan Anda:
# .github/workflows/test.yml
- name: Generate pseudo-locales
run: |
npm install -g pseudo-l10n
pseudo-l10n src/locales/en.json src/locales/pseudo-en.json
- name: Run i18n tests
run: npm run test:i18nSetelah Anda memvalidasi implementasi i18n Anda dengan pseudo-lokalisasi, saatnya untuk menerjemahkan aplikasi Anda bagi pengguna nyata. Di sinilah layanan terjemahan berbasis AI seperti l10n.dev berperan.
Setelah memastikan aplikasi Anda menangani internasionalisasi dengan benar dengan pseudo-lokalisasi, gunakan l10n.dev untuk terjemahan berbasis AI profesional:
Siap untuk mendeteksi masalah i18n sejak dini dan menyederhanakan alur kerja lokalisasi Anda?
Unggah file i18n Anda dan biarkan AI menangani terjemahan dengan kesadaran konteks dan pemformatan yang tepat
Temukan alasan mengapa terjemahan bertenaga AI lebih baik untuk file i18n dibandingkan metode tradisional
Integrasikan lokalisasi bertenaga AI langsung ke dalam alur kerja CI/CD Anda
Bawa lokalisasi AI ke dalam alur kerja Anda dengan ekstensi dan plugin kami
Pseudo-lokalisasi adalah teknik pengujian penting yang membantu Anda mendeteksi masalah internasionalisasi sebelum mencapai tahap produksi. Dengan mengotomatiskan pengujian pseudo-lokalisasi menggunakan paket pseudo-l10n, Anda dapat memastikan aplikasi Anda benar-benar siap untuk audiens global.
Dipadukan dengan terjemahan bertenaga AI dari l10n.dev, Anda dapat membangun aplikasi multibahasa yang tangguh dengan lebih cepat dan percaya diri.