# Suitable versions of Sphinx for building different versions of CMake Docs?

**URL:** https://discourse.cmake.org/t/suitable-versions-of-sphinx-for-building-different-versions-of-cmake-docs/7982
**Category:** Development
**Created:** [April 25, 2023, 5:01pm UTC](https://discourse.cmake.org/t/suitable-versions-of-sphinx-for-building-different-versions-of-cmake-docs/7982 "2023-04-25T17:01:33Z")
**Posts on this page:** 1
**Showing post:** 10

<div class="post-metadata">

### Author: ![hwhsu1231](https://discourse.cmake.org/user_avatar/discourse.cmake.org/hwhsu1231/32/5358_2.png) [@hwhsu1231](https://discourse.cmake.org/u/hwhsu1231)
#### Post date: [March 31, 2024, 1:14pm UTC](https://discourse.cmake.org/t/suitable-versions-of-sphinx-for-building-different-versions-of-cmake-docs/7982/10 "2024-03-31T13:14:08Z")

</div>

> [@ben.boeckel](#):
>
> What would be the benefit of regenerating the docs?

Hello, @ben.boeckel

Over the past months, I’ve been working on making the localization project for CMake Documentation (using Sphinx’s [Internationalization](https://www.sphinx-doc.org/en/master/usage/advanced/intl.html)), in which I also designed the mechanism to translate all the possible versions listed in the version switcher: `v3.0~v3.xx`, `latest`, and `git-master`. The following screenshot is the demo result:

 ![Screenshot_20240313_125108](https://discourse.cmake.org/uploads/default/original/2X/1/1b64ccce9c2c47494ef2d7f15dd29a50f3b51021.png)

In short, my localization project will store the generated Gettext .po files, so that CMake can use these .po files to build its documentation in mulitple languages. (Just like [Python Documentation](https://docs.python.org/3/))

However, there are some restrictions when building different versions of CMake Documentation:

- For `v3.0~v3.8`, we should use sphinx-1.6.1
- For `v3.9~v3.18`, we should use sphinx-2.4.5
- For `v3.19~v3.27`, we should use sphinx-5.3.0
- For `v3.28~`, we can use sphinx-6.3.0

Besides, based on this [topic](https://discourse.cmake.org/t/how-did-cmake-documentation-deal-with-its-version-switcher-before-v3-9-0/8490), it seems that the version switcher must be added manually to the generated html documentation before `v3.9.0`.

Therefore, I hope that CMake Team can fix those older versions, and they had better being able to use the same version of Sphinx as the `latest` version uses.

---

_[View the full topic](https://discourse.cmake.org/t/suitable-versions-of-sphinx-for-building-different-versions-of-cmake-docs/7982)._
