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.