msgfmt man page on OpenIndiana

Man page or keyword search:  
man Server   20441 pages
apropos Keyword Search (all sections)
Output format
OpenIndiana 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
       -−use-fuzzy		  is not  specified,  fuzzy  entries  are  not
				  included  into the output. These options are
				  ignored if Solaris message catalogs are pro‐
				  cessed.

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

       -o output-file		  Specifies  the  output  file name as output-
       -−output=output-file	  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
				  processed.

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

				  If  GNU-compatible  message  files  are pro‐
				  cessed, this option  detects	and  diagnoses
				  input	 file  anomalies which might represent
				  translation errors.  The  msgid  and	msgstr
				  strings are studied and compared. It is con‐
				  sidered abnormal if  one  string  starts  or
				  ends	with  a	 newline  while the other does
				  not. Also, if the string represents 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  special
				  comment  '#' for this entry, a check is per‐
				  formed.

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:

	   o	  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 message object	 file  is  named  mes‐
		  sages.

	   o	  When	msgfmt encounters a domain domainname directive in the
		  .po file, all following msgids until the next domain	direc‐
		  tive	are  put  into	the message object file, named domain‐
		  name.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.

	   o	  Duplicate  msgids  are  defined in the scope of each domain.
		  That is, a msgid is considered a duplicate only if the iden‐
		  tical msgid exists in the same domain.

	   o	  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 validity 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:

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

	   o	  Otherwise, the msgfmt utility uses the Solaris message cata‐
		  log 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		     │text/locale		   │
       ├─────────────────────────────┼─────────────────────────────┤
       │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.11			  17 Sep 2001			     msgfmt(1)
[top]

List of man pages available for OpenIndiana

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