Localización en Java (I): El caso de StupidZombie

Bueno, ya trabajando en la versión 1.1 de StupidZombie. En este caso una de las cosas que dejé fuera de la versión 1.0 fué el soporte del lenguaje Español.

Si el usuario ya tiene a su sistema operativo con localización en Español entonces no hay problema, sin embargo ¿que pasa si no es así? Pienso resolver eso permitiendo al usuario agregar esto como una propiedad más en la interfaz gráfica de SZ:

package com.stupidzombie.ping;

import java.util.Locale;


/**
 * Manages the access to the StupidZombie localized resources
 * @author undead@stupidzombie.com
 */
public class LocaleManager {

	private static PreferenceManager pref;
	
	private LocaleManager() {
		// EMPTY
	}
	
	/**
	 * Return the desired locale. First check user preferences and if not there check system default.
	 * Once the a locale is found make it the default locale and return it. 
	 * @return locale
	 */
	public static Locale getZombieLocale(String variant) {
		pref = new PreferenceManager();
		String languaje = pref.getPref().get("languaje", System.getProperty("user.language", "en"));
		String country = pref.getPref().get("country", System.getProperty("user.region", "US"));
		Locale.setDefault(new Locale(languaje, country, variant == null? "": variant));
		return Locale.getDefault();
	}	
}

La idea es buscar en las preferencias (PreferenceManager es una clase que escribí la cual maneja las preferencias de SZ), si no está allí entonces revizar las propiedades del sistema y si hay nada definido entonces agregamos valores por omisión.

Usandolo desde Java:

	static {
		BUNDLE = 
			ResourceBundle.getBundle(StupidZombieGui.class.getName(), LocaleManager.getZombieLocale(null));
	}

Por ahora si usted quiere compilar el código y ver como trabaja puede llamar al programa de la siguiente manera:

java -jar -Duser.languaje=es -Duser.region=VE StupidZombie.jar

Por cierto, para todos aquellos lectores que tienen hijos, ¡feliz día del padre (adelantadas) :)!

Veneblogs: , , , ,

Blogalaxia: , , , ,

To2Blogs: , , , ,

Technorati: , , , ,

Del.icio.us: , , , ,

3 thoughts on “Localización en Java (I): El caso de StupidZombie

  1. Pingback: Bitacoras.com

Comments are closed.