Narzędzie do pseudotłumaczeń
Testuj interfejs i18n przed premierą. Generuj fikcyjne tłumaczenia, które poddają układ, kodowanie i renderowanie dwukierunkowe próbie obciążeniowej — bez czekania na prawdziwe tłumaczenia.
Problem
Twój interfejs wygląda idealnie po angielsku. Potem pojawia się niemiecki — ciągi dłuższe o 40% psują każdy przycisk i skracają wszystkie nagłówki tabel. Arabski odwraca cały układ, a ikony wskazują niewłaściwy kierunek. Japoński wymaga innej wysokości wierszy i starannie rozmieszczone karty się rozpadają. Wszystko to odkrywasz dopiero po opłaceniu tłumaczeń.
Rozwiązanie
i18n-pseudo generuje fikcyjne tłumaczenia, które poddają interfejs próbie obciążeniowej bez czekania na tłumaczy. Stosuje 7 strategii transformacji — znaki diakrytyczne, znaki CJK, rozszerzanie tekstu, znaczniki RTL i inne — zachowując symbole zastępcze ICU, składnię liczby mnogiej i zmienne interpolacji.
Instalacja
i18n-pseudo jest dostępne jako pakiet npm i formuła Homebrew. Możesz je też zbudować ze źródeł za pomocą Cargo.
npm install -g @i18n-agent/i18n-pseudo7 strategii transformacji
Każda strategia wykrywa określoną klasę błędów i18n. Używaj ich pojedynczo za pomocą flag lub łącz przy użyciu ustawień wstępnych.
| 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̀õ |
Ustawienia wstępne
Ustawienia wstępne łączą strategie dla typowych scenariuszy testowych. Użyj --preset, aby zastosować grupę strategii naraz.
| 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 |
Przykłady użycia
Uruchom i18n-pseudo dla źródłowego pliku językowego. Narzędzie odczyta JSON, YAML, PO lub inny format i18n, zastosuje wybrane strategie i zapisze przekształcony wynik.
# 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/Przed i po
Oto jak domyślne ustawienie wstępne, czyli znaki diakrytyczne i nawiasy, zmienia typowy plik tłumaczeń. Zwróć uwagę, że składnia liczby mnogiej ICU i symbole zastępcze interpolacji są zachowywane dokładnie.
// 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 {# íťéɱš}}]"
}Integracja z CI
Dodaj pseudotłumaczenie do pipeline CI, aby automatycznie wykrywać regresje i18n. Wygeneruj pliki pseudotłumaczeń, a następnie uruchom na nich testy regresji wizualnej.
# 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=visualPowiązane narzędzia i przewodniki
Wypróbuj i18n Agent
Upuść tutaj plik tłumaczenia
JSON, YAML, PO, XML, CSV, Markdown, Properties
lub kliknij, aby go wybrać
Języki docelowe