Hola, tambien puedes detectar el idioma del cliente con $_SERVER["HTTP_ACCEPT_LANGUAGE"] y crear unos if con los idiomas que tengas en tu sitio web, yo en mi caso he usado alguna vez este codigo.
Código PHP:
$dectectar = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"] , 0, 2);
if($dectectar == "en"){
include("lang/en.php");
$idioma = "en";
}else{
include("lang/es.php");
$idioma = "es";
}
Tambien una vez generado el idioma del cliente puede guardala en un cookie y verificar la proxima vez si al cookie existe no llamar al codigo o si es diferente a la actual.
Espero haberte ayudado!!