Saltar a contenido

Recetas útiles

Hooks PO para pre-commit

Puedes usar pre-commit-po-hooks para comprobar por mensajes no traducidos, obsoletos o confusos (marcados como , fuzzy) antes de cada commit.

- repo: https://github.com/mondeja/pre-commit-po-hooks
  rev: v1.7.3
  hooks:
    - id: obsolete-messages
    - id: untranslated-messages
    - id: fuzzy-messages
untranslated-messages....................................................Failed
- hook id: untranslated-messages
- exit code: 1

Untranslated message at docs/locale/es/index.md.po:46

obsolete-messages........................................................Passed
fuzzy-messages...........................................................Failed
- hook id: fuzzy-messages
- exit code: 1

Found fuzzy message at docs/locale/es/index.md.po:48

mdpo

mdpo es el núcleo de mkdocs-mdpo-plugin. El paquete contiene un conjunto de programas para traducir archivos Markdown usando archivos PO, así que puedes usarlos directamente como una interfaz de línea de comandos o mediante sus hooks pre-commit.

Traducción simple de archivo README con pre-commit

md2po2md README.md -l es fr -o locale/{lang}
- repo: https://github.com/mondeja/mdpo
  rev: v0.3.85
  hooks:
    - id: md2po2md
      files: ^README\.md
      args: ['-l', 'es', 'fr', '-o', 'locale/{lang}']
📁 locale
├── 📁 es
│   ├── 📄 README.md
│   └── 📄 README.md.po
└── 📁 fr
    ├── 📄 README.md
    └── 📄 README.md.po
📄 README.md             <-- único archivo existente antes de la ejecución

Selector de idioma de mkdocs-material relativo

Si estás usando el tema de mkdocs-material, puedes instalar el plugin mkdocs-material-relative-language-selector para hacer relativos los links entre idiomas dentro de la misma página y eliminar el idioma actualmente desplegado del selector de idiomas:

pip install mkdocs-material-relative-language-selector
plugins:
  - search
  - material-relative-language-selector
  - mdpo
plugins:
  - search
  - material-relative-language-selector:
      root_domain: true
  - mdpo