To enable a new language in GeoNode you have to do the following:

  1. Install gettext:

    sudo apt-get install gettext
  2. Create a directory named locale in the root of your project:

    mkdir locale
  3. In the root of your project, run:

    python manage.py makemessages -l fr
  4. Navigate to the GeoNode directory and do:

    cd src/GeoNodePy/geonode/maps; django-admin.py makemessages -l fr
    cd src/GeoNodePy/geonode; django-admin.py makemessages -l fr

Optional steps:

  1. Install django-rossetta:

  2. Install django-modeltranslation

  3. If you want to enable metadata in the other format too, make sure you have model translation installed and create a translations.py file like this:

    from modeltranslation.translator import translator, TranslationOptions
    from geonode.maps.models import Layer
    class LayerTO(TranslationOptions):
        fields = (
    translator.register(FlatBlock, FlatBlockTO)
    translator.register(Layer, LayerTO)