$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); switch ($lang){ case "fr": //echo "PAGE FR"; include("index_fr.php");//include check session FR break; case "it": //echo "PAGE IT"; include("index_it.php"); break; case "en": //echo "PAGE EN"; include("index_en.php"); break; default: //echo "PAGE EN - Setting Default"; include("index_en.php");//include EN in all other cases of different lang detection break; }
--
Viva KumbiaPHP Framework!
http://www.kumbiaphp.com/
Ha recibido este mensaje porque está suscrito a Grupo "KumbiaPHP Framework" de Grupos de Google.
Para obtener más opciones, visita este grupo en http://groups.google.com/group/kumbia?hl=es.
---
Has recibido este mensaje porque estás suscrito al grupo "KumbiaPHP Framework" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a kumbia+unsubscribe@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
class Lang
{
// tus lenguajes
public static $langs = ['es', 'fr', 'it', 'en'];
public static function select($default = 'es')
{
$lang = Input::server('HTTP_ACCEPT_LANGUAGE');
$lang = substr($lang, 0, 2);
if (in_array($lang, self::$langs) {
return $lang;
}
return $default;
}
}
También sería mejor mirar los siguientes y no solo el primer lenguaje.
en el initialize()
final protected function initialize()
{
define ('LANG', Lang::select());
View::template('template'.LANG);
}
Alli buscará template.es.phtml por ejemplo si fuese es.
Al tenerlo como constante lo puedes usar también en los controllers.
View::response(LANG); eso hace buscar por en views/controlador/action.es.phtml;
es decir puedes tener diferentes views si quieres index.es.phtml, index.en.phtml, ....
no solo para lenguajes
sino para cualquier cosa.
por ejemplo index.xml.phtml, index.csv.phtml
de paso con el View::response() también puedes setear el template.
View::response($sufijo, $template)