Foros del Web » Programando para Internet » PHP »

Como traducir web con PHP, usando Cookies?

Estas en el tema de Como traducir web con PHP, usando Cookies? en el foro de PHP en Foros del Web. Hola a todos... Me gustaria saber si alguien me podria explicar como hago para traducir una web con PHP usando cookies, o sea, que tenga ...
  #1 (permalink)  
Antiguo 27/11/2008, 17:30
 
Fecha de Ingreso: noviembre-2008
Mensajes: 67
Antigüedad: 15 años, 4 meses
Puntos: 0
Como traducir web con PHP, usando Cookies?

Hola a todos... Me gustaria saber si alguien me podria explicar como hago para traducir una web con PHP usando cookies, o sea, que tenga una opcion para elegir idioma, y cuando eligen cierto idioma, se guarda en un cookie cosa q la proxima vez que entren, este puesto el lenguaje que habia elegido antes el usuario.
Yo antes tenia un codigo que usaba, pero era para una pagina muy simple, ahora es algo grande lo que estoy haciendo y necesito hacerlo con cookies...

Es solo para idoma Español e Ingles. Talvez mas adelante le ponga mas... jeje...

Este es el script que yo usaba antes, talves se le puede agregar algo mas para que quede como yo kiero, o sino me tiran otro que udes crean que es mejor...

Código PHP:
<?php
/* LENGUAJE */

$lang $_GET['lang'];

// Este seria el predeterminado
if(!isset($lang)){
    include(
"lang/es.php");
}

if(
$lang == "es"){
    include(
"lang/es.php");
}
else if(
$lang == "en"){
    include(
"lang/en.php");
}
?>
y en los archivos es.php y en.php tenia las traducciones asi: por ej.

en: es.php
Código PHP:
<?php
$text
['00'] = 'Bienvenido al sitio!';
$text['01'] = 'Como tradusco la web?';
$text['02'] = 'Gracias a todos por particiar';
$text['03'] = 'Chau!';
?>
y en: en.php
Código PHP:
<?php
$text
['00'] = 'Welcome to the site!';
$text['01'] = 'How may I translate the web?';
$text['02'] = 'Thanks to everyone for participating!';
$text['03'] = 'Bye!';
?>
Alguien que la tenga clara me dice si a esto se le puede agregar algo para q kede en cookies o me ayuda a armar uno como el que pido?

gracias y saludos.
  #2 (permalink)  
Antiguo 27/11/2008, 18:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Como traducir web con PHP, usando Cookies?

Hola thepancher,

Mira en el Manual de PHP, tienes que usar el array $_COOKIES para leerlas y usar setcookie para establecer las cookies.

Saludos.
  #3 (permalink)  
Antiguo 27/11/2008, 18:16
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: Como traducir web con PHP, usando Cookies?

Hola
aquí te dejo espero te sirva.

Bodigo php COOKIE
Código PHP:
<?php
$idiomaActual 
'es'
// Si se ha seleccionado un idioma se guarda 
// una cookie con el idioma 
if(isset($_GET['idioma'])){ 
  
setcookie ("idioma"$_GET['idioma'], time () + 7*24*60*60); 
  
$idiomaActual $_GET['idioma']; 

elseif(isset(
$_COOKIE['idioma'])){ 
// Miri que exista el archivo del idioma 
  
if(file_exists("lang/".$_COOKIE['idioma'].".php")){ 
    
$idiomaActual $_COOKIE['idioma']; 
  } 
//incluye la carpeta (lang) donde estan los file php en y es etc.
include($_SERVER['DOCUMENT_ROOT']."/lang/".$idiomaActual.".php"); 
?>
pagina del idioma Español

Código PHP:
<?php
//Pagina>>>>>>>>>>es.php
//Pagina en Español
$selcion_idioma=array(
'seleccion'=>'Seleccione:',
'txt_idiomas' => 'idioma',
'txt_espanol'=>'Español',
'txt_ingles'=>'Ingles',
);
DEFINE('actual',' Idioma Autual: Es');
$mas_op'????? ES';
?>
Pagina del Idioma Ingles

Código PHP:
<?php
//Pagina>>>>>>>>>>en.php
//Pagina en Ingles
$selcion_idioma= array(
'seleccion'=>' Select: ',
'txt_idiomas' => 'language',
'txt_espanol'=>'Spanish',
'txt_ingles'=>'English',
);
DEFINE('actual',' Current language: En');
$mas_op'????? EN';
?>
HTML codigo
Código PHP:
<?php
echo $selcion_idioma['seleccion'];?>  
<select onChange="document.location = '<?php echo $_SERVER['PHP_SELF'];?>?idioma=' + this.value" /> 
<option><?php echo $selcion_idioma['txt_idiomas'];?>  
<option value="es" /> <?php echo $selcion_idioma['txt_espanol'];?>  
<option value="en" /> <?php echo $selcion_idioma['txt_ingles'];?> 
</select><?php echo actual;?>
------------------FIN
  #4 (permalink)  
Antiguo 27/11/2008, 18:34
 
Fecha de Ingreso: noviembre-2008
Mensajes: 67
Antigüedad: 15 años, 4 meses
Puntos: 0
De acuerdo Respuesta: Como traducir web con PHP, usando Cookies?

Muchas gracias GatorV y thezzin por el script, voy a probar el script y leere en php.net para ir aprendiendo..

saludos!
  #5 (permalink)  
Antiguo 04/12/2008, 21:30
 
Fecha de Ingreso: noviembre-2008
Mensajes: 67
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Traducir con PHP, como establesco un predeterminado [Ayuda]

Bueno, posteo de nuevo porque no encuentro el tema en el cual yo habia pedido un script para traducir con php usando cookies...

No me acuerdo bien quien me lo paso... Pero creo q si ven el tema el q me lo io se va a dar cuenta...

Resulta que yo tengo los siguientes scripts para traducir mi web: Español e Ingles.

tengo un archivo: lang.inc.php

Código PHP:
<?php

/*--Get-Language-------------------------------------------*/
$CurrentLanguage $_GET['lang'];

if(isset(
$_GET['lang'])){
    
setcookie("lang"$_GET['lang'], time() + 7*24*60*60);
    
$CurrentLanguage $_GET['lang'];
}
else if(isset(
$_COOKIE['lang'])){
    if(
file_exists("lang"$_COOKIE['lang'] .".php")){
        
$CurrentLanguage $_COOKIE['lang'];
    }
}

include(
$_SERVER['DOCUMENT_ROOT'] ."/kf/lang/"$CurrentLanguage .".php");

?>
Archivo de traducciones al español: es.php
Código PHP:
<?php

/*--Spanish-Texts-Translation------------------------------*/
$Text = array(
'0000' => 'Seleccione idioma:',
'0001' => 'Espa&ntilde;ol',
'0002' => 'Ingl&eacute;s'
);

$Lang 'Idioma actual: Espa&ntilde;ol (ARG)';

?>
en.php
Código PHP:
<?php

/*--English-Texts-Translation------------------------------*/
$Text = array(
'0000' => 'Select language:',
'0001' => 'Spanish',
'0002' => 'English',
);

$Lang 'Current language: English (UK)';

?>
Y el archivo donde esta el HTML para elegir el idioma: index.php

Código HTML:
 <p><?php echo $Text['0000'] ?></p>  
		<p><select onChange="document.location = '<?php echo $_SERVER['PHP_SELF'] ?>?lang=' + this.value">
		<option selected>&nbsp;</option>
		<option value="es"><?php echo $Text['0001'] ?></option>  
		<option value="en"><?php echo $Text['0002'] ?></option>
		</select></p>
		<p><?php echo $Lang ?></p> 
Pero cuando entro como 'index.php' normalmente, me salta error, ya que no hay ninguno definido...

que le tengo q agregar para establecer un idioma predeterminado, o sea: q cuando el usuario entre, si no hay cookie y si no hay lenguaje definido, que utilize uno como predeterminado, supongamos el es.php

Como hago? Yo probe haciendo esto al archivo: lang.inc.php pero no paso nada...

Código PHP:
<?php

/*--Get-Language-------------------------------------------*/
$CurrentLanguage $_GET['lang'];

if(isset(
$_GET['lang'])){
    
setcookie("lang"$_GET['lang'], time() + 7*24*60*60);
    
$CurrentLanguage $_GET['lang'];
}
else if(isset(
$_COOKIE['lang'])){
    if(
file_exists("lang"$_COOKIE['lang'] .".php")){
        
$CurrentLanguage $_COOKIE['lang'];
    }
}
// le agregue esto y no tira error, pero no funciona... 
else if(!isset($_GET['lang']) && !isset($_COOKIE['lang'])){
    
$CurrentLanguage 'es';
}

include(
$_SERVER['DOCUMENT_ROOT'] ."/kf/lang/"$CurrentLanguage .".php");

?>
soy mas o menos nuevo en PHP asi ke espero que me ayuden...

Saludos! Y al que me dio el script, gracias! (No me acuerdo quien es ya que no encontre el Post donde me lo dio, y el buscar no me anduvo, me salto un error de memoria xD)
  #6 (permalink)  
Antiguo 04/12/2008, 21:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Como traducir web con PHP, usando Cookies?

Temas unidos, por favor no dupliques temas.
  #7 (permalink)  
Antiguo 04/12/2008, 21:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Como traducir web con PHP, usando Cookies?

¿Y por qué en lugar de colocar esa última condicional no colocas directamente el idioma predeterminado al principio? A lo que me refiero es que en lugar de esto en el principio:
Código php:
Ver original
  1. $CurrentLanguage = $_GET['lang'];
Coloques:
Código php:
Ver original
  1. $CurrentLanguage = "es";
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 04/12/2008, 21:49
 
Fecha de Ingreso: noviembre-2008
Mensajes: 67
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Como traducir web con PHP, usando Cookies?

Gracias, es que no encontraba el tema. No hice doble post a proposito porke se q no es agradable... E intente usar 'Search' en el Foro pero me tira un Error de memoria del servidor, si puedo la proxima te lo muestro... gracias por mandarlo al frente... Y disculpas GatorV...

Y gracias David xD Sabes que lo habia probado eso y no me enduvo... Pero ahora anda.
pasa que se ve que tenia algun error tonto como el no cerrar con ; o algo asi... Gracias!
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 12:57.