Where POT comes from
The template emerged with gettext itself as the answer to a workflow problem: translators needed a canonical list of source strings that no individual language owned. `xgettext` scans source code to produce the .pot, `msginit` turns it into a new language's .po, and `msgmerge` folds later template changes into existing translations while marking newly-changed entries fuzzy. That three-step cycle is still how most open-source projects are translated.