First time here? Check out the FAQ!
0

How to customize messages in django applications?
 

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?

To enter a block of code:

  • enter empty line after your previous text
  • paste or type the code
  • select the code and press the button above
Preview: (hide)
Evgeny's avatar
13.2k
Evgeny
updated 14 years ago, asked 14 years ago

Comments

see more comments

1 Answer

0

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.

To enter a block of code:

  • enter empty line after your previous text
  • paste or type the code
  • select the code and press the button above
Preview: (hide)
Evgeny's avatar
13.2k
Evgeny
updated 14 years ago, answered 14 years ago
link

Comments

see more comments