/trunk/src/org/tela_botanica/client/CarnetEnLigneMediateur.java |
---|
1,5 → 1,6 |
package org.tela_botanica.client; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.objets.Utilisateur; |
80,7 → 81,7 |
/** |
* Texte d'invite connexion |
*/ |
private final String texteDeconnexion="Utilisez ce carnet en ligne pour saisir vos observations, <u>identifiez-vous</u> pour les transmettre à Tela Botanica"; |
private final String texteDeconnexion= Msg.get("cel-utilisation")+", <u>"+Msg.get("identifiez-vous")+"</u> "+Msg.get("pour-transmettre-tela"); |
/** |
* Boolean indiquant un essai de connexion |
370,7 → 371,7 |
} else { |
if(tentativeConnection && utilisateur.isIdentifie() && observationMediateur.listeAvoirObservations() && !utilisateur.isAdmin()) { |
if(Window.confirm("Voulez vous importer vos observations déjà saisies dans votre compte une fois connecté ?")) { |
if(Window.confirm(Msg.get("question-import-anonyme-connecte")+" ?")) { |
observationMediateur.setImporterObservationsAnonymes(true); |
} |
} |
398,7 → 399,7 |
} |
if(observationMediateur.listeAvoirObservations() && !utilisateur.isAdmin()) { |
if(Window.confirm("Voulez vous importer vos observations déjà saisies dans votre compte une fois connecté ?")) { |
if(Window.confirm(Msg.get("question-import-anonyme-connecte")+" ?")) { |
observationMediateur.setImporterObservationsAnonymes(true); |
} |
} |
425,8 → 426,8 |
} |
public void afficherLienAdmin() { |
String labelAdmin = "<div id=\"lienAdmin\">Vous consultez les données de "+Utilisateur.getInstance().getLoginUtilisateurConsulte()+" <a id=\"LienChangerUtilisateur\" href=\"#\">Changer d'utilisateur</a></div>" ; |
String[] paramsU = {Utilisateur.getInstance().getLoginUtilisateurConsulte()}; |
String labelAdmin = "<div id=\"lienAdmin\"> "+Msg.get("admin-consulter-donnees", paramsU)+" <a id=\"LienChangerUtilisateur\" href=\"#\">"+Msg.get("changer-utilisateur")+"</a></div>" ; |
panneauAdmin.setHtml(labelAdmin); |
ExtElement lienChangerUt = Ext.get("LienChangerUtilisateur"); |
/trunk/src/org/tela_botanica/client/i18n/Messages.java |
---|
File deleted |
/trunk/src/org/tela_botanica/client/i18n/Msg.java |
---|
New file |
0,0 → 1,101 |
package org.tela_botanica.client.i18n; |
import org.tela_botanica.client.cel2; |
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 |
*/ |
public class Msg { |
/** contient un dictionnaire de messages par langue */ |
//protected Map<String, Dictionary> langues; |
/** langue en cours */ |
protected static String langue; |
/** langue par défaut */ |
protected static String langueDefaut; |
/** langues disponibles */ |
protected static String languesDisponibles; |
// A appeller par la classe mère du cel pour l'initialiser |
public static void init() { |
// lire la config pour obtenir les langues |
languesDisponibles = Configuration.getLanguesDisponibles(); |
// lire la config et charger la langue par défaut |
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(); |
cel2.LogVersFirebug(langueActive); |
setLangue(langueActive); |
} |
public static void setLangue(String langue) { |
// @TODO vérifier que la langue est une clé de la Map |
Msg.langue = langue; |
} |
/** |
* Retourne un message dans la langue en cours |
* @param cle |
* @return |
*/ |
public static String get(String cle) { |
return get(cle, langue); |
} |
/** |
* Retourne un message paramétré dans la langue en cours |
* @param cle |
* @param[] params |
* @return |
*/ |
public static 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 |
* dans la langue par défaut; en cas d'échec, retourne un terme générique d'avertissement |
* @param cle |
* @param langue |
* @return |
*/ |
public static String get(String cle, String langue) { |
String nomDictionnaire = "messages_" + langue; |
String message; |
try { |
message = Dictionary.getDictionary(nomDictionnaire).get(cle); |
} catch (Exception e) { |
try { |
message = Dictionary.getDictionary("messages_" + langueDefaut).get(cle); |
} catch (Exception me) { |
message = "hoho c'est la merde"; |
} |
} |
return message; |
} |
/** |
* Retourne un message paramétré dans la langue demandée |
* @param cle |
* @param langue |
* @param[] params |
* @return |
*/ |
public static 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; |
} |
protected static String getLangueActiveParUrlOuDefaut() { |
//TODO: déplacer ceci si on est une chouette ! |
return Location.getParameter("lang") == null ? langueDefaut : Location.getParameter("lang"); |
} |
} |
/trunk/src/org/tela_botanica/client/i18n/I18n.java |
---|
12,8 → 12,8 |
return (VocabulaireMetadonnees) GWT.create(VocabulaireMetadonnees.class); |
} |
public static Messages getMessages() { |
return (Messages) GWT.create(Messages.class); |
public static Msg getMessages() { |
return (Msg) GWT.create(Msg.class); |
} |
} |
/trunk/src/org/tela_botanica/client/vues/ListeUtilisateurAdminVue.java |
---|
1,6 → 1,7 |
package org.tela_botanica.client.vues; |
import org.tela_botanica.client.CarnetEnLigneMediateur; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.objets.Utilisateur; |
55,11 → 56,11 |
private Timer timerCompletion = null; |
public ListeUtilisateurAdminVue(CarnetEnLigneMediateur cMed) { |
super("Choisir un utilisateur") ; |
super(Msg.get("choisir-utilisateur")) ; |
this.cMediateur = cMed; |
listeUtil=new ComboBox("Utilisateurs","courriel",280); |
listeUtil=new ComboBox(Msg.get("utilisateurs"),"courriel",280); |
this.setLayout(new RowLayout()); |
78,8 → 79,8 |
listeUtil.setLoadingText("Recherche..."); |
listeUtil.setValue(utilisateur); |
OK= new com.gwtext.client.widgets.Button("OK"); |
annuler = new com.gwtext.client.widgets.Button("Annuler"); |
OK= new com.gwtext.client.widgets.Button(Msg.get("ok")); |
annuler = new com.gwtext.client.widgets.Button(Msg.get("annuler")); |
Panel boutonPanel = new Panel(); |
boutonPanel.setLayout(new HorizontalLayout(0)); |
/trunk/src/org/tela_botanica/client/vues/EtatConnexionVue.java |
---|
16,7 → 16,7 |
package org.tela_botanica.client.vues; |
import org.tela_botanica.client.CarnetEnLigneMediateur; |
import org.tela_botanica.client.i18n.Messages; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.modeles.objets.Configuration; |
import com.google.gwt.http.client.URL; |
49,8 → 49,6 |
*/ |
private String labelEtatConnexion = null; |
private Messages msg = Messages.getInstance(); |
/** |
* Ouh c'est pas beau, ça ! Mais avec Google Web Toolshit, ça |
57,7 → 55,7 |
* marche toujours mieux que quand on fait des trucs beaux :-) |
*/ |
private String liens = "<div id=\"liensExt\">" |
+ "<a id=\"lienRemarques\" title=\"Adressez-nous vos remarques ou signalez-nous un problème\"" |
+ "<a id=\"lienRemarques\" title=\""+Msg.get("adresser-remarque-probleme")+"\"" |
+ " href=\"" + Configuration.getRemarquesBaseUrl() + "?service=" + Configuration.getServiceContact() |
+ "&pageSource=" + URL.encodeQueryString(Window.Location.getHref()) + "\"" |
+ " onClick=\"javascript:window.open(this.getAttribute('href'), 'Tela Botanica - Remarques', config='height=700, width=640, scrollbars=yes, resizable=yes'); return false;\"" |
137,7 → 135,7 |
if(connecte) { |
String[] params = {identifiant}; |
labelEtatConnexion = "<div id=\"etatConnexion\">"+msg.get("connecte-en-tant-que", params)+" <a id=\"lienDeconnexion\" href=\"#\">("+msg.get("deconnexion")+")</a>" ; |
labelEtatConnexion = "<div id=\"etatConnexion\">"+Msg.get("connecte-en-tant-que", params)+" <a id=\"lienDeconnexion\" href=\"#\">("+Msg.get("deconnexion")+")</a>" ; |
labelEtatConnexion += "</div>" ; |
180,7 → 178,7 |
} |
else |
{ |
labelEtatConnexion = "<div id=\"etatConnexion\"> "+msg.get("cel-utilisation")+", <a id=\"lienConnexion\" href=\"#\">"+msg.get("identifiez-vous")+"</a> "+msg.get("pour-transmettre-tela")+"</div>"; |
labelEtatConnexion = "<div id=\"etatConnexion\"> "+Msg.get("cel-utilisation")+", <a id=\"lienConnexion\" href=\"#\">"+Msg.get("identifiez-vous")+"</a> "+Msg.get("pour-transmettre-tela")+"</div>"; |
labelEtatConnexion += liens ; |
setHtml(labelEtatConnexion); |
ExtElement lienCo = Ext.get("etatConnexion"); |
/trunk/src/org/tela_botanica/client/vues/image/MenuImageVue.java |
---|
1,5 → 1,6 |
package org.tela_botanica.client.vues.image; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import com.gwtext.client.core.EventObject; |
74,20 → 75,19 |
iMediateur = im; |
mn = new Menu(); |
uploadMultiple = new Item("Plusieurs dossiers ou fichiers à la fois"); |
uploadSimple = new Item("Un fichier à la la fois"); |
uploadMultiple = new Item(Msg.get("plusieurs-fichiers-images-fois")); |
uploadSimple = new Item(Msg.get("un-fichier-image-fois")); |
mn.addItem(uploadMultiple); |
mn.addItem(uploadSimple); |
// on construit le menu |
uploaderImage = new MenuItem("Ajouter des images", mn); |
supprimerImage = new Item("Supprimer les images selectionnées"); |
gestionMotsCles = new Item("Gérer les mots clés"); |
ajouterImageSelection = new Item( |
"Ajouter les images sélectionnées au tampon"); |
viderSelection = new Item("Vider le tampon"); |
afficherSelection = new Item("Afficher le tampon"); |
uploaderImage = new MenuItem(Msg.get("ajouter-images"), mn); |
supprimerImage = new Item(Msg.get("indication-supprimer-images")); |
gestionMotsCles = new Item(Msg.get("gerer-mots-cles")); |
ajouterImageSelection = new Item(Msg.get("ajouter-images-tampon")); |
viderSelection = new Item(Msg.get("vider-tampon")); |
afficherSelection = new Item(Msg.get("afficher-tampon")); |
addItem(uploaderImage); |
addItem(supprimerImage); |
addItem(gestionMotsCles); |
/trunk/src/org/tela_botanica/client/vues/image/ZoomImageVue.java |
---|
1,6 → 1,7 |
package org.tela_botanica.client.vues.image; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
89,7 → 90,7 |
*/ |
private boolean conteneurInitialise = false; |
private ToolTip tp = new ToolTip("<div class=\"x-tooltip-help\"> Double cliquez pour revenir à la vue précédente, utilisez la roulette ou les boutons fléchés pour faire défiler les images </div>") ; |
private ToolTip tp = new ToolTip("<div class=\"x-tooltip-help\"> "+Msg.get("indication-zoom-retour-vue-precedente")+" </div>") ; |
/**. |
* boolean de gestion du double clic |
145,17 → 146,13 |
prev.setWidth("60px"); |
suiv.setWidth("60px"); |
modeZoom = new ToolbarButton("Mode Zoom"); |
modeZoom = new ToolbarButton(Msg.get("mode-zoom")); |
Toolbar tb = new Toolbar(); |
tb.addButton(modeZoom); |
tb.addItem(valeurZoom); |
//setTopToolbar(tb); |
infosTaxon = new Panel(); |
infosTaxon.setHeader(false); |
//infosTaxon.setBorder(false); |
infosTaxon.setHeight("30px"); |
this.add(prev, new BorderLayoutData(RegionPosition.WEST)); |
240,7 → 237,7 |
public void masquerChargement() { |
ExtElement imgEl = Ext.get(imageConteneur.getElement()); |
if(imgEl != null) { |
imgEl.mask("Chargement"); |
imgEl.mask(Msg.get("chargement")); |
} |
} |
/trunk/src/org/tela_botanica/client/vues/image/filtres/ArbreDateImageFiltreVue.java |
---|
3,6 → 3,7 |
import java.util.Comparator; |
import java.util.Iterator; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.interfaces.Filtrable; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
82,7 → 83,7 |
public ArbreDateImageFiltreVue(ImageMediateur imgMed) { |
// on crée le panel |
super("Dates"); |
super(Msg.get("dates")); |
this.imageMediateur = imgMed; |
110,7 → 111,7 |
arbreDonneesDates.setId("x-view-tree-filter-date-image"); |
// on crée une racine pour l'arbre |
TreeNode root = new TreeNode("Dates"); |
TreeNode root = new TreeNode(Msg.get("dates")); |
root.addListener(new TreeNodeListenerAdapter() { |
127,7 → 128,7 |
}) ; |
root.setId("racine_date"); |
String[] usObject = { "Dates", "Dates", prefixeId+"racine_date" }; |
String[] usObject = { Msg.get("dates"), Msg.get("dates"), prefixeId+"racine_date" }; |
root.setUserObject(usObject); |
arbreDonneesDates.setRootNode(root); |
257,8 → 258,8 |
// on crée un arbre vide |
TreeNode root = new TreeNode(); |
root.setId("racine_date"); |
root.setText("Dates"); |
String[] usObjRoot = { "Dates", "Dates", prefixeId+"racine_date"}; |
root.setText(Msg.get("dates")); |
String[] usObjRoot = { Msg.get("dates"), Msg.get("dates"), prefixeId+"racine_date"}; |
root.setUserObject(usObjRoot); |
Tree nouvelArbre = new Tree(); |
nouvelArbre.setRootNode(root); |
400,8 → 401,7 |
*/ |
@Override |
public String renvoyerNomFiltre() { |
return "Dates"; |
return Msg.get("dates"); |
} |
/** |
493,9 → 493,9 |
arbreDonneesDates.collapseAll(); |
arbreDonneesDates.clear(); |
TreeNode root = new TreeNode("Dates"); |
TreeNode root = new TreeNode(Msg.get("dates")); |
root.setId("racine_date"); |
String[] usObject = { "Dates", "Dates", prefixeId+"racine_date" }; |
String[] usObject = { Msg.get("dates"), Msg.get("dates"), prefixeId+"racine_date" }; |
root.setUserObject(usObject); |
arbreDonneesDates.setRootNode(root); |
/trunk/src/org/tela_botanica/client/vues/image/filtres/RechercheFiltreTaxonVue.java |
---|
1,7 → 1,9 |
package org.tela_botanica.client.vues.image.filtres; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.interfaces.Filtrable; |
import com.gwtext.client.core.EventCallback; |
import com.gwtext.client.core.EventObject; |
import com.gwtext.client.widgets.Button; |
15,7 → 17,7 |
private TextField champRecherche = null; |
private static String titrePanneau = "Recherche libre"; |
private static String titrePanneau = Msg.get("recherche-libre"); |
private String valeurRecherchee= ""; |
/trunk/src/org/tela_botanica/client/vues/image/filtres/PanneauFiltresImagesVues.java |
---|
1,5 → 1,6 |
package org.tela_botanica.client.vues.image.filtres; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.vues.ArbreMotsClesFiltreVue; |
import com.gwtext.client.core.Ext; |
47,7 → 48,7 |
* Bouton de validation |
*/ |
private Button valider = null; |
/** |
* Construcuteur sans argument (privé car on ne doit pas l'utiliser) |
*/ |
63,8 → 64,9 |
* le médiateur à associer |
*/ |
public PanneauFiltresImagesVues(ImageMediateur im) { |
super("Filtres"); |
// on utilise pas l'instance de msg car java nous l'interdit dans la premiere ligne |
// du constructeur |
super(Msg.get("filtres")); |
iMediateur = im; |
this.setCollapsible(true); |
71,7 → 73,7 |
setLayout(new RowLayout()); |
rechercheLibreFiltreVue = new BarreRechercheFiltreVue(im); |
rechercheLibreFiltreVue.setTitle("Recherche libre"); |
rechercheLibreFiltreVue.setTitle(Msg.get("recherche-libre")); |
rechercheLibreFiltreVue.setCollapsible(true); |
add(rechercheLibreFiltreVue, new RowLayoutData()); |
88,7 → 90,7 |
add(arbreDateImageFiltreVue, new RowLayoutData()); |
motsClesFiltres = new ArbreMotsClesFiltreVue(im); |
motsClesFiltres.setTitle("Mots clés"); |
motsClesFiltres.setTitle(Msg.get("mots-cles")); |
motsClesFiltres.setAutoScroll(true); |
add(motsClesFiltres, new RowLayoutData()); |
/trunk/src/org/tela_botanica/client/vues/image/filtres/BarreRechercheFiltreVue.java |
---|
1,5 → 1,6 |
package org.tela_botanica.client.vues.image.filtres; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.interfaces.Filtrable; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
68,7 → 69,7 |
champRecherche = new TextField(); |
boutonRechercher = new Button("OK"); |
boutonRechercher = new Button(Msg.get("ok")); |
add(champRecherche); |
add(boutonRechercher); |
/trunk/src/org/tela_botanica/client/vues/image/filtres/SelectionFiltreVue.java |
---|
1,5 → 1,6 |
package org.tela_botanica.client.vues.image.filtres; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.interfaces.Filtrable; |
25,8 → 26,7 |
super(); |
iMediateur = im ; |
Label labelRecherche = new Label( |
"Afficher uniquement les images dans le tampon :"); |
Label labelRecherche = new Label(Msg.get("afficher-images-tampon")+" :"); |
add(labelRecherche); |
setBorder(false); |
setPaddings(5); |
67,7 → 67,7 |
@Override |
public String renvoyerNomFiltre() { |
return "Filtre par tampon"; |
return "filtre_tampon"; |
} |
@Override |
/trunk/src/org/tela_botanica/client/vues/image/MiniListeObservationVue.java |
---|
2,6 → 2,7 |
import java.util.Iterator; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.interfaces.ListePaginable; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
165,17 → 166,18 |
} |
}), |
new ColumnConfig("Taxon", "plante", 145, true, colRend), |
new ColumnConfig("Date", "date", 68, true, dateRend), |
new ColumnConfig("Lieu", "lieu", 145, true, colRend), |
new ColumnConfig("Numero", "ordre_obs", 50, true, colRend), } ; |
new ColumnConfig(Msg.get("taxon"), "plante", 145, true, colRend), |
new ColumnConfig(Msg.get("date"), "date", 68, true, dateRend), |
new ColumnConfig(Msg.get("lieu"), "lieu", 145, true, colRend), |
new ColumnConfig(Msg.get("numero"), "ordre_obs", 50, true, colRend), } ; |
ColumnModel columnModel = new ColumnModel(columns); |
colModel = columnModel ; |
setTitle("Observations"); |
setTitle(Msg.get("observations")); |
// on associe le modèle de colonnes |
setColumnModel(columnModel); |
setAutoScroll(true) ; |
188,8 → 190,7 |
setStore(store) ; |
setBottomToolbar(pgBar) ; |
Object[][] mode = {{"toutes les observations",false} , {"observation liée", true} }; |
Object[][] mode = {{Msg.get("toutes-observations"),false} , {Msg.get("observations-liees"), true} }; |
storeMode = new SimpleStore(new String[] { "nom_mode", "mode" }, |
mode); |
storeMode.load(); |
197,7 → 198,7 |
selecteurMode.setDisplayField("nom_mode") ; |
selecteurMode.setLabel("mode ") ; |
selecteurMode.setForceSelection(true) ; |
selecteurMode.setValue("toutes les observations") ; |
selecteurMode.setValue(Msg.get("toutes-observations")) ; |
selecteurMode.setEditable(false) ; |
selecteurMode.setCls("x-selec-consult") ; |
265,7 → 266,7 |
private void configDragAndDrop() |
{ |
// on choisit le texte qui sera affiché lors d'un drag 'n drop |
setDragDropText("Faites glisser l'observation sur une image ou une selection d'images pour les lier") ; |
setDragDropText(Msg.get("glissez-deposer-obs-images")) ; |
//On active le drag 'n drop |
this.setEnableDragDrop(true); |
455,7 → 456,7 |
ExtElement masked = Ext.get(getId()) ; |
if (masked!=null) { |
masked.mask("Chargement") ; |
masked.mask(Msg.get("chargement")) ; |
} |
} |
525,7 → 526,8 |
public void montrerContextMenuLiaison(EventObject e) { |
final Menu liObs = new Menu(); |
final Item lierObservation = new Item("Lier aux images selectionnées"); |
final Item lierObservation = new Item(Msg.get("lier-images-selectionnes")); |
liObs.addItem(lierObservation); |
liObs.addListener(new MenuListenerAdapter() { |
/trunk/src/org/tela_botanica/client/vues/image/PanneauMetadonneesVue.java |
---|
1,5 → 1,6 |
package org.tela_botanica.client.vues.image; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.vues.image.ImageMotsClesVue; |
138,13 → 139,13 |
imediateur = im; |
// on crée et dispose les panneaux et les champs |
panneauExifGrid = new Panel("Exif"); |
panneauIptcGrid = new Panel("Iptc"); |
panneauInfoGrid = new Panel("Infos"); |
panneauExifGrid = new Panel(Msg.get("infos-generales")); |
panneauIptcGrid = new Panel(Msg.get("infos-generales")); |
panneauInfoGrid = new Panel(Msg.get("infos-generales")); |
panneauMotsCles = new ImageMotsClesVue(im); |
panneauMotsCles.setHeight("50%"); |
Panel sousPanneauInfosGenerales = new Panel("Infos Générales"); |
Panel sousPanneauInfosGenerales = new Panel(Msg.get("infos-generales")); |
sousPanneauInfosGenerales.setLayout(new VerticalLayout()); |
sousPanneauInfosGenerales.setBorder(false); |
sousPanneauInfosGenerales.setHeight(200); |
153,12 → 154,12 |
sousPanneauInfosGenerales.setPaddings(5); |
sousPanneauInfosGenerales.setCollapsible(true); |
Label labelComm = new Label("Commentaires :"); |
Label labelComm = new Label(Msg.get("commentaires")+" :"); |
labelComm.setHeight("20px"); |
commentaireGeneral = new TextArea(); |
commentaireGeneral.setWidth("90%"); |
Label labelDate = new Label("Date :"); |
Label labelNote = new Label("Note :"); |
Label labelDate = new Label(Msg.get("date")+" :"); |
Label labelNote = new Label(Msg.get("note")+" :"); |
panneauMotsCles.setBorder(false); |
168,10 → 169,10 |
dateImage.setAutoWidth(true); |
dateImage.setFormat("d/m/Y"); |
validerInfo = new Button("OK"); |
validerInfo = new Button(Msg.get("ok")); |
noteVue = new BarreNotationVue(im, 5); |
panneauMiniListeObservation = new Panel("Observations") ; |
panneauMiniListeObservation = new Panel(Msg.get("observations")) ; |
if(!Ext.isIE()) { |
panneauMiniListeObservation.setLayout(new RowLayout()); |
179,7 → 180,7 |
miniListeObservation = new MiniListeObservationVue(im); |
rechercheFiltreTaxonVue = new RechercheFiltreTaxonVue(im); |
rechercheFiltreTaxonVue.setTitle("Recherche dans les observations"); |
rechercheFiltreTaxonVue.setTitle(Msg.get("recherche-dans-observations")); |
if(Ext.isIE()) { |
panneauMiniListeObservation.add(rechercheFiltreTaxonVue); |
rechercheFiltreTaxonVue.setHeight(90); |
226,7 → 227,7 |
ExifGrid = new PropertyGridPanel(); |
ExifGrid.setId("meta_exif"); |
ExifGrid.setView(gViewExif); |
ExifGrid.setNameText("Métadonnées Exif"); |
ExifGrid.setNameText(Msg.get("exif-metadonnees")); |
ExifGrid.setAutoWidth(true); |
ExifGrid.setHeight(500); |
ExifGrid.setSorted(false); |
239,7 → 240,7 |
IptcGrid.setId("meta_iptc"); |
IptcGrid.setView(gViewIptc); |
IptcGrid.setNameText("Métadonnées IPTC"); |
IptcGrid.setNameText(Msg.get("iptc-metadonnees")); |
IptcGrid.setAutoWidth(true); |
IptcGrid.setHeight(500); |
IptcGrid.setSorted(false); |
/trunk/src/org/tela_botanica/client/vues/image/BarreOutilsVue.java |
---|
1,5 → 1,6 |
package org.tela_botanica.client.vues.image; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.util.Util; |
import org.tela_botanica.client.vues.MenuAideVue; |
96,7 → 97,7 |
texteFiltres = new ToolbarTextItem(""); |
final ToolbarMenuButton menuImage = new ToolbarMenuButton("Ajouter des images", imageMenuEtendu.getMenuImage()); |
final ToolbarMenuButton menuImage = new ToolbarMenuButton(Msg.get("ajouter-images"), imageMenuEtendu.getMenuImage()); |
menuImage.addListener(new SplitButtonListenerAdapter() { |
@Override |
111,7 → 112,7 |
}); |
ToolbarButton menuSuppression = imageMenuEtendu.getBoutonSuppression(); |
final ToolbarMenuButton menuTampon = new ToolbarMenuButton("Tampon", imageMenuEtendu.getMenuTampon()); |
final ToolbarMenuButton menuTampon = new ToolbarMenuButton(Msg.get("tampon"), imageMenuEtendu.getMenuTampon()); |
menuTampon.addListener(new SplitButtonListenerAdapter() { |
@Override |
124,8 → 125,8 |
menuTampon.showMenu(); |
} |
}); |
ToolbarButton menuGestionMotsCles = new ToolbarButton("Gérer les mots clés"); |
ToolbarButton menuGestionMotsCles = new ToolbarButton(Msg.get("gerer-mots-cles")); |
menuGestionMotsCles.addListener(new ButtonListenerAdapter() { |
@Override |
public void onClick(Button button, EventObject e) { |
201,7 → 202,7 |
private String transformerNomFiltre(String nomFiltre) { |
if(nomFiltre.equals("id_mots_cles")) { |
nomFiltre = "mots clés"; |
nomFiltre = Msg.get("mots-cles"); |
} |
return nomFiltre; |
/trunk/src/org/tela_botanica/client/vues/image/FenetreGestionMotsCles.java |
---|
1,5 → 1,6 |
package org.tela_botanica.client.vues.image; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.util.MotsClesUtilitaire; |
137,7 → 138,7 |
// on crée une racine pour l'arbre |
TreeNode root = new TreeNode("Tags"); |
root.setId("racine"); |
String[] usObject = { "Mots clés", "racine" }; |
String[] usObject = {Msg.get("mots-cles-maj"), "racine" }; |
root.setExpandable(true); |
arbreMotsCles.setRootNode(root); |
arbreMotsCles.setRootVisible(true); |
169,8 → 170,8 |
tfEdit = new TextField(); |
tfEdit.setAutoWidth(true); |
te = new TreeEditor(arbreMotsCles, tfEdit); |
valider = new Button("Appliquer"); |
annuler = new Button("Annuler"); |
valider = new Button(Msg.get("appliquer")); |
annuler = new Button(Msg.get("annuler")); |
arbreMotsCles.add(te); |
panelIntermediaire = new Panel(); |
195,12 → 196,12 |
arbreMotsCles.setAutoScroll(true); |
Toolbar barreBouton = new Toolbar(); |
ajouterTag = new ToolbarButton("Nouveau Tag"); |
ajouterTag = new ToolbarButton(Msg.get("nouveau-tag")); |
ajouterTag.setIcon("mot_cle_ajouter.png"); |
renommerTag = new ToolbarButton("Renommer"); |
renommerTag = new ToolbarButton(Msg.get("renommer")); |
renommerTag.setIcon("mot_cle_editer.png"); |
renommerTag.disable(); |
supprimerTag = new ToolbarButton("Supprimer"); |
supprimerTag = new ToolbarButton(Msg.get("supprimer")); |
supprimerTag.setIcon("mot_cle_supprimer.png"); |
supprimerTag.disable(); |
barreBouton.addButton(ajouterTag); |
/trunk/src/org/tela_botanica/client/vues/image/GalerieImageVue.java |
---|
1,5 → 1,6 |
package org.tela_botanica.client.vues.image; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.interfaces.ListePaginable; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
89,7 → 90,7 |
* le médiateur avec lequel la vue va communiquer |
*/ |
public GalerieImageVue(ImageMediateur im) { |
super("Galerie"); |
super(Msg.get("galerie")); |
iMediateur = im; |
// on ajoute des listeners au composant tout entier |
111,7 → 112,7 |
// et on ajoute la tool bar |
pt = new BarrePaginationVue(this); |
pt.setLabelElement("Images"); |
pt.setLabelElement(Msg.get("Images")); |
pt.setTaillePageParDefaut(50); |
this.setBottomToolbar(pt); |
339,10 → 340,9 |
this.add(dView); |
dView.hide(); |
videPanel = new HTML("<div class=\"avertissement\" >Aucune image à afficher. <br/> <a id=\"lienUploadMultiple\" href=\"#\" > Cliquez ici pour ajouter un dossier entier ou plusieurs fichiers </a> (nécessite Java) <br/> " + |
" <a id=\"lienUploadSimple\" href=\"#\" > Cliquez ici pour ajouter un fichier à la fois </a> <br/> " + |
" Pour ajouter des images plus tard, allez dans le menu Fichier -> Ajouter des images </div>"); |
videPanel = new HTML("<div class=\"avertissement\" >"+Msg.get("avertissement-aucune-image")+". <br/> <a id=\"lienUploadMultiple\" href=\"#\" > "+Msg.get("cliquez-plusieurs-fichiers-images-fois")+" </a> ("+Msg.get("necessite-java")+") <br/> " + |
" <a id=\"lienUploadSimple\" href=\"#\" > "+Msg.get("cliquez-un-fichier-image-fois")+" </a> <br/> " + |
" "+Msg.get("indication-ajouter-images-plus-tard")+" </div>"); |
this.add(videPanel); |
// ajouts de la gestion des evenements pour la dataview |
/trunk/src/org/tela_botanica/client/vues/image/ImageMotsClesVue.java |
---|
1,5 → 1,6 |
package org.tela_botanica.client.vues.image; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import com.google.gwt.user.client.ui.HTML; |
46,7 → 47,7 |
*/ |
public ImageMotsClesVue(ImageMediateur im) { |
// on crée le panel |
super("Mots clés"); |
super(Msg.get("mots-cles")); |
this.setHeight("100%"); |
this.add(motsClesAffiches); |
motsClesAffiches.setHeight("100%"); |
/trunk/src/org/tela_botanica/client/vues/image/MenuIdVue.java |
---|
1,5 → 1,6 |
package org.tela_botanica.client.vues.image; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import com.gwtext.client.core.EventObject; |
40,7 → 41,7 |
iMediateur = im; |
// on construit le menu |
changerId = new Item("Changer d'utilisateur"); |
changerId = new Item(Msg.get("changer-utilisateur")); |
addItem(changerId); |
// on ajoute les listeners |
/trunk/src/org/tela_botanica/client/vues/image/OptionsImages.java |
---|
1,5 → 1,6 |
package org.tela_botanica.client.vues.image; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import com.gwtext.client.core.EventObject; |
77,20 → 78,19 |
iMediateur = im; |
mnFichiers = new Menu(); |
uploadMultiple = new Item("Plusieurs dossiers ou fichiers à la fois"); |
uploadSimple = new Item("Un fichier à la la fois"); |
uploadMultiple = new Item(Msg.get("plusieurs-fichiers-images-fois")); |
uploadSimple = new Item(Msg.get("un-fichier-image-fois")); |
mnFichiers.addItem(uploadMultiple); |
mnFichiers.addItem(uploadSimple); |
// on construit le menu |
uploaderImage = new MenuItem("Ajouter des images", mnFichiers); |
supprimerImage = new ToolbarButton("Supprimer"); |
uploaderImage = new MenuItem(Msg.get("ajouter-images"), mnFichiers); |
supprimerImage = new ToolbarButton(Msg.get("supprimer")); |
ajouterImageSelection = new Item( |
"Ajouter les images sélectionnées au tampon"); |
viderSelection = new Item("vider le contenu du tampon"); |
afficherSelection = new Item("Supprimer le contenu du tampon"); |
ajouterImageSelection = new Item(Msg.get("ajouter-images-tampon")); |
viderSelection = new Item(Msg.get("vider-tampon")); |
afficherSelection = new Item(Msg.get("afficher-tampon")); |
mnTampon = new Menu(); |
148,7 → 148,7 |
}); |
mnTampon.setTitle("Permet de sélectionner et d'afficher des images présentes sur plusieurs pages"); |
mnTampon.setTitle(Msg.get("indication-utilisation-tampon")); |
// si c'est la suppression |
160,8 → 160,9 |
getIMediateur().supprimerImages(); |
} |
}); |
supprimerImage.setTitle("Supprimer les images sélectionnées"); |
supprimerImage.setTitle(Msg.get("indication-supprimer-images")); |
mnFichiers.addListener(new MenuListenerAdapter() { |
@Override |
182,8 → 183,7 |
}); |
mnFichiers.setTitle("Ajouter des images en les selectionnant une par une ou bien un dossier à la fois"); |
mnFichiers.setTitle(Msg.get("indication-plusieurs-fichiers-images-fois")); |
} |
/trunk/src/org/tela_botanica/client/vues/image/ListeImageVue.java |
---|
1,5 → 1,6 |
package org.tela_botanica.client.vues.image; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.interfaces.ListePaginable; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
140,12 → 141,12 |
// on place la barre de pagination |
bt = new BarrePaginationVue(this); |
bt.setLabelElement("Images"); |
bt.setLabelElement(Msg.get("images")); |
bt.setTaillePageParDefaut(50); |
setBottomToolbar(bt); |
// on construit le modèle de colonnes |
numImage = new ColumnConfig("Numéro", "num_image", 30, true, |
numImage = new ColumnConfig(Msg.get("numero"), "num_image", 30, true, |
new Renderer() { |
@Override |
189,7 → 190,7 |
}); |
datImage = new ColumnConfig("Date", "dat_image", 80, true, |
datImage = new ColumnConfig(Msg.get("date"), "dat_image", 80, true, |
new Renderer() { |
@Override |
208,7 → 209,8 |
} |
}); |
lieImage = new ColumnConfig("Lieu", "lie_image", 120, true, |
lieImage = new ColumnConfig(Msg.get("lieu"), "lie_image", 120, true, |
new Renderer() { |
@Override |
227,7 → 229,8 |
} |
}); |
appImage = new ColumnConfig("Appareil", "app_image", 120, true, |
appImage = new ColumnConfig(Msg.get("appareil"), "app_image", 120, true, |
new Renderer() { |
@Override |
249,7 → 252,7 |
// la colonne url possède une méthode de rendu spéciale |
urlImage = new ColumnConfig("Image", "url_image_S", 30, true, |
urlImage = new ColumnConfig(Msg.get("image"), "url_image_S", 30, true, |
new Renderer() { |
@Override |
275,7 → 278,7 |
}); |
noteImage = new ColumnConfig("Note", "note_image", 80, true, |
noteImage = new ColumnConfig(Msg.get("note"), "note_image", 80, true, |
new Renderer() { |
@Override |
public String render(Object value, |
301,7 → 304,7 |
}); |
nomImage = new ColumnConfig("Nom original", "nom_original", 120, true, |
nomImage = new ColumnConfig(Msg.get("nom-original"), "nom_original", 120, true, |
new Renderer() { |
@Override |
public String render(Object value, |
320,7 → 323,7 |
}); |
obsAssociees = new ColumnConfig("Nom associé", "obs_associees", 80, true, |
obsAssociees = new ColumnConfig(Msg.get("nom-associe"), "obs_associees", 80, true, |
new Renderer() { |
@Override |
public String render(Object value, |
407,7 → 410,7 |
if (!isEstInstancie()) { |
setEstInstancie(true); |
setDragDropText("Glissez les images sur la liste d'observation pour les lier") ; |
setDragDropText(Msg.get("glissez-deposer-images-obs")) ; |
getIMediateur().synchroniserSelection("galerie"); |
} |
} |
/trunk/src/org/tela_botanica/client/vues/image/MenuLiaisonVue.java |
---|
1,5 → 1,6 |
package org.tela_botanica.client.vues.image; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.image.ImageMediateur; |
import com.gwtext.client.widgets.menu.BaseItem; |
60,9 → 61,9 |
iMediateur = im; |
lierSelection = new Item("Lier les images selectionnées à la sélection d'observation"); |
lierSelectionTampon = new Item("Lier le tampon à la sélection d'observation"); |
afficherSelection = new Item("Afficher le tampon"); |
lierSelection = new Item(Msg.get("lier-images-selection-obs")); |
lierSelectionTampon = new Item(Msg.get("lier-tampon-selection-obs")); |
afficherSelection = new Item(Msg.get("afficher-tampon")); |
addItem(lierSelection); |
addItem(lierSelectionTampon); |
77,9 → 78,9 |
iMediateur = im; |
lierSelection = new Item("Lier les images selectionnées à la sélection d'observation"); |
lierSelectionTampon = new Item("Lier le tampon à la sélection d'observation"); |
afficherSelection = new Item("Afficher le tampon"); |
lierSelection = new Item(Msg.get("lier-images-selection-obs")); |
lierSelectionTampon = new Item(Msg.get("lier-tampon-selection-obs")); |
afficherSelection = new Item(Msg.get("afficher-tampon")); |
addItem(lierSelection); |
addItem(lierSelectionTampon); |
87,9 → 88,8 |
iMediateur = im; |
if(liaison) { |
supprimerLiaison = new Item("Supprimer la liaison") ; |
if(liaison) { |
supprimerLiaison = new Item(Msg.get("supprimer-liaison")) ; |
addItem(supprimerLiaison); |
} |
/trunk/src/org/tela_botanica/client/cel2.java |
---|
1,6 → 1,6 |
package org.tela_botanica.client; |
import org.tela_botanica.client.i18n.Messages; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.modeles.objets.Configuration; |
import com.google.gwt.ajaxloader.client.AjaxLoader; |
37,7 → 37,7 |
*/ |
// TODO: config devrait être un singleton |
Configuration config = new Configuration(); |
Messages msg = Messages.getInstance(); |
Msg.init(); |
// Chargement de l'api google maps v3 avant l'initialisation pour |
// éviter des "complications" |
/trunk/war/i18n/messages_en.js |
---|
4,5 → 4,85 |
"identifiez-vous" : "log-in", |
"pour-transmettre-tela" : "to transmit them to the Tela Botanica network", |
"connecte-en-tant-que" : "Logged in as {0}", |
"deconnexion" : "logout" |
"deconnexion" : "logout", |
"filtres" : "Filters", |
"dates" : "Dates", |
"inconnue" : "Unknown", |
"recherche-libre" : "Free search", |
"rechercher" : "Search", |
"afficher-images-tampon" : "Show images in the buffer only", |
"ajouter-images" : "Add images", |
"tampon" : "Buffer", |
"gerer-mots-cles" : "Manage keywords", |
"mots-cles" : "keywords", |
"mots-cles-arbre" : "Keywords", |
"appliquer" : "Apply", |
"annuler" : "Cancel", |
"nouveau-tag" : "New Tag", |
"renommer" : "Rename", |
"supprimer" : "Delete", |
"plusieurs-fichiers-images-fois" : "Multiple files at once", |
"un-fichier-image-fois" : "One file at a time", |
"ajouter-images-tampon" : "Add selected images to the buffer", |
"vider-tampon" : "Delete buffer content", |
"afficher-tampon" : "Show buffer content", |
"indication-utilisation-tampon" : "With the buffer, you can pick and show images from differents pages", |
"indication-supprimer-images" : "Delete selected images", |
"indication-plusieurs-fichiers-images-fois" : "Add images by selecting them one by one or by uploading a whole folder at once", |
"galerie" : "Gallery", |
"images" : "Images", |
"avertissement-aucune-image" : "No image to display", |
"cliquez-plusieurs-fichiers-images-fois" : "Click here to upload a whole folder or multiple files at once", |
"necessite-java" : "requires Java", |
"cliquez-un-fichier-image-fois" : "Click here to add files one at a time", |
"indication-ajouter-images-plus-tard" : "To add images later, go to the File menu -> Add images", |
"numero" : "Number", |
"date" : "Date", |
"lieu" : "Location", |
"appareil" : "Device", |
"image" : "Image", |
"note" : "Note", |
"nom-original" : "Original name", |
"nom-associe" : "Associated name", |
"glissez-deposer-images-obs" : "Drag and drop images on the observations list to link them", |
"changer-utilisateur" : "Change user", |
"lier-images-selection-obs" : "Link selected images to selected observations", |
"lier-tampon-selection-obs" : "Link buffer to selected observations", |
"supprimer-liaison" : "Delete link", |
"taxon" : "Taxon", |
"observations" : "Observations", |
"toutes-observations" : "All observations", |
"observations-liees" : "Linked observations", |
"glissez-deposer-obs-images" : "Drag and drop the observation on an image or an image selection to link them", |
"chargement" : "Loading", |
"lier-images-selectionnes" : "Link to selected images", |
"infos-generales" : "General infos", |
"infos-exif" : "Exif", |
"infos-iptc" : "Iptc", |
"infos" : "Infos", |
"commentaires" : "Comments", |
"ok" : "ok", |
"recherche-dans-observations" : "Search in observations", |
"exif-metadonnees" : "Exif metadata", |
"iptc-metadonnees" : "IPTC metadata", |
"indication-zoom-retour-vue-precedente" : "Double click to go back to the previous view, use the mouse wheel or the arrows to navigate between images", |
"mode-zoom" : "Zoom mode", |
"choisir-utilisateur" : "Choose user", |
"utilisateurs" : "Users", |
"adresser-remarque-probleme" : "Send us your remarks or report a problem", |
"admin-consulter-donnees" : "You are current viewing the observations of {0}", |
"question-import-anonyme-connecte" : "Do you want to import your anonymous observations into your connected account" |
} |
/trunk/war/i18n/messages_fr.js |
---|
5,5 → 5,85 |
"identifiez-vous" : "identifiez-vous", |
"pour-transmettre-tela" : "pour les transmettre à Tela Botanica", |
"connecte-en-tant-que" : "Connecté en tant que {0}", |
"deconnexion" : "deconnexion" |
"deconnexion" : "deconnexion", |
"filtres" : "Filtres", |
"dates" : "Dates", |
"inconnue" : "Inconnue", |
"recherche-libre" : "Recherche libre", |
"rechercher" : "Rechercher", |
"afficher-images-tampon" : "Afficher uniquement les images dans le tampon", |
"ajouter-images" : "Ajouter des images", |
"tampon" : "Tampon", |
"gerer-mots-cles" : "Gérer les mots clés", |
"mots-cles" : "mots clés", |
"mots-cles-arbre" : "Mots clés", |
"appliquer" : "Appliquer", |
"annuler" : "Annuler", |
"nouveau-tag" : "Nouveau Tag", |
"renommer" : "Renommer", |
"supprimer" : "Supprimer", |
"plusieurs-fichiers-images-fois" : "Plusieurs dossiers ou fichiers à la fois", |
"un-fichier-image-fois" : "Un fichier à la fois", |
"ajouter-images-tampon" : "Ajouter les images sélectionnées au tampon", |
"vider-tampon" : "Supprimer le contenu du tampon", |
"afficher-tampon" : "Afficher le contenu du tampon", |
"indication-utilisation-tampon" : "Permet de sélectionner et d'afficher des images présentes sur plusieurs pages", |
"indication-supprimer-images" : "Supprimer les images sélectionnées", |
"indication-plusieurs-fichiers-images-fois" : "Ajouter des images en les selectionnant une par une ou bien un dossier à la fois", |
"galerie" : "Galerie", |
"images" : "Images", |
"avertissement-aucune-image" : "Aucune image à afficher", |
"cliquez-plusieurs-fichiers-images-fois" : "Cliquez ici pour ajouter un dossier entier ou plusieurs fichiers", |
"necessite-java" : "nécessite Java", |
"cliquez-un-fichier-image-fois" : "Cliquez ici pour ajouter un fichier à la fois", |
"indication-ajouter-images-plus-tard" : "Pour ajouter des images plus tard, allez dans le menu Fichier -> Ajouter des images", |
"numero" : "Numéro", |
"date" : "Date", |
"lieu" : "Lieu", |
"appareil" : "Appareil", |
"image" : "Image", |
"note" : "Note", |
"nom-original" : "Nom original", |
"nom-associe" : "Nom associé", |
"glissez-deposer-images-obs" : "Glissez les images sur la liste d'observation pour les lier", |
"changer-utilisateur" : "Changer d'utilisateur", |
"lier-images-selection-obs" : "Lier les images selectionnées à la sélection d'observation", |
"lier-tampon-selection-obs" : "Lier le tampon à la sélection d'observation", |
"supprimer-liaison" : "Supprimer la liaison", |
"taxon" : "Taxon", |
"observations" : "Observations", |
"toutes-observations" : "Toutes les observations", |
"observations-liees" : "Observations liées", |
"glissez-deposer-obs-images" : "Glissez l'observation sur une image ou une selection d'images pour les lier", |
"chargement" : "Chargement", |
"lier-images-selectionnes" : "Lier aux images selectionnées", |
"infos-generales" : "Infos générales", |
"infos-exif" : "Exif", |
"infos-iptc" : "Iptc", |
"infos" : "Infos", |
"commentaires" : "Commentaires", |
"ok" : "ok", |
"recherche-dans-observations" : "Rechercher dans les observations", |
"exif-metadonnees" : "Metadonnées EXIF", |
"iptc-metadonnees" : "metadonnées IPTC", |
"indication-zoom-retour-vue-precedente" : "Double cliquez pour revenir à la vue précédente, utilisez la roulette ou les boutons fléchés pour faire défiler les images", |
"mode-zoom" : "Mode zoom", |
"choisir-utilisateur" : "Choisir un utilisateur", |
"utilisateurs" : "Utilisateurs", |
"adresser-remarque-probleme" : "Adressez-nous vos remarques ou signalez-nous un problème", |
"admin-consulter-donnees" : "Vous consultez les données de {0}", |
"question-import-anonyme-connecte" : "Voulez vous importer vos observations déjà saisies dans votre compte une fois connecté" |
} |