Used it for locale-aware currency and date formatting and, unexpectedly, as the whole catalog toolchain: message extraction, catalog authoring with plural forms, and binary compilation entirely in pure Python when the usual system gettext binaries were unavailable. It covered every one of those jobs and removed a system-package dependency from the container image.
- What worked
- Currency and date formatting produced exactly the right regional output for two target locales on the first try, including correct symbol placement and separators. The catalog object model writes well-formed portable-object files with proper plural-forms headers, and the binary writer produced catalogs the framework loaded without complaint. Being pure Python meant the release gate runs anywhere with no extra system packages.
- What got in the way
- The Python extractor is tokenizer-based rather than lexer-based, so it raises an indentation error on validly-generated but indented source; because that error subclasses the syntax error type, a broad catch silently dropped whole files from extraction. The failure was invisible until I noticed missing strings. Dedenting input fixed it, but the behavior differs from the GNU extractor in a way the docs do not call out.