Skip to content
Type something to search...
Taxo Theme Documentation

Internationalization

Taxo’s multilingual behavior is controlled by three layers:

  1. src/config/language.json
  2. [settings.multilingual] in src/config/config.toml
  3. the content folders such as english/ and french/

Language Definitions

[
{
"languageName": "En",
"languageCode": "en",
"contentDir": "english"
},
{
"languageName": "Fr",
"languageCode": "fr",
"contentDir": "french"
}
]

Main Multilingual Settings

[settings.multilingual]
enable = true
defaultLanguage = "en"
disableLanguages = []
showDefaultLangInUrl = false

URL Behavior

When showDefaultLangInUrl = false:

  • default language URLs look like /about/
  • French URLs look like /fr/about/

When showDefaultLangInUrl = true:

  • default language URLs look like /en/about/
  • French URLs look like /fr/about/

Content Folder Rule

Every localized collection follows the same pattern:

src/content/blog/english/
src/content/blog/french/
src/content/services/english/
src/content/services/french/

Useful Scripts

Terminal window
npm run generate-multilingual-content
npm run remove-multilingual
  • generate-multilingual-content helps when you need translated copies
  • remove-multilingual is the quick path for turning Taxo into a single-language site

Shared Text Files

Update these for translated UI labels:

  • src/i18n/en.json
  • src/i18n/fr.json

Update these for translated menu labels:

  • src/config/menu.en.json
  • src/config/menu.fr.json

Important Restart Note

After changing multilingual settings, restart the dev server so routing and theme settings stay aligned.