The modeltranslation application is used to translate dynamic content of existing Django models to an arbitrary number of languages without having to change the original model classes. It uses a registration approach (comparable to Django’s admin app) to be able to add translations to existing or new projects and is fully integrated into the Django admin backend.

The advantage of a registration approach is the ability to add translations to models on a per-app basis. You can use the same app in different projects, may they use translations or not, and you never have to touch the original model class. Latest PyPI version Supported Python versions Number of PyPI downloads


  • Add translations without changing existing models or views
  • Translation fields are stored in the same table (no expensive joins)
  • Supports inherited models (abstract and multi-table inheritance)
  • Handle more than just text fields
  • Django admin integration
  • Flexible fallbacks, auto-population and more!


Core Committers


  • Carl J. Meyer
  • Jaap Roes
  • Bojan Mihelac
  • Sébastien Fievet
  • Bruno Tavares
  • Zach Mathew (of django-linguo, initial author of MultilingualManager)
  • Mihai Sucan
  • Benoît Bryon
  • Wojtek Ruszczewski
  • Chris Adams
  • Dominique Lederer
  • Braden MacDonald
  • Karol Fuksiewicz
  • Konrad Wojas
  • Bas Peschier
  • Oleg Prans
  • Francesc Arpí Roca
  • Mathieu Leplatre
  • Thom Wiggers
  • Warnar Boekkooi
  • Alex Marandon
  • Fabio Caccamo
  • Vladimir Sinitsin
  • Luca Corti
  • Morgan Aubert
  • Mathias Ettinger
  • Daniel Loeb
  • Stephen McDonald
  • Lukas Lundgren
  • zenoamaro
  • oliphunt
  • Venelin Stoykov
  • Stratos Moros
  • And many more ... (if you miss your name here, please let us know!)