poEdit and Gettext Basics

gettext

This introduction is meant for novice users who knows nothing about GNU gettext. For more details, see GNU gettext documentation section of the manual (note that it refers to Emacs text editor in many places so parts of it do not apply to poEdit). The following summary explains terminology:
Catalogs
Translations are stored in catalogs (files with .po extension). A catalog contains header (you can fill header information in settings dialog) and translations. Translations consists of two strings: original text (usually in English) and matching translation.
.mo files
.mo file is compiled version of text-based .po catalog. poEdit creates it by default (you can disable this in preferences dialog).
References
Reference is a place in source code where original string appears. Sometimes it is neccessary to consult the meaning of original text with the source file.
Fuzzy translation
Fuzzy translation is incomplete, inaccurate translation. There are two ways how a translation may become fuzzy: either you mark it as such (for example because you are unsure about its correctness) or the gettext utility msgmerge marks it when updating the catalog.

poEdit

poEdit serves as a front-end to gettext. It allows you to edit catalog files in comfortable way.

In addition to .po file, poEdit saves .po.poedit file with additional information needed for updating. This file is not created if you did not edit language, keywords or paths in catalog settings dialog).