Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2613 → Rev 2614

/trunk/src/org/tela_botanica/client/i18n/Messages.java
2,6 → 2,7
 
import org.tela_botanica.client.modeles.objets.Configuration;
import com.google.gwt.i18n.client.Dictionary;
import com.google.gwt.user.client.Window.Location;
 
/**
* Gère l'internationalisation
20,7 → 21,7
/** langues disponibles */
protected String languesDisponibles;
 
public Messages getInstance() {
public static Messages getInstance() {
if (instance == null) {
instance = new Messages();
}
28,13 → 29,14
}
 
private Messages() {
//this.langues = new HashMap<String, Dictionary>();
// lire la config pour obtenir les langues
languesDisponibles = "fr,en"; //Configuration.getLanguesDisponibles();
 
languesDisponibles = Configuration.getLanguesDisponibles();
// lire la config et charger la langue par défaut
langueDefaut = "fr"; //Configuration.getLangueDefaut();
setLangue(langueDefaut);
langueDefaut = Configuration.getLangueDefaut();
// Si la langue est précisée dans l'url on la prend, sinon on prend celle par défaut
// @TODO: avertissement si la langue indiquée dans l'url n'est pas la bonne
String langueActive = getLangueActiveParUrlOuDefaut();
setLangue(langueActive);
}
 
public void setLangue(String langue) {
47,9 → 49,19
* @param cle
* @return
*/
public String getMessage(String cle) {
return getMessage(cle, langue);
public String get(String cle) {
return get(cle, langue);
}
/**
* Retourne un message paramétré dans la langue en cours
* @param cle
* @param[] params
* @return
*/
public String get(String cle, String[] params) {
return get(cle, langue, params);
}
 
/**
* Retourne un message dans la langue demandée; s'il n'est pas trouvé, le cherche
58,7 → 70,7
* @param langue
* @return
*/
public String getMessage(String cle, String langue) {
public String get(String cle, String langue) {
String nomDictionnaire = "messages_" + langue;
String message;
try {
72,4 → 84,25
}
return message;
}
/**
* Retourne un message paramétré dans la langue demandée
* @param cle
* @param langue
* @param[] params
* @return
*/
public String get(String cle, String langue, String[] params) {
String message = get(cle, langue);
for (int i = 0; i < params.length; i++) {
message = message.replace("{"+i+"}", params[i]);
}
return message;
}
public String getLangueActiveParUrlOuDefaut() {
//TODO: déplacer ceci si on est une chouette !
return Location.getParameter("lang") == null ? langueDefaut : Location.getParameter("lang");
}
}