I am working on a game in German. I had noticed before that for German article and gender are not really sufficient, but didn't worry too much. Today I ran into a situation where I realised I was writing really awkward texts because of this. So I thought 'enough of this' and wrote a small library.
Following a request from Alex I have put it in github: https://github.com/bergedorfcacher/quest_germanArticles There is a readme file that explains more and shows how to use it.
Having said that, I have some doubts in how far this library is future save. In it I am overwriting the defaultobject. Basically all the library does is adding some attributes to this objects and some of its decendents. Now, if a future version of the standard library that originally defined defaultobject changes the definition of it (for example by simply addig some stuff), what would happen? Would my library become incompatible with that version? If yes, is there a better way of handling that? Or shall I just state in the library documentation to which versions of which other libraries it's compatible?