r210 - in trunk: coser-business/src/main/java/fr/ifremer/coser/bean coser-business/src/main/java/fr/ifremer/coser/services coser-business/src/main/resources/i18n coser-ui/src/main/java/fr/ifremer/coser/ui coser-ui/src/main/java/fr/ifremer/coser/ui/control coser-ui/src/main/java/fr/ifremer/coser/ui/project coser-ui/src/main/resources/fr/ifremer/coser/bean coser-ui/src/main/resources/i18n
Author: chatellier Date: 2010-11-15 16:41:17 +0000 (Mon, 15 Nov 2010) New Revision: 210 Log: Modification de l'ui de creation de projet Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/bean/Project.java trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java trunk/coser-business/src/main/resources/i18n/coser-business-en_GB.properties trunk/coser-business/src/main/resources/i18n/coser-business-fr_FR.properties trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlHandler.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/project/ProjectCreationView.jaxx trunk/coser-ui/src/main/resources/fr/ifremer/coser/bean/Project-error-validation.xml trunk/coser-ui/src/main/resources/fr/ifremer/coser/bean/Selection-error-validation.xml trunk/coser-ui/src/main/resources/i18n/coser-ui-en_GB.properties trunk/coser-ui/src/main/resources/i18n/coser-ui-fr_FR.properties Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/bean/Project.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/bean/Project.java 2010-11-15 16:26:33 UTC (rev 209) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/bean/Project.java 2010-11-15 16:41:17 UTC (rev 210) @@ -56,12 +56,24 @@ "Types","Commentaire","NumSys min","NumSys max" }; - public static final String PROPERTY_SELECTIONS="selections"; + public static final String PROPERTY_SELECTIONS = "selections"; protected String name; - protected String personInCharge; + protected String author; + /** Utilisé seulement lors de la création du projet (sinon, non valorisé). */ + protected String catchFile; + + /** Utilisé seulement lors de la création du projet (sinon, non valorisé). */ + protected String haulFile; + + /** Utilisé seulement lors de la création du projet (sinon, non valorisé). */ + protected String lengthFile; + + /** Utilisé seulement lors de la création du projet (sinon, non valorisé). */ + protected String strataFile; + protected String comment; protected Control control; @@ -84,20 +96,64 @@ getPropertyChangeSupport().firePropertyChange("name", oldValue, name); } - public String getPersonInCharge() { - return personInCharge; + public String getAuthor() { + return author; } - public void setPersonInCharge(String personInCharge) { - this.personInCharge = personInCharge; + public void setAuthor(String author) { + String oldValue = this.author; + this.author = author; + getPropertyChangeSupport().firePropertyChange("author", oldValue, author); } + public String getCatchFile() { + return catchFile; + } + + public void setCatchFile(String catchFile) { + String oldValue = this.catchFile; + this.catchFile = catchFile; + getPropertyChangeSupport().firePropertyChange("catchFile", oldValue, catchFile); + } + + public String getHaulFile() { + return haulFile; + } + + public void setHaulFile(String haulFile) { + String oldValue = this.haulFile; + this.haulFile = haulFile; + getPropertyChangeSupport().firePropertyChange("haulFile", oldValue, haulFile); + } + + public String getLengthFile() { + return lengthFile; + } + + public void setLengthFile(String lengthFile) { + String oldValue = this.lengthFile; + this.lengthFile = lengthFile; + getPropertyChangeSupport().firePropertyChange("lengthFile", oldValue, lengthFile); + } + + public String getStrataFile() { + return strataFile; + } + + public void setStrataFile(String strataFile) { + String oldValue = this.strataFile; + this.strataFile = strataFile; + getPropertyChangeSupport().firePropertyChange("strataFile", oldValue, strataFile); + } + public String getComment() { return comment; } public void setComment(String comment) { + String oldValue = this.comment; this.comment = comment; + getPropertyChangeSupport().firePropertyChange("comment", oldValue, comment); } public Control getControl() { Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java 2010-11-15 16:26:33 UTC (rev 209) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java 2010-11-15 16:41:17 UTC (rev 210) @@ -47,6 +47,7 @@ import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; +import java.util.regex.Pattern; import org.apache.commons.beanutils.PropertyUtils; import org.apache.commons.collections.CollectionUtils; @@ -895,15 +896,16 @@ * @param project project * @param category category * @param fieldName fieldName - * @param currentValue current value + * @param searchString current value + * @param replaceString new value * @param data current data - * @param newValue new value + * @param isRegex is regex * @param commandUUID commandUUID * @return modified data * @throws CoserBusinessException */ public String[] replaceFieldValue(Project project, Category category, String fieldName, - String currentValue, String newValue, String[] data, String commandUUID) throws CoserBusinessException { + String searchString, String replaceString, String[] data, boolean isRegex, String commandUUID) throws CoserBusinessException { AbstractDataEntity beanData = null; @@ -926,9 +928,16 @@ // get current data value try { - String value = (String)PropertyUtils.getProperty(beanData, fieldName); + String currentValue = (String)PropertyUtils.getProperty(beanData, fieldName); - if (value.equals(currentValue)) { + String escapeSearchString = searchString; + if (!isRegex) { + escapeSearchString = Pattern.quote(escapeSearchString); + } + String newValue = currentValue.replaceAll(escapeSearchString, replaceString); + + // si le remplacement a fonctionné, une command doit être créée + if (!currentValue.equals(newValue)) { String lineNumber = data[AbstractDataEntity.INDEX_LINE]; ModifyFieldCommand command = new ModifyFieldCommand(); command.setCommandUUID(commandUUID); Modified: trunk/coser-business/src/main/resources/i18n/coser-business-en_GB.properties =================================================================== --- trunk/coser-business/src/main/resources/i18n/coser-business-en_GB.properties 2010-11-15 16:26:33 UTC (rev 209) +++ trunk/coser-business/src/main/resources/i18n/coser-business-en_GB.properties 2010-11-15 16:41:17 UTC (rev 210) @@ -11,9 +11,7 @@ Number\ attribute\ is\ not\ a\ valid\ double= Project\ %s\ already\ exist= Project\ %s\ doesn't\ exists\ \!= -Project\ name\ is\ required= Selection\ %s\ already\ exists= -Selection\ name\ is\ required= Sex\ is\ mandatory= Specy\ %s\ doesn't\ exist\ in\ referential= Weight\ attribute\ is\ not\ a\ valid\ double= Modified: trunk/coser-business/src/main/resources/i18n/coser-business-fr_FR.properties =================================================================== --- trunk/coser-business/src/main/resources/i18n/coser-business-fr_FR.properties 2010-11-15 16:26:33 UTC (rev 209) +++ trunk/coser-business/src/main/resources/i18n/coser-business-fr_FR.properties 2010-11-15 16:41:17 UTC (rev 210) @@ -11,9 +11,7 @@ Number\ attribute\ is\ not\ a\ valid\ double= Project\ %s\ already\ exist=Le projet %s existe d\u00E9j\u00E0 \! Project\ %s\ doesn't\ exists\ \!=Le projet %s n'existe pas \! -Project\ name\ is\ required= Selection\ %s\ already\ exists=La s\u00E9lection %s existe d\u00E9j\u00E0 \! -Selection\ name\ is\ required= Sex\ is\ mandatory= Specy\ %s\ doesn't\ exist\ in\ referential=L'esp\u00E8ce %s n'existe pas dans le r\u00E9f\u00E9rentiel Weight\ attribute\ is\ not\ a\ valid\ double= Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java 2010-11-15 16:26:33 UTC (rev 209) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java 2010-11-15 16:41:17 UTC (rev 210) @@ -218,12 +218,7 @@ */ public void createProject(final ProjectCreationView projectView) { CoserConfig config = projectView.getContextValue(CoserConfig.class); - - final String projectName = projectView.getProjectProjectName().getText().trim(); - String capturesPath = projectView.getProjectCapturesFileField().getText(); - String stratesPath = projectView.getProjectStratesFileField().getText(); - String traitsPath = projectView.getProjectTraitsFileField().getText(); - String taillesPath = projectView.getProjectLengthFileField().getText(); + final Project project = projectView.getProject(); // get correct reftax to use depending on project configuration String reftaxSpeciesPath = null; @@ -238,10 +233,10 @@ String codeTypeEspecePath = config.getReferenceTypeEspecesPath(); // convert to file - File capturesFile = new File(capturesPath); - File stratesFile = new File(stratesPath); - File traitsFile = new File(traitsPath); - File taillesFile = new File(taillesPath); + File capturesFile = new File(project.getCatchFile()); + File stratesFile = new File(project.getStrataFile()); + File traitsFile = new File(project.getHaulFile()); + File taillesFile = new File(project.getLengthFile()); File reftaxSpeciesFile = new File(reftaxSpeciesPath); File codeTypeEspeceFile = new File(codeTypeEspecePath); @@ -263,12 +258,9 @@ @Override protected Project doInBackground() { ProjectService projectService = projectView.getContextValue(ProjectService.class); - Project project = null; + Project resultProject = null; try { - Project p = new Project(); - p.setName(projectName); - p = projectService.createProject(p, fileToLoad); - project = p; + resultProject = projectService.createProject(project, fileToLoad); } catch (CoserBusinessException ex) { if (log.isErrorEnabled()) { log.error("Can't create project", ex); @@ -277,7 +269,7 @@ JOptionPane.ERROR_MESSAGE); projectView.getCreateProjectButton().setEnabled(true); } - return project; + return resultProject; } @Override @@ -287,9 +279,9 @@ log.info("4 import take " + (after-before) + "ms"); } try { - Project project = get(); - if (project != null) { - projectLoaded(project); + Project resultProject = get(); + if (resultProject != null) { + projectLoaded(resultProject); showControlView(false); } } catch (Exception ex) { Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlHandler.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlHandler.java 2010-11-15 16:26:33 UTC (rev 209) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlHandler.java 2010-11-15 16:41:17 UTC (rev 210) @@ -33,6 +33,7 @@ import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.beans.Introspector; +import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.UUID; @@ -259,29 +260,35 @@ try { // on suppose que la fenetre est modale, et // que la selection ne peut pas avoir changée + int replaceCount = 0; int[] dataSelectedRows = controlView.getControlDataTable().getSelectedRows(); for (int dataSelectedRow : dataSelectedRows) { String[] data = controlDataModel.getDataAt(dataSelectedRow); - data = projectService.replaceFieldValue(project, category, field, find, replace, data, commandUUID); - controlDataModel.fireTableRowsUpdated(dataSelectedRow, dataSelectedRow); + String[] newData = projectService.replaceFieldValue(project, category, field, find, replace, data, false, commandUUID); - switch (category) { - case CATCH: - project.getControl().getCatch().set(dataSelectedRow + 1, data); // csv header + if (Arrays.equals(data, newData)) { controlDataModel.fireTableRowsUpdated(dataSelectedRow, dataSelectedRow); - break; - case HAUL: - project.getControl().getHaul().set(dataSelectedRow + 1, data); // csv header - controlDataModel.fireTableRowsUpdated(dataSelectedRow, dataSelectedRow); - break; - case LENGTH: - project.getControl().getLength().set(dataSelectedRow + 1, data); // csv header - controlDataModel.fireTableRowsUpdated(dataSelectedRow, dataSelectedRow); - break; - case STRATA: - project.getControl().getStrata().set(dataSelectedRow + 1, data); // csv header - controlDataModel.fireTableRowsUpdated(dataSelectedRow, dataSelectedRow); - break; + + switch (category) { + case CATCH: + project.getControl().getCatch().set(dataSelectedRow + 1, newData); // csv header + controlDataModel.fireTableRowsUpdated(dataSelectedRow, dataSelectedRow); + break; + case HAUL: + project.getControl().getHaul().set(dataSelectedRow + 1, newData); // csv header + controlDataModel.fireTableRowsUpdated(dataSelectedRow, dataSelectedRow); + break; + case LENGTH: + project.getControl().getLength().set(dataSelectedRow + 1, newData); // csv header + controlDataModel.fireTableRowsUpdated(dataSelectedRow, dataSelectedRow); + break; + case STRATA: + project.getControl().getStrata().set(dataSelectedRow + 1, newData); // csv header + controlDataModel.fireTableRowsUpdated(dataSelectedRow, dataSelectedRow); + break; + } + + replaceCount++; } } } catch (CoserBusinessException ex) { Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/project/ProjectCreationView.jaxx =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/project/ProjectCreationView.jaxx 2010-11-15 16:26:33 UTC (rev 209) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/project/ProjectCreationView.jaxx 2010-11-15 16:41:17 UTC (rev 210) @@ -33,6 +33,11 @@ uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI" errorTableModel="errorsTableModel"> <field name="name" component="projectProjectName" /> + <field name="author" component="projectAuthor" /> + <field name="catchFile" component="projectCatchFile" /> + <field name="strataFile" component="projectStrataFile" /> + <field name="lengthFile" component="projectLengthFile" /> + <field name="haulFile" component="projectHaulFile" /> </BeanValidator> <script><![CDATA[ @@ -54,7 +59,10 @@ <cell anchor="west"> <JLabel text="coser.ui.project.projectname" /> </cell> - <cell anchor="west"> + <cell> + <JLabel text='{getContextValue(fr.ifremer.coser.CoserConfig.class).getProjectsDirectory().getAbsolutePath() + "/"}' /> + </cell> + <cell anchor="west" weightx="1" fill="horizontal"> <JTextField id="projectProjectName" text="{project.getName()}" /> <javax.swing.text.Document javaBean="projectProjectName.getDocument()" onInsertUpdate='getProject().setName(projectProjectName.getText())' @@ -64,13 +72,13 @@ </row> <row> <cell anchor="west"> - <JLabel text="coser.ui.project.projectpersonincharge" /> + <JLabel text="coser.ui.project.projectauthor" /> </cell> - <cell weightx="1" fill="horizontal"> - <JTextField id="projectPersonInCharge" text="{project.getPersonInCharge()}" /> - <javax.swing.text.Document javaBean="projectPersonInCharge.getDocument()" - onInsertUpdate='getProject().setPersonInCharge(projectPersonInCharge.getText())' - onRemoveUpdate='getProject().setPersonInCharge(projectPersonInCharge.getText())' /> + <cell weightx="1" fill="horizontal" columns="2"> + <JTextField id="projectAuthor" text="{project.getAuthor()}" /> + <javax.swing.text.Document javaBean="projectAuthor.getDocument()" + onInsertUpdate='getProject().setAuthor(projectAuthor.getText())' + onRemoveUpdate='getProject().setAuthor(projectAuthor.getText())' /> </cell> </row> @@ -78,48 +86,60 @@ <cell anchor="west"> <JLabel text="coser.ui.project.captureFile" /> </cell> - <cell weightx="1" fill="horizontal"> - <JTextField id="projectCapturesFileField" /> + <cell weightx="1" fill="horizontal" columns="2"> + <JTextField id="projectCatchFile" text="{project.getCatchFile()}" /> + <javax.swing.text.Document javaBean="projectCatchFile.getDocument()" + onInsertUpdate='getProject().setCatchFile(projectCatchFile.getText())' + onRemoveUpdate='getProject().setCatchFile(projectCatchFile.getText())' /> </cell> <cell> <JButton id="projectCapturesSelectButton" text="coser.ui.common.selectFile" - onActionPerformed="getHandler().selectInputFile(this, projectCapturesFileField)" /> + onActionPerformed="getHandler().selectInputFile(this, projectCatchFile)" /> </cell> </row> <row> <cell anchor="west"> <JLabel text="coser.ui.project.stratesFile" /> </cell> - <cell fill="horizontal"> - <JTextField id="projectStratesFileField" /> + <cell fill="horizontal" columns="2"> + <JTextField id="projectStrataFile" text="{project.getStrataFile()}" /> + <javax.swing.text.Document javaBean="projectStrataFile.getDocument()" + onInsertUpdate='getProject().setStrataFile(projectStrataFile.getText())' + onRemoveUpdate='getProject().setStrataFile(projectStrataFile.getText())' /> </cell> <cell> <JButton id="projectStratesFileSelectButton" text="coser.ui.common.selectFile" - onActionPerformed="getHandler().selectInputFile(this, projectStratesFileField)" /> + onActionPerformed="getHandler().selectInputFile(this, projectStrataFile)" /> </cell> </row> <row> <cell anchor="west"> <JLabel text="coser.ui.project.lengthFile" /> </cell> - <cell fill="horizontal"> - <JTextField id="projectLengthFileField" /> + <cell fill="horizontal" columns="2"> + <JTextField id="projectLengthFile" text="{project.getLengthFile()}" /> + <javax.swing.text.Document javaBean="projectLengthFile.getDocument()" + onInsertUpdate='getProject().setLengthFile(projectLengthFile.getText())' + onRemoveUpdate='getProject().setLengthFile(projectLengthFile.getText())' /> </cell> <cell> <JButton id="projectSizeFileSelectButton" text="coser.ui.common.selectFile" - onActionPerformed="getHandler().selectInputFile(this, projectLengthFileField)" /> + onActionPerformed="getHandler().selectInputFile(this, projectLengthFile)" /> </cell> </row> <row> <cell anchor="west"> <JLabel text="coser.ui.project.traitsFile" /> </cell> - <cell fill="horizontal"> - <JTextField id="projectTraitsFileField" /> + <cell fill="horizontal" columns="2"> + <JTextField id="projectHaulFile" text="{project.getHaulFile()}" /> + <javax.swing.text.Document javaBean="projectHaulFile.getDocument()" + onInsertUpdate='getProject().setHaulFile(projectHaulFile.getText())' + onRemoveUpdate='getProject().setHaulFile(projectHaulFile.getText())' /> </cell> <cell> <JButton id="projectTraitsFileSelectButton" text="coser.ui.common.selectFile" - onActionPerformed="getHandler().selectInputFile(this, projectTraitsFileField)" /> + onActionPerformed="getHandler().selectInputFile(this, projectHaulFile)" /> </cell> </row> <row> @@ -127,13 +147,13 @@ <JLabel id="referenceSpeciesDescriptionLabel" text="coser.ui.project.usedReferenceSpeciesFile" enabled="{!customReferenceCheckBox.isSelected()}" /> </cell> - <cell anchor="west"> + <cell anchor="west" columns="2"> <JLabel id="referenceSpeciesFileLabel" text="{getContextValue(fr.ifremer.coser.CoserConfig.class).getReferenceSpeciesPath()}" enabled="{!customReferenceCheckBox.isSelected()}" /> </cell> </row> <row> - <cell columns="3" fill="horizontal"> + <cell columns="4" fill="horizontal"> <Table id="useCustomReferenceFilePanel"> <row> <cell> @@ -157,9 +177,9 @@ <cell anchor="northwest"> <JLabel text="coser.ui.project.projectcomment" /> </cell> - <cell fill="horizontal"> + <cell fill="horizontal" columns="2"> <JScrollPane> - <JXTextArea id="projectComment" constructorParams='_("coser.ui.common.comment")' rows="3" /> + <JTextArea id="projectComment" rows="3" /> </JScrollPane> <javax.swing.text.Document javaBean="projectComment.getDocument()" onInsertUpdate='getProject().setComment(projectComment.getText())' @@ -168,7 +188,7 @@ </cell> </row> <row> - <cell columns="3" anchor="east"> + <cell columns="4" anchor="east"> <JButton id="createProjectButton" text="coser.ui.project.createProject" onActionPerformed="getHandler().createProject(this)" /> </cell> Modified: trunk/coser-ui/src/main/resources/fr/ifremer/coser/bean/Project-error-validation.xml =================================================================== --- trunk/coser-ui/src/main/resources/fr/ifremer/coser/bean/Project-error-validation.xml 2010-11-15 16:26:33 UTC (rev 209) +++ trunk/coser-ui/src/main/resources/fr/ifremer/coser/bean/Project-error-validation.xml 2010-11-15 16:41:17 UTC (rev 210) @@ -5,7 +5,7 @@ $Id$ $HeadURL$ %% - Copyright (C) 2010 Ifremer, Codelutin + Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric %% This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -29,7 +29,37 @@ <field name="name"> <field-validator type="requiredstring"> <param name="trim">true</param> - <message>Project name is required</message> + <message>coser.ui.control.project.requiredname</message> </field-validator> </field> + <field name="author"> + <field-validator type="requiredstring"> + <param name="trim">true</param> + <message>coser.ui.control.project.requiredauthor</message> + </field-validator> + </field> + <field name="catchFile"> + <field-validator type="requiredstring"> + <param name="trim">true</param> + <message>coser.ui.control.project.requiredcatchFile</message> + </field-validator> + </field> + <field name="haulFile"> + <field-validator type="requiredstring"> + <param name="trim">true</param> + <message>coser.ui.control.project.requiredhaulFile</message> + </field-validator> + </field> + <field name="lengthFile"> + <field-validator type="requiredstring"> + <param name="trim">true</param> + <message>coser.ui.control.project.requiredlengthFile</message> + </field-validator> + </field> + <field name="strataFile"> + <field-validator type="requiredstring"> + <param name="trim">true</param> + <message>coser.ui.control.project.requiredstrataFile</message> + </field-validator> + </field> </validators> \ No newline at end of file Modified: trunk/coser-ui/src/main/resources/fr/ifremer/coser/bean/Selection-error-validation.xml =================================================================== --- trunk/coser-ui/src/main/resources/fr/ifremer/coser/bean/Selection-error-validation.xml 2010-11-15 16:26:33 UTC (rev 209) +++ trunk/coser-ui/src/main/resources/fr/ifremer/coser/bean/Selection-error-validation.xml 2010-11-15 16:41:17 UTC (rev 210) @@ -29,7 +29,7 @@ <field name="name"> <field-validator type="requiredstring"> <param name="trim">true</param> - <message>Selection name is required</message> + <message>coser.ui.selection.selection.requiredName</message> </field-validator> </field> </validators> \ No newline at end of file Modified: trunk/coser-ui/src/main/resources/i18n/coser-ui-en_GB.properties =================================================================== --- trunk/coser-ui/src/main/resources/i18n/coser-ui-en_GB.properties 2010-11-15 16:26:33 UTC (rev 209) +++ trunk/coser-ui/src/main/resources/i18n/coser-ui-en_GB.properties 2010-11-15 16:41:17 UTC (rev 210) @@ -33,6 +33,12 @@ coser.ui.control.globalErrorMenuSelectAll=Select all lines coser.ui.control.graph.specy=Specy \: coser.ui.control.graphtitle=Graph +coser.ui.control.project.requiredauthor= +coser.ui.control.project.requiredcatchFile= +coser.ui.control.project.requiredhaulFile= +coser.ui.control.project.requiredlengthFile= +coser.ui.control.project.requiredname= +coser.ui.control.project.requiredstrataFile= coser.ui.control.replace.find=Find \: coser.ui.control.replace.inField=In field \: coser.ui.control.replace.replace=Replace \: @@ -69,9 +75,9 @@ coser.ui.project.openProject=Open coser.ui.project.openProjectTitle=Open existing project coser.ui.project.project=Project \: +coser.ui.project.projectauthor= coser.ui.project.projectcomment=Comments \: coser.ui.project.projectname=Project name \: -coser.ui.project.projectpersonincharge=Person in charge \: coser.ui.project.stratesFile=Strates file \: coser.ui.project.traitsFile=Traits file \: coser.ui.project.useCustomReferenceSpeciesFile=Use custom reference file @@ -114,6 +120,7 @@ coser.ui.selection.occurenceDensitySpecies=L2 \: Filtered species coser.ui.selection.occurrencedensityrenderer=<html>%s<span style\='font-size\:85%%;color\:gray;'>(Occ\=%.2f, Dens\=%.2f)</span></html> coser.ui.selection.saveError=Save error +coser.ui.selection.selection.requiredName= coser.ui.selection.sizeAllYearSpecies=L3 \: Species with size all year coser.ui.selection.speciesMenuFusion=Merge coser.ui.selection.speciesMenuLabel=Species menu Modified: trunk/coser-ui/src/main/resources/i18n/coser-ui-fr_FR.properties =================================================================== --- trunk/coser-ui/src/main/resources/i18n/coser-ui-fr_FR.properties 2010-11-15 16:26:33 UTC (rev 209) +++ trunk/coser-ui/src/main/resources/i18n/coser-ui-fr_FR.properties 2010-11-15 16:41:17 UTC (rev 210) @@ -33,6 +33,12 @@ coser.ui.control.globalErrorMenuSelectAll=S\u00E9lectionner toutes les lignes coser.ui.control.graph.specy=Esp\u00E8ces \: coser.ui.control.graphtitle=Graphique +coser.ui.control.project.requiredauthor=Le champs 'auteur' est requis +coser.ui.control.project.requiredcatchFile=Le fichier 'capture' est requis +coser.ui.control.project.requiredhaulFile=Le fichier 'traits' est requis +coser.ui.control.project.requiredlengthFile=Le fichier 'taille' est requis +coser.ui.control.project.requiredname=Le champs 'nom' est requis +coser.ui.control.project.requiredstrataFile=Le fichier 'strates' est requis coser.ui.control.replace.find=Chercher \: coser.ui.control.replace.inField=Dans le champ \: coser.ui.control.replace.replace=Remplacer \: @@ -69,9 +75,9 @@ coser.ui.project.openProject=Ouvrir coser.ui.project.openProjectTitle=Ouvrir un projet existant coser.ui.project.project=Projet \: +coser.ui.project.projectauthor=Auteur \: coser.ui.project.projectcomment=Commentaire \: coser.ui.project.projectname=Nom du projet \: -coser.ui.project.projectpersonincharge=Responsable \: coser.ui.project.stratesFile=Fichiers des strates \: coser.ui.project.traitsFile=Fichiers des traits \: coser.ui.project.useCustomReferenceSpeciesFile=Utiliser un autre fichier de r\u00E9f\u00E9rence @@ -114,6 +120,7 @@ coser.ui.selection.occurenceDensitySpecies=L2 \: Esp\u00E8ces filtr\u00E9es coser.ui.selection.occurrencedensityrenderer=<html>%s<span style\='font-size\:85%%;color\:gray;'>(Occ\=%.2f, Dens\=%.2f)</span></html> coser.ui.selection.saveError=Erreur de sauvegarde +coser.ui.selection.selection.requiredName=Le champ 'nom' est requis coser.ui.selection.sizeAllYearSpecies=L3 \: Esp\u00E8ces avec taille pour toutes les ann\u00E9es coser.ui.selection.speciesMenuFusion=Fusion coser.ui.selection.speciesMenuLabel=Menu esp\u00E8ces
participants (1)
-
chatellier@users.labs.libre-entreprise.org