On my Windows wsl2 (more generic explaination is needed):
find ./gui -iname "*.py" | xargs pygettext3 -d lang -o locale/lang.pot
This will generate the pot that should be carried over to the various language directories and renamed .po
msgfmt -o lang.mo lang
Run in each language directory, will compile the .po files to .mo files
Issues
zh_CH doesn't seem to work. AddCatalog is not functioning. See https://discuss.wxpython.org/t/localization-not-working-with-zh-ch-addcatalog-returns-false/34628