Ver Mensaje Individual
  #8 (permalink)  
Antiguo 27/07/2008, 18:57
Avatar de nicolyto77
nicolyto77
 
Fecha de Ingreso: marzo-2007
Ubicación: Buenos Aires
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 12
Pregunta Respuesta: Multidioma no funciona al volver a inicio

Holas

Perdon por la antiguedad del mensaje, pero no he podido realizar lo de este articulo.
Resulta que necesito mi web en varios idiomas, entonces, estoy siguiendo esos pasos, aunke no hay caso.

Estoy haciendo una prueba sencilla, para luego adaptarlo a mi Web, y tengo 4 archivos de tests:

/test_index.php
/test_downloads.php
lang/es.php
lang/en.php

En el INDEX tengo esto:

Código PHP:
<?php session_start(); 

if (isset(
$_GET['lang'])) {
    
// el valor que tiene prioridad es el de GET, por eso se asigna de entrada
    
$_SESSION['lang'] = $_GET['lang'];
} elseif ( !isset(
$_SESSION['lang']) ) {
    
// si no tengo la variable GET ni la de sesión, creo la variable de sesión 
    // con el valor por defecto.
    
$_SESSION['lang'] = "es";
}

// para terminar, sin importar el caso, defino $lang con el valor de la variable de sesión
// en este punto podrías quitar la variable $lang y usar siempre $_SESSION['lang']
$lang $_SESSION['lang'];

include( 
'lang/' $lang EX ); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Index</title>
<style type="text/css">
<!--
.Estilo1 {
    color: #FF0000;
    font-weight: bold;
}
-->
</style>
</head>

<body>
<p><a href="<? $_SERVER['PHP_SELF']?>?lang=<?php echo 'es'?>">Español</a> <a href="<?$_SERVER['PHP_SELF']?>?lang=<?php echo 'en'?>">Ingles</a></p>
<p class="Estilo1">Inicio</p>
<p><?=texto("BLOQUEADO",1)?></p>
<p>Entra a tu Panel Gil!</p>
<p>&nbsp;</p>
</body>
</html>
En el Descargas tambien, lo mismo. Solo cambie el BLOQUEADO

Y en uno de los dos idiomas, para no abundar, tengo esto:

Código PHP:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ES</title>
</head>

<body>
<?php
function texto($palabras "hubounerror"$tipo "1"){
    global 
$frase;
    if( !isset(
$frase[$palabras]) || $frase[$palabras] == ""){
        if(
$tipo "1"){
            return 
$palabras;
        }
        else{
            echo 
$palabras;
        }
    }
    else{
        if(
$tipo "1"){
            return 
$frase[$palabras];
        }
        else{
            echo 
$frase[$palabras];
        }
    }
}
$frase['BIENVENIDO'] = "Hola, Bienvenido al sitio";
$frase['BLOQUEADO'] = "¡Su Acceso va a ser Bloqueado!";
$frase['ADMIN'] = "Admin.";
$frase['ADMINISTRACION'] = "Administracion General";
?>
</body>
</html>
La verdad que no me sale, me tira muchos errores, desde el enlace que me dice que no tengo acceso a '/' como tambien antes de pulsarlo, me da estos errores:

Cita:
Notice: Use of undefined constant EX - assumed 'EX' in E:\Archivos de programa\EasyPHP 2.0b1\www\test_index.php on line 16

Warning: include(lang/enEX) [function.include]: failed to open stream: No such file or directory in E:\Archivos de programa\EasyPHP 2.0b1\www\test_index.php on line 16

Warning: include() [function.include]: Failed opening 'lang/enEX' for inclusion (include_path='.;E:/Archivos de programa/EasyPHP 2.0b1\php5\pear\') in E:\Archivos de programa\EasyPHP 2.0b1\www\test_index.php on line 16

Español Ingles

Inicio

Fatal error: Call to undefined function texto() in E:\Archivos de programa\EasyPHP 2.0b1\www\test_index.php on line 35
Espero que me puedan ayudar un poco, para poder lograr con exito esto, ahi estan los 4 archivos que uso, y toda su estrucutura, nada mas que eso

Saludos y Gracias
__________________
CabaSoft Networks