Im un hobbycoder que está tratando de construir su primer sitio MultilangualPHP detección de idioma
utilizo este pedazo de código para detectar el lenguaje usuarios. Si no has elegido un idioma que incluirá el archivo de lenguaje basado en HTTP_ACCEPT_LANGUAGE no sé donde se obtiene de Tho ..
session_start();
if (!isset($_SESSION['lang'])) {
$_SESSION['lang'] = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
}
elseif (isset($_GET['setLang']) && $_GET['setLang'] == 'en') $_SESSION['lang'] = "en";
elseif (isset($_GET['setLang']) && $_GET['setLang'] == 'sv') $_SESSION['lang'] = "sv";
elseif (isset($_GET['setLang']) && $_GET['setLang'] == 'pl') $_SESSION['lang'] = "pl";
elseif (isset($_GET['setLang']) && $_GET['setLang'] == 'fr') $_SESSION['lang'] = "fr";
include('languages/'.$_SESSION['lang'].'.php');
Funciona para mí, e incluye el archivo lang esmalte. ¿Pero es este código exacto? ¿¿O hay otra manera?? ¿Cómo crees que YouTube hace esto, por ejemplo?
Sería grandioso si algunos ingleses, franceses, suecos o polacos pudieran visitar mi sitio y ver si incluye el archivo correcto. Así que sé que no funciona para mí :) http://jorm.homeftp.org/
De todos modos, ¿crees que podría mejorar mi código? ¡se verá desordenado a medida que agrego más idiomas con todos los demás!
Gracias
¿Qué pasa si el encabezado es 'Aceptar Idioma: fr; q = 0, en' o algo por el estilo? – eisberg