i18n Doctor: Dapatkan Laporan Kesehatan Terjemahan Lengkap dalam Satu Perintah
Jalankan better-i18n doctor untuk menganalisis seluruh basis kode Anda di lima dimensi — kualitas kode, cakupan terjemahan, akurasi placeholder, kunci terlantar, dan sinkronisasi CDN — dan dapatkan skor kesehatan tunggal 0–100 beserta diagnostik yang dapat ditindaklanjuti.
Lima Lapisan Analisis dalam Satu Kali Proses
Dokter menjalankan pemindaian kode, analisis cakupan, verifikasi kualitas, audit kinerja, dan pemeriksaan sinkronisasi CDN — semuanya secara bersamaan, dengan skor terpadu.
Kode — Deteksi String yang Di-hardcode
Pemindaian berbasis AST mendeteksi setiap string yang terlihat oleh pengguna yang tidak dibungkus dalam t(). Mendeteksi teks JSX, atribut, logika lokasi terner, pesan toast, dan variabel string.
Cakupan — Terjemahan yang Hilang
Membandingkan kunci yang ada di lokalisasi sumber Anda dengan setiap lokalisasi tujuan. Setiap kunci yang tidak ada di lokalisasi tujuan akan dilaporkan bersama dengan namespace dan jalurnya yang tepat.
Kualitas — Ketidaksesuaian Tempat Penampung
Memastikan bahwa penanda interpolasi konsisten di semua wilayah. Mendukung format penanda bernama {}, penanda kurung kurawal ganda {{}}, penanda printf-%s, penanda template ${}, dan penanda posisi {0}.
Kinerja — Deteksi Kunci Yatim
Mendeteksi kunci yang ada dalam berkas terjemahan Anda tetapi tidak pernah dirujuk dalam kode. Kunci yang terisolasi dapat meningkatkan ukuran payload dan menimbulkan beban pemeliharaan.
Sinkronisasi — Perbandingan CDN
Membandingkan kunci yang diekstraksi dari kode Anda dengan kunci yang dipublikasikan di CDN. Mengidentifikasi masalah kunci yang hilang di server jarak jauh dan kunci jarak jauh yang tidak digunakan sebelum masalah tersebut mencapai lingkungan produksi.
Satu Skor untuk Kesehatan Terjemahan Anda
Dokter menghitung skor dari 0 hingga 100 berdasarkan hasil diagnostik yang ditemukan. Kesalahan dikenakan penalti sebesar 3,0 poin per kesalahan, sementara kontribusi peringatan dari setiap aturan dibatasi hingga 20 poin — mencegah aturan tunggal dengan ribuan peringatan menghapus seluruh skor Anda.
Ambang batas lulus default adalah 70 (nilai B). Gunakan opsi --ci untuk menggagalkan build yang nilainya di bawah ambang batas ini, atau gunakan opsi --report untuk menetapkan nilai dasar sebelum menerapkan penilaian.
score = 100 - (errors × 3.0) - Σ min(rule_warnings × 0.15, 20)Batasan Nilai
Integrasi CI/CD — Mencegah Terjemahan Buruk Sebelum Diterbitkan
Tambahkan dokter ke pipeline CI Anda untuk mendeteksi regresi terjemahan pada setiap push. Otentikasi OIDC otomatis di GitHub Actions berarti tidak perlu mengelola rahasia.
GitHub Actions dengan OIDC
Otentikasi secara otomatis tanpa kunci API menggunakan GitHub Actions OIDC. Cukup tambahkan izin id-token: write dan jalankan perintah doctor --ci --report.
Pintu Ambang
Tetapkan ambang batas lulus (default: 70) dan hentikan proses build jika skor turun di bawah ambang batas tersebut. Mulai pelacakan dengan opsi --report, lalu terapkan dengan opsi --ci.
JSON yang Dapat Dibaca Mesin
Gunakan opsi --format json untuk output terstruktur yang dapat Anda alirkan ke jq, dasbor kustom, atau otomatisasi hilir dalam pipeline deployment Anda.
Laporan Dashboard
Unggah hasil ke dashboard Better I18N dengan opsi --report untuk pelacakan historis, analisis tren, dan visibilitas menyeluruh bagi tim mengenai kesehatan i18n.
Kapan Menggunakan Perintah Mana
Dokter adalah opsi yang komprehensif. Gunakan perintah yang terfokus saat Anda memerlukan pemeriksaan spesifik atau ingin umpan balik yang lebih cepat dalam hook pra-komitmen.
dokterSkor kesehatan penuh dengan lima lapisan analisis — sumber kebenaran tunggal untuk status i18n proyek Anda.
pindaiDeteksi string yang dikodekan secara langsung. Mendukung opsi --staged untuk hook pra-komitmen.
periksaPemeriksa interaktif untuk kunci terjemahan yang hilang atau tidak digunakan dengan petunjuk panduan.
sinkronisasiPerbandingan lengkap antara lokal dan jarak jauh yang menampilkan kunci yang hilang dan tidak digunakan secara bersamaan.
Dibuat untuk Alur Kerja i18n di Dunia Nyata
Skor Kesehatan 0–100
Skor tunggal dengan rincian per kategori dan ambang batas lulus/gagal CI. Pantau kesehatan terjemahan Anda dari waktu ke waktu.
Pelacakan Ruang Lingkup Lexis
Deteksi namespace cerdas untuk both useTranslations dan getTranslations. Setiap panggilan t() dipetakan ke namespace yang benar.
Dukungan Komponen Server
Dukungan penuh untuk fungsi server asinkron Next.js App Router. Panggilan getTranslations di sisi server dideteksi dan diaudit.
Aturan yang Dapat Disesuaikan
Nonaktifkan atau turunkan tingkat aturan dalam i18n.config.ts. Atur aturan menjadi "error", "warning", atau "off" sesuai dengan kebutuhan proyek Anda.
Penyaringan Cerdas
Secara otomatis mengabaikan nama kelas CSS, URL, jalur impor, dan konstanta pengembang. Hanya hasil yang dapat ditindaklanjuti.
Catatan Audit yang Rinci
Transparansi mendalam dengan opsi --verbose. Ringkasan lingkup, informasi waktu, dan jejak resolusi namespace untuk debugging.
Topik Terkait
CLI & Code Scanning
Deteksi string yang dikodekan secara statis berbasis AST dan alat pemindaian kode
For Developers
Alat i18n yang berfokus pada pengembang dengan SDK yang aman tipe dan alur kerja yang berorientasi pada Git.
Localization Software
Platforms and software for managing localization at scale
Translation Management
Platform terpusat untuk mengelola alur kerja terjemahan secara besar-besaran.
Kenali Kondisi Terjemahan Anda Sebelum Dikirim
Jalankan better-i18n doctor sekali untuk mendapatkan baseline Anda. Tambahkan ke CI agar tidak pernah lagi mengirimkan terjemahan yang hilang.