This plugin ships NO .po and NO .mo, and that is deliberate.

A plugin in the WordPress.org directory has its catalogues generated and
served by translate.wordpress.org. Bundling our own would override what
translators contribute there, and it is a review comment. The committed
terrasuite-es_ES.po and .mo were removed on 22 September 2026 in 023ad42 for
exactly that reason; if you need them for reference they are in git at
023ad42^, and the working dictionary they were built from is still kept at
terrasuite-packs/translations/es_ES.php.

Only terrasuite.pot stays here, because a .pot is the source strings rather
than a translation of them.

TerraSuite Pro is a different case and DOES commit its .po and .mo: it is not
in the directory, so nothing else will generate them. Rebuild those with the
plugin's own compiler and not with msgfmt -

  wp eval '$r = TerraSuite_Languages::compile(); print_r( $r );'

- because the test suite deletes and recompiles the catalogue on the paid
demonstration site as part of testing the whole translation loop. Both
compilers produce a valid .mo holding the same strings, but not the same
bytes, so a catalogue built with msgfmt leaves that installation permanently
"adrift" from the repository in check-deployed.sh over a file that is
perfectly correct.
