Como puedo traducir mi web?

Iniciado por Skeletron, 21 Febrero 2010, 05:09 AM

0 Miembros y 1 Visitante están viendo este tema.

Skeletron

Hola gente..
Hoy se me planteó la idea de traducir mi web a unos cuantos idiomas.. Portugues, Ingles, Italiano, Frances, Aleman, (español por defecto)...
A la web la estoy haciendo con PHP y HTML...
He hecho lo siguiente:
Al precionar click sobre la bandera del pais que quieres traducir la web, te dirije a la web: www.xxxx.com?i=es
"i" de IDIOMA... y el "ES" es de ESPAÑA... digamos que con ese link, quiero la web es ESPAÑOL...
Yo puedo traducir manualmente toda la web, porque es muy poco texto... Pero... tendré que hacer un IF y analizar el GET cada vez que quiera imprimir un texto?  :-\  :o

Alguien aporta alguna idea?

jdc

si no usaras mysql pues sip

$idioma = $_GET'i'];

if ($idioma = 'es'){
//español
}
elseif ($idioma = 'en'){
//idioma ingles
}
elseif ($idioma = 'al'){
//idioma Aleman
}
else{
//mete un puto idioma valido
}
?>

Si no es mucho texto, por ejemplo:



titulo

Contenido



Pues en la condicion podrias incluir un archivo lang/es.php o en.php o al.php

en donde tendria que ser algo asi:

ejemplo de es.php

Código (php) [Seleccionar]

<?php
$titulo 
'titulo';
$contenido 'Contenido';
?>



y la pagina

Código (php) [Seleccionar]

include(''lang/'.$i.'\''); //no creo que funcione asi este super include pero revisalo tu
echo '
<h1>'.$titulo.'</h1>
<br />
<em>'.$contenido.'</em>';
?>


Es una idea.

Saludos, aps guarda en una cookie la seleccion del usuario para que no deba seleccionar cada vez la banderita

Nakp

Ojo por ojo, y el mundo acabará ciego.

Skeletron

Cita de: ‭ en 21 Febrero 2010, 05:43 AM
si no usaras mysql pues sip

$idioma = $_GET'i'];

if ($idioma = 'es'){
//español
}
elseif ($idioma = 'en'){
//idioma ingles
}
elseif ($idioma = 'al'){
//idioma Aleman
}
else{
//mete un puto idioma valido
}
?>

Si no es mucho texto, por ejemplo:



titulo

Contenido



Pues en la condicion podrias incluir un archivo lang/es.php o en.php o al.php

en donde tendria que ser algo asi:

ejemplo de es.php

Código (php) [Seleccionar]

<?php
$titulo 
'titulo';
$contenido 'Contenido';
?>



y la pagina

Código (php) [Seleccionar]

include(''lang/'.$i.'\''); //no creo que funcione asi este super include pero revisalo tu
echo '
<h1>'.$titulo.'</h1>
<br />
<em>'.$contenido.'</em>';
?>


Es una idea.

Saludos, aps guarda en una cookie la seleccion del usuario para que no deba seleccionar cada vez la banderita
El problema, es que es bastante codigo como para hacer todo eso :/

Cita de: Nakp en 21 Febrero 2010, 06:08 AM
y si usas google translate? xD

No.. Es todo JAVASCRIP y AJAX... Y por ende, Google no indexará la traduccion.

KrossPock

Se podria hacer un switch case que te redireccione a la web traduccida al idioma tambien...


Filibustero de bolsillo

Es verdad, sabes?, es mucho código, porque estaba buscando sobre eso justamente, encontré varias cosas, pero toca dar muchas vueltas, y la mayoría era poco práctico, y a la larga lo más fácil era usar simplemente Google Translate (en mi caso)... ¿no te animas a usar smarty? de pronto un sistema de plantillas y un fichero que guarde todas las variables de traducción, como WHMCS que al ser cifrado, tuvieron que usar ese método... lo que pasaría es que tendrías que reestructurar la web de todas maneras...

Absence makes the heart grow fonder.

Skeletron

Es un quilombo... terrible quilombo...

pato_pato_pato

He visto sitios multilenguaje y por lo menos todos estos utilizan arrays de lenguajes...

$espanol['insertar-url']="Ingrese una URL válida";
$ingles['insertar-url']="Type a valid URL";

luego para traducir hacemos index.php?idioma=es

leemos el valor con $_GET[] y seteamos una cookie con que este usuario eligio dicho idioma, luego seleccionamos que array corresponde para printear el HTML que el usuario verá ^^ si idioma = es entonces se utilizará la array $espanol con todos sus textos en español.

PD: Que hace acá vo KrossPock? xD (soy pato)
No se rian de mi firma...

KrossPock

Cita de: pato_pato_pato en 21 Febrero 2010, 22:57 PM
PD: Que hace acá vo KrossPock? xD (soy pato)

No me digas! no me di cuenta con ese avatar y ese nombre aparte de la firma xDDD. Nose... en ha todos son tan h4x0r que nadie tiene que preguntar algo xD y en Re postean, pero leo todos los post en 1 min y despues me aburro xD, asi que ando por aca tambien... tengo qe encontrar algo mas que hacer aparte de leer post xDDD


gasparbelandria

hola skeletor, esta es mi primera entrada en este foro, espero poder ayudarte, mira... si la cantidad de texto a traducir es corta puedes valerte de arreglos, pero si es un portal completo yo recomiendo que uses Poedit, yo acabo de escribir un documento bien completo sobre como cambiar idioma en mi blog, puede chekear:

http://gasparbelandria.blogspot.com/2010/02/cambiar-idioma_24.html

Poedit es una herramienta muy buena y super facil de usar, si necesitas ayuda me envias un mensaje, saludos..