Today I'm really proud to announce the release of Grav 0.9.30 which has a huge new feature: Full Multi-Language Support. This is one of the top requested features for Grav and with the help of the Grav community to isolate possible approaches, Grav now has a very powerful tool-set to build multi-language sites. The great news is that we were able to implement this capability without impacting performance!
Another key feature of this release that was required for multi-language to work properly, is the ability to configure multiple routes for a page, support a default override, and even provide a canonical route to be used for SEO purposes.
The multi-language capabilities in Grav are wide-reaching and can be best expressed in a list of functionality:
- Multiple concurrent languages for a given Grav site
- Language fallback based on language order
- Language code (
en
) or Local-based codes (en-GB
) - Multiple language-based markdown files providing custom header/contents
- Auto-detected active language based on URL
- Custom routes based on language
- Language-based home page aliases
- Active language-based Twig template overrides
- Translation support in
.yaml
format via Twig filters, functions and PHP function - Environment-based language handling
- Language alias routes and switching between language versions of a page
- Session-based active language
- Language Switcher plugin
There are several other key items in this release including built-in session support as well as a new improvements to the routing and redirect functionality. Again, a by-product of the multi-language support.
Please check out the Grav Changelog for a complete list of changes.
How to Update
Updating is now a simple affair. Simply navigate to the root of the Grav install in your terminal and type:
bin/gpm selfupgrade
This will upgrade the Grav core to the latest version. Additionally, you should update all your plugins and themes to the latest version. You can do this using the command below:
bin/gpm update