Editor de propiedades (.properties) de internacionalización

Este es un artículo dentro de la sección de Utilidades de Programación – Desarrollo.

En más de una ocasión en mi trabajo he tenido que trabajar con propiedades (ficheros .properties) en los que se maneja la internacionalización de una aplicación o componente.

Como seguramente sabéis se suele trabajar con un fichero para cada uno de los idiomas que estarán disponibles de forma que solemos encontrarnos con una estructura de ficheros parecida a esta:

propertiesI18N

Podemos ver en la imagen anterior que disponemos de tres idiomas, identificados mediante un locale, y uno de ellos que será el fichero por defecto (en mi caso para tratar el idioma por defecto: español).

* Nota Freak: ¿sabes de dónde vienen las siglas i18n?: Vienen de la palabra en inglés «internationalization» y de sustituir todas las letras (18) que hay desde la primera a la última de sus letras.

En cada uno de estos archivos encontramos un conjunto de clave-valor para cada texto que internacionalizaremos.

Así, por ejemplo, encontraríamos:

samplePropertiesI18n

Este tipo de ficheros suele crecer mucho y tener un numero importante de líneas. Además, como las traducciones se suelen dejar para el final, resulta una ardua tarea tener que estar pendiente de que los ficheros tengan las mismas líneas (y en el mismo orden normalmente) y no se nos escape ninguna traducción.

Siempre he realizado esta tarea de la forma más manual posible. Comparando visualmente los ficheros, y el número de líneas totales de cada uno de ellos.

Sin embargo, existen herramientas que nos ayudan a la gestión de estos ficheros.

Si utilizamos algún IDE de desarrollo como Eclipse (mis capturas anteriores proceden de esta herramienta) encontramos los siguientes plugin para realizar este trabajo:

multipropertiesEclipse

java-properties-editor-eclipse-plugin-screenshot_0

Si preferimos una aplicación de escritorio podemos encontrar también soluciones:

java-properties-editor-screenshot

 

¿Y tú? ¿Usas alguna otra?

Accesos directos en Eclipse

En mi trabajo como desarrollador de aplicaciones, uso la aplicación o IDE Eclipse.

Siempre recuerdo alguna funcionalidad de la que no recuerdo el atajo o acceso directo.

 

He aquí unos cuantos de esos ejemplos:

 

  • Ctrl + T para encontrar clases incluso dentro de un jar.

Este acceso en eclipse es el favorito y el mas usado. Permite trabajar con mayor velocidad sobre proyectos con código complejo donde a menudo se tiene la necesidad de encontrar clases que están fuera del alcance visual.

  •  Ctrl + R para encontrar cualquier recurso (archivo) incluyendo archivos de configuración xml

Este acceso es similar al anterior, con la única diferencia de que permite encontrar no solo archivos java, también te permite encontrar archivos como XMLs, archivos de configuración y muchos otros, solo buscará archivos dentro de tu workspace y no escarbará a nivel jar.

  •  Ctrl + 1 para arreglar el código rápidamente.

Permite arreglar casi cualquier error en tu código. Ya se trate de la omisión de una declaración, un punto y coma o cualquier otro error de importación relacionado, este acceso directo te ayudará corregirlo rápidamente.

  •  Ctrl + Shift + o para organizar imports.

Es particularmente útil si se copia código desde otras fuentes y necesita agregar las dependencias.

 

Accesos directos para navegación:

  •  Ctrl + o Abre declaraciones.
  • Alt + right y Alt + left para ir hacia delante o atrás mientras se está editando.
  • Alt + Shift + W para motrarlo en el explorador de paquetes.
  • Ctrl + Shift + Up y Down para navegar de miembro a miembro (variables y métodos).
  • Ctrl + k y Ctrl + Shift + k para encontrar el siguiente/previo.
  • Para ir a la declaración de tipo: F3, Es bastante útil para ver rápidamente la declaración de una función.

 

Accesos directos de edición y tratamiento de archivo:

  •  Ctrl + / Para comentar, o quitar líneas o bloques de comentarios.
  • Ctrl + Shift + / Para comentar, o quitar líneas con bloques de comentarios.
  • Selecciona la clase y presiona F4 para ver su jerarquía o herencia.
  • Ctrl + F4 or Ctrl + w Para cerrar el archivo que se está usando.
  • Ctrl+Shirt+W Para cerrar todos los archivos.
  • Ctrl + l Para ir a una línea.
  • Selecciona un bloque texto y presiona Ctrl + Shift + F para formatearlo.
  • Ctrl + F Para encontrar o reemplazar.
  • Ctrl + D Para borrar una línea.
  • Ctrl + Q Para ir al último lugar de edición.

 

Otros accesos:

  • Ctrl + T Para saltar entre super tipo y subtipo.
  • Para ir a los editores abiertos: Ctrl + E.
  • Para dirigirse hacia un problema (i.e.: error, warning) hacia el siguiente (o previo) en un archivo: Ctrl +. Para el siguiente, y Ctrl -, para el problema previo.
  • Salta hacia atrás o hacia delante entre los archivos que has visitados: Alt + ← y Alt + →, respectivamente.
  • CTRL+Shift+G, Busca en el workspace las referencias hacia el método o variable seleccionado.
  • Ctrl+Shift+L Para ver la lista de todos los accesos directos en eclipse.
  • Alt + Shift + j Para agregar documentación en cualquier lugar del código fuente en un archivo java.
  • CTRL+SHIFT+P Para encontrar el cierre de código. Pon el cursor en al inicio de bloque de código y usa este acceso.
  • Alt+Shift+X, Q Para correr el archivo build de Ant usando los accesos directos de eclipse.
  • Ctrl + Shift +F para auto formato.

Visores de logs

Me ha surgido en el trabajo, el reto de examinar un log inmenso sin ninguna herramienta de visionado de logs.

Suelo hacerlo, en estos casos (logs sobre archivo), con NotePadd++, aplicacion que uso con frecuencia y de la que os hablaré el próxima día que me acuerde, xD.

Como estoy probando y evaluando distintas opciones, las voy recapitulando aquí:

 

Visores de Logs:

 

Chainsaw:

· Es de los más conocidos y potentes visores de Log4J

· Aplicación Swing:

OtrosLogViewer:

· A pesar de no ser muy conocido ofrece funcionalidades muy interesantes, como poder cargar logs de servidores remotos, filtros,…:

· Filtros:

· Diferentes tipos de filtro:

 

Eclipse Log Viewer:

· Plugin de Eclipse que formatea y colorea los mensajes de log de la consola:

LogView4J:

· Visor de eventos Log4J por sockets:

LogFaces:

· Es mucho más que un visor de logs, es un sistema para el centralizado y explotación de logs:

· Soporta logs de Log4j, logback, NLog, log4net, log4cxx,…

· Es un producto de pago

Lilith

· Promete funcionalidades semejantes a Chainsaw aunque no tiene documentación :)

Vigilog

· Sencillito pero funcional

Log.IO

· Permite ver los logs en formato web (se basa en node.js y socket.io):

 

¿Cual usais vosotros?

 

Yo, de momento, me quedo con LogExpert:

http://logexpert.codeplex.com/