Polyglot 1.14 - Mais idiomas, correções de redirecionamentos e novidades da comunidade

O Jekyll-Polyglot 1.14.0 foi lançado! Esta versão amplia o suporte a idiomas regionais, corrige casos extremos de redirecionamento e adiciona uma nova opção de compatibilidade com plugins do Jekyll que não suportam paralelismo.

suporte a zh-TW e pt-PT

  • PR #316: O site do Polyglot agora suporta chinês tradicional (zh-TW) e português europeu (pt-PT) como idiomas do site. O site de documentação do Polyglot agora serve páginas traduzidas para ambos, junto às traduções existentes de zh-CN e pt-BR. Como sempre, essas traduções foram feitas com a ajuda de IA; correções e melhorias são bem-vindas!

correções de prefixos duplicados no redirect_from

  • PR #317: Correções na forma como o Polyglot lida com o frontmatter redirect_from junto ao plugin jekyll-redirect-from. Redirecionamentos definidos pelo usuário agora são preservados em vez de sobrescritos, corretamente limitados ao idioma correspondente, e redirecionamentos que já têm prefixo de idioma não recebem mais um prefixo duplicado — assim, um redirecionamento como /fr/old-page não se tornará /fr/fr/old-page.

serial_default_lang para plugins sem suporte a paralelismo

  • PR #310: @rathboma contribuiu com a nova opção serial_default_lang. Quando parallel_localization está habilitado, o Polyglot cria um processo por idioma via fork, o que pode gerar condições de corrida com plugins como o jekyll-assets, que inicializam caches compartilhados no primeiro uso. Definir serial_default_lang: true faz o Polyglot construir primeiro o idioma padrão no processo pai antes de criar os demais processos: assim, esses plugins são inicializados exatamente uma vez, e os processos de cada idioma herdam o estado já preparado. Se os builds paralelos do Polyglot já colidiram com outro plugin do Jekyll, esta opção pode ajudar a evitar conflitos.

atualizações de dependências ruby

Esta versão também mantém as dependências ruby atualizadas.

Polyglot 1.13 - novas variáveis liquid, melhorias de SEO e redirecionamento

Jekyll-Polyglot 1.13.0 foi lançado! Este lançamento foi possível graças ao apoio e às muitas contribuições de @rathboma e Beekeeper Studio.

melhor geração de hreflang

  • PR #282: @rathboma mesclou melhorias na geração de tags hreflang, adicionando uma opção de fallback para idiomas não configurados. Isso melhora o SEO e a correção dos cabeçalhos gerados em sites multilíngues.

avisos sobre códigos de idioma incompatíveis

  • PR #287: @rathboma adicionou avisos em tempo de build quando o valor lang: de uma postagem não corresponde a nenhum idioma configurado do site. A correspondência de idiomas agora não diferencia maiúsculas de minúsculas, então EN e en são tratados da mesma forma.

  • PR #290: @rathboma a filtragem agora exclui corretamente postagens escritas em idiomas que não estão na configuração languages:, evitando que conteúdo não configurado vaze para os builds.

localização do _redirects do Netlify

  • PR #285: @rathboma adicionou uma nova opção localize_redirects. Quando ativada, o Polyglot gera automaticamente cópias com prefixo de idioma das regras _redirects do Netlify, de modo que um redirecionamento como /github também funcione para /fr/github, /de/github e assim por diante. Veja a página de receitas de SEO para detalhes de configuração.

novas variáveis liquid para status de tradução

  • PR #305: Duas novas variáveis liquid — page.missing_languages e page.available_languages — permitem que seus templates vejam quais idiomas uma página já recebeu tradução, e quais ainda estão faltando. Útil para construir seletores de idioma e barras laterais mais ricos.

novas traduções de idioma

  • PR #303: O site de documentação do Polyglot agora conta com traduções para ucraniano (uk) e híndi (hi), com a ajuda de tradução assistida por IA. Correções são bem-vindas!
  • PR #297: @manabu-nakamura contribuiu com correções nas traduções do site para o japonês (ja). Obrigado!

suporte a ferramentas de desenvolvimento de IA

  • PR #298: O Polyglot agora vem com suporte de engenharia de primeira classe para GitHub Copilot, Claude Code e a convenção compartilhada AGENTS.md. A IA faz parte do fluxo de trabalho agora, e contribuições feitas com essas ferramentas são bem-vindas.
  • Verificações adicionais de qualidade de CI foram adicionadas, incluindo ajustes de htmlproofer e rubocop.

barra lateral mostra traduções ausentes

A barra lateral do site de documentação agora sinaliza páginas que ainda não têm tradução no idioma ativo, facilitando a identificação de lacunas por leitores e colaboradores.

Obrigado a @rathboma e a todos que contribuíram para este lançamento!

Polyglot 1.12 - melhorias de redirecionamento e contribuições da comunidade

Jekyll-Polyglot 1.12.0 foi lançado! Este lançamento foca em melhorar o tratamento de redirecionamentos e inclui várias contribuições da comunidade.

melhorias de redirecionamento

Este lançamento inclui melhorias importantes em como os redirecionamentos funcionam com o Polyglot:

  • PR #275: Preservação de tags de âncora em redirecionamentos - graças a uma solução de @GruberMarkus, as URLs de redirecionamento agora preservam corretamente as tags de âncora, garantindo que os usuários cheguem exatamente onde pretendiam.

  • PR #293: Suporte de redirecionamento de sublinguagens para o plugin jekyll-redirect-from - sugerido por @rathboma, o Polyglot agora delimita corretamente o frontmatter redirect_from entre sublinguagens, evitando redirecionamentos duplicados e garantindo roteamento correto para páginas de idiomas não padrão.

detectar páginas de fallback com page.rendered_lang

  • PR #283: Nova variável page.rendered_lang - contribuída por @rathboma, esta nova variável liquid permite detectar quando uma página está sendo renderizada como fallback. Quando page.rendered_lang != site.active_lang, você sabe que o conteúdo da página ainda não foi traduzido.

A página /about foi atualizada com instruções sobre como melhor usar esta variável liquid de conveniência page.rendered_lang.

novo suporte de idiomas

  • PR #280: Suporte para italiano e turco foi adicionado ao site de documentação do Polyglot, expandindo nosso alcance multilíngue.

contribuições da comunidade

Vários membros da comunidade contribuíram com melhorias para o projeto:

  • PR #277: Definições de rich text da barra lateral atualizadas, melhorando a apresentação multilíngue do site.

  • PR #288: Strings de rich text em japonês contribuídas por @manabu-nakamura, aprimorando a experiência do idioma japonês.

Um agradecimento especial a @PanderMusubi pela demonstração jekyll-minimal-mistakes-polyglot, mostrando como integrar o Polyglot com o popular tema Minimal Mistakes.

Obrigado a todos os contribuidores que tornaram este lançamento possível!

Polyglot 1.11 - lançamento de correções diversas

Jekyll Polyglot 1.11.0 foi lançado. Ele contém correções para bugs complicados que foram desafiadores de resolver até recentemente. Este lançamento é possível graças a contribuidores e usuários como você.

conflitos corrigidos com temas jekyll

Outros temas jekyll como minimal-mistakes ou chirpy usam padrões glob em configurações exclude: que anteriormente conflitavam com o processamento polyglot de sites web com relativização de URL. @mattions contribuiu com uma correção para regex.escape esses valores antes de serem aplicados às regexes de relativização.

Este ajuste deve ajudar com o uso do polyglot pronto para uso com outros temas jekyll comuns.

outras correções diversas

suporte para japonês e árabe

O site polyglot agora tem versões de suporte traduzidas em árabe e japonês. Essas traduções do site foram feitas com a ajuda de IA; se algo estiver mal traduzido, por favor contribua com correções melhores!

Polyglot 1.10 - melhorias no i18n_headers

O Jekyll-Polyglot 1.10 já está disponível. Ele traz grandes melhorias e mudanças no plugin liquid i18n_headers para SEO, além de pequenos ajustes para idempotência em builds paralelos. Contribuições da comunidade e Vibe Coding ajudaram em grande parte dos recursos, testes e redação deste lançamento.

Melhorias no i18n_headers

O plugin i18n_headers agora possui capacidades estendidas nesta versão:

  • adiciona <link rel="canonical" ...> para cada idioma da página, garantindo que a indexação seja única em todos os sites.
  • adiciona <link rel="alternate" hreflang="x-default" ...> para apontar para a versão padrão do site quando nenhum idioma correspondente é solicitado pelo navegador.
  • define corretamente <link rel="alternate" hreflang="..."> para páginas e posts em coleções com permalinks personalizados.
  • a URL padrão agora incluirá site.baseUrl se definido.

Isso também corrige um bug que fazia com que a relativização de URLs absolutas alterasse essas tags involuntariamente.

Contribuições vibe-coded

O uso de certas ferramentas de vibe coding ajudou a encontrar, medir e verificar correções e recursos para este lançamento. Essa é uma nova abordagem para o desenvolvimento de software e permitiu a criação de testes Ruby avançados para código de plugin Jekyll executado em muitos idiomas do site.

Os testes escritos com vibe coding ajudaram a manter a alta cobertura de testes e a adicionar recursos complexos com confiança. Garantir a automação dos testes permitiu que recursos complicados fossem construídos corretamente.

Além disso, as ferramentas de vibe coding ajudaram a traduzir este post do blog para muitos idiomas.

Contribuições da comunidade

O Jekyll-Polyglot tem sido apoiado por pessoas. A documentação em linguagem humana é contribuída por pessoas que querem ver este plugin documentado em sua língua materna. Pessoas que contribuem com correções de bugs e documentação ajudaram este plugin a alcançar milhares de downloads por lançamento. A programação assistida por IA, em minhas ou suas mãos, moldará o software que usamos e os muitos idiomas em que escrevemos e falamos.

ruby >= 3.1 obrigatório

Atualizações contínuas de segurança das dependências de build do jekyll-polyglot exigiram uma atualização importante para ruby 3.1. Isso pode afetar sistemas de build que geram documentação com jekyll-polyglot. Agora é um bom momento para atualizar para a versão principal mais recente do ruby. Avise se essas mudanças causarem complicações nas builds do jekyll.