Ver Mensaje Individual
  #9 (permalink)  
Antiguo 24/12/2009, 17:58
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Que manera es la mas adecuada para hacer una web multilenguaje??

Cita:
Iniciado por destor77 Ver Mensaje
yo lo harías mas fácil, o mejor dicho más organizado, creas un archivo es.php y otro en.php
y dentro de ellos definí constantes que se usen en todo el siitio por ejemplo:
es.php
Código PHP:
Ver original
  1. define(MENU_HOME,'Inicio');
  2. define(MENU_SALIR,'Salir');
  3. define(MENU_TRABAJOS,'Trabajos');
  4. define(MENU_CONTACTO,'Contacto');

Y en el en.php pones
Código PHP:
Ver original
  1. define(MENU_HOME,'Home');
  2. define(MENU_SALIR,'Out');
  3. define(MENU_TRABAJOS,'Portfolio');
  4. define(MENU_CONTACTO,'Contact');

y después ya sea con $_SERVER["HTTP_ACCEPT_LANGUAGE"] u otra manera detectas que lenguaje se esta viendo e incluyes el archivo correspondiente al lenguaje por ejemplo
Código PHP:
Ver original
  1. if($_SERVER["HTTP_ACCEPT_LANGUAGE"]!='es'){
  2.      includes('lang/'.$_SERVER["HTTP_ACCEPT_LANGUAGE"].'.php');
  3. }
  4. else{
  5.      includes('lang/es.php');
  6. }
Buenas,

Alguien ha probado si es más rápido (y más óptimo) utilizar arrays en lugar de definir las variables tal y como aparece en el post de arriba?

Ej.

Código PHP:
Ver original
  1. /* === CASTELLANO ===*/
  2.     'es' => array(
  3.         'lang' => '',
  4.         'idioma' => 'Castellano',
  5.        
  6.         /* Secciones */
  7.         'contacta' => 'Contacta con nosotros',
  8.         'aviso_legal' => 'Aviso Legal',
  9.         'mapa_web' => 'Mapa Web',
  10.         'info_corporativa' => 'Información Corporativa',
  11.         'atencion_cliente' => 'Atención al cliente',
  12.     ),
  13.    
  14. /* === INGLES ===*/
  15.     'en' => array(
  16.         'lang' => '?lang=en',
  17.         'idioma' => 'Inglés',
  18.        
  19.         /* Secciones */
  20.         'contacta' => 'Contact Us',
  21.         'aviso_legal' => 'Legal Notice',
  22.         'mapa_web' => 'Sitemap',
  23.         'info_corporativa' => 'Corporate Information',
  24.         'atencion_cliente' => 'Client Attention',
  25. ),

Muchas gracias de antemano!