Genja is an NLG system based on smart templates.
For more detail, see (requires login):
introduction
filters (including dates, numbers, knowledge base, etc.)
knowledge base
morphology, including agreement handling
preposition vocalization
API