/* file STRDEFB.H */

     defstr ( InitStr , "init String Lang 1", "Init String Lang 
2" )
     defstr ( OtherStr , "Other String Lang 1", "Other String 
Lang 2" )

/* file STRDEMOB.C */

     #include "strhndlb.h"
     #include <stdio.h>

     int main ()
          {
          set_language(LANG_1);
          puts(get_str(InitStr));
          puts(get_str(OtherStr));
          set_language(LANG_2);
          puts(get_str(InitStr));
          puts(get_str(OtherStr));
          return 0;
          }

/* file STRHNDLB.H */

     enum language { LANG_1, LANG_2 };

     extern int Language;

     #define defstr(x,y,z) extern char *x[];
     #include "strdefb.h"

     #define set_language(x) Language = x
     #define get_str(x)      x[Language]

/* file STRHNDLB.C */

     #include "strdefb.h"

     int Language;
