Creo que saber el país por IP o similar puede ser algo complejo.
Yo no me complicaría y utilizaría una sesión (o cookie) para que quede fijado el idioma que haya elegido el usuario.
Esta cookie queda en el cliente (usuario) de forma que en la próxima visita ya sabes el idioma que ha escogido y le redireccionas al subdominio correspondiente.
Ejemplo en ASP
Código codigo de ejemplo:
Ver original' ** Si es la primera visita fija el español por defecto **
if session("sIdioma") = "" then
session("iIdioma") = 1
session("sIdioma") = "es"
end if
' ** Si cambia de idioma **
if request("idioma") = "es" then
session("iIdioma") = 1
session("sIdioma") = "es"
elseif request("idioma") = "en" then
session("iIdioma") = 2
session("sIdioma") = "en"
end if
En el index llamas a esta función y haces la redirección correspondiente en función del valor
session("iIdioma").
Espero te sirva de orientación.