Foros del Web » Programando para Internet » PHP »

Como hacer paginas en otros idiomas?

Estas en el tema de Como hacer paginas en otros idiomas? en el foro de PHP en Foros del Web. Mi duda es como hacer paginas en otros idiomas y que se te redireccione segun tu idioma a la pagina de tu idioma (ingles-->English/index.php......). Porque ...
  #1 (permalink)  
Antiguo 18/08/2005, 00:56
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 18 años, 8 meses
Puntos: 0
Pregunta Como hacer paginas en otros idiomas?

Mi duda es como hacer paginas en otros idiomas y que se te redireccione segun tu idioma a la pagina de tu idioma (ingles-->English/index.php......). Porque con html se tendria q hacer toda al web otra vez y cambiar las palabras... pero lei que en php se puede hacer mas facil, pero no decia como.
Perdon si ya estaba este tema, pero no lo encontre
  #2 (permalink)  
Antiguo 18/08/2005, 01:41
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
aqui tienes dos propuestas

http://www.forosdelweb.com/showpost....8&postcount=18
http://www.forosdelweb.com/showpost....6&postcount=76

Un Saludo
  #3 (permalink)  
Antiguo 18/08/2005, 01:44
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 18 años, 8 meses
Puntos: 0
Ok, eso es para redireccionar a las paginas hechas en otros idiomas, pero como hago la(s) paginas en otros idiomas?
  #4 (permalink)  
Antiguo 18/08/2005, 02:09
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
puesdes hacer dos cosas

o en archivos/directorios separados

o en el mismo archivo guardando una cookie para saber en que idioma esta, o si tu web es modular con una constante

Un Saludo
  #5 (permalink)  
Antiguo 18/08/2005, 02:12
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 18 años, 8 meses
Puntos: 0
Pregunta

Na, no entendiste. En desarrolloweb lei un manual que decia q PHP puede hacer paginas en otros idiomas, cosa q con Html se tendria q hacer toda la web otra vez. Como hago?
  #6 (permalink)  
Antiguo 18/08/2005, 02:20
Avatar de DvD AdN  
Fecha de Ingreso: mayo-2005
Ubicación: Frente al monitor
Mensajes: 610
Antigüedad: 18 años, 11 meses
Puntos: 0
Pues no te queda mas que hacer varias versiones en diferentes idiomas, porque si estas buscando una forma en la que php te traduzca las paginas, no hay....(o eso creo)

Saludos
__________________
Keep f***ing learning
Ask for f***ing help.
Use f***ing spell check.
Think about all the f***ing possibilities.
  #7 (permalink)  
Antiguo 18/08/2005, 03:08
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Bueno, no se si lo que estás preguntando se trata de lo siguiente:

1º Necesitas interactuar con una BD.
2º Tener un fichero de Idiomas
3º Programar en PHP :)

Te voy a poner un ejemplo básico que me invento ahora sobre la marcha, veamos si estuvieramos hablando de noticias podría ser de la siguiente manera:

- Las noticias se almacenan en la base de datos, pero claro, tienes que almacenar la noticia tantas veces como idiomas tengas. Hagamos el supuesto de Castellano e Ingles.

Tabla Noticias:
- ID
- titulo
- noticia
- idioma

Por lo que usaras siempre el fichero noticias.php pasando como parámetro a este fichero el idioma en el que se encuentra el usuario.

- Para saber el idioma en el que se encuentra el usuario, bien puedes jugar con el javascript, cookies o lo que más rabia te de :). La cookie estaría bien para no tener que ver siempre el idioma que quiere en caso de que el usuario tenga que realizar una selección previa del idioma que desea ver en la página.

- El fichero de idiomas podría contener la información gráfica que va a reprensentar el contenido extraido de la BD, es decir:

ejm:

Titulo: El titulo de la noticia

Noticia: el cuerpo de la noticia

En este caso, la información que extraes de la BD es "El titulo de la noticia" y "el cuerpo de la noticia" pero las etiquetas que identifican cada "frase" siempre serán las mismas, por lo que si has cambiado de idioma mostrar las etiquetas en un idioma diferente no sería un resultado adecuado.

El fichero de idiomas puede declarar variables, con el texto que se va a pintar como etiqueta. Ejm:

spanish.php tendría lo siguiente:

$var_titulo="Titulo";
$var_noticia="Noticia";

english.php tendría lo siguiente:

$var_titulo="Title";
$var_noticia="The New";

Por lo que podríamos decir que el fichero noticias.php en ningun momento tendrá texto escrito en etiquetas html, cuando necesite texto lo usara del fichero del idioma que le corresponda en ese momento. Quien está hablando de texto, también podría ser imagenes ya que puede formar parte del diseño una imagen con texto escrita, banderas o lo que sea...

Espero haberme explicado bien aunque si tienes cualquier duda ya sabes, un post y a responder estaremos todos :)

Un saludo.
__________________
www.pensandoenred.com
  #8 (permalink)  
Antiguo 18/08/2005, 03:14
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 18 años, 8 meses
Puntos: 0
De acuerdo

Si era eso!, gracias
  #9 (permalink)  
Antiguo 18/08/2005, 03:24
 
Fecha de Ingreso: julio-2005
Mensajes: 2
Antigüedad: 18 años, 8 meses
Puntos: 0
Si, para los contenidos obviamente tendrás que cargarlos en la base de datos en cada idioma. Para el texto fijo que pongas en la página yo lo que hago es definit una funcioncita (llámala como quieras, txt() la llamo yo) que funciona de la siguiente manera:
- Quieres poner en el HTML la palabra "gusano". Entonces haces, por ejemplo,

<?
include_once("txt.php"); //Donde se define la funcion
?>
<html>
<body>
<?=txt("gusano")?>
</body>
</html>

Entonces la función txt hace lo siguiente:
-recibe automáticamente el idioma que estés usando (mejor por cookie)
-busca en una tabla WORDLIST ( WORDKEY, CODIGO_IDIOMA, TRADUCCION) la palabra, tipo SELECT TRADUCCION FROM WORDLIST WHERE WORDKEY = 'gusano' AND CODIGO_IDIOMA = '3' //Swahili :)
-Si lo encuentra, escribe el texto en Swahili. Si no, escribe 'gusano' en castellano con algo para que sepas que no está traducida a ese idioma (gusano[es], por ejemplo)
-Te haces un administrador y vas traduciendo todas las frases

Y ya está. Es mejor meter wordkeys pequeñitas... que se yo, si vas a escribir la historia de Hungria, no pongas toda la historia de Hungria como wordkey. Pon la clave como txt("Historia_Hungria") y luego asocia a esa clave la parrafada en cada idioma

No se si me he explicao...
  #10 (permalink)  
Antiguo 18/08/2005, 05:42
 
Fecha de Ingreso: junio-2002
Mensajes: 243
Antigüedad: 21 años, 10 meses
Puntos: 1
También pedes usar templates...

yo estoy usando el motor de Nok..

http://www.jpw.com.ar/index.php?lugar=noktpl

Es bastante util el uso de templates pero lleva su tiempo y paciencia...

el codigo php y html está separado....y todas las variables q tengas q poner en el html se ponen de la forma {variable} luego desde el php ya le dices q tiene q ser esa variable y tal...

entonces si haces lo q te han dicho más arriba pues cargas un fichero de idioma segun te convenga...y le asifnas las varaibles...

yo para saber el idioma uso sesiones.

Salu2.
  #11 (permalink)  
Antiguo 20/10/2005, 19:38
Avatar de MoDoRrO  
Fecha de Ingreso: septiembre-2005
Ubicación: Php+Flash+AS
Mensajes: 1.072
Antigüedad: 18 años, 7 meses
Puntos: 12
Bueno, la fortma que yo hago es:

tengo una carpeta llamada Lenguaje
dentro de esta tengo:
spanish.php
english.php

y en el archivo " config.php " (puede ser el ke tu gustes)
tengo la variable
$lang="spanish";
y llamo al lenguaje desde index.php

include ("lenguaje/$lang.php");
y abrira el lenguaje, en este caso: spanish.php
dentro de ese archivo tengo:

define ('_TEXTO',"Bienvenido a Lenguaje español");
si seria english.php seria:
define('_TEXTO'."Welcome to Lenguage english");
y asi definirias todas tus palabras en ambos idiomas, ahora, para el index
solo tendrias que poner en donde vallan tus textos

echo""._TEXTO."";
y diria el texto en ingles ó español...

pd.- tu pagina se llenara de puras variables, pero seria la mejor forma
  #12 (permalink)  
Antiguo 20/10/2005, 20:09
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 18 años, 8 meses
Puntos: 0
Ahora si. Gracias! Eso era lo q necesitaba
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 10:43.