Dennis is a set of utilities for working with PO files to ease
development and improve quality. Translate POT files to find problems
with localization in your code. Lint PO files for common problems like
variable formatting, mismatched HTML, missing variables, etc.

It includes the following subcommands:

lint: Lints PO and POT files for problems including errors that
can cause your production system to crash and problems in strings that
can lead to poor translations.

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 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
format. For example, Dennis uses Dennis to translate all Dennis
commit messages into Pirate!. That’s how cool Dennis is!