Vertalen van de documentatie met Sphinx

Sphinx is een programma voor het maken van prachtige documentatie. Het gebruikt de eenvoudige syntaxis reStructuredText en kan uitvoer genereren in vele indelingen. Als u zoekt naar een voorbeeld, deze documentatie wordt er ook mee gebouwd. De zeer nuttige metgezel voor het gebruiken van Sphinx is de service Read the Docs, die uw documentatie gratis zal bouwen en publiceren.

Ik zal niet focussen op het schrijven van documentatie zelf, als u daarbij hulp nodig hebt, volg eenvoudigweg de instructies op de website van Sphinx . Als u eenmaal uw documentatie voltooid hebt, is het vertalen ervan heel gemakkelijk omdat Sphinx daar ondersteuning voor heeft en wordt leuk behandeld in hun Internationalization. Het is een kwestie van enkele richtlijnen voor configureren en het activeren van het programma sphinx-intl.

Als u de service Read the Docs gebruikt, kunt u beginnen met het bouwen van vertaalde documentatie op de Read the Docs. Hun Localization and Internationalization behandelt nagenoeg alles wat u nodig hebt - maken van een ander project, de taal ervoor instellen en ernaar koppelen vanuit het hoofdproject als een vertaling.

Nu is alles wat u nodig hebt het vertalen van de inhoud van de documentatie. Sphinx genereert een PO-bestand voor elke map of bestand op het hoogste niveau, wat kan leiden tot behoorlijk veel te vertalen bestanden (afhankelijk van de instellingen voor gettext_compact). U kunt index.po in Weblate importeren als een initieel onderdeel en dan de add-on Onderdeel opsporing configureren om automatisch alle andere te ontdekken.

Configuratie onderdeel

Naam van onderdeel

Documentation

Bestandsmasker

docs/locales/*/LC_MESSAGES/index.po

Sjabloon voor nieuwe vertalingen

docs/locales/index.pot

Bestandsformaat

gettext PO-bestand

Vlaggen voor vertaling

rst-text

Onderdeel opsporing configureren

Reguliere uitdrukking om vertaalbestanden mee te vergelijken

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

Onderdeelnaam aanpassen

Documentation: {{ component|title }}

Geef het basisbestand voor nieuwe vertalingen op

docs/locales/{{ component }}.pot

Hint

Heeft u liever dat Sphinx slechts een enkel PO-bestand maakt? Vanaf Sphinx 3.3.0 kunt u dat bereiken met:

gettext_compact = "docs"

U kunt verscheidene documentatieprojecten vinden die met deze benadering zijn vertaald: