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 Votes: 0 - Answers: 4 - Views: 18 Share on: Google Facebook Twitter LinkedIn LinkAnswers:
-
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
