Langkau ke kandungan
i18n Doktor

i18n Doctor: Dapatkan Laporan Kesihatan Terjemahan Lengkap dalam Satu Perintah

Jalankan better-i18n doctor untuk menganalisis keseluruhan pangkalan kod anda dalam lima dimensi — kualiti kod, liputan terjemahan, ketepatan penanda tempat, kunci anak yatim, dan penyegerakan CDN — dan dapatkan satu skor kesihatan 0–100 dengan diagnostik yang boleh diambil tindakan.

$ better-i18n doctor
better-i18n · Laporan Doktor 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 Langkah

Doktor menjalankan pengimbasan kod, analisis liputan, pengesahan kualiti, audit prestasi, dan pemeriksaan penyegerakan CDN — semuanya sekaligus, dengan skor bersatu.

Kod — Pengesanan Rentetan Terkode Secara Keras

Pemindaian berasaskan AST mengesan setiap rentetan yang terdedah kepada pengguna yang tidak dibalut dengan t(). Menangkap teks JSX, atribut, logik locale ternari, mesej toast, dan pembolehubah rentetan.

Liputan — Terjemahan yang hilang

Membandingkan kunci yang terdapat dalam lokel sumber anda dengan setiap lokel sasaran. Sebarang kunci yang hilang daripada lokel sasaran dilaporkan beserta ruang nama dan laluan tepatnya.

Kualiti — Ketidakpadanan Penanda Tempat

Mengesahkan penanda tempat interpolasi adalah konsisten di semua lokasi. Menyokong format bernama {}, kurungan berganda {{}}, printf %s, templat ${}, dan format berposisi {0}.

Prestasi — Pengesanan Kunci Yatim

Mendedahkan kunci yang wujud dalam fail terjemahan anda tetapi tidak pernah dirujuk dalam kod. Kunci yatim meningkatkan saiz muatan dan mewujudkan hutang penyelenggaraan.

Segerakkan — Perbandingan CDN

Membandingkan kunci yang diekstrak daripada kod anda dengan kunci yang diterbitkan dalam CDN. Menyampaikan isu 'missing-in-remote' dan 'unused-remote-key' sebelum ia memasuki pengeluaran.

Satu Skor Tunggal untuk Kesihatan Terjemahan Anda

Doktor mengira skor daripada 0 hingga 100 berdasarkan diagnostik yang ditemui. Kesilapan dikenakan penalti 3.0 mata setiap satu, manakala sumbangan amaran bagi setiap peraturan dihadkan kepada 20 mata — bagi mengelakkan satu peraturan dengan beribu-ribu amaran daripada memadamkan keseluruhan skor anda.

Ambang lulus lalai ialah 70 (gred B). Gunakan --ci untuk menggagalkan binaan di bawah ambang ini, atau mulakan dengan --report untuk menetapkan garis dasar sebelum menguatkuasakan skor.

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

Ambang Gred

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

Penyepaduan CI/CD — Halang Terjemahan Buruk Sebelum Dihantar

Tambah doctor ke dalam saluran CI anda untuk mengesan kemunduran terjemahan pada setiap push. Autentikasi OIDC automatik dalam GitHub Actions bermakna tiada pengurusan rahsia.

GitHub Actions dengan OIDC

Otentikasi secara automatik tanpa kunci API menggunakan GitHub Actions OIDC. Cukup tambahkan id-token: izin menulis dan jalankan doctor --ci --report.

Pengawalan Ambang

Tetapkan ambang lulus (lalai: 70) dan gugurkan pembinaan apabila skor turun di bawahnya. Mulakan penjejakan dengan --report, kemudian kenakan dengan --ci.

JSON yang boleh dibaca oleh mesin

Gunakan --format json untuk output berstruktur yang boleh anda salurkan ke jq, papan pemuka tersuai, atau automasi susulan dalam saluran penyebaran anda.

Pelaporan Papan Pemandu

Muat naik keputusan ke papan pemuka Better i18n dengan --report untuk penjejakan sejarah, analisis trend, dan keterlihatan menyeluruh pasukan terhadap kesihatan i18n.

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

Bilakah Menggunakan Perintah Mana Satu

Doctor adalah pilihan menyeluruh. Gunakan arahan terfokus apabila anda memerlukan pemeriksaan khusus atau mahu maklum balas lebih pantas dalam hook pra-komit.

doktor

Skor kesihatan penuh dengan lima lapisan analisis — satu-satunya sumber kebenaran untuk status i18n projek anda.

imbas

Pengesanan rentetan yang difokuskan dan dikodkan keras. Menyokong --staged untuk cangkuk pra-komit.

periksa

Pemeriksa interaktif untuk kunci terjemahan yang hilang atau tidak digunakan dengan arahan berpandu.

sinkron

Perbandingan penuh dari tempatan ke jauh yang memaparkan kedua-dua kunci yang hilang dan tidak digunakan sekaligus.

Dibina untuk Aliran Kerja i18n Dunia Sebenar

Skor Kesihatan 0–100

Skor tunggal dengan pecahan mengikut setiap kategori dan ambang lulus/gagal CI. Lacak kesihatan terjemahan anda dari masa ke masa.

Penjejakan Skop Leksikal

Pengesanan ruang nama pintar untuk kedua-dua useTranslations dan getTranslations. Setiap panggilan t() dipetakan ke ruang nama yang betul.

Sokongan Komponen Pelayan

Sokongan penuh untuk fungsi pelayan async Next.js App Router. Panggilan getTranslations di pihak pelayan dikesan dan diaudit.

Peraturan yang boleh dikonfigurasi

Lumpuhkan atau turunkan tahap peraturan dalam i18n.config.ts. Tetapkan peraturan kepada "error", "warning", atau "off" mengikut keperluan projek anda.

Penapisan Pintar

Secara automatik mengabaikan nama kelas CSS, URL, laluan import, dan konstanta pembangun. Hanya keputusan yang boleh diambil tindakan.

Log Audit Terperinci

Keterbukaan mendalam dengan --verbose. Ringkasan skoping, maklumat masa, dan jejak penyelesaian ruang nama untuk penyahpepijat.

Ketahui kesihatan terjemahan anda sebelum anda menghantarnya.

Jalankan better-i18n doctor sekali untuk mendapatkan asas anda. Tambahkan ia ke CI supaya tidak lagi menghantar terjemahan yang hilang.