Yeah, that does make it hard On tera user project I just managed to extract messages with xgettext. He is using translate() everywhere and only for transation.
Output is obviously not PHP compatible, but might help find src/ -name *.php | xargs xgettext --from-code=utf-8 --language=PHP --no-location --omit-header --sort-output --keyword=translate --output="test.pot"