Skip to main content

Δεξιότητες i18n

Εντολές AI για έλεγχο και περιτύλιξη συμβολοσειρών i18n

Το πρόβλημα

Η βάση κώδικά σας περιέχει 500 συμβολοσειρές ενσωματωμένες σε components, templates και views. Η μη αυτόματη περιτύλιξή τους απαιτεί ημέρες κουραστικής αναζήτησης και αντικατάστασης. Ακόμα και μετά την περιτύλιξη, παραβλέπετε διασπασμένες προτάσεις που δεν λειτουργούν στα Γερμανικά, λογική πληθυντικού που αποτυγχάνει στα Αραβικά και ορφανά κλειδιά που διογκώνουν τα αρχεία γλωσσών σας.

Η μη αυτόματη περιτύλιξη i18n είναι επιρρεπής σε σφάλματα: οι προγραμματιστές παραβλέπουν διασπασμένες προτάσεις, χαλούν τους πληθυντικούς με τριαδικούς τελεστές και αφήνουν συμβολοσειρές ενσωματωμένες στον κώδικα σε οριακές περιπτώσεις. Αυτά τα σφάλματα εμφανίζονται μόνο μετά τη μετάφραση, όταν η διόρθωσή τους κοστίζει 10 φορές περισσότερο.

Η λύση

Δύο εντολές slash με AI που αναλαμβάνουν ολόκληρη τη ροή εργασίας i18n. Εκτελέστε την /i18n-review για έλεγχο του κώδικα μόνο για ανάγνωση και έπειτα την /i18n-wrap για αυτόματη διόρθωση όλων των προβλημάτων. Και οι δύο εντολές ανιχνεύουν το framework, κατανοούν τη μορφή των αρχείων γλωσσών και επαληθεύουν τις αλλαγές πριν από το commit.

/i18n-review

Έλεγχος μόνο για ανάγνωση που εντοπίζει διασπασμένες προτάσεις, εσφαλμένους πληθυντικούς, συμβολοσειρές χωρίς περιτύλιξη και αχρησιμοποίητα κλειδιά. Δεν τροποποιεί ποτέ τον κώδικά σας.

/i18n-wrap

Περιτυλίγει αυτόματα τις συμβολοσειρές που είναι ενσωματωμένες στον κώδικα με τη σωστή συνάρτηση μετάφρασης, δημιουργεί σημασιολογικά κλειδιά, ενημερώνει τα αρχεία γλωσσών και επαληθεύει το build.

Εντολή /i18n-review

Η εντολή ελέγχου πραγματοποιεί έλεγχο μόνο για ανάγνωση στη βάση κώδικά σας. Σαρώνει κάθε αρχείο για προβλήματα i18n και παράγει μια ιεραρχημένη αναφορά με τις ακριβείς θέσεις των αρχείων και προτάσεις διόρθωσης. Ο κώδικάς σας δεν τροποποιείται ποτέ.

Terminal
/i18n-review src/
/i18n-review src/ --framework=next-intl

Τι ελέγχει

  • Διασπασμένες προτάσεις: συνενωμένες κλήσεις t() που χαλούν τη σειρά των λέξεων σε άλλες γλώσσες
  • Υπερβολική περιτύλιξη: τεχνικές συμβολοσειρές, κλάσεις CSS, URL και τιμές enum που έχουν περιτυλιχθεί εσφαλμένα με t()
  • Ελλιπής περιτύλιξη: ορατές συμβολοσειρές του περιβάλλοντος χρήστη, όπως ετικέτες κουμπιών, επικεφαλίδες και μηνύματα σφάλματος, που παραμένουν ενσωματωμένες στον κώδικα
  • Προβλήματα πληθυντικού: τριαδικοί τελεστές ή έλεγχοι === 1 αντί για σωστή σύνταξη πληθυντικού ICU
  • Αχρησιμοποίητα κλειδιά: κλειδιά μετάφρασης που ορίζονται στα αρχεία γλωσσών αλλά δεν αναφέρονται ποτέ στον κώδικα
  • Ενσωματωμένες τιμές μορφοποίησης: ημερομηνίες, νομίσματα και αριθμοί που δεν χρησιμοποιούν τους μορφοποιητές Intl
Η εντολή ελέγχου λειτουργεί αποκλειστικά για ανάγνωση. Εκτελέστε την όσο συχνά θέλετε κατά την ανάπτυξη ή σε pipelines CI/CD, χωρίς κίνδυνο ανεπιθύμητων αλλαγών.

Εντολή /i18n-wrap

Η εντολή περιτύλιξης περιτυλίγει αυτόματα τις συμβολοσειρές που είναι ενσωματωμένες στον κώδικα με τη σωστή συνάρτηση μετάφρασης για το framework σας. Ανιχνεύει τη βιβλιοθήκη i18n, δημιουργεί σημασιολογικά κλειδιά ομαδοποιημένα ανά component ή λειτουργία, ενημερώνει τα αρχεία γλωσσών και επαληθεύει ότι το build εξακολουθεί να ολοκληρώνεται επιτυχώς.

Terminal
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18next

Τι κάνει

  • Ανίχνευση framework: αναγνωρίζει τη βιβλιοθήκη i18n και τη συνάρτηση μετάφρασής της (t, $t, $_, gettext κ.λπ.)
  • Δημιουργία σημασιολογικών κλειδιών: δημιουργεί εύληπτα κλειδιά όπως nav.signIn και errors.notFound αντί για γενικές ετικέτες
  • Ενημέρωση αρχείων γλωσσών: προσθέτει νέα κλειδιά στο αρχείο της γλώσσας προέλευσης, στη σωστή μορφή (JSON, YAML, PO κ.λπ.)
  • Επαλήθευση build: εκτελεί τις εντολές build, lint και test μετά την περιτύλιξη, ώστε να εντοπίζονται τυχόν παλινδρομήσεις
Η εντολή περιτύλιξης επαληθεύει κάθε αλλαγή εκτελώντας το build και τη σουίτα δοκιμών. Αν κάτι αποτύχει, επαναφέρει αυτόματα τις αλλαγές.

Υποστηριζόμενα frameworks

Και οι δύο εντολές ανιχνεύουν αυτόματα το framework από τις εξαρτήσεις του έργου σας. Μπορείτε επίσης να το καθορίσετε ρητά με τη σημαία --framework. Ακολουθούν τα 10 υποστηριζόμενα frameworks με τις συναρτήσεις μετάφρασης και τις μορφές πληθυντικού τους.

FrameworkΣυνάρτηση μετάφρασηςΜορφή πληθυντικού
react-i18nextt()key_one / key_other
next-intlt()ICU {count, plural, ...}
vue-i18n$t()Pipe syntax | singular | plural
angular i18n$localizeICU {count, plural, ...}
svelte-i18n$_()ICU {count, plural, ...}
flutter intlS.of(context)Intl.plural()
djangogettext / _()ngettext()
rails i18nt()count key
laravel__() / @langtrans_choice()
swiftNSLocalizedString.stringsdict

Εγκατάσταση

Αντιγράψτε τα αρχεία εντολών στον κατάλογο .claude/commands/. Αυτό ήταν — χωρίς εξαρτήσεις και χωρίς ρυθμίσεις. Οι εντολές είναι απλά αρχεία Markdown που μπορεί να εκτελέσει οποιοσδήποτε βοηθός προγραμματισμού AI.

Terminal
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/
Πρόκειται για τυπικά αρχεία εντολών slash. Λειτουργούν απευθείας στο Claude Code και μπορούν να προσαρμοστούν για άλλους βοηθούς προγραμματισμού AI που υποστηρίζουν προσαρμοσμένες εντολές.

Παραδείγματα χρήσης

Έργο React

Ελέγξτε μια εφαρμογή React που χρησιμοποιεί react-i18next και έπειτα περιτυλίξτε όλες τις συμβολοσειρές που είναι ενσωματωμένες στον κώδικα. Οι εντολές ανιχνεύουν το react-i18next από το package.json και χρησιμοποιούν τη σωστή συνάρτηση t() και τη μορφή πληθυντικού key_one/key_other.

React Project
# 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.json

Έργο Django

Ελέγξτε τα templates και τα views Django για προβλήματα i18n και έπειτα περιτυλίξτε τις συμβολοσειρές με gettext. Οι εντολές ανιχνεύουν το Django από το settings.py και χρησιμοποιούν _() για απλές συμβολοσειρές και ngettext() για πληθυντικούς.

Django Project
# 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 updated

Δοκιμάστε τώρα το i18n Agent

Αφήστε εδώ το αρχείο μετάφρασής σας

JSON, YAML, PO, XML, CSV, Markdown, Properties

ή κάντε κλικ για να επιλέξετε αρχείο

Γλώσσες-στόχοι

Δεν απαιτείται εγγραφήΆμεση εκτίμηση

Συχνές ερωτήσεις