maikelnait escribió:¿cómo podría mostrar la web en un idioma o en otro dependiendo del país del visitante?
Con PHP se puede hacer para depender del idioma del navegador (mejor que por el país), pero hace falta estructurar la web. Todos los textos deberían ser variables y deberían estar almacenados en diferentes archivos, uno para todos los textos en español, otro para todos los textos en inglés, etc...
Este es el código que detecta el idioma del navegadory hace un include del archivo con los textos en ese idioma.
if(isset($HTTP_ACCEPT_LANGUAGE))
{
$lang = substr($HTTP_ACCEPT_LANGUAGE, 0, 2);
}else{
$lang = 'es';
}
switch($lang){
case "es":
require_once(INCLUDES . '/idiomas/es_cuerpo.php');
break;
case "ca":
require_once(INCLUDES . '/idiomas/ca_cuerpo.php');
break;
case "gl":
require_once(INCLUDES . '/idiomas/gl_cuerpo.php');
break;
case "eu":
require_once(INCLUDES . '/idiomas/eu_cuerpo.php');
break;
case "en":
require_once(INCLUDES . '/idiomas/en_cuerpo.php');
break;
default:
require_once(INCLUDES . '/idiomas/es_cuerpo.php');
break;
}
este es el código que iría dentro de cada archivo de idiomas:
Español<?php
//[0-9]*
define('T_1_2_DIAS', 'De 1 a 2 días');
//A
define('T_ACEPTO_CONDICIONES', 'Acepto condiciones legales (<a target="_blank" href="/aviso-legal" onclick="window.open("/aviso-legal"); return false;">ver aviso legal</a>)');
define('T_ACTIVIDAD_FISICA_CABECERA', 'Actividad física y Deporte');
define('T_ACTUALIZAR_CUENTA', 'Actualizar la información de su cuenta');
?>
Inglés<?php
//[0-9]*
define('T_1_2_DIAS', '1 or 2 days');
//A
define('T_ACEPTO_CONDICIONES', 'Yes, I have read and accept the legal notice and privacy policy of diazdesantos.es. See the (<a target="_blank" href="/aviso-legal" onclick="window.open("/aviso-legal"); return false;">legal notice</a></a>');
define('T_ACTIVIDAD_FISICA_CABECERA', 'Phisic activity and sports');
define('T_ACTUALIZAR_CUENTA', 'Update your account data.');
?>
(podrías añadir todos los idiomas que quisieras)
Y en las páginas, los textos deberían ir asi:
<div>
<?php echo T_ACEPTO_CONDICIONES; ?>
</div>
No se si me he explicado bien.
Saludos!