Zero One is multi-language ready, and actually, in config.php it is set to 'languages' => true. With English as the main language. And serving it as site root as a 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 -> Languages, add a 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 -> Languages, and delete English as a default language. Add your language as the 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 a 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 language detection exist in Zero One.

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

'languages.detect' => true,

If you are using multi-domain (separate domain for language), language detect can't work, so please turn it off. You can remove whole language detect code from config file.

RTL support

Theme Styler by default doesn't support RTL language, small code changes are needed for that to work. Contact us for help with that.

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

<?= 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

Last updated