Generating POT of Archetypes based products
This howto guides developer through the process of autogenerating template POT file, that is later used to translate Archetypes based product. Earlier, developer had to manually add label_msgids and description_msgids, but I have created a very simple external method that is able to extract these from any product.
Installation
To use this developer tool, download attached python file (i18n_TemplateGenerator.py) and put it inside Extensions folder in your zope instance directory (/var/lib/zope/instance/Extensions in my case). Edit the file and look for generatePOT function. This function is executed with just the portal instance as parameter. You must alter the product name (2nd parameter) and i18n_domain (3rd parameter) to match your settings.
Usage
Then go to ZMI, and put a new External method inside your portal's folder (not the Zope instance root, that would not work!), pick whatever id and title you like, but module name must be "i18n_TemplateGenerator" and function name must be "generatePOT". Save the External method and try it out (Test tab in ZMI). If everything went alright, it should spit out the POT output with default values and references and at the bottom list of warnings (duplicate msgids with different default values, i18n_domain missing, label but not label_msgid, description but not description_msgid are detected).

Features
The system is able to extract msgids with default values, it takes care of multiple references (and adds that to he POT accordingly), it warns the user if his/her Product isn't prepared for translation. It isn't user friendly though, that's a TODO.i18ndude
You can later use i18ndude to merge POT files generated from Archetypes schemas and POT files generated from ZPT templates (by i18ndude).
Problems
I am neither experienced plone developer nor python coder so I might have left many bugs in the code (in fact I have been working with plone for a month). Also this piece of code was written during 5 hours including extensive lunch break :-D (with extensive help from naro@#plone-cz, thanks for that). I would be glad if you submitted any problems you find. There are many areas that should get improved.
Somehow deprecated for Plone 3
from zope.i18nmessageid import MessageFactory
_ = MessageFactory('mydomain')
...widget=MyWidget(label=_(u'foo', default=u"Foo"), description=_(u'bar', default=u"Bar"), ...)