Categorías destacadas
programacion php    
Artículo
0
¡votar!

 Páginas multi idiomas con PHP

Hoy en día, las aplicaciones webs tienden a llegar al mayor número de usuarios posibles, y esto pasa por poner el contenido en distintos idiomas, para que cada uno, los pueda ver de la forma más cómoda para ellos.

La forma de hacer esto es muy variada, pero hoy hemos visto una clase muy funcional en el blog ribosomatic que os puede ser de gran ayuda para tener un primer contacto.

La idea es muy sencilla, y lo que hace es que dependiendo del lenguaje que se le pase por GET, la aplicación cargará uno fichero u otro de idiomas.

Esta primera clase que os mostramos, es donde se decide el tipo de fichero de idiomas a cargar, dependiendo del idioma seleccionado.
class mylanguage
{
function get_language() 
{
return $this->language;
}
// load language setting 
function load_language($lang) 
{
$default_language="en";
$this->language=$lang;
switch ($this->get_language())
{
case "fa":
require_once 'lang-'.$this->get_language().'.inc.php';
break;
case "en":
require_once 'lang-'.$this->get_language().'.inc.php';
break;
case "tr":
require_once 'lang-'.$this->get_language().'.inc.php';
break;
default:
// default language is 
require_once 'lang-'.$default_language.'.inc.php';
break;
}
}
// end language function loading
}

En los ficheos de tipo “lang-....-.inc.php” será donde tengamos los textos que mostraremos en cada idioma. Contendrán algo como lo siguiente:
define("PROGVIGADS_Class_version","Class Version is :");
define("PROGVIGADS_Version","1.0.0");
define("PROGVIGADS_Welcome","Welcome To my site");
define("PROGVIGADS_location","America");
define("PROGVIGADS_my_location","My location is : ");

En el archivo que mostrará al usuario la información, es donde hacemos la llamada a la clase que cargará el archivo de idioma.
session_start();
// register session to change language
session_register("mylang");
// if session isn't set 
if(!isset($_SESSION['mylang'])) 
{
$_SESSION['mylang']="en";
}
//include language class
require_once 'inc/lang.class.php';
$mylang=new mylanguage();
$mylang->load_language($_SESSION['mylang']);
// echo simple title
echo PROGVIGADS_Welcome."<br/>";
echo PROGVIGADS_my_location.PROGVIGADS_location."<br/>";
echo PROGVIGADS_Class_version.PROGVIGADS_Version;
if(isset($_GET['lang'])) 
{
switch($_GET['lang']) 
{
case "ir":
$_SESSION['mylang']="fa";
break;
case "en":
$_SESSION['mylang']="en";
break;
case "tr":
$_SESSION['mylang']="tr";
break;
}
}
?>
<br />
<a href="index.php?lang=en"><img src="images/us.gif" /></a> | 
<a href="index.php?lang=ir"><img src="images/ir.gif" /> </a>|
<a href="index.php?lang=tr"> <img src="images/tr.gif" /></a><br /> 

Como véis, la idea es muy buena, y nos puede ser muy útil para nuestras aplicaciones.

Vía: Ribosomatic
   
Publicado por:
Angel Carrero
Recomendar
a un amigo
Compartir
en redes
 
Comentarios
 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon