Support for output in different languages

Seperates language-specific features from the basic logic and adds support for german-language output (my first pull request, I hope you will find the feature useful :-))