Estúdio de Frankfurt para presenças digitais multilíngues +49 69 95209894 [email protected] Seg–Sex 9–17h Área do Cliente →
PortuguêsPT

Guia prático

Guia de Localização de Aplicativos e Software (i18n)

A localização de aplicativos e software exige uma separação cuidadosa entre código e textos. Este guia aborda aspectos técnicos como placeholders, regras de plural, comprimentos de texto, chaves de string, contexto para tradutores e suporte RTL. Ajuda desenvolvedores a criar aplicações internacionais de forma eficiente e consistente, sem abordar questões legais ou financeiras.

i18n
Abreviação de internacionalização
RTL
Suporte da direita para a esquerda
ICU
Componentes Internacionais para Unicode
Diagrama de separação entre código e recursos de idioma

1. Separação de código e textos

O requisito fundamental para qualquer localização é a separação estrita entre código de programa e conteúdo textual. Todos os textos a serem exibidos devem ser armazenados em arquivos de recursos externos (por exemplo, Properties, JSON, YAML), não codificados diretamente no código-fonte. Dessa forma, os tradutores podem trabalhar sem alterar o código. Use chaves de string exclusivas como referência no código, que apontam para as respectivas traduções. Essa separação também facilita a manutenção e permite adicionar novos idiomas posteriormente sem alterações no código. Certifique-se de que rótulos de interface, mensagens de erro e dicas também estejam nesses arquivos.

2. Placeholders e variáveis

Os textos frequentemente contêm conteúdo dinâmico, como números, nomes ou datas. Eles devem ser inseridos por meio de placeholders, por exemplo, com formatação printf (%s, %d) ou abordagens mais modernas, como chaves {0}. É importante que os tradutores conheçam a ordem e o significado dos placeholders. Use placeholders nomeados (por exemplo, “{username}”) para fornecer contexto. Em idiomas com diferentes ordens de palavras, a ordem dos placeholders pode variar. Portanto, ofereça a possibilidade de ajustar a ordem na tradução. Teste todas as variantes para evitar saídas incorretas ou incompletas.

Exemplo de placeholders em strings traduzíveis

3. Regras de plural e formação do plural

Em alemão, existem apenas singular e plural, mas muitos idiomas têm regras de plural mais complexas (por exemplo, árabe com seis categorias). Use bibliotecas como ICU MessageFormat, que tratam as regras de plural específicas de cada idioma. Defina chaves separadas em seus recursos para as diferentes formas de plural (one, other). O código seleciona automaticamente a forma correta com base no número. Exemplo: „{count} {count, plural, one {maçã} other {maçãs}}“. Teste cada idioma com vários valores numéricos para garantir que a forma de plural correta seja exibida. Evite ifs fixos – isso é propenso a erros.

4. Comprimento do texto e buffer de layout

As traduções geralmente são mais longas ou mais curtas que o texto original. Especialmente em botões, menus e rótulos, isso pode prejudicar o layout. Portanto, planeje espaço suficiente para expansões de texto – um bom parâmetro é 30% de espaço extra para idiomas ocidentais, mais para asiáticos. Use layouts dinâmicos que se ajustam ao comprimento do texto (por exemplo, Auto Layout no iOS ou Flexbox na Web). Evite larguras fixas. Permita que os elementos da UI lidem com quebra de texto, se necessário. Teste a interface com as traduções mais longas esperadas para evitar sobreposições ou cortes.

5. Chaves de string, contexto para tradutores e RTL

Chaves de string exclusivas são a espinha dorsal da localização. Use nomes descritivos (por exemplo, „login.button.title“) e documente o propósito de uso. Forneça contexto aos tradutores: capturas de tela, comprimento máximo de caracteres, restrições (por exemplo, „não mais que 20 caracteres“). Para idiomas RTL, como árabe ou hebraico, a interface deve ser espelhada. Use atributos de layout que suportam RTL automaticamente (por exemplo, start/end em vez de left/right). Teste toda a navegação em condições RTL. Considere também ícones e gráficos – eles podem ser interpretados de forma diferente dependendo da cultura.

Lista de verificação para entrada no mercado

  • Usar arquivos de recursos externos para textos
  • Placeholders com variáveis nomeadas e ordem ajustável
  • Implementar regras de plural com ICU MessageFormat
  • Layout com pelo menos 30% de margem para expansões de texto
  • Chaves de string descritivas com documentação de contexto
  • Suporte a RTL por meio de atributos de layout como start/end
Grade de layout com diferentes comprimentos de texto e buffers

Perguntas frequentes

Por que a separação entre código e textos é importante?

Ela permite traduções sem alterações no código, simplifica a manutenção e possibilita adicionar novos idiomas sem necessidade de recompilar o software.

Como lidar com formas plurais em diferentes idiomas?

Utilize bibliotecas como ICU MessageFormat, que selecionam a forma plural correta para cada idioma. Defina nos recursos chaves para cada categoria plural (ex.: one, other).

O que deve ser observado especialmente em idiomas RTL?

A UI deve ser espelhada: use atributos de layout lógicos (start/end) em vez de direções absolutas. Teste a navegação e o recuo de texto em condições RTL.

Pronto para este mercado?

Localizamos o seu site linguística, técnica e culturalmente – com revisão de falantes nativos e preço fixo. Solicite um orçamento sem compromisso.

Solicitar orçamento sem compromisso

GmbH alemãTribunal de Registro de Frankfurt am Main · HRB 111727
D-U-N-S® registrado315030052
Processamento em conformidade com a RGPDHospedagem na Alemanha
Preços fixos com garantia de entrega por escrito