New question

Question:

Date: 26-05-2015 08:33:08 (In Spanish)

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

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 Tags: Internationalization - PHP - Question - Web Votes: 0 - Answers: 4 - Views: 18 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 27-05-2015 06:44:33 Yo tambien quisiera saber una forma mas natural de traducirlo, solo comento para tener feedback de las respuestas   Votes: 0 - Link answer
     
  • Date: 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   Votes: 1 - Link answer
     
  • Date: 28-05-2015 17:59:02 estas utilizando algun framework como laravel x ejemplo?   Votes: 0 - Link answer
     
  • Date: 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
      Votes: 1 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In
 
frjcbbae garagebible.com