Zero One is multi-language ready, and actually in config.php it is set to 'languages' => true. With English as main language. And serving it as site root as base. So, every .txt file in content folder has .en.txt at the end.

Have in mind that Site Settings are also translatable, which means that you can have different settings per language.

If English is your website default language

And you want to add more languages, just go to Kirby Settings, add new language and start translating your content. Everything will work as expected.

See also:

If English is NOT your website default language

Go to Kirby Settings, and delete English as default language. Add your language as default language. That's it, you can start working.

There is just one thing. If you want your default language to be at domain root, you will have to go to zero-one/site/languages/[yourlanguageextension].php, open it with text editor and

# Change this
'url' => NULL
# Into this
'url' => '/'

When saved, your language will be at domain/folder root.

Languages detect support

From version 2.1.0 support for automatic Languages detection exist in Zero One.

You just have to add to config.php next option:

'languages.detect' => true,

RTL support

Zero One supports RTL (right-to-left) languages.

But to enable support on the front-end you'll have to go to xampp/htdocs/zero-one/site/snippets/header.php and instead of of

<?= css(['assets/app/dist/css/']) ?>


<?= css(['assets/app/dist/css/']) ?>

And when you compile CSS files instead of yarn compile you'll have to use yarn compile-rtl.

Learn more at

Also check out RTL enabling in Kirby docs