Foros Programación Cliente

Web en dos idiomas

9 9 Respuestas Martes 14 de octubre, 2008
Hola!

Tengo una página web que en root (directorio principal) tiene 2 carpetas: "esp" y "eng". En cada una de ellas está la misma página, en la carpeta "esp" está en idioma español y en "eng" esta traducida al inglés.

Lo que quiero es que cuando uno entre a la dirección:
www.tipotype.com (todavía no esta subida) vaya directamente a: www.tipotype.com/esp/index.html

Sin tener que redirecciónar, para que no demore tanto en cargar.

Gracias!
Fercho

PD: Por si quieren ver un adelanto de la página:
TipoType

Se aceptan críticas constructivas :)
Registrado desde 14/10/08
Número de posts: 17
  • Avatar de kemie kemie Registrado desde 06/04/04 / Número de posts: 673
    uy, se ve linda!
    si redireccionas con htaccess no deberia de demorar mucho, no?
    Publicado hace 3 años
  • Avatar de Fercho Fercho Registrado desde 14/10/08 / Número de posts: 17
    Gracias!

    Lo probaré, es que antes la estaba redireccionando con el siguiente código:

    META HTTP-EQUIV=REFRESH CONTENT="0; URL=http://www.tipotype.com/prueba/esp/index.html"

    y demoraba unos segundos...
    Saludos
    Publicado hace 3 años
  • Avatar de cbp cbp Registrado desde 18/11/03 / Número de posts: 4007
    ¿en función de qué criterio envías al usuario a la versión en castellano o en inglés?
    Publicado hace 3 años
  • Avatar de markshock markshock Registrado desde 21/03/05 / Número de posts: 780
    Como dice cbp, que criterio usas.. por que lo suyo sería capturar la config de idioma del usuario y a partir de ahí hacerle la redirección, o sencillamente todos van de entrada a ESP...?
    Desarrollo web, servicios integrales en internet

    Work: http://www.estadoactivo.com
    Yo: http://www.marctorres.es
    Blog: http://www.marc-torres.com
    Publicado hace 3 años
  • Avatar de Fercho Fercho Registrado desde 14/10/08 / Número de posts: 17
    Yo había pensado que de primera vaya a la página de español,

    si el usuario habla inglés que luego cambie el idioma.

    Gracias
    Publicado hace 3 años
  • Avatar de cbp cbp Registrado desde 18/11/03 / Número de posts: 4007
    creo que lo mejor es detectar qué idioma es el preferido según los que tenga definidos en el navegador, y en función de eso redirigir a la versión correspondiente. el código PHP, que iría en el index.php, es este:


    $idiomas = explode(",",strtolower( $_SERVER["HTTP_ACCEPT_LANGUAGE"] ));
    $numeroIdiomas = count($idiomas);
    for ($i=0;$i<$numeroIdiomas;$i++) {
    $idiomaUsuario = substr($idiomas[$i],0,2);
    switch ($idiomaUsuario) {
    // comprobamos si el navegador está en castellano
    case "es":
    $idioma = 'esp';
    $i = $numeroIdiomas;
    break;
    // comprobamos si el navegador está en inglés
    case "en":
    $idioma = 'eng';
    $i = $numeroIdiomas;
    break;
    default:
    $idioma = 'esp';
    break;
    }
    }

    /* redirigimos en función del idioma asignado */
    header("location:/prueba/".$idioma."/index.html");


    p.d.: perdón por el sangrado, en la edición sale bien pero no en la visualización
    Publicado hace 3 años
  • Avatar de Fercho Fercho Registrado desde 14/10/08 / Número de posts: 17
    Muchas gracias :D

    Cuando esté online la publico para que la vean.
    Publicado hace 3 años
  • Avatar de Fercho Fercho Registrado desde 14/10/08 / Número de posts: 17
    Funciona bárbaro... para la gente que quiera hacer esto, les muestro como quedó mi Index.php final:
    * Nota hay que poner este código entre paréntesis recto: script language="php" y cierra con: /script


    $idiomas = explode(",",strtolower( $_SERVER["HTTP_ACCEPT_LANGUAGE"] ));
    $numeroIdiomas = count($idiomas);
    for ($i=0;$i<$numeroIdiomas;$i++) {
    $idiomaUsuario = substr($idiomas[$i],0,2);
    switch ($idiomaUsuario) {

    // comprobamos si el navegador está en castellano
    case "es":
    $idioma = 'esp';
    $i = $numeroIdiomas;
    break;

    // comprobamos si el navegador está en inglés
    case "en":
    $idioma = 'eng';
    $i = $numeroIdiomas;
    break;

    // por defecto dejamos el idioma castellano
    default:
    $idioma = 'esp';
    break;
    }
    }

    /* redirigimos en función del idioma asignado */
    header("location:/prueba/".$idioma."/index.html");
    Publicado hace 3 años
  • Avatar de eRNieB eRNieB Registrado desde 10/08/06 / Número de posts: 920
    Fercho, pinta bien este proyecto. Ya avisaras cuando este on-line.

    ¡AH! Ya de paso, gracias por la solución aportada cbp (y posteriormente fercho): va directo a favoritos, porque nunca sabes cuando vas a tener que tirar de una solución de este tipo, y creo que es el mejor planteamiento para una web en varios idiomas.
    Saludos,
    eRNieB | www.ex7.org - www.h2omagazine.com
    Publicado hace 3 años