Artículo
|
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.
En los ficheos de tipo “lang-....-.inc.php” será donde tengamos los textos que mostraremos en cada idioma. Contendrán algo como lo siguiente:
En el archivo que mostrará al usuario la información, es donde hacemos la llamada a la clase que cargará el archivo de idioma.
Como véis, la idea es muy buena, y nos puede ser muy útil para nuestras aplicaciones.
Vía: Ribosomatic
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 |
|
|
Comentarios
Últimas noticias
· factura
Últimos artículos














































