dennis is a command line tool for translating and linting .po files.
It includes the following subcommands:
lint: Lints .po files for problems including errors that can cause your production system to crash.
The system allows for defining other variable formats.
status: Get a high-level status of a .po file including a list of unstranslated strings.
translate: Translates strings in .po files into something else! Comes with an HTML extractor (tokenizes strings so that only the text is translated) and a bunch of translations like Pirate!. This is helpful for l10n testing, development, finding unicode/layout problems, amazing your friends, hilarious April 1st shenanigans, etc.
The system allows for other translators and extractors using a loosely coupled pipeline.
This also works on strings passed in as command line arguments and as stdin—it doesn’t have to be a .po file or in a .po format. Dennis uses dennis to translate all dennis commit messages into Pirate!. That’s how cool dennis is!
$ pip install dennis $ pip install blessings # Optional for prettier output
Lint a .po file for problems:
$ dennis-cmd lint locale/fr/LC_MESSAGES/messages.po
Lint all your .po files for errors:
$ dennis-cmd lint --errorsonly locale/
Translate a .po file in place into Pirate!:
$ dennis-cmd translate --pipeline=html,pirate \ locale/xx/LC_MESSAGES/messages.po
|License:||BSD 3-clause; see LICENSE file|
- What’s new in dennis
- Version 0.4: May 1st, 2014
- Version 0.3.11: April 16th, 2014
- Version 0.3.10: October 25th, 2013
- Version 0.3.9: October 17th, 2013
- Version 0.3.8: October 16th, 2013
- Version 0.3.7: October 15th, 2013
- Version 0.3.6: September 19th, 2013
- Version 0.3.5: September 17th, 2013
- Version 0.3.4: July 30th, 2013
- Version 0.3.3: July 29th, 2013
- Version 0.3.2: July 23rd, 2013
- Version 0.3.1: July 15th, 2013
- Version 0.3: July 8th, 2013
- Using Dennis with Django