更改语言¶
¥Changing the language¶
Material for MkDocs 支持国际化 (i18n),并提供 60 多种语言的模板变量和标签翻译。此外,如有特定语言的词干提取器,可将站点搜索配置为使用特定语言的词干提取器。
¥Material for MkDocs supports internationalization (i18n) and provides translations for template variables and labels in 60+ languages. Additionally, the site search can be configured to use a language-specific stemmer, if available.
配置¶
¥Configuration¶
网站语言¶
¥Site language¶
1.12.0英文
¥1.12.0 en
您可以在mkdocs.yml中设置站点语言:
¥You can set the site language in mkdocs.yml with:
HTML5 仅允许为每个文档设置一种语言,这就是为什么 Material for MkDocs 仅支持为整个项目设置一种规范语言,即每个
mkdocs.yml设置一种规范语言。构建多语言文档的最简单方法是在每种语言的子文件夹中创建一个项目,然后使用语言选择器将这些项目互连。
支持以下语言:
¥HTML5 only allows to set a single language per document, which is why Material for MkDocs only supports setting a canonical language for the entire project, i.e. one per mkdocs.yml.
完整的南非荷兰语
阿尔巴尼亚广场完成
阿拉伯语 ar 完成
亚美尼亚语 hy 完整版
阿塞拜疆语 az Complete
马来语 ms 完整版
巴斯克语 eu 完整版
白俄罗斯语完整
孟加拉语(孟加拉语)bn 完整版
保加利亚语 bg 完整版
缅甸语 我的 27 个翻译缺失
加泰罗尼亚语 ca 完整版
简体中文 zh 完整版
中文(台湾)zh-TW 完整版
繁体中文(zh-Hant)完整版
克罗地亚语 hr 完成
捷克语 cs 完整版
丹麦语 da Complete
荷兰语 nl 完成
英语 en 完整版
世界语全集
爱沙尼亚语和完整版
芬兰语 fi 完成版
法语 fr 完整版
加利西亚语 gl 完整版
格鲁吉亚语 ka 27 翻译缺失
德语全集
希腊语 el 完整版
希伯来语 he 完整版
印地语 hi 完整版
匈牙利语 hu 完整版
冰岛语已完成
印尼身份证完整版
意大利语完整版
日语ja完整版
卡纳达语 kn 完整版
韩语 ko 大全
库尔德语 (Soranî) ku-IQ 13 个翻译缺失
拉脱维亚语 lv 完整版
立陶宛语(简体中文)
卢森堡磅完成
马其顿 mk 完成
蒙古语 mn 完成
挪威语(博克马尔语)nb 完整版
挪威尼诺斯克语 nn 完整版
波斯语(Farsi) fa 完整版
波兰语 pl 完成
葡萄牙语 pt 完整版
葡萄牙语(巴西)pt-BR 完整版
罗马尼亚语 ro 完成
俄语 ru 完整版
梵文 sa 完整版
塞尔维亚语 sr 完成版
塞尔维亚-克罗地亚语 完整版
僧伽罗语 si 25 翻译缺失
斯洛伐克语 sk 完成
斯洛文尼亚语 sl 完成
西班牙语完整版
瑞典语 sv 完成
他加禄语 tl 3 翻译缺失
泰米尔语ta完整版
泰卢固语完整版
泰语完整版
土耳其语 tr 完成
英国乌克兰语完整版
乌尔都语完整版
乌兹别克语 uz 完整版
越南语 vi 完成
威尔士语 cy Complete
请注意,由于默认 slug 函数的工作方式,某些语言会产生不可读的锚链接。请考虑使用支持 Unicode 的 slug 函数。
¥The easiest way to build a multi-language documentation is to create one project in a subfolder per language, and then use the language selector to interlink those projects.
翻译缺失?帮我们吧,只需 5 分钟
¥The following languages are supported:
MkDocs 的 Material 依赖于外部贡献来添加和更新其支持的 60 多种语言的翻译。如果您的语言显示缺少某些翻译,请点击链接添加。如果您的语言不在列表中,请点击此处添加新语言。
¥Note that some languages will produce unreadable anchor links due to the way the default slug function works. Consider using a Unicode-aware slug function.
网站语言选择器¶
¥Site language selector¶
7.0.0
¥Translations missing? Help us out, it takes only 5 minutes
如果您的文档提供多种语言版本,则可以在标题中添加指向这些语言的语言选择器。其他语言可以通过mkdocs.yml定义。
¥Material for MkDocs relies on outside contributions for adding and updating translations for the more than 60 languages it supports. If your language shows that some translations are missing, click on the link to add them. If your language is not in the list, click here to add a new language.
请注意,这必须是绝对链接。如果包含域名部分,则按定义使用。否则,
mkdocs.yml中设置的site_url的域名部分将添加到链接前面。¥Note that this must be an absolute link. If it includes a domain part, it's used as defined. Otherwise the domain part of the
site_urlas set inmkdocs.ymlis prepended to the link.
每种替代语言均具有以下属性:
name-
此属性的值在语言选择器中用作语言的名称,并且必须设置为非空字符串。
¥If your documentation is available in multiple languages, a language selector pointing to those languages can be added to the header. Alternate languages can be defined via
mkdocs.yml. link-
此属性必须设置为绝对链接,该链接也可能指向不一定使用 MkDocs 生成的另一个域或子域。
¥The following properties are available for each alternate language:
lang-
此属性必须包含ISO 639-1 语言代码,并用于链接的
hreflang属性,以提高通过搜索引擎的可发现性。¥ This value of this property is used inside the language selector as the name of the language and must be set to a non-empty string.
停留在页面上¶
¥Stay on page¶
insiders-4.47.0
¥ This property must contain an ISO 639-1 language code and is used for the hreflang attribute of the link, improving discoverability via search engines.
Insiders改进了用户在语言切换时的体验,例如,如果en和de语言包含具有相同路径名的页面,则用户将停留在当前页面:
无需任何配置。我们正在努力改进 2024 年的多语言支持,包括在未来实现更加流畅的语言切换。
方向性¶
¥Directionality¶
2.5.0
¥Insiders improves the user experience when switching between languages, e.g., if language en and de contain a page with the same path name, the user will stay on the current page:
虽然许多语言都是从左到右ltr的,但 Material for MkDocs 还支持从右到左rtl ,这是根据所选语言推断出来的,但也可以通过以下方式设置:
¥No configuration is necessary. We're working hard on improving multi-language support in 2024, including making switching between languages even more seamless in the future.
单击图块即可改变方向:
定制¶
¥Customization¶
自定义翻译¶
¥Custom translations¶
如果您想自定义某种语言的部分翻译,只需按照主题扩展指南,在overrides文件夹中创建一个新的部分翻译。然后,导入该语言的翻译作为备用翻译,并仅调整您想要覆盖的部分:
¥While many languages are read ltr (left-to-right), Material for MkDocs also supports rtl (right-to-left) directionality which is deduced from the selected language, but can also be set with:
<!-- Import translations for language and fallback -->
{% import "partials/languages/de.html" as language %}
{% import "partials/languages/en.html" as fallback %} <!-- (1)! -->
<!-- Define custom translations -->
{% macro override(key) %}{{ {
"source.file.date.created": "Erstellt am", <!-- (2)! -->
"source.file.date.updated": "Aktualisiert am"
}[key] }}{% endmacro %}
<!-- Re-export translations -->
{% macro t(key) %}{{
override(key) or language.t(key) or fallback.t(key)
}}{% endmacro %}
请注意,
en必须始终用作后备语言,因为它是默认主题语言。检查可用语言列表,选择您想要覆盖的语言翻译并将其添加到此处。