Trecho do capítulo "Internacionalização e localização" alexandrecaramaschi.com/educacao/frontends-com-vibecoding Um pedido pronto para colar no agente: internacionalizar um componente sem mudar a aparência nem a acessibilidade. A página explica cada regra; aqui está o material bruto. ================================================================================ ### O que faz: internacionaliza um componente existente, com catálogos, plural e formatação pelo navegador ### Onde entra: conversa com o agente, componente por componente, ao preparar a expansão para outro idioma ### Cuidado: exija os catálogos junto com o código e proíba frase montada por concatenação; sem isso o resultado parece pronto e quebra no segundo idioma Internacionalize o componente a seguir (React 19 + TypeScript + Tailwind v4), SEM mudar a aparência nem a acessibilidade. Regras obrigatórias: 1. Extraia TODO texto visível para chaves de tradução; nada de literal no JSX. 2. Use placeholders nas frases (ex.: "último acesso {data}"); NUNCA concatene. 3. Plural e gênero via ICU MessageFormat dentro da string traduzível. 4. Formate datas, números e moeda com a API Intl no locale ativo (nunca à mão). 5. Troque todo CSS físico por lógico (ms-/me-/ps-/pe-/text-start) para que o layout funcione em RTL. 6. Mantenha contraste AA, foco visível e os atributos ARIA existentes. 7. Entregue também o catálogo pt-BR.json e en-US.json com as chaves criadas. Apresente: (a) o componente internacionalizado, (b) os dois catálogos, (c) uma lista das decisões de i18n que você tomou e por que.