Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2652 → Rev 2653

/trunk/src/org/tela_botanica/client/cel2.java
42,19 → 42,9
// TODO: config devrait être un singleton
Configuration config = new Configuration();
// 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 langueURL = Location.getParameter("lang");
if (! Msg.init()) {
Util.LogVersFirebug("La langue par défaut \"" + Msg.getLangueDefaut() + "\" n'a pas pu être chargée");
}
if (langueURL != null && ! langueURL.equals("")) {
Util.LogVersFirebug("Langue passée dans l'URL: " + langueURL);
if (! Msg.setLangue(langueURL)) {
Util.LogVersFirebug("La langue demandée \"" + langueURL + "\" n'a pas pu être chargée");
}
}
initialiserLangue();
Element elem = DOM.getElementById("texte_chargement");
elem.setInnerText(Msg.get("chargement"));
 
87,4 → 77,30
t.schedule(1500);
}
private void initialiserLangue() {
// Si la langue est précisée dans l'url on la prend,
// Sinon on tente de prendre celle du systeme si elle est supportée
// Sinon on prend celle par défaut
// @TODO: avertissement si la langue indiquée dans l'url n'est pas la bonne
String langueURL = Location.getParameter("lang");
String langueSysteme = Util.obtenirCodeLangueSysteme();
if (! Msg.init()) {
Util.LogVersFirebug("La langue par défaut \"" + Msg.getLangueDefaut() + "\" n'a pas pu être chargée");
}
if(langueSysteme != null && !langueSysteme.equals("")) {
if(Msg.langueEstDisponible(langueSysteme)) {
Msg.setLangue(langueSysteme);
}
}
if (langueURL != null && ! langueURL.equals("")) {
Util.LogVersFirebug("Langue passée dans l'URL: " + langueURL);
if (! Msg.setLangue(langueURL)) {
Util.LogVersFirebug("La langue demandée \"" + langueURL + "\" n'a pas pu être chargée");
}
}
}
}
/trunk/src/org/tela_botanica/client/util/Util.java
552,4 → 552,20
}
return log;
}
public static String obtenirCodeLangueSysteme() {
String langueSystemeBrute = obtenirLangueSysteme();
// le navigateur peut éventuellement renvoyer une chaine de la forme
// en-us ou fr-fr par exemple
String[] lngTab = langueSystemeBrute.split("-");
return (lngTab.length > 0) ? lngTab[0] : null;
}
public static native String obtenirLangueSysteme() /*-{
lang = "";
if (!!($wnd.navigator && $wnd.navigator.language)) {
lang = window.navigator.language;
}
return lang;
}-*/;
}
/trunk/src/org/tela_botanica/client/i18n/VocabulaireMetadonnees.java
4,9 → 4,12
 
public class VocabulaireMetadonnees {
private static Dictionary traductionMetadonnees = Dictionary.getDictionary("traductionMetadonnees");
private static Dictionary traductionMetadonnees = null;
public static String getTraduction(String terme) {
traductionMetadonnees = Dictionary.getDictionary("traductionMetadonnees_"+Msg.getLangue());
String traduction = null;
terme = terme.toLowerCase();
terme = terme.replaceAll("-", "");
/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);
63,6 → 65,18
}
return ok;
}
/**
* 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
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;
}
}
/trunk/src/org/tela_botanica/client/vues/observation/ListeObservationVue.java
883,7 → 883,7
}
if(!texteFiltresEnCours.equals("")) {
texteFiltresEnCours = "- <span class=\"indicateur_filtres\"> Filtres - "+texteFiltresEnCours+"</span>";
texteFiltresEnCours = "- <span class=\"indicateur_filtres\"> "+Msg.get("filtres")+" - "+texteFiltresEnCours+"</span>";
}
this.setTitle(Msg.get("observations")+texteFiltresEnCours) ;
910,21 → 910,19
private String transformerNomFiltre(String nomFiltre) {
if(nomFiltre.equals("departement")) {
nomFiltre = "departement";
nomFiltre = Msg.get("departement");
} else if(nomFiltre.equals("localite")) {
nomFiltre = Msg.get("localite");
} else if(nomFiltre.equals("nom_taxon")) {
nomFiltre = Msg.get("recherche");
} else if(nomFiltre.equals("id_mots_cles")) {
nomFiltre = Msg.get("projets");
} else if(nomFiltre.equals("lieudit")) {
nomFiltre = Msg.get("lieu-dit");
} else {
nomFiltre = Msg.get(nomFiltre);
}
if(nomFiltre.equals("localite")) {
nomFiltre = "localite";
}
if(nomFiltre.equals("nom_taxon")) {
nomFiltre = "recherche";
}
if(nomFiltre.equals("id_mots_cles")) {
nomFiltre = "projets";
}
return nomFiltre;
}
/trunk/src/org/tela_botanica/client/vues/image/PanneauMetadonneesVue.java
134,6 → 134,9
*/
public PanneauMetadonneesVue(ImageMediateur im) {
super();
// TODO : un bug mystérieux n'apparait que lorsqu'on compile
// en obfuscated et empêche de consulter les exifs et iptc
 
// on associe le médiateur
imediateur = im;
251,10 → 254,6
 
// on ajoute les listeners
ajouterListeners();
 
// on effectue le rendu
//this.doLayout(true);
 
}
 
private void ajouterListeners() {