Documentation multi langue alabaster

Bonjour,

J’essaie de faire une documentation qui contient plusieurs langues avec sphinx et le thème alabaster. j’arrive bien à générer chaque langue, mais je n’ai rien pour passer de l’une a l’autre. C’est soit je génère une langue, soit l’autre mais pas les deux en même temps.
Savez-vous comment ajouter un moyen de passer d’une langue a l’autre dans la documentation générée?
Merci

Côté docs.python.org on a sorti un bazooka :

c’est un script qui lance un sphinx-build par langue (et par version de Python mais ce n’est pas ton sujet).

Ensuite pour permettre à l’utilisateur de passer de l’une a l’autre, on a mis un petit “placeholder” dans le HTML, et au chargement de la page on replace le placeholder par un menu :

Ça s’est sédimentarisé dans notre thème :

mais j’imagine que pour alabaster tu peux soit surcharger un peu le thème pour glisser ce que tu veux à coup de templates_path, soit rédiger du js qui se débrouille a poser son menu sans placeholder dans le HTML.

J’espère qu’il y a des solutions plus élégantes en 2024 :smiley:

Meric beaucoup pour la piste.
Je suis bien parti sur templates_path et j’ai customisé alabaster en rajoutant un petit template. Et un un html_context dans le fichier conf.py pour definir les url pour chaques langues.

voici mon template:

<h3>{{ _('Langues') }}</h3>                                
{% if languages|length >= 1 %}                             
    <ul>                                                   
        {% for the_language, url in languages %}           
        <li><a href="{{ url }}">{{ the_language }}</a></li>
        {% endfor %}                                       
    </ul>                                                  
{% endif %}                                                

1 « J'aime »