Skip to main content

Pseudokäännöstyökalu

Testaa i18n-käyttöliittymäsi ennen julkaisua. Luo tekaistut käännökset, jotka rasitustestaavat asettelun, koodauksen ja kaksisuuntaisen hahmontamisen ilman oikeiden käännösten odottamista.

Ongelma

Käyttöliittymäsi näyttää täydelliseltä englanniksi. Sitten tulee saksa — 40 % pidemmät merkkijonot rikkovat kaikki painikkeet ja katkaisevat jokaisen taulukko-otsikon. Arabia kääntää koko asettelun ja kuvakkeesi osoittavat väärään suuntaan. Japani tarvitsee eri rivikorkeudet, ja huolellisesti asetellut korttisi romahtavat. Löydät tämän kaiken vasta maksettuasi käännöksistä.

i18n-asetteluvirheiden korjaaminen kääntämisen jälkeen maksaa keskimäärin 5-10 kertaa enemmän kuin niiden löytäminen kehityksen aikana. Pseudokäännös löytää ongelmat maksutta ennen kuin käytät rahaa oikeisiin käännöksiin.

Ratkaisu

i18n-pseudo luo tekaistut käännökset, jotka rasitustestaavat käyttöliittymääsi ilman oikeiden kääntäjien odottamista. Se käyttää seitsemää muunnosstrategiaa — tarkemerkkejä, CJK-merkkejä, tekstin laajennusta, RTL-merkkejä ja muita — mutta säilyttää ICU-paikkamerkit, monikkosyntaksin ja interpolointimuuttujat.

Asennus

i18n-pseudo on saatavilla npm-pakettina ja Homebrew-kaavana, tai voit koostaa sen lähdekoodista Cargolla.

Terminal
npm install -g @i18n-agent/i18n-pseudo
npm-paketti sisältää yleisen CLI-binääritiedoston. Suorituksenaikaisia riippuvuuksia ei tarvita.

7 muunnosstrategiaa

Kukin strategia kohdistuu tiettyyn i18n-virheluokkaan. Käytä niitä erikseen valitsimilla tai yhdistele esiasetuksilla.

StrategyFlagInputOutput
Accents--accentsHelloĤéľľó
CJK--cjkHello你好世界你好
Special Chars--specialHelloHel­lo
Expansion--expansion NSaveSave~~~~
Brackets--bracketsHello[Hello]
RTL--rtlHello‮Hello‬
Unicode Stress--unicode-stressHelloH́ȩl̈l̀õ
Tarkemerkit ovat suosituin strategia kovakoodattujen merkkijonojen löytämiseen. Jos merkkijono näkyy käyttöliittymässä ilman tarkemerkkejä, sitä ei koskaan välitetty käännösfunktiolle.

Esiasetukset

Esiasetukset kokoavat strategioita tavallisiin testaustilanteisiin. Käytä --preset-valitsinta ottaaksesi strategiaryhmän käyttöön kerralla.

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

Käyttöesimerkit

Suorita i18n-pseudo lähdekielen tiedostolle. Se lukee JSON-, YAML- ja PO-tiedostoja sekä muita i18n-muotoja, käyttää valittuja strategioita ja kirjoittaa muunnetun tulosteen.

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/

Ennen ja jälkeen

Tältä oletusesiasetus (tarkemerkit ja hakasulkeet) näyttää tavallisessa käännöstiedostossa. Huomaa, että ICU-monikkosyntaksi ja interpoloinnin paikkamerkit säilyvät täsmälleen.

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 {# íťéɱš}}]"
}
Paikkamerkkejä, kuten {name} ja {count}, tai ICU-monikkolausekkeita ei koskaan muuteta. Vain käännettävät tekstisegmentit muunnetaan, joten sovelluksesi hahmontaa pseudokäännetyt tiedostot oikein.

CI-integraatio

Lisää pseudokäännös CI-putkeesi löytämään i18n-regressiot automaattisesti. Luo pseudokäännetyt tiedostot ja suorita sitten niillä visuaaliset regressiotestit.

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
Yhdistä layout-esiasetus Playwright:in tai Chromatic:in visuaaliseen regressiotestaukseen. Kaikki komponentit, jotka vuotavat yli tai katkaisevat tekstin sen laajentuessa 1,4-kertaiseksi, epäonnistuvat visuaalisessa diffissä.

Aiheeseen liittyvät työkalut ja oppaat

Kokeile i18n Agent:ia nyt

Pudota käännöstiedostosi tähän

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

tai valitse napsauttamalla

Kohdekielet

Rekisteröitymistä ei tarvitaVälitön arvio

Usein kysytyt kysymykset