Conteúdos multilingues e localização: a abordagem do CMS nómada
Um CMS nómada produz conteúdos a partir de uma fonte e distribui-os por diferentes mercados. A API entrega-os independentemente da língua, região ou canal; a renderização por locale apresenta a…
Multilinguismo e localização • 2025
Um CMS nómadaproduz conteúdos a partir de uma fonte e distribui-os por diferentes mercados. A API entrega-os independentemente da língua, região ou canal; a renderização por locale apresenta a versão mais adequada ao utilizador.
B10 Digital Agency • 10 de outubro de 2025 • Leitura: cerca de 7 min
CMS nómada: uma fonte, vários canais
- Fonte de referência única: Um modelo reúne os conteúdos; as variantes de título, tom e CTA são guardadas em campos locale.
- Renderização por locale:
tr-TR,en-GB,ar-SAe outras locales determinam os modelos e automatizam os formatos de data, número e moeda. - Independente do canal: Web, aplicações móveis, quiosques e e-mail usam a mesma API.
«O conteúdo circula, o modelo muda: essa é a essência de um CMS nómada.»
Design do modelo: Conteúdo + Variação + Meta
| Campo | Descrição | Exemplo |
|---|---|---|
| baseTitle | Título da língua-fonte | «Estratégia web empresarial» |
| variants[] | Variantes por locale | { locale: "en-GB", title: "Enterprise Web Strategy", tone: "formal" } |
| seo | Meta + hreflang + canonical | Conjuntos hreflang e URLs canónicos por locale |
| schema | JSON-LD multilingue | Article, Service, Product |
Consultas GraphQL por locale
{ post(id:"123", locale:"tr-TR"){ title slug body seo { metaTitle metaDescription canonical hreflangs { locale href } } } }
Dica: No CMS, defina a regra fallbackLocale (por exemplo, se az-AZ não estiver disponível, usar tr-TR).
Next.js / i18n — rotas e renderização
// next.config.js module.exports = { i18n: { locales: ["tr","en-GB","ar"], defaultLocale: "tr", localeDetection: true } } // sayfa (getStaticProps) export async function getStaticProps({ params, locale }) { const data = await fetchGraphQL({ id: params.slug, locale }) return { props: { data }, revalidate: 60 } }
Schema.org / JSON-LD
{ "@context":"https://schema.org", "@type":"Article", "inLanguage":"tr-TR", "headline":"Kurumsal Web Stratejisi", "alternateHeadline":{ "@value":"Enterprise Web Strategy","@language":"en-GB" }, "publisher":{"@type":"Organization","name":"B10 Digital Agency"} }
Detalhes de i18n: localização real
- ICU MessageFormat: Regras de plural (1 produto / 2 produtos) e variantes de género ou forma.
- RTL/LTR:
dir="auto",:root[dir="rtl"]controlam a orientação de grelhas e ícones. - Slug & URL: Slugs localizados +
hreflang+ URLs canónicos específicos da região. - Moeda:
Intl.NumberFormat(locale, { style:'currency', currency:'TRY' })
«Traduzir não é localizar: a língua, o contexto e a cultura também mudam.»
Fluxo: TMS + IA + revisão humana
- Integração TMS: Gestão da localização com Phrase, Lokalise ou Smartling.
- Pré-tradução por IA: Um rascunho automático com instruções de tom e marca no prompt.
- Etapa de revisão: Verificar linguagem jurídica e terminologia do mercado, bem como conformidade com o guia de estilo.
Camada de SEO e desempenho
- Correção de hreflang: As versões linguísticas referenciam-se reciprocamente.
- Encaminhamento na edge: usar Accept-Languagepara sugerir uma língua, sem redirecionamento automático, numa faixa de sugestão discreta.
- ISR & CDN: Chaves de cache por locale:
{path}:{locale}.
Governação: responsabilidade pelos conteúdos e versões
| Função | Responsabilidade | Ferramenta |
|---|---|---|
| Responsável pelos conteúdos | Cria conteúdo de fonte | Headless CMS |
| Responsável pela localização | Gere as variantes e o fluxo TMS | TMS + Git |
| Especialista em SEO | Hreflang, canônico, esquema | Validação CI |
Leve os seus conteúdos a novos mercados.
A B10 Digital Agency usa Headless CMS, GraphQL e i18n para gerir e medir conteúdos de fonte única em várias línguas.
Fontes e documentos relacionados
Estes documentos servem de referência para os métodos e regras abordados neste artigo.
