Yo creo que el hecho de usar multilenguaje en un sitio web puede ser algo muy importante, sobre todo si deseas que tenga bastante repercusión. En Sentido Web ya hay entradas que trata el tema del multi-idioma ya sea mediante Apache o aportando recursos.
Esta vez vamos a hablar sobre un método que nos muestran en PHPBuilder. Se trata de tener varios ficheros para almacenar los textos traducidos, un fichero para cada idioma admitido (en.php, es.php, fr.php, de.php …) en el cual tendremos un array que contendrá código-traducción. En este caso, también hay un array para las imágenes, por si hay botones con texto que son realmente imágenes:
<?php
// Textos a traducir
$dicc['text'] = array (
'welcome' => 'Bienvenidos',
'thanks' => 'Gracias por participar',
...
);
// Imágenes especificas para idiomas
$dicc['imgsrc'] = array (
'title' => 'graphics/title.es.png',
'footer' => 'graphics/footer.es.jpg',
..
);
?>
Ahora solo falta obtener el idioma o asignar uno por defecto, importar el script especÃfico del idioma seleccionado y usarlo.
// Buscamos si el idioma está especificado en la URL
if (isset($_GET['lang'])) {
// Si lo está, lo introducimos en una coockie para tenerlo la próxima vez
$lang = $_GET['lang'];
setcookie('lang', $lang, time()+(3600*24*365));
} else if (isset($_COOKIE['lang'])) {
// Miramos si lo está en una cookie
$lang = $_COOKIE['lang'];
} else {
// Por defecto en inglés
$lang = 'en';
}
// Obtenemos las traducciones
require_once "{$lang}.php"
echo $dicc['text']['welcome'];
Claro, que a parte de un diccionario/traductor se puede usar un directorio especÃfico para cada idioma que contenga el contenido en ese idioma. Por ejemplo en un sitio de noticias no puedes tener un diccionario para introducir todo el texto de la noticia.
Afortunadamente los frameworks actuales como Seagull ya nos ofrencen módulos que nos facilitan esta labor.
Localizing a Web Page for Different Languages
VÃa / dzone
interesante, aunque hay otros fw, quizás, mejores que ci. ejemplo: yii o zend.
salU
A mi personalmente no me gusta Zend, pero para gustos los colores 🙂
Hay muchos frameworks y algunos muy interesantes, como por ejemplo Kohana, basado en CI
Saludos
Yo trabajo con Ci y me parece un buen framework y hasta el momento no he tenido la necesidad de probar o utilizar otro framework.
El hack que mas me interesa es el de prevenir la colisión de nombres entre controladores y modelos.
Cierto, Psycho, lo más interesante para mà también es el hack de las colisiones.
Saludos
interesante, y por cierto no habia notado que sentido web cambio de luck cosa que le sentó de maravilla
Hola khafra.
Si, año nuevo imagen nueva, me alegro de que te haya gustado, total sólo he tardado año y pico en hacerlo jejeje y ya por desesperación lo dejé asÃ, lo de diseñar no es lo mÃo.
Saludos