Skip to content

改变语言

Material for MkDocs 支持国际化(i18n)并提供 60 多种语言的模板变量和标签的翻译。此外,如果可用,还可以配置站点搜索使用特定语言的词干分析器。

配置

站点语言

默认值:en

您可以在 mkdocs.yml 中设置站点语言:

theme:
  language: en # (1)!
  1. HTML5 只允许为每个文档设置单一语言,这就是为什么 Material for MkDocs 仅支持为整个项目设置一个规范语言,即每个 mkdocs.yml 一个。

    构建多语言文档的最简单方法是为每种语言在子文件夹中创建一个项目,然后使用语言选择器将这些项目相互链接起来。

支持以下语言:

请注意,由于默认的 slug 函数工作方式,某些语言会产生无法阅读的锚链接。考虑使用支持 Unicode 的 slug 函数

翻译缺失?帮助我们,只需 5 分钟

Material for MkDocs 需要外部贡献来添加和更新其支持的近 60 种语言的翻译。如果您的语言显示缺少某些翻译,请点击链接添加它们。如果您的语言不在列表中,请点击此处[添加新语言]。

站点语言选择器

默认值:

如果您的文档有多种语言版本,可以在页眉中添加指向这些语言版本的语言选择器。可以通过 mkdocs.yml 定义备选语言。

extra:
  alternate:
    - name: English
      link: /en/ # (1)!
      lang: en
    - name: Deutsch
      link: /de/
      lang: de
  1. 注意,这必须是一个绝对链接。如果它包含域部分,它将按照定义使用。否则,将在链接前添加在 mkdocs.yml 中设置的 site_url 的域部分。

每个备选语言可用以下属性:

name

默认值: · 必填 – 此属性的值将在语言选择器中用作语言的名称,必须设置为非空字符串。

link

默认值: · 必填 – 此属性必须设置为绝对链接,也可以指向不一定由 MkDocs 生成的另一个域或子域。

lang

默认值: · 必填 – 此属性必须包含ISO 639-1 语言代码,用于链接的 hreflang 属性,提高搜索引擎的可发现性。

Language selector preview

文字方向

2.5.0 · 默认值:自动设置

虽然许多语言是从左到右阅读(ltr),但 Material for MkDocs 也支持从右到左阅读(rtl)的文字方向,该方向可以从所选语言中推断出来,但也可以通过以下方式设置:

theme:
  direction: ltr

单击瓷砖以更改文字方向:

自定义

自定义翻译

如果您想自定义某些语言的翻译,请按照主题扩展指南,在 overrides 文件夹中创建一个新的部分。然后,将语言的翻译作为回退导入,并仅调整要覆盖的内容:

overrides/partials/languages/custom.html

<!-- 导入语言的翻译和回退 -->
{% import "partials/languages/de.html" as language %}
{% import "partials/languages/en.html" as fallback %} <!-- (1)! -->

<!-- 定义自定义翻译 -->
{% macro override(key) %}{{ {
  "source.file.date.created": "Erstellt am", <!-- (2)! -->
  "source.file.date.updated": "Aktualisiert am"
}[key] }}{% endmacro %}

<!-- 重新导出翻译 -->
{% macro t(key) %}{{
  override(key) or language.t(key) or fallback.t(key)
}}{% endmacro %}
  1. 注意,en 必须始终用作回退语言,因为它是默认的主题语言。

  2. 查看可用语言列表,选择要覆盖的翻译,并在此处添加它们。

mkdocs.yml

theme:
  language: custom