A localização que vive fora do produto

Levar um app nativo a dez mercados transforma a localização em dez projetos. Cada mercado tem seu próprio catálogo de strings, sua própria passada de layout para absorver alemão mais longo ou chinês mais denso, e sua própria ficha e capturas de loja. Adicionar árabe ou hebraico significa reestruturar cada tela da direita para a esquerda e recertificar a compilação. O custo de falar outro idioma é um novo ciclo de lançamento.

O runtime de mini-programa inverte a unidade da localização. Os pacotes de idioma viajam dentro do pacote e o runtime resolve o correto na inicialização e em cada mudança de idioma. Uma só compilação pode saudar o usuário em inglês, chinês, espanhol, português ou árabe — e o mesmo programa roda inalterado em cada super-app que suporte esses idiomas.

O que é realmente o i18n dentro do pacote

O runtime fornece uma camada de localização: os desenvolvedores empacotam recursos de tradução por idioma, declaram uma cadeia de fallback e o runtime escolhe a melhor correspondência para o idioma preferido do usuário. O runtime central @miniprogram-i18n do WeChat, por exemplo, expõe um motor de tradução com t(key), setLocale e um idioma de fallback para que strings ausentes degradem com elegância em vez de ficarem em branco. O SDK IAPMiniProgram da Alipay leva isso mais longe: adapta a UI do SDK, os metadados do programa e o conteúdo do pacote, e inclui árabe com direção de layout automática da direita para a esquerda.

É a mesma disciplina da internacionalização web —as diretrizes RTL do W3C e as APIs Intl da MDN— mas o runtime a aplica uniformemente dentro da super-app em vez de deixar cada equipe montar seu próprio pipeline.

Onde a diferença aparece

PassoApp nativoRuntime de mini-programa (i18n no pacote)
Catálogo de stringsCompilação por mercadoArquivos de idioma em um pacote
RTL (árabe, hebraico)Reestruturar e recertificarO runtime inverte a direção
Novo idiomaNovo ciclo de versãoAdicionar pacote, sem reconstruir
FallbackManual por telaCadeia de fallback declarada
Suporte de super-appFicha por lojaMesmo pacote, várias super-apps

O resultado é que entrar em um mercado vira uma tarefa de conteúdo, não um programa de engenharia: solta um pacote de idioma e o runtime cuida da resolução e da direção.

Por que o integrado supera o acrescentado

Uma camada de localização dentro do pacote significa que o desenvolvedor escreve o produto uma vez e publica idiomas como dados. Também significa que a cadeia de fallback —correspondência exata, mesma língua base, padrão— é imposta pelo runtime, então uma tradução ausente nunca quebra uma tela. O mesmo pacote renderiza corretamente em cada super-app que suporte os idiomas declarados, sem divergência entre lojas.

Como a Cross Mini App aplica

A Cross Mini App dá aos programas um runtime com uma camada de localização integrada: pacotes de idioma, uma cadeia de fallback e tratamento RTL viajam dentro do pacote, então uma só compilação alcança um público global. Você escreve o conteúdo uma vez; o runtime saúda cada usuário em seu idioma e direção. Você para de reconstruir o app para adicionar um mercado e passa a adicionar idiomas como dados.

Essa é a diferença entre dez versões localizadas e um programa que fala com todos.

Fontes