Managing i18n using a Java enum

Hi there !

Here it is, I said previously that I’ll also use this blog for my development posts. I also decided to try to publish them in english as much as possible. For the first one, I just wanted to share with you a short snippet related to i18n (for those who don’t know what i18n means, it’s a frequently used contraction for internationalization).

This snippet allows to manage i18n using native Java API, by getting the different messages from a properties file using a Java enum. I commonly use this in the Eclipse plug-ins that I develop, but it could be used in any kind of context. Just keep in mind that in some cases, following the framework you’re using, this one probably provides a way to manage i18n, and it should be interesting to use the way provided by the framework. Nevertheless, here is an easy piece of java code that manages the properties file containing the messages:

import java.util.Locale;

/**
* Enumeration that defines all the GUI & User-dedicated messaging system
*
* @author Antoine Neveux
* @version 1.0
*
*/
public enum MyPluginMessages {

// Keys for the messages
        MESSAGE_KEY_1, MESSAGE_KEY_2

;

/**
* Internal Resource Bundle instance
*/
private static ResourceBundle resourceBundle;

static {
MyPluginMessages.resourceBundle = ResourceBundle.getBundle(
"my_messages", Locale.getDefault());
}

/**
* Returns the message that underlies the current Message Key
*
* @return String
*/
public String message() {
if (MyPluginMessages.resourceBundle == null)
return this.toString();
String key = this.toString();
String message = MyPluginMessages.resourceBundle
.getString(key);
return message != null ? message : key;
}

/**
* Returns the message that underlies the current Message Key, formatted
* with input parameters
*
* @param varargs
* Input Parameter
* @return String
*/
public String message(Object... varargs) {
if (MyPluginMessages.resourceBundle == null)
return this.toString();
String key = this.toString();
String message = MyPluginMessages.resourceBundle
.getString(key);
try {
return message != null ? String.format(message, varargs) : key;
} catch (Exception e) {
                        // TODO Report the error using something appropriate, for example, Eclipse error log
/* Activator.sendErrorToErrorLog(
"An exception occurred while trying to format Message with key: "
+ key, e); */
}
return key;
}

}

Then, you just need to put a properties file in your project’s classpath (here, its name is my_messages). This file should contain the different messages defined like this:

MESSAGE_KEY_1=Hello World !

Finally, when you need to get a message in your source code, you just have to call it like this:

MyPluginMessages.MESSAGE_KEY_1.message();

Note also that the provided snippet uses a StringFormatter, so you can pass arguments to the message method so as to use them as arguments of the StringFormatter, to define dynamic messages.

I hope this post could help somebody, or at least will be interesting for someone :)

See you for a next development post !

Du super lourd…

Salut à tous !

Aujourd’hui, je me suis dit que je me devais de vous faire partager mon nouveau coup de coeur musical du moment : SuperHeavy. Ce groupe né cette année, en 2011, a la particularité de réunir des artistes émérites, reconnus dans leur domaine. Toutefois, il est extrêmement intéressant de constater que les musiciens qui le composent viennent d’horizons complètement différents ! De la musique indienne au reggae, en passant par le rock ou l’instrumental…

Mick Jagger (leader des Rolling Stones), Joss Stone (jeune diva de la soul anglaise), Dave Stewart (guitariste et pianiste, connu notamment par le groupe Eurythmics), Damian Marley (reggaeman, fils de Bob Marley), et enfin Allah Rakha Rahman (compositeur indien de musique de films, notamment celle de Slumdog Millionnaire) forment donc ce groupe ultime et métissé… Mais quel style choisir pour ce regroupement musical ? C’est simple… Tous. Un énorme mélange de reggae, de rock, de soul, de musiques indiennes… Soit un délice auditif, qui déborde de talent et de musicalité. On écoute ?




Allez, on va faire un petit tour sur leur site officiel, et on en profite pour aller « liker » leur page facebook si on aime bien !

A très vite !

On reprend en musique ?

Salut à tous !

Bon… Ça fait un peu longtemps que je n’ai pas mis les pieds ici… Peut être un peu trop en fait. Quoi qu’il en soit, je suis de retour, et bien décidé à changer beaucoup de choses. Dans un premier temps, j’ai décidé d’arrêter de créer des blogs en pagaille, relatifs à tous les sujets que je veux évoquer. Cette fois, j’ai envie de me focaliser sur celui-ci, et de l’enrichir plus fréquemment. Vous risquez d’ailleurs de voir apparaître dans les temps à venir différents articles sur l’informatique, puisque le contenu de mon devblog va arriver par ici.

Mais trêve de discussions, venons en au vif du sujet, à savoir ma nouvelle découverte musicale, qui tourne en boucle depuis un bon moment chez moi maintenant : Troy Andrews. Troy est un jeune musicien, né en 1985, originaire de New Orleans (Louisiana). Il chante, il joue de la trompette, du trombone, et il a le funk dans la peau. Ce musicien un peu jazzy, un peu funky, est une source de talent. En solo, ou avec le groupe Orleans Avenue, il met le feu sur scène avec des improvisations ahurissantes, et des démonstrations de suraigu, et de respiration continue qui forcent le respect. Mais je ne suis pas là pour vous faire sa biographie, d’autres l’ont fait bien mieux que moi.

Alors on écoute un peu ?



Alors si tout comme moi vous êtes totalement fans de ce rythme, de cette musicalité, et de toute cette énergie, n’hésitez pas à jeter un coup d’oeil à son site web, et comme on est dans l’ère sociale, pensez à « liker » sa page Facebook, et à le « follower » sur twitter !

À très bientôt pour de nouvelles découvertes !

Cinquième soleil

Bonsoir à tous,

Peu d’articles en ce moment… Travail, prise de tête, concerts, répétitions, projets… Tant de choses qui m’empêchent d’écrire un peu… Mais dans très peu de temps, je pourrais davantage écrire. La fin des études est proche :)

Alors pour ce soir, je vous propose de partager une récente découverte, et une très bonne surprise. Le rap n’est pas du tout dans mes préférences musicales à la base. Loin de là. Jusqu’à ce que Choupi, une très très bonne amie me fasse découvrir ce morceau :


Des paroles, du rythme, des émotions, une ligne mélodique agréable…

Voilà donc une raison pour ajouter de nouveaux horizons à mes goûts musicaux !

Bonne écoute à tous ;)

Lifestyle, le Big Bang.

Bonsoir.

Aujourd’hui, je me suis enfin décidé à vous parler d’une chose qui a définitivement changé ma vie.

Mais commençons par des bases saines. Je tiens à préciser pour commencer : cet article n’est pas une leçon de morale à la sauce écolo. Ce billet relate tout simplement des découvertes, des prises de conscience, et des remises en questions, qui ont bouleversé ma vie. Au programme donc, un peu de réflexion, de prise de tête.

Je précise également, je ne suis pas du tout fermé à la discussion ou aux questions, loin de là. Par contre, si c’est pour une blague vaseuse, ou si vous n’en avez rien à faire, pas la peine de le faire savoir, j’ai déjà ma dose de critiques en réalité, pas la peine d’en rajouter sur le web.

D’ailleurs, ces critiques sont une des raisons pour lesquelles je ne voulais pas présenter ce sujet. Mais bon, si ça intéresse une personne, je n’aurai pas écrit pour rien.

Dernière précision avant le grand saut, cet article est un début, il y en aura d’autres sur le sujet, en détaillant certains aspects. Ici, on va simplement poser les bases.

On va commencer simplement, en rappelant un contexte.

Je suis depuis ma plus tendre enfance en contact avec des animaux. Comme beaucoup, j’ai grandi avec des chats chez moi, et à la campagne. Sans être niais, ou « total tendance green écolo bio », je peux simplement dire que j’aime les animaux. Je suis incapable de leur faire du mal, et il m’est arrivé à plusieurs reprises de recueillir des animaux blessés pour leur apporter des soins.

Quelque chose d’assez typique, classique. J’aime les animaux, d’une façon assez naturelle, sans être militant SPA.

Il y a un peu plus de deux mois, maintenant, mon point de vue sur certaines choses à changé.

Je vous passe les détails, grosso modo, ma moitié, une expo, une vidéo, des recherches, une prise de conscience.

On en vient donc au fait, je suis maintenant végétarien depuis plus de deux mois. Voilà. C’est dit.

Maintenant que le suspense est passé, on peut commencer les explications.

En fait, pas de grand mystère, c’est assez simple. L’introduction tient en une vidéo :



Voilà, tout est résumé. Le traitement des animaux, l’irrespect total, le massacre pur et simple.

Et en fait, à y réfléchir de façon simple… De quel droit est ce qu’il serait normal que je consomme la vie de centaines, de milliers d’animaux, juste pour satisfaire mon appétit, alors que je peux très facilement faire sans ?

Jusqu’à maintenant, je n’avais jamais réfléchi à ce qu’il se passe, à la façon dont ma nourriture m’apparaît. Il est vrai qu’il est difficile de faire le lien entre son steack haché, et la vache laitière usée qui en est à l’origine. Mais quand on creuse un peu, qu’on fait quelques recherches, on prend conscience de la cruauté humaine.

Il y a deux mois, j’ai donc fait mon choix. Et je ne le regrette pas. Bien au contraire.

La plupart de mes proches sont au courant de ce changement, une partie l’accepte. Il m’a fallu du temps pour me décider à en parler à un peu plus de monde, c’est maintenant chose faite.

Je vous invite, si vous le souhaitez, à regarder la vidéo que je lie à cet article. Vous comprendrez alors très certainement les raisons de ce radical changement dans mon alimentation.

Et au passage, pour ceux qui se poseraient des questions, pour les réponses les plus courantes : Non, ça ne m’empêche pas de manger au resto avec des amis, car il y a toujours une alternative végétarienne. Non, ça ne m’empêche pas de faire des soirées cool avec des amis, ni de m’amuser. Non, je ne suis pas fatigué ou malade, au contraire. Non, ce n’est pas devenir « bizarre » ou « infréquentable ». Et non, je ne refuse pas les invitations des gens qui ne partagent pas mon mode alimentaire, je les préviens simplement de ne pas acheter de viande pour moi, afin d’éviter le gaspillage. Etre végétarien ne signifie donc pas devenir asocial ;)

Voilà pour la révélation de la soirée. A bientôt.

On continue la playlist ?

Bon, d’accord, c’est une solution de facilité que de vous dérouler ma playlist en guise d’articles.

Mais c’est assumé.

Non, je n’ai pas le temps pour écrire un article digne de ce nom, et non, je n’ai pas envie d’abandonner ce blog. Et j’ai envie de partager ces morceaux qui me tiennent à coeur, simplement parce que la musique représente énormément pour moi.

Alors voilà la chanson du jour.