sphinx-togglebutton
sphinx-togglebutton copied to clipboard
Add i18n support
This PR references and solves issue #22. Closes #22
This pull request introduces internationalization (i18n) support for the sphinx_togglebutton package, enabling translations for toggle button text, and adds functionality to dynamically synchronize toggle states in the DOM. The most important changes include adding translation infrastructure, updating configuration to support translations, and enhancing JavaScript functionality for better toggle state management.
Internationalization (i18n) Support:
- Added translation files in
.poand.moformats for multiple languages, along with JSON source files (sphinx_togglebutton/translations/jsons/*.json) and a script (_convert.py) to convert JSON to.poand.mofiles. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] - Updated
setup.pyto include translation-related files in the package distribution. - Modified
sphinx_togglebutton/__init__.pyto integrate Sphinx's translation system and register the message catalog. [1] [2] - Updated configuration variables for toggle button hints to use translated strings.
JavaScript Enhancements:
- Added new functions (
syncToggleHint,syncAllToggleHints) to dynamically update toggle button hints based on the current state. - Introduced a
MutationObserverto monitor changes in toggle states and synchronize button hints accordingly.
Packaging and Manifest Updates:
- Updated
MANIFEST.into include translation-related files and directories in the source distribution.