Εργαλείο ψευδομετάφρασης
Δοκιμάστε το περιβάλλον i18n πριν από την κυκλοφορία. Δημιουργήστε πλασματικές μεταφράσεις που δοκιμάζουν εντατικά τη διάταξη, την κωδικοποίηση και την αμφίδρομη απόδοση, χωρίς να περιμένετε τις πραγματικές μεταφράσεις.
Το πρόβλημα
Το περιβάλλον χρήστη φαίνεται άψογο στα Αγγλικά. Έπειτα προστίθενται τα Γερμανικά και οι κατά 40% μεγαλύτερες συμβολοσειρές χαλούν κάθε κουμπί και περικόπτουν κάθε κεφαλίδα πίνακα. Τα Αραβικά αντιστρέφουν ολόκληρη τη διάταξη και τα εικονίδιά σας δείχνουν προς λάθος κατεύθυνση. Τα Ιαπωνικά απαιτούν διαφορετικά ύψη γραμμής και οι προσεκτικά διατεταγμένες κάρτες σας καταρρέουν. Όλα αυτά τα ανακαλύπτετε αφού έχετε ήδη πληρώσει για τις μεταφράσεις.
Η λύση
Το i18n-pseudo δημιουργεί πλασματικές μεταφράσεις που δοκιμάζουν εντατικά το περιβάλλον χρήστη χωρίς να περιμένετε πραγματικούς μεταφραστές. Εφαρμόζει 7 στρατηγικές μετασχηματισμού — διακριτικά, χαρακτήρες CJK, επέκταση κειμένου, δείκτες RTL και άλλες — διατηρώντας παράλληλα τα placeholders ICU, τη σύνταξη πληθυντικού και τις μεταβλητές παρεμβολής.
Εγκατάσταση
Το i18n-pseudo διατίθεται ως πακέτο npm και ως formula Homebrew, ενώ μπορείτε επίσης να το δημιουργήσετε από τον πηγαίο κώδικα με Cargo.
npm install -g @i18n-agent/i18n-pseudo7 στρατηγικές μετασχηματισμού
Κάθε στρατηγική στοχεύει σε μια συγκεκριμένη κατηγορία σφαλμάτων i18n. Χρησιμοποιήστε τις μεμονωμένα με flags ή συνδυάστε τις μέσω presets.
| Strategy | Flag | Input | Output |
|---|---|---|---|
| Accents | --accents | Hello | Ĥéľľó |
| CJK | --cjk | Hello | 你好世界你好 |
| Special Chars | --special | Hello | Hello |
| Expansion | --expansion N | Save | Save~~~~ |
| Brackets | --brackets | Hello | [Hello] |
| RTL | --rtl | Hello | Hello |
| Unicode Stress | --unicode-stress | Hello | H́ȩl̈l̀õ |
Presets
Τα presets συνδυάζουν στρατηγικές για συνήθη σενάρια δοκιμών. Χρησιμοποιήστε το --preset για να εφαρμόσετε ταυτόχρονα μια ομάδα στρατηγικών.
| Preset | Strategies | Use Case |
|---|---|---|
default | accents + brackets | Quick visual check that all strings are externalized |
layout | expansion (1.4x) + brackets | Catch truncation and overflow before real translations |
charset | CJK + special + brackets | Test font rendering and character encoding |
rtl | RTL markers + brackets | Verify bidirectional layout without switching locale |
full | All strategies combined | Maximum stress test — everything at once |
Παραδείγματα χρήσης
Εκτελέστε το i18n-pseudo στο αρχείο της γλώσσας προέλευσης. Διαβάζει JSON, YAML, PO και άλλες μορφές i18n, εφαρμόζει τις επιλεγμένες στρατηγικές και γράφει το μετασχηματισμένο αποτέλεσμα.
# Default (accents + brackets)
i18n-pseudo en.json -o output/
# Layout testing (text expansion + brackets)
i18n-pseudo en.json --preset layout -o output/
# Specific strategies
i18n-pseudo en.json --accents --expansion 1.5 -o output/
# Kitchen sink
i18n-pseudo en.json --preset full -o output/Πριν και μετά
Δείτε τι κάνει το προεπιλεγμένο preset (διακριτικά και αγκύλες) σε ένα τυπικό αρχείο μετάφρασης. Παρατηρήστε ότι η σύνταξη πληθυντικού ICU και τα placeholders παρεμβολής διατηρούνται ακριβώς.
// Input (en.json):
{
"greeting": "Hello, {name}!",
"save": "Save",
"items": "{count, plural, one {# item} other {# items}}"
}
// Output (default preset — accents + brackets):
{
"greeting": "[Ĥéľľó, {name}!]",
"save": "[Šáṽé]",
"items": "[{count, plural, one {# íťéɱ} other {# íťéɱš}}]"
}Ενσωμάτωση στο CI
Προσθέστε την ψευδομετάφραση στο pipeline CI, ώστε να εντοπίζετε αυτόματα παλινδρομήσεις i18n. Δημιουργήστε αρχεία ψευδομετάφρασης και έπειτα εκτελέστε σε αυτά τις δοκιμές οπτικής παλινδρόμησης.
# Generate pseudo-translations and run visual regression
i18n-pseudo locales/en.json --preset layout -o locales/pseudo/
NEXT_PUBLIC_LOCALE=pseudo npx playwright test --project=visualΣχετικά εργαλεία και οδηγοί
Δοκιμάστε τώρα το i18n Agent
Αφήστε εδώ το αρχείο μετάφρασής σας
JSON, YAML, PO, XML, CSV, Markdown, Properties
ή κάντε κλικ για να επιλέξετε αρχείο
Γλώσσες-στόχοι