Frequently Asked Questions
Here you can find answers to frequently asked questions about Babel.
Overview
General
What is Babel?
Babel is a collection of Python utilities that assist in internationalizing and localizing Python applications, with an emphasis on web-based applications.
What license governs the use of Babel?
Babel is released under the revised BSD license, which is a liberal open source license that has been approved by the Open Source Initiative (OSI).
What alternatives exist for Python projects?
Basically, two:
- zope.i18n has a scope similar to Babel (covering both gettext and the CLDR), but is closely tied to Zope 3.
- PyICU is a Python/SWIG wrapper for the ICU library, and provides access to locale data based on the CLDR (or the other way around).
Even though these alternatives exist, they are not often encountered in the Python web-app space outside of the Zope and OSAF communities. They both come with additional dependencies.
In addition, TurboGears includes an turbogears.i18n package that provides a rather small fraction of what Babel provides for locale data. The wsgi18n project basically takes the turbogears.i18n package and provides it as a library separate from the TurboGears framework. Also somewhat related are the Translate Toolkit and i18ndude projects.
Anyway, Babel was developed because we saw the need for a comprehensive, framework-independent library that doesn't have dependencies on additional native code.
Installation & Usage
What do I need to use Babel?
Python 2.3 or later. Setuptools is optional and only used for installation if it's available.
For solid date formatting and time-zone support, you'll also need pytz.
What plugins are available for Babel?
See BabelPlugins.
Development
How can I install or run Babel directly from a checkout?
Some extra steps are needed for this. They are documented on SubversionCheckout.

