Інструмент псевдоперекладу
Перевірте свій інтерфейс i18n до випуску. Створюйте імітовані переклади для ретельної перевірки компонування, кодування та двонапрямного відтворення, не чекаючи на справжні переклади.
Проблема
Ваш інтерфейс бездоганно виглядає англійською. Потім з’являється німецька: рядки на 40% довші, тому кнопки деформуються, а заголовки таблиць обрізаються. Арабська змінює напрямок усього компонування, і піктограми вказують не туди. Для японської потрібна інша висота рядка, через що порушується компонування ретельно розташованих карток. І все це Ви виявляєте вже після оплати перекладів.
Рішення
i18n-pseudo створює імітовані переклади для ретельної перевірки Вашого інтерфейсу без очікування на справжніх перекладачів. Інструмент застосовує 7 стратегій перетворення — діакритичні знаки, символи CJK, розширення тексту, маркери RTL тощо — і водночас зберігає заповнювачі ICU, синтаксис множини та змінні інтерполяції.
Встановлення
i18n-pseudo доступний як пакет npm і формула Homebrew; також його можна зібрати з вихідного коду за допомогою Cargo.
npm install -g @i18n-agent/i18n-pseudo7 стратегій перетворення
Кожна стратегія призначена для певного класу помилок i18n. Застосовуйте їх окремо за допомогою прапорців або поєднуйте в наборах налаштувань.
| 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̀õ |
Набори налаштувань
Набори об’єднують стратегії для поширених сценаріїв тестування. Використовуйте --preset, щоб одночасно застосувати групу стратегій.
| 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 |
Приклади використання
Запустіть i18n-pseudo для файлу вихідної локалі. Інструмент читає JSON, YAML, PO та інші формати i18n, застосовує вибрані стратегії й записує перетворений результат.
# 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/До та після
Ось як набір за замовчуванням (діакритичні знаки + дужки) змінює типовий файл перекладу. Зверніть увагу: синтаксис множини ICU та заповнювачі інтерполяції зберігаються без змін.
// 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 {# íťéɱš}}]"
}Інтеграція з CI
Додайте псевдопереклад до свого процесу CI, щоб автоматично виявляти регресії i18n. Створіть файли псевдоперекладу, а потім запустіть для них тести візуальної регресії.
# 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Пов’язані інструменти й посібники
Спробуйте i18n Agent зараз
Перетягніть сюди файл для перекладу
JSON, YAML, PO, XML, CSV, Markdown, Properties
або натисніть, щоб вибрати
Цільові мови