PO-файл (Portable Object) — это текстовый файл перевода, используемый GNU gettext, системой интернационализации, на которой основаны проекты на Python, PHP, WordPress, Django и Drupal. В формате PO каждая запись связывает исходную строку (msgid) с ее переводом (msgstr), поэтому один PO-файл содержит один язык.
Ваш код создает шаблон POT, для каждого языка на его основе формируется PO-файл, а система сборки компилирует каждый PO-файл в двоичный MO-файл, который загружает приложение. Платформа локализации программного обеспечения Smartcat переводит файлы PO и POT как двуязычные: msgid поступает как исходный текст, а перевод записывается обратно в msgstr.
.po: один язык, исходный текст и перевод рядом
.pot: пустой шаблон, извлеченный из исходного кода
.mo: скомпилированный двоичный файл, который фактически загружает приложение