Nueva pregunta

Pregunta:

Fecha: 26-05-2015 08:33:08 (En Español)

¿Cómo puedo hacer una página de dos o más idiomas[Resuelta]

Saludos quisiera saber en un ejemplo o una tutorial como hacer una pagina de varios idiomas si necesidad de un plugins porque la mayoria son traducciones muy reboticas y poco entendibles, saben a lo que me refiero y gracias por su ayuda Etiquetas: Internacionalización - PHP - Pregunta - Web Votos: 0 - Respuestas: 4 - Vistas: 18 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 27-05-2015 06:44:33 Yo tambien quisiera saber una forma mas natural de traducirlo, solo comento para tener feedback de las respuestas   Votos: 0 - Link respuesta
     
  • Fecha: 27-05-2015 13:49:13 MVC, un diccionario (.txt, .json, Sql) y sesiones con php, tambien se usar la api de google aunque no es muy eficiente en la traduccion   Votos: 1 - Link respuesta
     
  • Fecha: 28-05-2015 17:59:02 estas utilizando algun framework como laravel x ejemplo?   Votos: 0 - Link respuesta
     
  • Fecha: 29-05-2015 07:39:59 Para algo muy sencillo y no muy grande puedes utilizar la vieja solución de arreglos asociativos.
    Te explico un poco para que me entiendas.
    1. Para cada idioma a seleccionar creas un archivo php (eng, spa, ita, etc).
    2. El contenido de ese archivo devuelve un arreglo asociativo como el siguiente:

    //Archivo de idioma español
    //spa.php
    return array(
    'texto1' => 'Traducción 1',
    'tituloPrincipal' => 'Bienvenido',
    'menuOption3' => 'Contáctanos',
    );
    


    3. En el código de tu template tendrías algo así:

    <html>
    <body>
    <h1><?php echo $translation['tituloPrincipal']; ?></h1>
    <ul>
    <li><?php echo $translation['menuOption3']; ?></li>
    </ul>
    <p><?php echo $translation['texto1']; ?></p>
    </body>
    </html>

    3. En tu archivo php que mande a llamar a la vista/template cargas la traducción en base a tu variable de sesión o parametro deseado (GET, POST, etc)

    $language = $_GET['language'];
    //Asumiendo que en el query string mandaste este valor: language=spa
    if(!in_array($language, array('spa', 'eng','ita'))){
        throw new Exception('translation not supported');
    }
    $translation = require_once("{$language}.php");
    
    //Pasas la variable a tu template engine o pones tu código
    //Ejemplo burdo:
    
    echo <<< HTML
    <html>
    <body>
    <h1><?php echo $translation['tituloPrincipal']; ?></h1>
    <ul>
    <li><?php echo $translation['menuOption3']; ?></li>
    </ul>
    <p><?php echo $translation['texto1']; ?></p>
    </body>
    </html>
    
    HTML;
    
    


    Es muy sencillo de implementar y funciona siempre. Si está usando un framework entonces mejor utiliza el mecanismo que el mismo implemente.

    Saludos
      Votos: 1 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com