+<H3><A NAME="SEC164" HREF="gettext_toc.html#TOC164">10.1.7 Desktop Entry mode operations</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>‘--template=<VAR>template</VAR>’</SAMP>
+<DD>
+<A NAME="IDX1013"></A>
+Specify a .desktop file used as a template.
+
+<DT><SAMP>‘-k[<VAR>keywordspec</VAR>]’</SAMP>
+<DD>
+<DT><SAMP>‘--keyword[=<VAR>keywordspec</VAR>]’</SAMP>
+<DD>
+<A NAME="IDX1014"></A>
+<A NAME="IDX1015"></A>
+Specify <VAR>keywordspec</VAR> as an additional keyword to be looked for.
+Without a <VAR>keywordspec</VAR>, the option means to not use default keywords.
+
+<DT><SAMP>‘-l <VAR>locale</VAR>’</SAMP>
+<DD>
+<DT><SAMP>‘--locale=<VAR>locale</VAR>’</SAMP>
+<DD>
+<A NAME="IDX1016"></A>
+<A NAME="IDX1017"></A>
+Specify the locale name, either a language specification of the form <VAR>ll</VAR>
+or a combined language and country specification of the form <VAR>ll_CC</VAR>.
+
+<DT><SAMP>‘-d <VAR>directory</VAR>’</SAMP>
+<DD>
+<A NAME="IDX1018"></A>
+Specify the directory where PO files are read. The directory must
+contain the <SAMP>‘LINGUAS’</SAMP> file.
+
+</DL>
+
+<P>
+To generate a <SAMP>‘.desktop’</SAMP> file for a single locale, you can use it
+as follows.
+
+</P>
+
+<PRE>
+msgfmt --desktop --template=<VAR>template</VAR> --locale=<VAR>locale</VAR> \
+ -o <VAR>file</VAR> <VAR>filename</VAR>.po ...
+</PRE>
+
+<P>
+msgfmt provides a special "bulk" operation mode to process multiple
+<TT>‘.po’</TT> files at a time.
+
+</P>
+
+<PRE>
+msgfmt --desktop --template=<VAR>template</VAR> -d <VAR>directory</VAR> -o <VAR>file</VAR>
+</PRE>
+
+<P>
+msgfmt first reads the <SAMP>‘LINGUAS’</SAMP> file under <VAR>directory</VAR>, and
+then processes all <SAMP>‘.po’</SAMP> files listed there. You can also limit
+the locales to a subset, through the <SAMP>‘LINGUAS’</SAMP> environment
+variable.
+
+</P>
+<P>
+For either operation modes, the <SAMP>‘-o’</SAMP> and <SAMP>‘--template’</SAMP>
+options are mandatory.
+
+</P>
+
+
+<H3><A NAME="SEC165" HREF="gettext_toc.html#TOC165">10.1.8 XML mode operations</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>‘--template=<VAR>template</VAR>’</SAMP>
+<DD>
+<A NAME="IDX1019"></A>
+Specify an XML file used as a template.
+
+<DT><SAMP>‘-L <VAR>name</VAR>’</SAMP>
+<DD>
+<DT><SAMP>‘--language=<VAR>name</VAR>’</SAMP>
+<DD>
+<A NAME="IDX1020"></A>
+<A NAME="IDX1021"></A>
+<A NAME="IDX1022"></A>
+Specifies the language of the input files.
+
+<DT><SAMP>‘-l <VAR>locale</VAR>’</SAMP>
+<DD>
+<DT><SAMP>‘--locale=<VAR>locale</VAR>’</SAMP>
+<DD>
+<A NAME="IDX1023"></A>
+<A NAME="IDX1024"></A>
+Specify the locale name, either a language specification of the form <VAR>ll</VAR>
+or a combined language and country specification of the form <VAR>ll_CC</VAR>.
+
+<DT><SAMP>‘-d <VAR>directory</VAR>’</SAMP>
+<DD>
+<A NAME="IDX1025"></A>
+Specify the base directory of <TT>‘.po’</TT> message catalogs.
+
+</DL>
+
+<P>
+To generate an XML file for a single locale, you can use it as follows.
+
+</P>
+
+<PRE>
+msgfmt --xml --template=<VAR>template</VAR> --locale=<VAR>locale</VAR> \
+ -o <VAR>file</VAR> <VAR>filename</VAR>.po ...
+</PRE>
+
+<P>
+msgfmt provides a special "bulk" operation mode to process multiple
+<TT>‘.po’</TT> files at a time.
+
+</P>
+
+<PRE>
+msgfmt --xml --template=<VAR>template</VAR> -d <VAR>directory</VAR> -o <VAR>file</VAR>
+</PRE>
+
+<P>
+msgfmt first reads the <SAMP>‘LINGUAS’</SAMP> file under <VAR>directory</VAR>, and
+then processes all <SAMP>‘.po’</SAMP> files listed there. You can also limit
+the locales to a subset, through the <SAMP>‘LINGUAS’</SAMP> environment
+variable.
+
+</P>
+<P>
+For either operation modes, the <SAMP>‘-o’</SAMP> and <SAMP>‘--template’</SAMP>
+options are mandatory.
+
+</P>
+
+
+<H3><A NAME="SEC166" HREF="gettext_toc.html#TOC166">10.1.9 Input file syntax</A></H3>