Skip to main content

Pseidotulkošanas rīks

Testējiet i18n UI pirms palaišanas. Ģenerējiet viltus tulkojumus, kas pārbauda izkārtojumu, kodējumu un divvirzienu atveidi, negaidot īstus tulkojumus.

Problēma

Jūsu UI angļu valodā izskatās nevainojami. Tad pienāk vācu valoda: par 40% garākas virknes sabojā katru pogu un apgriež katru tabulas galveni. Arābu valoda apgriež visu izkārtojumu, un ikonas rāda nepareizā virzienā. Japāņu valodai vajadzīgs cits rindu augstums, tādēļ rūpīgi izkārtotās kartītes sabrūk. To visu atklājat pēc tam, kad jau samaksāts par tulkojumiem.

Vidējās izmaksas i18n izkārtojuma kļūdu labošanai pēc tulkošanas ir 5-10 reizes lielākas nekā to atrašanai izstrādes laikā. Pseidotulkošana šīs problēmas atrod bez maksas, pirms iztērējat kaut vienu dolāru īstiem tulkojumiem.

Risinājums

i18n-pseudo ģenerē viltus tulkojumus UI pārbaudei, negaidot īstus tulkotājus. Tas lieto 7 pārveidošanas stratēģijas — diakritiskās zīmes, CJK rakstzīmes, teksta paplašināšanu, RTL marķierus un citas — vienlaikus saglabājot ICU vietturus, daudzskaitļa sintaksi un interpolācijas mainīgos.

Instalēšana

i18n-pseudo ir pieejams kā npm pakotne, Homebrew formula vai to var būvēt no pirmkoda ar Cargo.

Terminal
npm install -g @i18n-agent/i18n-pseudo
npm pakotnē ir globāls CLI binārais fails. Izpildlaika atkarības nav vajadzīgas.

7 pārveidošanas stratēģijas

Katra stratēģija ir vērsta uz noteiktu i18n kļūdu klasi. Izmantojiet tās atsevišķi ar karodziņiem vai apvienojiet ar priekšiestatījumiem.

StrategyFlagInputOutput
Accents--accentsHelloĤéľľó
CJK--cjkHello你好世界你好
Special Chars--specialHelloHel­lo
Expansion--expansion NSaveSave~~~~
Brackets--bracketsHello[Hello]
RTL--rtlHello‮Hello‬
Unicode Stress--unicode-stressHelloH́ȩl̈l̀õ
Diakritiskās zīmes ir populārākā stratēģija tieši ierakstītu virkņu noteikšanai. Ja UI virkne parādās bez diakritiskajām zīmēm, tā nav nodota tulkošanas funkcijai.

Priekšiestatījumi

Priekšiestatījumi apvieno stratēģijas biežiem testēšanas scenārijiem. Lai vienlaikus lietotu stratēģiju grupu, izmantojiet --preset.

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

Lietošanas piemēri

Palaidiet i18n-pseudo avota lokalizācijas failam. Tas nolasa JSON, YAML, PO un citus i18n formātus, piemēro izvēlētās stratēģijas un ieraksta pārveidoto izvadi.

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/

Pirms un pēc

Lūk, ko noklusējuma priekšiestatījums (diakritiskās zīmes un iekavas) izdara tipiskam tulkošanas failam. Ievērojiet, ka ICU daudzskaitļa sintakse un interpolācijas vietturi tiek precīzi saglabāti.

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 {# íťéɱš}}]"
}
Tādi vietturi kā {name} un {count}, kā arī ICU daudzskaitļa izteiksmes nekad netiek mainītas. Tiek pārveidoti tikai tulkojamā teksta segmenti, tādēļ lietotne pareizi atveido pseidotulkojuma failus.

CI integrācija

Pievienojiet pseidotulkošanu CI konveijeram, lai automātiski atrastu i18n regresijas. Ģenerējiet pseidotulkojuma failus un palaidiet tiem vizuālās regresijas testus.

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
Apvienojiet izkārtojuma priekšiestatījumu ar Playwright vai Chromatic vizuālās regresijas testēšanu. Jebkurš komponents, kas pārplūst vai tiek apgriezts ar 1,4 reizes paplašinātu tekstu, neizturēs vizuālo atšķirību.

Izmēģiniet i18n Agent tūlīt

Nometiet tulkošanas failu šeit

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

vai noklikšķiniet, lai izvēlētos

Mērķa valodas

Reģistrācija nav vajadzīgaTūlītēja tāme

Bieži uzdotie jautājumi