How are these templates parsed? I mean what code goes through these and decides which word to use?
(I once ported it to Python and wrote a parser for a more-convenient syntax like the OP's, then never released it partly because I'd hate to see spammers using it.)