Ask Your Question

How to customize messages in django applications?

asked 2010-04-24 12:38:30 -0500

Evgeny's avatar

updated 2010-04-27 13:54:38 -0500

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?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2010-04-24 12:47:03 -0500

Evgeny's avatar

updated 2010-04-26 00:23:04 -0500

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 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.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2010-04-24 12:38:30 -0500

Seen: 1,041 times

Last updated: Apr 27 '10