Traduzindo documentação a usar Sphinx

Sphinx é uma ferramenta para criar documentação bonita. Esta utiliza a sintaxe reStructuredText simples e pode gerar saída em muitos formatos. Se está a procurar por um exemplo, esta documentação também é criada com esta ferramenta. O companheiro muito útil para utilizar o Sphinx é o serviço Read the Docs, que irá criar e publicar a sua documentação gratuitamente.

I will not focus on writing documentation itself, if you need guidance with that, just follow instructions on the Sphinx website. Once you have documentation ready, translating it is quite easy as Sphinx comes with support for this and it is quite nicely covered in their Internationalization. It’s matter of a few configuration directives and invoking the sphinx-intl tool.

If you are using Read the Docs service, you can start building translated documentation on Read the Docs. Their Localization and Internationalization covers pretty much everything you need - creating another project, setting its language, and linking it from the main project as a translation.

Now all you need is translating the documentation content. Sphinx generates PO file for each directory or top-level file, which can lead to quite a lot of files to translate (depending on gettext_compact settings). You can import the index.po into Weblate as an initial component and then configure Descoberta de componentes add-on to automatically discover all others.

Configuração de componente

Nome do componente

Documentation

Máscara de ficheiros

docs/locales/*/LC_MESSAGES/index.po

Modelo para novas traduções

docs/locales/index.pot

Formato de ficheiro

ficheiro gettext PO

Marcadores de tradução

rst-text

Configuração da descoberta de componentes

Expressão regular para corresponder ficheiros de tradução

docs/locales/(?P<language>[^/.]*)/LC_MESSAGES/(?P<component>[^/]*)\.po

Personalizar nome do componente

Documentation: {{ component|title }}

Defina o ficheiro base para as novas traduções

docs/locales/{{ component }}.pot

Dica

Prefere que o Sphinx gere apenas um único ficheiro PO? Desde o Sphinx 3.3.0, pode fazer isso a usar:

gettext_compact = "docs"

Pode encontrar vários projetos de documentação a ser traduzidos utilizando esta abordagem: