Tot i que la millor documentació és la que ve amb gettext (paquet gettext-doc) que és l'eina emprada per a manipular fitxers «.po», explicarem per sobre com treballar amb ells.

Les línies que continguin «#» són comentaris. Les cadenes de text a traduir estan delimitades per dobles cometes «"», poden ocupar més d'una línia i es concatenen totes com si no hi hagués aquests salts de línia, per exemple:

"això es una línia física però talla"
"da en dues línies lògiques\n"

Quan comenceu a traduir us trobareu quelcom així:

#
msgid "text to translate"
msgstr ""

El següent pas seria:

#
msgid "text to translate"
msgstr "text a traduir"

O també us podeu trobar:

#,fuzzy
msgid "modified text to translate"
msgstr "text a traduir"

Això vol dir que el text original ha estat modificat i per tant no quadra amb la traducció que s'ha d'actualitzar, el fet que hi hagi un «,fuzzy» també li especificarà a gettext que no ha de fer servir aquesta cadena ja que no correspon a la cadena original en anglès. El següent pas seria:

#
msgid "modified text to translate"
msgstr "text a traduir modificat"