Your company here — click to reach over 10,000 unique daily visitors

resgen - Man Page

Mono/CLI Resource Generator


resgen source.ext [dest.ext]

resgen /compile source.ext[,dest.resources] [...]



Convert a resource file from one format to another.

The currently supported formats are text, resources, resx and po.

.txt, .text

Used to process text files, the format of the text file is of the form:


The value argument can contain special characters as long as they are escaped.   The escape sequences currently supported are \n, \r, \t, \\ (to get the escape sequence itself) and with resgen2 unicode escape sequences are supported with the \uXXXX escape sequence, where XXXX is a four digit number.

Lines that start with the # or ; character are considered comments and ignored.


This is the binary file format implemented by the System.Resources.ResourceReader class, part of mscorlib.dll


This is the binary file format implemented by the System.Resources.ResXResourceReader class.  This class is not part of mscorlib.dll, this class is part of System.Windows.Forms.


PO files are the source files used by the Unix gettext infrastructure that is typically used to internationalize applications.

Lines starting with the '#' character are comment lines.

The file contains many instance of strings like this:

     msgid KEY
     msgstr VALUE

The KEY is typically the string to translate and the VALUE is the translation.  On PO files instead of using codes as the KEY (as it is customary with resource files) the KEY is typically a complete english message that applications embed in their source code and will be used as a fallback if no translation resources are used.

Since resources are key value pairs, the extended features in PO files are not supported (plurals and support for N-cases).  

To learn more about the po file format, use your info browser and point it to the "(gettext)PO Files" node.

If the destination file is not specified, source.resources will be used.

The /compile option takes a list of .resX or .txt files to convert to the output file name.



This switch instructs resgen to compile multiple files.  It must appear before any resources are specified on the command line.


This option is only available for resgen2, and it instructs resgen to resolve relative paths using the directory of the resx file as current directory.


This program will load referenced assemblies from the Mono assembly cache.

Mailing Lists

Visit http://lists.ximian.com/mailman/listinfo/mono-devel-list for details.

Web Site

Visit: http://www.mono-project.com for details

See Also