Foros del Web » Programando para Internet » PHP »

Página en varios idiomas PHP

Estas en el tema de Página en varios idiomas PHP en el foro de PHP en Foros del Web. Buenas, Una de las páginas que estoy realizando ha de estar en 3 o 4 idiomas. Me preguntaba cual es el modo habitual de hacerlo. ...
  #1 (permalink)  
Antiguo 29/12/2010, 07:10
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Página en varios idiomas PHP

Buenas,

Una de las páginas que estoy realizando ha de estar en 3 o 4 idiomas.
Me preguntaba cual es el modo habitual de hacerlo.

He estado fijándome en la forma en la que lo implementan los foros SMF, que es la siguiente:

Crean tantos ficheros .php como idiomas haya (english.php, spanish.php, german.php)
Y luego en cada fichero crean un array de dos valores:

spanish.php contiene por ejemplo:
$txt['hello'] = 'Hola';
english.php
$txt['hello'] = 'Hello';
german.php
$txt['hello'] = 'Hallo';
Luego, dependiendo del idoma elegido por el usuario, cargan un fichero u otro (english.php, spanish.php o german.php) (supongo que a través de un include)

Y siempre que haya que mostrar texto por pantalla se hará a través del array $txt:

Código PHP:
echo $txt['hello'] . 'Juan!!!'
¿Qué opináis? ¿Es correcto?
  #2 (permalink)  
Antiguo 29/12/2010, 07:30
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Página en varios idiomas PHP

Correcto esta, encontrarás muchas opiniones sobre esto... oscommerce por ejemplo usa DEFINE('TEXT_USER','que tal usuario?')...

Y tiene un fichero para cada idioma y dentro la sección, por ejemplo... contact.php con los define para esa sección...

Un saludo!
  #3 (permalink)  
Antiguo 29/12/2010, 07:35
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 6 meses
Puntos: 10
Respuesta: Página en varios idiomas PHP

Yo lo hago con bases de datos, pero uso el mismo sistema. Pongo una variable "LANG", y despues en la BD, pongo un campo con una id única, un campo en castellano, y otro en inglés, y después a la hora de mostrarlo, hago 'SELECT lang_'.$LANG.' WHERE id="hello"'.

Es decir, hago exactamente lo mismo que SMF (nunca me había mirado su código fuente) pero con bds.

Saludos!
__________________
Buscando ideas para proyectos....

Esperando a tener 18 años....
  #4 (permalink)  
Antiguo 29/12/2010, 07:40
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Página en varios idiomas PHP

Cita:
Iniciado por markmb Ver Mensaje
Yo lo hago con bases de datos, pero uso el mismo sistema. Pongo una variable "LANG", y despues en la BD, pongo un campo con una id única, un campo en castellano, y otro en inglés, y después a la hora de mostrarlo, hago 'SELECT lang_'.$LANG.' WHERE id="hello"'.

Es decir, hago exactamente lo mismo que SMF (nunca me había mirado su código fuente) pero con bds.

Saludos!
Esta bien con una base de datos, pero yo soy de los que intenta consumir los mínimos recursos posibles, y entre un archivo local para las palabras más habituales y que menos cambiarán, y una conexión a la BBDD, después la consulta... etc prefiero un archivo local..

Un saludo!

Etiquetas: idiomas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:09.