Added language selection middleware, clientside still needs tweaking.