{"id":1900,"date":"2009-06-20T18:49:46","date_gmt":"2009-06-21T01:49:46","guid":{"rendered":"http:\/\/kodegeek.com\/blog\/?p=1900"},"modified":"2009-06-21T17:29:43","modified_gmt":"2009-06-22T00:29:43","slug":"soporte-de-java-en-otros-lenguajes-el-caso-de-stupidzombie","status":"publish","type":"post","link":"http:\/\/kodegeek.com\/blog\/2009\/06\/20\/soporte-de-java-en-otros-lenguajes-el-caso-de-stupidzombie\/","title":{"rendered":"Localizaci\u00f3n en Java (I): El caso de StupidZombie"},"content":{"rendered":"<p>Bueno, ya trabajando en la versi\u00f3n 1.1 de StupidZombie. En este caso una de las cosas que dej\u00e9 fuera de la versi\u00f3n 1.0 fu\u00e9 el soporte del lenguaje Espa\u00f1ol.<\/p>\n<p>Si el usuario ya tiene a su sistema operativo con localizaci\u00f3n en Espa\u00f1ol entonces no hay problema, sin embargo \u00bfque pasa si no es as\u00ed? Pienso resolver eso permitiendo al usuario agregar esto como una propiedad m\u00e1s en la interfaz gr\u00e1fica de SZ:<\/p>\n<pre lang=\"Java\">\r\npackage com.stupidzombie.ping;\r\n\r\nimport java.util.Locale;\r\n\r\n\r\n\/**\r\n * Manages the access to the StupidZombie localized resources\r\n * @author undead@stupidzombie.com\r\n *\/\r\npublic class LocaleManager {\r\n\r\n\tprivate static PreferenceManager pref;\r\n\t\r\n\tprivate LocaleManager() {\r\n\t\t\/\/ EMPTY\r\n\t}\r\n\t\r\n\t\/**\r\n\t * Return the desired locale. First check user preferences and if not there check system default.\r\n\t * Once the a locale is found make it the default locale and return it. \r\n\t * @return locale\r\n\t *\/\r\n\tpublic static Locale getZombieLocale(String variant) {\r\n\t\tpref = new PreferenceManager();\r\n\t\tString languaje = pref.getPref().get(\"languaje\", System.getProperty(\"user.language\", \"en\"));\r\n\t\tString country = pref.getPref().get(\"country\", System.getProperty(\"user.region\", \"US\"));\r\n\t\tLocale.setDefault(new Locale(languaje, country, variant == null? \"\": variant));\r\n\t\treturn Locale.getDefault();\r\n\t}\t\r\n}\r\n<\/pre>\n<p>La idea es buscar en las preferencias (PreferenceManager es una clase que escrib\u00ed la cual maneja las preferencias de SZ), si no est\u00e1 all\u00ed entonces revizar las propiedades del sistema y si hay nada definido entonces agregamos valores por omisi\u00f3n.<\/p>\n<p>Usandolo desde Java:<\/p>\n<pre lang=\"Java\">\r\n\tstatic {\r\n\t\tBUNDLE = \r\n\t\t\tResourceBundle.getBundle(StupidZombieGui.class.getName(), LocaleManager.getZombieLocale(null));\r\n\t}\r\n<\/pre>\n<p>Por ahora si usted quiere compilar el c\u00f3digo y ver como trabaja puede llamar al programa de la siguiente manera:<\/p>\n<pre lang=\"Bash\">\r\njava -jar -Duser.languaje=es -Duser.region=VE StupidZombie.jar\r\n<\/pre>\n<p>Por cierto, para todos aquellos lectores que tienen hijos, \u00a1feliz d\u00eda del padre (adelantadas) :)!<\/p>\n<p>Veneblogs: <a href=\"http:\/\/www.veneblogs.com\/etiquetas\/java\" rel=\"tag\">java<\/a>, <a href=\"http:\/\/www.veneblogs.com\/etiquetas\/stupidzombie\" rel=\"tag\">stupidzombie<\/a>, <a href=\"http:\/\/www.veneblogs.com\/etiquetas\/localized\" rel=\"tag\">localized<\/a>, <a href=\"http:\/\/www.veneblogs.com\/etiquetas\/espa%C3%B1ol\" rel=\"tag\">espa\u00f1ol<\/a>, <a href=\"http:\/\/www.veneblogs.com\/etiquetas\/spanish\" rel=\"tag\">spanish<\/a><br \/>\n<br \/>Blogalaxia: <a href=\"http:\/\/www.blogalaxia.com\/tags\/java\" rel=\"tag\">java<\/a>, <a href=\"http:\/\/www.blogalaxia.com\/tags\/stupidzombie\" rel=\"tag\">stupidzombie<\/a>, <a href=\"http:\/\/www.blogalaxia.com\/tags\/localized\" rel=\"tag\">localized<\/a>, <a href=\"http:\/\/www.blogalaxia.com\/tags\/espa%C3%B1ol\" rel=\"tag\">espa\u00f1ol<\/a>, <a href=\"http:\/\/www.blogalaxia.com\/tags\/spanish\" rel=\"tag\">spanish<\/a><br \/>\n<br \/>To2Blogs: <a href=\"http:\/\/www.to2blogs.com\/tag\/java\" rel=\"tag\">java<\/a>, <a href=\"http:\/\/www.to2blogs.com\/tag\/stupidzombie\" rel=\"tag\">stupidzombie<\/a>, <a href=\"http:\/\/www.to2blogs.com\/tag\/localized\" rel=\"tag\">localized<\/a>, <a href=\"http:\/\/www.to2blogs.com\/tag\/espa%C3%B1ol\" rel=\"tag\">espa\u00f1ol<\/a>, <a href=\"http:\/\/www.to2blogs.com\/tag\/spanish\" rel=\"tag\">spanish<\/a><br \/>\n<br \/>Technorati: <a href=\"http:\/\/technorati.com\/tag\/java\" rel=\"tag\">java<\/a>, <a href=\"http:\/\/technorati.com\/tag\/stupidzombie\" rel=\"tag\">stupidzombie<\/a>, <a href=\"http:\/\/technorati.com\/tag\/localized\" rel=\"tag\">localized<\/a>, <a href=\"http:\/\/technorati.com\/tag\/espa%C3%B1ol\" rel=\"tag\">espa\u00f1ol<\/a>, <a href=\"http:\/\/technorati.com\/tag\/spanish\" rel=\"tag\">spanish<\/a><br \/>\n<br \/>Del.icio.us: <a href=\"http:\/\/del.icio.us\/tag\/java\" rel=\"tag\">java<\/a>, <a href=\"http:\/\/del.icio.us\/tag\/stupidzombie\" rel=\"tag\">stupidzombie<\/a>, <a href=\"http:\/\/del.icio.us\/tag\/localized\" rel=\"tag\">localized<\/a>, <a href=\"http:\/\/del.icio.us\/tag\/espa%C3%B1ol\" rel=\"tag\">espa\u00f1ol<\/a>, <a href=\"http:\/\/del.icio.us\/tag\/spanish\" rel=\"tag\">spanish<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bueno, ya trabajando en la versi\u00f3n 1.1 de StupidZombie. En este caso una de las cosas que dej\u00e9 fuera de la versi\u00f3n 1.0 fu\u00e9 el soporte del lenguaje Espa\u00f1ol. Si el usuario ya tiene a su sistema operativo con localizaci\u00f3n en Espa\u00f1ol entonces no hay problema, sin embargo \u00bfque pasa si no es as\u00ed? Pienso <a class=\"read-more\" href=\"http:\/\/kodegeek.com\/blog\/2009\/06\/20\/soporte-de-java-en-otros-lenguajes-el-caso-de-stupidzombie\/\">[&hellip;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[9],"tags":[],"_links":{"self":[{"href":"http:\/\/kodegeek.com\/blog\/wp-json\/wp\/v2\/posts\/1900"}],"collection":[{"href":"http:\/\/kodegeek.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/kodegeek.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/kodegeek.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/kodegeek.com\/blog\/wp-json\/wp\/v2\/comments?post=1900"}],"version-history":[{"count":7,"href":"http:\/\/kodegeek.com\/blog\/wp-json\/wp\/v2\/posts\/1900\/revisions"}],"predecessor-version":[{"id":1915,"href":"http:\/\/kodegeek.com\/blog\/wp-json\/wp\/v2\/posts\/1900\/revisions\/1915"}],"wp:attachment":[{"href":"http:\/\/kodegeek.com\/blog\/wp-json\/wp\/v2\/media?parent=1900"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/kodegeek.com\/blog\/wp-json\/wp\/v2\/categories?post=1900"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/kodegeek.com\/blog\/wp-json\/wp\/v2\/tags?post=1900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}