This scons tool is a part of scons &t-link-gettext; toolset. It provides scons interface to msginit(1) program, which creates new PO file, initializing the meta information with values from user's environment (or options). MSGINIT MSGINITCOM MSGINITCOMSTR MSGINITFLAGS POAUTOINIT POCREATE_ALIAS POSUFFIX POTSUFFIX _MSGINITLOCALE POTDOMAIN LINGUAS_FILE POAUTOINIT This builder belongs to &t-link-msginit; tool. The builder initializes missing PO file(s) if &cv-link-POAUTOINIT; is set. If &cv-link-POAUTOINIT; is not set (default), &b-POInit; prints instruction for user (that is supposed to be a translator), telling how the PO file should be initialized. In normal projects you should not use &b-POInit; and use &b-link-POUpdate; instead. &b-link-POUpdate; chooses intelligently between msgmerge(1) and msginit(1). &b-POInit; always uses msginit(1) and should be regarded as builder for special purposes or for temporary use (e.g. for quick, one time initialization of a bunch of PO files) or for tests. Target nodes defined through &b-POInit; are not built by default (they're Ignored from '.' node) but are added to special Alias ('po-create' by default). The alias name may be changed through the &cv-link-POCREATE_ALIAS; construction variable. All PO files defined through &b-POInit; may be easily initialized by scons po-create. Example 1. Initialize en.po and pl.po from messages.pot: # ... env.POInit(['en', 'pl']) # messages.pot --> [en.po, pl.po] Example 2. Initialize en.po and pl.po from foo.pot: # ... env.POInit(['en', 'pl'], ['foo']) # foo.pot --> [en.po, pl.po] Example 3. Initialize en.po and pl.po from foo.pot but using &cv-link-POTDOMAIN; construction variable: # ... env.POInit(['en', 'pl'], POTDOMAIN='foo') # foo.pot --> [en.po, pl.po] Example 4. Initialize PO files for languages defined in LINGUAS file. The files will be initialized from template messages.pot: # ... env.POInit(LINGUAS_FILE = 1) # needs 'LINGUAS' file Example 5. Initialize en.po and pl.pl PO files plus files for languages defined in LINGUAS file. The files will be initialized from template messages.pot: # ... env.POInit(['en', 'pl'], LINGUAS_FILE = 1) Example 6. You may preconfigure your environment first, and then initialize PO files: # ... env['POAUTOINIT'] = 1 env['LINGUAS_FILE'] = 1 env['POTDOMAIN'] = 'foo' env.POInit() which has same efect as: # ... env.POInit(POAUTOINIT = 1, LINGUAS_FILE = 1, POTDOMAIN = 'foo') Common alias for all PO files created with &b-POInit; builder (default: 'po-create'). See &t-link-msginit; tool and &b-link-POInit; builder. Suffix used for PO files (default: '.po') See &t-link-msginit; tool and &b-link-POInit; builder. Path to msginit(1) program (found via Detect()). See &t-link-msginit; tool and &b-link-POInit; builder. Complete command line to run msginit(1) program. See &t-link-msginit; tool and &b-link-POInit; builder. String to display when msginit(1) is invoked (default: '', which means ``print &cv-link-MSGINITCOM;''). See &t-link-msginit; tool and &b-link-POInit; builder. List of additional flags to msginit(1) (default: []). See &t-link-msginit; tool and &b-link-POInit; builder. Internal ``macro''. Computes locale (language) name based on target filename (default: '${TARGET.filebase}' ). See &t-link-msginit; tool and &b-link-POInit; builder.