Internacionalización en Java usando UTF-8

Publicado en Java el 23 de October, 2009 por Fran. (1 comentario)

Una de las bondades de Java es que trae un montón de clases que hacen de todo, incluso internacionalización, es decir, poder traducir nuestra aplicación para que se muestre en el idioma adecuado para el usuario.

Si alguna vez habéis necesitado internacionalizar en Java, os habréis encontrado con la clase ResourceBundle, esta clase permite la traducción a partir de un archivo tipo properties (que se basa en líneas campo = valor).

Lo malo es que Java trata estos archivos properties utilizando la codificación ISO-8859-1, de modo que si utilizas un archivo properties guardado en UTF-8 algunos símbolos (por ejemplo: la eñe) se mostrarán de forma incorrecta. Para solucionar este problema, se debe usar el siguiente truco:

import java.io.UnsupportedEncodingException;
import java.util.ResourceBundle;

public class UTFi18n {

    // Messages es el nombre del archivo que contiene los mensajes traducidos
    private ResourceBundle messages =  ResourceBundle.getBundle ("Messages");

    public static String getMessage (String message) {

        String value = messages.getString (message);
        String ret;

        try {
            // Hack to manage properties files using UTF-8
            ret = new String (value.getBytes ("ISO-8859-1"), "UTF-8");

        } catch (UnsupportedEncodingException encEx) {
            ret = value;
        }

        return ret;
    }
}

Basado en Quick and Dirty Hack for UTF-8 Support in ResourceBundle de Thoughts About.

Los problemas de la clase JSObject

Publicado en Java, JavaScript el 19 de October, 2009 por Fran. (2 comentarios)

Como los applets se ejecutan dentro de una página web, se creó un mecanismo (llamado LiveConnect) para comunicarse con el navegador mediante JavaScript, es decir, poder ejecutar JavaScript desde el applet.

Este mecanismo ofrece una clase llamada JSObject que permite realizar la comunicación del applet a JavaScript, esta clase se localiza en el paquete netscape.javascript.

Lo malo es que esta clase tiene varios problemas y fallos relacionados que no vienen documentados en ningún sitio, sólo en algunas páginas de gente que ha conseguido averiguarlos por su cuenta.

Leer el resto »

Truco para que APT no instale paquetes recomendados

Publicado en Debian, Recursos el 12 de October, 2009 por Fran. (Sin comentarios)

Pongo aquí un pequeño truco (más que un truco es un archivo de configuración) para que APT no instale los paquetes recomendados por otro, suele pasar que hay paquetes que recomiendan instalar servidores de correo y, obviamente, no quiero tener un servidor de correo en muchos de mis ordenadores.

# echo 'APT::Install-Recommends "0";' > /etc/apt/apt.conf.d/90recommends

Sacado de Checklist for configuring a Debian system.

En and.roid.es sortean un HTC Magic

Publicado en Noticias el 10 de October, 2009 por Fran. (3 comentarios)

La web de and.roid.es cumple un año y para celebrarlo, van a sortear un HTC Magic de Vodafone. Para participar en el concurso sólo tienes que escribir un post como éste con la palabra Android enlazando a su web y escribir un comentario en la noticia del concurso.

De todos modos, si no te ha quedado claro siempre puedes leer las bases del sorteo.

The cathedral and the bazaar

Publicado en Libros el 7 de October, 2009 por Fran. (Sin comentarios)

The cathedral and the bazaarThe cathedral and the bazaar (web) lo tenía pendiente de leer desde hacía bastante tiempo, el libro está formado por varios ensayos sobre el software libre. El autor del libro es Eric S. Raymond, que es una de las personas más conocidas dentro del movimiento del software libre.

Los ensayos se escribieron hace bastante tiempo, pero para cualquier persona afín al software libre le servirán para conocer la historia de este movimiento y las ideas que hay detrás de él.

Por poner un ejemplo de lo que trata el libro, en uno de los ensayos se cuenta cuando Netscape liberó el código de su navegador (creando Mozilla) casi paso a paso, y cómo crearon una fuerte campaña publicitaria para atraer a toda la gente que pudieran.

El libro se divide en cinco ensayos:

  • A Brief History of Hackerdom (Una breve historia de los hackers)
  • The Cathedral and the Bazaar (La catedral y el bazaar)
  • Homesteading the Noosphere (Cultivando la noósfera)
  • The Magic Cauldron (El caldero mágico)
  • The Revenge of the Hackers (La venganza de los hackers)

Además, existen unos cuantos apéndices.

El libro te lo puedes bajar de la página web o leerlo desde ella, además existen traducciones de los ensayos en varios idiomas (incluyendo el español), pero también lo puedes comprar en formato físico (yo lo tengo así).

Recomendación: Alta.
Nivel: Ninguno.
Idioma: Inglés (aunque existe traducción al español).