here is an example that generates gencat(1) compatible message files for one of the components in the ast-base (also ast-open) package the examkple requires ast nmake to take advantage of the 'msgcat' base rules common action
the example requires att nmake (for the base rules msgcat common action) you can nmake -n to see what nmake does to bring it into your cm system, or you can use nmake and not worry first download the ast-base (minimal to build nmake and msg catalog support) or ast-open (many more tools) source package (along with the required INIT package) I've posted alpha packages for testing: http://www.research.att.com/sw/download/package http://www.research.att.com/sw/download/alpha/INIT.2006-11-15.tgz http://www.research.att.com/sw/download/alpha/ast-base.2006-11-15.tgz to build: # in a clean dir mkdir -p bin lib/package/tgz # download the package to bin # download the *.tgz to lib/package/tgz bin/package read bin/package make bin/package use # now in a shell ready to test cd proto # the test will generate a message catalog for the # executables and shell scripts in the proto dir nmake msgcat # proto.msg is the gencat(1) compatible message catalog if you look into the ast source you'll note that msgcat does most of the l10n string extrations work -- the source code itself has little if any explicit modifications to mark strings for l10n reaping, i.e., you won't see many explicit translation calls outside of the libast translation routines -- and when you do the C locale strings are used as message indices, so you won't have to keep a message number dictionary handy to read diagnostic message in the code gencat the native proto.msg and install it in the C locale LC_MESSAGES location according to local conventions then translate proto.msg (maybe using a jargonizer, or rot13 or toupper the "..." strings for testing) and gencat and install that in the non-C locale LC_MESSAGES location the message indices in the C locale catalog will be used to index the corresponding messages in the non-C locale catalog export LC_MESSAGES to the non-C locale and run sear --man release --man you can also use LC_MESSAGES=debug to see the C locale lookup keys let me know how the process works with native gencat(1) we use the ast msggen which takes a different tack than e.g. solaris or gnu/linux gencat, so I am not intimately familiar with NLSPATH values and message catalog installation dirs -- I just coded enough to get catgets() etc. working against already installed native catalogs -- Glenn Fowler -- AT&T Research, Florham Park NJ --
