Add internationalization (i18n) support for 27 languages#77
Merged
Conversation
- Add i18n support with 27 languages including Chinese, Japanese, Korean, Arabic, Hindi, and Turkish - Add comprehensive Copilot instructions for project maintenance - Create releases documentation structure in docs/releases/ - Update README and documentation with i18n features - Reorganize translation files with alphabetical sorting - Generate all .po and .mo locale files Features: - Automatic language detection from Sphinx config - JSON-based translation source files for easy contribution - Complete documentation with examples and contribution guide Languages supported: Arabic, Bengali, Chinese, Czech, Dutch, French, German, Greek, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Malay, Norwegian, Polish, Portuguese, Romanian, Russian, Spanish, Swedish, Tamil, Turkish, Ukrainian, Vietnamese
- Update CHANGELOG with v1.1.0 release notes - Create comprehensive release notes in docs/source/releases/v1.1.0.md - Add RELEASE.md with step-by-step release checklist - Simplify releases documentation structure - Remove duplicate unreleased.md file Ready for release after version bump in __init__.py
- Move sphinx.locale imports to top of file - Fixes E402 pre-commit errors
Member
Author
|
Resolved merge conflicts in: - sphinx_exercise/directive.py: Accepted alphabetically sorted imports from main - sphinx_exercise/nodes.py: Removed extra blank line This merge brings in all the test suite modernization from main including: - Python 3.11-3.13 and Sphinx 6-8 compatibility - Complete pathlib migration (os.path -> pathlib.Path) - Image hash normalization for cross-platform tests - All test fixtures for Sphinx 6, 7, and 8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds comprehensive internationalization (i18n) support to sphinx-exercise, enabling the extension to display exercise and solution labels in 27 different languages.
New Features
Internationalization Support
languageconfigurationSupported Languages
Arabic, Bengali, Chinese, Czech, Dutch, French, German, Greek, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Malay, Norwegian, Polish, Portuguese, Romanian, Russian, Spanish, Swedish, Tamil, Turkish, Ukrainian, Vietnamese
Infrastructure Improvements
.github/copilot-instructions.md) for maintainersdocs/releases/)Documentation Updates
docs/releases/unreleased.mdUsage Example
With language configured, "Exercise" automatically translates to "练习" (Chinese), "練習" (Japanese), "Ejercicio" (Spanish), etc.
Testing
All locale files have been generated and compiled successfully:
.posource files.mocompiled catalog filesRelated
This builds on the recently merged internationalization feature and expands it with additional high-priority languages and comprehensive documentation.
cc @executablebooks/maintainers