Ver Mensaje Individual
  #5 (permalink)  
Antiguo 21/03/2010, 19:28
ell3er
 
Fecha de Ingreso: diciembre-2006
Ubicación: Peruvian
Mensajes: 142
Antigüedad: 17 años, 4 meses
Puntos: 7
Respuesta: Página web en varios idiomas con PHP

pues yo lo hacia como dices pero solo para webs con poco contenido porque para grandes cantidades de informacion actualizarlo seria tedioso.
para cambiar de idioma lo hacia asi "index.php?lang=nl "
Código PHP:
Ver original
  1. header('Cache-control: private'); // creo que esto era por un bug en IE 6
  2. if(isset($_GET['lang'])){
  3.     $lang = $_GET['lang'];
  4.     //registra sesion
  5.     $_SESSION['lang'] = $lang; 
  6.     //define cookie
  7.     setcookie('lang', $lang, time() + (3600 * 24 * 30));   
  8.     //busca en variables cookie y session
  9. }
  10. else if(isset($_SESSION['lang']))
  11. {
  12.     $lang = $_SESSION['lang'];
  13. }else if(isset($_COOKIE['lang']))
  14. {
  15.     $lang = $_COOKIE['lang'];
  16. }else
  17. {
  18.     $lang = 'en';
  19. }
  20. switch ($lang) {
  21.   case 'en':
  22.   $lang_file = 'en'; /** ingles **/
  23.   break;  
  24.   case 'es':
  25.   $lang_file = 'es'; /** espaniol **/
  26.   break;
  27.   case 'nl':
  28.   $lang_file = 'nl'; /** holandes **/
  29.   break;
  30.   default:
  31.   $lang_file = 'en'; /** Por defecto ingles **/
  32. }
  33. //print_r($_SESSION);
  34. include_once 'lang'.DS.$lang_file.'.php';
Creo que era mas eficiente con arrays asociativos que con constantes saludos