Each user is also connected to a language. The problem is that you can not set this automaticly but you could let a user swich language. Note though that to switch inmediately you need to relogin that user, that is the tricky part. But there are some forum post and a blogpost on how to do that.
When creating a user, you can set a locale setting, telling the app where the user is located (timezone, language,...) Is this what you mean?
there is no 100% solution.. browsers can contain multiple languages, ip numbers won't always show the user location, but the location of the ISP