I would like to change messages in the internationalized django application - for example - instead of a phrase "Recent tags" I would like to simply have "Recent topics".
How can that be done without changing messages in the source code?
You can customize locale file, actually better make a copy of some pre-made localization in your native language (if available), then change string "translations".
For example copy standard english locale to a new one called en_bob and skin (this part is specific to askbot and possibly osqa):
cp -r locale/en locale/en_bob
cp -r forum/skins/default forum/skins/bob
In skins there is one file containing messages for javascript called media/js/com.cnprog.i18n.js. You can also instead of copying whole skin, just take that file alone into forum/skins/bob/media/js (directory structure is important, but empty directories are not necessary), after you make a copy - tweak the translation of interest.
Then edit file locale/en_bob/LC_MESSAGES/django.po to your needs, save it and run
python manage.py makemessages
What can be changed and how? Well, for example find an entry that looks like so:
msgid "Recent tags"
msgstr ""
and turn it into
msgid "Recent tags"
msgstr "Recent topics"
There are other things to keep in mind when working with localization files. They are (gradually being) described in the post about internationalization.
Create your Q&A site at askbot.com. Managed Askbot hosting at just $15/mo. Dedicated hosting, support contracts, consulting services.
create your Q&A siteAsked: 2010-04-24 12:38:30 -0500
Seen: 799 times
Last updated: Apr 27 '10
How to configure Apache to run Django application?
How to internationalize counts say for Russian in Django?
can I run askbot on tornado instead of django
Does askbot work with django version 1.2.3?
Do you know any real life websites using Askbot
how do you manage Askbot and upgrades
EmailField() not working in django
can askbot be hosted on Google App engine
Copyright Askbot, 2010-2011. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.