Evilnapsis

Programming, Hacking and More

Web Development

Crear Paginas Web Multi-idioma de Manera Facil con PHP

Vamos a crear una pagina web multi-idioma de manera facil con PHP.

Una pagina multi-idioma es muy útil para aquellos contenidos que queremos compartir con diferentes países, este ejemplo sirve con 2 o mas idiomas y sin usar bases de datos.

Bueno vamos a empezar.

Lo que haremos sera usar un array asociativo.

Código

Les dejo el código en un gist.


<!– Powered by http://evilnapsis.com/ –>
<?php
$lang = "es";
if(isset($_GET["lang"]) && $_GET["lang"]!=""){
if($_GET["lang"]=="en" || $_GET["lang"]=="es"){
$lang = $_GET["lang"];
}
}
$frases = array(
"es"=>array(
"frase1"=>"Bienvenido!",
"frase2"=>"Este micro sitio web es multi-idioma",
"frase3"=>"Servicios",
"frase4"=>"Los mejores servicios para ti"
),
"en"=>array(
"frase1"=>"Welcome!",
"frase2"=>"This micro website is multi-language",
"frase3"=>"Services",
"frase4"=>"The best services for you"
)
);
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<p><a href="paginax.php?lang=es">Espa~ol</a> <a href="paginax.php?lang=en">Ingles</a></p>
<h1><?php echo $frases[$lang]["frase1"]; ?></h1>
<p class="lead"><?php echo $frases[$lang]["frase2"]; ?></p>
<h2><?php echo $frases[$lang]["frase3"]; ?></h2>
<p ><?php echo $frases[$lang]["frase4"]; ?></p>
</body>
</html>

view raw

multi-lang.php

hosted with ❤ by GitHub

No olviden seguirme en github https://github.com/evilnapsis/

Explicación

En la linea 3 definimos la variable $lang con el valor “es” como default.

En las lineas 5-9 verificamos que este definido la variable $_GET[“lang”] con los valores “es” o “en”, en caso de no estar definido, usamos la opción por default definida en la linea 2.

En la linea 6 podemos agregar otros idiomas y en la linea 7 se asignara el prefijo correspondiente en la variable $lang.

El prefijo que usemos en $_GET[“lang”] o $lang sera usado en el array de frases mas adelante.

En las lineas 11-25 definimos el array de frases, este es un array especial dividido en 2 o mas partes dependiendo de los idiomas que se vallan a manejar, en mi caso son 2.

Las secciones son “es” y “en”, cada sección debe tener el mismo numero de frases contenidas dentro de otro array asociado a la opción correspondiente al ejemplo.

Esto sirve para que al hacer el cambio de opción de idioma nos va a devolver la frase correspondiente al otro idioma.

Por ejemplo frase1 en espa~ol seria $frases[“es”][“frase1”] y en ingles seria $frases[“en”][“frase1”].

Mas adelante en lugar de usar manualmente las palabras “en” o “es” usaremos el valor de la variable $lang.

En la linea 33 agregamos unos enlaces para cambiar el idioma de la pagina.

En las lineas 34-37 hacemos uso de las frases y las colocamos dentro de etiquetas HTML para darle sentido a la pagina web.

Resultado

No olvides compartir y suscribirte al blog.

Agustin Ramos

Desarrollador de Software

Leave a Reply