Skip to main content

l10n and .po/.pot file tools

Project description

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

Quick start

Install:

$ 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/

Lint a POT file for problems:

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

Translate a PO file in place into Pirate!:

$ dennis-cmd translate --pipeline=html,pirate \
    locale/xx/LC_MESSAGES/messages.po

Get help:

$ dennis-cmd

Project details

Code:

http://github.com/willkg/dennis

Documentation:

http://dennis.rtfd.org/

Issue tracker:

https://github.com/willkg/dennis/issues

License:

BSD 3-clause; see LICENSE file

Donate:

gittip

Why is it called Dennis?

This is how I name my software projects.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dennis-0.6.1.tar.gz (40.4 kB view details)

Uploaded Source

Built Distribution

dennis-0.6.1-py2.py3-none-any.whl (31.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file dennis-0.6.1.tar.gz.

File metadata

  • Download URL: dennis-0.6.1.tar.gz
  • Upload date:
  • Size: 40.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for dennis-0.6.1.tar.gz
Algorithm Hash digest
SHA256 3319d9c048bba4cc89a9691181d0e02187a2f09b4343fd2fcf6ccbf84b4ee18a
MD5 4a852b86b99d0531aa5b7eaff6137065
BLAKE2b-256 0fa2c77e6f942dc2ec01d282b29f353aaea9476eb4bf8bb36d07d0db0ca03825

See more details on using hashes here.

Provenance

File details

Details for the file dennis-0.6.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for dennis-0.6.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b6819ad8d072d84fbdba9958f38f6c8e4e43d5dc437abca49811aaf0c5a3abae
MD5 06ccaa43b781c4cdeb3864fbf7c6411b
BLAKE2b-256 d4d49d41731931c975e7e2f49cbcccb13e6ea2e5579294c595d19ac048d3d8ef

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page