Web multilingüe

Me planteo hacer una web en 3 idiomas: Supongamos español, inglés y alemán.

Todo en esta web es exactamente igual en los tres idiomas salvo naturalmente, los textos. Así que vamos a ser organizados desde el principio y no caeremos en aquello de ‘hacer la misma web tres veces’.

Esta simple función devuelve el texto en el idioma correspondiente para cada palabra o cadena de texto solicitada.

<?php
function l($t,$i="es")
	{
	$l = array();
	$l['enviar'] =	array(
					"es"=>"Enviar",
					"en"=>"Send",
					"de"=>"Senden",
					);
	$l['cancelar'] = array(
					"es"=>"Cancelar",
					"en"=>"Cancel",
					"de"=>"Abbrechen",
					);
	$l['despedida'] = array(
					"es"=>"Hasta luego",
					"en"=>"See you later",
					"de"=>"Tschüs",
					);
	return $l[$t][$i];
	}

$i = "de"; // El idioma elegido.
?>
<p><?=l("despedida",$i);?></p>
<input type="submit" value="<?=l("enviar",$i);?>">
<input type="button" value="<?=l("cancelar",$i);?>">

La función l($t,$i) es muy fácil de manejar. Sin complicación podemos incorporar palabras o frases nuevas, o añadir un idioma más. Lo de dar en la función un valor predeterminado a $i es simplemente para tener un idioma por defecto, mientras el usuario no elige el suyo.


Acerca de esta entrada