Multiple Languages

asimov-static treats language as just another piece of metadata on a content file. To localise a page, set its language key and pick a URL convention that makes the locale explicit.

content/
about.txt # default language (declared in global config)
about.de.txt # German
about.sv.txt # Swedish

Each file declares its own language explicitly — the filename suffix is just a hint to humans, not magic:

content/about.sv.txt
title: Om asimov.js
language: sv
path: /sv/om
---
asimov.js är en bättre verktygslåda för att bygga
fantastiska webbplatser och appar.

Linking between locales

A common helper is alt(locale), registered by a small i18n plugin, that returns the URL of the same page in another language. You then expose a language switcher in header.tmpl:

<nav class="lang">
<a href="{{alt 'en'}}">EN</a>
<a href="{{alt 'sv'}}">SV</a>
<a href="{{alt 'de'}}">DE</a>
</nav>

Default locale

Set the default in site/data/global.txt:

site/data/global.txt
default_language: en
site_title: asimov.js

Any content file without an explicit language key inherits the default.