/trunk/src/org/tela_botanica/client/i18n/VocabulaireMetadonnees.java |
---|
4,12 → 4,9 |
public class VocabulaireMetadonnees { |
private static Dictionary traductionMetadonnees = null; |
private static Dictionary traductionMetadonnees = Dictionary.getDictionary("traductionMetadonnees"); |
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,11 → 1,8 |
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 |
19,7 → 16,7 |
/** langue par défaut */ |
protected static String langueDefaut; |
/** langues disponibles */ |
protected static List<String> languesDisponibles; |
protected static String languesDisponibles; |
/** |
* Initialisation - à appeler une fois avant tout utilisation |
27,7 → 24,7 |
*/ |
public static boolean init() { |
// lire la config pour obtenir les langues |
languesDisponibles = parserLanguesDisponibles(Configuration.getLanguesDisponibles()); |
languesDisponibles = 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 |
55,7 → 52,8 |
*/ |
public static boolean setLangue(String langue) { |
boolean ok = false; |
if (langueEstDisponible(langue)) { // on peut désactiver une langue même si le dictionnaire existe |
// contrôle cracra |
if (languesDisponibles.indexOf(langue) != -1) { // on peut désactiver une langue même si le dictionnaire existe |
String nomDictionnaire = "messages_" + langue; |
try { |
Dictionary.getDictionary(nomDictionnaire); |
65,18 → 63,6 |
} |
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 |
98,7 → 84,7 |
/** |
* @return les langues disponibles, définies dans la configuration |
*/ |
public static List<String> getLanguesDisponibles() { |
public static String getLanguesDisponibles() { |
return languesDisponibles; |
} |
206,18 → 192,4 |
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\"> "+Msg.get("filtres")+" - "+texteFiltresEnCours+"</span>"; |
texteFiltresEnCours = "- <span class=\"indicateur_filtres\"> Filtres - "+texteFiltresEnCours+"</span>"; |
} |
this.setTitle(Msg.get("observations")+texteFiltresEnCours) ; |
910,19 → 910,21 |
private String transformerNomFiltre(String nomFiltre) { |
if(nomFiltre.equals("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); |
nomFiltre = "departement"; |
} |
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,9 → 134,6 |
*/ |
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; |
254,6 → 251,10 |
// on ajoute les listeners |
ajouterListeners(); |
// on effectue le rendu |
//this.doLayout(true); |
} |
private void ajouterListeners() { |
/trunk/src/org/tela_botanica/client/cel2.java |
---|
42,9 → 42,19 |
// 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")); |
77,30 → 87,4 |
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,20 → 552,4 |
} |
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; |
}-*/; |
} |