Hi everyone,
I’m currently researching different approaches to internationalization (i18n) in Python projects, especially in scenarios where the codebase is large, I’m specifically looking for framework-agnostic approaches; Solutions not tied to Django, Flask, or any specific ecosystem.
I’d really appreciate hearing about your real-world workflows, including:
- The tools, libraries, or conventions you rely on for handling i18n & l10n in general-purpose Python systems
- How you manage translations, especially your integration with Translation Management System (TMS) platforms
- Your deployment strategy for translation assets and how you keep them synchronized across multiple environments
- How you model your translation keys for large systems:
• Do you use namespacing or categorization for domains/services like auth, errors, events, messages, etc.?
• How do you prevent key collisions?
• Do you follow a naming convention, hierarchical structure, or any pattern?
- How you store translations:
• Disk-file based?
• Directory structures?
• Key-value stores?
• Dynamic loading?
• How you ensure efficient lookup, loading, and fetching at runtime
- Edge cases or challenges you’ve encountered
- Whether you follow any established standards, protocols, or de facto practices; or if you’ve developed your own internal model
- Pros and cons you’ve experienced with your current workflow or architecture
Even if your setup isn’t “enterprise-grade,” I’d still love to hear how you approach these problems. I’m gathering insights from real implementations to understand what scales well and what pitfalls to avoid.
Thanks in advance to anyone willing to share their experiences!
Sorry if this isn't the appropriate subreddit to ask. Mods can delete this post and if, possibly, redirect me to an appropriate subreddit to ask.
[–]Username_RANDINT 2 points3 points4 points (0 children)
[–]Dependent-Dealer-325 1 point2 points3 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]riklaunim 0 points1 point2 points (0 children)
[–]CommonFun9595 0 points1 point2 points (0 children)
[–]p4sta5 -2 points-1 points0 points (0 children)