Subversion Repositories eFlore/Applications.cel

Compare Revisions

Regard whitespace Rev 2652 → Rev 2653

/trunk/src/org/tela_botanica/client/i18n/Msg.java
1,8 → 1,11
package org.tela_botanica.client.i18n;
 
import org.tela_botanica.client.modeles.objets.Configuration;
 
import com.google.gwt.i18n.client.Dictionary;
import java.lang.Exception;
import java.util.ArrayList;
import java.util.List;
 
/**
* Gère l'internationalisation
16,7 → 19,7
/** langue par défaut */
protected static String langueDefaut;
/** langues disponibles */
protected static String languesDisponibles;
protected static List<String> languesDisponibles;
 
/**
* Initialisation - à appeler une fois avant tout utilisation
24,7 → 27,7
*/
public static boolean init() {
// lire la config pour obtenir les langues
languesDisponibles = Configuration.getLanguesDisponibles();
languesDisponibles = parserLanguesDisponibles(Configuration.getLanguesDisponibles());
// lire la config et charger la langue par défaut
langueDefaut = Configuration.getLangueDefaut();
// si la langue par défaut n'existe pas, on arrête tout
52,8 → 55,7
*/
public static boolean setLangue(String langue) {
boolean ok = false;
// contrôle cracra
if (languesDisponibles.indexOf(langue) != -1) { // on peut désactiver une langue même si le dictionnaire existe
if (langueEstDisponible(langue)) { // on peut désactiver une langue même si le dictionnaire existe
String nomDictionnaire = "messages_" + langue;
try {
Dictionary.getDictionary(nomDictionnaire);
65,6 → 67,18
}
 
/**
* Retourne true si la langue demandée est disponible
* (ceci se fait via la valeur de config, peu importe, si le dictionnaire
* associé existe ou non)
*
* @param langue
* @return true si la langue est disponible, false sinon
*/
public static boolean langueEstDisponible(String langue) {
return languesDisponibles.contains(langue);
}
 
/**
* Retourne la langue actuellement définie; si on a essayé de définir
* une langue qui n'est pas disponible, retournera la langue par défaut
*
84,7 → 98,7
/**
* @return les langues disponibles, définies dans la configuration
*/
public static String getLanguesDisponibles() {
public static List<String> getLanguesDisponibles() {
return languesDisponibles;
}
 
192,4 → 206,18
String message = get(cle, langue, params);
return message.substring(0,1).toUpperCase() + message.substring(1);
}
/**
* Convertit la chaine de config de langues en un objet de type liste
* @param languesDisponibles la chaine de config
* @return List<String> une liste des langues disponibles
*/
private static List<String> parserLanguesDisponibles(String languesDisponibles) {
ArrayList<String> langues = new ArrayList<>();
String[] languesTab = languesDisponibles.split(",");
for (int i = 0; i < languesTab.length; i++) {
langues.add(languesTab[i]);
}
return langues;
}
}