Trend finding and hierarchical text clustering

I have a lot of titles of articles and news. So basically a lot of short texts (5, 6 words). for example:

- Hurricane Irma causes devastation in the Caribbean
- The secret of the world’s rarest silk
- Pupils wearing 'wrong trousers' sent home from school

What I want to do is to cluster them hierarchically into different groups and then label the clusters appropriately based on the text in the group, to not have cluster_1, cluster_2.

And finally give a rating to each cluster from being top story/trend to "not very important".

An ideal result would be to have top clusters like sport, politic, etc. and then in them to have sub-clusters of trend titles about Trump or Roger Federer. (if there are a lot of titles about Trump or Federer in the input.)

I have tried k-means from scikit-learn in python, carrot2, and knime tool; but no brilliant results yet. Maybe because the texts are mainly in German.

Any help and enlightening is appreciated.