This is a Guile script which makes the “prototype” file, foo.lang.proto, from which the POT is generated. GNUN is designed in such a way, because it would be no big improvement if links to other translations ended up in the POT—it would mean that translators would have to manually update their PO file when a new translation is added.
In addition, make-prototype guards the timestamp (the $Date$ RCS keyword) in order the timestamp of the translation to be updated only when there are actual changes, being automatic or not.
Finally, make-prototype “injects” the artificial elements `*GNUN-SLOT: TRANSLATOR'S NOTES*' and `*GNUN-SLOT: TRANSLATOR'S CREDITS*', thanks to which it is possible to insert the name of the translator and translator's notes, if necessary. See New Translation.
Here are the options that make-prototype accepts: