A pseudo-localização é uma técnica de teste poderosa que transforma seu texto fonte em uma língua falsa para identificar problemas de internacionalização (i18n) antes que a tradução real comece. Este guia mostra como automatizar os testes de pseudo-localização usando o pacote pseudo-l10n npm.
A pseudo-localização é o processo de transformar o texto fonte da sua aplicação em uma língua falsa alterada que imita como a interface do usuário se comporta após a tradução. Isso ajuda engenheiros de QA e desenvolvedores a identificar problemas de i18n cedo no ciclo de desenvolvimento.

Exemplo de uso de pseudo-localização para identificar possíveis problemas de internacionalização. A fonte e o tamanho são idênticos em ambos os lados, mas suportar outros scripts muitas vezes requer mais espaço.
A pseudo-localização ajuda você a detectar problemas de i18n cedo:
Aqui estão estratégias comprovadas para automatizar testes de i18n com pseudo-localização:
Substitua letras latinas por formas acentuadas ou diferentes scripts para testar a codificação de caracteres e o suporte a fontes.
Exemplo: "Save" → "Šàvē"
Verificação de QA: Certifique-se de que todos os caracteres sejam exibidos corretamente e que nada quebre devido a problemas de codificação.
Expanda automaticamente cada string em ~30–40% para imitar línguas longas como o alemão ou o finlandês. Envolva com marcadores visuais para fácil detecção de recortes.
Exemplo: "Save" → ⟦Šàvēēēēē⟧
Verificação de QA: Use comparação automática de capturas de tela para detectar transbordamento da UI, recortes ou desalinhamento.
Substitua variáveis de interpolação (placeholders) por marcadores visíveis para verificar se eles são preservados durante a tradução.
Exemplo: "Você tem {{count}} itens" → "Você tem <COUNT> itens"
Verificação de QA: Execute testes de regressão; falhe se um marcador estiver faltando ou escapado incorretamente (<COUNT>).
Envolva o texto em marcadores da direita para a esquerda (RTL) usando caracteres de controle Unicode para simular árabe ou hebraico.
Verificação de QA: Verifique se o alinhamento, a direção do texto e o espelhamento estão corretos para línguas RTL.
Adicione pseudo-localização ao seu pipeline de testes automatizados para capturar problemas de i18n antes que cheguem à produção.
Verificação de QA: Bloqueie a implantação se os testes detectarem traduções ausentes, placeholders quebrados ou problemas de layout.
O pacote npm pseudo-l10n automatiza a pseudo-localização para seus arquivos de tradução JSON, facilitando a integração dos testes de i18n no seu fluxo de trabalho de desenvolvimento.
Instale o pseudo-l10n globalmente para uso na linha de comando:
npm install -g pseudo-l10nOu adicione como uma dependência de desenvolvimento:
npm install --save-dev pseudo-l10nTransforme seu arquivo de tradução fonte em uma versão pseudo-localizada:
pseudo-l10n input.json output.jsonEntrada (en.json):
{
"welcome": "Welcome to our application",
"greeting": "Hello, {{name}}!",
"itemCount": "You have {{count}} items"
}Saída (pseudo-en.json):
{
"welcome": "⟦Ŵëļçõɱë ţõ õür àƥƥļïçàţïõñēēēēēēēēēēēēēēēēēē⟧",
"greeting": "⟦Ĥëļļõēēēēēē, {{name}}!ēēēēē⟧",
"itemCount": "⟦Ŷõü ĥàṽë {{count}} ïţëɱšēēēēēēēēēēēēēēēē⟧"
}pseudo-l10n en.json pseudo-en.json --expansion=30Simule idiomas da direita para a esquerda, como árabe ou hebraico:
pseudo-l10n en.json pseudo-ar.json --rtlSubstitua placeholders por marcadores em maiúsculas para facilitar a detecção visual:
pseudo-l10n en.json pseudo-en.json --replace-placeholders
# Input: { "greeting": "Hello, {{name}}!" }
# Output: { "greeting": "⟦Ĥëļļõēēēēēē, <NAME>!ēēēēē⟧" }O pacote suporta vários formatos de placeholder usados por diferentes bibliotecas de i18n:
# For i18next (default)
pseudo-l10n en.json pseudo-en.json --placeholder-format="{{key}}"
# For Angular/React Intl
pseudo-l10n en.json pseudo-en.json --placeholder-format="{key}"
# For sprintf style
pseudo-l10n en.json pseudo-en.json --placeholder-format="%key%"Use pseudo-l10n programaticamente em seus scripts Node.js ou processo de build:
const { generatePseudoLocaleSync, pseudoLocalize } = require('pseudo-l10n');
// Generate a pseudo-localized JSON file
generatePseudoLocaleSync('en.json', 'pseudo-en.json', {
expansion: 40,
rtl: false
});
// Pseudo-localize a single string
const result = pseudoLocalize('Hello, {{name}}!');
console.log(result);
// Output: ⟦Ĥëļļõēēēēēēēēēēēēēē, {{name}}!ēēēēē⟧Adicione a geração de pseudo-localização aos seus scripts package.json:
{
"scripts": {
"pseudo": "pseudo-l10n src/locales/en.json src/locales/pseudo-en.json",
"pseudo:rtl": "pseudo-l10n src/locales/en.json src/locales/pseudo-ar.json --rtl"
}
}Gere pseudo-locale como parte do seu processo de build:
// build.js
const { generatePseudoLocaleSync } = require('pseudo-l10n');
// Generate pseudo-locales as part of build
generatePseudoLocaleSync(
'./src/locales/en.json',
'./src/locales/pseudo-en.json',
{ expansion: 40 }
);
generatePseudoLocaleSync(
'./src/locales/en.json',
'./src/locales/pseudo-ar.json',
{ rtl: true }
);Integre a pseudo-localização ao seu pipeline de integração contínua:
# .github/workflows/test.yml
- name: Generate pseudo-locales
run: |
npm install -g pseudo-l10n
pseudo-l10n src/locales/en.json src/locales/pseudo-en.json
- name: Run i18n tests
run: npm run test:i18nDepois de validar sua implementação de i18n com pseudo-localização, é hora de traduzir seu aplicativo para usuários reais. É aqui que serviços de tradução impulsionados por IA como l10n.dev entram.
Após garantir que seu aplicativo lida corretamente com a internacionalização com pseudo-localização, use l10n.dev para tradução profissional impulsionada por IA:
Pronto para detectar problemas de i18n cedo e agilizar seu fluxo de trabalho de localização?
Carregue seus arquivos i18n e deixe a IA cuidar da tradução com consciência de contexto e formatação adequada
Descubra por que a tradução potencializada por IA é melhor para arquivos i18n do que métodos tradicionais
Integre a localização potencializada por IA diretamente em seu pipeline CI/CD
Traga a localização por IA para seu fluxo de trabalho com nossas extensões e plugins
A pseudo-localização é uma técnica de teste essencial que ajuda a detectar problemas de internacionalização antes que cheguem à produção. Ao automatizar os testes de pseudo-localização com o pacote pseudo-l10n, você pode garantir que seu aplicativo esteja realmente pronto para públicos globais.
Combinado com a tradução impulsionada por IA da l10n.dev, você pode construir aplicativos robustos e multilíngues mais rapidamente e com confiança.