skip to navigation
skip to content

dennis 0.5

l10n and PO file helper tools

Latest Version: 0.9

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.

  • linttemplate: Lints .pot files for problems in strings that lead to poor localizations.

  • 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.

    Specify the tokenizer/transform pipeline you want to use that combines things. Zombie? Sure! Shouty Zombie? Ok! Manic shouty Dubstep? Bring it on!

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

Quick start


$ pip install dennis
$ pip install blessings  # Optional for prettier lint 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/

Lint a .pot file for problems:

$ dennis-cmd linttemplate locale/templates/LC_MESSAGES/messages.pot

Translate a .po file with HTML in the strings in place into Pirate!:

$ dennis-cmd translate --pipeline=html,pirate \

Get help:

$ dennis-cmd

Project details

Issue tracker:
License:BSD 3-clause; see LICENSE file

Why is it called dennis?

This is how I name my software projects.

File Type Py Version Uploaded on Size
dennis-0.5-py2.py3-none-any.whl (md5) Python Wheel py2.py3 2014-08-25 29KB
dennis-0.5.tar.gz (md5) Source 2014-08-25 38KB