Aŭtomataj Blogtradukadoj kun Claude kaj GitHub Actions
Ĉiu afiŝo kiun mi skribas estas aŭtomate tradukita. Claude pritraktas la tradukadon, enmetas la rezultojn en main, kaj la tradukitaj versioj estas deplojitaj kune kun la originalo.
La Fluo
La tradukada laborfluo ruliĝas en GitHub Actions kiam angla enhavo estas kunfandita en main:
on:
push:
branches: [main]
paths:
- 'content/**/*.en.md'
flowchart LR
B[Kunfandi al main] --> C[Tradukoj generitaj]
C --> D[Enmetita al main]
D --> E[Produktada deplojo kun ĉiuj lingvoj]
La Promptilo
La laborfluo uzas claude-code-action:
For each .en.md file that was added or modified:
1. Read the English content
2. Create translations for these languages: es, nl, de, it, fr, ja, zh, ru, hi
3. Save each translation as filename.{lang}.md (e.g., hello-world.es.md)
4. Preserve the frontmatter structure exactly, but translate the title
5. Translate the body content naturally
6. Keep code blocks, URLs, file paths, and technical terms unchanged
Unu promptilo pritraktas ĉiujn 9 lingvojn. “Traduki nature” produktas pli fluan rezulton ol “traduku ĉi tiun tekston.” Kodblokoj kaj teknikaj terminoj restas en la angla.
Pritraktado de Front Matter
Hugo-afiŝoj havas YAML front matter. Iuj kampoj devas esti tradukitaj (titolo), aliaj ne (dato, slug):
“Konservu la frontmatter-strukturon ekzakte, sed traduku la titolon”
Angla:
---
title: "Hello World"
date: 2025-12-20
draft: false
---
Hindia:
---
title: "नमस्ते दुनिया"
date: 2025-12-20
draft: false
---
La Enmeto
La laborfluo starigas bot-identecon kaj limigas kion Claude povas fari:
- name: Setup git identity
run: |
git config --global user.email "claude[bot]@users.noreply.github.com"
git config --global user.name "claude[bot]"
- name: Translate with Claude
uses: anthropics/claude-code-action@v1
with:
claude_args: "--allowedTools 'Write,Bash(git:*)'"
prompt: |
...
Use `git add`, `git commit`, and `git push` to add the translations directly to main.
--allowedTools limigas Claude al skribi dosierojn kaj ruli git-komandojn.
Kvalito
Sufiĉe bona por persona blogo. La tradukoj de Claude estas fluaj kaj bone kaptas la signifon. Denaska parolanto rimarkus foje mallertajn frazojn, sed ĝi estas pli bona ol mi mem povus fari.
Aliaj Uzoj
La sama ŝablono funkcias por dokumentada generado, ŝanĝprotokola resumo, commit-mesaĝa skribado kaj eldonaj notoj:
- Detekti kio ŝanĝiĝis
- Sendi enhavon al Claude kun instrukcioj
- Enmeti rezultojn reen al la branĉo