Translations for Mkdocs using PO files, fully customizable. Compatible with mkdocs-material, based on mdpo.
pip install mkdocs-mdpo-plugin
Enable the plugin in your mkdocs.yml
:
plugins:
- mdpo
With mkdocs-material
theme:
name: material
language: en
extra:
alternate:
- name: English
lang: en
- name: Español
link: es
lang: es
plugins:
- mdpo
plugins:
- mdpo:
languages:
- en # first language is the original
- es
Both previous configurations will create the same layout of files building the
documentation. Given the next layout in a docs/
directory:
📁 docs
└── 📄 index.md
After the build, you will get:
📁 docs
├── 📁 es
│ └── 📄 index.md.po
└── 📄 index.md
Just translate the strings in docs/es/index.md.po
into Spanish, build again
with mkdocs build
and the site/
directory will look like:
📁 site
├── 📄 404.html
├── 📁 assets
│ ├── 📁 images
│ ├── 📁 javascripts
│ └── 📁 stylesheets
├── 📁 es
│ └── 📄 index.html
├── 📄 index.html
├── 📄 sitemap.xml
└── 📄 sitemap.xml.gz
Simple and easy. The extraction of messages process and the produced layout are fully customizable, you can even translate code blocks! Check the full documentation here.