Multilingual & Internationalization (i18n)
Build a global website. Learn how to configure languages, translate interface text, and create multilingual content with HugoBlox's i18n support.
Create a truly global site by customizing the interface language or translating your content into multiple languages. HugoBlox supports 35+ languages out of the box.
Interface Language
The interface language controls site text that isn't part of your content (e.g., "Read More", "Next Page").
Setting the Language
- Configure Languages: Edit
config/_default/languages.yamlto define which languages your site supports. - Set Default: In
hugo.yaml, setdefaultContentLanguageto your primary language code (e.g.,en,zh,es).
Customizing Translations
You can modify existing translations or create new language packs.
-
Create the i18n Folder Create an
i18nfolder at your site root. -
Download or Create a File Download a language file (e.g.,
en.yaml) and save it toi18n/.en.yamlzh.yaml -
Edit Translations Open the YAML file and modify the text strings.
Language files use ISO/RFC5646 identifiers (e.g., en, fr, zh-Hans).
Multilingual Content
Serve your content in multiple languages.
Directory Structure
Organize your content/ folder using language codes.
-
Migrate Existing Content Move your default content into a subfolder named after its language code (e.g.,
content/en/). -
Create Translations Create parallel folders for other languages (e.g.,
content/zh/) and add translated Markdown files. -
Configure Content Directories Update
config/_default/languages.yamlto map each language to its content directory.
Multilingual Menus
You can create separate menus for each language.
- Default Menu:
config/_default/menu.yaml - Translated Menus: Create files like
menu.zh.yamlormenu.es.yaml.
When a user switches languages, the corresponding menu will be displayed automatically.
A language switcher will automatically appear in the navigation bar and footer when multiple languages are configured.
Translating Data Files
Data files (such as author profiles) can also be translated per language. Place language-specific versions in subdirectories named by language code under data/.
The translated file only needs to contain the fields you want to override (e.g., title, role, bio). All other fields are inherited from the default file.
See the Authors guide for a detailed example of translating author profiles.
Was this page helpful?
Email: Own Your Inbox
Why privacy-respecting email matters, how Big Tech reads your messages, and how to switch to Proton Mail — the encrypted email recommended by HugoBlox.
Maintenance
Keep your HugoBlox site healthy — upgrade Hugo and the kit, troubleshoot common errors, extend with hooks, contribute upstream.
From the makers of
© 2026 Lore Labs.