İçeriğe git
i18n Doktoru

i18n Doctor: Tek bir komutla tam bir çeviri sağlık raporu alın

Run better-i18n doctor'ı çalıştırarak kod tabanınızın tamamını beş boyutta (kod kalitesi, çeviri kapsamı, yer tutucu doğruluğu, yetim anahtarlar ve CDN senkronizasyonu) analiz edin ve eyleme geçirilebilir tanılama bilgileriyle 0–100 arasında tek bir sağlık puanı alın.

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

Tek Geçişte Beş Analiz Katmanı

Doktor, kod taraması, kapsama analizi, kalite doğrulama, performans denetimi ve CDN senkronizasyon kontrollerini tek seferde ve tek bir puanla gerçekleştirir.

Kod — Sabit Kodlanmış Dize Algılama

AST tabanlı tarama, t() ile sarılmamış tüm kullanıcıya yönelik dizeleri bulur. JSX metinlerini, öznitelikleri, üçlü yerel mantığı, bildirim mesajlarını ve dize değişkenlerini yakalar.

Kapsam — Eksik Çeviriler

Kaynak yerel ayarınızdaki anahtarları her bir hedef yerel ayarla karşılaştırır. Hedef yerel ayarda eksik olan anahtarlar, tam ad alanı ve yolu ile birlikte raporlanır.

Kalite — Yer tutucu uyumsuzluğu

İnterpolasyon yer tutucularının tüm yerel ayarlarda tutarlı olduğunu doğrular. Adlandırılmış {}, çift parantez {{}}, printf%s, şablon ${} ve konumsal{0}formatlarını destekler.

Performans — Yetim Anahtar Algılama

Çeviri dosyalarınızda bulunan ancak kodda hiç referans verilmeyen anahtarları algılar. Yalnız anahtarlar yük boyutunu artırır ve bakım borcuna neden olur.

Senkronizasyon — CDN Karşılaştırması

Kodunuzdan çıkarılan anahtarları CDN'de yayınlanan anahtarlarla karşılaştırır. Üretim aşamasına geçmeden önce uzaktan eksik ve kullanılmayan anahtar sorunlarını ortaya çıkarır.

Çeviri Sağlığınız için Tek Bir Puan

Doktor, bulunan tanılara göre 0 ile 100 arasında bir puan hesaplar. Hatalar her biri 3,0 puanla cezalandırılırken, her kuralın uyarı katkısı 20 puanla sınırlandırılır. Böylece, binlerce uyarı içeren tek bir kuralın tüm puanınızı sıfırlaması önlenir.

Varsayılan geçme eşiği 70'tir (B notu). Bu eşiğin altındaki derlemeleri başarısız saymak için --ci kullanın veya puanı uygulamadan önce bir temel oluşturmak için --report ile başlayın.

Puan formülü
score = 100 - (errors × 3.0) - Σ min(rule_warnings × 0.15, 20)

Not Eşikleri

A+≥ 90
Geçiş
A≥ 80
Geçiş
B≥ 70
Geçiş
C≥ 50
Başarısız
F< 50
Başarısız

CI/CD Entegrasyonu — Kötü Çevirileri Yayınlanmadan Önce Engelleyin

CI boru hattınıza doktor ekleyerek her itmede çeviri gerilemelerini yakalayın. GitHub Actions'ta otomatik OIDC kimlik doğrulaması, gizli bilgi yönetimi gerektirmez.

OIDC ile GitHub Eylemleri

GitHub Actions OIDC kullanarak API anahtarları olmadan otomatik olarak kimlik doğrulaması yapın. Sadece id-token: yazma izni ekleyin ve doctor --ci --report komutunu çalıştırın.

Eşik Kapısı

Geçiş eşiği belirleyin (varsayılan: 70) ve puan bu eşiğin altına düştüğünde derlemeyi başarısız olarak değerlendirin. --report ile izlemeye başlayın, ardından --ci ile uygulayın.

Makine tarafından okunabilir JSON

jq, özel gösterge panelleri veya dağıtım ardışık düzeninizdeki aşağı akış otomasyonuna aktarabileceğiniz yapılandırılmış çıktı için --format json kullanın.

Gösterge Tablosu Raporlaması

Sonuçları, geçmiş takibi, trend analizi ve i18n durumuna ilişkin ekip genelinde görünürlük için --report ile Better i18n panosuna yükleyin.

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

Hangi Komutu Ne Zaman Kullanmalı

Doctor kapsamlı bir seçenektir. Belirli bir kontrol gerektiğinde veya ön onay kancalarında daha hızlı geri bildirim istediğinizde odaklanmış komutları kullanın.

doktor

Beş analiz katmanıyla tam sağlık puanı — projenizin i18n durumu için tek doğru kaynak.

tarama

Odaklanmış sabit kodlu dize algılama. Ön-taahhüt kancaları için --staged desteği.

kontrol

Kılavuzlu komutlarla eksik veya kullanılmayan çeviri anahtarları için etkileşimli kontrol aracı.

senkronize etmek

Yerel ve uzak arasında eksik ve kullanılmayan anahtarları aynı anda gösteren tam karşılaştırma.

Gerçek Dünya i18n İş Akışları için Tasarlanmıştır

Sağlık Puanı 0–100

Kategori bazında döküm ve CI geçme/kalma eşiği ile tek bir puan. Zaman içinde çevirinizin durumunu takip edin.

Sözcük Kapsamı Takibi

useTranslations ve getTranslations için akıllı ad alanı algılama. Her t() çağrısı doğru ad alanına eşlenir.

Sunucu Bileşeni Desteği

Next.js App Router async sunucu işlevleri için tam destek. Sunucu tarafındaki getTranslations çağrıları algılanır ve denetlenir.

Yapılandırılabilir Kurallar

i18n.config.ts dosyasında kuralları devre dışı bırakın veya düşürün. Projenizin ihtiyaçlarına göre kuralları "hata", "uyarı" veya "kapalı" olarak ayarlayın.

Akıllı Filtreleme

CSS sınıf adlarını, URL'leri, içe aktarma yollarını ve geliştirici sabitlerini otomatik olarak yok sayar. Yalnızca eyleme geçirilebilir sonuçlar.

Ayrıntılı Denetim Günlüğü

--verbose ile derin şeffaflık. Hata ayıklama için kapsam özetleri, zamanlama bilgileri ve ad alanı çözümleme izleri.

Göndermeden Önce Çevirinizin Durumunu Öğrenin

Temel seviyenizi belirlemek için better-i18n doctor'u bir kez çalıştırın. Eksik çevirilerin bir daha asla yayınlanmaması için bunu CI'ya ekleyin.