Domoweb translation is based on Django translation process: https://docs.djangoproject.com/en/1.4/topics/i18n/translation/
The translation process is based on gettext. The translations has to be implemented on three sections:
On each file:
from django.utils.translation import ugettext as _
Then for each string:
def my_view(request):
output = _("Welcome to my site.")
return HttpResponse(output)
On each page:
{% load i18n %}
Then for each string:
<title>{% trans "This is the title." %}</title>
First we need to create the translation catalog:
js_info_dict = {
'packages': ('domoweb',),
}
urlpatterns = patterns('',
(r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),
)
And on main template:
<script type="text/javascript" src="{% url django.views.i18n.javascript_catalog %}"></script>
Then for each string:
string = gettext('this is to be translated')
The message file for each language needs to be created separately (with ‘-d djangojs’ option for the JS files):
$ django-admin.py makemessages -l en
$ django-admin.py makemessages -d djangojs -l en
$ django-admin.py makemessages -l fr
$ django-admin.py makemessages -d djangojs -l fr
$ django-admin.py makemessages -l it
$ django-admin.py makemessages -d djangojs -l it
...
After translation, re-adding the .po to the locale, the files are compiled to .mo files:
$ django-admin.py compilemessages
Note
If you use OSX remove before the bloody Apple files with:
find . -name ".AppleDouble" -depth -exec rm -Rf {} \;
The Transifex service is used for the translation: https://www.transifex.net/projects/p/domoweb/