Skip to main content

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ń.

Naprawa błędów układu i18n po tłumaczeniu kosztuje średnio 5-10 razy więcej niż wykrycie ich podczas programowania. Pseudotłumaczenie znajduje te problemy bezpłatnie, zanim wydasz choć złotówkę na prawdziwe tłumaczenia.

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.

Terminal
npm install -g @i18n-agent/i18n-pseudo
Pakiet npm zawiera globalny plik binarny CLI. Zależności środowiska uruchomieniowego nie są potrzebne.

7 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.

StrategyFlagInputOutput
Accents--accentsHelloĤéľľó
CJK--cjkHello你好世界你好
Special Chars--specialHelloHel­lo
Expansion--expansion NSaveSave~~~~
Brackets--bracketsHello[Hello]
RTL--rtlHello‮Hello‬
Unicode Stress--unicode-stressHelloH́ȩl̈l̀õ
Znaki diakrytyczne to najpopularniejsza strategia wykrywania ciągów zapisanych na stałe. Jeśli ciąg pojawia się w interfejsie bez znaków diakrytycznych, nigdy nie przeszedł przez funkcję tłumaczącą.

Ustawienia wstępne

Ustawienia wstępne łączą strategie dla typowych scenariuszy testowych. Użyj --preset, aby zastosować grupę strategii naraz.

PresetStrategiesUse Case
defaultaccents + bracketsQuick visual check that all strings are externalized
layoutexpansion (1.4x) + bracketsCatch truncation and overflow before real translations
charsetCJK + special + bracketsTest font rendering and character encoding
rtlRTL markers + bracketsVerify bidirectional layout without switching locale
fullAll strategies combinedMaximum 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.

Terminal
# 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.

Before & After
// 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 {# íťéɱš}}]"
}
Symbole zastępcze — takie jak {name} i {count} — oraz wyrażenia liczby mnogiej ICU nigdy nie są zmieniane. Przekształcane są wyłącznie segmenty tekstu przeznaczone do tłumaczenia, dzięki czemu aplikacja prawidłowo renderuje pliki pseudotłumaczeń.

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.

CI Pipeline
# 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
Połącz ustawienie layout z testami regresji wizualnej Playwright lub Chromatic. Każdy komponent, który przepełnia się albo skraca przy tekście rozszerzonym 1,4 raza, spowoduje niezgodność obrazu.

Wypróbuj i18n Agent

Upuść tutaj plik tłumaczenia

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

lub kliknij, aby go wybrać

Języki docelowe

Rejestracja nie jest wymaganaNatychmiastowa wycena

Najczęściej zadawane pytania