Lewati ke konten
Dokter i18n

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.

$ better-i18n doctor
better-i18n · Laporan Dokter i18n
████████████████░░░░82 / 100A
PASSED (threshold: 70)
Coverage95(3 issues)
Quality88(2 issues)
Code72(8 issues)
Structure100(clean)
Performance91(1 issue)

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.

Rumus perhitungan skor
score = 100 - (errors × 3.0) - Σ min(rule_warnings × 0.15, 20)

Batasan Nilai

A+≥ 90
Lewati
A≥ 80
Lewati
B≥ 70
Lewati
C≥ 50
Gagal
F< 50
Gagal

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.

# GitHub Actions example
- run: npx @better-i18n/cli doctor --ci --report

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.

dokter

Skor kesehatan penuh dengan lima lapisan analisis — sumber kebenaran tunggal untuk status i18n proyek Anda.

pindai

Deteksi string yang dikodekan secara langsung. Mendukung opsi --staged untuk hook pra-komitmen.

periksa

Pemeriksa interaktif untuk kunci terjemahan yang hilang atau tidak digunakan dengan petunjuk panduan.

sinkronisasi

Perbandingan 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.

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.