|

Internacionalización mediante PHP

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

links for 2006-10-20

|

Flickr en tu blog mediante PHP

phpFlickr es una librería que hace de intermediaria entre nuestra aplicación web y el API de Flickr. Para poder usarla es necesario, a parte de tener una cuenta de Flickr y esta librería, una base de datos MySQL para el PEAR Caching o acceso de lectura/escritura a sistema de ficheros, script.aculo.us y LightBox JS (bastantes cosas).
Su uso parece bastante sencillo y nos puede facilitar mucho el acceso a las fotos de Flickr, sobre todo si aún somos nuevos en PHP.
Using phpFlickr to Intergrate Flickr Photos on Your Own Site
Using phpFlickr to Create a Ajax Enabled Flickr Slideshow
Vía / Pixel Groovy

Color toy: generador de esquemas de color

Ya hemos hablado en otras ocasiones de aplicaciones que nos ayudan a generar esquemas de colores. Ayer mismo yo necesitaba una, pero por problemas de conexión durante todo el día no pude acceder a ninguna para que me ayudara.
colortoy.png
¿Qué tiene de especial Color Toy?, su sencillez, no tiene rueda de colores, ni puedes elegir si quieres colores análogos o en contraste. Simplemente introduces un color y te da un esquema de colores, rápido y sencillo.
Color Toy
Vía / Infected-FX

links for 2006-10-19

Extension Developer’s Extension: crea extensiones en Firefox

Más claro el nombre no lo puede decir, se trata de una extensión para Firefox que nos facilita la creación de extensiones para Mozilla/Firefox.

  • Entre sus características tenemos:

  • Editor del fichero install.rdf.
  • Shell de Javascript que nos permite experimentar también con XPCOM.
  • Entorno de desarrollo de Javascript, que al igual que la shell tiene privilegios para el chrome.
  • Editor XUL que nos permite modificar XUL en tiempo real.
  • Editor en tiempo real de HTML.
  • JRX, editor en tiempo real de expresiones regulares en Javascript.
  • Interactive XPath Tester, nos permite testear XPath contra un documento XML.
  • Modificar preferencias de debugging.
  • Recargar todos los chrome sin reiniciar, esta es genial ya que es un horror tener que reinciar el Firefox cada vez que quieres hacer pruebas, sobre todo si tienes que poner usuarios/contraseñas de proxys o extensiones cada vez que reinicias.

Extension Developer’s Extension

Vía / dzone

Texturas para tus diseños en Texture King

textureking.pngTexture King es un repositorio de texturas para que las utilices de forma libre en tus diseños ya sea de forma personal o profesional. El que sean libres no quiere decir que tengan licencia Creative Commons, por lo que podemos usarlas, pero no podemos distribuirlas.
Las fotos están divididas por categorías que corresponden al material de la textura, pero no estaría mal que también se pudieran buscar por tags, tipo color, ya que a veces ese tipo de búsquedas nos puede venir muy bien.
Texture King
Vía / menéame

|

‘Bocadillos’ en tu web

Albert Lanchas nos ofrece un script que me ha gustado bastante en el que se muestran ‘bocadillos’ con imágenes dentro. El bocadillo se adapta al tamaño de la imagen y su aspecto se puede cambiar mediante CSS.
bubble.png

Es necesario tener instalado prototype para su funcionamiento, y su uso es bastante sencillo, incluir el script, la librería prototype, la css e incluir la siguiente línea para que funcione:

<a href="imagen.jpg" rel="bubble"><img src="images/bubble.png"/></a>

Yo como unica pega, intentaría hacer la sombra con una imagen png, para poder usar la transparencia que nos ofrece, aunque en IE6 no funcione.

Bubble

Vía / Fresqui

Lista de alternativas a Adsense

Siempre (o casi siempre) que pensamos en publicidad para nuestro blog, pensamos en Google Adsense, pero no es la única posibilidad que tenemos, hay muchas y John Chow se ha trabajado el listarlas y organizarlas por categorías:

Other Advertising Networks Besides Google AdSense

Vía / Digg