Idioma¶
Material for Mkdocs genera una colección de elementos añadidos al texto de nuestros documentos, barra de navegación, caja de búsqueda, etc. Por defecto todos estos componentes se crean en inglés, pero podemos configurar el proceso para que se adapte a otros idiomas.
Seleccionar idioma¶
Para adaptar el proceso al idioma español, en el archivo de configuración mkdocs.yml escribimos:
theme:
language: es
se utilizará el siguiente archivo, que contiene los textos traducidos:
https://github.com/squidfunk/mkdocs-material/blob/master/src/templates/partials/languages/es.html
Personalizar textos¶
Para poner nuestros propios textos, en lugar del archivo es.html mencionado, tenemos que crear uno propio. Podemos replicar en nuestro ordenador los archivos utilizados por Material for MkDocs, siempre que respetemos los nombres de archivo y estructura de directorios.
Comenzamos por crear una carpeta /tema en el directorio raíz de nuestro proyecto (el que tiene el archivo mkdocs.yml). Seguidamente creamos la subcarpeta tema/partials/languages/. Copiamos el archivo es.html mencionado, y lo guardamos como tema/partials/languages/custom.html.
En el archivo de configuración mkdocs.yml escribimos:
theme:
language: custom
custom_dir: tema
El texto de ese archivo puede ser algo así como:
<!-- Import traducciones para lenguaje y alternativo -->
{% import "partials/languages/es.html" as language %}
{% import "partials/languages/en.html" as fallback %}
<!-- Definir texto personalizado -->
{% macro override(key) %}{{ {
"source.file.date.created": "Creado",
"source.file.date.updated": "Actualizado",
}[key] }}{% endmacro %}
<!-- Re-exportar traducciones -->
{% macro t(key) %}{{
override(key) or language.t(key) or fallback.t(key)
}}{% endmacro %}
Lo delimitado entre {% %} son instrucciones para generar el HTML definitivo. Las líneas:
{% import "partials/languages/es.html" as language %}
{% import "partials/languages/en.html" as fallback %}
incorporan los textos estándar, por lo que solo habrá que redefinir lo que nos interese. Véase como lo hacemos en las líneas:
"source.file.date.created": "Creado",
"source.file.date.updated": "Actualizado",