Translations for the texts in the interface are provided in files: {{{ ped/oahpa/locale/fi/LC_MESSAGES/django.po ped/oahpa/locale/sme/LC_MESSAGES/django.po ped/oahpa/locale/no/LC_MESSAGES/django.po ped/oahpa/locale/en/LC_MESSAGES/django.po }}} The English file is needed for the names and strings that contain Unicode. The English texts in the html-pages should be ascii. Whenever the texts in the page are updated, the translations need to be checked and updated as well. {{{ cd ped/oahpa django-admin.py makemessages -a svn ci -m "new generated files" locale/fi/LC_MESSAGES/django.po ... etc. for the other files. }}} After that, work on the respective django.po files, and check them in again. Search for word "#fuzzy" from django.po. It means that the English content has changed and the system tries to guess the correct translation. Check the translation and remove all the lines that contain "#fuzzy", otherwise the translation does not work. After fixing the files update the official directory and compile the messages. {{{ cd ped/oahpa/ svn up django-admin.py compilemessages }}} If you are not allowed to compile the messages (the machine requires sudo rights), remove the {{ *.mo}} files: rm -f locale/*/LC_MESSAGES/django.mo Thereafter, repeate the compile message. !!!New localisations Django has two locations for localisations, one is the "global" level, which contains translation strings for the Django administrative interface, and a local project level, the management of which is described above. Django does not allow creation of new localisations if the global level does not contain a directory containing translation strings. To save time, the global level does not need to contain translation strings for, for example, Northern Sámi, because end users will never see the internal global strings. !!Creating a new localisation Locate the site-packages directory for the version of python in use. The easiest way to locate them is from the oahpa project directory by using the Python command-line interpreter. {{{ ./manage.py shell >>> import django >>> django }}} In the directory that is returned, navigate to the locale directory {{{ cd /usr/lib/python2.6/site-packages/django/conf/locale/ }}} Then copy one of the existing folders to a new folder with the language code for the localisation. {{{ cp -R nn sma }}} !settings.py The project's settings.py file must be modified to include the localisation language, so that administrative commands will work. {{{ LANGUAGES = ( ('sma', 'South Sami'), ('no', 'Norwegian'), ('sv', 'Swedish'), ('en', 'English'), ) }}} After completing these steps, it will be possible to work with and see local project-level localisation strings in the application. !!!Official documentation [Django localisation documentation|https://docs.djangoproject.com/en/dev/topics/i18n/localization/]