# Glossary

Translation Store

  A file that stores translations (e.g. a PO file) — although it could also be used to refer to other ways of storing translations.

  Contains a number of Translation Units, which contain messages.

Translation Unit

  At the simplest level contains a single source string (the original message) and a single target string (the translated message).

  XLIFF refers to this as a unit, Gettext calls it a message or string. Some industry tools talk of segments. To maintain consistency we refer to string in the GUI and unit in the code.

  Monolingual formats (like .properties, OpenOffice SDF, DTD, HTML, etc.) only contain a source strings.

  However when handling plurals the source may actually contain different variants of a message for different plural forms (e.g. in English, the singular and plural), and the target as well (the number of variants in source and target strings are often different because different languages handle plurals differently).

Language
  They refer to the languages translated into.

Project
  They refer to the different programs/sets of messages we translate.

Translation Project
  A set of translation stores translating a project into a language.

Template
  A translation file that contains only the source or original texts.

## Translation States

Untranslated
  A unit that is not translated i.e. blank.

Incomplete
  See: Needs Attention i.e. Untranslated + Fuzzy

Translated
  The unit has a translation.

Fuzzy
  In Gettext PO fuzzy means that a unit will needs to be reviewed and will not be used in production. On Pootle for the user we call this ‘Needs Work’ as the term fuzzy is either technical for some users, or confusing to those who use the term fuzzy for Translation Memory, as in ‘fuzzy match’.

Needs work
  See: Fuzzy

Needs review
  Currently see: Fuzzy In the future this will actually mean that the translated string still requires review.

Needs attention
  Untranslated + Fuzzy

## Pootle internals

Context object (`ctx_obj`)

  An object representing the context that encloses the current view.

  If we are navigating through the files for an existing translation project, the context object will refer to the current translation project.

  Similarly, if we are in the overview page for a language, the context will point to the current language object. In the overview page for a project, the context object points to the current project.

  At a higher level, the root directory is considered the context object.

Resource object (`resource_obj`)

  An object representing the resource that the current view is referring to.

  For example, if we are navigating through the files and directories for an existing translation project, the resource object will refer to the current file or directory object.

  If the current view refers to multiple resources, the resource object is the same as the context object.