Hi guys, I've put together the following doc for the introduction of message contexts. It's still a bit raw but I'd improve it for the wiki version. Could you please have a look and help proofread it? I'd like to ensure I didn't miss an important step. Thanks in advance. Frédéric Delanoy PS: BTW what is the reference version? en_US.po or en.po? ********* Adding one/more message contexts (ADD LINK TO EXTERNAL DOC) (QUICK MC EXPLANATION) Prerequisite: enable maintainer mode using ./configure --enable-maintainer-mode (you might have to add some development packages; check with your distribution for infos). 1. Locate strings to be "altered" Say you have in your localized po file: #: file1.rc:123 file2.rc:456 msgid "ambiguous word" msgstr "translation" and you want to disambiguate, you'd do the following 2. Find appropriate translations - check the respective rc entries (in file1.rc line 123) FOO "ambiguous word" (in file2.rc line 456) BAR "ambiguous word" and find their meaning/context (e.g. using some code browsing tools, like cscope to find references; running the program is recommanded, ...) 3. Add the messages contexts - The following syntax is used: "translation" -> "#msgctxt#your context#translation" - You end up with sthg like FOO "#msgctxt#context #ambiguous word#" Similarly BAR "#msgctxt#context 2#ambiguous word#" 3. Run 'make depend && make' 4. Edit your po file to add the new translations 5. Ideally, remove the "#, fuzzy" automatically inserted in the En_US.po reference file (and En.rc ). 6. Run 'make' again and test your changes.