Autor Tema: Cambio de Idiomas en una pagina!  (Leído 1939 veces)

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Cambio de Idiomas en una pagina!
« en: 01 de Agosto de 2007, 02:26:14 am »
Buenas,

Haber si os gusta el mismo script pero con el código mejorado y empezado de 0 por mí.
Index.php
<?php

$default 
"es";

if(!isSet(
$_GET["lang"]) && !isSet($_COOKIE["lang"])) {
include(
"lng/{$default}.php");
} else {

if(isSet(
$_COOKIE["lang"])) {
include(
"lng/{$_COOKIE["lang"]}.php");
} else {
include(
"lng/{$_GET["lang"]}.php");
}

}

echo 
_welcome " " _sitename "<br>";
echo 
_howyou;
if(isSet(
$_COOKIE["visit"])) {
setcookie("visit",0,time()+9999999999);
echo 
_visitnew;
} else {
setcookie("visit",$_COOKIE[&#39;visit&#39;]+1,time()+9999999999);
echo _visitold;
}

?>

chlng.php Cambiar Lengua vía COOKIE
<?

$languages 
= array(
"Español" => "es",
"English" => "en"
); // Poniendo en practica lo nuevo aprendido con array... ajajjaja

if(isSet($_POST["change"])) {
$language $_POST["lang"];
setcookie ("lang",$language,time()+9999999999);
header("location: index.php");
} else {
?>
<form action="<?=$_SERVER["PHP_SELF"];?>" method="POST">
Lenguage: <select name="lang">
<?
foreach($languages as $nlang => $vlang) {
print 
"<option value=\"{$vlang}\"> {$nlang} </option>";
}
?>
</select>
</form>
<?
}
?>


Dentro de la carpeta lang...

es.php Idioma español
<?php
define
("_welcome","Bienvenido a");
define("_sitename","PHPEros");
define("_howyou","¿Cómo está?");
define("_visitnew","Esta es su primera visita, gracias por visitarnos.");
define("_visitold","Gracias por volver a visitarnos, está es la <b>{$_COOKIE["visit"]}</b> vez que nos visita, muchísimas gracias!");
?>

en.php English Language (Idioma Inglés)
<?php
define
("_welcome","Welcome to");
define("_sitename","PHPEros");
define("_howyou","How are you?");
define("_visitnew","This is your first visit in this site, thank you.");
define("_visitold","Thanks to return to visit us, is is <b> {$_COOKIE [“visit”]} </b> time that visits us, thanks!");
?>


Utilización:


· Index.php: Se muestran los datos y se graban las cookies de visita, se peude cambiar de idioma vía COOKIE o vía GET (?lang=es, ?lang=en, etc...)
· chlng.php: Permite cambiar de lenguaje vía COOKIE, para tenerlo ya predifinido.
· lng/es.php Define el idioma español
· lng/en.php Define el idioma inglés

Espero que os sirva.

Saludos :)
Sin Firma me haces una? :P

Comunidad PHPeros

Cambio de Idiomas en una pagina!
« en: 01 de Agosto de 2007, 02:26:14 am »

Desconectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Cambio de Idiomas en una pagina!
« Respuesta #1 en: 01 de Agosto de 2007, 12:36:44 pm »
Perfecto, y lo mejor es que está muy bien explicado.
karma +
Por favor, leete las Normas


Desconectado mOrK

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 1.503
  • Karma: 43
  • :)
    • Ver Perfil
    • Sígueme en Twitter!
Re: Cambio de Idiomas en una pagina!
« Respuesta #2 en: 01 de Agosto de 2007, 13:27:31 pm »
setcookie ("lang",$language,time()+9999999999);

Puede estar separada la funcion de su contenido? Si os fijais, hay un espacio

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re: Cambio de Idiomas en una pagina!
« Respuesta #3 en: 01 de Agosto de 2007, 13:39:42 pm »
Buenas,

Que yo sepa si puede, pero sino funciona lo corrijo en un momento :P

Saludos :)
Sin Firma me haces una? :P

Desconectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: Cambio de Idiomas en una pagina!
« Respuesta #4 en: 01 de Agosto de 2007, 13:44:13 pm »
Si puede... mientras este en la misma linea, creo que no hay problema.
Por favor, leete las Normas


Desconectado mOrK

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 1.503
  • Karma: 43
  • :)
    • Ver Perfil
    • Sígueme en Twitter!
Re: Cambio de Idiomas en una pagina!
« Respuesta #5 en: 01 de Agosto de 2007, 14:05:03 pm »
De acuerdo :)

Desconectado kalash

  • PHPerit@
  • *
  • Mensajes: 32
  • Karma: 0
    • Ver Perfil
Re: Cambio de Idiomas en una pagina!
« Respuesta #6 en: 22 de Agosto de 2007, 17:25:16 pm »
y si quiero cambiar es una imagen???? aqui les muestro mi codigo pero hay una imagen q es necesario cambiarla junto al cambio de idioma

Código: [Seleccionar]
<?php
session_start
();
if(!isset(
$_POST[&#39;idioma&#39;])) {
if(!isset($_SESSION[&#39;lang&#39;])) {
$_SESSION[&#39;lang&#39;] = "es";

} else {
$_SESSION[&#39;lang&#39;] = $_POST[&#39;idioma&#39;];

//  <---- esta funcion

include("lang/".$_SESSION[&#39;lang&#39;].".php");

/*
if(file_exists("lang/".$lang.".php")) {
include("lang/".$lang.".php");
} else {
include("lang/es.php");
}*/
?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Bienvenido a VIVOphone</title>
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
</style>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>

</head>

<body>
<table width="900" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="981" align="right" valign="top">
 
 <form action="" method="POST">
   <select name="idioma" onChange="this.form.submit();">
<option value="nada" SELECTED><?=_CONTENT_LGN;?></option>
<option value="en">English</option>
<option value="es">Español</option>
</select>
 </form>


    </td>
    <td width="180" height="10" align="right" valign="top"><a href="#"  class="a">
      <?=_CONTENT_MENUHEADERHELP;?>
    </a> | <a href="#" class="a">
    <?=_CONTENT_MENUHEADERCONTACT;?>
    </a></td>
    <td width="3%" rowspan="2" align="right" valign="top"></td>
        <td width="18%" rowspan="2"><img src="header_files/images/header1.jpg" width="159" height="75" /></td>
      </tr>
      <tr>
        <td align="right" valign="top" class="a"></td>
  </tr>
      <tr>
        <td height="7" colspan="4"><img src="header_files/images/header.jpg" width="900" height="7" /></td>
        </tr>
      <tr>
        <td height="7" colspan="4"><table width="900" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="811" height="37" align="center" valign="middle" background="header_files/images/header2.jpg"><table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td width="137">&nbsp;</td>
                  <td width="71" align="center" class="a"><a href="#">
                    <?=_MENU_VPITEM1;?>
                  </a></td>
                  <td width="83" align="center"><a href="#">
                    <?=_VPITEM2;?>
                  </a></td>
                  <td width="80" align="center"><a href="#">
                    <?=_VPITEM3;?>
                  </a></td>
                  <td width="114" align="center"><a href="#">
                    <?=_VPITEM4;?>
                  </a></td>
                  <td width="73" align="center"><a href="#">
                    <?=_VPITEM5;?>
                  </a></td>
                  <td width="77" align="center"><a href="#">
                    <?=_VPITEM6;?>
                  </a></td>
                  <td width="88" align="center"><a href="#">
                    <?=_VPITEM7;?>
                  </a></td>
                  <td width="88" align="center">&nbsp;</td>
                </tr>
            </table></td>
            <td><img src="header_files/images/header3.jpg" width="89" height="37" /></td>
          </tr>
          <tr>
            <td height="7" colspan="2" background="header_files/images/header_07.jpg"></td>
          </tr>
        </table></td>
      </tr>
    </table>
</body>
</td></html>
« Última modificación: 22 de Agosto de 2007, 17:30:10 pm por kalash »

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re: Cambio de Idiomas en una pagina!
« Respuesta #7 en: 23 de Agosto de 2007, 18:16:08 pm »
Buenas,

En el que hice yo hace tiempo sería...

En el chlng.php -> Buscar esto:
Citar
<form action="<?=$_SERVER["PHP_SELF"];?>" method="POST">
Lenguage: <select name="lang">
<?
foreach($languages as $nlang => $vlang) {
print "<option value=\"{$vlang}\"> {$nlang} </option>";
}
?>
</select>
</form>

Y reemplazarlo por esto:

<?
foreach(
$languages as $nlang => $vlang) {
print 
"<a href=\"index.php?lng={$vlang}\"><img src=\"imagenes/banderas/{$vlang}.gif\" boder=\"0\" alt=\"{$nlang}\"></a>";
}
?>


Espero que te sirva.

Saludos :)
Sin Firma me haces una? :P