However I think that one thing is missing before it can satisfy my needs.
I would like to be able to search for the local name of places. For example if a German searches for Munich they will enter München. To account for this you would simply have to add alternatenames to the query. If this is too slow you could search on alternatenames if nothing is matched in the name field.