Add your language. It's one file.
The one way to contribute to ./blog.sh without writing a line of Ruby is to translate it — and it's a single YAML file.
Everything the reader sees — navigation, dates, archive headings, the search box, the comments prompt — comes from a locale file. The whole guide lives here:
docs/localization.md — adding a language to ./blog.sh
Three things make it genuinely easy:
- A language is data, not code. You copy
en.yml, rename it, translate values. No templates touched, no Ruby read. - Fallback runs per key. A half-finished translation works from day one — anything you haven't translated yet simply shows up in English until you get to it.
- Only
en.ymlmust be complete. Yours can grow at whatever pace your weekends allow.
English, Czech and German are already in. Yours would make four.
One design decision worth a paragraph, because it surprises people: there is no plural system, on purpose. Instead, every count phrase is written to fit any number — the way Czech, with its three plural forms, has been quietly working around other people's plural systems forever. It's the difference between shipping a translation tonight and reading a CLDR spec first.
The reward: a locale reviewed by a native speaker gets marked as shipped in the README, with your name on it. Community drafts are welcome too — they're labeled as such until a native speaker signs off.
One honest limit: no RTL yet. The templates don't mirror the layout, and pretending otherwise would waste an Arabic or Hebrew translator's evening. It's written down in the same doc.
