Internacionalização (i18n)
Internacionalização (i18n) é o processo de design e engenharia para garantir que um produto ou website pode ser adaptado a várias línguas e regiões sem necessidade de alterações de código. Envolve a abstração de strings de texto, a ativação de formatos de data variáveis e o suporte a Unicode para caracteres especiais.
Construindo a Base para a Localização
Não é possível traduzir um site se o código não o suportar. i18n é o "trabalho preparatório" — construir a estrutura da casa antes de pintar as paredes. Texto codificado de forma rígida como <p>Hello World</p> é impossível de traduzir sem editar o código fonte. Código internacionalizado usa variáveis: <p>{greeting_text}</p> que podem ser trocadas por qualquer idioma. Da mesma forma, bases de dados devem suportar codificação UTF-8 para armazenar caracteres chineses, layouts de interface de utilizador devem flexibilizar-se para acomodar texto alemão (30% mais longo que inglês), e sistemas de data devem lidar com DD/MM/AAAA vs. MM/DD/AAAA. i18n acontece uma vez durante o desenvolvimento; localização acontece repetidamente para cada novo mercado.
Hardcoded vs. Internacionalizado (i18n)
Impacto no Mundo Real
Aplicação SaaS tem texto em inglês codificado de forma rígida em mais de 500 componentes React
Lançar a versão francesa requer a edição de 500 ficheiros
6 meses de desenvolvimento, custo de 200 mil dólares, alto risco de bugs
Aplicação criada com i18n desde o primeiro dia, todo o texto em ficheiros de idioma
Lançamento em francês requer um novo ficheiro de tradução fr.json
2 semanas, custo de 15.000€, zero alterações de código