Multi-language

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.

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,

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 website styling must be done only by LESS/CSS styling.

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

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

Add

<?= css(['assets/app/dist/css/uikit.app-rtl.min.css']) ?>

And when you compile CSS files https://www.one.thezero.club/guide/theme-styling/less-css-setup#compile instead of pnpm compile you'll have to use pnpm compile-rtl.

Learn more at https://getuikit.com/docs/rtl.

Also, check out RTL enabling in Kirby docs https://getkirby.com/docs/guide/languages/supporting-RTL-languages

Last updated

Was this helpful?