Feito com Chinaski

Multilíngue em primeiro lugar

A maioria dos produtos de CMS trata "suporte a vários idiomas" como um complemento que se instala depois. O Chinaski foi construído ao contrário: o idioma é uma parte estrutural do modelo de dados, das URLs, da interface administrativa e de cada página que o builder gera. Esta página percorre o que "first-class" significa na prática , e o que não vai precisar ser enxertado depois.

O idioma vive no modelo de dados

Cada tipo de conteúdo , páginas, posts, blocos, documentos, categorias, itens de navegação, formulários , carrega seu próprio campo de idioma. As traduções são registros separados ligados entre si, não cópias ocultas. Onde os layouts visuais são compartilhados entre idiomas, o conteúdo dos blocos por idioma vive em uma tabela de traduções dedicada, de modo que um stack hero, por exemplo, pode ter textos diferentes por idioma enquanto compartilha a estrutura.

A interface administrativa fala o idioma do usuário

A interface administrativa em si vem com traduções integradas, e cada usuário pode escolher o próprio idioma da interface do admin , o padrão é o idioma padrão do site, mas com sobreposição por conta (isso inclui pessoas que só aprovam traduções). Quando autores escrevem conteúdo, o seletor de idioma em cada formulário de conteúdo é a própria lista de idiomas configurada do site , nada inventado, nada escrito errado; a lista vem da mesma configuração que dirige as URLs públicas.

Idiomas da direita para a esquerda já vêm de fábrica

Árabe, hebraico, farsi, urdu, pashto, curdo, sindhi, ídiche e divehi são renderizados com dir="rtl" definido em cada página gerada (e com lang definido corretamente para o idioma de cada página em todos os templates de tema). RTL não é um plugin nem um ajuste de tema , está no builder.

Saída consciente de idioma em todo lugar

  • Árvores de saída por idioma. No modo de URL por caminho ou subdomínio, cada idioma constrói sua própria árvore sob seu próprio prefixo/subdomínio de idioma , com URLs canônicas corretas por idioma (subdomínios por idioma incluídos), alternates hreflang, entradas de sitemap e caminhos de home da navegação.
  • Rótulos de homepage e avisos de cookies por idioma. O título do índice do blog e o texto/rótulos do banner de cookies têm configurações por idioma , uma única fonte de configuração para todo o conjunto de idiomas editoriais de um site.
  • Simplificação monolíngue. Um site de idioma único nunca recebe URLs com segmento de idioma; o modo é derivado automaticamente para que sites monolíngues permaneçam simples.

Ferramentas editoriais multilíngues, e não apenas cientes de idioma

  • A cobertura de tradução é calculada por página e post e exibida durante a edição: quais idiomas configurados têm esse conteúdo e quais não têm.
  • Os templates de fluxo de trabalho de tradução permitem definir idioma de origem, destinos e tipos de conteúdo uma vez e reutilizá-los pelo site.
  • Criação automática com um clique: um endpoint de API (e da área administrativa) calcula os idiomas de destino ausentes para o conteúdo e cria rascunhos traduzidos em lote, auditado como todo o resto.
  • As ferramentas com assistência de IA usam os mesmos trilhos: o servidor MCP integrado expõe ferramentas de tradução e auditoria (traduzir conteúdo, encontrar peças sem traduções, encontrar lacunas de conteúdo como meta descriptions ausentes por idioma), de modo que a manutenção multilíngue também é scriptável.

O comportamento das páginas públicas é nativo por idioma

  • Os índices de busca são construídos por idioma , buscar conteúdo "es" busca espanhol.
  • As próprias páginas estáticas ficam sob URLs por idioma com tags canônicas por idioma.
  • Os feeds RSS e os arquivos de categoria são gerados por idioma , assim o feed de cada idioma é um feed de verdade, não um único feed rotulado superficialmente.
  • A publicação agendada usa consistentemente um único fuso horário do site, de modo que um post em espanhol e um post em inglês publicados "às 9:00" aparecem de fato quando você quer que apareçam.

O que "first-class" custa

Nada fica escondido, mas a postura multilíngue significa que a complexidade do modelo vive no modelo de dados (slugs diferem por idioma; a translation key pareia equivalentes; sobreposições locais de URL por idioma). A regra prática: decida seus idiomas antes do lançamento (eles determinam o modo de URL) e trate uma tradução como irmã completa da página de origem, e não como uma variante. Seguindo esses caminhos, os mecanismos de busca recebem sinais corretos e os visitantes têm experiências completas em cada idioma que o site declara.

Leia este site em