Un petit codi extret de cryptimg de viciao2k3 per a gestionar els idiomes d’una pàgina web amb PHP.
<?php
if($_GET['lang']){
$dir = 'lang/'.strtoupper($_GET['lang']).'.php';
if(!file_exists($dir))
$lang = 'ES'; //Si no existeix posem l'idioma per defecte
else{
setcookie('cryptimg',strtoupper($_GET['lang']),(time()+3600*24*30)); //Si existeix, guardem l'idioma en una galeta
$lang = strtoupper($_GET['lang']);
}
}else
$lang='ES';
$dir = 'lang/'.$lang.'.php';
require_once($dir);
?>
Per a fer les crides a les cadenes de text, es fan amb constants:
<?php echo TXT_SLOGAN;?> <?php define(TXT_SLOGAN,'Oculta mensajes en imagenes'); ?>
Problemes: en realitat això sembla que anirà creant galetes cada cop que accedim a la pàgina i canviem l’idioma, perquè no comprova si la galeta està definida. Per tant, s’hauria de definir un if per si existeix la galeta i definir-lo a $dir amb la variable $_COOKIE["cryptimg"];, i si no comprovar $_GET['lang']. Es pot automatitzar segons l’idioma del navegador.
Actualització: Ho he comprovat i en realitat no va creant galetes, sinó que la modifica. setcookie() comprova si la galeta existeix i la modifica, i si no existeix la crea, així de simple. Per tant, no hi ha problemes, només es podria automatitzar amb l’idioma del navegador. El que veig que tampoc fa és comprovar si existeix la galeta…