Kemahiran i18n
Perintah AI untuk Mengaudit & Membalut Rentetan i18n
Masalahnya
Pangkalan kod anda mempunyai 500 rentetan kod keras yang tersebar merentas komponen, templat, dan paparan. Pembalutan manual memerlukan kerja cari-dan-ganti yang meletihkan selama berhari-hari. Walaupun selepas dibalut, ayat terpisah yang rosak dalam bahasa Jerman, logik bentuk jamak yang gagal dalam bahasa Arab, dan kekunci terbiar yang membesarkan fail bahasa masih boleh terlepas.
Penyelesaiannya
Dua perintah garis miring yang mengendalikan seluruh aliran kerja i18n. Jalankan /i18n-review untuk mengaudit kod secara baca sahaja, kemudian jalankan /i18n-wrap untuk membaiki semuanya secara automatik. Kedua-dua perintah mengesan rangka kerja, memahami format fail bahasa, dan mengesahkan perubahan sebelum commit.
/i18n-review
Audit baca sahaja yang mengesan ayat terpisah, bentuk jamak rosak, rentetan belum dibalut, dan kekunci tidak digunakan. Tidak pernah mengubah kod anda.
/i18n-wrap
Membalut rentetan kod keras secara automatik dengan fungsi terjemahan yang betul, menjana kekunci semantik, mengemas kini fail bahasa, dan mengesahkan binaan.
Perintah /i18n-review
Perintah review melakukan audit baca sahaja terhadap pangkalan kod. Perintah mengimbas setiap fail untuk mengesan masalah i18n dan menghasilkan laporan keutamaan dengan lokasi fail serta cadangan pembaikan yang tepat. Kod anda tidak pernah diubah.
/i18n-review src/
/i18n-review src/ --framework=next-intlPerkara yang Diperiksa
- Ayat terpisah: panggilan t() yang digabungkan dan merosakkan susunan perkataan dalam bahasa lain
- Pembalutan berlebihan: rentetan teknikal, kelas CSS, URL, dan nilai enum yang tersalah dibalut dengan t()
- Pembalutan tidak mencukupi: rentetan UI yang kelihatan seperti label butang, tajuk, dan mesej ralat dibiarkan sebagai kod keras
- Masalah bentuk jamak: pengendali ternari atau pemeriksaan === 1 digunakan dan bukannya sintaks bentuk jamak ICU yang betul
- Kekunci tidak digunakan: kekunci terjemahan ditakrifkan dalam fail bahasa, tetapi tidak pernah dirujuk dalam kod
- Nilai format kod keras: tarikh, mata wang, dan nombor yang tidak menggunakan pemformat Intl
Perintah /i18n-wrap
Perintah wrap membalut rentetan kod keras secara automatik dengan fungsi terjemahan yang betul untuk rangka kerja anda. Perintah mengesan pustaka i18n, menjana kekunci semantik yang dikumpulkan mengikut komponen atau ciri, mengemas kini fail bahasa, dan mengesahkan bahawa binaan masih lulus.
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextPerkara yang Dilakukan
- Pengesanan rangka kerja: mengenal pasti pustaka i18n dan fungsi terjemahannya (t, $t, $_, gettext, dan lain-lain)
- Penjanaan kekunci semantik: menjana kekunci bermakna seperti nav.signIn dan errors.notFound dan bukannya label umum
- Kemas kini fail bahasa: menambahkan kekunci baharu pada fail bahasa sumber dalam format yang betul (JSON, YAML, PO, dan lain-lain)
- Pengesahan binaan: menjalankan perintah binaan, lint, dan ujian selepas pembalutan untuk mengesan regresi
Rangka Kerja yang Disokong
Kedua-dua perintah mengesan rangka kerja secara automatik daripada kebergantungan projek. Anda juga boleh menentukannya secara jelas dengan bendera --framework. Berikut ialah 10 rangka kerja yang disokong bersama fungsi terjemahan dan format bentuk jamaknya.
| Rangka Kerja | Fungsi Terjemahan | Format Bentuk Jamak |
|---|---|---|
| react-i18next | t() | key_one / key_other |
| next-intl | t() | ICU {count, plural, ...} |
| vue-i18n | $t() | Pipe syntax | singular | plural |
| angular i18n | $localize | ICU {count, plural, ...} |
| svelte-i18n | $_() | ICU {count, plural, ...} |
| flutter intl | S.of(context) | Intl.plural() |
| django | gettext / _() | ngettext() |
| rails i18n | t() | count key |
| laravel | __() / @lang | trans_choice() |
| swift | NSLocalizedString | .stringsdict |
Pemasangan
Salin fail perintah ke direktori .claude/commands/. Itu sahaja—tiada kebergantungan dan tiada konfigurasi. Perintah ialah fail Markdown biasa yang boleh dijalankan oleh sebarang pembantu pengekodan AI.
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/Contoh Penggunaan
Projek React
Semak aplikasi React yang menggunakan react-i18next, kemudian balut semua rentetan kod keras. Perintah mengesan react-i18next daripada package.json dan menggunakan fungsi t() serta format bentuk jamak key_one/key_other yang betul.
# Review a React project for i18n issues
/i18n-review src/ --framework=react-i18next
# Wrap all hardcoded strings automatically
/i18n-wrap src/components/ --framework=react-i18next
# Result: t() calls inserted, keys added to en/translation.jsonProjek Django
Audit templat dan paparan Django untuk mengesan masalah i18n, kemudian balut rentetan dengan gettext. Perintah mengesan Django daripada settings.py serta menggunakan _() untuk rentetan ringkas dan ngettext() untuk bentuk jamak.
# Review Django templates and views
/i18n-review myapp/ --framework=django
# Wrap hardcoded strings with gettext
/i18n-wrap myapp/templates/ --framework=django
# Result: _() calls inserted, .po file updatedPanduan Rangka Kerja Berkaitan
Cuba i18n Agent Sekarang
Lepaskan fail terjemahan anda di sini
JSON, YAML, PO, XML, CSV, Markdown, Properties
atau klik untuk semak imbas
Bahasa sasaran