Skip to main content

Инструмент за псевдопревод

Тествайте Вашия интерфейс за i18n преди пускане. Създавайте примерни преводи, които проверяват устойчивостта на оформлението, кодирането и двупосочното изобразяване, без да чакате истинските преводи.

Проблемът

Вашият интерфейс изглежда безупречно на английски. След това идва немският — низове, които са с 40% по-дълги, развалят всеки бутон и изрязват текста във всяко заглавие на таблица. Арабският обръща цялото оформление, а иконите Ви сочат в грешната посока. Японският изисква различна височина на редовете и грижливо подредените Ви карти се разместват. Откривате всичко това едва след като вече сте платили за преводите.

Отстраняването на грешки в оформлението за i18n след превода струва средно 5-10x повече, отколкото откриването им по време на разработката. Псевдопреводът открива тези проблеми безплатно, преди да похарчите средства за истински преводи.

Решението

i18n-pseudo създава примерни преводи, които проверяват устойчивостта на Вашия интерфейс, без да чакате преводачи. Инструментът прилага 7 стратегии за преобразуване — диакритични знаци, CJK знаци, разширяване на текста, RTL маркери и други — като запазва ICU заместителите, синтаксиса за множествено число и променливите за интерполация.

Инсталиране

i18n-pseudo се предлага като npm пакет и формула за Homebrew, а можете също да го изградите от изходния код с Cargo.

Terminal
npm install -g @i18n-agent/i18n-pseudo
npm пакетът включва глобален CLI изпълним файл. Не са необходими зависимости за изпълнение.

7 стратегии за преобразуване

Всяка стратегия е насочена към определен вид грешки в i18n. Използвайте стратегиите поотделно чрез флагове или ги комбинирайте с предварително зададени конфигурации.

StrategyFlagInputOutput
Accents--accentsHelloĤéľľó
CJK--cjkHello你好世界你好
Special Chars--specialHelloHel­lo
Expansion--expansion NSaveSave~~~~
Brackets--bracketsHello[Hello]
RTL--rtlHello‮Hello‬
Unicode Stress--unicode-stressHelloH́ȩl̈l̀õ
Диакритичните знаци са най-популярната стратегия за откриване на твърдо кодирани низове. Ако даден низ се показва без диакритични знаци във Вашия интерфейс, той никога не е бил подаден към функцията за превод.

Предварително зададени конфигурации

Предварително зададените конфигурации обединяват стратегии за често срещани сценарии за тестване. Използвайте --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

Примери за използване

Изпълнете i18n-pseudo за файла на Вашата изходна езикова версия. Инструментът чете JSON, YAML, PO и други формати за i18n, прилага избраните стратегии и записва преобразувания резултат.

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/

Преди и след

Ето какво прави предварително зададената конфигурация по подразбиране (диакритични знаци + скоби) с типичен файл за превод. Обърнете внимание, че синтаксисът на ICU за множествено число и заместителите за интерполация се запазват без промяна.

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 {# íťéɱš}}]"
}
Заместители като {name}, {count} и изразите на ICU за множествено число никога не се променят. Преобразуват се само текстовите сегменти за превод, така че приложението Ви да се изобразява правилно с файловете за псевдопревод.

Интегриране с CI

Добавете псевдопревод към Вашия CI пайплайн, за да откривате автоматично регресии в i18n. Създайте файлове за псевдопревод, след което изпълнете с тях тестовете си за визуална регресия.

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
Комбинирайте конфигурацията за оформление с тестове за визуална регресия чрез Playwright или Chromatic. Всеки компонент, чието съдържание излиза извън границите или се съкращава при разширяване на текста 1.4x, ще бъде отчетен от визуалното сравнение.

Свързани инструменти и ръководства

Изпробвайте i18n Agent сега

Пуснете тук Вашия файл за превод

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

или натиснете, за да изберете файл

Целеви езици

Не се изисква регистрацияНезабавна оценка

Често задавани въпроси