diff --git a/CHANGELOG.md b/CHANGELOG.md index 8baf16c..65f9903 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,15 @@ Tudo o que muda de relevante no ESPDocs está aqui. O formato segue o - Negociação de idioma na raiz com fallback padrão para `en` para navegadores com idiomas inativos ou genéricos, e redirecionamento 307 de prefixos inativos (`es`, `fr`, `de`, `zh-CN`) para `/en` preservando o mapeamento de slugs. - Metadados de SEO, Open Graph e Twitter Cards localizados, com `hreflang` cruzado entre `pt-BR`, `en` e `x-default`. +### Corrigido + +- Eliminação de vazamentos de texto em português nas rotas em inglês (`en`): + - Tradução completa de descrições e avisos de pinagem em todos os 11 arquivos de conexões SoC (`data/en/conexoes/*.json`). + - Tradução integral de todas as descrições de componentes e exportação do guia rápido do IDF Component Manager (`GUIA_COMPONENT_MANAGER`) em `lib/data/en/componentes.js`. + - Internacionalização do link de acessibilidade "Pular para o conteúdo" (`skipToContent`) no layout raiz e trilhas de navegação (breadcrumbs). + - Conversão de layouts de páginas (`series`, `comparacao`, `catalogo`, `componentes`, `seletor`, `diagnostico`, `glossario`) para `generateMetadata` dinâmico por locale com títulos, descrições e dados estruturados JSON-LD estritamente em inglês. + - Implementação de checagem automatizada estrita em `scripts/check-i18n.mjs` que bloqueia strings idênticas entre `pt` e `en` fora da allowlist de termos técnicos. + ## [1.2.0] - 2026-11-01 ### Adicionado diff --git a/app/[locale]/catalogo/layout.jsx b/app/[locale]/catalogo/layout.jsx index 1e623fd..3349bb2 100644 --- a/app/[locale]/catalogo/layout.jsx +++ b/app/[locale]/catalogo/layout.jsx @@ -1,13 +1,25 @@ import { paginaMeta, jsonLd } from "@/lib/seo"; -export const metadata = paginaMeta({ - titulo: "Catálogo de placas ESP32", - descricao: "Placas de desenvolvimento com ESP32 disponíveis no Brasil, com filtro por série, conector e conversor USB-serial.", - caminho: "/catalogo", - keywords: ["placas ESP32", "DevKit ESP32", "comprar ESP32", "ESP32 DevKitC"], -}); +export async function generateMetadata({ params }) { + const { locale } = await params; + const isEn = locale === "en"; + return paginaMeta({ + titulo: isEn ? "ESP32 Board Catalog" : "Catálogo de placas ESP32", + descricao: isEn + ? "ESP32 development boards and DevKits available in Brazil, with filters by series, connector, and USB-serial converter." + : "Placas de desenvolvimento com ESP32 disponíveis no Brasil, com filtro por série, conector e conversor USB-serial.", + caminho: "/catalogo", + locale, + keywords: isEn + ? ["ESP32 boards", "ESP32 DevKit", "buy ESP32", "ESP32 DevKitC"] + : ["placas ESP32", "DevKit ESP32", "comprar ESP32", "ESP32 DevKitC"], + }); +} + +export default async function Layout({ children, params }) { + const { locale } = await params; + const isEn = locale === "en"; -export default function Layout({ children }) { return ( <>