Foros del Web » Programando para Internet » PHP »

Simple pagina multilenguaje con PHP

Estas en el tema de Simple pagina multilenguaje con PHP en el foro de PHP en Foros del Web. Hola, este es mi primer post y la verdad es que no soy muy bueno con PHP, pero tengo básicamente este código pensado para hacer ...
  #1 (permalink)  
Antiguo 07/05/2014, 19:10
 
Fecha de Ingreso: mayo-2014
Ubicación: Bogota/Sogamoso
Mensajes: 2
Antigüedad: 9 años, 11 meses
Puntos: 0
Exclamación Simple pagina multilenguaje con PHP

Hola, este es mi primer post y la verdad es que no soy muy bueno con PHP, pero tengo básicamente este código pensado para hacer de la manera mas fácil una pagina multilingue, el problema es que no funciona como debería, alguna idea

<?php
$lang="es";
?>
<html>
<head></head>
<body>
<?php
if ($lang=="es"){
echo"Hola, esta pagina esta en español. change to <a href=index.php?lang=en>English</a>";
}
else{
echo"Hi, this page is in english. cambiar a <a href=index.php?lang=es>Español</a>";
}
?>
</body>
</html>
  #2 (permalink)  
Antiguo 07/05/2014, 20:19
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 1 mes
Puntos: 1146
Respuesta: Simple pagina multilenguaje con PHP

Código PHP:
Ver original
  1. $lang = isset($_GET['lang'])?$_GET['lang']:'es'; // esta linea reemplaza a -> $lang="es";

si vas a usar mas de 2 idiomas deberias utilizar switch en lugar de if
  #3 (permalink)  
Antiguo 08/05/2014, 02:08
Avatar de supercoco79  
Fecha de Ingreso: octubre-2012
Ubicación: Islas Canarias
Mensajes: 115
Antigüedad: 11 años, 6 meses
Puntos: 35
Respuesta: Simple pagina multilenguaje con PHP

Hola kAoi97,

Creo que lo primero que deberías plantearte es cómo vas a detectar con tu código el idioma que ha seleccionado el usuario. Dependiendo de lo que escojas, tu programación será diferente.

Observando tu código y el post anterior de Arturo, él te sugiere que utilices el array superglobal $_GET para detectar el idioma a través de la query string. De esta forma, teniendo por ejemplo la página example.com?lang=es, sabrías que el idioma seleccionado es el español.

La forma anterior funciona perfectamente, pero a mí personalmente no me gusta por una sencilla razón. Si tu página está en diferentes idiomas, imagino que estarás interesado en que los motores de búsqueda indexen tus páginas en todos ellos. Para ello deberás utilizar una url diferente para cada uno. El uso de query string es perfectamente válido para esto, pero no es lo recomendable.

Lo mejor de cara al SEO sería que utilizaras subdominios diferentes, como por ejemplo es.example.com o en.example.com, o bien el uso de subcarpetas, example.com/es o example.com/en. También tienes la opción de usar diferentes index.php, como example.com/index.es.php o example.com/index.en.php

En cuanto a tu código, (imagino que es un código de prueba), no veo ningún error significativo y debería funcionar. ¿Podrías por favor decirnos que mensaje de error te sale?
__________________
Yesterday was the only easy day. Deportes de aventura
  #4 (permalink)  
Antiguo 05/06/2014, 11:49
 
Fecha de Ingreso: mayo-2014
Ubicación: Bogota/Sogamoso
Mensajes: 2
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Simple pagina multilenguaje con PHP

Gracias por al ayuda, realmente funciona; ahora nescesito que me ayuden con un problma que surgio luego, y que la verdad debe tener una solución muy basica; y es que al navegar por las difernetes "paginas.php" se pierde la eleccion de idioma. Entonces mi pregunta es que posibilidades hay de crear una cookie para guardar la eleccion, o que metodo mas podria funcionar?

Gracias

Etiquetas: lenguaje
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 08:05.