msgfmt man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

msgfmt(1)			 User Commands			     msgfmt(1)

NAME
       msgfmt - create a message object from a message file

SYNOPSIS
       msgfmt [-D dir | -−directory=dir]  [-f | -−use-fuzzy]  [-g] [-o output-
       file | -−output-file=output-file]   [-s]	 [-−strict]  [-v]  [-−verbose]
       filename.po...

DESCRIPTION
       The  msgfmt  utility  creates message object files from portable object
       files (filename.po), without changing the portable object files.

       The .po file contains messages displayed to users by system commands or
       by application programs. .po files can be edited. The messages in these
       files can be rewritten in any language supported by the system.

       The xgettext(1) command can be used to create .po files from script  or
       programs.

       msgfmt  interprets  data as characters according to the current setting
       of the LC_CTYPE locale category or according to the  codeset  specified
       in the .po file.

OPTIONS
       The following options are supported:

       -D dir		       Adds dir to the list for input files search.
       -−directory=dir

       -f		       Uses fuzzy entries in output. If this option is
       -−use-fuzzy	       not specified, fuzzy entries are	 not  included
			       into  the  output. These options are ignored if
			       Solaris message catalogs are processed.

       -g		       Directs the utility to generate the GNU-compat‐
			       ible  message  catalog file. This option cannot
			       be specified with the -s option.

       -o output-file	       Specifies the output file name as  output-file.
       -−output=output-file    All  domain  directives and duplicate msgids in
			       the .po file are ignored.

       -s		       Directs the utility  to	generate  the  Solaris
			       message	catalog	 file.	This  option cannot be
			       specified with the -g option.

       -−strict		       Directs the utility to append the suffix .mo to
			       the  generating	message object file name if it
			       doesn't	have  this  suffix.  This  option   is
			       ignored	if  Solaris  message catalogs are pro‐
			       cessed.

       -v		       Verbose. Lists duplicate message identifiers if
       -−verbose	       Solaris	message	 catalog  files are processed.
			       Message strings are not redefined.

			       If GNU-compatible message files are  processed,
			       this  option  detects  and diagnoses input file
			       anomalies  which	 might	represent  translation
			       errors.	The msgid and msgstr strings are stud‐
			       ied and compared. It is considered abnormal  if
			       one  string starts or ends with a newline while
			       the other does not. Also, if the string	repre‐
			       sents  a	 format	 string	 used in a printf-like
			       function, both strings  should  have  the  same
			       number  of  %  format specifiers, with matching
			       types. If the flag c-format appears in the spe‐
			       cial  comment  '#'  for	this entry, a check is
			       performed.

USAGE
       The format of portable object files (.po files) is defined as  follows.
       Each  .po  file	contains  one or more lines, with each line containing
       either a comment or a statement. Comments start the line with  a	 pound
       sign  (#) and end with the newline character. All comments (except spe‐
       cial comments described later) and empty lines are ignored. The	format
       of a statement is:

       directive     value

       Each  directive	starts	at  the beginning of the line and is separated
       from value by white space (such as one or more  space  or  tab  charac‐
       ters).  value consists of one or more quoted strings separated by white
       space. Use any of the following types of	 directives  for  the  Solaris
       message file:

       domain domainname
       msgid message_identifier
       msgstr message_string

       For  a  GNU-compatible  message file, use any of the following types of
       directives:

       domain domainname
       msgid message_identifier
       msgid_plural untranslated_string_plural
       msgstr message_string
       msgstr[n] message_string

       The behavior of the domain directive is affected by the	options	 used.
       See  OPTIONS  for the behavior when the -o or -−output-file options are
       specified. If the -o or -−output-file options are  not  specified,  the
       behavior of the domain directive is as follows:

	 ·  All msgids from the beginning of each .po file to the first domain
	    directive are put into a default message object file. The  default
	    message  object  file is named messages.mo, if the Solaris message
	    catalog file format is used to generate the message object file or
	    if	the  -−strict option is specified. Otherwise, the default mes‐
	    sage object file is named messages.

	 ·  When msgfmt encounters a domain domainname directive  in  the  .po
	    file, all following msgids until the next domain directive are put
	    into the message object file, named domainname.mo, if the  Solaris
	    message catalog file format is used to generate the message object
	    file or if the -−strict option is specified. Otherwise, the msgids
	    are put into the message object file named domainname.

	 ·  Duplicate msgids are defined in the scope of each domain. That is,
	    a msgid is considered a duplicate  only  if	 the  identical	 msgid
	    exists in the same domain.

	 ·  All duplicate msgids are ignored.

       The msgid directive specifies the value of a message identifier associ‐
       ated with the directive that follows  it.  The  msgid_plural  directive
       specifies  the plural form message specified to the plural message han‐
       dling functions ngettext(),  dngettext(),  or  dcngettext().  The  mes‐
       sage_identifier	string	identifies  a  target  string  to  be  used at
       retrieval time. Each statement containing a  msgid  directive  must  be
       followed	 by  a	statement  containing  a msgstr directive or msgstr[n]
       directives.

       The msgstr directive specifies the target string	 associated  with  the
       message_identifier  string  declared in the immediately preceding msgid
       directive.

       The directive msgstr[n] (where n = 0, 1, 2, ...) specifies  the	target
       string  to  be  used  with  plural  form handling functions ngettext(),
       dngettext(), and dcngetttext().

       Message strings can contafn the escapeforqcarriagefreturn,efRifor form‐
       tab,  for  vertical tab, obackspace,
       feed, \ for  backslash,	r

       Comments for a GNU-compatible message file should be in one of the fol‐
       lowing formats (the msgfmt utility will ignore these comments when pro‐
       cessing Solaris message files):

       # translator-comments
       #. automatic-comments
       #: reference..
       #, flag

       The '#:' comments indicate the location of  the	msgid  string  in  the
       source  files in filename:line format. The '#', '#.', and '#:' comments
       are informative only and are silently ignored by	 the  msgfmt  utility.
       The  '#,'  comments  require  one  or more flags separated by the comma
       character. The following flags can be specified:

       fuzzy	       This flag can be inserted by the translator.  It	 shows
		       that  the msgstr string might not be a correct transla‐
		       tion (anymore). Only the translator can	judge  if  the
		       translation requires further modification or is accept‐
		       able as is. Once satisfied with	the  translation,  the
		       translator  removes  this  fuzzy	 flag. If this flag is
		       specified, the msgfmt utility  will  not	 generate  the
		       entry for the immediately following msgid in the output
		       message catalog.

       c-format	       The c-format flag indicates that the  msgid  string  is
       no-c-format     used  as	 a  format string by printf-like functions. In
		       case the c-format flag  is  given  for  a  string,  the
		       msgfmt utility does some more tests to check the valid‐
		       ity of the translation.

       In the GNU-compatible message file, the msgid entry with	 empty	string
       ("")  is	 called the header entry and treated specially. If the message
       string for the header entry contains nplurals=value,  the  value	 indi‐
       cates the number of plural forms. For example, if nplurals=4, there are
       four plural forms. If nplurals is defined, the same line should contain
       plural=expression,  separated  by a semicolon character. The expression
       is a C language expression to determine which version of	 msgstr[n]  is
       to  be  used  based on the value of n, the last argument of ngettext(),
       dngettext(), or dcngettext(). For example,

       nplurals=2; plural= n == 1 ? 0 : 1

       indicates that there are two plural forms in the language. msgstr[0] is
       used if n == 1, otherwise msgstr[1] is used. For another example:

       nplurals=3; plural= n == 1 ? 0 : n == 2 ? 1 : 2

       indicates  that there are three plural forms in the language. msgstr[0]
       is used if n == 1, msgstr[1] is used if n == 2, otherwise msgstr[2]  is
       used.

       If  the	header entry contains a charset=codeset string, the codeset is
       used to indicate the codeset to be used to encode the message  strings.
       If  the	output string's codeset is different from the message string's
       codeset, codeset conversion from the message string's  codeset  to  the
       output  string's	 codeset will be performed upon the call of gettext(),
       dgettext(), dcgettext(), ngettext(), dngettext(), and dcngettext()  for
       the  GNU-compatible  message  catalogs.	The output string's codeset is
       determined by  the  current  locale's  codeset  (the  return  value  of
       nl_langinfo(CODESET))  by  default,  and	 can be changed by the call of
       bind_textdomain_codeset().

   Message catalog file format
       The msgfmt utility can generate the message object both in Solaris mes‐
       sage  catalog  file  format  and in GNU-compatible message catalog file
       format. If the -s option is specified and the input file is  a  Solaris
       .po  file,  the	msgfmt utility generates the message object in Solaris
       message catalog file format. If the -g  option  is  specified  and  the
       input  file is a GNU .po file, the msgfmt utility generates the message
       object in GNU-compatible message catalog file format. If neither the -s
       nor  -g	option is specified, the msgfmt utility determines the message
       catalog file format as follows:

	 ·  If the .po file contains a valid GNU header entry (having an empty
	    string for msgid), the msgfmt utility uses the GNU-compatible mes‐
	    sage catalog file format.

	 ·  Otherwise, the msgfmt utility uses	the  Solaris  message  catalog
	    file format.

       If  the msgfmt utility determined that the Solaris message catalog file
       format is used, as above, but found the .po  file  contains  directives
       that  are  specific  to the GNU-compatible message catalog file format,
       such as msgid_plural and msgstr[n], the msgfmt  utility	handles	 those
       directives as invalid specifications.

EXAMPLES
       Example 1: Creating message objects from message files

       In this example, module1.po and module2.po are portable message objects
       files.

       example% cat module1.po
       # default domain "messages.mo"
       msgid  "msg 1"
       msgstr "msg 1 translation"
       #
       domain "help_domain"
       msgid  "help 2"
       msgstr "help 2 translation"
       #
       domain "error_domain"
       msgid  "error 3"
       msgstr "error 3 translation"
       example% cat module2.po
       # default domain "messages.mo"
       msgid  "mesg 4"
       msgstr "mesg 4 translation"
       #
       domain "error_domain"
       msgid  "error 5"
       msgstr "error 5 translation"
       #
       domain "window_domain"
       msgid  "window 6"
       msgstr "window 6 translation"

       The following  command  will  produce  the  output  files  messages.mo,
       help_domain.mo,	and  error_domain.mo  in  Solaris message catalog file
       format:

       example% msgfmt module1.po

       The following  command  will  produce  the  output  files  messages.mo,
       help_domain.mo,	error_domain.mo,  and window_domain.mo in Solaris mes‐
       sage catalog file format:

       example% msgfmt module1.po module2.po

       The following command will produce the output file hello.mo in  Solaris
       message catalog file format:

       example% msgfmt -o hello.mo module1.po module2.po

ENVIRONMENT VARIABLES
       See  environ(5)	for  descriptions of the following environmental vari‐
       ables that affect the execution of msgfmt: LC_CTYPE,  LC_MESSAGES,  and
       NLSPATH.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Availability		     │SUNWloc			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │CSI			     │Enabled			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       xgettext(1), gettext(3C), setlocale(3C), attributes(5), environ(5)

NOTES
       Installing message catalogs under the C locale is pointless, since they
       are ignored for the sake of efficiency.

SunOS 5.10			  17 Sep 2001			     msgfmt(1)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net