What is it?
Dennis is a Python command line utility (and library) for working with localization. It includes:
a linter for finding problems in strings in
.pofiles like invalid Python variable syntax which leads to exceptions
a template linter for finding problems in strings in
.potfiles that make translator's lives difficult
a statuser for seeing the high-level translation/error status of your
a translator for strings in your
.pofiles to make development easier
Since the last release announcement, there have been a handful of new lint rules added:
W301: Translation consists of just white space
W302: The translation is the same as the original string
W303: There are descrepancies in the HTML between the original string and the translated string
Additionally, there's a new template linter for your
.pot files which
can catch things like:
W500: Strings with variable names like
1which can be hard to read and are often replaced with a similar looking letter by the translator.
W501: One-character variable names which don't give translators enough context about what's being translated.
W502: Multiple unnamed variables which can't be reordered because the order the variables are expanded is specified outside of the string.
Dennis in action
Where to go for more
For more specifics on this release, see here: http://dennis.readthedocs.org/en/latest/changelog.html#version-0-5-august-24th-2014
Documentation and quickstart here: http://dennis.readthedocs.org/en/v0.5/
Source code and issue tracker here: https://github.com/willkg/dennis
Source code and issue tracker for Denise (Dennis-as-a-service): https://github.com/willkg/denise
3 out of 5 summer interns use Dennis to improve their posture while pranking their mentors.