Logo crashrpt
A crash reporting system for Windows applications

Internationalization Support

CrashRpt supports multi-lingual user interfaces. You should place a valid language file named crashrpt_lang.ini to the directory where CrashSender.exe file is located in order to make CrashRpt work properly.

Optionally, you can specify custom language file name by using the CR_INSTALL_INFO::pszLangFilePath structure member.

The language file is a text document in UNICODE format and having INI extension. The language file contains localized strings used by CrashRpt dialogs.

If your software supports several languages, you can ship several language files with your software distribution. On install, rename an appropriate file to crashrpt_lang.ini and copy it to the folder where your CrashSender.exe is located.

You can get a language file from lang_files directory under the top-level directory of the CrashRpt distribution archive.

Each language file has the CrashRptVersion field that stores the version of CrashRpt you can use this language file in. If you try to use a language file with a wrong version, the crInstall() function will return an error.

For example, assume you want to use the English language file. Browse for lang_files->crashrpt_lang_EN.ini (shown below).

- lang_files

If there is no language file for your favourite language, you can contribute one. Also, if you see that there are some mistakes in an existing language file, you may want to improve it and then contribute your changes.

Contributing a Language File

If you want to translate a language file to your native language, you may do the following.

First of all, chose an existing language file for a language you know well. It would be easier for you to translate from such language.

Open the language file using notepad. It is strongly recommended that you use notepad for editing to avoid unexpected problems with encoding.

You can see that the language file is a regular text file. The file has several sections enclosed with [] symbols, e.g. [Settings], [MainDlg] and so on. Each section contains a group of named strings. Strings are stored as StringName=String value pairs.

Below there is a fragment from the beginning of the English language file for CrashRpt v1.1.3:


AuthorName=John Brown   

DlgCaption=Error Report
HeaderText=%s has stopped working
SubHeaderText=Please send us this error report to help fix the problem and improve this software.
WhatDoesReportContain=What does this report contain?
ProvideAdditionalInfo=Provide additional info about the problem (recommended).
YourEmail=Your E-mail:

The [Settings] section contains some configuration parameters.

All other sections, such as [MainDlg] and [DetailDlg] contain strings that are used in CrashRpt dialogs. Translate the right part of the string; the left part should not be modified.

Some strings contain formatting symbols, for example %s (string placeholder), %d (integer placeholder) or \n (new line). These special symbols should be left as they are, do not remove them!

When you are finished the translation, save your changes as a file named crashrpt_lang_XX.ini. Replace XX with an appropriate language abbreviation (EN and so on). Ensure your file has the .INI extension. In the Save as type field, select Text documents (*.txt). In the Encoding field, select Unicode.

Then test your changes by substituting the language file. Rename your file into crashrpt_lang.ini and copy it to the directory where CrashSender.exe is located (the bin directory under the CrashRpt top-level directory) and run WTLDemo.exe.

To contribute your changes, please create a message in our Forum and attach your file to that message.

If you want to upgrade your language file from a previous version to the latest CrashRpt version, do the following. To determine the differences between your language file and the language file for the latest CrashRpt version, please see language files change log (located in the lang_files\readme.txt).

Further reading: Preparing to Software Release.

Generated on Wed Apr 29 10:17:31 2015 for CrashRpt by doxygen 1.5.9