Foros del Web » Programando para Internet » PHP »

que os parece esto para hacer la web en otro idioma

Estas en el tema de que os parece esto para hacer la web en otro idioma en el foro de PHP en Foros del Web. Hola muy buenas, quiero hacer una pagina en otro idioma, yo las palabras tanto en español como en ingles, van a estar en una base ...
  #1 (permalink)  
Antiguo 16/02/2011, 14:14
Avatar de gachon  
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 19 años, 8 meses
Puntos: 3
que os parece esto para hacer la web en otro idioma

Hola muy buenas, quiero hacer una pagina en otro idioma, yo las palabras tanto en español como en ingles, van a estar en una base de datos que va a poder controlarse desde un panel de control,,, tengo pensado que cuando pinche en la bandera ingles con la variable idioma=en por url llegue a la pagina y donde estenlos datos que quiero mostrar, hago un if
Código PHP:
if($_GET==en){

$registro1=$registro1['row1en'];
$registro2=$registro1['row2en'];
}else{
$registro2=$$registro1['row1es'];
$registro2=$registro1['row2es'];

luego donde quiera mostrar el dato solo tengo que decir $registro1
solo quiero decir que estoy obligado ha hacerlo por base de datos ya que el cliente debe cambiarlo por el panel de control...

que os parece este metodo esta bien,, hay otro metodo menos laborioso por base de datos
  #2 (permalink)  
Antiguo 16/02/2011, 14:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: que os parece esto para hacer la web en otro idioma

en lugar de nombrar columnas para identificar los idiomas, sería mas conveniente crear varias tablas de idéntica estructura, pero dicho nombre es el que identificaría el idioma!!
Cita:
tbl_contenido_es
tbl_contenido_en
mucho mas sencillo que andar comparando por columnas, y demás trucos chinos... simplemente la elección de dicho idioma se hace una ves, al momento de seleccionar la tabla de la BD...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/02/2011, 14:55
Avatar de gachon  
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 19 años, 8 meses
Puntos: 3
Respuesta: que os parece esto para hacer la web en otro idioma

dios que bueno eres, pues la verdad si que tienes mucha razon,, gracias por las ayudas que me estas dando. eso tiene mucha logica
  #4 (permalink)  
Antiguo 16/02/2011, 15:19
Avatar de gachon  
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 19 años, 8 meses
Puntos: 3
Respuesta: que os parece esto para hacer la web en otro idioma

pero ahora que pienso voy a tener que duplicar todo la administracion de la pagina para hacerla en ingles no??
  #5 (permalink)  
Antiguo 16/02/2011, 15:22
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: que os parece esto para hacer la web en otro idioma

Osea que si quieres agregar "francés", duplicas tu administrador? Y si te piden "portugués"? Otro admin?

La(s) plantilla(s) de tu admin, debe soportar el cambio de idioma. Tan sólo eso.

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #6 (permalink)  
Antiguo 16/02/2011, 15:26
Avatar de gachon  
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 19 años, 8 meses
Puntos: 3
Respuesta: que os parece esto para hacer la web en otro idioma

entoces como lo hago, edito todo la administracion,, y hago lo mismo que si ha pinchado en la bandera de ingles,,,, que lo inserte en la tabla nueva que he creado para el ingles,, con el condicional if como antes???
  #7 (permalink)  
Antiguo 16/02/2011, 15:29
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: que os parece esto para hacer la web en otro idioma

Claro, la idea es tan sólo con que piquen en cierto idioma, el sistema entienda que debe mostrar "otras palabras" (técnicamente son otros caracteres) y se actualice.

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #8 (permalink)  
Antiguo 16/02/2011, 15:37
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: que os parece esto para hacer la web en otro idioma

Otra opción es tener dos tablas, algo así:

post(id, created_at, updated_at, is_deleted)
post_translation(id, lang, title, content)

donde lang seria el código del idioma, es en de..., es un poco mas compleja la query para obtener los datos, pero nada del otro mundo.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #9 (permalink)  
Antiguo 16/02/2011, 15:45
Avatar de gachon  
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 19 años, 8 meses
Puntos: 3
Respuesta: que os parece esto para hacer la web en otro idioma

eso si, cada vez que tenga un idioma nuevo tengo que duplicar las tablas, por ejemplos si tengo 7 tablas en la base de datos, tengo que duplicar 7 tablas para cada idiomas,,, pero eso si cada vez que quiera añadir un nuevo idioma, solo tengo que añadir un codicional elseif para que añada en la otra tabla,,, entonces que os parece eso de tener que duplicar las tablas mysql
  #10 (permalink)  
Antiguo 16/02/2011, 15:47
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: que os parece esto para hacer la web en otro idioma

Duplicar tablas para guardar la mismo info, tampoco es lo mejor.

Piensa en el concepto que te da masterpuppet, y no dupliques los admin xD.

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #11 (permalink)  
Antiguo 16/02/2011, 15:48
Avatar de gachon  
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 19 años, 8 meses
Puntos: 3
Respuesta: que os parece esto para hacer la web en otro idioma

pero masterpuppet de donde saco los datos para cada idioma, no lo entiendo bien
  #12 (permalink)  
Antiguo 16/02/2011, 15:56
 
Fecha de Ingreso: febrero-2011
Mensajes: 1
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: que os parece esto para hacer la web en otro idioma

masterpuppet se refiere a esto:
- post(id, created_at, updated_at, is_deleted)
En esta tabla ponés los datos del post que se mantienen igual más allá del idioma (ej: la fecha de publicación, la categoría, etc.)

- post_translation(id, lang, title, content)

En esta otra tabla ponés las traducciones. En "ID" va el identificador del post que estás traduciendo, en "lang" indicás el idioma, y en "title" y "content" va el texto traducido.

No hace falta crear más tablas si se agregan idiomas, sólo hay que insertar en post_translation otro registro con el mismo ID de post pero con otro idioma.
  #13 (permalink)  
Antiguo 16/02/2011, 16:17
Avatar de gachon  
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 19 años, 8 meses
Puntos: 3
Respuesta: que os parece esto para hacer la web en otro idioma

esta bien pensado eso, pero tengo un problema es que la base datos esta planteada, de otra forma y creada, solo hay implementar el ingles, y esta de la siquiente forma,,,
tabla_textos(id,seccion,title_es,title_en,eslogan_ en,eslogan_es...........),,
creo que al final lo voy tener que hacer como pensaba al principio ya que por lo que veo lo duplicar tablas, no es bueno....
que seria asin
Cita:
if($_GET==en){

$registro1=$registro1['row1en'];
$registro2=$registro1['row2en'];
}else{
$registro2=$$registro1['row1es'];
$registro2=$registro1['row2es'];
}
y luego llamarlo
Cita:
$registro
que os parece, para no tener que cambiar toda la base datos,,
  #14 (permalink)  
Antiguo 16/02/2011, 16:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: que os parece esto para hacer la web en otro idioma

Cita:
Iniciado por gachon Ver Mensaje
que os parece, para no tener que cambiar toda la base datos,,
me parece aún mala idea... sin embargo, usar la técnica de base de datos con tablas relacionales es aún mejor que tan solo duplicar tablas, claro que deberían explicar un poco mas del tema...

o bien, indagar al respecto en el foro de base de datos pues ya implicaría diseño de BD y no tanto de php... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

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 18:54.