entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Página Bilingüe, alguna librería, etc..

Buenas, estoy haciendo una página web con php y me gustaría saber si existe alguna librería php o algo para poder hacerla bilingüe.

Por defecto está en Español y quiero también la posibilidad de que esté en Inglés.

Espero vuestras respuestas, gracias!

2 Respuestas

1voto

Leonardo-Tadei Puntos227320

Hola Daniel,

PHP incluye de serie la función gettext() para dar soporte a páginas multilingües. Se basa en la configuración del idioma del servidor, pero la misma se puede determinar programáticamente para usar una arbitraria.

<?php
// Configurar idioma en español de Argentina
putenv('LC_ALL=es_AR');
setlocale(LC_ALL, 'es_AR');
// Especifica la ubicación de la tabla de traducciones
bindtextdomain("myPHPApp", "./locale");
// Seleccionar dominio
textdomain("myPHPApp");
// Ahora las traducciones se encuentran en ./locale/es_AR/LC_MESSAGES/myPHPApp.mo
// Imprimir un mensaje de prueba
echo gettext("Hello World!");
?>

Y la salida por pantalla será "Hola Che!", que es como está traducido "Hello World!" ;-)

La ventaja de este mecanismo es que los archivos de idioma pueden ser escritos y traducidos por gente que no sepa programar y además hay varios editores de archivos .mo para usar en múltiples plataformas. El traductos no puede romper nada.

Otro mecanismo es tener los diferentes archivos de idioma en XML y leer el nodo que te hace falta con SimpleXML, pero ahí el traductor puede romper la estructura del XML y falla todo.

Otra más simple todavía pero más peligrosa es tener un archivo con constantes por cada idioma, y que tu código cargue el archivo del idioma correspondiente y muestre el valor de la constante. Este es más peligroso, porque además de romper el softwaer también pueden incluir líneas de código.

Dependerá de tu proyecto y de quienes traduzcan cual usar. Yo ordené de arriba a abajo las mejores, pero el orden de dificultad de implementanción es justamente el inverso ;-)

Saludos!

0voto

danielreales7 comentado

Muchas gracias Leonardo, conocía la última opción y era la que tenía pensado plantear pero viendo la primera opción indagaré haber como utilizo eso.

Muchas gracias por tu respesta!

1voto

jabixo Puntos1580

Hola, puedes utilizar la tecnología que te ofrece google translator, es lo más rápido y efectivo y lo puedes integrar a la web fácilmente.

El enlace:
https://translate.google.com/manager/website/

Un saludo!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta