Lost in Translation? Not with tabi’s Multilingual Capabilities
Master the art of serving a global audience through tabi's built-in multilingual features. Learn how to change the default language, add multilingual support, and contribute your own translations. To broaden your reach to a global audience, tabi streamlines the process of building multilingual websites. In this guide, we’ll walk you through everything you need to know—from setting a default language for your site to contributing your own translations. Let’s get started! tabi supports the following languages: For an always up to date list of supported languages, refer to the You can set the default language for your site by defining the For instance, if you want (Simplified) Chinese to be the primary language, simply add this line to If the value of Zola automatically generates URLs for each non-default language like this: tabi facilitates the navigation between languages by adding a language switcher to the navigation bar (only shown when there’s more than one language enabled). If you scroll up to the navigation bar, you’ll see the language switcher (the globe icon). Clicking on it will display a dropdown with the available languages. Clicking on a language’s name will take you to the same page in that language. If a specific page is not available in a language, tabi will display a 404 page with the text: The page you’ve requested seems to be missing or hasn’t been translated into your language yet. Check the URL for errors or go back to the homepage. This text will be shown once for each language enabled on your site. You can see this page in action here. To enable multilingual support, you need to set the On each language’s section, you can set other variables like The two letter codes are ISO 639-1 language codes (or IETF BCP 47, when necessary). They are used to identify languages in a standardised way. tabi uses these codes to allow navigation between languages and translate the theme. tabi looks for the strings files in the following order. So if you create Make sure to copy the entire file for that language first, or the theme will fall back to the default English strings. If a string is not found in the language file, tabi will fall back to the default English string. Please do! We are always looking to add support for more languages. You can contribute a translation by creating a pull request in the tabi repository. You can use the English file as a base to translate the strings to your language. Please make sure to follow the same structure. The file should be named after the two letter code of your language, and should be a TOML file. For example, if you want to add support for Swahili, you can create a file named Note: when testing your translation, you might need to restart If you find an error in a translation, you can create an issue or a pull request in the tabi repository. If you didn’t customise the translations, simply updating the theme will update the translations. If you did, you will need to manually update the translations. You can do this by copying the new strings from the corresponding files, and pasting them in your custom file. No. tabi only translates the theme’s text strings. You will need to translate your content yourself. Frequently Asked Questions
What languages does tabi support?
i18n
directory in the tabi repository. How do I set a default language for my site?
default_language
variable in your config.toml
file.config.toml
:= "https://welpo.github.io/tabi"
= "~/tabi"
= "zh-Hans"
default_language
matches the name of a TOML file in the i18n
directory, all of tabi’s text strings will be translated to that language. How does tabi handle multilingual support?
{base_url}/{language_code}/{post}
. How do I enable multilingual support?
languages
variable in your config.toml
file. For example, if want an English-default site with support for Hindi and Spanish, you can set up your config.toml
like so:= "https://example.com"
= "My Site"
= "en"
[]
= "मेरी वेबसाइट"
[]
= "Mi web"
taxonomies
, description
, whether to generate a feed… Refer to Zola’s multilingual support documentation for more information. What are these two letter codes?
How do I customise or override a specific text string on my website?
$base_directory
is where your Zola site resides (where config.toml
is stored):$base_directory + "i18n"
$base_directory + "themes/tabi/i18n"
i18n/en.toml
in your base directory, tabi will read the strings from that file instead of the default English strings. You can do this for any language, supported or not. What happens if a translation is missing or incomplete?
My language is not supported. Can I contribute a translation?
sw.toml
in the i18n
directory.zola serve
to see the changes, as Zola doesn’t always detect changes in the TOML files. I’ve found an error in a translation. How do I fix it?
How do I update the translations after a theme update?
Does tabi translate my content?