]> git.saurik.com Git - wxWidgets.git/blob - docs/html/gettext/msgfmt.htm
wizard.h added to the list of headers
[wxWidgets.git] / docs / html / gettext / msgfmt.htm
1 <!-- manual page source format generated by PolyglotMan v3.0.3a12, -->
2 <!-- available via anonymous ftp from ftp.cs.berkeley.edu:/ucb/people/phelps/tcltk/rman.tar.Z -->
3
4 <HTML>
5 <HEAD>
6 <TITLE>msgfmt(1) manual page</TITLE>
7 </HEAD>
8 <BODY>
9 <A HREF="#toc">Table of Contents</A><P>
10
11 <H2><A NAME="sect0" HREF="#toc0">NAME </A></H2>
12 msgfmt - create a message object from a message file
13 <H2><A NAME="sect1" HREF="#toc1">SYNOPSIS
14 </A></H2>
15 <B>msgfmt</B> [ <B>-v</B> ] [ <B>-o</B><I> output-file</I> ] ...
16 <H2><A NAME="sect2" HREF="#toc2">DESCRIPTION </A></H2>
17 <P>
18 <B>msgfmt</B> creates message
19 object files from portable object files (<I>filename<B>.po </B></I>), without changing
20 the portable object files. <P>
21 The <B>.po </B> file contains messages displayed to
22 users by system commands or by application programs. <B>.po</B> files can be edited,
23 and the messages in them can be rewritten in any language supported by
24 the system. <P>
25 The <B><A HREF="http://hoth.stsci.edu/man/man1/xgettext.html">xgettext</B>(1)</A>
26 command can be used to create <B>.po</B> files from
27 script or programs. <P>
28 <B>msgfmt</B> interprets data as characters according to the
29 current setting of the <FONT SIZE=-1><B>LC_CTYPE </B></FONT>
30 locale category.
31 <H3><A NAME="sect3" HREF="#toc3">Portable Object Files
32 </A></H3>
33 <P>
34 Formats for all <B>.po</B> files are the same. Each <B>.po</B> file contains one or
35 more lines, with each line containing either a comment or a statement.
36 Comments start the line with a hash mark (#) and end with the newline
37 character. All comments are ignored. The format of a statement is:
38 <DL>
39
40 <DT><I>directive</I>
41 value </DT>
42 <DD></DD>
43 </DL>
44 <P>
45 Each directive starts at the beginning of the line and is separated
46 from <I>value</I> by white space (such as one or more space or tab characters).
47 <I>value</I> consists of one or more quoted strings separated by white space.
48 Use any of the following types of directives: <P>
49 <blockquote><B>domain</B> <I>domainname</I> <BR>
50 <B>msgid</B>
51 <I>message_identifier</I> <BR>
52 <B>msgstr</B> <I>message_string</I> </blockquote>
53 <P>
54 The behavior of the <B>domain</B>
55 directive is affected by the options used. See <FONT SIZE=-1>OPTIONS</FONT>
56 for the behavior
57 when the <B>-o</B> option is specified. If the <B>-o</B> option is not specified, the
58 behavior of the <B>domain</B> directive is as follows: <blockquote>
59 <UL>
60 &#183;<LI>All <I>msgids</I> from the beginning
61 of each <B>.po</B> file to the first domain directive are put into a default
62 message object file, <B>messages.mo</B>. </LI>&#183;<LI>When <B>msgfmt</B> encounters a <B>domain</B><I> domainname</I>
63 directive in the <B>.po</B> file, all following <I>msgids</I> until the next <B>domain</B> directive
64 are put into the message object file </LI>&#183;<LI>Duplicate <I>msgids</I> are defined in
65 the scope of each domain. That is, a <I>msgid</I> is considered a duplicate only
66 if the identical <I>msgid</I> exists in the same domain. </LI>&#183;<LI>All duplicate <I>msgids</I>
67 are ignored. </LI>
68 </UL>
69 </blockquote>
70 <P>
71 The <B>msgid</B> directive specifies the value of a message identifier
72 associated with the directive that follows it. The <I>message_identifier</I> string
73 identifies a target string to be used at retrieval time. Each statement
74 containing a <B>msgid</B> directive must be followed by a statement containing
75 a <B>msgstr</B> directive. <P>
76 The <B>msgstr</B> directive specifies the target string associated
77 with the <I>message_identifier</I> string declared in the immediately preceding
78 <B>msgid</B> directive. <P>
79 Message strings can contain the escape sequences <B>\n</B> for
80 newline, <B>\t</B> for tab, <B>\v</B> for vertical tab, <B>\b</B> for backspace, <B>\r</B> for carriage
81 return, <B>\f</B> for formfeed, <B>\\</B> for backslash, \" for double quote, <B>\ddd</B> for octal
82 bit pattern, and <B>\xDD</B> for hexadecimal bit pattern.
83 <H2><A NAME="sect4" HREF="#toc4">OPTIONS </A></H2>
84
85 <DL>
86
87 <DT><B>-v</B> </DT>
88 <DD>Verbose.
89 List duplicate message identifiers. Message strings are not redefined.
90 </DD>
91
92 <DT><B>-o</B><I> output-file</I> </DT>
93 <DD>Specify output file name as <I>output-file</I>. All <B>domain</B> directives
94 and duplicate <I>msgids</I> in the <B>.po</B> file are ignored. </DD>
95 </DL>
96
97 <H2><A NAME="sect5" HREF="#toc5">EXAMPLES </A></H2>
98 In this example
99 <B>module1.po</B> and <B>module2.po</B> are portable message objects files. <P>
100 <blockquote> example%
101 cat module1.po <BR>
102 # default domain "messages.mo" <BR>
103 msgid "msg 1" <BR>
104 msgstr "msg
105 1 translation" <BR>
106 # <BR>
107 domain "help_domain" <BR>
108 msgid "help 2" <BR>
109 msgstr "help
110 2 translation" <BR>
111 # <BR>
112 domain "error_domain" <BR>
113 msgid "error 3" <BR>
114 msgstr "error
115 3 translation" <BR>
116 <P>
117 example% cat module2.po <BR>
118 # default domain "messages.mo"
119 <BR>
120 msgid "mesg 4" <BR>
121 msgstr "mesg 4 translation" <BR>
122 # <BR>
123 domain "error_domain"
124 <BR>
125 msgid "error 5" <BR>
126 msgstr "error 5 translation" <BR>
127 # <BR>
128 domain "window_domain"
129 <BR>
130 msgid "window 6" <BR>
131 msgstr "window 6 translation" <BR>
132 </blockquote>
133 <P>
134 The following command
135 will produce the output files, <B>messages.mo</B>, <B>help_domain.mo</B>, and <B>error_domain.mo</B>.
136
137 <DL>
138
139 <DT><B>example% msgfmt module1.po</B> </DT>
140 <DD></DD>
141 </DL>
142 <P>
143 The following command will produce the output
144 files, <B>messages.mo</B>, <B>help_domain.mo</B>, <B>error_domain.mo</B>, and <B>window_domain.mo</B>.
145
146 <DL>
147
148 <DT><B>example% msgfmt module1.po module2.po</B> </DT>
149 <DD></DD>
150 </DL>
151 <P>
152 The following example will produce
153 the output file <B>hello.mo</B>.
154 <DL>
155
156 <DT><B>example% msgfmt -o hello.mo module1.po module2.po</B>
157 </DT>
158 <DD></DD>
159 </DL>
160 <P>
161 Install message object files in <B>/usr/lib/locale/</B><I>locale</I><B><FONT SIZE=-1>/LC_MESSAGES/</FONT>
162 </B><I>domain</I><B>.mo</B>
163 where <I>locale</I> is the message locale as set by <B><A HREF="http://hoth.stsci.edu/man/man3C/setlocale.html">setlocale</B>(3C)</A>
164 , and <I>domain</I>
165 is text domain as set by <B>textdomain()</B>. The <B>/usr/lib/locale</B> portion can
166 optionally be changed by calling <B>bindtextdomain()</B>. See <B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
167 .
168 <H2><A NAME="sect6" HREF="#toc6">ENVIRONMENT
169 </A></H2>
170 See <B><A HREF="http://hoth.stsci.edu/man/man5/environ.html">environ</B>(5)</A>
171 for descriptions of the following environmental variables
172 that affect the execution of <B>msgfmt</B>: <FONT SIZE=-1><B>LC_CTYPE</FONT>
173 </B>, <FONT SIZE=-1><B>LC_MESSAGES</FONT>
174 </B>, <FONT SIZE=-1><B>NLSPATH</FONT>
175
176 </B>.
177 <H2><A NAME="sect7" HREF="#toc7">ATTRIBUTES </A></H2>
178 See <B><A HREF="http://hoth.stsci.edu/man/man5/attributes.html">attributes</B>(5)</A>
179 for descriptions of the following attributes:
180 <P>
181 <TABLE BORDER=0>
182 <TR> <TD ALIGN=CENTER><B>ATTRIBUTE TYPE</B> </TD> <TD ALIGN=CENTER><B>ATTRIBUTE VALUE</B> </TD> </TR>
183 <TR> <TR> <TD ALIGN=LEFT>Availability </TD> <TD ALIGN=LEFT>SUNWloc </TD> </TR>
184 <TR> <TD ALIGN=LEFT>CSI
185 </TD> <TD ALIGN=LEFT>Enabled </TD> </TR>
186 </TABLE>
187
188 <H2><A NAME="sect8" HREF="#toc8">SEE ALSO </A></H2>
189 <B><A HREF="http://hoth.stsci.edu/man/man1/xgettext.html">xgettext</B>(1)</A>
190 , <B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
191 , <B><A HREF="http://hoth.stsci.edu/man/man3C/setlocale.html">setlocale</B>(3C)</A>
192 , <B><A HREF="http://hoth.stsci.edu/man/man5/attributes.html">attributes</B>(5)</A>
193 ,
194 <B><A HREF="http://hoth.stsci.edu/man/man5/environ.html">environ</B>(5)</A>
195
196 <H2><A NAME="sect9" HREF="#toc9">NOTES </A></H2>
197 <P>
198 Neither <B>msgfmt</B> nor any <B>gettext()</B> routine imposes a limit
199 on the total length of a message. However, each line in the <B>*.po</B> file is
200 limited to <FONT SIZE=-1><B>MAX_INPUT </B></FONT>
201 (512) bytes. <P>
202 Installing message catalogs under the
203 C locale is pointless, since they are ignored for the sake of efficiency.
204 <P>
205
206 <HR><P>
207 <A NAME="toc"><B>Table of Contents</B></A><P>
208 <UL>
209 <LI><A NAME="toc0" HREF="#sect0">NAME</A></LI>
210 <LI><A NAME="toc1" HREF="#sect1">SYNOPSIS</A></LI>
211 <LI><A NAME="toc2" HREF="#sect2">DESCRIPTION</A></LI>
212 <UL>
213 <LI><A NAME="toc3" HREF="#sect3">Portable Object Files</A></LI>
214 </UL>
215 <LI><A NAME="toc4" HREF="#sect4">OPTIONS</A></LI>
216 <LI><A NAME="toc5" HREF="#sect5">EXAMPLES</A></LI>
217 <LI><A NAME="toc6" HREF="#sect6">ENVIRONMENT</A></LI>
218 <LI><A NAME="toc7" HREF="#sect7">ATTRIBUTES</A></LI>
219 <LI><A NAME="toc8" HREF="#sect8">SEE ALSO</A></LI>
220 <LI><A NAME="toc9" HREF="#sect9">NOTES</A></LI>
221 </UL>
222 </BODY></HTML>