Subversion Repositories eFlore/Applications.cel

Rev

Rev 2643 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2643 Rev 2653
Line 1... Line 1...
1
package org.tela_botanica.client.i18n;
1
package org.tela_botanica.client.i18n;
Line 2... Line 2...
2
 
2
 
-
 
3
import org.tela_botanica.client.modeles.objets.Configuration;
3
import org.tela_botanica.client.modeles.objets.Configuration;
4
 
4
import com.google.gwt.i18n.client.Dictionary;
5
import com.google.gwt.i18n.client.Dictionary;
-
 
6
import java.lang.Exception;
-
 
7
import java.util.ArrayList;
Line 5... Line 8...
5
import java.lang.Exception;
8
import java.util.List;
6
 
9
 
7
/**
10
/**
8
 * Gère l'internationalisation 
11
 * Gère l'internationalisation 
Line 14... Line 17...
14
	/** langue en cours */
17
	/** langue en cours */
15
	protected static String langue;
18
	protected static String langue;
16
	/** langue par défaut */
19
	/** langue par défaut */
17
	protected static String langueDefaut;
20
	protected static String langueDefaut;
18
	/** langues disponibles */
21
	/** langues disponibles */
19
	protected static String languesDisponibles;
22
	protected static List<String> languesDisponibles;
Line 20... Line 23...
20
 
23
 
21
	/**
24
	/**
22
	 * Initialisation - à appeler une fois avant tout utilisation
25
	 * Initialisation - à appeler une fois avant tout utilisation
23
	 * @return true si tout s'est bien passé, false sinon
26
	 * @return true si tout s'est bien passé, false sinon
24
	 */
27
	 */
25
	public static boolean init() {
28
	public static boolean init() {
26
		// lire la config pour obtenir les langues
29
		// lire la config pour obtenir les langues
27
		languesDisponibles = Configuration.getLanguesDisponibles();
30
		languesDisponibles = parserLanguesDisponibles(Configuration.getLanguesDisponibles());
28
		// lire la config et charger la langue par défaut
31
		// lire la config et charger la langue par défaut
29
		langueDefaut = Configuration.getLangueDefaut();
32
		langueDefaut = Configuration.getLangueDefaut();
30
		// si la langue par défaut n'existe pas, on arrête tout
33
		// si la langue par défaut n'existe pas, on arrête tout
31
		return setLangue(langueDefaut);
34
		return setLangue(langueDefaut);
Line 50... Line 53...
50
	 * @return true si la langue a été correctement définie, false
53
	 * @return true si la langue a été correctement définie, false
51
	 * 			sinon (si la langue n'est pas disponible)
54
	 * 			sinon (si la langue n'est pas disponible)
52
	 */
55
	 */
53
	public static boolean setLangue(String langue) {
56
	public static boolean setLangue(String langue) {
54
		boolean ok = false;
57
		boolean ok = false;
55
		// contrôle cracra
-
 
56
		if (languesDisponibles.indexOf(langue) != -1) { // on peut désactiver une langue même si le dictionnaire existe
58
		if (langueEstDisponible(langue)) { // on peut désactiver une langue même si le dictionnaire existe
57
			String nomDictionnaire = "messages_" + langue;
59
			String nomDictionnaire = "messages_" + langue;
58
			try {
60
			try {
59
				Dictionary.getDictionary(nomDictionnaire);
61
				Dictionary.getDictionary(nomDictionnaire);
60
				Msg.langue = langue;
62
				Msg.langue = langue;
61
				ok = true;
63
				ok = true;
62
			} catch (Exception e) {}
64
			} catch (Exception e) {}
63
		}
65
		}
64
		return ok;
66
		return ok;
65
	}
67
	}
-
 
68
	
-
 
69
	/**
-
 
70
	 * Retourne true si la langue demandée est disponible
-
 
71
	 * (ceci se fait via la valeur de config, peu importe, si le dictionnaire
-
 
72
	 * associé existe ou non)
-
 
73
	 * 
-
 
74
	 * @param langue
-
 
75
	 * @return true si la langue est disponible, false sinon
-
 
76
	 */
-
 
77
	public static boolean langueEstDisponible(String langue) {
-
 
78
		return languesDisponibles.contains(langue);
-
 
79
	}
Line 66... Line 80...
66
 
80
 
67
	/**
81
	/**
68
	 * Retourne la langue actuellement définie; si on a essayé de définir
82
	 * Retourne la langue actuellement définie; si on a essayé de définir
69
	 * une langue qui n'est pas disponible, retournera la langue par défaut
83
	 * une langue qui n'est pas disponible, retournera la langue par défaut
Line 82... Line 96...
82
	}
96
	}
Line 83... Line 97...
83
 
97
 
84
	/**
98
	/**
85
	 * @return les langues disponibles, définies dans la configuration
99
	 * @return les langues disponibles, définies dans la configuration
86
	 */
100
	 */
87
	public static String getLanguesDisponibles() {
101
	public static List<String> getLanguesDisponibles() {
88
		return languesDisponibles;
102
		return languesDisponibles;
Line 89... Line 103...
89
	}
103
	}
90
 
104
 
Line 190... Line 204...
190
	 */
204
	 */
191
	public static String Get(String cle, String langue, String[] params) {
205
	public static String Get(String cle, String langue, String[] params) {
192
		String message = get(cle, langue, params);
206
		String message = get(cle, langue, params);
193
		return message.substring(0,1).toUpperCase() + message.substring(1);
207
		return message.substring(0,1).toUpperCase() + message.substring(1);
194
	}
208
	}
-
 
209
	
-
 
210
	/**
-
 
211
	 * Convertit la chaine de config de langues en un objet de type liste
-
 
212
	 * @param languesDisponibles la chaine de config 
-
 
213
	 * @return List<String> une liste des langues disponibles
-
 
214
	 */
-
 
215
	private static List<String> parserLanguesDisponibles(String languesDisponibles) {
-
 
216
		ArrayList<String> langues = new ArrayList<>();
-
 
217
		String[] languesTab = languesDisponibles.split(",");
-
 
218
		for (int i = 0; i < languesTab.length; i++) {
-
 
219
			langues.add(languesTab[i]);
-
 
220
		}
-
 
221
		return langues;
-
 
222
	}
195
}
223
}