Tema: Combo box
Ver Mensaje Individual
  #6 (permalink)  
Antiguo 26/08/2012, 05:18
pistonasos
 
Fecha de Ingreso: julio-2009
Ubicación: La Plata
Mensajes: 233
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: Combo box

Ya que usan JS, ¿porqué recargar la página?. No se si sería muy costosa mi idea, pero podría usar DOM, un array asosiativo para la traducción de cada elemento HTML y aplicar el idioma a los elementos con un bucle "clave in array" a travéz del evento onchange en el select.
Esto daría menos peso al servidor, y no habría que recargar la web, pero no sería la mejor idea en caso de que algún dia se quiera extender el soporte de lenguajes ya que sería mucho peso del lado del cliente.

Un ej:
Código Javascript:
Ver original
  1. Idiomas=
  2.  {
  3.     ingles:
  4.          {
  5.                accesorios:"Accesories",
  6.                aplicaciones:"Applications",
  7.                galeria:"Galery"
  8.         }
  9.     espanol:
  10.         {
  11.                accesorios:"Accesorios",
  12.                aplicaciones:"Aplicaciones",
  13.                galeria:"Galería"
  14.         }
  15. }
  16. function cIdioma(idioma)
  17. {
  18.    for(clave in Idiomas[idioma])
  19.    {
  20.        document.getElementByID(clave).innerHTML=Idiomas[idioma][clave];
  21.    }
  22. }
Código HTML:
Ver original
  1. <select onchange="cIdioma(this.options[this.selectedIndex].value)">
  2.   <option value="espanol">Español</option>
  3.   <option value="ingles">English</option>
  4. <div>
  5.   <ul>
  6.     <li><a href="#" id="accesorios">Accesorios</a></li>
  7.     <li><a href="#" id="aplicaciones">Aplicaciones</a></li>
  8.     <li><a href="#" id="galeria">Galería</a></li>
  9.   </ul>
  10. </div>

Aunque ahora que lo pienso no se conservaría el idioma al recargar/cambiar la página, al menos que utilices cookies.
Puse texto en los li para que no afecte al SEO, aunque sí afectaría negativamente al SEO inglés, ya que por defecto la web estaría en español, o en el idioma en el que escribas los <li></li>.
Bueno, de todas formas,tenés una opción más.
Salu2