Skip to main content

Alat Terjemahan Semu

Uji UI i18n sebelum peluncuran. Buat terjemahan palsu yang menguji tata letak, pengodean, dan rendering dua arah secara ekstrem—tanpa menunggu terjemahan asli.

Masalahnya

UI terlihat sempurna dalam bahasa Inggris. Lalu bahasa Jerman hadir—string 40% lebih panjang merusak setiap tombol dan memotong setiap header tabel. Bahasa Arab membalik seluruh tata letak dan ikon menunjuk ke arah salah. Bahasa Jepang memerlukan tinggi baris berbeda dan kartu yang telah diatur cermat menjadi berantakan. Anda menemukan semuanya setelah membayar terjemahan.

Biaya rata-rata memperbaiki bug tata letak i18n setelah penerjemahan adalah 5-10 kali lebih tinggi dibandingkan menemukannya selama pengembangan. Terjemahan semu menemukan masalah ini secara gratis sebelum Anda mengeluarkan satu dolar untuk terjemahan asli.

Solusinya

i18n-pseudo membuat terjemahan palsu yang menguji UI secara ekstrem tanpa menunggu penerjemah asli. Alat menerapkan 7 strategi transformasi—aksen, karakter CJK, pemanjangan teks, penanda RTL, dan lainnya—sekaligus mempertahankan placeholder ICU, sintaks bentuk jamak, dan variabel interpolasi.

Instalasi

i18n-pseudo tersedia sebagai paket npm, formula Homebrew, atau dapat di-build dari sumber dengan Cargo.

Terminal
npm install -g @i18n-agent/i18n-pseudo
Paket npm menyertakan binary CLI global. Tidak diperlukan dependensi runtime.

7 Strategi Transformasi

Setiap strategi menargetkan jenis bug i18n tertentu. Gunakan secara terpisah dengan flag atau gabungkan menggunakan preset.

StrategyFlagInputOutput
Accents--accentsHelloĤéľľó
CJK--cjkHello你好世界你好
Special Chars--specialHelloHel­lo
Expansion--expansion NSaveSave~~~~
Brackets--bracketsHello[Hello]
RTL--rtlHello‮Hello‬
Unicode Stress--unicode-stressHelloH́ȩl̈l̀õ
Aksen adalah strategi paling populer untuk mendeteksi string yang di-hardcode. Jika string tampil tanpa diakritik dalam UI, string tersebut tidak pernah diteruskan melalui fungsi terjemahan.

Preset

Preset menggabungkan strategi untuk skenario pengujian umum. Gunakan --preset untuk menerapkan sekelompok strategi sekaligus.

PresetStrategiesUse Case
defaultaccents + bracketsQuick visual check that all strings are externalized
layoutexpansion (1.4x) + bracketsCatch truncation and overflow before real translations
charsetCJK + special + bracketsTest font rendering and character encoding
rtlRTL markers + bracketsVerify bidirectional layout without switching locale
fullAll strategies combinedMaximum stress test — everything at once

Contoh Penggunaan

Jalankan i18n-pseudo pada file bahasa sumber. Alat membaca JSON, YAML, PO, dan format i18n lainnya, menerapkan strategi yang dipilih, lalu menulis keluaran hasil transformasi.

Terminal
# Default (accents + brackets)
i18n-pseudo en.json -o output/

# Layout testing (text expansion + brackets)
i18n-pseudo en.json --preset layout -o output/

# Specific strategies
i18n-pseudo en.json --accents --expansion 1.5 -o output/

# Kitchen sink
i18n-pseudo en.json --preset full -o output/

Sebelum & Sesudah

Berikut hasil preset default (aksen + kurung) pada file terjemahan biasa. Perhatikan bahwa sintaks bentuk jamak ICU dan placeholder interpolasi dipertahankan dengan tepat.

Before & After
// Input (en.json):
{
  "greeting": "Hello, {name}!",
  "save": "Save",
  "items": "{count, plural, one {# item} other {# items}}"
}

// Output (default preset — accents + brackets):
{
  "greeting": "[Ĥéľľó, {name}!]",
  "save": "[Šáṽé]",
  "items": "[{count, plural, one {# íťéɱ} other {# íťéɱš}}]"
}
Placeholder seperti {name}, {count}, dan ekspresi bentuk jamak ICU tidak pernah diubah. Hanya segmen teks yang dapat diterjemahkan yang ditransformasi sehingga aplikasi dirender dengan benar menggunakan file terjemahan semu.

Integrasi CI

Tambahkan terjemahan semu ke pipeline CI untuk menemukan regresi i18n secara otomatis. Buat file terjemahan semu, lalu jalankan pengujian regresi visual terhadapnya.

CI Pipeline
# Generate pseudo-translations and run visual regression
i18n-pseudo locales/en.json --preset layout -o locales/pseudo/
NEXT_PUBLIC_LOCALE=pseudo npx playwright test --project=visual
Gabungkan preset tata letak dengan pengujian regresi visual Playwright atau Chromatic. Komponen yang meluap atau terpotong dengan teks yang diperpanjang 1,4 kali akan gagal dalam diff visual.

Coba i18n Agent Sekarang

Lepaskan file terjemahan Anda di sini

JSON, YAML, PO, XML, CSV, Markdown, Properties

atau klik untuk menjelajahi

Bahasa target

Tidak perlu mendaftarEstimasi instan

Pertanyaan yang Sering Diajukan