mkdocs-material/docs/guides/changing-the-language.md
2020-07-17 14:33:52 +02:00

5.2 KiB

template
overrides/main.html

Changing the language

Material for MkDocs supports internationalization (i18n) and provides translations for template variables and labels in 40+ languages. Additionally, search can be configured to use a language-specific stemmer (if available).

Configuration

Site language

:octicons-file-code-24: Source · :octicons-tools-24: Default: en

You can set the language from mkdocs.yml with:

theme:
  language: en

The following languages are supported:

  • af / Afrikaans
  • ar / Arabic
  • bn / Bengali (Bangla)
  • ca / Catalan
  • cs / Czech
  • da / Danish
  • de / German
  • en / English
  • es / Spanish
  • et / Estonian
  • fa / Persian (Farsi)
  • fi / Finnish
  • fr / French
  • gl / Galician
  • gr / Greek
  • he / Hebrew
  • hi / Hindi
  • hr / Croatian
  • hu / Hungarian
  • id / Indonesian
  • it / Italian
  • ja / Japanese
  • kr / Korean
  • my / Burmese
  • nl / Dutch
  • nn / Norwegian (Nynorsk)
  • no / Norwegian
  • pl / Polish
  • pt / Portuguese
  • ro / Romanian
  • ru / Russian
  • sh / Serbo-Croatian
  • si / Slovenian
  • sk / Slovak
  • sr / Serbian
  • sv / Swedish
  • th / Thai
  • tr / Turkish
  • uk / Ukrainian
  • vi / Vietnamese
  • zh / Chinese (Simplified)
  • zh-Hant / Chinese (Traditional)
  • zh-TW / Chinese (Taiwanese)
  • Add language

:octicons-file-code-24: Source · :octicons-tools-24: Default: best match for theme.language, automatically set

Some languages, like Arabic or Japanese, need dedicated stemmers for search to work properly. Material for MkDocs relies on lunr-languages to provide this functionality. See the search plugin documentation for more information.

Directionality

:octicons-file-code-24: Source · :octicons-tools-24: Default: best match for theme.language, automatically set

While many languages are read ltr (left-to-right), Material for MkDocs also supports rtl (right-to-left) directionality which is inferred from the selected language, but can also be set with:

theme:
  direction: ltr

:material-cursor-default-click-outline: click on a tile to change the directionality:

ltr rtl

Customization

If you want to customize some (or all) of the translations for your language, you may follow the guide on theme extension and create a new partial in partials/language, e.g. en-custom.html. Next, look up the translation you want to change in the base translation and add it to the partial you just created. Say, you want to change "Table of contents" to "On this page":

{% macro t(key) %}{{ {
  "toc.title": "On this page"
}[key] }}{% endmacro %}

Then, add the following lines to mkdocs.yml:

theme:
  language: en-custom