Um blog estático que traduz suas próprias URLs para oito idiomas

/ Artigo

Tradução automática. Ler o original em inglês: A static blog that translates its own URLs into eight languages →

Este é o primeiro post, então pode muito bem explicar a máquina que o publicou. O site inteiro é composto por arquivos estáticos — não há servidor, banco de dados nem nada para manter em execução.

Escrevendo um post

Coloque um arquivo markdown em src/content/blog/en/. O nome do arquivo vira a URL, então how-i-removed-greptile.md é publicado em /blog/how-i-removed-greptile. O frontmatter é curto:

---
title: How I removed Greptile
description: One sentence for search results and social cards.
pubDate: 2026-08-07
tags: [tooling, code-review]
---

Defina draft: true enquanto ainda estiver trabalhando nele. Rascunhos são renderizados no npm run dev, mas ficam de fora da build.

Tradução

Quando um post chega na main, uma GitHub Action o envia para o DeepSeek V4 Flash e escreve oito traduções de volta no repositório como arquivos markdown comuns. O slug também é traduzido, então a versão turca deste post vive em uma URL turca, e não em uma URL inglesa com um prefixo /tr.

Cada arquivo traduzido registra um hash da fonte em inglês de onde veio. Na próxima execução, posts cujo hash ainda corresponde são pulados — então editar um post retraduz um post, não o arquivo inteiro.

Camada Escolha
Framework Astro, saída estática
Hospedagem Cloudflare Workers (ativos estáticos)
Tradução DeepSeek V4 Flash no Fireworks
Conteúdo Markdown no git

Implantação

Fazer merge na main executa a passagem de tradução, commita o que mudou, faz a build e implanta. A build leva alguns segundos e a saída é uma pasta de HTML.

A melhor propriedade de um site estático é que os modos de falha são entediantes. Nada pode quebrar às 3 da manhã, porque não há nada em execução.

Pressione T para alternar entre claro e escuro, e B, A, G ou L para navegar pelo site.