If you want to edit DreamTerm catalogs you *MUST* use supplied FlexCat, this is due fact that no builtin strings exist and therefore slightly modified version of FlexCat is required. Also if you are not satisfied for english catalog do not edit english.ct file but dterm.cd as english.ct is created from it, take a look at english.sd and create_catalog script before doing anything. Also be extra careful when editing dterm.sd as messing with MSG_x's will broke everything, and be even more careful when editing strings which have % commands as their count and order must be exactly same, if not program may crash! Also do not add those %rx codes even if they work, they may overflow internal string buffers as their size is not taken account for every string! If you're creating totally new language then just use these cli commands to make catalog: flexcat dterm.cd xxx.ct NEWCTFILE xxx.ct flexcat dterm.cd xxx.ct ALLSTRINGS CATALOG locale:catalogs/xxx/dreamterm.catalog ^^^^^^^^^^ IMPORTANT! and for initial creation of new catalog use cli command flexcat dterm.cd NEWCTFILE xxx.ct Note that double \ from dterm.cd in examples is due kludge, just remember to use only \ in your ct file. Also you must translate all strings and not left any out, otherwise you will get '**no string' or empty texts instead of non-existant builtin language. Keep in mind that strings which id is not MSG_xx_something are generally used more than once. I have also tried to group strings so that you should be able to see which strings are used in what windows, however for combined texts you have no idea where they are actually used. Due that you MUST NOT make keyboard shortcuts for strings which don't have it in english version even that it may work. And as final note: DO NOT EXPECT NEXT VERSION .cd FILE TO HAVE SAME MSG ID'S!