Skip to main content

Pseudolokalizácia: otestujte pripravenosť i18n bez skutočných prekladov

Skutočné preklady stoja čas aj peniaze. Pseudolokalizácia zmení Vaše zdrojové reťazce na čitateľný, ale očividne falošný text, ktorý okamžite odhalí chyby i18n – pevne zapísané reťazce, pretekanie textu, problémy RTL a chybné zreťazenie.

1

Čo je pseudolokalizácia?

Pseudolokalizácia nahrádza znaky vo Vašich zdrojových reťazcoch vizuálne podobnými znakmi s diakritikou alebo rozšírenými znakmi, pridáva výplň na rozšírenie textu a obaľuje reťazce zátvorkami. Výsledok zostáva pre vývojárov čitateľný, no zreteľne sa líši od skutočného textu, takže jednoducho odhalíte reťazce, ktoré neboli obalené prekladovými funkciami.

Pseudo-localization examples
// Pseudo-localization transforms your source strings
// to simulate translation without real translators

// Original:
"Welcome to our application"

// Accented (simulates diacritics):
"[Ẁëľčöṁë ţö öüŕ àṗṗľïčàţïöñ]"

// Expanded (simulates text expansion ~30%):
"[Weeelcooomee tooo ouuur aaappliiicaaatiiioon]"

// Mirrored (simulates RTL layout):
"[noitacilppa ruo ot emocleW]"

// Brackets make untranslated strings immediately visible
Pseudolokalizácia je najrýchlejší spôsob odhaľovania chýb i18n. Vygeneruje sa za pár sekúnd, nič nestojí a odhaľuje problémy, ktoré zostávajú neviditeľné až do testovania so skutočným jazykom. Každý projekt pripravený na i18n by ju mal použiť pred objednaním skutočných prekladov.
2

Použitie vo Vašom projekte

Nainštalujte i18n-pseudo a spustite ho nad svojimi lokalizačnými súbormi. Nástroj automaticky rozpozná formát súboru a vygeneruje pseudolokalizovanú verziu, ktorú môžete načítať ako testovaciu lokalizáciu v aplikácii.

Issues caught by pseudo-localization
// 1. Hardcoded strings (not wrapped in t())
// Pseudo strings have brackets/accents, so untranslated
// strings are immediately obvious in the UI

// 2. Text truncation
// Expanded text reveals buttons and labels that break
// when translations are longer than English

// 3. Layout issues
// Accented characters reveal font rendering problems
// RTL mode reveals directional layout bugs

// 4. Concatenation bugs
// "Hello " + name vs t('greeting', { name })
// Pseudo-localization breaks concatenated strings

// 5. Missing i18n wrappers
// Any string not going through the i18n system
// appears as plain English among pseudo text
Počas vývoja pridajte lokalizáciu 'pseudo' do prepínača jazykov aplikácie. Keď na ňu vývojári prepnú, nepreložené reťazce sú okamžite viditeľné. Pred vydaním do produkcie pseudolokalizáciu odstráňte.
3

7 transformačných stratégií

i18n-pseudo ponúka 7 transformačných stratégií, z ktorých každá testuje iný aspekt Vašej implementácie i18n. Na cielené testovanie ich používajte jednotlivo alebo ich skombinujte v predvoľbách na komplexné pokrytie.

Pseudo-localization strategies
// Strategy 1: Accented characters
// Replace ASCII with similar-looking Unicode
// a -> à, e -> ë, o -> ö, etc.
// Preserves readability while testing rendering

// Strategy 2: Text expansion
// Pad strings to simulate longer translations
// German is ~30% longer, Finnish ~40% longer
// Helps catch UI overflow early

// Strategy 3: Brackets/wrappers
// Wrap strings in [brackets] or «guillemets»
// Makes untranslated strings visually obvious

// Strategy 4: Bidi/RTL
// Mirror text for right-to-left testing
// Catches layout issues before Arabic/Hebrew testing

// Strategy 5: Combined
// Apply all strategies simultaneously
// Maximum coverage in one pass
4

5 vstavaných predvolieb

Predvoľby spájajú viacero stratégií do bežne potrebných konfigurácií. Na rýchle testovanie použite predvoľbu alebo vytvorte vlastné kombinácie podľa svojich potrieb.

CLI & Configuration
// Using i18n-pseudo CLI
npx i18n-pseudo generate \
  --source locales/en.json \
  --output locales/pseudo.json \
  --preset accented

# Available presets:
# accented  - Ḣëľľö Ẁöŕľð (default)
# expanded  - Heeellooo Wooorld
# mirrored  - dlroW olleH
# brackets  - [Hello World]
# maximum   - [Ḣëëëľľľöööö Ẁöööŕŕŕľľľðððð]

// i18n-pseudo.config.json
{
  "source": "locales/en.json",
  "output": "locales/pseudo.json",
  "preset": "maximum",
  "expansion": 1.4,
  "wrapper": ["[", "]"],
  "exclude": [
    "*.url",
    "*.email",
    "branding.*"
  ]
}
5

Integrácia CI/CD

Spúšťajte pseudolokalizáciu v CI a automaticky odhaľujte regresie i18n. Vygenerujte pseudolokalizované súbory, vykreslite kľúčové obrazovky a porovnajte ich s referenčnými snímkami. Každý netransformovaný text na snímkach je regresia – nový pevne zapísaný reťazec, ktorý obišiel prekladovú funkciu.

.github/workflows/pseudo-check.yml
# .github/workflows/pseudo-check.yml
name: Pseudo-Localization Check

on:
  pull_request:
    paths:
      - 'src/**'

jobs:
  pseudo-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 20

      - name: Install dependencies
        run: npm ci

      - name: Generate pseudo locale
        run: npx i18n-pseudo generate \
          --source locales/en.json \
          --output locales/pseudo.json \
          --preset maximum

      - name: Build with pseudo locale
        run: npm run build
        env:
          NEXT_PUBLIC_LOCALE: pseudo

      - name: Run visual regression tests
        run: npx playwright test --project=pseudo
        env:
          LOCALE: pseudo

Vyskúšajte i18n Agent teraz

Potiahnite súbor na preklad sem

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

alebo kliknite a vyberte súbor

Cieľové jazyky

Bez registrácieOkamžitý odhad

Časté otázky k pseudolokalizácii