Pseudo-lokalisasi adalah teknik pengujian yang kuat yang mengubah teks sumber Anda menjadi bahasa palsu untuk mengidentifikasi masalah internasionalisasi (i18n) sebelum terjemahan yang 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 dimodifikasi yang meniru bagaimana UI berperilaku setelah terjemahan. Ini membantu insinyur QA dan pengembang mengidentifikasi masalah i18n lebih awal dalam siklus pengembangan.

Contoh penggunaan pseudo-lokalisasi untuk mengidentifikasi masalah internasionalisasi yang potensial. Font dan ukuran identik di kedua sisi, tetapi mendukung skrip lain sering kali memerlukan lebih banyak ruang.
Pseudo-lokalisasi membantu Anda menangkap masalah i18n lebih awal:
Berikut adalah strategi yang terbukti untuk mengotomatiskan pengujian i18n dengan pseudo-lokalisasi:
Ganti huruf Latin dengan bentuk aksen atau skrip berbeda untuk menguji pengkodean karakter dan dukungan font.
Contoh: "Save" → "Šàvē"
Pemeriksaan QA: Pastikan semua karakter ditampilkan dengan benar dan tidak ada yang rusak akibat masalah pengkodean.
Secara otomatis perluas setiap string sekitar 30–40% untuk meniru bahasa panjang seperti Jerman atau Finlandia. Bungkus dengan penanda visual untuk deteksi pemotongan yang mudah.
Contoh: "Save" → ⟦Šàvēēēēē⟧
Pemeriksaan QA: Gunakan perbandingan tangkapan layar otomatis untuk menemukan overflow UI, pemotongan, atau ketidakselarasan.
Ganti variabel interpolasi (placeholder) dengan penanda yang terlihat untuk memverifikasi bahwa mereka dilestarikan selama terjemahan.
Contoh: "Anda memiliki {{count}} item" → "Anda memiliki <COUNT> item"
Pemeriksaan QA: Jalankan pengujian regresi; gagal jika penanda hilang atau tidak terhindarkan (<COUNT>).
Bungkus teks dalam penanda dari kanan ke kiri (RTL) menggunakan karakter kontrol Unicode untuk mensimulasikan bahasa Arab atau Ibrani.
Pemeriksaan QA: Verifikasi penyelarasan, arah teks, dan pencerminan benar untuk bahasa RTL.
Tambahkan pseudo-lokalisasi ke pipeline pengujian otomatis Anda untuk menangkap masalah i18n sebelum mencapai produksi.
Pemeriksaan QA: Blokir penerapan 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 dari kanan ke kiri seperti 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 berbagai pustaka i18n:
# 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-lokal 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-locale 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-lokal 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-lokal, saatnya untuk menerjemahkan aplikasi Anda untuk pengguna nyata. Di sinilah layanan terjemahan bertenaga AI seperti l10n.dev berperan.
Setelah memastikan aplikasi Anda menangani internasionalisasi dengan benar menggunakan pseudo-lokal, gunakan l10n.dev untuk terjemahan profesional bertenaga AI:
Siap untuk menangkap masalah i18n lebih awal dan memperlancar alur kerja lokalisasi Anda?
Unggah file i18n Anda dan biarkan AI menangani terjemahan dengan kesadaran konteks dan format yang tepat
Temukan mengapa terjemahan berbasis AI lebih baik untuk file i18n dibandingkan metode tradisional
Integrasikan lokalisasi berbasis AI langsung ke dalam pipeline 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 menangkap masalah internasionalisasi sebelum mencapai produksi. Dengan mengotomatiskan pengujian pseudo-lokalisasi menggunakan paket pseudo-l10n, Anda dapat memastikan aplikasi Anda benar-benar siap untuk audiens global.
Dikombinasikan dengan terjemahan bertenaga AI dari l10n.dev, Anda dapat membangun aplikasi multibahasa yang kuat lebih cepat dan dengan percaya diri.