mkmsgs(1)
mkmsgs --
create message files for use by gettxt and pfmt
Synopsis
mkmsgs [-o]
[-i locale]
inputstrings msgfile
Description
The mkmsgs
utility is used to create a file of text strings that can
be accessed using the text retrieval tools
(see
pfmt(1),
gettxt(1),
srchtxt(1),
exstr(1),
and
gettxt(3C)).
It will take as input a file of text strings for a particular
geographic locale
(see
setlocale(3C))
and create a file of text strings in a format that can be retrieved by
pfmt(1),
gettxt(1),
and
gettxt(3C).
By using the -i option,
you can install the created file under the
/usr/lib/locale/locale/LC_MESSAGES
directory (locale
corresponds to the language in which the text strings are written).
inputstrings-
the name of the file that contains the original text strings.
msgfile-
the name of the output file where
mkmsgs
writes the strings in a format that is readable by
gettxt(1)
and
gettxt(3C).
The name of
msgfile
can be up to 14 characters in length,
but may not contain either ``\0'' (null)
or the ASCII code for ``/'' (slash) or
``:'' (colon).
-i locale-
install msgfile in the
/usr/lib/locale/locale/LC_MESSAGES
directory.
Only a privileged user
or a member of group bin
can create or overwrite files in this directory.
Directories under
/usr/lib/locale
will be created if they do not exist.
-o-
overwrite msgfile, if it exists.
The input file contains a set of text strings for the particular
geographic locale.
Text strings are separated by a newline character.
Nongraphic characters must be represented as alphabetic
escape sequences.
Messages are transformed and copied sequentially
from inputstrings to msgfile.
To generate an empty message in
msgfile,
leave an empty line at the correct place in
inputstrings.
Messages can be specified on a single line or across multiple lines,
and must contain a total of 4095 characters or less.
Mutli-line messages are delimited by the characters "%<" and "%>"
on a line by themselves, as in the following example:
%<
message line 1
message line 2
...
%>
Only the characters space, tab, and linefeed are permitted on the
lines with the delimiters.
Single-line and multi-line comments can be included in the file.
Single-line comments are designated by the characters ``%#''
as the first two characters of the comment line:
message 1
%# This is a comment
message 2
Multi-line comments are designated by the characters ``%{'' at the
beginning of the first comment line, and are terminated by the characters
``%}'' at the beginning of a line (with no following text):
message 1
%{ This is a comment
%}
message 2
or:
message 1
%{
This is a comment
%}
message 2
The space following the comment-opening characters is optional.
Strings can be changed simply by editing the file
inputstrings.
New strings must be added only at the end of the file;
then a new
msgfile
file must be created and installed in the correct place.
If this procedure is not followed,
the retrieval function will retrieve the wrong string
and software compatibility will be broken.
Examples
The following example shows an input message source file
C.str:
File %s:\t cannot be opened\n
%s: Bad directory\n
...
write error\n
...
The following command uses the input strings from C.str
to create text strings in the appropriate format in the file
UX in the current directory:
mkmsgs C.str UX
The following command uses the input strings from FR.str
to create text strings in the appropriate format in the file
UX in the directory
/usr/lib/locale/french/LC_MESSAGES/UX:
mkmsgs -i french FR.str UX
These text strings would be accessed if you had set the
environment variable
LC_MESSAGES to ``french''
and then invoked one of the text
retrieval tools listed at the beginning of the ``Description'' section.
Files
/usr/lib/locale/locale/LC_MESSAGES/uxsysadm-
language-specific message file used by
mkmsgs
(see LANG in
environ(5))
References
exstr(1),
gettxt(1),
gettxt(3C),
pfmt(1),
setlocale(3C),
srchtxt(1)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004