Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mondeja/mkdocs-mdpo-plugin

Mkdocs translation plugin using PO files.
https://github.com/mondeja/mkdocs-mdpo-plugin

i18n internationalization markdown mdpo mkdocs plugin po python translation

Last synced: about 6 hours ago
JSON representation

Mkdocs translation plugin using PO files.

Awesome Lists containing this project

README

        

# mkdocs-mdpo-plugin

[![PyPI version](https://img.shields.io/pypi/v/mkdocs-mdpo-plugin?label=version)](https://pypi.org/project/mkdocs-mdpo-plugin)
[![Downloads](https://img.shields.io/pypi/dm/mkdocs-mdpo-plugin)](https://pypistats.org/packages/mkdocs-mdpo-plugin)
[![Test](https://img.shields.io/github/workflow/status/mondeja/mkdocs-mdpo-plugin/CI?label=tests&logo=github)](https://github.com/mondeja/mkdocs-mdpo-plugin/actions?query=workflow%3ACI)
[![Documentation](https://img.shields.io/github/workflow/status/mondeja/mkdocs-mdpo-plugin/Github%20Pages?label=docs&logo=github)](https://mkdocs-mdpo.ga)
[![Cloudflare DNS](https://img.shields.io/github/workflow/status/mondeja/mkdocs-mdpo-plugin/website-check?label=dns&logo=cloudflare&logoColor=white)](https://github.com/mondeja/mkdocs-mdpo-plugin/actions/workflows/website-check.yml)

Translations for Mkdocs using PO files, fully customizable.
Compatible with [mkdocs-material](https://squidfunk.github.io/mkdocs-material),
based on [mdpo][mdpo-docs].

## Documentation: [en](https://mkdocs-mdpo.ga) - [es](https://mkdocs-mdpo.ga/es/)

## Install

```
pip install mkdocs-mdpo-plugin
```

## Usage

Enable the plugin in your `mkdocs.yml`:

```yaml
plugins:
- mdpo
```

### Minimal configuration

#### With [mkdocs-material](https://squidfunk.github.io/mkdocs-material)

```yaml
theme:
name: material
language: en

extra:
alternate:
- name: English
lang: en
- name: EspaΓ±ol
link: es
lang: es

plugins:
- mdpo
```

#### Standalone

```yaml
plugins:
- mdpo:
languages:
- en # first language is the original
- es
```

Both previous configurations will create the same layout of files building the
documentation. Given the next layout in a `docs/` directory:

```
πŸ“ docs
└── πŸ“„ index.md
```

After the build, you will get:

```
πŸ“ docs
β”œβ”€β”€ πŸ“ es
β”‚Β Β  └── πŸ“„ index.md.po
└── πŸ“„ index.md
```

Just translate the strings in `docs/es/index.md.po` into Spanish, build again
with `mkdocs build` and the `site/` directory will look like:

```
πŸ“ site
β”œβ”€β”€ πŸ“„ 404.html
β”œβ”€β”€ πŸ“ assets
β”‚Β Β  β”œβ”€β”€ πŸ“ images
β”‚Β Β  β”œβ”€β”€ πŸ“ javascripts
β”‚Β Β  └── πŸ“ stylesheets
β”œβ”€β”€ πŸ“ es
β”‚Β Β  └── πŸ“„ index.html
β”œβ”€β”€ πŸ“„ index.html
β”œβ”€β”€ πŸ“„ sitemap.xml
└── πŸ“„ sitemap.xml.gz
```

Simple and easy. The extraction of messages process and the produced
layout are fully customizable, you can even translate code blocks!
[Check the full documentation here](https://mkdocs-mdpo.ga).

[mdpo-docs]: https://mondeja.github.io/mdpo/