Ir para o conteúdo principal

Desenvolvendo com formatjs

Tradução Beta Não Oficial

Esta página foi traduzida por PageTurner AI (beta). Não é oficialmente endossada pelo projeto. Encontrou um erro? Reportar problema →

Além de seu forte foco em facilitar o pipeline de produção de i18n, o formatjs também busca melhorar a experiência de desenvolvimento (DevEx) com nosso eslint-plugin-formatjs.

Instalação do Linter

npm i -D eslint-plugin-formatjs eslint

Em seguida, na sua configuração do eslint:

{
"plugins": ["formatjs"],
"rules": {
"formatjs/no-offset": "error"
}
}

Consulte eslint-plugin-formatjs para mais detalhes sobre nossas regras.

Códigos de Erro

O react-intl é projetado para falhar rapidamente em problemas de configuração, mas recair para defaultLocale em problemas de tradução. Abaixo está a lista de erros que emitimos e que podem ser detectados durante testes:

FORMAT_ERROR

Ocorre quando tentamos formatar uma frase mas alguns valores de placeholder estão malformados, ex: passar uma string onde se espera Date.

UNSUPPORTED_FORMATTER

Disparamos este erro quando um formato personalizado é declarado mas não há um formatador correspondente. Por exemplo:

intl.formatMessage({
defaultMessage: 'the price is {p, number, customCurrency}',
})

e não existe um formatador para customCurrency.

INVALID_CONFIG

Quando valores de configuração estão incorretos, como ausência de locale.

MISSING_DATA

Quando APIs nativas do Intl não suportam certas localidades, ou faltam locale-data com polyfills configurados. Tipicamente ocorre em browsers/Node desatualizados ou ao usar APIs recentes em browsers sem suporte.

MISSING_TRANSLATION

Disparado quando buscamos uma mensagem traduzida em messages para um id específico e ela não existe, sem fallback defaultMessage para esse id.

verbosidade

Este erro será disparado frequentemente pois ocorre para cada mensagem sem tradução. Se você fizer logging remoto, implemente throttling.